100 likes | 368 Views
RECORD. Record dapat dikatakan sebagai suatu kumpulan data item yang masing-masing mempunyai jenis data berbeda. Data item yang merupakan elemen record biasanya disebut dengan FIELD. CARA MENDEKLARASIKAN RECORD Bentuk umum deklarasi suatu variabel berjenis record adalah sbb :
E N D
RECORD Record dapat dikatakan sebagai suatu kumpulan data item yang masing-masing mempunyai jenis data berbeda. Data item yang merupakan elemen record biasanya disebut dengan FIELD. CARA MENDEKLARASIKAN RECORD Bentuk umum deklarasi suatu variabel berjenis record adalah sbb : TYPE identifier = RECORD Nama_field_1 : jenis; Nama_field_2 : jenis; …………………….. …………………….. nama_field_n : jenis; END;
MEMPROSES VARIABEL BERJENIS RECORD Perhatikandeklarasivariabelberikut : TYPE nilai : RECORD Nilai1 : real; Nilai2 : real; END; VAR x,y : nilai; Untukmemprosesvariabel x dan / atau y dilakukandengancaramenyebutkan field designatornya, ygterdiridariatas : Nama_record.nama_field Padadeklarasidiatas yang dimaksuddengan field designator-nyaadalah : x.nilai1 x.nilai2 y.nilai1 y.nilai2
Jadijikainginmembacavariabel x atau y ataukeduanya, makabentuk statement-nyaadalah : READ (x.nilai1, x.nilai2, y.nilai1, y.nilai2); STATEMENT “WITH” Selaincara yang telahdisebutkandiatas, untukmemprosessuatu record dapatdigunakan statement WITH. Dengan statement inipenulisannyaakanlebihsederhana. BentukUmumpenulisan statement WITH iniadalah : WITH nama_recordDO statement Perhatikandeklarasidibawahini : TYPE x = RECORD
No : integer; Kode : char; Juml : integer; Harga : real; END; VAR p,q : x; Untukmembacavariabel p dan q diatasdenganmemanfaatkan statement WITH bentuknyamenjadi : WITHp,q DO read (no, kode, juml, harga); Bandingkanjikadigunakancarasebelumnya : Read(p.no,p.kode, p.juml,p.harga,q.no,q.kode,q.juml,q.harga);
CONTOH : Pernyataan seperti : Data.npm :=‘22297566’ Data.Nama:=‘Abdul Kadir’ Data.Fakultas:=‘Teknik’ Dapat diganti dengan : WITH Data Do Begin npm :=‘22297566’ Nama:=‘Abdul Kadir’ Fakultas:=‘Teknik’ end; Apabila di dalam pernyataan WITH terdapat lebih dari satu record, haruslah pada kedua record tersebut tidak ada field dengan nama yang sama. Sebagai contoh : Type BarangX=RECORD Batu:integer;
Kayu:real; END; BarangY=RECORD Batu:string[10]; Kayu:char; END; Var brg_X:barangX; brg_Y:barangY; Karenakeduavariabel record brg_Xdanbrg_Ymemilikinama field yang sama, Jikamisalnyakemudiandikenakanpernyataan : WITH brg_X, brg_Y Do Begin writeln(batu); writeln(kayu); End; dapatmenyebabkanhasiltidakseperti yang diharapkan.
Array tipe record type barang=RECORD namabrg:string[20]; jmlbrg:byte; hargabrg:real; total:real; end; varjual:array [1..10] of barang i,j:integer; tot1:real; Begin I:=1; write(‘Namabarang :’);readln(jual[i].nmbrg); Repeat write(‘Jumlahbarang :’);readln(jual[i].jmlbrg); write(‘Hargabarang :’);readln(jual[i].hrgbrg); jual[i].total:=jual[i].jmlbrg* jual[i]. jual[i].hrg.brg; inc (I); write(‘Namabarang :’);readln(jual[i].nmbrg); until (jual[i].nmbrg=‘0’) or (I=11); dec(i); clrscr; writeln (‘------------------------------------------------------------’); writeln (‘No namabarangjumlahharga total’); writeln (‘------------------------------------------------------------’);
for j:=1 to I do begin gotoxy(1,j+3);write (j); gotoxy(5,j+3);write(jual[i].nmbrg); gotoxy(26,j+3);write(jual[i].jmlbrg:10); gotoxy(37,j+3);write(jual[i].hrgbrg:10:2); gotoxy(48,j+3);write(jual[i].total:10:2); tot1:=tot1 + jual[j].total ; end; writeln (‘------------------------------------------------------------’); writeln(‘ Total :’,tot1:10:2’); writeln (‘------------------------------------------------------------’); end. Array dalam record Type barang= RECORD nmbrg:string[20]; jmlbrg:array[1..3]of byte;
hrgbrg:real; total:real; end; varjual:barang; tbarang, i:integer; Begin clrscr; write(‘NamaBarang :’);readln(jual.nmbrg); for i:=1to 3 do begin write(‘Jumlahbarang ’,I,’ : ’);readln(jual.jmlbrg[i]); tbarang:=tbarang+jual.jmlbrg[i]; end; write(‘Hargabarang :’);readln(jual.hrgbrg); jual.total:=tbarang*jual.hrgbrg; writeln(‘Total HargaBarang = ‘, jual.total:10:2); end. Cobalihatsendiriperbedaanantara array tipe record dan array dalam record dariduacontoh program diatas !