Queue ( Antrian)
-
Upload
andi-arfian -
Category
Documents
-
view
498 -
download
7
Transcript of Queue ( Antrian)
Queue ( Antrian)Queue ( Antrian)
Modul 6Modul 6
Struktur DataStruktur Data
Andi ArfianAndi Arfian
Aplikasi pengunaan ArrayAplikasi pengunaan Array
Proses stack (tumpukan) dan queue (antrean) adalah alokasi memory dalam bentuk array dimensi satu.– Stack adalah berlaku konsep Lifo– Queue adalah berlaku konsep FiFo/ FCFS– Dequeue adalah antrean yang berlaku untuk 2
arah
Pemilihan 3 aturan diatas tergantung dari masalah yang diakan diselesaikan
Pengertian QueuePengertian Queue• Queue adalah bentuk ordered list dengan
penyisipan disatu ujung,sedang penghapusan diujung lainnya
• Ujung penyisipan biasanya disebut rear/Tail.• Ujung penghapusan disebut Front/headMisalnya: 1.Elemen a1 adalah elemen paling depan
2.Elemen a1 adalah diatas elemen ai-1,dimana 1<i<n.
3.Elemen an adalah elemen paling belakang.
a1 a2 a3 an
Head Tail
Karakteristik queueKarakteristik queue1. Elemen antrian yaitu item-item data yang terdapat
dielemen antrian.
2. Head/front (elemen terdepan dari antrian)
3. Tail/rear adalah lemen terakhir dari antrian
4. Jumlah elemen pada antrian (count)
5. Status/kondisi antrean.– Kondisi antrean yang menjadi perhatiaan adalah
1. Penuh ( over flow)
2. Kosong (under flow)
Operasi pokok QueueOperasi pokok Queue
• CREATE Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1
• ISEMPTY Untuk memeriksa apakah queue kosong• ISFULL Untuk memeriksa apakah queue sudah penuh• ENQUEUE Untuk menambahkan item pada posisi paling
belakang• DEQUEUE Untuk menghapus item dari posisi paling
depan• CLEAR Untuk mengosongkan queue
Representasi queueRepresentasi queue
1.Representasi Sekuen– Representasi sekuen linear(queue)– Representasi sekuen melingkar (circular array)
merupakan implementasi statik yang lebih baik dibandingkan sekuen linear.
2 Representasi dinamis ( Linked list)
Kelemahan linear(queue)
kapasitas penuh yang disediakan dapat tidak terpakai seluruhnya yaitu bila telah terjadi penghapusan elemen-elemen antrian awal
Representasi circuler queueRepresentasi circuler queue Prinsip tetap FiFo adalah antrean tetap sama dengan antrean linear,hanya
saja setelah sampai ke elemen yang keN akan kembali ke elemen 1 tanpa harus direset,karena aliran melingkar ,F dan R akan dapat menyusul sehingga F tidak selalu <= R.
Efek sirkuler dengan rear := (rear+1)mod n, operator modulo yang menghitung sisa bagi.
Penghapusan dapat dilakukan dengan front:=(front+1)mod n.
Front dan tail selalu bergerak maju /Naik1. Penambahan ,bila tail mencapai elemen terakhir array,akan memakai elemen
pertama array yg telah tidak digunakan(hapus)2. Penghapusan bila front telah mencapai elemen terakhir array,maka akan
menuju elemen pertama bila antrean masih berisi elemen.
Linier Sirkuler
awal F=0 F=N Belum pernah diisi
kosong F=R F=R Semua isi sudah diambil
keadaan R=N F=R
Flog on/isi
Tidak bisa diisi lagi
Varian dari struktur queueVarian dari struktur queue• Deque ( double queue) /deck adalah list linear
atau linear list yang penambahan dan penghapusan dilakukan pada dua sisi ujung list tetapi tidak dapat dilakukan ditengah tengah list
• Antrean berproritas adalah himpunan elemen yang setiap elemeny telah diberikan sebuah prorita dan urutan proses penghapuan elemen berdasarkan aturan sbb:– Elemen yg prioritas lebih tinngi diproses lebih dulu– Dua elemen dengan prioritas yn sama ,diproses
sesuai dengan urutan merekasewaktu dimasukan kedalam priority queue.