QUEUE

by

QUEUE


Queue dengan Array


       Antrian dapat diartikan sebagai suatu kumpulan data yang seolah – olah terlihat seperti ada data yang diletakkan disebelah data yang lain. Bersifat FIFO (First In First Out). Elemen yang pertama masuk ke antrian akan keluar pertama kalinya. 
      Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya
Sehingga membutuhkan 2 variabel: Head dan Tail 




DEKLARASI QUEUE


Operasi-operasi:

Create()
  • Untuk menciptakan dan menginisialisasi Queue
  • Dengan cara membuat Head dan Tail  = -1




IsEmpty()
  • Untuk memeriksa apakah Antrian kosong atau tidak.
  • Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
  • Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
  • Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail



Fungsi is Full
  • Untuk mengecek apakah Antrian sudah penuh atau belum
  • Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh




Dua operasi dasar ANTRIAN :

1. Enqueue (tambah)
  • Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang
  • Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu

2. Dequeue (ambil)
  • Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian
  • Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1
  • Penggeseran dilakukan dengan menggunakan looping

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.



Tampil()
  • Untuk menampilkan nilai-nilai elemen Antrian
  • Menggunakan looping dari head s/d tail

Source: Materi QueueI KOMANG SETIA BUANA, S.Kom.,MT