Widget HTML #1

Pengertian dan contoh Queue (antrian) struktur data

Queue (antrian) adalah barisan elemen/data dimana proses memasukkan/menambah elemen/data dilakukan pada posisi belakang (rear) dan proses mengeluarkan/mengambil elemen/data dilakukan pada elemen/data di posisi depan (front)  FIFO.

Pengertian dan contoh Queue (antrian) struktur data
Operasi Dasar Queue


Pendeklarasian Queue (Array)

Kamus:
  Const
     MaxQueue = …..
  Type
     Larik_Queue = array [1..MaxQueue] of  tipedata

Queue : Larik_Queue      {nama variabel queue}
  Front, Rear : Integer     {Front penunjuk depan   queue, Rear penunjuk belakang queue}


Contoh Pendeklarasian Queue  (Array Statis-Algoritma)

Kamus:
  Const
      MaxQueue = 4
  Type
      Larik_Queue = array [1..MaxQueue] of integer
  Queue : Larik_Queue    {nama variabel queue}
  Front, Rear : integer           {penunjuk queue}


Contoh Pendeklarasian Queue  (List-Algoritma)

Kamus:
  Type
      PointerQueue = ↑SimpulQueue
      SimpulQueue = Record
          MedanData : tipedata,
         MedanSambungan : PointerQueue
   EndRecord
  Front, Rear  :  PointerQueue    {penunjuk queue}


Contoh Pendeklarasian Queue  (Linked List -Algoritma)

Kamus:
  Type
     PointerQueue = ↑SimpulQueue
     SimpulQueue = Record
         Angka : integer ,
        Next    : PointerQueue
  EndRecord
   Front, Rear : PointerQueue    {penunjuk queue}


Operasi-operasi Queue


Inisialisasi

Proses mempersiapkan Queue dengan cara memberi harga nol pada array statis atau memberi harga nil/NULL pada linked list untuk penunjuk queue (Front dan Rear). 

Operasi Kosong

Operasi kosong digunakan untuk memeriksa apakah keadaan Queue kosong atau tidak kosong. Operasi kosong didapat dengan memeriksa harga Rear dari Queue. Jika Rear bernilai 0 (nol), maka queue kosong. 

Catatan:
Pada Queue yang menggunakan Array Statis, operasi kosong digunakan saat Enqueue dan Dequeue.
Tapi pada Queue yang menggunakan Linked List, operasi kosong digunakan saat Enqueue.

Operasi Penuh

Fungsi penuh berguna untuk memeriksa apakah keadaan queue telah penuh atau belum.  Jika penunjuk Rear sama dengan nilai MaxQueue, maka Queue telah penuh.

Catatan:
Fungsi penuh hanya ada pada queue yg direpresentasikan menggunakan array statis dan dilakukan pada proses Enqueue.

Operasi Satu Simpul

Fungsi Satu Simpul berguna untuk memeriksa apakah keadaan Queue memiliki satu simpul (data) atau lebih dari satu simpul. Jika penunjuk Rear sama dengan penunjuk Front, maka Queue memiliki satu simpul(data).

Catatan:
Fungsi Satu Simpul hanya ada pada Queue yg direpresentasikan menggunakan Linked List dan dilakukan pada proses Dequeue.

Enqueue (Array Statis)

Enqueue dilakukan dengan cara:
Periksa keadaan Queue. Jika kondisi queue tidak penuh, maka periksa lagi keadaan Queue apakah kosong atau tidak.
Jika keadaan kosong, maka harga Front dan Rear bernilai 1. Jika tidak kosong, maka harga Rear bertambah 1.
Kemudian data yang baru dimasukkan ke dalam Queue pada posisi Rear.

Catatan:
Pada Linked List proses Enqueue sama dengan proses penyisipan di akhir/di belakang.

Illustrasi Enqueue (Array Statis)

Pengertian dan contoh Queue (antrian) struktur data

Illustrasi Enqueue (Linked List)

Pengertian dan contoh Queue (antrian) struktur data

Pengertian dan contoh Queue (antrian) struktur data

Dequeue (Array Statis)

Proses dequeue bisa dilakukan jika queue dalam keadaan tidak kosong, dengan cara: 
Periksa apakah elemen/data di queue hanya ada satu atau lebih, jika satu elemen/data maka keluarkan elemen/data pertama dari Queue, lalu harga front dan rear menjadi 0 (nol).
Jika lebih dari satu setelah mengeluarkan elemen/data dari queue maka lakukan proses pergeseran data dimana data di posisi kedua akan menempati Queue pada posisi pertama, data di posisi ketiga akan menempati Queue pada posisi kedua, dan seterusnya, kemudian posisi Rear akan berkurang 1.

Catatan :
Pada Linked List proses dequeue sama dengan proses penghapusan di awal/di depan

Illustrasi Dequeue (Array Statis)

Pengertian dan contoh Queue (antrian) struktur data

Pengertian dan contoh Queue (antrian) struktur data

Illustrasi Dequeue (Linked List)

Pengertian dan contoh Queue (antrian) struktur data

Pengertian dan contoh Queue (antrian) struktur data

Pengertian dan contoh Queue (antrian) struktur data

Enqueue(Queue Circular)

Proses Enqueue pada Queue Circular (Array Statis), dengan cara:
Penambahan data dilakukan jika kondisi queue tidak penuh. 
Jika keadaan kosong, maka posisi Front dan Rear bernilai 1. Tetapi jika tidak kosong, maka nilai Rear bertambah 1, tapi jika Rear ada di posisi maksimum queue, maka Rear = 1
Kemudian data baru disimpan di queue pada posisi Rear.

Dequeue (Queue Circular)

Operasi dequeue pada Queue Circular (Array Statis), dengan cara :
Periksa apakah Queue kosong atau tidak
Periksa kembali apakah Queue berisi satu elemen atau lebih
Jika berisi satu elemen, maka harga Front dan rear menjadi 0 (nol)
Jika berisi lebih dari satu elemen, maka periksa apakah Front berada di posisi maksimum queue atau tidak, jika ya maka harga Front = 1, jika tidak maka harga Front bertambah 1.






Dzikri Muhammad Sopyana
Dzikri Muhammad Sopyana Silih Asih, Silih Asuh, Silih Asah. Hatur nuhun.

2 komentar untuk "Pengertian dan contoh Queue (antrian) struktur data"

Comment Author Avatar
Terima kasih mas, keren ada dark mode nya...

Silahkan komentar dengan bijak jika ada yang ingin ditanyakan.