uses wincrt;
type pegawai =record
nip,nama:string;
gaber,gapok,y:real;
gol:byte;
jam:integer;
end;
larikdata=array[1..50] of pegawai;
var data:larikdata;
i,n:byte;
lagi:char;
x:integer;
label awal;
begin
writeln('#######################################################');
writeln(' Program Perhitungan Gaji Pegawai ');
writeln('--------- { PT.Jojobi } ---------');
writeln;
begin
awal:
lagi:='y';
repeat
inc(n);
writeln('mengisi data Pegawai ke ', n);
write('NIP : ');readln(data[n].nip);
write('NAMA PEGAWAI : ');readln(data[n].nama);
write('Golongan : ');readln(data[n].gol);
write('Jam Kerja /bln : ');readln(data[n].jam);
writeln;write('mau masukan data lagi (y/t)?');readln(lagi);
until lagi='t';
{gaji}
for i:=1 to n do
case data[i].gol of
1: data[i].gapok:=1000000;
2: data[i].gapok:=1500000;
3: data[i].gapok:=2000000;
else data[i].gapok:=0;
end;
for i:=1 to n do
if data[i].jam>=200 then
data[i].y:=data[i].gapok*0.2
else
data[i].y:=data[i].gapok*0.1;
for i:=1 to n do
data[i].gaber:=data[i].gapok+data[i].y;
begin
{cetak}
clrscr;
writeln('######################################################');
writeln(' Program Perhitungan Gaji Pegawai ');
writeln(' ----- { PT.Jojobi } -----');
writeln('======================================================');
writeln(' DAFTAR GAJI PEGAWAI ');
writeln('=======================================================');
writeln(' no | NIP | nama pegawai | gol | jam kerja | gaji bersih |');
writeln('------------------------------------------------------------');
for i:=1 to n do with data[i] do
writeln(i:3,nip:6,nama:17,gol:6,jam:4,gaber:14:2,'|');
writeln('--------------------------------------------------------');
writeln;
writeln('Masukkan data lagi ? (y/t) ');readln(lagi);
if lagi='y' then goto awal;
end;
end;
end.
Sabtu, 14 Mei 2011
Tugas Mandiri 2 (Pemrograman Dasar)
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar