Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Antrian (Queue).

Presentasi serupa


Presentasi berjudul: "Antrian (Queue)."— Transcript presentasi:

1 Antrian (Queue)

2 Antrian Sifatnya : FIFO : First in First Out
Penerapan Multiprogramming : Task yang lebih dulu datang Task yang lebih dulu request Antrian dapat digambarkan : Larik

3 Implementasi dengan Larik
Depan Belakang 1 2 3 4 5 6 7 antrian Implementasi antrian dengan larik Gambar (a)

4 Implementasi dengan Larik
Digunakan satu antrian berbentuk larik satu dimensi dan dua variabel : Depan  indeks elemen terdepan Belakang  indeks elemen terakhir

5 Definisikan Antrian def maksAntrian : 8 antrian : array[1 .. maksAntrian] of string depan, belakang : integer edef

6 Operasi masuk Antrian proc masuk (x, penuh) {Masuk x kebelakang antrian dan laporkan apakah penuh atau tidak} if belakang == maksAntrian then penuh = true else penuh = false antrian[belakang] = x belakang = belakang + 1 eif eproc

7 Operasi keluar Antrian
proc keluar (x, kosong) {Keluar x dari depan antrian dan laporkan apakah kosong atau tidak} if depan >= belakang then kosong = true else kosong = false x = antrian[depan] depan = depan + 1 eif eproc

8 Permasalahan Tidak boleh ada elemen yang tertimpa
Dapat menentukan apakah antrian kosong atau penuh Dengan hanya menggunakan variabel depan dan belakang, keadaan penuh dan kosong tidak dapat ditentukan

9 Implementasi dengan Larik
Depan Belakang 1 2 3 4 5 6 7 8 Implementasi antrian dengan larik Gambar (b)

10 Implementasi dengan Larik
Depan Belakang 1 2 3 4 5 6 7 8 Implementasi antrian dengan larik Gambar (c)

11 Implementasi dengan Larik
Depan Belakang 1 2 3 4 5 6 7 8 Implementasi antrian dengan larik Gambar (d)

12 Implementasi dengan Larik
Depan Belakang 1 2 3 4 5 6 7 8 Implementasi antrian dengan larik Gambar (e)

13 Implementasi dengan Larik
Untuk mengatasi persoalan : Menggunakan variabel : jumlah jumlah : mencatat jumlah data yang ada di dalam antrian Antrian kosong : jumlah berharga 0 Antrian penuh : jumlah berharga 1

14 Implementasi dengan Larik
proc masuk (x, penuh) {Masuk x kebelakang antrian dan laporkan apakah penuh atau tidak} if jumlah = maksAntrian then penuh = true else penuh = false antrian[belakang] = x jumlah = jumlah + 1 belakang = belakang + 1

15 Implementasi dengan Larik
if belakang > maksAntrian then belakang = 1 eif eproc

16 Implementasi dengan Larik
proc keluar (x, kosong) {Keluar x dari depan antrian dan laporkan apakah kosong atau tidak} if jumlah == 0 then kosong = true else kosong = false x = antrian[depan] jumlah = jumlah + 1 depan = depan + 1

17 Implementasi dengan Larik
if depan > maksAntrian then depan = 1 eif eproc

18 SELESAI ANTRIAN


Download ppt "Antrian (Queue)."

Presentasi serupa


Iklan oleh Google