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()
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
Tidak ada komentar:
Posting Komentar