Queue (Antrian)

Queue (Antrian)


A.    Pengertian Queue (Antrian)
Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran elemen dilakukan pada sisi depan.
Jenis struktur data antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Antrian banyak dijumpai dalam kehidupan sehari-hari. Misal : antrian registrasi mahasiswa, tiket kereta api dan lain-lain.

Berbeda dg stack, prinsip yg digunakan dalam antrian adalah FIFO ( First In First Out ). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya.
Dalam antrian tidak semuanya dilakukan secara FIFO murni, contoh yg relevan dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah penakai ( user ) yg menggunakan sistem tsb secara serempak. Karena sistem ini biasanya menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang user, maka user yang lain harus antri sampai gilirannya.
           
Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas tertentu. Antrian yang memasukkan unsur prioritas dinamakan dengan ANTRIAN PRIORITAS ( PRIORITY QUEUE )
Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya. DEQUEUE adalah mengeluarkan satu elemen dari suatu antrian. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya sehingga membutuhkan variabel Head dan Tail
           
Deklarasi Queue :

B.     Operasi dalam Queue
1.       Create ( )
a.       Untuk menciptakan dan menginisialisasi Queue
b.      Dengan cara membuat Head dan Tail = -1
2.      IsEmpty ( )
a.       Untuk memeriksa apakah Antrian sudah penuh atau belum
b.      Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
c.      Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
d.    Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail
3.      IsFull
a.       Untuk mengecek apakah Antrian sudah penuh atau belum
b.      Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh 
4.      Enqueue (data)
a.       Untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu ditambahkan di elemen paling belakang.
b.      Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail
5.      Dequeue()
a.       Digunakan untuk menghapus elemen terdepan/pertama dari antrian
b.      Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan.
c.       Penggeseran dilakukan dengan menggunakan looping
6.      Clear()
a.       Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
b.      Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya 
7.      Tampil
a.       Untuk menampilkan nilai-nilai elemen antrian
b.      Menggunakan looping dari head s/d tail

Categories: , Share

Leave a Reply