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 Queue dengan
Linked-list
1. Pembuatan class queue contoh :
2. Pembuatan class Node
3. Pembuatan variabel head, tail, front dan rear bertipe Node. Ketiga variabel ini dideklarasikan pada class queue
(2) Inisialisasi
•
Pada
Linked List
:
Proses inisialisasi dilakukan dengan
memberikan nilai awal pada variabel
head, tail front dan rear dengan nilai
null
.
(3) Cek Kosong
• Operasi yang digunakan untuk mengecek
kondisi queue dalam keadaan kosong.
• Pada linked list : dapat menggunakan
pengecekan front atau rear jika nilainya null berarti queue kosong.
• Operasi ini harus dapat mengembalikan nilai
Program “isEmpty” Queue (Linked
List)
boolean isEmpty(){
(6) Operasi Dequeue
• Dequeue adalah proses pengambilan data
pada queue.
• Ketika dequeue terjadi, element pada queue
akan berkurang, yaitu element yang pertama kali ditambahkan.
• Pada linked list : front akan menunjuk pada
(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.
– Pada linked list : rear akan menunjuk ke node
(6) Operasi Enqueue...
(lanjutan)
•
Langkah-langkah :
1. Penambahan element baru pada bagian belakang queue.
(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
PRIORITY QUEUE
(Antrian Berprioritas)
Antrian Berprioritas adalah himpunan elemen yang setiap elemennya diberikan tingkat
prioritas tertentu, dan urutan pemrosesan
elemennya didasarkan atas prioritas tersebut sbb:
1. Elemen yang prioritasnya lebih tinggi diproses lebih dulu.
2. Dua elemen dengan prioritas yang sama diproses berdasarkan urutan
PRIORITY QUEUE dengan
ONE-WAY LIST
Representasi antrian berprioritas antara lain dilakukan dengan one-way list, sbb:
a. Setiap simpul memiliki 2 field, yaitu: INF (informasi)danPRN (nomor prioritas)
b. Simpul X mendahului simpul Y dalam list :
- jika prioritas X lebih tinggi daripada prioritas Y
PRIORITY QUEUE with One-Way List
DDD 1 AAA 2 EEE 2
HHH 2 BBB 4 CCC 4
GGG 4
START