Pengertian Queue
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.
Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out).
Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll. Contoh lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. elemen antrian
2. front (elemen terdepan antrian)
3. tail (elemen terakhir)
4. jumlah elemen pada antrian
5. status antrian Operasi pada Queue atau antrian
1. tambah(menambah item pada belakang antrian)
2. hapus (menghapus elemen depan dari antrian)
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
Operasi-operasi Queue :
1. Create() Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1
2. IsEmpty() 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 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
5. Dequeue() 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.
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
Pada queue hanya terdapat satu pintu masuk di salah satu ujung dan satu pintu keluar diujung lainnya, maka ada pointer yang menunjuk pada first dan last.
Operasi penting dalam queue atau antrian adalah :
Add yang berfungsi menambahkan sebuah elemen ke dalam antrian
Delete yang berfungsi menghapus atau mengeluarkan elemen dari antrian
Sebagai contoh kita mempunyai antrian Q = [Q1, Q2, ….., Qn]
Maka Q1 adalah first, dan Qn adalah last.
Jika dilakukan prosedur add Qm maka Qm akan berada di belakang Qn
Dan jika dlakukan prosedur delete, maka Q1 akan keluar dari antrian.
Dalam bidang Ilmu Komputer, antrian atau queue banyak digunakan terutama dalam system operasi yang memerlukan manajemen sumber daya dan penjadwalan. Contohnya time-sharing computer-system dimana ada sejumlah pemakai yang akan menggunakan system tersebut secara serempak.
Didalam sebuah antrian, terdapat sebuah operasi bernama add_priority.
Dalam hal ini antrian tidak lagi menerapkan konsep antrian murni, namun menjadi antrian berprioritas. Dimana terdapat prioritas tertentu pada elemen, dan elemen yang baru ditambah tidak mesti berada di akhir.
infonya oke banget buat dibaca
BalasHapustolak angin flu