struktur data

22
STRUKTUR DATA PERTEMUAN 6 [email protected]

Upload: daxia

Post on 04-Feb-2016

43 views

Category:

Documents


1 download

DESCRIPTION

STRUKTUR DATA. PERTEMUAN 6. [email protected]. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: STRUKTUR DATA

STRUKTUR DATA PERTEMUAN 6

[email protected]

Page 2: STRUKTUR DATA

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

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

Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya

QUEUE / ANTRIANQUEUE / ANTRIAN

Page 5: STRUKTUR DATA

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

ARRAY (LARIK)•

Jenis – jenis QUEUE / ANTRIAN :1. LINEAR QUEUE (Antrian Lurus)2. CIRCULAR QUEUE (Antrian Melingkar)

QUEUE / ANTRIAN

Page 7: STRUKTUR DATA

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

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

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

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

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

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

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

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

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

ARRAY (LARIK)QUEUE / ANTRIAN

Page 17: STRUKTUR DATA

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

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

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

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

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

• THE END OF THIS DAY• KANGGOANG NAAAHHH,,,,!!!!