uses crt;
type antrian=^node;
node=record
isi:string[10];
next:antrian;
end;
var depan,belakang:antrian;
pointer:string;
x:string;
cr:string;
pil:char;
begin
new(tunjuk);
tunjuk^.isi:=x;
tunjuk^.next:=nil;
end;
begin
isempty:=(depan=nil) and(belakang=nil)=true
end;
procedure tambahantri(var belakang:antrian);
var x:string;
tunjuk:antrian;
begin
readln(x);
baru(x,tunjuk);
belakang^.next:=tunjuk;
belakang:=tunjuk;
end;
var bantu:antrian;
begin
writeln('Antrian kosong')
begin
depan:=nil; belakang:=nil
end
else
begin
bantu:=depan^.next;
depan:=bantu;
end;
end;
begin
x:='antrian kosong'
else
begin
x:=depan ^.isi;
hapusdepan(depan,belakang);
end;
end;
begin
i:=0;
depan:=nil; belakang:=nil;
repeat
i:=i+1;
baru(x,tunjuk);
if isempty(depan,belakang) then
begin
depan:=tunjuk;
belakang:=tunjuk;
end
else
begin
belakang^.next:=tunjuk;
belakang:=tunjuk;
end;
repeat
readln(c);
until c in['T','t','y','Y'];
until c in['T','t'];
end;
begin
bantu:=depan;
output:='Loket Pendaftaran';
else
begin
while bantu<>nil do
begin
y:=bantu^.isi;
output:=y+'->>'+output;
bantu:=bantu^.next;
end;
end;
end;
begin
clrscr;
buatantrian(depan,belakang);
repeat
repeat
writeln;
writeln('-----------------------');
writeln('--------------------------------------');
writeln;
case pil of
'1' :begin
buatantrian(depan,belakang);
writeln;
writeln;
writeln;
end;
'2' :begin
tambahantri(belakang);
writeln;
cetak(depan,pointer);
writeln(pointer);
writeln;
writeln;
writeln;
end;
'3' : begin
selesaiantri(depan,belakang,x);
writeln;
cetak(depan,pointer);
writeln(pointer);
writeln;
writeln;
writeln;
end;
'4' : begin
exit;
end;
end;
until (pil='8');
end.
end.