PERTEMUAN 4 - Gunadarma Universitydina_anggraini.staff.gunadarma.ac.id/Downloads... · QUEUE...

Preview:

Citation preview

perteMuan 4

Queue (antrIan)

Queue (Antrian) adalah suatu bentuk khusus dariList Linier dengan operasi penyisipan (insertion)hanya diperbolehkan pada salah satu sisi, yangdisebut sisi belakang (REAR),

dan operasi penghapusan (deletion) hanyadiperbolehkan pada sisi yang lainnya, yang disebutdengan sisi depan (FRONT).

Pemrosesan elemen bersifat FIFO (First In First Out).

Queue (antrIan)Suatu antrian Q = [Q1, Q2, Q3, …, QN]FRONT(Q) = Q1; REAR(Q) = QN

NOEL(Q) = jumlah elemen dalam antrian

OPERASI DASAR :CREATE(Q);

Membentuk struktur antrian Q.Membentuk struktur antrian Q.FRONT(Q) dan REAR(Q) tidak terdefinisi.

ISEMPTY(Q);Menentukan apakah antrian Q kosong.

INSERT(E,Q) ;Menambahkan elemen ke dalam antrian Q.

REMOVE(Q) ;Menghapus elemen pada FRONT.

Queue (antrIan)

1 2 3 4 5 6 7 … N

CREATE(Q)

INSERT(A,Q)

Antrian Q = []FRONT: Tak terdefinisiREAR: Tak terdefinisiNOEL(Q) = 0

A

A B

INSERT(A,Q)

INSERT(B,Q)

Antrian Q = [A]FRONT: AREAR: ANOEL(Q) = 1

Antrian Q = [A,B]FRONT: AREAR: BNOEL(Q) = 2

Queue (antrIan)

A B C

1 2 3 4 5 6 7 … N

INSERT(C,Q)

REMOVE(Q)

Antrian Q = [A,B,C]FRONT: AREAR: CNOEL(Q) = 3

B C

C

REMOVE(Q)

REMOVE(Q)

Antrian Q = [B,C]FRONT: BREAR: CNOEL(Q) = 2

Antrian Q = [C]FRONT: CREAR: CNOEL(Q) = 1

Jika sebuah bank memilikinasabah sebanyak 1500 orang, apakah bank tersebut perlumenyediakan kursi sebanyak 1500 menyediakan kursi sebanyak 1500 agar nasabahnya dapat dilayanisemuanya?

Queue (antrIan) DenganarraY sIrkular

Queue (antrIan) DenganarraY sIrkular

Apakah orang yang sudah masukdalam antrian dapat keluar dariantrian sebelum dilayani?

DeQueueDeQueue

DEQUEUE adalah suatu list linier yangpenambahan dan pengurangan elemennyaboleh dilakukan di kedua ujung list, tetapitidak boleh di tengah-tengah list.tidak boleh di tengah-tengah list.

JenIs DeQueueJenIs DeQueueAda 2 macam Dequeue, yaitu:

1.1. DequeueDequeue inputinput terbatasterbatas,

Queue yang penambahan elemennya hanya bolehpada salah satu sisi, sedangkan penghapusanboleh dari kedua sisi.

1.1. DequeueDequeue outputoutput terbatasterbatas,

Queue yang penghapusan elemennya hanya bolehpada salah satu sisi, sedangkan penambahanelemen baru boleh pada kedua sisi.

Pada bagian ICU (Intensive Care Unit) sebuah rumah sakit, sudah antri pasiendengan jenis masalah terurut sbb: 1. keseleo, 2. disengat lebah, 3. digigitsemut.semut.

Terakhir datang pasien gagal jantung. Apakah pasien terakhir harus antrisampai gilirannya?

prIorItY Queue(antrIan BerprIorItas)

Himpunan elemen yang setiap elemennyadiberikan tingkat prioritas tertentu, danurutan pemrosesan elemennya didasarkanatas prioritas

1. Elemen yang prioritasnya lebih tinggidiproses lebih dulu.

2. Dua elemen dengan prioritas yang samadiproses berdasarkan urutankedatangannya.

prIorItY Queue Denganone-waY lIst

Representasi antrian berprioritas :

a. Setiap simpul memiliki 3 field, yaitu:

INF (informasi), PRN (nomor prioritas), danLINK (penunjuk ke elemen berikutnya)LINK (penunjuk ke elemen berikutnya)

a. Simpul X mendahului simpul Y dalam list :

- jika prioritas X lebih tinggi daripadaprioritas Y

- jika prioritas keduanya sama, tetapi X lebihdulu masuk ke dalam antrian.

prIorItY Queue wIth one-waY lIst

AAA 1 BBB 2 CCC 2

START

DDD 4 EEE 4 FFF 4

GGG 5 X

prIorItY Queue wIth one-waY lIst

AAA 1 BBB 2 CCC 2

STARTXXX 2

DDD 4 EEE 4 FFF 4

GGG 5 X

Recommended