Download - STRUKTUR DATA
![Page 2: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/2.jpg)
1. Konsep utama dalam Queue adalah FIFO ( First In First Out ).
2. Struktur data ini banyak dipakai dalam informatika misalnya untuk merepresentasi :
Antrian job dalam sistem operasi Antrian dalam dunia nyata3. Suatu metode untuk Input dan hapus di
dalam memori komputer.
4. Antrian datanya seolah-olah mengantri dari yang awal sampai yang terakhir.
QUEUE / ANTRIAN
![Page 3: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/3.jpg)
5. Elemen pertama yang dikenali (Head) dan elemen terakhirnya (Tail)
6. Aturan penyisipan dan penghapusan elemennya didefinisikan sebagai berikut :
• Penyisipan selalu dilakukan setelah elemen terakhir
• Penghapusan selalu dilakukan pada elemen pertama
7. Satu elemen dengan elemen lain dapat diakses melalui informasi Next
QUEUE / ANTRIANQUEUE / ANTRIAN
HEAD TAIL
DEPAN BELAKANG
![Page 4: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/4.jpg)
Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya
QUEUE / ANTRIANQUEUE / ANTRIAN
![Page 5: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/5.jpg)
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.
![Page 6: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/6.jpg)
ARRAY (LARIK)•
Jenis – jenis QUEUE / ANTRIAN :1. LINEAR QUEUE (Antrian Lurus)2. CIRCULAR QUEUE (Antrian Melingkar)
QUEUE / ANTRIAN
![Page 7: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/7.jpg)
ARRAY (LARIK)
Algoritma•
• Input/tambah dataJika ada input maka no queue/no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian.
• Pengambilan dataJika 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.
QUEUE / ANTRIAN
![Page 8: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/8.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
blkg
Antrian awal KOSONG :
Dpn := 0Blkg := 0
MAX
ANTRIAN KOSONG
VISUALISASI ANTRIAN LURUS
![Page 9: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/9.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
VISUALISASI ANTRIAN LURUS
1 2 3 4 5 6 7 8
Q[ ]
dpn
Antrian diisi ‘A’ :
Dpn = 0(Blkg + 1) => Blkg = 1Q[blkg] = ‘A’
blkg
A
MAX
![Page 10: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/10.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
Antrian diisi ‘B’ :
Dpn = 0(Blkg + 1) => Blkg = 2Q[blkg] = ‘B’
blkg
A B
MAX
VISUALISASI ANTRIAN LURUS
![Page 11: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/11.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
Antrian diisi ‘C’:
Dpn = 0(blkg + 1) => Blkg = 3Q[blkg] = ‘C’
blkg
A B C
MAX
VISUALISASI ANTRIAN LURUS
![Page 12: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/12.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
Ambil 1 antrian :
(Dpn + 1) => Dpn = 1 Blkg = 3
Q[dpn] = ‘A’
blkg
A B C
MAX
VISUALISASI ANTRIAN LURUS
![Page 13: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/13.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
Ambil 1 antrian :
(Dpn + 1) => Dpn = 2 Blkg = 3
Q[dpn] = ‘B’
blkg
B C
MAX
VISUALISASI ANTRIAN LURUS
![Page 14: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/14.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
Ambil 1 antrian :
(Dpn + 1) => Dpn = 3 Blkg = 3
Q[dpn] = ‘C’
blkg
C
ANTRIAN KOSONG MAX
Jika : Dpn = blkgKOSONG
VISUALISASI ANTRIAN LURUS
![Page 15: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/15.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
1 2 3 4 5 6 7 8
Q[ ]
dpn
Jika :Blkg = max dan Dpn = 0
ANTRIAN PENUH
blkg
D
MAX
E F G H
VISUALISASI ANTRIAN LURUS
A B C
![Page 16: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/16.jpg)
ARRAY (LARIK)QUEUE / ANTRIAN
![Page 17: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/17.jpg)
ARRAY (LARIK)
function KOSONG(Q:Antri) : boolean; begin
KOSONG := (Depan = Belakang); end;
QUEUE / ANTRIAN
CONTOH PETIKAN PROGRAM
Const Max = 10;
Type Antri = array[1..max] of char;
Var Antrian : Antri;Depan, Belakang : integer;
![Page 18: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/18.jpg)
ARRAY (LARIK)
procedure TAMBAH(var Q:Antri; X:char)begin
if (Belakang = Max) and (Depan = 0) thenwrite(‘ANTRIAN PENUH COY….’)
elseBelakang := Belakang+1;Q[Belakang] := X;
End;
QUEUE / ANTRIAN
CONTOH PETIKAN PROGRAM
1 2 3 4 5 6 7 8
Q[ ]
dpn blkg
D
MAX
E F G HA B C
![Page 19: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/19.jpg)
ARRAY (LARIK)
function HAPUS(var Q:Antri) : char;begin
if KOSONG(Q) thenwriteln(‘ANTRIAN KOSONG TUCH COY’)
elsebegin
Depan := Depan + 1HAPUS := Q[Depan];
end;end;
QUEUE / ANTRIAN
CONTOH PETIKAN PROGRAM
1 2 3 4 5 6 7 8
Q[ ]
dpn
blkg
MAX
![Page 20: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/20.jpg)
ARRAY (LARIK)
procedure TAMBAH(var Q:Antri; X:char)begin
if (Belakang = Max) and (Depan = 0) thenwrite(‘ANTRIAN PENUH COY….’)
elseBelakang := Belakang+1;Q[Belakang] := X;
End;
QUEUE / ANTRIAN
CONTOH REVIEW PROGRAM
1 2 3 4 5 6 7 8
Q[ ]
dpn
blkg
O
MAX
L E T
Begin clrscr;
TAMBAH(Antrian,’L’); TAMBAH(Antrian,’E’); TAMBAH(Antrian,’T’); TAMBAH(Antrian,’O’); TAMBAH(Antrian,’Y’);
readln;End.
Y
blkg blkg blkg blkg blkg
![Page 21: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/21.jpg)
ARRAY (LARIK)
function HAPUS(var Q:Antri) : char;begin
if KOSONG(Q) thenwriteln(‘ANTRIAN KOSONG TUCH COY’)
elsebegin
Depan := Depan + 1HAPUS := Q[Depan];
end;end;
QUEUE / ANTRIAN
CONTOH REVIEW PROGRAM
1 2 3 4 5 6 7 8
Q[ ] O
MAX
L E T
Begin clrscr;
HAPUS(Antrian); HAPUS(Antrian); TAMBAH(Antrian,’O’); HAPUS(Antrian); TAMBAH(Antrian,’T’);
readln;End.
Y
dpn
blkgblkg blkg
dpn dpn dpn
TO
![Page 22: STRUKTUR DATA](https://reader033.vdokumen.com/reader033/viewer/2022051419/568159f3550346895dc73daf/html5/thumbnails/22.jpg)
• THE END OF THIS DAY• KANGGOANG NAAAHHH,,,,!!!!