Queue ( Antrian)

9
Queue ( Antrian) Queue ( Antrian) Modul 6 Modul 6 Struktur Data Struktur Data Andi Arfian Andi Arfian

Transcript of Queue ( Antrian)

Page 1: Queue ( Antrian)

Queue ( Antrian)Queue ( Antrian)

Modul 6Modul 6

Struktur DataStruktur Data

Andi ArfianAndi Arfian

Page 2: Queue ( Antrian)

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

Page 3: Queue ( Antrian)

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

Page 4: Queue ( Antrian)

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)

Page 5: Queue ( Antrian)

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

Page 6: Queue ( Antrian)

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

Page 7: Queue ( Antrian)

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

Page 8: Queue ( Antrian)
Page 9: Queue ( Antrian)

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.