6.3 & 7.3 nested loop

120
1#33 6.3 & 7.3 NESTED LOOP

Upload: abrial

Post on 18-Jan-2016

273 views

Category:

Documents


28 download

DESCRIPTION

BAB2. QUEUE. 6.3 & 7.3 NESTED LOOP. QUEUE ( ANTRIAN ). BAB2. QUEUE. 2. 01. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 6.3 & 7.3 NESTED LOOP

1#33

6.3 & 7.3NESTED LOOP

Page 2: 6.3 & 7.3 NESTED LOOP

2#33

QUEUE( ANTRIAN )

Page 3: 6.3 & 7.3 NESTED LOOP

3#33

2. 01

A Queue is an ordered collection of items into which new items may be inserted at one end (called the rear of the queue) and from which items may be deleted at one end (called the front of the queue) .( Yedidyah L, Moshe J. A.,

and Aaron M. Tenenbaum; Data Structures Using C and C++)

InsertDeleteREARFRONT

Page 4: 6.3 & 7.3 NESTED LOOP

4#33

2. 01

Ada 3 macam struktur QUEUE (Antrian)yang menggunakan Array Satu Dimensi yangakan dibahas:

I.

II.

III.

LINEAR QUEUE

CIRCULAR QUEUE

DOUBLE ENDED QUEUE (DEQUE)

Page 5: 6.3 & 7.3 NESTED LOOP

5#33

2. 01

1. LINEAR QUEUE (Antrian Lurus).

F = FrontR = Rear

2. CIRCULAR QUEUE (Antrian Melingkar).

3. DOUBLE ENDED QUEUE (Antrian Dengan Ujung Ganda ).

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

L = LEFTR = RIGHT

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

n-10 1 2 3 4 5 6 7 8 9

FR

X X X X X X

n-10 1 2 3 4 5 6 7 8 9

L R

X X X X

ILUSTRASI

Page 6: 6.3 & 7.3 NESTED LOOP

6#33

2. 02

Front = depanRear = Belakang

front Rear

KELUAR MASUK

Page 7: 6.3 & 7.3 NESTED LOOP

7#33

2. 02

Front = depanRear = Belakang

front Rear

KELUAR MASUKA B C D

Page 8: 6.3 & 7.3 NESTED LOOP

8#33

2. 02Ilustrasi Linear Queue menggunakan array Satu dimensi

A B C D

A B C D

n-10 1 2 3 4 5 6 7 8 9

0 1 2 3 4

F R

FRONT REAR

Page 9: 6.3 & 7.3 NESTED LOOP

9#33

2. 02Ilustrasi Linear Queue menggunakan array Satu dimensi

A B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 10: 6.3 & 7.3 NESTED LOOP

10#33

2. 02Ilustrasi Linear Queue menggunakan array Satu dimensi

B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

A keluar

Page 11: 6.3 & 7.3 NESTED LOOP

11#33

2. 02Ilustrasi Linear Queue menggunakan array Satu dimensi

B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Geser B

Page 12: 6.3 & 7.3 NESTED LOOP

12#33

2. 02Ilustrasi Linear Queue menggunakan array Satu dimensi

B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Geser C

Page 13: 6.3 & 7.3 NESTED LOOP

13#33

2. 02Ilustrasi Linear Queue menggunakan array Satu dimensi

B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Geser D

Page 14: 6.3 & 7.3 NESTED LOOP

14#33

2. 02AlgoritmaPenggeseran isi antrian

A B C D

n-10 1 2 3 4 5 6 7 8 9

B C D D

n-10 1 2 3 4 5 6 7 8 9

Dari :

Menjadi :

F R

F R Algoritma :

for(I=F; I<=R-1; I++) { Q[I] = Q[I+1]; }R--;

Page 15: 6.3 & 7.3 NESTED LOOP

15#33

2. 02AlgoritmaPenggeseran isi antrian

A B C D

n-10 1 2 3 4 5 6 7 8 9

B C D D

n-10 1 2 3 4 5 6 7 8 9

Dari :

Menjadi :

F R

F R Algoritma :

for(I=F; I<=R-1; I++) { Q[I] = Q[I+1]; }R--;Penggeseran

BUTUH WAKTU!

Page 16: 6.3 & 7.3 NESTED LOOP

16#33

2. 02Loket yang digeser

A B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

perhatikan posisi F terhadap Loket

Page 17: 6.3 & 7.3 NESTED LOOP

17#33

2. 02Loket yang digeser

B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 18: 6.3 & 7.3 NESTED LOOP

18#33

2. 02Loket yang digeser

B C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 19: 6.3 & 7.3 NESTED LOOP

19#33

2. 02Loket yang digeser

C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 20: 6.3 & 7.3 NESTED LOOP

20#33

2. 02Loket yang digeser

C D

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 21: 6.3 & 7.3 NESTED LOOP

21#33

2. 02Loket yang digeser

D

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

Page 22: 6.3 & 7.3 NESTED LOOP

22#33

2. 02Loket yang digeser

D

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

Page 23: 6.3 & 7.3 NESTED LOOP

23#33

2. 02Loket yang digeser

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

Page 24: 6.3 & 7.3 NESTED LOOP

24#33

2. 02Loket yang digeser

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

F > Ratau F = R + 1berarti : ANTRIAN KOSONG

Page 25: 6.3 & 7.3 NESTED LOOP

25#33

2. 02Loket yang digeser

E

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 26: 6.3 & 7.3 NESTED LOOP

26#33

2. 02Loket yang digeser

E F

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 27: 6.3 & 7.3 NESTED LOOP

27#33

2. 02Loket yang digeser

E F G

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 28: 6.3 & 7.3 NESTED LOOP

28#33

2. 02Loket yang digeser

E F G H

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 29: 6.3 & 7.3 NESTED LOOP

29#33

2. 02Loket yang digeser

E F G H I

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 30: 6.3 & 7.3 NESTED LOOP

30#33

2. 02Loket yang digeser

E F G H I J

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 31: 6.3 & 7.3 NESTED LOOP

31#33

2. 02Loket yang digeser

F G H I J

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 32: 6.3 & 7.3 NESTED LOOP

32#33

2. 02Loket yang digeser

E F G H I J

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 33: 6.3 & 7.3 NESTED LOOP

33#33

2. 02Loket yang digeser

F G H I J

n-10 1 2 3 4 5 6 7 8 9LOKET

F R

Page 34: 6.3 & 7.3 NESTED LOOP

34#33

2. 02Loket yang digeser

J

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

Page 35: 6.3 & 7.3 NESTED LOOP

35#33

2. 02Loket yang digeser

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

Page 36: 6.3 & 7.3 NESTED LOOP

36#33

2. 02Semua antriansudah keluar (dilayani)

n0 1 2 3 4 5 6 7 8 9LOKET

FRBila semua antrian sudah dilayanimaka keadaan perlu dikembalikan ke keadaan semula(perlu diRESET)

Page 37: 6.3 & 7.3 NESTED LOOP

37#33

2. 02Kembali kekeadaan awal

n-10 1 2 3 4 5 6 7 8 9LOKET

FR

Page 38: 6.3 & 7.3 NESTED LOOP

38#33

2. 02

1.1. ILUSTRASI ANTRIAN LURUS.

F = Front (depan)R = Rear (Belakang)

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

Representasi Linear Queue dalam array satu dimensi

#define n 10----int Q[n];int F, R, X;

misal dibuat dengan :

Q[ ]

Page 39: 6.3 & 7.3 NESTED LOOP

39#33

2. 03

PRINSIP / KONSEP PROSES :

FIFO (First In First Out)

atau FIFS (First In First Serve)

1.2.

Page 40: 6.3 & 7.3 NESTED LOOP

40#33

2. 03

PROSES.

a. AWAL (Inisialisasi)

b. INSERT (Isi, Sisip, Masuk, Simpan, Tulis)

c. DELETE ( Hapus, Keluar, Ambil atau Dilayani, Baca) d. RESET (Kembali ke keadaan awal)

1.3.

Page 41: 6.3 & 7.3 NESTED LOOP

41#33

2. 03Algoritma dasar untukproses AWAL (Inisialisasi),ditulis dalam bahasa C.

Ilustrasi hasil proses awal :

a.

void AWAL(void){ F = 0; R = -1; }

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

0 -1

F R X

F > RatauF = R + 1Antrian KOSONG

Page 42: 6.3 & 7.3 NESTED LOOP

42#33

2. 03

Ilustrasi hasil proses awal :

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

0 -1

F R X

Hanya bisa Insert

F > RatauF = R + 1Antrian KOSONG

Page 43: 6.3 & 7.3 NESTED LOOP

43#33

2.03

Dalam struktur LINEAR QUEUE,

digunakan istilah :

- INSERT untuk : Simpan, atau Masuk,

atau

Isi atau Tulis.

- DELETE untuk : Ambil, atau Keluar,

atau

Baca, atau HapusPrinsip atau Konsep prosesnya :

F I F O ( First In First Out )

Page 44: 6.3 & 7.3 NESTED LOOP

44#33

2. 03

F = Front (depan)R = Rear (Belakang)

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

DELETE INSERT

Ilustrasi Linear Queue

Pertanyaan : dalam keadaan seperti sekarang

Kalau ada perintah INSERT ( Isi, Masuk, Simpan)

maka akan diisi di elemen nomor : ?dan R akan menunjuk elemen nomor : ? F akan menunjuk elemen nomor : ?

Page 45: 6.3 & 7.3 NESTED LOOP

45#33

2. 03 n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

DELETE INSERT

Pertanyaan : dalam keadaan seperti sekarang

Kalau ada perintah INSERT ( Isi, Masuk, Simpan)

maka akan diisi di elemen nomor : 7dan R akan menunjuk elemen nomor : 7 F akan menunjuk elemen nomor : tetap di 3

Page 46: 6.3 & 7.3 NESTED LOOP

46#33

2. 03 n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

DELETE INSERT

Pertanyaan : dalam keadaan seperti sekarang

Kalau ada perintah DELETE ( Ambil, Keluar, Hapus)maka yang akan diambil adalah isi di elemen

nomor : ?Setelah itu akan terlihat :

R menunjuk elemen nomor : ? dan F menunjuk elemen nomor : ?

Page 47: 6.3 & 7.3 NESTED LOOP

47#33

2. 03 n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

DELETE INSERT

Pertanyaan : dalam keadaan seperti sekarang

Kalau ada perintah DELETE ( Ambil, Keluar, Hapus)maka yang akan diambil adalah isi di elemen nomor :

3Setelah itu akan terlihat :

R menunjuk elemen nomor : Tetap menunjuk 6 dan F menunjuk elemen nomor : 4

Page 48: 6.3 & 7.3 NESTED LOOP

48#33

Algoritma dasaruntuk

INSERT

Page 49: 6.3 & 7.3 NESTED LOOP

49#33

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

0 -1

F R

AWAL

X

Mau Insert

F > RatauF = R + 1Antrian KOSONG

ANTRIAN KOSONG

Page 50: 6.3 & 7.3 NESTED LOOP

50#33

n-10 1 2 3 4 5 6 7 8 9

F

R

Q[ ]

0 0

F R

R maju satu langkah---> ( R=R+1);

X

F

Page 51: 6.3 & 7.3 NESTED LOOP

51#33

n-10 1 2 3 4 5 6 7 8 9

F

R

a Q[ ]

0 0

F R

Isi ditempat yang ditunjuk oleh R---> Q[R] = X;

a

X

F

Page 52: 6.3 & 7.3 NESTED LOOP

52#33

n-10 1 2 3 4 5 6 7 8 9

F R

a Q[ ]

0 1

F R

a

X

Page 53: 6.3 & 7.3 NESTED LOOP

53#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b Q[ ]

0 1

F R

b

X

Page 54: 6.3 & 7.3 NESTED LOOP

54#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b Q[ ]

0 2

F R

b

X

Page 55: 6.3 & 7.3 NESTED LOOP

55#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c Q[ ]

0 2

F R

c

X

Page 56: 6.3 & 7.3 NESTED LOOP

56#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c Q[ ]

0 3

F R

c

X

Page 57: 6.3 & 7.3 NESTED LOOP

57#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d Q[ ]

0 3

F R

d

X

Page 58: 6.3 & 7.3 NESTED LOOP

58#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d Q[ ]

0 4

F R

d

X

Page 59: 6.3 & 7.3 NESTED LOOP

59#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d e Q[ ]

0 4

F R

e

X

Page 60: 6.3 & 7.3 NESTED LOOP

60#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d e Q[ ]

0 5

F R

e

X

Page 61: 6.3 & 7.3 NESTED LOOP

61#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d e f Q[ ]

0 5

F R

f

X

Page 62: 6.3 & 7.3 NESTED LOOP

62#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d e f Q[ ]

0 6

F R

f

X

Page 63: 6.3 & 7.3 NESTED LOOP

63#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d e f g Q[ ]

0 6

F R

g

X

Page 64: 6.3 & 7.3 NESTED LOOP

64#33

2. 02

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

Algoritma dasar untuk INSERTpada antrian Q[ ]

Pilih satu yang benar

a. R = R + 1;Q[R] = X;

b. Q[R] = X;R = R + 1;

d. X = Q[R];R = R + 1;

c. R = R + 1;X = Q[R];

?

Page 65: 6.3 & 7.3 NESTED LOOP

65#33

2. 02

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

Algoritma dasar untuk INSERTpada antrian Q[ ]

Algoritma Insert yang benar

a. R = R + 1;Q[R] = X;

b. Q[R] = X;R = R + 1;

d. X = Q[R];R = R + 1;

c. R = R + 1;X = Q[R];

Page 66: 6.3 & 7.3 NESTED LOOP

66#33

2. 02Algoritma dasar untuk INSERTpada antrian Q[ ]

R = R + 1;Q[R] = X;

R+=1;Q[R] = X;

R++;Q[R] = X;

Q[++R] = X;

Page 67: 6.3 & 7.3 NESTED LOOP

67#33

n-10 1 2 3 4 5 6 7 8 9

F R

a b c d e f g Q[ ]

0 6

F R

Dalam Keadaan seperti iniAkan di DELETE

g

X

Akan diDELETE

Isi elemen no : ?

Page 68: 6.3 & 7.3 NESTED LOOP

68#33

n-10 1 2 3 4 5 6 7 8 9

F R

b c d e f g Q[ ]

0 6

F R

Ambil isi yang ditunjuk oleh F ---> X = Q[F];

a

X

Page 69: 6.3 & 7.3 NESTED LOOP

69#33

n-10 1 2 3 4 5 6 7 8 9

F R

b c d e f g Q[ ]

1 6

F R

Kemudian F maju satu langkah ---> F = F + 1;

a

X

Page 70: 6.3 & 7.3 NESTED LOOP

70#33

n-10 1 2 3 4 5 6 7 8 9

F R

c d e f g Q[ ]

1 6

F R

b

X

Page 71: 6.3 & 7.3 NESTED LOOP

71#33

n-10 1 2 3 4 5 6 7 8 9

F R

c d e f g Q[ ]

2 6

F R

b

X

Page 72: 6.3 & 7.3 NESTED LOOP

72#33

n-10 1 2 3 4 5 6 7 8 9

F R

d e f g Q[ ]

2 6

F R

c

X

Page 73: 6.3 & 7.3 NESTED LOOP

73#33

n-10 1 2 3 4 5 6 7 8 9

F R

d e f g Q[ ]

3 6

F R

c

X

Page 74: 6.3 & 7.3 NESTED LOOP

74#33

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X Q[ ]

3 6

F R

Ini yang digunakan untuk :ILUSTRASI LINEAR QUEUE

X

Page 75: 6.3 & 7.3 NESTED LOOP

75#33

n-10 1 2 3 4 5 6 7 8 9

F R

d e f g Q[ ]

3 6

F R

DELETE LAGI SAMPAI KOSONG

c

X

Page 76: 6.3 & 7.3 NESTED LOOP

76#33

n-10 1 2 3 4 5 6 7 8 9

F R

e f g Q[ ]

3 6

F R

d

X

Page 77: 6.3 & 7.3 NESTED LOOP

77#33

n-10 1 2 3 4 5 6 7 8 9

F R

e f g Q[ ]

4 6

F R

d

X

Page 78: 6.3 & 7.3 NESTED LOOP

78#33

n-10 1 2 3 4 5 6 7 8 9

F R

f g Q[ ]

4 6

F R

e

X

Page 79: 6.3 & 7.3 NESTED LOOP

79#33

n-10 1 2 3 4 5 6 7 8 9

F R

f g Q[ ]

5 6

F R

e

X

Page 80: 6.3 & 7.3 NESTED LOOP

80#33

n-10 1 2 3 4 5 6 7 8 9

F R

g Q[ ]

5 6

F R

f

X

Page 81: 6.3 & 7.3 NESTED LOOP

81#33

n-10 1 2 3 4 5 6 7 8 9

F R

g Q[ ]

6 6

F R

f

X

F = R

Isi antrian tinggalSatu elemen

Page 82: 6.3 & 7.3 NESTED LOOP

82#33

n-10 1 2 3 4 5 6 7 8 9

F R

Q[ ]

6 6

F R

g

X

Page 83: 6.3 & 7.3 NESTED LOOP

83#33

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

7 6

F R

g

X

F > RatauF = R + 1Antrian Kosong

ANTRIAN KOSONG

Page 84: 6.3 & 7.3 NESTED LOOP

84#33

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

7 6

F R

g

X

ANTRIAN KOSONG SEKARANG MAU DIISI LAGI

Disi di kolom : ?

Page 85: 6.3 & 7.3 NESTED LOOP

85#33

n-10 1 2 3 4 5 6 7 8 9

F R

Q[ ]

7 7

F R

g

X

Misal akan diisi sampai penuh

R maju satu langkah

Page 86: 6.3 & 7.3 NESTED LOOP

86#33

n-10 1 2 3 4 5 6 7 8 9

F R

h Q[ ]

7 7

F R

h

XIsi ditempat yangditunjuk oleh R

Page 87: 6.3 & 7.3 NESTED LOOP

87#33

n-10 1 2 3 4 5 6 7 8 9

F R

h Q[ ]

7 7

F R

h

X

Page 88: 6.3 & 7.3 NESTED LOOP

88#33

n-10 1 2 3 4 5 6 7 8 9

F R

h i Q[ ]

7 8

F R

i

X

Page 89: 6.3 & 7.3 NESTED LOOP

89#33

n-10 1 2 3 4 5 6 7 8 9

F R

h i Q[ ]

7 9

F R

i

X

Page 90: 6.3 & 7.3 NESTED LOOP

90#33

n-10 1 2 3 4 5 6 7 8 9

F R

h i jQ[ ]

7 9

F R

j

XR = n

Antrian PENUH

ANTRIAN PENUH

Page 91: 6.3 & 7.3 NESTED LOOP

91#33

n-10 1 2 3 4 5 6 7 8 9

F R

h i jQ[ ]

7 9

F R

j

X

ANTRIAN PENUH Sekarang mau di DELETEDelete kolom berapa : ?

Page 92: 6.3 & 7.3 NESTED LOOP

92#33

n-10 1 2 3 4 5 6 7 8 9

F R

h i jQ[ ]

7 6

F R

j

X

Misal mau diDELETE sampai kosong(habis)

Page 93: 6.3 & 7.3 NESTED LOOP

93#33

n-10 1 2 3 4 5 6 7 8 9

F R

i jQ[ ]

7 6

F R

h

X

Page 94: 6.3 & 7.3 NESTED LOOP

94#33

n-10 1 2 3 4 5 6 7 8 9

F R

i jQ[ ]

8 9

F R

h

X

Page 95: 6.3 & 7.3 NESTED LOOP

95#33

n-10 1 2 3 4 5 6 7 8 9

F R

jQ[ ]

8 9

F R

i

X

Page 96: 6.3 & 7.3 NESTED LOOP

96#33

n-10 1 2 3 4 5 6 7 8 9

F R

jQ[ ]

9 9

F R

i

XF = RIsi antrianTinggal satu elemen

Page 97: 6.3 & 7.3 NESTED LOOP

97#33

n-10 1 2 3 4 5 6 7 8 9

F R

Q[ ]

9 9

F R

j

X

Page 98: 6.3 & 7.3 NESTED LOOP

98#33

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

10 9

F R

j

X

F = R+1Antrian KOSONG

tak ada isnya

Antrian KOSONG

F=n+1

Page 99: 6.3 & 7.3 NESTED LOOP

99#33

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

10 9

F R

j

X

F = R+1Antrian KOSONG

R = n, antrian PENUHdalam arti antrian Tak Bisa Diisi

Antrian Kosong,juga Penuh,Antrian perlu diRESET

Page 100: 6.3 & 7.3 NESTED LOOP

100#33

n-10 1 2 3 4 5 6 7 8 9

FR

Q[ ]

0 -1

F R X

Antrian sudah diRESETF = 0,R = -1

Page 101: 6.3 & 7.3 NESTED LOOP

101#33

2. 02

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

Algoritma dasar untuk DELETEpada antrian Q[ ]

Pilih satu yang benar

a.

F = F + 1;Q[F] = X;

b.

Q[F] = X;F = F + 1;

d.

X = Q[F];F = F + 1;

c.

F = F + 1;X = Q[F];

?

Page 102: 6.3 & 7.3 NESTED LOOP

102#33

2. 02

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

3 6

F R X

Algoritma dasar untuk DELETEpada antrian Q[ ]

Pilih satu yang benar

a.

F = F + 1;Q[F] = X;

b.

Q[F] = X;F = F + 1;

d.

X = Q[F];F = F + 1;

c.

F = F + 1;X = Q[F];

?

Page 103: 6.3 & 7.3 NESTED LOOP

103#33

2. 02Algoritma Deletepada LINEAR QUEUE

X = Q[F];F = F + 1;

X = Q[F];F+=1;

X = Q[F];F++;

X = Q[F++];

atau :

atau :

atau :

Page 104: 6.3 & 7.3 NESTED LOOP

104#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

Gambar no : ?

Page 105: 6.3 & 7.3 NESTED LOOP

105#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

Ciri : ?

Page 106: 6.3 & 7.3 NESTED LOOP

106#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

F = R + 1

Gambar no : ?

1 75

Page 107: 6.3 & 7.3 NESTED LOOP

107#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

6 7

F = R + 1 Gambar no : ?

Ciri : ?

Page 108: 6.3 & 7.3 NESTED LOOP

108#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

6 7

F = R + 1

R = n-1

Gambar no : ?

Page 109: 6.3 & 7.3 NESTED LOOP

109#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

6 7

1 2 3

4 5

F = R + 1

R = n-1

Ciri : ?

Page 110: 6.3 & 7.3 NESTED LOOP

110#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

6 7

1 2 3

4 5

F = R + 1

R = n-1

R < n-1

Gambar no : ?

Page 111: 6.3 & 7.3 NESTED LOOP

111#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

6 7

2 3 4 6

1 2 3

4 5

F = R + 1

R = n-1

R < n-1

Ciri : ?

Page 112: 6.3 & 7.3 NESTED LOOP

112#33

1.4 KONDISI ANTRIAN n-1 0 1 2 3 4 5 6 7 8 9

2. 05

FR

X X X X X X X

0 1 2 3 4 5 6 7 8 9

X X X X

X

0 1 2 3 4 5 6 7 8 9

X X X

F R

F R

F R

FR

F R

FR

1

2

3

4

5

6

7

KOSONG :

PENUH :

BISA DIISI :

ADA ISINYA :

1 75

6 7

2 3 4 6

1 2 3

4 5

F = R + 1

R = n-1

R < n-1

F < R+1

Page 113: 6.3 & 7.3 NESTED LOOP

113#33

1.5Algoritma yang lengkap

untuk

INSERT&

DELETE

Page 114: 6.3 & 7.3 NESTED LOOP

114#33

2. 07Algoritma yang lengkap untuk proses INSERT

void INSERT(void){ if ( R < n-1 ) { R = R + 1; Q[R] = X; } else printf( “Antrian Penuh”);}

Algoritma yang lengkap untuk proses INSERTdengan ‘logika terbalik’

void INSERT(void){ if ( R == n-1 ) printf(“Antrian Penuh’); else { R = R + 1; Q[R] = X; } }

a.

Page 115: 6.3 & 7.3 NESTED LOOP

115#33

Algoritma yang lengkap untuk proses DELETE

void DELETE(void){ if ( F < R+1 ) { X = Q[F] ; F = F + 1; if ( F == n ) { F = 0; R = -1; } } else printf( “Antrian Kosong”);}

2. 08

Algoritma yang lengkap untuk proses DELETE dengan ‘logika terbalik’

void DELETE(void){ if ( F == R+1 ) printf(“Antrian Kosong’); else { X = Q[R]; F = F + 1; if ( F == n ) { F = 0; R = 0; } } }

b.

Page 116: 6.3 & 7.3 NESTED LOOP

116#33

2. 091.6. CONTOH PROGRAM LINEAR QUEUE.

#include<stdio.h>#include<conio.h>#define n 10

char Q[n];int F,R; void Insert(char X);void Delete(void);void Awal(void);void Reset(void);

int main(){ int I; char X, Y; clrscr(); Awal(); - scanf(“%i”, &X); Insert(X); - - Delete(); - -}

void Awal(void) { F = 0; R = -1; }

void Insert( char X) { if (R < n-1) { R++; Q[R] = X; } else printf(“\nAntrian Penuh “); }

void Delete( void) { char X; if( F < R+1 ) { X = Q[F]; printf(“%c”, X); F++; if(F == n) Reset( ); else printf(“Antrian Kosong”); }

void Reset(void) { F = 0; R = -1; }

Page 117: 6.3 & 7.3 NESTED LOOP

117#33

2. 101.7. SOAL SOAL LATIHAN MANDIRI

1. Sebutkan ciri bahwa Queue :

a.b.c.d.e.

f.g.h.

Kosong tak ada isinyaPenuh, tak bisa diisiBisa diisiAda isinyaAntrian tak bisa diisi lagi, tapi belum ada isi antrianyang sudah keluar atau sudah dilayani.Antrian perlu diReset.Hanya berisi 10 pengantri (yang belum keluar/dilayani)Sisa tempat yang masih bisa diisi hanya ada 10 tempat (elemen)

Soal untuk Linear Queue seperti yang diilustrasikan pada gambar diatas

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

Page 118: 6.3 & 7.3 NESTED LOOP

118#33

2. 101.7. SOAL SOAL LATIHAN MANDIRI

2. Tulis algoritma dasar untuk:

4.Tulis algoritma yang lengkap untuk mengisi antrian record per record sampai antrian penuh tak bisa diisi lagi.

a.b.c.d.

Inisialisasi.Insert sebuah recordDelete sebuah recordReset.

3. Tulis algoritma yang lengkap untuk :a.b,Insert sebuah recordDelete sebuah record

Soal untuk Linear Queue seperti yang diilustrasikan pada gambar diatas

n-10 1 2 3 4 5 6 7 8 9

F R

X X X X

Page 119: 6.3 & 7.3 NESTED LOOP

119#33

2. 101.7. SOAL SOAL LATIHAN MANDIRI

5.Tulis algoritma yang lengkap untuk mendelete isi antrian record per record sampai antrian kosong

7.

6.Tulis algoritma yang lengkap untuk mengisi antrian record per record sebanyak 10 recordselama antrian beleum penuh. Apabila antrian penuh, walaupun belum mengisi 10 record, proses pengisian dihentikan.Tulis algoritma yang lengkap untuk mendelete isi antrian record per record sebanyak 10 record selama antrian masih ada isinya. Bila antrian sudah kosong, walaupun belum mendelete sebanyak 10 record, maka proses delete dihentikan.

8. Tulis algoritma untuk menghitung dan mencetak jumlah tempat (elemen) yang ada isinya.

9. Tulis algoritma untuk menghitung dan mencetak jumlah tempat yang masih bisa diisi.

Page 120: 6.3 & 7.3 NESTED LOOP

120#33

6.3 & 7.3NESTED LOOP

bersambungke

Circular Queue