Queue (Antrean)
Struktur Data Antrean (Queue) adalah
suatu bentuk khususdari 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 lainnya yang
disebut sisi Depan(Front) dari List.
Prinsip Antrean : FIFO (First In First
Out) atau FCFS (First Come First Serve)
“ Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu”. Jika
diartikan secara harfiah, Queue berarti antrian, Queue merupakan salah satu
contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui
dalam kehidupan sehari-hari, misalnya saat Anda mengantri di loket untuk
membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah
antrian adalah Enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan
dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari
antrian adalah Dequeue.
Struktur data Queue harus memiliki operasi-operasi sebagai berikut :
EnQueue Memasukkan data ke dalam antrian Enqueue
Fungsi EnQueue
berguna untuk memasukkan sebuah elemen dalam queue
DeQueue Mengeluarkan data terdepan dari antrian
Fungsi DeQueue
berguna untuk mengambil sebuah elemen dari queue. Operasi ini sering disebut
juga serve. Hal ini dilakukan dengan cara memindahkan sejauh satu langkah ke
posisi di depannya sehingga otomatis elemen yang paling depan akan tertimpa
dengan elemen yang terletak di belakangnya.
Clear Menghapus seluruh antrian
Fungsi Clear berguna
untuk menghapus semua elemen dalam queue dengan jalan mengeluarkan semua elemen
tersebut satu per satu hingga queue kosong dengan memanfaatkan fungsi Dequeue.
IsEmpty Memeriksa apakah antrian kosong
Fungsi IsEmpty
berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. hal
ini dilakukan dengan mengecek apakah tail bernilai -1 atau tidak. Nilai -1
menandakan bahwa queue masih kosong.
IsFull Memeriksa apakah antrian penuh
Fungsi IsFull berguna
untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan
cara mengecek apakah nilai tail sudah sama dengan jumlah maksimal queue. Jika
nilai keduanya sama, berarti queue sudah penuh.
Tidak ada komentar:
Posting Komentar