Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

ANGKATAN 2013

TUGAS STRUKTUR DATA


1.1. SYNTAX PROGRAM
program antrian_tiket_konser;
uses wincrt;
const max=11;
Loket=55;
Kanan=5;
!p"oun#=11;
Low"oun#=1;
t$pe antrian=recor#
nama%arra$&1''max( o) string;
#epan*+,kg%0''max;
en#;
t$pe +ioskop=recor#
nama1%string;
ct%+$te;
tota,%,ongint;
en#;
,arik=arra$&1''20( o) +ioskop;
T$pe -rang=-+.ect
"a#an%Arra$&1''3( -) /tring&0(;
1*2*3entok%"$te;
4roce#ure init;
4roce#ure gerak;
5n#;
Antrian2=o+.ect
6ueue%Arra$&Low"oun#''!p"oun#( -) -rang;
Noe,%integer;
4roce#ure 7nput89ar -ut%:;ar<;
4roce#ure :reate;
4roce#ure insertion;
4roce#ure #e,etion;
4roce#ure en#ing;
4roce#ure #oproses;
5n#;
=ar antri%antrian;
tiket%,arik;
i*.*n*stoktiket%+$te;
pi,%0''0;
nama+aru*namaam+i,%string;
4roce#ure -rang'7nit;
"egin
1%=1; 2%=20; 3entok%=Loket;
"a#an&1(%=8> ><;
"a#an&2(%=8> ?8 <? ><;
"a#an&3(%=8>__@AB__><;
5n#;
4roce#ure -rang'Gerak;
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
1
ANGKATAN 2013
"egin
repeat
Goto1281*2<; Crite8"a#an&1(<;
Goto1281*2D1<; Crite8"a#an&2(<;
Goto1281*2D2<; Crite8"a#an&3(<;
7nc81<; Goto12810*0<;
7) 1=5 T;en
"egin
Goto1281*2<; :,reo,;
Goto1281*2D1<; :,reo,;
Goto1281*2D2<; Crite8>______><;
5n#;
!nti, 1=3entok;
5n#;
4roce#ure Antrian2'input;
9ar 4i,%c;ar;
"egin
Goto1281*2<; Crite8>1' "ikin Antrian><;
Goto1281*3<; Crite8>2' Antrian 3asuk><;
Goto1281*E<; Crite8>3' Antrian Ke,uar><;
Goto1281*5<; Crite8>E' "$e''"$e''><;
Goto1281*0<; Crite8> 47L7FAN &1''E( G ><;
4i,%=Hea#ke$; Crite84i,<; -ut%=4i,;
5n#;
4roce#ure Antrian2'create;
9ar 7%integer;
"egin
Ior 7%=1J To 22 Ko
"egin
Goto1281*7<; :,reo,;
en#;
Ior 7%=1 To J0 Ko Crite8>_><;
Goto1285J*1<; Crite8> ANTH7AN KAH:7/><;
Goto1285J*1J<; Crite8>K-N/5H "H!N- 3AH/><;
Goto12800*1L<; Crite8> _______><;
Goto12800*20<; Crite8> @_______B><;
Goto12800*21<; Crite8> @?M M M M M?B><;
Goto12800*22<; Crite8> M M M M M ><;
Goto12800*23<; Crite8> __M L-K5T M__><;
Goto12800*2E<; Noe, %= 0;
5n#;
4roce#ure Antrian2'7nsertion;
"egin
7) Noe,N=up+oun# T;en
"egin
Goto1283*23<;
Crite8>Antrian 4enu;><;
Noe,%=!p"oun#;
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
2
ANGKATAN 2013
5n#
5,se
"egin
7nc8Noe,<; 6ueue&Noe,('7nit;
6ueue&Noe,('3entok%=8Loket?Noe,O5<D5;
6ueue&Noe,('Gerak;
5n#;
5n#;
4roce#ure Antrian2'Ke,etion;
9ar 7%integer;
Iront%-rang;
"egin
7) Noe,P,ow+oun# T;en
"egin
Goto1285L*23<;
Crite8> Antrian kosong><; Noe,%=0;
5n#
5,se
"egin
Kec8Noe,<;
Goto12855*20<; Crite8> ><;
Goto12855*21<; Crite8> ><;
Goto12855*22<; Crite8>_______><;
Iront%=6ueue&1(;
Iront'3entok%=5;
Iront'1%=2;
Iront'Gerak;
Ior 7%=1 To Noe, Ko 6ueue&7('1%=6ueue&7D1('1;
Ior 7%=1 To Noe, Ko 6ueue&7('Gerak;
5n#;
5n#;
4roce#ure Antrian2'5n#ing;
"egin
Goto1285L*23<;
Crite8> "$e''"$e''%<><;
5n#;
4roce#ure Antrian2'Ko4roses;
9ar 3enu%c;ar;
"egin
Noe,%=0;
Hepeat
7nput83enu<;
Goto1281*23<; :,reo,;
:ase 3enu -)
>1>%:reate;
>2>%7nsertion;
>3>%Ke,etion;
>E>%5n#ing;
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
3
ANGKATAN 2013
5n#;
unti, 3enu=>E>;
5n#;
)unction penu;8x%antrian<%+oo,ean;
+egin
i) x'+,kg=max t;en penu;%=true e,se penu;%=)a,se;
en#;
)unction kosong8x%antrian<%+oo,ean;
+egin
i) x'+,kg=0 t;en kosong%=true e,se kosong%=)a,se;
en#;
proce#ure pus;Q8=ar x%antrian;=ar n+%string<;
+egin
inc8x'+,kg<;
x'nama&x'+,kg(%=n+;
write,n8>/au#ara >*n+*> An#a men#apat posisi antrian ke
>*x'+,kg<;
en#;
proce#ure popQ8=ar x%antrian<;
=ar cc%+$te;
,a+e, u,;
+egin
Rmengam+i, #ari posisi ter#epanS
namaam+i,%=x'nama&x'#epan(;
write,n8>3e,a$ani pem+e,ian sau#ara >*namaam+i,<;
u,%
write,n8>An#a mem+e,i +erapa tiket G><;rea#,n8cc<;
i) ccN5 t;en
+egin
write,n8>"e,i tiket max 5 ,em+ar* u,angi pemasukan><;
goto u,;
en#;
i) 8ccP=stoktiket< t;en
+egin Rpem+e,ian +er;asi,* masukkan ;asi, pop ke recor# tiketS
inc8n<;
tiket&n('nama1%=namaam+i,;
tiket&n('ct%=cc;
tiket&n('tota,%=tiket&n('ctO35;
stoktiket%=stoktiket?cc;
en#
e,se write,n8>3aa) perse#iaan tiket ti#ak cukup* stok tingga,
>*stoktiket*> ,em+ar><;
Rmenggeser posisi pengantriS
)or i%=1 to x'+,kg?1 #o
x'nama&i(%=x'nama&iD1(;
#ec8x'+,kg<;
en#;
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
E
ANGKATAN 2013
proce#ure cetak_antrian8=ar x%antrian<;
+egin
write,n8> Ka)tar pengantri tiket konser +runo mars><;
write,n8>????????????????????????????????????><;
write,n8> No !rut Nama 4engantri><;
write,n8>????????????????????????????????????><;
)or i%=1 to x'+,kg #o write,n8> >*i%0*> >*x'nama&i(%15<;
write,n8>????????????????????????????????????><;
write,n;
write,n8>4engantri saat ini a#a >*x'+,kg*> orang><;
en#;
proce#ure cetak_pem+e,ian8=ar $%,arik<;
=ar cc*.t%,ongint;
+egin
cc%=0;.t%=0;
write,n8> Ka)tar pem+e,ian tiket konser +runo mars><;
write,n8>??????????????????????????????????????????????><;
write,n8> No Nama 4em+e,i Tum,a; Tiket Tota, ><;
write,n8>??????????????????????????????????????????????><;
)or i%=1 to n #o
+egin
write,n8i%3*> >*$&i('nama1%*> >*$&i('ct%J*>
>*>Hp>*$&i('tota,*>'000*00><;
cc%=ccD$&i('tota,;.t%=.tD$&i('ct;
en#;
write,n8>??????????????????????????????????????????????><;
write,n8>Tum,a; tiket ter.ua, a#a,a; >*.t*> ,em+ar><;
write,n8>Tota, pen#apatan ;ari ini a#a,a; Hp >*cc*>'000*00><;
write,n8>??????????????????????????????????????????????><;
en#;
proce#ure pop_paksa8=ar x%antrian<;
=ar nk%string;
pos%+$te;
ketemu%+oo,ean;
$a%c;ar;
+egin
write,n8>Ke,uar #ari antrian><;
write,n8>"erikut a#a,a; #a)tar pengantri $ang a#a><;
cetak_antrian8x<;
write,n;
ketemu%=)a,se;
write8>/iapa $ang akan ke,uar #ari antrian G ><;rea#,n8nk<;
Rmencari nama $ang #iinputkanS
)or i%=1 to x'+,kg #o
+egin
i) x'nama&i(=nk t;en
+egin
ketemu%=true;pos%=i;
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
5
ANGKATAN 2013
en#;
en#;
i) ketemu t;en
+egin RKi,akukan proses pop paksa ter;a#ap nama $ang
#imaksu#S
write,n8>Nama $ang akan #ike,uarkan a#a #i posisi ke
>*pos<;
write8>2akin nama ini akan ke,uar antrian P$@tN G ><;
rea#,n8$a<;
i) $a=>$> t;en
+egin
)or .%=pos to x'+,kg?1 #o x'nama&.(%=x'nama&.D1(;
#ec8x'+,kg<;
write,n8nk*> te,a; #i;apus #ari antrian><;
en#
e,se write,n8>Ti#ak .a#i #i;apus><;
en#
e,se write,n8>Nama >*nk*> ti#ak a#a #i#a,am #a)tar><;
en#;
proce#ure cari_pengantri8=ar x%antrian<;
=ar ketemu%+oo,ean;
i*posisi%+$te;
u,ang%c;ar;
cari%string;
+egin
i) kosong8x< t;en write,n8>Antrian /e#ang Kosong>< e,se
+egin
u,ang%=>$>;
w;i,e u,ang=>$> #o
+egin
ketemu%=)a,se;
write8>3asukkan nama pem+e,i $ang #icari ==N
><;rea#,n8cari<;
)or i%=1 to x'+,kg #o
+egin
i) x'nama&i(=cari t;en
+egin ketemu%=true;posisi%=i;en#;
en#;
i) ketemu t;en write,n8>Nama pem+e,i >*cari*> a#a #i posisi
ke >*posisi< e,se
write,n8>3aa) >*cari*> ti#ak #itemukan #i#a)tar nama
pem+e,i><;
write,n;
write,n8>3au cari pem+e,i $ang ,ain P$@nN G
><;rea#,n8u,ang<;
en#;
en#;
en#;
proce#ure menu8x%antrian<;
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
0
ANGKATAN 2013
+egin
antri'#epan%=1;antri'+,kg%=0;n%=0;stoktiket%=25;
repeat
+egin
c,rscr;
write,n8> 4enge,o,aan Kata 4em+e,ian Tiket Konser "runo
3ars><;
write,n8>????????????????????????????????????????????????????><;
write,n8>1' Tam+a; Antrian><;
write,n8>2' La$anan 4em+e,ian Tiket><;
write,n8>3' :etak Antrian><;
write,n8>E' :etak 4em+e,ian Tiket #an Hekap 4en#apatan><;
write,n8>5' Ke,uar Antrian Karena "osan Antri><;
write,n8>0' :ari 4engantri><;
write,n8>0' /e,esai><;
write8>4i,i; P0?0N G ><;rea#,n8pi,<;
case pi, o)
1% +egin
write,n8>3enam+a; 4engantri><;
write8>3asukkan nama % ><;rea#,n8nama+aru<;
i) penu;8antri< t;en write,n8>Antrian se#ang penu;* next
time p,ease><
e,se pus;Q8antri*nama+aru<;
en#;
2% i) kosong8antri< t;en write,n8>Ti#ak a#a $ang akan
#i,a$ani><
e,se popQ8antri<;
3% i) kosong8antri< t;en write,n8>Antrian se#ang kosong>< e,se
cetak_antrian8antri<;
E% i) n=0 t;en write,n8>"e,um a#a pem+e,ian tiket>< e,se
cetak_pem+e,ian8tiket<;
5% i) kosong8antri< t;en write,n8>Antrian kosong>< e,se
pop_paksa8antri<;
0% :ari_4engantri8antri<;
0% write,n8>Terima Kasi;><;
en#;
rea#,n;
en#
unti, 8pi,=0<;
en#;
R4rogram !tamaS
9ar 6ueue % Antrian2;
+egin
:,rscr;
Queue'#oproses;
menu8antri<;
en#'
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)

ANGKATAN 2013
1.2. HASIL COMPILE STATUS
1.3. INPUT & OUTPUT (RUN)
Menu Ut!
Menu 1
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
J
ANGKATAN 2013
Menu 2.1
Menu 2.2 (PENUH)
Menu 3.1
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
L
ANGKATAN 2013
Menu 3.2 (KOSONG)
Menu 2 A"te# Menu 3.1
St An$ !e!%&%' ()t%(n * !+ )#(,#! +n !en-#+n !enu
t!)%&n &%n. /e)e#t% $%0-' %n% 1
Menu T!0'n
Menu 1.1
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
10
ANGKATAN 2013
Menu 1.2 (PENUH)
Menu 2.1
Menu 2.2
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
11
ANGKATAN 2013
Menu 3
Menu *
Menu 2.1
Menu 2.2
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
12
ANGKATAN 2013
Menu 2.3
Menu 3
Menu 4
A
u
t
;
o
r

%

R
i
r
i
n

S
e
p
t
r
i
s
u
l
v
i
a
n
i

(
C
l
a
s
s

A
)
13

You might also like