program Parkir;
uses crt;
type pointer = ^Typedata;
TypeData = Record
baris : integer;
kolom : integer;
next : pointer;
end;
Var
L : Pointer;
Baru : pointer;
bantu : Pointer;
c : integer;
a:array[1..4,1..10] of integer;
pilih,baris,kolom:integer;
ketemu:boolean;
begin
ketemu:=false;
for baris:=1 to 4 do
begin
for kolom:=1 to 10 do
begin
a[baris,kolom]:=0;
end;
end;
menu:
clrscr;
writeln('||______________PROGRAM PARKIR OTOMATIS_____________||');
writeln('||==================================================||');
writeln('|| 1. KENDARAAN MASUK ||');
writeln('|| 2. KENDARAAN KELUAR ||');
writeln('|| 3. LIHAT DATA KENDARAAN ||');
writeln('|| 4. SELESAI ||');
writeln('||==================================================||');
write('|| Masukan Pilihan : ');readln(pilih);case pilih of
1: begin
for baris:=1 to 4 do
begin
for kolom:=1 to 10 do
begin
if a[baris,kolom]=0 then
begin
ketemu:=true;
a[baris,kolom]:=1;
writeln('Silahkan parkirkan kendaraan anda di lokasi [',baris,'.',kolom,']');
New (Baru);
Baru^.baris := baris;
Baru^.kolom := kolom;
Baru^.next := Nil;
if L = Nil then L := Baru
else
begin
Baru^.next := L;
L := Baru;
End;
end
else
begin
ketemu:=false;
end;
if ketemu=true then break;
end;
if ketemu=true then break;
end;
if a[baris,kolom] > 40 then
writeln('Maaf parkir sudah penuh :) ');
readln;
goto menu;
end;
2: begin
Bantu := L;
if Bantu = Nil then
writeln ('List kosong...')
else
begin
while bantu^. next^. next <> nil do
Bantu := bantu^.next;
New (Baru);
Baru := Bantu ^. next;
Bantu^. next := nil;
writeln('masukkan tempat');
writeln('Baris:');readln(baris);
writeln('Kolom:');readln(kolom);
writeln ('--------------------------------');
dispose (Baru);
End;
if a[baris,kolom]=0 then
writeln('Maaf lokasi parkir yang anda maksud kosong :)')
else writeln('parkiran yang di',baris,',',kolom,' keluar');
a[baris,kolom]:=0;
goto menu;
end;
3: Begin
Bantu := L;
c := 4;
while Bantu <> Nil Do
Begin
writeln ('data parkir :', Bantu ^. baris,',',Bantu ^.kolom);
writeln ('---------------------------');
Bantu := Bantu ^. next;
dec(c);
End;
write ('Tekan ENTER untuk kembali');
READLN;
goto menu;
End;
4 : begin
writeln('=========TERIMA KASIH=========');
writeln('======SAMPAI JUMPA LAGI=======');
writeln('==============================');
write('tekan ENTER untuk keluar !! ');
readln;
end;
end;
HASIL SETELAH PROGRAM DIJALANKAN
1. Tampilan awal
Diatas adalah tampilan awal program, disana kita bisa melihat ada beberapa menu yang digunakan untuk melakukan perintah pada program tersebut, seperti jika ada kendaraan masuk maka user tinggal memilih nomor satu dan program akan menjalankan perintah nomor satu yaitu menambahkan data parkir secara otomatis.
2. Menu 1 (Kendaraan masuk)
Pada menu pertama yaitu untuk menjalankan perintah untuk menambahkan data parkir secara otomatis.
3. Menu 2 (Kendaraan Keluar)
Pada menu ini digunakan jika ada kendaraan yang akan keluar dari tempat parkir maka user harus memasukan data parkir kendaraan tersebut berupa nomor lokasi tempat kendaraan tersebut terparkir.
4. Menu 3 (Menampilkan data)
4. Menu 3 (Menampilkan data)
Disini user dapat melihat data kendaraan yang terparkir dan mengetahui jumlah kendaraan yang sedang terparkir.
5. Menu 4 (SELESAI)
Jika telah selesai menggunakan program ini maka pilih menu SELESAI dan program akan keluar secara otomatis.
No comments:
Post a Comment