Tampilkan postingan dengan label pemrograman. Tampilkan semua postingan
Tampilkan postingan dengan label pemrograman. Tampilkan semua postingan

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.