record - Simponi MDP

advertisement
RECORD
RECORD
Pascal melengkapi tipe data terstruktur
dengan tipe record, dimana beberapa
komponen dengan tipe data yang
berbeda dapat dihimpun dalam struktur
tipe record. Dengan demikian record
bersifat heterogen.
DEKLARASI RECORD
Type <identifier tipe record> = record
<identifier field1> : <tipe data 1>;
<identifier field2> : <tipe data 2>;
...
<identifier fieldN> : <tipe data N>
end;
Var
<identifier variabel record> : <identifier tipe record>
DEKLARASI RECORD



Komponen didalam struktur record disebut field.
setiap field dapat dideklarasikan untuk tipe data
yang berbeda.
Contoh Deklarasi :
Type RMahasiswa = Record
Nama : String;
NIM
: String;
Nilai
: Real;
End;
Var
X : RMahasiswa;
DEKLARASI RECORD


Tipe record tidak hanya digunakan untuk deklarasi variabel
tunggal, tetapi sering digunakan bersama-sama denga tipe
array atau tipe pointer.
Misalkan ada 80 mahasiswa dalam suatu kelas, maka dibuat
deklarasi array of record.
Type RMahasiswa = Record
Nama : String;
NIM
: String;
Nilai
: Real;
End;
Var
M : Array[1..80] of RMahasiswa;
MENGGUNAKAN
TIPE DATA RECORD

Struktur Record :

Tiap-tiap komponen field dari record
dipergunakan dengan cara menuliskan :
pengenal-record.pengenal-field[.pengenal-field]
dapat
STATEMEN WITH

With adalah kata terlindung, yang digunakan untuk menyingkat
penulisan variabel record Bila pemrogram ingin mencapai field.

Sintaks With :
With <identifier variabel-record> Do <statemen>
atau
With <identifier variabel-record> Do
Begin
<statemen1>; ... <statemen n>;
End;
VARIANT RECORD

Variant record, adalah record dimana
diperlukan pendefinisian kembali field-field
untuk menampung dua atau lebih keinginan
yang berbeda tapi masih dalam satu struktur.

Keuntungan dari penggunaan variant record
adalah dalam penghematan memory.
VARIANT RECORD
Contoh :
Type
TipeBacaan = (BukuTeks,Majalah);
Bacaan
= Record
KodePerpus : String[7];
TglBeli
: String[8];
Penerbit
: String[25];
Case Tipe : TipeBacaan of
Majalah : (NomorMajalah : string[10]);
BukuTeks : (Pengarang : String[25];
Edisi
: byte);
end;
Var
DataBacaan : Bacaan;

Download