Pengertian antrian(Queue)
QUEUE adalah suatu kumpulan data yang mana penambahan data /
elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan /
pengeluaran elemen dilakukan pada sisi depan atau suatu linier list dimana operasi delete terjadi pada
sisi depan (front) dan operasi insert terjadi pada sisi belakang (rear)Antrean
Q=[Q1, Q2, ….., QN]Front (Q)=Q1 -> bagian depan antrian Rear (Q)=QN ->
bagian belakang antrean Noel (Q)=N -> jumlah elemen dalam antrian. Queue
atau antrian sebenarnya juga merupakan suatu list.
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.
Dalam antrian tidak semuanya
dilakukan secara FIFO murni, contoh yg relevan dalam bidang komputer adalah
Time-sharing Computer System, dimana ada sejumlah penakai ( user ) yg
menggunakan sistem tsb secara serempak. Karena sistem ini biasanya menggunakan
processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang
user, maka user yang lain harus antri sampai gilirannya.
Antrian ini tidak akan dilayani
secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas tertentu.
Antrian yang memasukkan unsur prioritas dinamakan dengan ANTRIAN PRIORITAS (
PRIORITY QUEUE )
Elemen yang pertama kali masuk ke
antrian akan keluar pertama kalinya. DEQUEUE adalah mengeluarkan satu
elemen dari suatu antrian. Terdapat satu buah pintu masuk di suatu ujung dan
satu buah pintu keluar di ujung satunya sehingga membutuhkan variabel Head dan
Tail.
Deklarasi dalam Queue:
Operasi dalam Queue:
1. Create:
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail =-1
2. IsEmpty ( )
a. Untuk memeriksa apakah Antrian sudah penuh atau belum
b. Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
c. Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
d. Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail
3. IsFull
a. Untuk mengecek apakah Antrian sudah penuh atau belum
b. Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
4. Enqueue (data)
a. Untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu ditambahkan di elemen paling belakang.
b. Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail
5. Dequeue()
a. Digunakan untuk menghapus elemen terdepan/pertama dari antrian
b. Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan.
c. Penggeseran dilakukan dengan menggunakan looping
6. Clear()
a. Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
b. Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya
7. Tampil
a. Untuk menampilkan nilai-nilai elemen antrian
b. Menggunakan looping dari head s/d tail
Sumber:
http://slideplayer.info/slide/3272808/
http://risasisteminformasi.blogspot.co.id/2013/02/tes.html
0 Comments