Queue (Antrian)
• Contoh antrian :
• Antrian printer
Pengertian
•
Queue (antrian) adalah struktur data
dimana proses pengambilan dan
penambahan element dilakukan pada
ujung yang berbeda.
•
Queue mengikuti konsep FIFO.
Enqueue dan Dequeue
1. Enqueue
proses penambahan element pada queue. 2. Dequeue
proses pengambilan element pada queue.
Penambahan dilakukan pada bagian belakang.
Sedangkan pengambilan dilakukan pada bagian depan (element yang pertama masuk).
Queue
Front dan Rear
•
Front : pointer bantu yang digunakan
untuk menunjuk element yang paling
depan.
Operasi pada Queue
1. Deklarasi
2. Inisialisasi
3. Cek kosong
4. Cek penuh
(1) Deklarasi
• Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat.
• Langkah yang harus dilakukan adalah :
– Deklarasi class
– Deklarasi struktur data (menggunakan array atau
linked list)
– Deklarasi pointer front dan rear
– Deklarasi variabel size untuk menyimpan besar
array.
– Deklarasi variabel jumlah untuk mengetahui
Deklarasi Queue dengan Array
1. Pembuatan class contoh :
2. Pembuatan variabel front dan rear:
int front, rear;
3. Pembuatan variabel size :
int array_size;
(mendeklarasikan variabel bernama array_size dengan tipe integer)
4. Pembuatan variabel Array :
int antrian[];(deklarasi variabel array bernama antrian)
5. Pembuatan variabel jumlah:
(2) Inisialisasi
•
Merupakan proses pemberian nilai awal.
•
Pada Array :
1. Pembentukan obyek array beserta ukurannya.
antrian= new int[10];
(pembentukan obyek array yang memiliki 10 element, dan alamat obyek akan disimpan pada variabel bernama antrian)
2. Pemberian nilai awal pada variabel front=0 dan belakang=-1.
(3) Cek Kosong
• Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong.
• Pada array : menggunakan pengecekan
pada variabel jumlah_item. Jika nilainya = 0 berarti queue dalam kondisi kosong.
• Operasi ini harus dapat mengembalikan nilai true jika queu kosong dan false jika
(4) Cek Penuh
• Operasi yang hanya dapat diterapkan pada queue yang menggunakan array.
• Operasi ini digunakan untuk mengecek kondisi queue dalam keadaan penuh.
• Caranya : melihat nilai pada variabel jumlah item. Jika nilainya = size-1 (dimana size
adalah ukuran array) maka dapat
diindikasikan queue dalam kondisi penuh.
• Operasi ini harus dapat mengembalikan nilai true jika queue penuh dan false jika
(5) Operasi Dequeue
• Dequeue adalah proses pengambilan data pada queue.
• Ketika dequeue terjadi, element pada queue akan berkurang, yaitu element yang pertama kali ditambahkan.
(5) Operasi POP...
(lanjutan)
•
Langkah-langkah :
1. Pengecekan queue dalam kondisi kosong dengan memanggil method isEmpty().
2. Data dari element yang diambil akan menjadi return value (nilai yang
dikembalikan)
(6) Operasi Enqueue
• Enqueue adalah proses penambahan element pada queue.
• Ketika enqueue terjadi, element pada queue akan bertambah 1.
• Posisi pointer rear akan bergeser menunjuk pada element baru yang ditambahkan.
(6) Operasi Enqueue...
(lanjutan)
•
Langkah-langkah :
1. Penambahan element baru pada bagian belakang queue.
2. Perubahan posisi rear.
• Khusus untuk array, terlebih dahulu harus dicek kondisi queue penuh dengan
(7) Operasi peek
•
Peek pada queue adalah proses
pengaksesan element yang ditunjuk
oleh front (yaitu element yang pertama
kali ditambahkan).
•
Operasi ini berbeda dengan enqueue
karena tidak disertai dengan
Contoh Penerapan Queue
•
mailbox
dalam komunikasi antar
proses
•
simulasi dan modeling (misalnya