Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

RECORD Denny Agustiawan,M.pd

Presentasi serupa


Presentasi berjudul: "RECORD Denny Agustiawan,M.pd"— Transcript presentasi:

1 RECORD Denny Agustiawan,M.pd
STRUKTUR DATA RECORD Denny Agustiawan,M.pd STMIK Asia Malang – 2011

2 Record RECORD, adalah type data kompleks yang menyimpan berbagai macam data yang tergabung menjadi satu kesatuan data. Cara penyimpanan type data record pada memori adalah dengan menyimpan masing- masing fieldnya secara berurutan di dalam memori. Jumlah memori yang diperlukan oleh type data record sebesar total memori yang dibutuhkan untuk masing-masing fieldnya.

3 Record (2) Contoh: 1: var 2: R: record 3: Field1 : integer; 4: Field2 : real; 5: Field3 : string[10]; 6: end; Jumlah memori yang dibutuhkan untuk mengalokasikan variabel tersebut adalah : 2 byte (ukuran field1 = integer) + 6 byte (ukuran field2 = real) + 11 byte (ukuran field3 = string[10]) = 19 byte

4 ARRAY of RECORD Type data array of record, cara penyimpanan pada memori sama seperti penyimpanan type data array, hanya saja ukuran 1 elemen = ukuran 1 record Contoh: 1: TYPE 2: Mhs = Record 3: Nama : String[20]; 4: Alamat : String[40]; 5: Umur : Byte; 6: END; 7: VAR 8: Data: ARRAY [1..10] of Mhs;

5 Array of Record (2) Jika alamat awal elemen pertama array adalah 1000, di mana kah lokasi field Alamat untuk elemen Data[4] Langkah pengerjaan: menentukan ukuran 1 record ukuran 1 record = = 63 byte menentukan lokasi elemen Data[4] lokasi Data[4] = (4-1) * 63 = = 1189 menentukan lokasi alamat untuk elemen Data[4] lokasi alamat untuk elemen Data[4] = = 1210

6 Contoh Soal Cari alamat dari Secara RMO dan CMO dgn Alamat awal = 1000
TYPE tPegawai = RECORD Nama : STRING[20]; Alamat : STRING[30]; Usia : Byte; Gaji : Real; Status : Char; END VAR A : ARRAY [10..30,13..25] of tPegawai; Cari alamat dari A[15,15] A[19,13] A[20,21] Secara RMO dan CMO dgn Alamat awal = 1000

7 Secara RMO L = Lo + {(i-l1) * (u2 – l2 + 1) + (j – l2)} * c
= {5*13+2}*60 = * 60 = = 5020 A[19,13] = {(19-10)*( ) + (13-13)} * 60 = (9*13) * 60 = = 8020 A[20,21] = {(20-10)*( ) + (21-13)} * 60 = (10*13+8) *60 = * 60 = = 9280

8 Secara CMO L = Lo + {(i-l1) + (j-l2) * (u1 – l1 + 1)} * c
= {5 + 2 * 21} * 60 = (5+42) * 60 = = 3820 A[19,13] = {(19-10)+(13-13) * ( )} * 60 = (9 + 0 * 21) * 60 = * 60 = 1540 A[20,21] = {(20-10)+(21-13) * ( )} * 60 = { * 21} *60 = *60 = = 11680

9 Latihan Soal Diberikan segmen program berikut : 1: Type
2: tNRP = RECORD 3: angkatan : integer; 4: jurusan : byte; 5: counter : integer; 6: END; 7: tAlamat = RECORD 8: alamat : string[30]; 9: kota : string[20]; 10: END; 11: tMhs = RECORD 12: NRP : tNRP; 13: nama : string[30] 14: alamat asal : array[1..2] of tAlamat; 15: END; 16: 17: Var i : byte; 18: Mhs : array[ ] of tMhs; Jika alamat awal pada lokasi 1000, tentukan alamat dari data berikut : Mhs[5] Field Kota dari alamat asal[2] Mhs[5] Field jurusan Mhs[5]


Download ppt "RECORD Denny Agustiawan,M.pd"

Presentasi serupa


Iklan oleh Google