6.3 & 7.3 nested loop

Post on 18-Jan-2016

256 Views

Category:

Documents

28 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

1#33

6.3 & 7.3NESTED LOOP

2#33

QUEUE( ANTRIAN )

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

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)

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

6#33

2. 02

Front = depanRear = Belakang

front Rear

KELUAR MASUK

7#33

2. 02

Front = depanRear = Belakang

front Rear

KELUAR MASUKA B C D

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

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

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

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

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

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

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--;

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!

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

17#33

2. 02Loket yang digeser

B C D

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

F R

18#33

2. 02Loket yang digeser

B C D

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

F R

19#33

2. 02Loket yang digeser

C D

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

F R

20#33

2. 02Loket yang digeser

C D

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

F R

21#33

2. 02Loket yang digeser

D

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

FR

22#33

2. 02Loket yang digeser

D

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

FR

23#33

2. 02Loket yang digeser

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

FR

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

25#33

2. 02Loket yang digeser

E

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

F R

26#33

2. 02Loket yang digeser

E F

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

F R

27#33

2. 02Loket yang digeser

E F G

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

F R

28#33

2. 02Loket yang digeser

E F G H

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

F R

29#33

2. 02Loket yang digeser

E F G H I

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

F R

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

31#33

2. 02Loket yang digeser

F G H I J

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

F R

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

33#33

2. 02Loket yang digeser

F G H I J

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

F R

34#33

2. 02Loket yang digeser

J

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

FR

35#33

2. 02Loket yang digeser

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

FR

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)

37#33

2. 02Kembali kekeadaan awal

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

FR

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[ ]

39#33

2. 03

PRINSIP / KONSEP PROSES :

FIFO (First In First Out)

atau FIFS (First In First Serve)

1.2.

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.

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

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

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 )

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 : ?

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

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 : ?

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

48#33

Algoritma dasaruntuk

INSERT

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

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

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

52#33

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

F R

a Q[ ]

0 1

F R

a

X

53#33

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

F R

a b Q[ ]

0 1

F R

b

X

54#33

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

F R

a b Q[ ]

0 2

F R

b

X

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

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

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

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

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

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

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

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

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

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];

?

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];

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;

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 : ?

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

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

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

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

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

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

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

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

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

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

78#33

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

F R

f g Q[ ]

4 6

F R

e

X

79#33

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

F R

f g Q[ ]

5 6

F R

e

X

80#33

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

F R

g Q[ ]

5 6

F R

f

X

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

82#33

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

F R

Q[ ]

6 6

F R

g

X

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

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 : ?

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

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

87#33

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

F R

h Q[ ]

7 7

F R

h

X

88#33

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

F R

h i Q[ ]

7 8

F R

i

X

89#33

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

F R

h i Q[ ]

7 9

F R

i

X

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

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 : ?

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)

93#33

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

F R

i jQ[ ]

7 6

F R

h

X

94#33

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

F R

i jQ[ ]

8 9

F R

h

X

95#33

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

F R

jQ[ ]

8 9

F R

i

X

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

97#33

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

F R

Q[ ]

9 9

F R

j

X

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

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

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

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];

?

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];

?

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 :

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 : ?

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 : ?

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

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 : ?

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 : ?

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 : ?

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 : ?

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 : ?

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

113#33

1.5Algoritma yang lengkap

untuk

INSERT&

DELETE

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.

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.

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; }

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

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

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.

120#33

6.3 & 7.3NESTED LOOP

bersambungke

Circular Queue

top related