Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehBoetro Ipunk Telah diubah "10 tahun yang lalu
1
STRUKTUR DATA PERTEMUAN 6
2
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 Suatu metode untuk Input dan hapus di dalam memori komputer. Antrian datanya seolah-olah mengantri dari yang awal sampai yang terakhir.
3
QUEUE / ANTRIAN QUEUE / ANTRIAN
HEAD TAIL 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 DEPAN BELAKANG
4
QUEUE / ANTRIAN QUEUE / ANTRIAN
Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya
5
ARRAY (LARIK) QUEUE / ANTRIAN Contoh:
1.Guntur, 2.Aditya, 3.Tyas, 4.Hendra, 5.Dyah Data nomor 1 datang/masuk duluan, data nomor 1 juga yang keluar terlebih dahulu.
6
ARRAY (LARIK) QUEUE / ANTRIAN Jenis – jenis QUEUE / ANTRIAN :
LINEAR QUEUE (Antrian Lurus) CIRCULAR QUEUE (Antrian Melingkar)
7
ARRAY (LARIK) Algoritma QUEUE / ANTRIAN Input/tambah data
Jika ada input maka no queue/no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian. Pengambilan data Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi antriannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.
8
ARRAY (LARIK) QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] blkg Antrian awal KOSONG : Dpn := 0 Blkg := 0 dpn ANTRIAN KOSONG
9
ARRAY (LARIK) A QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] A blkg Antrian diisi ‘A’ : Dpn = 0 (Blkg + 1) => Blkg = 1 Q[blkg] = ‘A’ dpn
10
ARRAY (LARIK) A B QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] A B dpn blkg Antrian diisi ‘B’ : Dpn = 0 (Blkg + 1) => Blkg = 2 Q[blkg] = ‘B’
11
ARRAY (LARIK) A B C QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] A B C blkg dpn Antrian diisi ‘C’: Dpn = 0 (blkg + 1) => Blkg = 3 Q[blkg] = ‘C’
12
ARRAY (LARIK) A B C QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] A B C blkg dpn Ambil 1 antrian : (Dpn + 1) => Dpn = 1 Blkg = 3 Q[dpn] = ‘A’
13
ARRAY (LARIK) B C QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] B C blkg dpn Ambil 1 antrian : (Dpn + 1) => Dpn = 2 Blkg = 3 Q[dpn] = ‘B’
14
ARRAY (LARIK) C QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS ANTRIAN KOSONG MAX Q[ ] C blkg Ambil 1 antrian : (Dpn + 1) => Dpn = 3 Blkg = 3 Q[dpn] = ‘C’ Jika : Dpn = blkg KOSONG dpn
15
ARRAY (LARIK) A B C D E F G H QUEUE / ANTRIAN Q[ ] 1 2 3 4 5 6 7 8
VISUALISASI ANTRIAN LURUS MAX Q[ ] A B C D E F G H blkg Jika : Blkg = max dan Dpn = 0 ANTRIAN PENUH dpn
16
ARRAY (LARIK) QUEUE / ANTRIAN
17
ARRAY (LARIK) QUEUE / ANTRIAN CONTOH PETIKAN PROGRAM Const Max = 10;
Type Antri = array[1..max] of char; Var Antrian : Antri; Depan, Belakang : integer; function KOSONG(Q:Antri) : boolean; begin KOSONG := (Depan = Belakang); end;
18
ARRAY (LARIK) D E F G H A B C QUEUE / ANTRIAN Q[ ]
CONTOH PETIKAN PROGRAM Q[ ] dpn blkg D MAX E F G H A B C procedure TAMBAH(var Q:Antri; X:char) begin if (Belakang = Max) and (Depan = 0) then write(‘ANTRIAN PENUH COY….’) else Belakang := Belakang+1; Q[Belakang] := X; End;
19
ARRAY (LARIK) QUEUE / ANTRIAN Q[ ] CONTOH PETIKAN PROGRAM
Q[ ] dpn blkg MAX function HAPUS(var Q:Antri) : char; begin if KOSONG(Q) then writeln(‘ANTRIAN KOSONG TUCH COY’) else Depan := Depan + 1 HAPUS := Q[Depan]; end;
20
ARRAY (LARIK) L E T O Y QUEUE / ANTRIAN Q[ ] CONTOH REVIEW PROGRAM dpn
MAX Q[ ] L E T O Y blkg dpn blkg blkg blkg blkg blkg Begin clrscr; TAMBAH(Antrian,’L’); TAMBAH(Antrian,’E’); TAMBAH(Antrian,’T’); TAMBAH(Antrian,’O’); TAMBAH(Antrian,’Y’); readln; End. procedure TAMBAH(var Q:Antri; X:char) begin if (Belakang = Max) and (Depan = 0) then write(‘ANTRIAN PENUH COY….’) else Belakang := Belakang+1; Q[Belakang] := X; End;
21
ARRAY (LARIK) L E T O Y O T QUEUE / ANTRIAN Q[ ] CONTOH REVIEW PROGRAM
MAX Q[ ] L E T O Y O T dpn dpn dpn dpn blkg blkg blkg Begin clrscr; HAPUS(Antrian); TAMBAH(Antrian,’O’); TAMBAH(Antrian,’T’); readln; End. function HAPUS(var Q:Antri) : char; begin if KOSONG(Q) then writeln(‘ANTRIAN KOSONG TUCH COY’) else Depan := Depan + 1 HAPUS := Q[Depan]; end;
22
THE END OF THIS DAY KANGGOANG NAAAHHH,,,,!!!!
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.