Ketemu lagi disini kita belajar coding Program Pascal, sistem informasi Parkir
program parkir;
type
larik1=array[1..100] of integer;
larik2=array[1..100] of string;
larik3=array[1..100] of real;
var
lp:larik1;
nopol:larik2;
biaya,total:larik3;
a,i,j,n:integer;
pil:1..9;
const
tarif=1000;
procedure input_nopol (var x:larik2);
begin
repeat
begin
writeln('Masukkan Nomor Polisi, Berhenti dengan ketik aaa ');
inc(n);
write('Nomor Polisi : ');readln(x[n]);
end
until(x[n]='aaa');
dec(n);
end;
procedure lama_parkir(var y:larik1);
begin
for i:=1 to n do
begin
write('Masukkan lama parkir untuk ',nopol[i],' (jam) : ');readln(y[i]);
writeln('Biaya parkir : ',tarif);
total[i]:=y[i]*tarif;
writeln('Total biaya yang harus dibayarkan : ',total[i]:2:2);
end;
end;
procedure tampil;
begin
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for i :=1 to n do
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
procedure urutnopol(var x:larik2);
var
temp1:string;
temp2:integer;
temp3:real;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i]>x[j] then
begin
temp1:=x[i];x[i]:=x[j];x[j]:=temp1;
temp2:=lp[i];lp[i]:=lp[j];lp[j]:=temp2;
temp3:=biaya[i];biaya[i]:=biaya[j];biaya[j]:=temp3;
end;
end;
end;
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for i :=1 to n do
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;end;
procedure urutbiaya(var x:larik3);
var
temp1:real;
temp2:integer;
temp3:string;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i]>x[j] then
begin
temp1:=x[i];x[i]:=x[j];x[j]:=temp1;
temp2:=lp[i];lp[i]:=lp[j];lp[j]:=temp2;
temp3:=nopol[i];nopol[i]:=nopol[j];nopol[j]:=temp3;
end;
end;
end;
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for i :=1 to n do
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
procedure urut;
var pilih:1..2;
begin
writeln(' Menu Urut ');
writeln('1.Nopol ');
writeln('2.Total Biaya ');
write('Pilih nomor : ');readln(pilih);
if pilih=1 then urutnopol(nopol);
if pilih=2 then urutbiaya(total);
end;
procedure filtering;
var pilih:1..2;
b,c:byte;
begin
writeln('Filtering total Biaya ');
writeln('1.Total Biaya >5000 ');
writeln('2.Total Biaya < 5000 ');
write('Pilih nomor : ');readln(pilih);
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
if pilih=1 then
begin
for i:=1 to n do
begin
if total[i]>5000 then
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
end
else
begin
for i:=1 to n do
begin if total[i]<5000 then
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
end;
end;
procedure tambah_data(var x:larik2);
begin
repeat
begin
inc(n);
write('Tambahkan Nomor Polisi, berhenti isi aaa ==> ');readln(x[n]);
end
until (x[n]='aaa');
dec(n);
end;
procedure edit;
var input_nopol,nopol_baru:string;
b,c:byte;
pilih:1..2;
lp_baru:integer;
huruf:char;
begin
writeln('Edit Data');
writeln('1. Edit Nopol');
writeln('2. Edit Lama Parkir');
write('pilihlah 1 atau 2 ==> ');readln(pilih);
if pilih=1 then
begin
input_nopol:='';
write('Masukkan Nopol yang akan diedit : ');readln(input_nopol);
for b:=1 to n do
begin
if nopol[b]=input_nopol then
begin
writeln('Masukkan Nopol baru untuk ',input_nopol);readln(nopol_baru);
nopol[b]:=nopol_baru;
end;
end;
end;
if pilih =2 then
input_nopol:='';
writeln('Masukkan Nopol yang akan diedit : ' );readln(input_nopol);
for c:=1 to n do
begin
if nopol[c]=input_nopol then
begin
writeln(nopol[c],'') ;
write('Masukkan Lama Parkir untuk ',input_nopol); readln(lp_baru);
lp[c]:=lp_baru;
end;
end;
end;
procedure cari;
var pilih:1..2;
input_nopol:string;
b,c:byte;
input_total:integer;
begin
writeln('Pilih Cari');
writeln('1.Cari Nopol');
writeln('2.Cari Total Biaya');
write('pilihlah 1 atau 2 ==> ');readln(pilih);
if pilih=1 then
begin
input_nopol:='';
writeln('Masukkan Nopol yg dicari');readln(input_nopol);
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for b:=1 to n do
begin
if nopol[b]=input_nopol then
begin writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');end;
end;
writeln('--------------------------------------------------------');
end
else
begin
input_total:=0;
writeln('Masukkan Nilai yg dicari');readln(input_total);
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for c:=1 to n do
begin
if total[c]=input_total then
begin writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');end;
end;
writeln('--------------------------------------------------------');
end;
end;
begin
repeat
begin
clrscr;
writeln('=========================================');
writeln('******* UTS PASCAL PROGRAM PARKIR *******');
writeln('=========================================');
writeln('1. Input Nopol ');
writeln('2. Input Lama Parkir (<=32)');
writeln('3. Tampil ');
writeln('4. Urut Berdasarkan Nopol / Total Biaya ');
writeln('5. Filtering Berdasarkan Nopol / Total Biaya ');
writeln('6. Sisip Nopol ');
writeln('7. Edit Nopol / Lama Parkir ');
writeln('8. Cari Nopol ');
writeln('9. Keluar ');
writeln;
write('Pilih Nomor : ');readln(pil);
case pil of
1: input_nopol(nopol);
2: lama_parkir(lp);
3: tampil;
4: urut;
5: filtering;
6: tambah_data(nopol);
7: edit;
8: cari;
9: begin
writeln('=== UTS PASCAL PROGRAM PARKIR ===');
writeln('********* TERIMA KASIH *********');
writeln('********* WIJI FITRIYANI ********');
end;
end;
readln;
end;
until(pil=9);
end.
program parkir;
type
larik1=array[1..100] of integer;
larik2=array[1..100] of string;
larik3=array[1..100] of real;
var
lp:larik1;
nopol:larik2;
biaya,total:larik3;
a,i,j,n:integer;
pil:1..9;
const
tarif=1000;
procedure input_nopol (var x:larik2);
begin
repeat
begin
writeln('Masukkan Nomor Polisi, Berhenti dengan ketik aaa ');
inc(n);
write('Nomor Polisi : ');readln(x[n]);
end
until(x[n]='aaa');
dec(n);
end;
procedure lama_parkir(var y:larik1);
begin
for i:=1 to n do
begin
write('Masukkan lama parkir untuk ',nopol[i],' (jam) : ');readln(y[i]);
writeln('Biaya parkir : ',tarif);
total[i]:=y[i]*tarif;
writeln('Total biaya yang harus dibayarkan : ',total[i]:2:2);
end;
end;
procedure tampil;
begin
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for i :=1 to n do
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
procedure urutnopol(var x:larik2);
var
temp1:string;
temp2:integer;
temp3:real;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i]>x[j] then
begin
temp1:=x[i];x[i]:=x[j];x[j]:=temp1;
temp2:=lp[i];lp[i]:=lp[j];lp[j]:=temp2;
temp3:=biaya[i];biaya[i]:=biaya[j];biaya[j]:=temp3;
end;
end;
end;
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for i :=1 to n do
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;end;
procedure urutbiaya(var x:larik3);
var
temp1:real;
temp2:integer;
temp3:string;
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if x[i]>x[j] then
begin
temp1:=x[i];x[i]:=x[j];x[j]:=temp1;
temp2:=lp[i];lp[i]:=lp[j];lp[j]:=temp2;
temp3:=nopol[i];nopol[i]:=nopol[j];nopol[j]:=temp3;
end;
end;
end;
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for i :=1 to n do
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
procedure urut;
var pilih:1..2;
begin
writeln(' Menu Urut ');
writeln('1.Nopol ');
writeln('2.Total Biaya ');
write('Pilih nomor : ');readln(pilih);
if pilih=1 then urutnopol(nopol);
if pilih=2 then urutbiaya(total);
end;
procedure filtering;
var pilih:1..2;
b,c:byte;
begin
writeln('Filtering total Biaya ');
writeln('1.Total Biaya >5000 ');
writeln('2.Total Biaya < 5000 ');
write('Pilih nomor : ');readln(pilih);
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
if pilih=1 then
begin
for i:=1 to n do
begin
if total[i]>5000 then
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
end
else
begin
for i:=1 to n do
begin if total[i]<5000 then
begin
writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');
end;
end;
end;
end;
procedure tambah_data(var x:larik2);
begin
repeat
begin
inc(n);
write('Tambahkan Nomor Polisi, berhenti isi aaa ==> ');readln(x[n]);
end
until (x[n]='aaa');
dec(n);
end;
procedure edit;
var input_nopol,nopol_baru:string;
b,c:byte;
pilih:1..2;
lp_baru:integer;
huruf:char;
begin
writeln('Edit Data');
writeln('1. Edit Nopol');
writeln('2. Edit Lama Parkir');
write('pilihlah 1 atau 2 ==> ');readln(pilih);
if pilih=1 then
begin
input_nopol:='';
write('Masukkan Nopol yang akan diedit : ');readln(input_nopol);
for b:=1 to n do
begin
if nopol[b]=input_nopol then
begin
writeln('Masukkan Nopol baru untuk ',input_nopol);readln(nopol_baru);
nopol[b]:=nopol_baru;
end;
end;
end;
if pilih =2 then
input_nopol:='';
writeln('Masukkan Nopol yang akan diedit : ' );readln(input_nopol);
for c:=1 to n do
begin
if nopol[c]=input_nopol then
begin
writeln(nopol[c],'') ;
write('Masukkan Lama Parkir untuk ',input_nopol); readln(lp_baru);
lp[c]:=lp_baru;
end;
end;
end;
procedure cari;
var pilih:1..2;
input_nopol:string;
b,c:byte;
input_total:integer;
begin
writeln('Pilih Cari');
writeln('1.Cari Nopol');
writeln('2.Cari Total Biaya');
write('pilihlah 1 atau 2 ==> ');readln(pilih);
if pilih=1 then
begin
input_nopol:='';
writeln('Masukkan Nopol yg dicari');readln(input_nopol);
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for b:=1 to n do
begin
if nopol[b]=input_nopol then
begin writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');end;
end;
writeln('--------------------------------------------------------');
end
else
begin
input_total:=0;
writeln('Masukkan Nilai yg dicari');readln(input_total);
writeln(' ----------------------------------------------- ');
writeln(' No Nopol Lama Tarif Biaya');
writeln(' ----------------------------------------------- ');
for c:=1 to n do
begin
if total[c]=input_total then
begin writeln(i:2,nopol[i]:8,lp[i]:5,tarif:8,total[i]:10:2,' ');end;
end;
writeln('--------------------------------------------------------');
end;
end;
begin
repeat
begin
clrscr;
writeln('=========================================');
writeln('******* UTS PASCAL PROGRAM PARKIR *******');
writeln('=========================================');
writeln('1. Input Nopol ');
writeln('2. Input Lama Parkir (<=32)');
writeln('3. Tampil ');
writeln('4. Urut Berdasarkan Nopol / Total Biaya ');
writeln('5. Filtering Berdasarkan Nopol / Total Biaya ');
writeln('6. Sisip Nopol ');
writeln('7. Edit Nopol / Lama Parkir ');
writeln('8. Cari Nopol ');
writeln('9. Keluar ');
writeln;
write('Pilih Nomor : ');readln(pil);
case pil of
1: input_nopol(nopol);
2: lama_parkir(lp);
3: tampil;
4: urut;
5: filtering;
6: tambah_data(nopol);
7: edit;
8: cari;
9: begin
writeln('=== UTS PASCAL PROGRAM PARKIR ===');
writeln('********* TERIMA KASIH *********');
writeln('********* WIJI FITRIYANI ********');
end;
end;
readln;
end;
until(pil=9);
end.
0 komentar:
Posting Komentar