Queue atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang (rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Pada tumpukan menggunakan prinsip“Masuk terakhir keluar pertama”atau LIFO (Last In First Out), Maka pada antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out).
Karakteristik Queue atau antrian :
- Elemen antrian
- Front (elemen terdepan antrian)
- Tail (elemen terakhir)
- Jumlah elemen pada antrian
- Status antrian
Operasi pada Queue atau antrian
- Tambah(menambah item pada belakang antrian)
- Hapus (menghapus elemen depan dari antrian)
- Kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
- Create()
- IsEmpty()
- IsFull
- Enqueue
- Dequeue()
- Clear()
Tampil()
Penjabaran dari masing-masing Operasi-operasi Queue :
Create()
Berfungsi untuk menciptakan dan menginisialisasi Queue dengan cara membuat Head dan Tail = -1Add caption |
IsEmpty()
Berfungsi 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.
Add caption |
IsFull
Untuk mengecek apakah Antrian sudah penuh atau belumDengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
Add caption |
Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakangPenambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu
Add caption |
Dequeue()
Digunakan untuk menghapus elemen terdepan/pertama (head) dari AntrianDengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan looping.
Add caption |
Clear()
Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca
Add caption |
Tampil()
Untuk menampilkan nilai-nilai elemen AntrianMenggunakan looping dari head s/d tail
Add caption |