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