Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.