Sabtu, 03 November 2012

Program Perpajakan Penggajian & Penjadwalan Pascal


PASCAL
Program namaprogram; ? judul program
Var jenis : variable; ? jenis variabel
Begin ; ? memulai program
Clrscr ? membersihkan layar (boleh digunakan dan tidak)
Isi ? isi program
End. ? akhir program

Keterangan
Write ? menapilkan tulisan
Writeln ? menapilkan tulisan pada garis baru
Read ? menginput data
Readln ? manginput data pada garis baru
Var ? variable


PROGRAM PERPAJAKAN
program case1;
uses wincrt;
var nip,nama : string;
pendapatan,pajak : real;
gol : char;
begin
clrscr;
writeln(‘——— DAFTAR PAJAK ———-’);
writeln(‘_________________________________’);
write (‘NIP : ‘);readln(nip);
write (‘Nama Karyawan : ‘);readln(nama);
write (‘Golongan [A,B,C] : ‘);readln(gol);
write (‘Pendapatan : ‘);readln(pendapatan);
case upcase(gol) of
‘A’ : begin
writeln(‘Golongan ini bebas pajak’);
pajak := 0;
end;
‘B’ : pajak := 0.1 * pendapatan;
‘C’ : pajak := 0.2 * pendapatan;
else write(‘Salah melakukan Penginputan data ‘);
end;
writeln(‘Pajak : Rp. ‘,pajak:9:2);
end.

Tampilan saat case Di running
Sedangkan untuk program IF
program if1;
uses wincrt;
var nip,nama : string;
pendapatan,pajak : real;
gol : char;
begin
clrscr;
writeln(‘——— DAFTAR PAJAK ———-’);
writeln(‘_________________________________’);
write (‘NIP : ‘);readln(nip);
write (‘Nama Karyawan : ‘);readln(nama);
write (‘Golongan [A,B,C] : ‘);readln(gol);
write (‘Pendapatan : ‘);readln(pendapatan);
if (gol = ‘A’ )or (gol = ‘a’) then
pajak := 0
else if (gol = ‘B’) or (gol = ‘b’) then
pajak := 0.1 * pendapatan
else if (gol = ‘C’) or (gol = ‘c’) then
pajak := 0.2 * pendapatan
else write(‘Salah melakukan Penginputan data ‘);
writeln(‘Pajak : Rp. ‘,pajak:9:2);
end.




PROGRAM PENGGAJIAN
{adalah program untuk menghitung gaji: CASE}

uses wincrt;
var
     no_induk: string[10];
     nama    : string[20];
     kd_status, jml_anak : integer;
     g_pokok, t_gaji, tj, tj_istri, tj_anak: real;

Begin
     clrscr;
     writeln(‘Sistim Perhitungan Gaji pakai CASE  :’);
     write(‘Nomor Induk Pegawai  :’); readln(no_induk);
     write(‘Nama                 :’); readln(nama);
     write(‘Gaji Pokok           :’); readln(g_pokok);
     write(‘Status Perkawinan    :’); readln(kd_status);

        case kd_status of
             1: begin  {kawin}
                   tj_istri:=0.1*g_pokok;
                   write(‘Jumlah Anak :’); readln(jml_anak);
                   tj_anak:=jml_anak*(0.05*g_pokok);
                end;

             2: begin {belum kawin}
                   tj_istri:=0;
                   tj_anak:=0;
                end;

             3: begin {cerai}
                   tj_istri:=0;
                   write(‘Jumlah Anak :’); readln(jml_anak);
                   tj_anak:=jml_anak*(0.05*g_pokok);
                end;                                              
             else begin
                  writeln(‘Status tidak ada …!;’);
             end;
        end;
        tj:=tj_istri+tj_anak;
        t_gaji:=g_pokok+tj;
        write(‘Jumlah Gaji :’,t_gaji:8:2);
        readln;
end.   


 PROGRAM PENJADWALAN
Program Penjadwalan_Job;
{adalah program untuk penjadwalan job}

uses crt;

var
job_a, job_b, job_c, job_d, job_e :string[1];
a1, a2, b1, b2, c1, c2, d1, d2, e1, e2 : real;
start_a, start_b, start_c, start_d, start_e : real;
end_a, end_b, end_c,end_d, end_e : real;
late_a, late_b, late_c, late_d, late_e : real;
late_a1, late_b1, late_c1, late_d1, late_e1 : real;
tot_idle, tot_late : real;
lagi : char;

begin
lagi:=’y';
while (lagi=’y') or (lagi=’Y') do

begin
clrscr;
writeln(‘Program Penjadwalan Job’);
writeln;
writeln(‘Dibuat oleh :’);
writeln(‘***********************’);
writeln(‘Nama      : SUJITO’);
writeln(‘NIM       : 350.663.018′);
writeln(‘Jurusan   : SI’);
writeln(‘***********************’);
writeln;
writeln(‘JUMLAH JOB   : 5′);
writeln;
writeln(‘Input Job Ke-1′);
writeln(‘——————-’);
write(‘Nama Job       : ‘); readln(job_a);
write(‘Time           : ‘); readln(a1);
write(‘Due Date       : ‘); readln(a2);

writeln;
writeln(‘Input Job Ke-2′);
writeln(‘——————-’);
write(‘Nama Job       : ‘); readln(job_b);
write(‘Time           : ‘); readln(b1);
write(‘Due Date       : ‘); readln(b2);

writeln;
writeln(‘Input Job Ke-3′);
writeln(‘——————-’);
write(‘Nama Job       : ‘); readln(job_c);
write(‘Time           : ‘); readln(c1);
write(‘Due Date       : ‘); readln(c2);

writeln;
writeln(‘Input Job Ke-4′);
writeln(‘——————-’);
write(‘Nama Job       : ‘); readln(job_d);
write(‘Time           : ‘); readln(d1);
write(‘Due Date       : ‘); readln(d2);

writeln;
writeln(‘Input Job Ke-5′);
writeln(‘——————-’);
write(‘Nama Job       : ‘); readln(job_e);
write(‘Time           : ‘); readln(e1);
write(‘Due Date       : ‘); readln(e2);

begin
start_a := 0;
end_a:= start_a+a1;
late_a := a2-end_a;

start_b := end_a;
end_b:= start_b+b1;
late_b := b2-end_b;

start_c := end_b;
end_c:= start_c+c1;
late_c := c2-end_c;

start_d := end_c;
end_d:= start_d+d1;
late_d := d2-end_d;

start_e := end_d;
end_e:= start_e+e1;
late_e := e2-end_e;

//menghitung total idle
tot_idle := (start_a+start_b+start_c+start_d+start_e);

//mengidentifikasi nilai late tiap job, hanya nila minus yang diambil
if late_a<0 then {jika minus maka ambil nilai late}
begin
late_a1:=late_a;
end
else             {jika plus maka nol-kan nilai late}
begin
late_a1:=0;
end;

if late_b<0 then
begin
late_b1:=late_b;
end
else
begin
late_b1:=0;
end;

if late_c<0 then
begin
late_c1:=late_c;
end
else
begin
late_c1:=0;
end;

if late_d<0 then
begin
late_d1:=late_d;
end
else
begin
late_d1:=0;
end;

if late_e<0 then
begin
late_e1:=late_e;
end
else
begin
late_e1:=0;
end;

//menghitung total late
tot_late := (late_a1+late_b1+late_c1+late_d1+late_e1);

//menampilkan hasil penjadwalan
clrscr;
writeln;
writeln(‘PROSES PENJADWALAN’);
writeln;
writeln(‘URUT START DUR   END    DD  LATE’);
writeln(‘——————————–’);
writeln(job_a, start_a:6:0, a1:6:0, end_a:6:0, a2:6:0, late_a:6:0);
writeln;
writeln(job_b, start_b:6:0, b1:6:0, end_b:6:0, b2:6:0, late_b:6:0);
writeln;
writeln(job_c, start_c:6:0, c1:6:0, end_c:6:0, c2:6:0, late_c:6:0);
writeln;
writeln(job_d, start_d:6:0, d1:6:0, end_d:6:0, d2:6:0, late_d:6:0);
writeln;
writeln(job_e, start_e:6:0, e1:6:0, end_e:6:0, e2:6:0, late_e:6:0);
writeln(‘——————————–’);

writeln;
writeln(‘HASIL AKHIR’);
writeln(‘========================’);
writeln(‘Total Idle Time : ‘,tot_idle:6:2);
writeln(‘Total Late      : ‘,tot_late:6:2);
writeln(‘========================’);

end;

writeln;
write(‘Mau coba lagi ? [y/t] ‘);
readln(lagi);
end;
end.

Tidak ada komentar:

Posting Komentar