algoritma struktur data€¦ · stack - tumpukan • proses tumpukan (stack), adalah 1. deklarasi...
TRANSCRIPT
Algoritma Struktur Data3 sks
By. Sri Rezeki Candra Nursari
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)
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
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)
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.
Macam-macam Tumpukan
• “yang terakhir masuk ke dalam tumpukan akan menjadi yang pertama keluar dari tumpukan”
Tumpukan
• “yang terakhir masuk ke dalam tumpukan akan menjadi yang pertama keluar daritumpukan”
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)
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
1. Deklarasi struktur simpul dan pointer yang diperlukan
2. Inisialisasi stack
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
3. Fungsi pembuatan simpul baru
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
4. Fungsi PUSH (insert kiri atau buat awal)
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
5. Fungsi POP (delete kiri)
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
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
1. Deklarasi struktur simpul
2. Membuat class Linked List
.
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
3. Inisialisasi linked list
4. Melakukan insert kiri / sisip elemen
.
STACK - Tumpukan• Proses Tumpukan (Stack), adalah
5. Menampilkan data berupa data string
6. Menu Utama
.
Contoh 01
Latihan...
Contoh 02
QUEUE - ANTRIAN
Pertemuan 07
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
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
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
Macam-macam Antrian
• “yang terakhir masuk ke dalam antrian akan menjadi yang terakhir keluar dari antrian”
TVTV
Awal dalam keadaan kosong
VCDDVD Radio
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
Antrian
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)
QUEUE - Antrian• Proses Antrian (Queue), adalah
1. Deklarasi struktur simpul dan pointer yang diperlukan
2. Inisialisasi queue
QUEUE - Antrian
• Proses Antrian (Queue), adalah 3. Fungsi pembuatan simpul baru
QUEUE - Antrian
• Proses Antrian (Queue), adalah 4. Fungsi ENQUEUE (insert kanan atau buat
awal)
QUEUE - Antrian
• Proses Antrian (Queue), adalah 5. Fungsi DEQUEUE (delete kiri)
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
QUEUE - Antrian
• Proses Antrian (Queue), adalah 1. Deklarasi struktur dequeue & input data
.
QUEUE - Antrian• Proses Antrian (Queue), adalah
2. Membuat fungsi enqueue
.
QUEUE - Antrian• Proses Antrian (Queue), adalah
3. Membuat fungsi baca
4. Membuat fungsi tampil/display
• Proses Antrian (Queue), adalah 5. Menu Utama
Input ---- Output