Kamis, 06 April 2017

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.

0 komentar:

Posting Komentar