stack dan queue - tutorialpemrograman.files.wordpress.com · stack dan queue...
TRANSCRIPT
Stack dan Queue
tutorialpemrograman.wordpress.com - 2009 1
Stack dan Queue
Jeffrey Hermanto Halimsetiawan
tutorialpemrograman.wordpress.com | www.7eff.co.cc
15 Februari 2009
Stack dan Queue
tutorialpemrograman.wordpress.com - 2009 2
Stack
adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir
masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil
sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas
dari tumpukan buku tersebut. Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya
hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.
Fungsi dalam Stack:
Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih
kosong.
Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
Stack dan Queue
tutorialpemrograman.wordpress.com - 2009 3
Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila
puncak stack berada pada posisi -1.
Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak
bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai
top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan
method addLast
Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack
tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan
menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast
Stack dan Queue
tutorialpemrograman.wordpress.com - 2009 4
Queue
adalah kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan
penghapusan data hanya melalui sisi depan (head). Berbeda dengan stack yang bersifat LIFO
maka queue bersifat FIFO(First In First Out), yaitu data yang pertama masuk akan keluar terlebih
dahulu dan data yang terakhir masuk akan keluar terakhir.
Fungsi dalam Queue:
Fungsi init : digunakan untuk membuat queue baru atau kosong, yaitu dengan memberi
nilai awal (head) dan nilai akhir (tail) dengan -1.
Fungsi full: digunakan untuk mengetahui apakah queue sudah penuh atau belum.
Dilakukan dengan memeriksa nilai akhir (tail) apakah sudah sama dengan maksimal
queue.
Stack dan Queue
tutorialpemrograman.wordpress.com - 2009 5
Fungsi empty: digunakan untuk mengetahui apakah queue masih kosong atau tidak.
Dilakukan dengan memeriksa nilai akhir (tail) bernilai -1 atau tidak.
Fungsi enqueue : digunakan untuk menambahkan elemen ke dalam queue.
Fungsi dequeue : digunakan untuk mengambil elemen dari queue, dengan cara
memindahkan semua elemen satu langkah ke posisi depannya sehingga elemen yang
paling depan tertimpa.
Fungsi clear : digunakan untuk menghapus semua elemen dalam queue. Ada dua cara
yang bisa digunakan, yaitu menuliskan fungsi seperti inisialisasi atau memanggil fungsi
remove sampai queue kosong.