Assalamualaikum warahmatullahi wabarakatuh, salam sejahter bagi kita semua. Pada kesempatan kali ini saya akan menjeleskan apa itu Stack dan Queue.
1. STACK
Pengertian Stack atau Tumpukan adalah suatu stuktur data yang
penting dalam pemrograman yang mempunyai sifat LIFO (Last In First Out),
Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama
yang dikeluarkan dari stack.
Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP)
dan Aturan penyisipan dan penghapusan elemennya tertentu. Penyisipan
selalu dilakukan “di atas“ TOP dan Penghapusan selalu dilakukan pada TOP
OPERASI-OPERASI/FUNGSI STACK Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
Clear : digunakan untuk mengosongkan stack
IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
2. QUEUE
Queue pada Struktur Data atau antrian adalah sekumpulan data
yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung
disebut dengan sisibelakang(rear), dan penghapusan(pengambilan elemen)
dilakukan lewat ujung lain (disebut dengan sisi depan atau front).
Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out).
Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex:
antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll. Contoh lain
dalam bidang komputer adalah pemakaian sistem komputer berbagi
waktu(time-sharing computer system) dimana ada sejumlah pemakai yang
akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung
dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel
Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. elemen antrian
2. front (elemen terdepan antrian)
3. tail (elemen terakhir)
4. jumlah elemen pada antrian
5. status antrian Operasi pada Queue atau antrian
1. tambah(menambah item pada belakang antrian)
2. hapus (menghapus elemen depan dari antrian)
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
Operasi-operasi Queue :
1. Create() Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1
2. IsEmpty() Untuk memeriksa apakah Antrian sudah penuh atau belum
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak
memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen
pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan pada
Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu
menggunakan nilai Tail.
3. IsFull Untuk mengecek apakah Antrian sudah penuh atau belum Dengan
cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah
batas elemen array pada C) berarti sudah penuh
4. Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen
selalu ditambahkan di elemen paling belakang Penambahan elemen selalu
menggerakan variabel Tail dengan cara increment counter Tail terlebih
dahulu
5. Dequeue() Digunakan untuk menghapus elemen terdepan/pertama (head)
dari Antrian Dengan cara menggeser semua elemen antrian kedepan dan
mengurangi Tail dgn 1 Penggeseran dilakukan dengan menggunakan looping.
6. Clear() Untuk menghapus elemen-elemen Antrian dengan cara membuat
Tail dan Head = -1 Penghapusan elemen-elemen Antrian sebenarnya tidak
menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai
-1 sehingga elemen-elemen Antrian tidak lagi terbaca
7. Tampil() Untuk menampilkan nilai-nilai elemen Antrian Menggunakan looping dari head s/d tail.
Komentar
Posting Komentar