Rekaman adalah tipe data terstruktur yang terdiri dari beberapa elemen dengan tipe data yang tidak harus sama. Elemen dalam rekaman disebut medan. Rekaman sering digunakan untuk merekam informasi seperti kartu pasien di rumah sakit atau data pengguna di sistem komputer. Rekaman dapat memiliki bentuk tetap maupun bebas, di mana bagian bebasnya dapat bervariasi tergantung kondisi.
2. Pengertian
tipe terstruktur yang terdiri atas sejumlah
elemen yang tipenya tidak harus sama.
Elemen di dalam suatu record disebut
dengan istilah field (medan).
Perbedaan utama dari array adalah bahwa
elemen dalam suatu array semuanya
memiliki tipe yang sama sedang elemen-
elemen di dalam rekaman tidak harus
bertipe sama.
Nurdiansah PTIK 09 UNM 2
3. Dalam aktivitas sehari-hari, pemakaian
rekaman lebih banyak digunakan dibanding
dengan larik.
Beberapa contoh pemakaian misalnya :
- informasi tertulis pada kartu dan
tersimpan dalam sebuah kotak,
- sebagai informasi yang diketikkan lewat
komputer dan tersimpan dalam harddisk.
Biasanya rekaman-rekaman dalam komputer
tersimpan dalam bentuk berkas (file) yang
tidak menggantung pada program yang
menggunakannya
Nurdiansah PTIK 09 UNM 3
4. Type pengenal = record
medan1 : tipe1;
medan2 : tipe2;
...
...
...
medann : tipen
end;
Bentuk umum deklarasi rekaman Nurdiansah PTIK 09 UNM 4
5. pengenal
pengenal yang menunjukkan tipe data
yang akan dideklarasikan
medan1,......, medann
nama medan yang akan digunakan.
tipe1, ......., tipen
sembarang tipe data yang telah
dideklarasikan sebelumnya
Keterangan Nurdiansah PTIK 09 UNM 5
6. Contoh deklarasi rekaman
Type Tgl_kalender = record
Tanggal : 1..31;
Bulan : 1..12;
Tahun : 1900..2000
end;
Siswa = record
Nama : string[25];
Alamat : string[35];
Kelamin : (L,P);
Kelas : 1..6
end; Nurdiansah PTIK 09 UNM 6
7. Adakalanya rekaman memiliki medan-medan
yang tetap.
Bentuk rekaman yang salah satu medannya
bisa bervariasi tergantung dari kebutuhan
disebut dengan rekaman bebas (variant
record).
Rekaman bebas terbagi menjadi dua
bagian, yaitu bagian tetap dan bagian
bebas, yaitu bagian yang akan dipilih sesuai
dengan kasus yang dihadapi.
Medan dalam bagian bebas disebut dengan
tag field
Rekaman Bebas Nurdiansah PTIK 09 UNM 7
8. Type pengenal = record
{*bagian tetap*}
Medan1 : tipe1;
Medan2 : tipe2;
.
.
.
Medann : tipen;
{* bagian bebas *}
Case tag : tipe_tag of
Label1 : (medan : tipe:
.
.
.
medan : tipe);
Nurdiansah PTIK 09 UNM 8
9. Nilai dari tag field diantara case dan of
menentukan struktur yang akan digunakan
untuk keseluruhan rekaman.
Tag field mempunyai dua komponen, yaitu
pengenal medan yang menyimpan nilai tag
fied dan tipe data yang menunjukkan semua
kemungkinan nilai tag field.
Setiap struktur bebas harus ditulis di dalam
tanda kurung. Semua yang ditulis dalam
kurung mengunakan aturan yang sama
seperti halnya pada bagian tetap
Aturan Tag file dengan kata baku “case”
Nurdiansah PTIK 09 UNM 9
10. Dimungkinkan adanya bagian bebas dalam
bagian bebas yang lain (nested variant).
Sebuah statement end menutup bagian
tetap dan bagian bebas
Nurdiansah PTIK 09 UNM 10
11. type Status = (T,P,J);
Gaji = record
Nama_Pegawai : string[25];
Nomor_identitas : string[10];
Bagian : string[15]
case Stat_Peg : Status of
T : (Gaji : integer);
P : (Gaji_Per_Jam, Jumlah_Jam_Lembur,
Max_Jam_Minggu, Lembur : integer);
J : (Upah_Per_Jam, Jumlah_Jam_Kerja,
Jam_Lembur : integer);
end;
Contoh rekaman bebas Nurdiansah PTIK 09 UNM 11
12. Deklarasi di atas juga bisa ditulis sebagai :
Type Gaji = record
Nama Pegawai : string[25];
Nomor_Identitas : string[10];
Bagian : string[15];
case Stat_Peg : (T,P,J) of
....
....
....
end
Nurdiansah PTIK 09 UNM 12
13. Tipe data tag bisa langsung ditulis di
belakang nama tag field.
Untuk memanipulasi medan pada suatu
rekaman, harus ditulis dengan menggunakan
bentuk umum :
nama_rekaman.nama_medan
Notasi ini disebut penanda medan (field
designator).
Contoh untuk rekaman bertipe siswa :
Var Murid : Siswa;
Nurdiansah PTIK 09 UNM 13
14. Medan Nama dan Alamat dapat dibaca
dengan menggunakan statemen :
readln(Murid.Nama) ;
readln(Murid.Alamat);
Untuk mengakses sejumlah medan dalam saat
yang bersamaan dengan menggunakan
statemen with.
Bentuk umum statemen with adalah :
with nama_rekaman do
Dengan nama_rekaman adalah nama
rekaman yang akan diakses
Nurdiansah PTIK 09 UNM 14
15. Contoh menggunakan deklarasi rekaman bertipe
siswa, dan statemen with, maka kita bisa
mengakses rekaman murid sebagai berikut :
with Murid do
begin
readln(Nama);
readln(Alamat);
readln(Kelas);
readln(Kode_jnskelamin);
if jnskelamin=1 then kelamin :=L
else kelamin:=P
end
Statement “with” Nurdiansah PTIK 09 UNM 15
16. Atau :
readln(Murid.Nama);
readln(Murid.Alamat);
readln(Murid.Kelas);
readln(Kode_jnskelamin);
if Kode_jnskelamin=1 then Murid.Kelamin
:=L
else Murid.kelamin :=P
Nurdiansah PTIK 09 UNM 16