6.3 & 7.3 nested loop
DESCRIPTION
BAB2. QUEUE. 6.3 & 7.3 NESTED LOOP. QUEUE ( ANTRIAN ). BAB2. QUEUE. 2. 01. - PowerPoint PPT PresentationTRANSCRIPT
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