Stack dan Queue
Stack dan
Queue
Stack merupakan tumpukan, sedangkan queue merupakan antrian.
Pengertian keduanya, yaitu:
Dengan melihat definisi tersebut maka jelas
bahwa pada stack berlaku aturan LIFO (Last In First Out), yaitu elemen yang
terakhir masuk akan pertama kali diambil atau dilayani. Salah satu analogi yang
dapat dikemukakan di sini adalah tumpukan piring atau barang lain. Pada saat
kita hendak menumpuk piring-piring tersebut tentulah yang kita lakukan adalah
meletakkan piring pertama pada tempatnya, selsnjutnya meletakkan piring kedua
di atas piring pertama dan demikian seterusnya. Pada saat kita hendak mengambil
satu piring dari tumpukan tersebut, tentu yang diambil adalah piring teratas
(yang terakhir kali ditaruh), bukan yang terbawah (yang pertama kali
diletakkan).
Dua operasi dasar pada stack adalah PUSH (operasi pemasukan elemen ke dalam stack)
dan POP (operasi
pengambilan satu elemen dari dalam stack).
Contoh dalam Kehidupan sehari-hari :
-
Setumpuk koran, dimana koran yang paling
terakhir ditambahkan dan ditaruh diatas adalah koran yang dapat dilihat
-
Seseorang yang sedang mencuci piring, piring
yang dicuci pertama pasti akan diletakan dibawah dan akan terus berlanjut
sampai tumpukan piring yang terakhir dicuci. Lalu, piring pasti akan di taruh
di rak piring dan pasti yang diambil adalah piring yang paling atas yaitu
piring yang terakhir dicuci dan yang pertama dicuci pasti akan terakhir.
-
Tumpukan Batu bata yang sedang diturunkan dari
mobil pasti yang diambil adalah batu bata yang paling atas, padahal batu bata
pertama yang dimasukkan kedalam mobil adalah batu bata yang berada dibawahnya.
Jadi, Stack yaitu sebuah koleksi objek yang
menggunakan prinsip LIFO(Last In First Out) dan Stack dapat
diimplementasikan sebagai representasi berkait atau kontinyu. Ciri-Ciri Stack
diantaranya :
-
Elemen TOP/Puncak diketahui
-
Penyisipan dan Penghapusan selalu dilakukan di
TOP
-
LIFO(Last In First Out)
-
Pemanfaatan Stack yaitu :
Ø
Perhitungan Ekspresi Aritmatitika (posfix)
Ø
Algoritma Backtracking (runut balik)
Ø
Algoritma Rekursif
Operasi Stack yang biasa digunakan diantaranya yaitu :
1.
Push untuk memasukkan atau
menginputkan data
2.
Pop untuk mengeluarkan data
3.
IsFull untuk mengetahui jika
tumpikan sudah penuh
4.
IsEmpety untuk mengetahui tumpukan
yang kosong, dan
5.
Clear untuk menghapus seluruh data
atau membersihkan data.
Sebuah queue di dalam program komputer dideklarasikan sebagai sebuah tipe
bentukan baru. Sebuah struktur data dari sebuah queue setidaknya harus
mengandung dua tiga variabel, yakni variabel head yang akan berguna
sebagai penanda bagian depan antrian, variabeltail yang akan berguna
sebagai penanda bagian belakang antrian dan array dari yang
akan menyimpan data-data yang dimasukkan ke dalam queue tersebut.
Queue mempunyai beberapa fungsi
operasi diantaranya yaitu :
-
EnQueue untuk Memasukkan data
kedalam Antrian
-
DeQueue untuk Mengeluarkan data
kedalam Antrian.
-
IsFull untuk memeriksa apakah
antrian Penuh
-
IsEmpety untuk memeriksa apakah
antrian Kosong
-
Clear untuk Menghapus seluruh
Antrian.
Dalam kehidupan sehari-hari, ada banyak sekali tentang Queue atau
antrian. Contohnya adalah sebagai berikut:
·
Saat seseorang mengantri di sebuah Bank
·
Antrian Loket pembelian sebuah tiket Pesawat,
Kereta Api, dan lainnya
·
Pembayaran Tol dan sebagainya.
Contoh dalam Pembelian Tiket Kereta Api :
·
Enqueue : Seseorang membeli
tiket melalui tempat pembayaran tiket yang disediakan.
·
Dequeue : Setelah membeli tiket,
langsung menuju tempat tunggu Kereta Api, dengan sebelumnya petugas memeriksa
cek tiket tersebut.
·
Clear : Pembeli tiket
tersebut telah terhapus dari antrian karena sudah melewati pembayaran
administrasi tersebut.
·
IsEmpty : Petugas tiket
Kereta Api melihat tidak ada lagi yang ingin membeli tiket kereta.
·
IsFull :
Petugas Tiket Kereta Api melihat masih ada pembeli tiket kereta.
Komentar
Posting Komentar