Program Menghitung Gaji Menggunakan Procedure
program
gaji_pegawai;
uses
wincrt;
var
nm,jab,sts,tmplhr:string;
gaji,tunjank,gatot,anak,tunjkwn,nip:real;
d,m,y:integer;
procedure
dir;
begin
write
('Status Perkawinan (N/B] : ');
readln(sts);
if sts = 'N' then
begin
write ('Masukkan Jumlah Anak : '); readln(anak);
gaji:=2000000;
if anak>=3 then
tunjank:=3*(0.1*gaji)
else
tunjank:=anak*(0.1*gaji);
tunjkwn:=gaji*0.03;
gatot:=gaji+tunjank+tunjkwn;
writeln('Gaji Pokok : ',gaji:0:0);
writeln('Tunjangan Nikah : ',tunjkwn:0:0);
writeln('Tunjangan Anak : ',tunjank:0:0);
writeln('Gaji Total : ',gatot:0:0);
end
else
if sts = 'B' then
begin
gaji:=2000000;
writeln('Gaji Total : ',gaji:0:0);
end
else
writeln('Kode yang Anda Masukkan
salah! Gunakan huruf kapital');
end;
procedure
mgr;
begin
write
('Status Perkawinan (N/B) : ');
readln(sts);
if sts = 'N' then
begin
write ('Masukkan Jumlah Anak : '); readln(anak);
gaji:=1500000;
if anak>=3 then
tunjank:=3*(0.1*gaji)
else
tunjank:=anak*(0.1*gaji);
tunjkwn:=gaji*0.03;
gatot:=gaji+tunjkwn+tunjank;
writeln('Gaji Pokok : ',gaji:0:0);
writeln('Tunjangan Jabatan : ',tunjkwn:0:0);
writeln('Tunjangan Anak : ',tunjank:0:0);
writeln('Gaji Total : ',gatot:0:0);
end
else
if sts = 'B' then
begin
gaji:=1500000;
writeln('Gaji Total : ',gaji:0:0);
end
else
writeln('Kode yang Anda Masukkan
salah! Gunakan huruf kapital');
end;
procedure
spv;
begin
write
('Status Perkawinan (N/B) : ');
readln(sts);
if sts = 'N' then
begin
write ('Masukkan Jumlah Anak : '); readln(anak);
gaji:=1000000;
if anak>=3 then
tunjank:=3*(0.1*gaji)
else
tunjank:=anak*(0.1*gaji);
tunjkwn:=gaji*0.03;
gatot:=gaji+tunjkwn+tunjank;
writeln('Gaji Pokok : ',gaji:0:0);
writeln('Tunjangan Nikah : ',tunjkwn:0:0);
writeln('Tunjangan Anak : ',tunjank:0:0);
writeln('Gaji Total : ',gatot:0:0);
end
else
if sts = 'B' then
begin
gaji:=1000000;
writeln('Gaji Total : ',gaji:0:0);
end
else
writeln('Kode yang Anda masukkan
salah! Gunakan huruf kapita');
end;
procedure
gol;
begin
write
('Golongan [1/2/3] : ');
readln(jab);
if jab = '1' then
dir
else
if jab = '2' then
mgr
else
if jab = '3' then
spv
else
writeln('Kode yang Anda masukkan
salah');
end;
begin
clrscr;
writeln('==============================================');
writeln(' Program Gaji Pegawai ');
writeln('==============================================');
writeln;
write
('NIP : '); readln(nip);
write
('Nama : ');
readln(nm);
write
('Tempat Lahir : ');
readln(tmplhr);
write
('Tanggal Lahir (DD MM YYYY) : '); readln(d,m,y);
case m of
1,3,5,7,8,10,12:begin
if (d>31) then
writeln('Tanggal
salah')
else
gol;
end;
4,6,9,11:begin
if (d>30) then
writeln('Tanggal salah')
else
gol;
end;
2:begin
if (y mod 4=0) then
begin
if (d>29) then
writeln('Tanggal salah')
else
gol;
end
else
begin
if (d>28) then
writeln('Tanggal salah')
else
gol;
end;
end;
end;
readkey;
donewincrt;
end.
Flowchart
0 komentar: