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).
Pada Stack atau tumpukan menggunakan prinsip“Masuk terakhir
keluar pertama”atau LIFO (Last In First Out), Maka pada 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
Tidak ada komentar:
Posting Komentar