Anda di halaman 1dari 18

QUEUE / ANTRIAN

A. Apa itu Queue ??


 Queue / Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa
dilakukan pada satu ujung dan penghapusan atau pengambilan elemen dilakukan lewat ujung lain.

 Queue menggunakan prinsip Pertama Masuk Pertama Keluar – First In First Out (FIFO). Dengan
kata lain urutan masuk sama dengan urutan keluar. Contoh yang paling populer untuk membayangkan
sebuah queue adalah antrian pada kasir sebuah bank. Ketika seorang pelanggan datang, akan menuju ke
belakang dari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju. Pada saat
menempatkan elemen pada ujung (tail) dari queue disebut dengan enqueue, pada saat memindahkan
elemen dari kepala (head) sebuah queue disebut dengan dequeue.
berikut ini yang memperlihatkan sebuah queue serta proses
enqueue dan dequeue.
B. Kegunaan Queue

Meski Queue sangat sederhana, namun Queue merupakan kakas dasar penyelesaian
masalah-masalah besar. Penggunaan Queue yang utama adalah untuk simulasi
fenomena antrian di dunia nyata, serta fenomena antrian di pengolahan data.
Algoritma Queue juga digunakan dalam sistem operasi untuk mengontrol urutan
proses operasi sistem.
Penggunaan Queue dapat dicontohkan seperti dibawah
ini :

1.Simulasi antrian di dunia nyata, antara lain :

 Antrian pembelian tiket di depan loket untuk bis, kereta api, bioskop.

 Antrian mobil di depan gerbang jalan tol.

 Antrian kendaraan di jalanan umum.

2. System produksi

 Barisan bahan atau komponen yang akan diproses suatu mesin.

 Barisan bahan atau komponen yang akan diproses suatu manusia


C. Karakteristik Queue
 Karakteristik penting dari antrian adalah :
1. Elemen antrian yaitu item-item data yang terdapat di elemen antrian
2. Front (elemen terdepan dari antrian)
3. Rear (elemen terakhir dari antrian)
4. Jumlah elemen pada antrian (Count)
5. Status antrian
 Kondisi antrian yang menjadi perhatian adalah :
1. Penuh
Bila elemen pada antrian mencapai kapasitas maksimum antrian. Pada kondisi ini, tidak mungkin dilakukan penambahan ke
antrian. Penambahan elemen menyebabkan kondisi kesalahan Overflow.
2. Kosong
Bila tidak ada elemen pada antrian. Pada kondisi ini, tidak mngkin dilakukan pengambilan elemen dari antrian. Pengambilan
elemen menyebabkan kondisi kesalahan Overflow.
D. QUEUE DENGAN LINIEAR
ARRAY
 Linear array adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan
satu pintu masuk dan satu pintu keluar.
 Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya
 Sehingga membutuhkan variabel misalnya Head dan Tail
E. Pendefinisian Queue
#define MAX 8
typedef struct{
int data[MAX];
int head;
int tail;
} Queue;
Queue antrian;
F. Operasi – operasi pada Queue
1. Create()
 Untuk menciptakan dan menginisialisasi Queue
 Dengan cara membuat Head dan Tail = -1
2. Is Empty()
 Untuk memeriksa apakah Antrian sudah penuh atau belum
 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
3. IsFull()
• 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
4. Enqueue(data)
• 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
5. Dequeue()
• Digunakan untuk menghapus elemen terdepan/pertama dari Antrian
• Dengan cara mengurangi counter Tail dan menggeser semua elemen
antrian kedepan.
• Penggeseran dilakukan dengan menggunakan looping
6. 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
7. Tampil()
• Untuk menampilkan nilai-nilai elemen Antrian
• Menggunakan looping dari head s/d tail
G. Kelebihan dan Kekurangan Queue
Kelebihan :
 Data dalam jumlah besar dapat dikelola secara efisien.
 Operasi seperti penyisipan dan penghapusan dapat dilakukan dengan mudah karena mengikuti aturan masuk
pertama keluar pertama.
 Queue berguna ketika layanan tertentu digunakan oleh banyak konsumen.
 Queue cepat untuk komunikasi antar-proses data.
 Queue dapat digunakan dalam implementasi struktur data lainnya.

Kekurangan :
 Operasi seperti penyisipan dan penghapusan elemen dari tengah cenderung banyak memakan waktu.
 Dalam queue konvensional, elemen baru hanya dapat dimasukkan ketika elemen yang ada dihapus dari antrian.
 Mencari elemen data pada struktur queue membutuhkan time complexity O(N).
 Ukuran maksimum antrian harus ditentukan sebelumnya.
Contoh : Queue sederhana
SEKIAN
Terima Kasih :D

Anda mungkin juga menyukai