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.
Tampilan Program
Flowchart
Tidak ada komentar:
Posting Komentar