Minggu, 24 Juni 2012

Program data pegawai menggunakan array


Program DataPegawai;
Uses crt;
Type Pegawai = record
NIP : String[3];
Nama : String[10];
Golongan : Char;
Jamkerja : Real;
End;
Var
Data : Array [1..100] of Pegawai;
Gapok,Insentif,Gaber : Real;
Tot,Rata : Real;
Ul : Char;
i,n : Integer;
Begin
repeat
clrscr;
Write('Masukkan Jumlah Data Pegawai : ');Readln(n);
For i := 1 to n do
Begin
Writeln('Entry Data Pegawai PT. XYZ');
Writeln('--------------------------');
Writeln;
Writeln('Data Ke-',i);
Writeln;
Write('NIP : ');Readln(Data[i].NIP);
Write('Nama : ');Readln(Data[i].Nama);
Write('Golongan : ');Readln(Data[i].Golongan);
Write('Jam Kerja : ');Readln(Data[i].Jamkerja);
Writeln;
End;
Writeln('Laporan Gaji Pegawai');
Writeln('PT. XYZ');
Writeln;
Writeln('-------------------------------------------------------------------------------');
Writeln('|NO. |NIP       | Nama                    | Golongan | JamKerja | Gaji        |');
Writeln('-------------------------------------------------------------------------------');
Tot:=0;
For i := 1 to n do
Begin
Case Data[i].Golongan of
'1' : Gapok:=1000000;
 '2' : Gapok:=1500000;
 '3' : Gapok:=2000000
 Else
 Gapok:=0;
 End;
 if Data[i].Jamkerja>200 then
 Insentif:=(Data[i].Jamkerja-200)*10000
 else
 Insentif:=0;
Gaber:=Gapok+Insentif;
Tot:=Tot+Gaber;
Writeln('|',i:4,'|',Data[i].NIP:10,'|',Data[i].Nama:25,'|',Data[i].Golongan:10,'|',Data[i].Jamkerja:10:0,'|',Gaber:13:0,'|');
 End;
Rata:=Tot/n;
Writeln('-------------------------------------------------------------------------------');
Writeln('Total Gaji Keseluruhan : Rp.',Tot:12:0);
Writeln('Rata Gaji Pegawai : Rp.',Rata:12:0);
writeln;
writeln(' THANK YOU ^_^ ');
Writeln;
Write('you can try again?? ^_^ [Y/T]: ');Readln(Ul);
until (Ul)='t';
End.

Tidak ada komentar:

Posting Komentar