QUEUE ANTRIAN QUEUE n n n DEFINISI adalah

  • Slides: 17
Download presentation
QUEUE (ANTRIAN)

QUEUE (ANTRIAN)

QUEUE n n n DEFINISI adalah suatu linier list dimana operasi delete terjadi pada

QUEUE n n n DEFINISI adalah suatu linier list dimana operasi delete terjadi pada sisi depan (front) dan operasi insert terjadi pada sisi belakang (rear) Antrean Q=[Q 1, Q 2, …. . , QN] Front (Q)=Q 1 -> bagian depan antrian Rear (Q)=QN -> bagian belakang antrean Noel (Q)=N -> jumlah elemen dalam antrian

n n Operasi Antrean: FIFO (First In First Out) Elemen yang pertama masuk merupakan

n n Operasi Antrean: FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar

n n n OPERASI DASAR PADA QUEUE CREATE adalah suatu operasi untuk menghasilkan suatu

n n n OPERASI DASAR PADA QUEUE CREATE adalah suatu operasi untuk menghasilkan suatu queue kosong bentuk umum : create (queue) ISEMPTY adalah suatu operasi untuk memeriksa apakah queue merupakan queue kosong atau tidak bentuk umum : isempty (queue)

n n INSERT adalah suatu operasi untuk memasukkan elemen ke dalam queue bentuk umum

n n INSERT adalah suatu operasi untuk memasukkan elemen ke dalam queue bentuk umum : insert (elemen, queue) REMOVE adalah suatu operasi untuk mengeluarkan elemen dari dalam queue bentuk umum : remove (elemen, queue)

n n n n DEKLARASI QUEUE DALAM BAHASA PEMROGRAMAN Dalam bahasa Pascal type strukqueue

n n n n DEKLARASI QUEUE DALAM BAHASA PEMROGRAMAN Dalam bahasa Pascal type strukqueue = record Q : array [1. . 100] of integer; front, rear : integer; end; var Q : strukqueue;

n n n Dalam bahasa Cobol 01 strukqueue. 02 Q occurs 100 times pic

n n n Dalam bahasa Cobol 01 strukqueue. 02 Q occurs 100 times pic 9(5). 03 front pic 9(3). 04 rear pic 9(3).

n n n Contoh: Antrean dalam array queue dengan 5 lokasi memori 1. Pada

n n n Contoh: Antrean dalam array queue dengan 5 lokasi memori 1. Pada awal antrean hampa F=0 R=0 Queue 1 2 3 4 5

n n n 2. A, B dan C dimasukkan F=1 R=3 Queue A B

n n n 2. A, B dan C dimasukkan F=1 R=3 Queue A B 1 2 3. Hapus 1 elemen: A dihapus F=2 R=3 1 C 3 4 5 Queue B 2 C 3 4 5

n n n 4. D dan E dimasukkan F=2 R=5 Queue B 1 5.

n n n 4. D dan E dimasukkan F=2 R=5 Queue B 1 5. Hapus 1 elemen: B dihapus F=3 R=5 1 2 C D E 3 4 5 Queue 2

n Akibatnya, setelah pemasukan elemen ke-5 maka lokasi Queue (5) telah diduduki mungkin saja

n Akibatnya, setelah pemasukan elemen ke-5 maka lokasi Queue (5) telah diduduki mungkin saja tidak sebanyak 5 elemen ada dalam antrean, karena sudah dilakukan beberapa penghapusan.

n Untuk pemasukan elemen berikutnya, yakni memasukkan elemen ITEM, gunakan lokasi QUEUE (1), dan

n Untuk pemasukan elemen berikutnya, yakni memasukkan elemen ITEM, gunakan lokasi QUEUE (1), dan seterusnya. Array Sirkular yaitu elemen Queue (1) datang sesudah Queue (N) di dalam array, maka Rear =1. Jika Front=N, dilakukan penghapusan maka Front=1, bukan N+1

n n n n Contoh: Array Sirkular dengan 5 lokasi memori 1. Pada awal

n n n n Contoh: Array Sirkular dengan 5 lokasi memori 1. Pada awal antrean hampa F=0 Queue R=0 2. A, B dan C dimasukkan F=1 R=3 1 2 3 Queue A B C 2 3 1 4 5

n n n 3. Hapus 1 elemen: A dihapus F=2 R=3 4. D dan

n n n 3. Hapus 1 elemen: A dihapus F=2 R=3 4. D dan E dimaukkan F=2 R=5 Queue B 1 2 C 3 4 5 Queue 1 B C D E 2 3 4 5

n n n 5. Hapus 1 elemen: B dihapus F=3 R=5 6. G dimasukkan

n n n 5. Hapus 1 elemen: B dihapus F=3 R=5 6. G dimasukkan F=3 R=1 Queue 1 2 C D E 3 4 5 Queue G 1 2

n n n DEQUE adalah suatu bentuk queue dimana operasi insert dan remove dapat

n n n DEQUE adalah suatu bentuk queue dimana operasi insert dan remove dapat dilakukan pada kedua sisi queue tapi tidak ditengah queue Ada 2 model deque : deque input terbatas dan deque output terbatas. Deque input terbatas membatasi insert elemen hanya pada satu sisi list tetapi remove dapat dilakukan di dua sisi list. Deque output terbatas membatasi remove elemen hanya pada satu sisi list tetapi insert dapat dilakukan pada dua sisi list

n n n QUEUE BERPRIORITAS setiap elemen diberikan prioritas dan diproses berdasarkan aturan :

n n n QUEUE BERPRIORITAS setiap elemen diberikan prioritas dan diproses berdasarkan aturan : elemen yang berprioritas tinggi diproses lebih dahulu dan jika ada dua elemen dengan prioritas sama maka elemen tersebut akan diproses sesuai dengan urutan sewaktu dimasukkan dalam queue Contoh queue berprioritas adalah sistem time sharing