Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut belakang (REAR) dan.

Presentasi serupa


Presentasi berjudul: "QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut belakang (REAR) dan."— Transcript presentasi:

1 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). Rachmansyah,S.Kom

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

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

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

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

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

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

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

9 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) Rachmansyah,S.Kom

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

11 QUEUE / ANTRIAN Misalkan antrian Q = [Q1,Q2,…,Qnoel], 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 Rachmansyah,S.Kom

12 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 Rachmansyah,S.Kom

13 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 Rachmansyah,S.Kom

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

15 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. Rachmansyah,S.Kom

16 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. Rachmansyah,S.Kom

17 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. Rachmansyah,S.Kom

18 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. Rachmansyah,S.Kom

19 QUEUE / ANTRIAN AAA BBB CCC DDD BBB CCC DDD FRONT : 1 REAR : 4
REMOVE FRONT : 2 REAR : 4 BBB CCC DDD …… N Rachmansyah,S.Kom

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

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

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

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

24 Antrian Berprioritas Antrian berprioritas adalah himpunan elemen, yang setiap elemennya telah diberikan prioritas. Urutan penghapusan elemen berdasarkan aturan berikut: Elemen yang prioritasnya lebih tinggi, diproses lebih dahulu dibandingkan dengan elemen yang prioritasnya lebih rendah. 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: One-way List Multiple Queue Kemudahan dan kesulitasn dalam operasi penambahan/penghapusan tergantung pada penyajian mana yang akan dipilih.

26 Antrian Berprioritas Penyajian One-way List
Ketentuan penyajian one-way list: 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 Diagram skematik Antrian berprioritas
AAA 1 BBB 2 EEE 4 DDD 4 CCC 2 GGG x FFF 4 START Diagram skematik Antrian berprioritas

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

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

31 Antrian Berprioritas PENGAPUSAN START AAA 1 BBB 2 EEE 4 DDD 4 CCC 2
GGG x FFF 4

32 Antrian Berprioritas PENYISIPAN START XXX 2 AAA 1 BBB 2 CCC 2 DDD 4
EEE 4 FFF 4 GGG x


Download ppt "QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut belakang (REAR) dan."

Presentasi serupa


Iklan oleh Google