Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Rachmansyah,S.Kom QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut.

Presentasi serupa


Presentasi berjudul: "Rachmansyah,S.Kom QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut."— Transcript presentasi:

1 Rachmansyah,S.Kom QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut belakang (REAR) dan penghapusan hanya dapat dilakukan hanya pada satu sisi lainnya yang disebut sisi depan (FRONT).

2 Rachmansyah,S.Kom QUEUE / ANTRIAN Sebuah contoh antrian Q = [Q 1,Q 2,…Q n ]. Kita notasikan bagian depan dari antrian sebagai FRONT(Q) dan bagian belakang sebagai REAR(Q). Jadi untuk antrian Q = [Q 1,Q 2,…Q n ] FRONT(Q) = Q 1 dan REAR(Q) = Q n Untuk menyatakan jumlah elemen dinotasikan dengan NOEL(Q).

3 Rachmansyah,S.Kom QUEUE / ANTRIAN Operasi penyisipan (insertion) disebut INSERT. INSERT. Operasi penghapusan (deletion) disebut REMOVE. REMOVE.

4 Rachmansyah,S.Kom QUEUE / ANTRIAN Contoh: Dimulai dengan antrian Q hampa. Q = [ ] NOEL(Q) = 0 FRONT(Q) = tidak terdefenisi REAR(Q) = tidak terdefinisi

5 Rachmansyah,S.Kom QUEUE / ANTRIAN Insert elemen A sehingga Q = [A] A NOEL(Q) = 1 FRONT(Q) = A REAR(Q) = A

6 Rachmansyah,S.Kom QUEUE / ANTRIAN Insert elemen B sehingga Q = [A,B] A NOEL(Q) = 2 FRONT(Q) = A REAR(Q) = B B

7 Rachmansyah,S.Kom QUEUE / ANTRIAN Insert elemen C sehingga Q = [A,B,C] A NOEL(Q) = 3 FRONT(Q) = A REAR(Q) = C BC

8 Rachmansyah,S.Kom QUEUE / ANTRIAN Remove sebuah elemen, sehingga Q = [B,C] NOEL(Q) = 2 FRONT(Q) = B REAR(Q) = C BC

9 Rachmansyah,S.Kom QUEUE / ANTRIAN Kondisi underflow dapat terjadi jika dilakukan penghapusan pada antrian hampa. Kondisi overflow dapat terjadi jika dilakukan penyisipan pada saat kapasitas antrian sudah penuh. Antrian beroperasi dengan cara FIFO (First In First Out)

10 Rachmansyah,S.Kom QUEUE / ANTRIAN Ada 4 operasi dasar yang dapat dilakukan terhadap antrian: 1.CREATE(Antrian) 2.ISEMPTY(Antrian) 3.INSERT(elemen,Antrian) 4.REMOVE(Antrian)

11 Rachmansyah,S.Kom QUEUE / ANTRIAN Misalkan antrian Q = [Q 1,Q 2,…,Q noel ], maka: CREATE(Antrian) Create(Q) adalah suatu operator untuk membentuk dan menunjukkan suatu Antrian Hampa Q. Berarti: NOEL(CREATE(Q)) = 0 FRONT(CREATE(Q)) = tak terdefenisi REAR(CREATE(Q)) = tak terdefenisi

12 Rachmansyah,S.Kom QUEUE / ANTRIAN ISEMPTY(Q) ISEMPTY(Q) adalah suatu operator yang menentukan apakah Antrian Q hampa atau tidak. Operand dari operator ini adalah antrian dan hasilnya merupakan tipe data boolean. ISEMPTY(Q) = true, jika Q hampa, NOEL(Q) = 0 = false,jika Q tidak hampa = false,jika Q tidak hampa

13 Rachmansyah,S.Kom QUEUE / ANTRIAN INSERT(elemen,antrian) Insert(E,Q) adalah suatu operator yang menginsert elemen E ke dalam antrian Q. Elemen E akan ditempatkan di bagian belakang antrian. Hasil dari operasi ini adalah antrian yang lebih panjang

14 Rachmansyah,S.Kom QUEUE / ANTRIAN REAR(INSERT(E,Q)) = E Q noel = E ISEMPTY(INSERT(E,Q)) = false

15 Rachmansyah,S.Kom QUEUE / ANTRIAN REMOVE(Q) Remove(Q) adalah suatu operator yang menghapus bagian depan dari antrian Q. Hasilnya merupakan elemen yang lebih pendek. Pada setiap operasi ini, harga dari NOEL(Q) berkurang satu dan elemen kedua dari Q menjadi elemen terdepan.

16 Rachmansyah,S.Kom QUEUE / ANTRIAN Jika : NOEL(Q) = 0, maka REMOVE(Q) memberikan suatu kondisi error yaitu underflow error. Begitu juga dengan REMOVE(CREATE(Q)), akan menghasilkan underflow error.

17 Rachmansyah,S.Kom QUEUE / ANTRIAN Penyajian dari Antrian Antrian dapat disajikan dengan berbagai cara. Biasanya denganmenggunakan one-way-list (linier linked list) ataupun menggunakan array. Jika tidak disebutkan lain, maka antrian disajikan dalam bentuk array QUEUE.

18 Rachmansyah,S.Kom QUEUE / ANTRIAN Array QUEUE dilengkapi dengan dua variabel penunjuk. FRONT berisi lokasi dari elemen depan antrian REAR berisi lokasi dari elemen belakang antrian Nilai FRONT = null menunjukkan bahwa antrian adalah hampa.

19 Rachmansyah,S.Kom QUEUE / ANTRIAN AAABBBCCCDDD …… N FRONT : 1 REAR : 4 REMOVE BBBCCCDDD …… N FRONT : 2 REAR : 4

20 Rachmansyah,S.Kom QUEUE / ANTRIAN Penggunaan Array Sirkular Pada awal hampa FRONT = 0 REAR = 0 AB INSERT A dan B FRONT = 1 REAR = 2

21 Rachmansyah,S.Kom QUEUE / ANTRIAN Penggunaan Array Sirkular ABEDC INSERT C,D,E FRONT = 1 REAR = 5 ED REMOVE A,B,C FRONT = 4 REAR = 5

22 Rachmansyah,S.Kom QUEUE / ANTRIAN Penggunaan Array Sirkular FED INSERT F FRONT = 4 REAR = 1 FE REMOVE D FRONT = 5 REAR = 1

23 Rachmansyah,S.Kom QUEUE / ANTRIAN Penggunaan Array Sirkular FGEH INSERT G,H FRONT = 5 REAR = 3 FGH REMOVE E FRONT = 1 REAR = 3

24 Antrian Berprioritas Antrian berprioritas adalah himpunan elemen, yang setiap elemennya telah diberikan prioritas. Urutan penghapusan elemen berdasarkan aturan berikut: 1.Elemen yang prioritasnya lebih tinggi, diproses lebih dahulu dibandingkan dengan elemen yang prioritasnya lebih rendah. 2.Dua elemen dengan prioritas yang sama. Diproses sesuai dengan urutan mereka sewaktu masuk ke dalam antrian.

25 Antrian Berprioritas Ada bermacam cara penyajian antrian ini, diantaranya: 1.One-way List 2.Multiple Queue Kemudahan dan kesulitasn dalam operasi penambahan/penghapusan tergantung pada penyajian mana yang akan dipilih.

26 Antrian Berprioritas 1.Penyajian One-way List Ketentuan penyajian one-way list: a.Setiap simpul dalam list akan berisi tiga buah data yaitu: Informasi(INFO) Nomor Prioritas(PRN) Nomor Link (LINK)

27 Antrian Berprioritas b. Simpul X mendahului simpul Y dalam list bila: * X mempunyai prioritas lebih tinggi dari Y. * keduanya memiliki prioritas yang sama, tapi X masuk ke dalam antrian lebih dahulu dari pada Y.

28 Antrian Berprioritas Diagram skematik Antrian berprioritas AAA 1 BBB 2 EEE 4 DDD 4CCC 2 GGG 5 xFFF 4 START

29 Antrian Berprioritas Antrian berprioritas dalam memori BBB 2 6 DDD 4 4 FFF 4 8 EEE 4 9 CCC 2 3 AAA 1 1 GGG START AVAIL INFO PRN LINK

30 Antrian Berprioritas Algoritma penghapusan: 1.Hapus ITEM. 2.LINK(START) = LINK(ITEM) Algoritma penambahan: 1.Telusuri list sampai ditemukan suatu simpul yang nilai prioritasnya lebih tinggi dari nilai prioritas ITEM.Sisipkan ITEM di depannya. 2.Jika tidak ditemukan simpul seperti itu, sisipkan sebagai elemen terakhir dari list.

31 Antrian Berprioritas PENGAPUSAN AAA 1 BBB 2 EEE 4 DDD 4CCC 2 GGG 5 xFFF 4 START

32 Antrian Berprioritas PENYISIPAN AAA 1 BBB 2 EEE 4 DDD 4CCC 2 GGG 5 xFFF 4 START XXX 2


Download ppt "Rachmansyah,S.Kom QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut."

Presentasi serupa


Iklan oleh Google