Jumat, 23 Maret 2012

SCRIPT TPW PROGRAM PENGHITUNGAN PAJAK

uses wincrt;

var
   nama : array[1..10] of string;
   junak,wajak,tunis,tunak : array[1..10] of integer;
   v,x,y,z : integer;
   lagi : string[1];

   statuss : array[1..10] of string;
   gaji,ptkp,pkp,pkps : array[1..10] of real;
   pph : array[1..10] of real;

begin
   writeln('                    PPH PASAL 2                    ');
   writeln('===================================================');
   v:=1;
   x:=1;
   y:=2;
   z:=1;
   while (x < y) do
    begin
     write('Nama Karyawan: '); readln(nama[x]);
     write('Gaji Pokok: '); readln(gaji[x]);
     write('Status [B/N]: '); readln(statuss[x]);
     if (statuss[x]='n') or (statuss[x]='N') then
     begin
     write('Jumlah Anak: ');readln(junak[x]);
     end else junak[x]:=0;
     write('Apakah Anda ingin menginput lagi? [y/n] => ');readln(lagi);
     if ((lagi='y') or (lagi='Y')) then
     begin
     x:=x+1;
     v:=v+1;
     y:=y+1;
     writeln;
     end
     else
     begin
     x:=y;
     end;
    end;
    ClrScr;
   writeln('                        DAFTAR GAJI KARYAWAN                        ');
   writeln('                       Berdasarkan PPh Pasal 2                       ');
   writeln('==============================================================================');
   writeln('  NAMA  | Gaji | Status | JA |  WP  | Tunis  | Tunak |  PTKP  |  PKP  |  PPh |');
   writeln('==============================================================================');
   for z:=1 to v do
   begin
     wajak[z]:=1000;
     if (statuss[z]='n') or (statuss[z]='N') then tunis[z]:=500 else tunis[z]:=0;
     if junak[z] < 3 then tunak[z]:=junak[z]*500 else tunak[z]:=1500;
     ptkp[z]:=wajak[z]+tunis[z]+tunak[z];
     pkp[z]:=gaji[z]-ptkp[z];
     pkps[z]:=pkp[z];
     if pkps[z] > 0 then
     begin
     pph[z]:=10000/100*5;
     pkps[z]:=pkps[z]-10000;
     end;
     if pkps[z] > 10000 then
     begin
     pph[z]:=pph[z]+(10000/100*10);
     pkps[z]:=pkps[z]-10000;
     end;
     if pkps[z] > 0 then
     begin
     pph[z]:=pph[z]+(pkps[z]/100*15);
     end; 

     writeln(nama[z]:8,gaji[z]:8,statuss[z]:10,junak[z]:4,wajak[z]:6,tunis[z]:7,tunak[z]:7,ptkp[z]:8,pkp[z]:7,pph[z]:6);

   end;
end.

Tidak ada komentar:

Posting Komentar