Ok guys jumpa lagi dengan saya dimana
pembahasan kali ini kita akan membahas mengenai STACK & QUEUE
Baiklah langsung aja cekidot.
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
Berikut ilustrasi dari fungsi STACK
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).
Berikut ilustrasi dari queue:
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.
Mungkin cuman itu yang bisa saya paprkan...
Tetap dukung blog ini supaya kedepannya bisa berkembang...
see you next time...
Tidak ada komentar:
Posting Komentar