STRUKTUR DATA PERTEMUAN 7 vandawaa@yahoo.com
QUEUE / ANTRIAN Konsep utama dalam Queue adalah FIFO ( First In First Out ). Struktur data ini banyak dipakai dalam informatika misalnya untuk merepresentasi : Antrian job dalam sistem operasi Antrian dalam dunia nyata Antrian datanya seolah-olah mengantri dari yang awal sampai yang terakhir. Suatu metode untuk Input dan hapus di dalam memori komputer.
QUEUE / ANTRIAN QUEUE / ANTRIAN Elemen pertama yang dikenali (Head) dan elemen terakhirnya (Tail) Aturan penyisipan dan penghapusan elemennya didefinisikan sebagai berikut : Penyisipan selalu dilakukan setelah elemen terakhir Penghapusan selalu dilakukan pada elemen pertama Satu elemen dengan elemen lain dapat diakses melalui informasi Next
ARRAY (LARIK) QUEUE / ANTRIAN Jenis – jenis QUEUE / ANTRIAN : LINEAR QUEUE (Antrian Lurus) CIRCULAR QUEUE (Antrian Melingkar)
ARRAY (LARIK) QUEUE / ANTRIAN E D C B A VISUALISASI ANTRIAN MELINGKAR 5 4 C 6 3 7 2 B 8 1 A
ARRAY (LARIK) QUEUE / ANTRIAN E D C B A KEKURANGAN ANTRIAN LURUS 1 2 3 4 5 6 7 8 A B C D E 1 2 4 3 8 7 6 5 B C D E
ANTRIAN tidak dpt diisi lagi ARRAY (LARIK) QUEUE / ANTRIAN VISUALISASI ANTRIAN LURUS MAX 1 2 3 4 5 6 7 8 Q[ ] D E F G H blkg Jika : Blkg = max ANTRIAN tidak dpt diisi lagi dpn
(setting ke index awal) ARRAY (LARIK) QUEUE / ANTRIAN VISUALISASI ANTRIAN MELINGKAR MAX 1 2 3 4 5 6 7 8 I J E F G H blkg blkg dpn blkg Jika : Blkg = max (setting ke index awal) Blkg := 1
(setting ke index awal) ARRAY (LARIK) QUEUE / ANTRIAN VISUALISASI ANTRIAN MELINGKAR MAX 1 2 3 4 5 6 7 8 I J H dpn blkg dpn dpn Jika : Dpn = max (setting ke index awal) Dpn := 1
ARRAY (LARIK) QUEUE / ANTRIAN CONTOH PETIKAN PROGRAM Const Max = 10; Type Antri = array[1..max] of char; Var Antrian : Antri; Depan, Belakang, jml : integer; function KOSONG(Q:Antri) : boolean; begin KOSONG := (Depan = Belakang); end;
ARRAY (LARIK) QUEUE / ANTRIAN SALAH CONTOH PETIKAN PROGRAM procedure TAMBAH(var Q:Antri; X:char) begin if Belakang = Max then Belakang := 1 else Belakang := Belakang+1; if jml = max then write(‘ANTRIAN PENUH COY….’) Q[Belakang] := X; jml := jml + 1 end;
ARRAY (LARIK) QUEUE / ANTRIAN CONTOH PETIKAN PROGRAM procedure TAMBAH(var Q:Antri; X:char) begin if jml = max then write(‘ANTRIAN PENUH COY….’) else if Belakang = Max then Belakang := 1 Belakang := Belakang+1; Q[Belakang] := X; jml := jml + 1 end;
ARRAY (LARIK) QUEUE / ANTRIAN CONTOH PETIKAN PROGRAM function HAPUS(var Q:Antri) : char; begin if jml = 0 then writeln(‘ANTRIAN KOSONG TUCH COY’) else if Depan = Max then Depan := 1 Depan := Depan + 1; HAPUS := Q[Depan]; Q[depan] := ‘ ’; jml := jml – 1 end;
Tugas 5 Perbaikilah Program QUEUE (file ANTREPAS), agar : Pesan “ANTRIAN KOSONG” dapat tampil saat antrian benar-benar kosong Pesan “ANTRIAN PENUH” dapat tampil saat antrian benar-benar Penuh
Tugas 5 Perbaikilah Program QUEUE (file ANTREPAS), agar : Pesan “ANTRIAN KOSONG” dapat tampil saat antrian benar-benar kosong Pesan “ANTRIAN PENUH” dapat tampil saat antrian benar-benar Penuh
THE END OF THIS DAY KANGGOANG NAAAHHH,,,,!!!!