Record

Jika array untuk menyimpan sekumpulan data dengan tipe data yang sama, record digunakan untuk menyimpan nilai dari tipe data yang berbeda dalam satu variabel. Record tidak menggunakan indeks seperti array, record menyimpan data dalam setiap member yang memiliki nama masing-masing. Perhatikan deklarasi record di bawah ini.

Var r:record
     angka:integer;
     pecahan:real;
     tulisan:string;
end;


Pada contoh deklarasi di atas, variabel "r" tipe datanya adalah record dengan tiga anggota dengan tipe data yang berbeda-beda yaitu angka, pecahan, dan tulisan. Record minimal berisi satu anggota yang disebut juga field. Deklarasi dari variabel dengan tipe data record diakhiri dengan "end". Perhatikan contoh kode program berikut ini untuk memahami cara memberi nilai tiap anggota dari variabel dengan tipe data record.

program coba;
uses crt;
Var r:record
    angka:integer;
    pecahan:real;
    tulisan:string;
end;

begin
    clrscr;
    r.angka:=1;
    r.pecahan:=2.5;
    r.tulisan:='angka';
    writeln('r.angka : ', r.angka);
    writeln('r.pecahan : ', r.pecahan:1:1);
    writeln('r.tulisan : ', r.tulisan);
    readln
end.


Field atau anggota dari tipe data record diakses dengan tanda titik(.) setelah nama variabel record. Jika tidak ingin menyebut nama variabel record dan langsung menyebutlan nama anggotanya, kita bisa menggunakan reserved word yang dikhususkan untuk tipe data record dan object yaitu "with".

program coba;
uses crt;
Var rec:record
    angka:integer;
    pecahan:real;
    tulisan:string;
end;

begin
   clrscr;
   rec.angka:=1;
   rec.pecahan:=2.5;
   rec.tulisan:='angka';

   with(rec)do
   begin
      writeln('angka : ', angka);
      writeln('pecahan : ', pecahan:1:1);
      writeln('tulisan : ', tulisan);
   end;
   readln
end.

Dari contoh di atas kita bisa melihat bahwa with bisa digunakan untuk mempersingkat penulisan record. Jika kode program dicompile dan programnya dijalankan, hasil dari kode program di atas sama dengan kode program sebelumnya.