Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007.

Presentasi serupa


Presentasi berjudul: "Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007."— Transcript presentasi:

1 Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007

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 antrian (a) Implementasi antrian dengan larik Belakang

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 ke belakang 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 DepanBelakang 12345678 (b) Implementasi antrian dengan larik

10 Implementasi dengan Larik 12345678 (c) Implementasi antrian dengan larik DepanBelakang

11 Implementasi dengan Larik 12345678 (d) Implementasi antrian dengan larik DepanBelakang

12 Implementasi dengan Larik 12345678 (e) Implementasi antrian dengan larik DepanBelakang

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 if depan > maksAntrian then depan:= 1 eif eproc

15 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 if belakang > maksAntrian then belakang:= 1 eif eproc

16 SELESAI ANTRIAN


Download ppt "Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007."

Presentasi serupa


Iklan oleh Google