STRUKTUR DATA

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

description

STRUKTUR DATA. RECORD Denny Agustiawan,M.pd. STMIK Asia Malang – 2011. Record. RECORD , adalah type data kompleks yang menyimpan berbagai macam data yang tergabung menjadi satu kesatuan data. - PowerPoint PPT Presentation

Transcript of STRUKTUR DATA

Page 1: STRUKTUR DATA

STRUKTUR DATASTRUKTUR DATA

RECORD

Denny Agustiawan,M.pd

STMIK Asia Malang – 2011

Page 2: STRUKTUR DATA

RecordRecordRECORD, 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.

Page 3: STRUKTUR DATA

Record (2)Record (2)Contoh: 1: var2: R: record3: 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

Page 4: STRUKTUR DATA

ARRAY of RECORD 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: TYPE2: Mhs = Record3: Nama : String[20];4: Alamat : String[40];5: Umur : Byte;6: END;7: VAR8: Data: ARRAY [1..10] of Mhs;

Page 5: STRUKTUR DATA

Array of Record (2)Array of Record (2)Jika alamat awal elemen pertama array adalah

1000, di mana kah lokasi field Alamat untuk elemen Data[4]

Langkah pengerjaan:

1. menentukan ukuran 1 record2. ukuran 1 record = 21 + 41 + 1 = 63 byte3. menentukan lokasi elemen Data[4]4. lokasi Data[4] = 1000 + (4-1) * 63 = 1000 + 189

= 11895. menentukan lokasi alamat untuk elemen Data[4] 6. lokasi alamat untuk elemen Data[4] = 1189 +

21 = 1210

Page 6: STRUKTUR DATA

Contoh SoalContoh SoalTYPE tPegawai = RECORD Nama : STRING[20]; Alamat : STRING[30]; Usia : Byte; Gaji : Real;

Status : Char;END

VARA : 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

Page 7: STRUKTUR DATA

Secara RMOSecara RMO

L = Lo + {(i-l1) * (u2 – l2 + 1) + (j – l2)} * c

A[15,15] = 1000 + {(15-10)*(25-13+1) + (15-13)} * 60= 1000 + {5*13+2}*60= 1000 + 67 * 60= 1000 + 4020 = 5020

A[19,13] = 1000 + {(19-10)*(25-13+1) + (13-13)} * 60= 1000 + (9*13) * 60= 1000 + 7020 = 8020

A[20,21] = 1000 + {(20-10)*(25-13+1) + (21-13)} * 60= 1000 + (10*13+8) *60= 1000 + 138 * 60= 1000 + 8280= 9280

Page 8: STRUKTUR DATA

Secara CMOSecara CMO

L = Lo + {(i-l1) + (j-l2) * (u1 – l1 + 1)} * c

A[15,15] = 1000 + {(15-10)+(15-13) * (30-10+1)} * 60= 1000 + {5 + 2 * 21} * 60= 1000 + (5+42) * 60 = 1000 + 2820 = 3820

A[19,13] = 1000 + {(19-10)+(13-13) * (30-10+1)} * 60

= 1000 + (9 + 0 * 21) * 60= 1000 + 9 * 60 = 1540

A[20,21] = 1000 + {(20-10)+(21-13) * (30-10+1)} * 60

= 1000 + {10 + 8 * 21} *60= 1000 + 10 + 168 *60= 1000 + 10680= 11680

Page 9: STRUKTUR DATA

Latihan SoalLatihan SoalDiberikan segmen program berikut : 1: Type2: tNRP = RECORD3: angkatan : integer;4: jurusan : byte;5: counter : integer;6: END;7: tAlamat = RECORD8: alamat : string[30];9: kota : string[20];10: END;11: tMhs = RECORD12: NRP : tNRP;13: nama : string[30]14: alamat asal : array[1..2] of tAlamat;15: END;16:17: Var i : byte;18: Mhs : array[1..1000] 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]