Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
QUEUE Copyright 2008 by Yohana
2
Definisi Queue = antrian
Data yang pertama masuk dalam antrian, akan keluar terlebih dahulu. Jenis-jenis Queue : Linear Queue Double Ended Queue (Dequeue)
3
Linear Queue (Antrian Lurus)
Ilustrasi Antrian Lurus Q[10] 1 2 x 3 4 5 6 7 8 9 F R 3 F X 6 R Keterangan : F = Front (depan) R = Rear (belakang) F menunjuk pengantri paling depan, yaitu pengantri yg siap dilayani. R menunjuk pengantri paling belakang, yaitu pengantri yg paling terakhir masuk.
4
Proses dlm Antrian Lurus
Prinsip / Konsep Proses : FIFO (First In First Out) FIFS (First In First Serve) Proses : AWAL (Inisialisasi) INSERT (Sisip, Masuk, Simpan, Tulis) DELETE (Hapus, Keluar, Ambil/Dilayani, Baca) RESET (Kembali ke AWAL)
5
Kondisi Antrian Lurus Kondisi Antrian Ciri a. b. c. d. e. KOSONG PENUH
BISA DIISI ADA ISINYA PERLU DIRESET F = R + 1 dimana saja R = n – 1 R < n – 1 F < R + 1 F = R + 1 dan R = n - 1
6
Algoritma Lengkap INSERT
Periksa apakah Antrian BISA DIISI if ( R < n – 1) { R = R + 1; Q[R] = x; } else cout<<“Antrian Penuh”;
7
Algoritma Lengkap DELETE
Periksa apakah Antrian ADA ISINYA if ( F < R + 1) { x = Q[F]; F = F + 1; if ((F=R+1) && (R=n-1)) { F = 0; R = -1; } } else cout<<“Antrian Kosong”;
8
Double Ended Queue (Deque)
Ilustrasi Deque (Antrian dengan Ujung Ganda) Insert Kiri 1 2 x 3 4 5 6 7 8 9 L R Insert Kanan Q[10] Delete Kiri Delete Kanan Keterangan : L = Left (kiri) R = Right (kanan) L menunjuk pengantri yg terakhir masuk di sebelah kiri dan siap dilayani. R menunjuk pengantri yg terakhir masuk di sebelah kanan dan siap dilayani.
9
Proses dlm Deque Prinsip / Konsep Proses :
bukan FIFO, bukan juga LIFO, tergantung kesempatan yang ada. Proses : AWAL (Inisialisasi) INSERT (Sisip, Masuk, Simpan, Tulis) DELETE (Hapus, Keluar, Ambil/Dilayani, Baca)
10
Kondisi Deque Kondisi Antrian Ciri a. b. c. d. e. f. KOSONG PENUH KIRI
PENUH KANAN BISA DIISI DARI KIRI BISA DIISI DARI KANAN ADA ISINYA L = R + 1 dimana saja L = 0 R = n – 1 L > 0 R < n – 1 L < R + 1
11
Algoritma Lengkap INSERT KIRI
Periksa apakah Deque BISA DIISI DARI KIRI void INSERT_KIRI() { if ( L > 0) { L = L - 1; Q[L] = x; } else cout<<“Antrian Kiri Penuh”;
12
Algoritma Lengkap INSERT KANAN
Periksa apakah Deque BISA DIISI DARI KANAN void INSERT_KANAN() { if ( R < n - 1) { R = R + 1; Q[R] = x; } else cout<<“Antrian Kanan Penuh”;
13
Algoritma Lengkap DELETE KIRI
Periksa apakah Deque ADA ISINYA void DELETE_KIRI() { if (L < R + 1) { x = Q[L]; L = L + 1; } else cout<<“Antrian Kosong”;
14
Algoritma Lengkap DELETE KANAN
Periksa apakah Deque ADA ISINYA void DELETE_KANAN() { if (L < R + 1) { x = Q[R]; R = R - 1; } else cout<<“Antrian Kosong”;
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.