Selasa, 11 Januari 2011

Tipe Record Dalam Pascal

A. Tipe Record
Record merupakan tipe terstruktur tang terdiri dari beberapa komponen/elemen, dengan masing-masing elemen boleh memiliki tipe yang berlainan. Elemen record biasa disebut dengan field dan setiap field memiliki nama tersendiri.
Record hampir sama dengan array, dimana kita sama-sama mendefinisikan sebuah identifier yang memiliki beberapa elemen, hanya saja pada array tipe dari masing-nasing elemen adalah sama sedangkan pada record tipe elemen mempunyai tipe yang berbeda.
Bentuk pendefinisian record :
Nama_Record = RECORD
   < field_1 > : < type_field_1 > ;
   < field_2 > : < type_field_2 > ;
   ...........
   < field_n > : < type_field_n > ;
end;  



B. Contoh Program
program data_pegawai;
uses crt;
type
 pegawai = record
 NIP          : string[10];
 Nama         : string[50];
 Golongan     : char;
 JamKerja    : real;
 JumlahHari  : real;
end;
var
 data            : pegawai;
 gapjam           : real;
 gahar            : real;
 gatot            : real;
 ul              : char;
begin
 repeat
  clrscr;
  writeln('Entry Data Pegawai PT. BUATAN SENDIRI');
  writeln('================================');
  writeln;
  write('NIP           : ');readln(data.NIP);
  write('Nama          : ');readln(data.Nama);
  write('Golongan      : ');readln(data.Golongan);
  write('JamKerja      : ');readln(data.JamKerja);
  write('JumlahHari    : ');readln(data.jumlahHari);
  writeln;
  writeln;
  case data.Golongan of
   '1' : gapjam:=3000;
   '2' : gapjam:=4500;
   '3' : gapjam:=6000;
   '4' : gapjam:=7500;
  else
   gapjam:=0;
  end;

  gahar := gapjam * data.jamKerja;
  gatot := gahar * data.jumlahHari;
  clrscr;
  writeln('Laporan Gaji Pegawai');
  writeln('PT. BUATAN SENDIRI');
  writeln;
  writeln('====================================================='); 
writeln('|NIP   |Nama        | Golongan| JamKerja| JumlahHari|'); 
writeln('=====================================================');     writeln('|',data.NIP,'|',data.Nama,'|',data.Golongan,'|',data.JamKerja,'|',data.jumlahHari,'|'); 
writeln('====================================================='); 
writeln; 
writeln('=============================================='); 
writeln('| GajiHarian    | GajiTotal                  |'); 
writeln('=============================================='); 
writeln('|',gahar:8:0,  '|',Gatot:14:2,              '|'); 
writeln('=============================================='); 
writeln; 
write('Mau Ulang Lagi? [Y/T]: ');readln(ul); 
Until Upcase(ul) <> 'Y';
end.

0 komentar:

Posting Komentar