Queue

Queue


Queue (Antrian) adalah suatu bentuk khusus dari List Linier dengan operasi penyisipan (insertion) hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (REAR), dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi yang lainnya. Queue merupakan kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan penghapusan data hanya melalui sisi depan (head). Berbeda dengan stack yang bersifat LIFO maka queue bersifat FIFO (First In First Out), yaitu data yang pertama masuk akan keluar terlebih dahulu dan data yang terakhir masuk akan keluar terakhir.

Hal yang perlu diingat :

1. Queue disebut juga antrian dimana data masuk di satu sisi dan keluar di sisi yang lain.

2. Queue bersifat FIFO (First In First Out).


Komponen Queue

Queue memiliki dua komponen utama, yaitu:

  • Front adalah elemen yang berada paling depan dalam queue.
  • Rear adalah elemen yang berada paling belakang dalam queue.

Operasi pada Queue

Queue dapat melakukan berbagai operasi, antara lain:

  • Enqueue adalah operasi untuk memasukkan elemen ke dalam queue. Elemen yang dimasukkan akan diletakkan di belakang queue.
  • Dequeue adalah operasi untuk mengeluarkan elemen dari queue. Elemen yang dikeluarkan adalah elemen yang berada paling depan dalam queue.
  • IsEmpty adalah operasi untuk memeriksa apakah queue kosong atau tidak.
  • IsFull adalah operasi untuk memeriksa apakah queue penuh atau tidak.


Ilustrasi Queue


DEKLARASI

  1. Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat.
  2. 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 banyak item yang disimpan pada queue.


ANTRIAN BERPRIORITAS
  • Dalam antrian yang telah dibahas sebelum, semua elemen yang masuk dalam antrian dianggap mempunyai prioritas yang sama, sehingga elemen yang masuk lebih dahulu akan diproses lebih dahulu. 
  • Dalam praktek, elemen-elemen yang akan masuk dalam suatu antrian ada yang dikatakan mempunyai prioritas yang lebih tinggi dibanding yang lain. 
  • Antrian yang demikian ini disebut dengan antrian berprioritas (priority queue).



Komentar