Queue (Antrian)

 Queue

    Queue (Antrean) adalah jenis adaptor kontainer yang beroperasi dalam pengaturan tipe first in first out (FIFO). Elemen disisipkan di bagian belakang (akhir) dan dihapus dari bagian depan. Antrean menggunakan objek terenkapsulasi deque atau list (kelas kontainer sekuensial) sebagai kontainer yang mendasarinya, yang menyediakan serangkaian fungsi anggota tertentu untuk mengakses elemen-elemennya.

    Queue atau dalam bahasa Indonesia yang berarti antrean adalah struktur data yang menyusun elemen-elemen data dalam urutan linier. Prinsip dasar dari struktur data ini adalah “First In, First Out” (FIFO) yang berarti elemen data yang pertama dimasukkan ke dalam antrean akan menjadi yang pertama pula untuk dikeluarkan.

Prinsip FIFO pada Queue
    Caranya bekerja adalah seperti jejeran orang yang sedang menunggu antrean di supermarket di mana orang pertama yang datang adalah yang pertama dilayani (First In, First Out). Pada struktur data ini, urutan pertama (data yang akan dikeluarkan) disebut Front atau Head. Sebaliknya, data pada urutan terakhir (data yang baru saja ditambahkan) disebut Back, Rear, atau Tail. Proses untuk menambahkan data pada antrean disebut dengan Enqueue, sedangkan proses untuk menghapus data dari antrean disebut dengan Dequeue.

Jenis-jenis Queue
Jenis struktur data ini dapat diklasifikasikan berdasarkan cara implementasinya, maupun berdasarkan penggunaannya. Di antara jenis-jenis tersebut adalah sebagai berikut.
  • Berdasarkan Implementasinya
  1. Linear/Simple Queue: Elemen-elemen data disusun dalam barisan linear dan penambahan serta penghapusan elemen hanya terjadi pada dua ujung barisan tersebut.
  2. Circular Queue: Mirip dengan jenis linear, tetapi ujung-ujung barisan terhubung satu sama lain, menciptakan struktur antrean yang berputar.
  • Berdasarkan Penggunaan
  1. Priority Queue: Setiap elemen memiliki prioritas tertentu. Elemen dengan prioritas tertinggi akan diambil terlebih dahulu.
  2. Double-ended Queue (Dequeue): Elemen dapat ditambahkan atau dihapus dari kedua ujung antrean.


Keuntungan dan Keterbatasan
    Meskipun struktur data queue memiliki banyak kegunaan, kamu juga harus mengetahui beberapa keuntungan dan keterbatasan yang perlu diperhatikan sebelum menggunakannya.

  • Keuntungan
  1. Data berjumlah besar dapat dikelola dengan mudah dan efisien.
  2. Proses insert dan delete data dapat dilakukan dengan mudah karena mengikuti aturan first in first out (FIFO).
  3. Efisien dalam menangani tugas berdasarkan urutan kedatangan.
  • Keterbatasan
  1. Tidak efisien untuk pencarian elemen tertentu dalam antrean.
  2. Memerlukan alokasi memori yang cukup untuk menyimpan antrean.
Implementasi dan Contoh Penggunaan
    Penerapannya dapat ditemukan dalam berbagai aspek pemrograman. Misalnya, dalam simulasi antrean di kasir supermarket, seperti pemrosesan tugas pada sistem operasi, sequence ketikan pada keyboard, dan masih banyak lagi.


Contoh dalam C++


untuk outputnya: 

Untuk mengukur antrian: 
Untuk Outputnya: 



Post a Comment

About me