01/11/11

Program Pascal Record dengan menggunakan array

Program RoisCandraPriliawan2;
Uses crt;
Type
     Pegawai     = record
     NIP         : String[10];
     Nama        : String[30];
     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
      clrscr;
      Writeln('Entry Data Pegawai PT. XYZ');
      Writeln('--------------------------');
      Writeln;
      Writeln('Data Pegawai 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;
      <!--more-->
  Clrscr;
  Writeln('Laporan Gaji Pegawai');
  Writeln('      PT. XYZ       ');
  Writeln;
Writeln('===============================================================================');
Writeln('| NO |   NIP  |       Nama karyawan     |   Golongan   |   Jam Kerja   |    Gaji     |');
Writeln('===============================================================================');
    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:20,'|',Data[i].Golongan:10,'|'
             ,Data[i].Jamkerja:10:0,'|',Gaber:10:0,'|');
    End;
    Rata:=Tot/n;
   Writeln('===============================================================================');
   Writeln;
   Writeln('Total Gaji Keseluruhan          : Rp.',Tot:12:0);
   Writeln('Rata-rata Gaji Pegawai          : Rp.',Rata:12:0);
   Write('Mau Ulang Lagi ? [Y/T]: ');Readln(Ul);
   Until Upcase(Ul)<>'Y';
   End.

Tidak ada komentar:

Posting Komentar