Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi...

45
Algoritma Struktur Data 3 sks By. Sri Rezeki Candra Nursari

Transcript of Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi...

Page 1: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Algoritma Struktur Data3 sks

By. Sri Rezeki Candra Nursari

Page 2: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

MateriMateriPengantar Struktur Data

Abstract Data Type (ADT)

Rekursif : Fibonacci

Sorting (Selection, Insertion, Bubble, Shell, Merge, Quick)

Struktur Data Linier (Linked List, Stack, Queue)

Struktur Data Hirarki (Tree, Graph, Hash Tables)

Search (Sequential, Fibonacci, Interpolation, Binary)

Page 3: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Literatur :1. H.M Deitel, P.J Deitel, Small Java How to Program-sixth

Edition, Pearson Prentice Hall, 20052. Elliot B. Koffman, Paul A.T. Wolfgang, Objects, Abstraction,

Data Structures and Design Using Java, John Wiley & Sons.Inc, 2005

3. Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-Wesley, 1999

4. Moh.Sjukani, Algoritma & Struktur Data dengan C, C++ dan Java, Mitra Wacana Media, Agustus 2005

5. Andri Kristanto, Struktur Data dengan C, Graha Ilmu, 20036. Bambang Wahyudi, Pengantar Struktur Data dan Algoritma,

Andi, 20047. Ema Utami, Struktur Data, Graha Ilmu, 20078. Yatini B, Indra, Pemrograman Terstruktur, J&J Learning

Yogyakarta, 20019. Wirth, Niklaus, Algorithmic + Data Structures Programs,

Prentice-Hall, 197610. Thompson Susabda Ngoen , Algoritma dan Struktur Data

Bahasa C, Mitra Wacana Media, 2009

ALGORITMA ALGORITMA STRUKTUR STRUKTUR DATADATA -- 33 sks sks

Page 4: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

SINGLE LINKED LIST

Dalam pembuatan Single Linked List dapat menggunakan 2 (dua Metoda), yaitu:

– LIFO (Last In First Out), aplikasinya adalah : Stack (Tumpukan)

– FIFO (First In Fisrt Out), aplikasinya adalah : Queue (Antrian)

Page 5: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

LIFO – STACK - TUMPUKANLIFO/STACK adalah suatu metode pembuatan Linked List, dimana data yang masuk paling akhir adalah data yang keluar paling awal artinya data yang terakhir kali dimasukkan kedalam stack akan menjadi data pertama kali dapat diambil dari stack, sedangkan data yang pertama kali dimasukkan kedalam stack akan menjadi data yang terakhir kali bisa diambil dari stack.

Page 6: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Macam-macam Tumpukan

• “yang terakhir masuk ke dalam tumpukan akan menjadi yang pertama keluar dari tumpukan”

Page 7: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Tumpukan

• “yang terakhir masuk ke dalam tumpukan akan menjadi yang pertama keluar daritumpukan”

Page 8: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Fungsi-fungsi yang diperlukan :

1. Deklarasi struktur simpul dan pointer yang diperlukan

2. Inisialisasi stack3. Fungsi pembuatan simpul baru4. Fungsi PUSH (insert kiri atau buat

awal)5. Fungsi POP (delete kiri)

Page 9: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

1. Deklarasi struktur simpul dan pointer yang diperlukan

2. Inisialisasi stack

Page 10: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

3. Fungsi pembuatan simpul baru

Page 11: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

4. Fungsi PUSH (insert kiri atau buat awal)

Page 12: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

5. Fungsi POP (delete kiri)

Page 13: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

1. Deklarasi struktur simpul2. Membuat class Linked List3. Inisialisasi linked list4. Melakukan insert kiri / sisip elemen5. Menampilkan data berupa data string6. Dalam menu utama Mendeklarasikan class menjadi object, Melakukan proses sisip kiri Melakukan prose cetak

Page 14: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

1. Deklarasi struktur simpul

2. Membuat class Linked List

.

Page 15: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

3. Inisialisasi linked list

4. Melakukan insert kiri / sisip elemen

.

Page 16: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

STACK - Tumpukan• Proses Tumpukan (Stack), adalah

5. Menampilkan data berupa data string

6. Menu Utama

.

Page 17: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Contoh 01

Page 18: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Latihan...

Page 19: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Contoh 02

Page 20: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 21: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 22: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 23: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 24: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 25: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - ANTRIAN

Pertemuan 07

Page 26: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

FIFO – QUEUE - ANTRIAN• FIFO/QUEUE/ANTRIAN adalah suatu

metode pembuatan Linked List, – dimana data yang masuk paling akhir

adalah data yang keluar paling akhir juga – artinya data yang terakhir kali dimasukkan

kedalam queue akan menjadi data terakhir pula yang dapat diambil dari queue/antrian,

– sedangkan data yang pertama kali dimasukkan kedalam queue/antrian akan menjadi data yang pertama kali bisa diambil dari queue/antrian

Page 27: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

FIFO – QUEUE - ANTRIAN• QUEUE mengikuti konsep FIFO• FIFO (First In First Out) adalah elemen

yang pertama masuk akan menjadi elemen yang pertama kali keluar

• FIFO/QUEUE/ANTRIAN adalah struktur data dimana proses pengambilan dan penambahan elemen dilakukan pada ujung yang berbeda

Page 28: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

FIFO – QUEUE - ANTRIAN• Penambahan/insert dan

pengambilan/delete elemen pada queque biasanya menggunakan istilah Enqueue dan Dequeue– Enqueue adalah proses penambahan

elemen pada queue– Dequeue adalah proses pengambilan

elemen pada queue• Penambahan/insert dilakukan pada

bagian belakang• Pengambilan/delete dilakukan pada

bagian depan

Page 29: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Macam-macam Antrian

• “yang terakhir masuk ke dalam antrian akan menjadi yang terakhir keluar dari antrian”

TVTV

Awal dalam keadaan kosong

VCDDVD Radio

Page 30: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

FIFO – QUEUE - ANTRIAN• Penunjukkan elemen depan dan belakang

biasanya menggunakan istilah Front dan Rear– Front adalah pointer bantu yang digunakan

untuk menunjuk elemen yang paling depan– Rear adalah pointer bantu yang digunakan

untuk menunjuk elemen yang paling belakang

Page 31: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Antrian

Page 32: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian• Fungsi-fungsi yang diperlukan :

1. Deklarasi struktur simpul dan pointer yang diperlukan

2. Inisialisasi queue3. Fungsi pembuatan simpul baru4. Fungsi ENQUEUE (insert kanan

atau buat awal)5. Fungsi DEQUEUE (delete kiri)

Page 33: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian• Proses Antrian (Queue), adalah

1. Deklarasi struktur simpul dan pointer yang diperlukan

2. Inisialisasi queue

Page 34: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian

• Proses Antrian (Queue), adalah 3. Fungsi pembuatan simpul baru

Page 35: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian

• Proses Antrian (Queue), adalah 4. Fungsi ENQUEUE (insert kanan atau buat

awal)

Page 36: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian

• Proses Antrian (Queue), adalah 5. Fungsi DEQUEUE (delete kiri)

Page 37: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian• Proses Antrian (Queue), adalah

1. Deklarasi struktur dequeue dan struktur input data2. Membuat fungsi enqueue3. Membuat fungsi baca4. Membuat fungsi tampil/display5. Dalam menu utama Pilih menu Pilih 1 : Melakukan proses ENQUEUE Pilih 2 : Melakukan proses DEQUEUE Pilih 3 : Melakukan proses Baca Pilih 4 : Melakukan proses Hapus semua data Pilih 5 : Melakukan proses queue selesai

Page 38: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian

• Proses Antrian (Queue), adalah 1. Deklarasi struktur dequeue & input data

.

Page 39: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian• Proses Antrian (Queue), adalah

2. Membuat fungsi enqueue

.

Page 40: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

QUEUE - Antrian• Proses Antrian (Queue), adalah

3. Membuat fungsi baca

4. Membuat fungsi tampil/display

Page 41: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

• Proses Antrian (Queue), adalah 5. Menu Utama

Page 42: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 43: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan
Page 44: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan

Input ---- Output

Page 45: Algoritma Struktur Data€¦ · STACK - Tumpukan • Proses Tumpukan (Stack), adalah 1. Deklarasi struktur simpul 2. Membuat class Linked List 3. Inisialisasi linked list 4. Melakukan