download

Matakuliah
Tahun
: T0034 / Perancangan & Analisis Algoritma
: 2008
Pertemuan 5
STACK & QUEUE
MENGENAL ADT
• Abstract Data Type (ADT)
– Adalah konsep abstrak yang diciptakan manusia untuk
mempermudah perhitungan sebuah proses melalui abstraction
• ADT tidak secara langsung dikenali oleh processor
komputer, tapi bahasa pemrograman tingkat tinggi bisa
dipakai untuk implementasi ADT
• Contoh ADT
–
–
–
–
Stack
Queue
Tree
Graph
[buku utama, bab 4.1]
Bina Nusantara
STACK
• Stack adalah ADT yang menggambarkan sebuah
tumpukan data.
• Stack mengikuti aturan LIFO (Last In First Out)
• Implementasi dapat menggunakan array atau
linked-list
[buku utama, bab 4.2]
Bina Nusantara
OPERASI STACK
• Sebuah stack dalam pemrograman komputer
memiliki 3 operasi yang dapat dilakukan :
– PUSH X (yaitu menambahkan data X ke dalam
tumpukan)
– POP (yaitu mengambil elemen paling atas dari
tumpukan)
– EMTPY (yaitu mengosongkan tumpukan)
Bina Nusantara
ILUSTRASI STACK
[buku utama, ilustrasi 4.1 dan ilustrasi 4.2]
Bina Nusantara
QUEUE
• Queue adalah ADT yang menggambarkan sebuah
antrian data.
• Queue mengikuti aturan FIFO (Last In First Out)
• Implementasi dapat menggunakan array atau
linked-list
[buku utama, bab 4.3]
Bina Nusantara
OPERASI QUEUE
• Sebuah queue dalam pemrograman komputer
memiliki 3 operasi yang dapat dilakukan :
– PUSH X (yaitu menambahkan data X ke dalam
tumpukan)
– POP (yaitu mengambil elemen paling depan dari
tumpukan)
– EMTPY (yaitu mengosongkan tumpukan)
Bina Nusantara
ILUSTRASI QUEUE
[buku utama, ilustrasi 4.3 dan ilustrasi 4.4]
Bina Nusantara
PERBEDAAN IMPLEMENTASI QUEUE
• Dalm implementasi array, saat terjadi POP, seluruh isi
queue akan mengalami pergeseran posisi menuju “ke
depan”
[buku utama, ilustrasi 4.5]
Bina Nusantara
IMPLEMENTASI STACK DAN QUEUE
• Pelajari pseudocode 4.1 tentang implementasi
Stack
• Pelajari pseudocode 4.2 tentang implementasi
Queue
Bina Nusantara
PERBANDINGAN
•
•
•
•
•
Kapan stack digunakan?
Kapan queue digunakan?
Apa keunggulan dan kelemahan stack?
Apa keunggulan dan kelemahan queue?
Bisakah keduanya digabung?
Bina Nusantara
CIRCULAR ADT
Tail
Head
ln l 1
l2
l3
Bina Nusantara
LATIHAN
• Diskusikan contoh kasus yang memerlukan
struktur data Stack dan Queue!
• Buatlah pseudocode untuk kasus tersebut!
Bina Nusantara
REVIEW
• Apa yang sudah dipahami?
• Apa yang akan dibahas selanjutnya?
Bina Nusantara