Queue pada Struktur Data atau antrian adalah sekumpulan
data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut
dengan sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat
ujung lain (disebut dengan sisi depan atau front).
Pada Stack atau tumpukan menggunakan
prinsip“Masuk terakhir keluar pertama”atau LIFO (Last In First Out), Maka
pada 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).
1. elemen antrian
2. front (elemen
terdepan antrian)
3. tail (elemen
terakhir)
4. jumlah elemen
pada antrian
5. status 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)
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()
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
Tidak ada komentar:
Posting Komentar