Sebuah record merupakan koleksi satuan data yang heterogen, yakni terdiri dari
berbagai type. Satuan data tersebut sering disebut sebagai field dari record. Field dipanggil
dengan menggunakan namanya masing-masing. Suatu field dapat terdiri atas beberapa
subfield. Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe
dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan
elemen data yang berbeda-beda tipenya (di banding array). Contoh , sebuah record dengan
Deklarasi record
Type
Variable = record
…field = type data
…field = type data
…field = type data
End.
STATEMENT “WITH”
Selain cara yang telah disebutkan diatas, untuk memproses suatu record dapat
digunakan statement WITH. Dengan statement ini penulisannya akan lebih sederhana.
Bentuk Umum penulisan statement WITH ini adalah :
TYPE x = RECORD
No : integer;
Kode : char;
Juml : integer;
Harga : real;
END;
VAR p,q : x;
Untuk membaca variabel p dan q di atas dengan memanfaatkan statement WITH bentuknya
menjadi :
Pernyataan seperti :
Data.npm :=‘22297566’
Data.Nama:=‘Abdul Kadir’
Data.Fakultas:=‘Teknik’
Begin
npm :=‘22297566’
Nama:=‘Abdul Kadir’
Fakultas:=‘Teknik’
end;
program record;
uses crt;
type
TSiswa = record
nim : string[8];
nama : string[25];
agama : string[10];
ktp : string[25];
end;
var
s : TSiswa;
umur,ts,tl : integer;
begin
clrscr;
write (’Masukkan tahun sekarang: ‘); readln (ts);
writeln (’Isikan data anda dalam Form ini’);
write (’NIM : ‘); readln (s.nim);
write (’NAMA : ‘); readln (s.nama);
write (’TAHUN LAHIR : ‘); readln (tl);
umur := (ts-tl);
write (’AGAMA : ‘);readln (s.agama);
write (’NO.KTP : ‘); readln (s.ktp);
writeln;
writeln (’Berikut ini informasi yang anda berikan: ‘);
writeln (’NIM : ‘, s.nim);
writeln (’NAMA : ‘, s.nama);
writeln (’Umur : ‘,umur);
writeln (’AGAMA : ‘, s.agama);
writeln (’NO.KTP : ‘, s.ktp);
READLN;
end.
Array (Larik)
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik
mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik
ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan
menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte,
word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik
mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data
tersebut.
Array didefinisikan sebagai suatu kumpulan dimana elemen-elemennya berjenis data
sama. (homogeny) Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu :
Array berdimensi satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah kolom.
Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah :
VAR nama_array : ARRAY [index] OF jenis_elemen;
Contoh Program :
Program Contoh_Array_Input;
Uses Crt;
Var
Bilangan : array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi
Program;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
Array dimensi dua ini dapat dianggap sebagai sebuah matriks yang jumlah kolomnya lebih
banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi
dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat
Program_Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen
',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.
jmlbrg:array[1..3]of byte;
hrgbrg:real;
total:real;
end;
var jual:barang;
tbarang, i:integer;
Begin
clrscr;
for i:=1to 3 do
begin
tbarang:=tbarang+jual.jmlbrg[i];
end;
jual.total:=tbarang*jual.hrgbrg;
end.
Coba lihat sendiri perbedaan antara array tipe record dan array dalam record dari dua
uses crt;
var
i , j : integer;
begin
clrscr;
for i := 1 to 3 do
begin
for j := 1 to 2 do
begin
readln(matrik1[i,j]);
end;
end;
for i:= 1 to 3 do
begin
for j:= 1 to 2 do
begin
readln(matrik2[i,j]);
end;
end;
for i := 1 to 3 do
begin
for j:= 1 to 2 do
begin
hasil[i,j]:=matrik1[i,j]+matrik2[i,j];
end;
end;
writeln(' ');
for i:= 1 to 3 do
begin
for j:= 1 to 2 do
begin
write(matrik1[i,j]:4);
end;
writeln;
end;
writeln('+');
for i:= 1 to 3 do
begin
for j:= 1 to 2 do
begin
write(matrik2[i,j]:4);
end;
writeln;
end;
writeln('=');
for i:= 1 to 3 do
begin
for j:= 1 to 2 do
begin
write(hasil[i,j]:4);
end;
writeln;
end;
readln;
end.