Click here to load reader
Upload
ical-militanmannojack
View
157
Download
1
Embed Size (px)
Citation preview
Record (Rekaman)
1Nurdiansah PTIK 09 UNM
Pengertian
tipe terstruktur yang terdiri atas sejumlahelemen yang tipenya tidak harus sama.
Elemen di dalam suatu record disebutdengan istilah field (medan).
Perbedaan utama dari array adalah bahwaelemen dalam suatu array semuanyamemiliki tipe yang sama sedang elemen-elemen di dalam rekaman tidak harusbertipe sama.
2Nurdiansah PTIK 09 UNM
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
3Nurdiansah PTIK 09 UNM
Bentuk umum deklarasi rekaman
Type pengenal = recordmedan1 : tipe1;
medan2 : tipe2;
...
...
...
medann : tipen
end;
4Nurdiansah PTIK 09 UNM
Keterangan
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
5Nurdiansah PTIK 09 UNM
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; 6Nurdiansah PTIK 09 UNM
Rekaman Bebas
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
7Nurdiansah PTIK 09 UNM
Type pengenal = record{*bagian tetap*}Medan1 : tipe1;Medan2 : tipe2;...Medann : tipen;
{* bagian bebas *}Case tag : tipe_tag of
Label1 : (medan : tipe:...
medan : tipe);
8Nurdiansah PTIK 09 UNM
Aturan Tag file dengan kata baku “case”
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
9Nurdiansah PTIK 09 UNM
Dimungkinkan adanya bagian bebas dalam bagian bebas yang lain (nested variant).
Sebuah statement end menutup bagian tetap dan bagian bebas
10Nurdiansah PTIK 09 UNM
Contoh rekaman bebas
type Status = (T,P,J);Gaji = recordNama_Pegawai : string[25];Nomor_identitas : string[10];Bagian : string[15]
case Stat_Peg : Status ofT : (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;
11Nurdiansah PTIK 09 UNM
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
12Nurdiansah PTIK 09 UNM
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;
13Nurdiansah PTIK 09 UNM
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
14Nurdiansah PTIK 09 UNM
Statement “with”
Contoh menggunakan deklarasi rekaman bertipe siswa, dan statemen with, maka kita bisa mengakses rekaman murid sebagai berikut :
with Murid dobegin
readln(Nama);readln(Alamat);readln(Kelas);readln(Kode_jnskelamin);if jnskelamin=1 then kelamin :=Lelse kelamin:=P
end
15Nurdiansah PTIK 09 UNM
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
16Nurdiansah PTIK 09 UNM
To be continue…17Nurdiansah PTIK 09 UNM