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
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('=====================================================');
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.
end.


0 komentar:
Posting Komentar