Record
adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan. Masing
– masing elemen data tersebut dikenal dengan sebutan Field. Field – Field ini
memiliki tipe data masing-masing yang dpat diakses secara individual.
Bentuk Umum
Pendeklarasian Record
Type <NamaRecord> =Record
<NamaField1>
: TipeData;
<NamaField2> : TipeData;
... : ...;
<NamaFieldN> : TypeData;
End;
Var <NamaVarRecord>:<NamaRecord>;
Contoh
:
Program Nilai;
uses crt;
Type Mahasiswa = record
Nim : String [10];
Nama : String [35];
NH,NT,NM,NF : Integer;
NA :
Real;
End;
Var Mhs : Mahasiswa;
Begin
clrscr;
Writeln('Aplikasi Perhitungan Nilai : ');
Write('Masukkan Nim :
');Readln(mhs.Nim);
Write('Masukkan Nama :
');Readln(mhs.Nama);
Write('Masukkan Nilai Hadir :
');Readln(mhs.NH);
Write('Masukkan Nilai Tugas :
');Readln(mhs.NT);
Write('Masukkan Nilai MID :
');Readln(mhs.NM);
Write('Masukkan Nilai FINAL :
');Readln(mhs.NF);
Mhs.NA := (0.10 * Mhs.NH) + (0.25 *
Mhs.NT) +(0.30 * Mhs.NM) + (0.35 * Mhs.NF);
Writeln('Total Nilainya = ',Mhs.NA:11:2);Readln(Mhs.NA);
end.
Berikut
hasil eksekusi program diatas :
Agar
Variabel record dapat menampung beberapa data yang sama dengan susunan fieldnya
maka variabel tersebut dapat dikombinasikan dengan tipe data array. Bentuk
Umumnya :
Type <NamaRecord> =Record
<NamaField1>
: TipeData;
<NamaField2> : TipeData;
... : ...;
<NamaFieldN> : TipeData;
End;
Var <NamaVarRecord> : Array
[IndeksArray] of <NamaRecord>;
Seringkali
pada program-program aplikasi untuk system informasi diperlukan penyimpanan
data agar dapat digunakan untuk keperluanpengolahan lebih lanjut. Variabel dan
larik hanya menggunakan internal memory hanya bisa menyimpan data pada
saat proses saja dan kapasitasnya terbatas. Untuk itu diperlukan penyimpanan
luar (External Memory) yang kapasitasnya lebih besar dan tidak terhapus
pada saat tidak ada aliran listrik.
Salah
satu bentuk file yang digunakan sebagai media penyimpanan data adalah file teks.
File ini akan berisi data karakter meskipun data sumbernya bukan karakter
(otomatis diubah ke karakter).
Untuk
mengakses file text pada pascal, dibutuhkan sebuah variabel yang dideklarasikan
dengan tipe text (file variabel). Setelah file variabel didalam file teks
dihubungkan dengan file eksternal yang akan digunakan dengan prosedur standar Assign.
Bentuk umumnya :
Assign (fileVariabel,NamaFileText)
Setelah
itu dibuka dengan menggunakan beberapa intruksi berikut :
Prosedur
Standar
|
Keterangan
|
Rewrite
(FileVariabel)
|
Digunakan untuk
membuka file baru yang bersifat Write Only
|
Reset
(FileVariabel)
|
Digunakan untuk
membuka file baru yang bersifar Read Only
|
Append
(FileVariabel)
|
Digunakan
untuk membuka file yang telah ada untuk keperluan menambah data kedalam file
|
Close
(FileVariabel)
|
Digunakan untuk
menutup file yang telah dibuka
|
Contoh
program merekam data :
Program Rekam_Data_Mhs;
uses crt;
Const JumlahMK = 5;
Type
BNilai = 1..100;
Nilai = record
Nama : string [25];
NoPokok : string [12];
Angkatan : string [5];
NilaiUjian : array
[1..JumlahMK] of BNilai;
NilaiRata : real;
end;
DNilai = file of Nilai;
Var
DafNilai : DNilai;
NilaiMhs : nilai;
I,j : integer;
Lagi : char;
begin
Assign(dafnilai,'NILAI.DAT');
Rewrite(dafnilai);
I
:= 0;
repeat
Inc(I);
clrscr;
writeln('MEREKAM DATA PADA FILE
"NILAI.DAT" ');
writeln('-----------------------------------');
writeln;
writeln('MENGISI REKAMAN KE: ',1:2);
writeln('-----------------------------------');
writeln;
with nilaimhs do
begin
nilairata := 0.0;
write('Nama mahasiswa :');
readln(nama);
write('Nomor mahasiswa :');
readln(nopokok);
write('Angkatan :');readln(angkatan);
for j := 1 to JumlahMK do
begin
write('Nilai MK ',J,' :
');
readln(nilaiujian[j]);
Nilairata := nilairata +
nilaiujian[j];
end;
nilairata := nilairata /
JumlahMK;
end;
write(dafnilai, nilaimhs);
gotoxy (1,20); write('Ada data lagi [ya/tidak]');
readln(lagi);
until not (lagi in ['Y','y']);
close (dafnilai);
end.
Berikut
hasil eksekusi program diatas :
Contoh
program membuka data :
Program Baca_Data_Mhs;
uses crt;
const JumlahMK = 5;
Garis ='----------------------------';
type
Bnilai = 1..100;
Nilai = record
Namamhs : string [25];
Nopokok : string [5];
Angkatan
: string [5];
Nilai_Ujian : array [1..JumlahMK] of bnilai;
Nilairata : real;
end;
Dnilai = file of nilai;
var
DafNilai : Dnilai;
Nilaimhs : nilai;
I,j,n : integer;
begin
clrscr;
assign (dafnilai,'nilai.dat');
reset (dafnilai);
N
:= filesize (dafnilai);
writeln (' ':28,'DAFTAR NILAI UJIAN AKHIR');
writeln (' ':28,'------------------------------');
writeln; writeln (garis,garis);
writeln ('No. Nama No. Pokok N1 N2 N3 N4 N5 Rata2');
writeln (garis,garis);
for
I := 1 to n do
begin
gotoxy (1,I+6); write(I:2);
read (dafnilai, nilaimhs);
with nilaimhs do
begin
Gotoxy (8,I+6); write(Namamhs);
Gotoxy (34,I+6); write(nopokok);
for j := 1 to JumlahMK do
begin
Gotoxy (43+5*(j-1),I+6);
write (nilai_ujian[j]:2);
end;
Gotoxy (68,I+6);
writeln (Nilairata:5:2);
end
end;
writeln (garis, garis);
close (DafNilai);
readln;
end.
0 komentar "RECORD", Baca atau Masukkan Komentar
Posting Komentar