QUEUE

                                                    
Pernahkah kamu penasaran bagaimana sistem notifikasi di aplikasi yang kamu gunakan bekerja di balik layar? Dalam banyak aplikasi, pesan atau notifikasi sering kali harus diantrekan dan diurutkan sesuai dengan urutan kirim atau prioritas. Proses tersebut umumnya menggunakan struktur data queue. Dalam artikel ini, kita akan membahas apa itu queue beserta dengan contoh sederhana penerapannya.

PENGERTIAN
Queue (antrian) adalah struktur data dimana proses pengambilan dan penambahan element dilakukan pada ujung yang berbeda.
Queue mengikuti konsep FIFO.
FIFO (First In First Out) : elemen yang pertama masuk akan menjadi elemen yang pertama kali keluar. Queue berguna untuk menyimpan pekerjaan yang tertunda. 

QUEUE 
-Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan dan mengambil data dengan struktur first in first out (FIFO). 
- Hal ini berarti elemen pertama yang ditempat-kan pada queue adalah yang pertama dipindahkan.

ENQUEUE 
 Adalah proses penambahan elemen baru pada queue , elemen ditempatkan pada ujung (tail)
DEQUEUE
- Adalah proses pengambilan elemen lada queue,
- memindahkan elemen dari kepada ( head ) sebuah queue.

KARAKTERISTIK QUEUE 
Elemen antrian yaitu item-item data yang terdapat di elemen antrian
- Front
- Rear
- Jumlah elemen pada antrian (Count)
- Status antrian

FRONT DAN REAR 
Front : pointer bantu yang digunakan untuk menunjuk element yang paling depan.
Rear : pointer bantu yang digunakan untuk menunjuk element yang paling belakang.


STATUS ANTRIAN

1. PENUH
    Bila elemen pada antrian mencapai kapasitas maksimum antrian. Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen menyebabkan kondisi kesalahan Overflow.
2. KOSONG
    Bila tidak ada elemen pada antrian. 
Pada kondisi ini, tidak mungkin dilakukan pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi kesalahan Underflow.



OPERASI PADA QUEUE 
Deklarasi
 Proses yang harus dilakukan pertama kali adalah deklarasi/ menyiapkan tempat.
Inisialisasi
 Proses pemberian nilai awal.
Cek kosong
  Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong.
Cek penuh
 Operasi yang hanya dapat diterapkan pada queue yang menggunakan array. Operasi ini digunakan untuk mengecek kondisi queue dalam keadaan penuh.
Penambahan
Pengambilan
> Pengaksesan 
 
Fungsi Enqueue
   Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu dilakukan pada elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail dengan cara menambahkan Tail terlebih dahulu.
Fungsi Dequeue
   Digunakan untuk menghapus elemen terdepan (head) dari Antrian Dengan cara : menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1. Penggeseran dilakukan dengan menggunakan looping.
Fungsi Create
   Digunakan untuk membentuk dan menunjukan awal terbentuknya suatu Antrean / Queue.
Fungsi 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 sehingga mengembalikan antrian seperti keadaan semula

Contoh Penggunaan Queue dalam Kehidupan Sehari-Hari
Queue dapat ditemukan dalam banyak aspek kehidupan sehari-hari. Misalnya, saat mengantri di kasir supermarket, atau saat menunggu giliran di loket tiket. Bahkan, dalam dunia teknologi, ketika kita mengunduh file, file tersebut mungkin akan masuk dalam antrian unduhan dan akan diunduh sesuai urutan.

Dengan pemahaman ini, semoga kamu dapat mengimplementasikan konsep struktur data yang tepat dalam proyek-proyek aplikasi yang kamu kembangkan sehingga dapat meningkatkan efisiensi aplikasi dan juga menjadi seorang Software Engineer yang lebih andal.

Postingan populer dari blog ini

LINKED LIST