Home » Kuliah IT » Pemrograman » Operasi pada Queue dan Contoh Programnya

Operasi pada Queue dan Contoh Programnya

by Anindya Putri Arunawati
by Anindya Putri Arunawati

Apa itu Queue?

Queue adalah suatu proses antrian dalam suatu kumpulan data yang mana penambahan data atu elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan atau pengeluaran elemen dilakukan pada sisi depan.

Berbeda dengan stack, prinsip yg digunakan dalam antrian adalah FIFO ( First In First Out ) dimana data yang masuk pertama kali akan diproses atau keluar pertama kali juga, dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya.

Namun antrian tidak semua menggunakan FIFO murni, antrian akan dilayani berdasarakan pada prioritas tertentu. Queue ini juga merupakan implementasi dari linked list.

Operasi-operasi Queue

Pada queue terdapat terdapat beberapa operasi yang digunakan diantaranya:

  1. Create() : digunakan untuk membuat dan menginisialisasi Queue dengan cara membuat Head dan Tail =1
  2. IsEmpty() : digunakan untuk memeriksa isi dari antrian apakah masih dalam keadaan kosong dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
  3. IsFull : Untuk mengecek apakah antrian dalam keadaan penuh atau masih ada ruang kosong yang tersisa dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
  4. Enqueue : Untuk menambahkan elemen ke dalam antrian dimana penambahan elemen dilakukan atau ditambahkan di elemen paling belakang
  5. Dequeue() :Digunakan untuk menghapus atau mengambil data elemen terdepan/pertama (head) dari Antrian
  6. Clear() : Untuk menghapus elemen antrian dengan cara membuat Tail dan Head = -1, penghapusan ini bukan berarti menghapus array, namun hanya mengatur indeks pengakses menjadi 1
  7. Tampil() : digunakan untuk menampilkan nilai-nilai elemen dalam antrian dengan menggunakan looping dari head sampai dengan tail.

Contoh program menggunakan queue dengan bahasa Java (JDK)

pulic class Node {  
   Object data;
       Node next;

   Node( Object object ){this ( object, null );}

   Node( Object object, Node node ){
      data = object;
      next = node;
      }

   Object getObject(){return data;}

      Node getNext() {return next;}
}

You may also like