String[20]

advertisement
Materi III
Rekaman/Record
REKAMAN
Rekaman atau record adalah sekumpulan data yang disusun dari tipe
data yang sama atau tipe data yang berbeda. Pada prinsipnya rekaman
sama dengan larik namun perbedaan utama adalah pada larik disusun
dari komponen-komponen yang mempunyai tipe data yang sama namun
pada rekaman boleh disusun dari komponen yang sama atau yang
bebeda.
Inisialisasi adalah membentuk struktur data sekaligus pemesanan memori
computer untuk kebutuhan penyimpanan stuktur data.
Bentuk inisialisasi :
Nama_record = record
Field1 : tipe-data1
Field2 : tipe-data2
Field3 : tipe-data3
Fieldn : tipe-datan
End
Tipedata yang digunakan adalah tipe data
atomik (sederhana) ataupun tipe data
terstruktur.
Contoh :
Mahasiswa = record
Nama : string[20];
NIM : string[9];
Kelas : string[5];
Umur : integer;
IPK : real;
End;
OS
Field 1
Field 2
Field 3
Rekaman Secara Logika
Field n
Fiel 1
Field 2
Fiel 3
...
Field n
free
Rekaman Secara Fisik
Rekaman
Besarnya memori dapat dihitung dengan :
M = L field 1 + L field 2 + L field 3 + …. + L. field n.
Untuk alamat field dapat dicari dengan
Add field = b + offset
Offset adalah selisih alamat awal field (komponen) dengan alamat
awal record
Nama
Nim
kelas
umur
ipk
OS
Nama
NIM
Kelas
Umur
ipk
free
M (Mahasiswa) : L Nama + L Nim + L Kelas + L Umur + L IPK
20 + 9 + 5 + 2 + 4
40 Byte memori
Tabel Offset untuk mahasiswa
Field
Tipe data
Length
Offset
Nama
String
20
0
NIM
String
9
20
Kelas
String
5
29
Umur
Integer
2
34
Ipk
Real
4
40
Add kelas = b + offset
= b + 29
Contoh 2:
Gambaran Logika
Pegawai = record
NIP
NIP
: String[10]
Nama
: String[20]
Alamat
: string[30]
Tgl_lahir : string[8]
Jk
: Char
Nama
10
20
Alamat
30
8
jk
1
M (Pegawai) =
L.Nip+L.Nama+LAlamat+L.Tgl_Lahir +L.JK
10+20+30+8+1
end
Tgl
OS
NIP
=69 byte memori
Field
Type Data
Length
Offset
NIP
Nama
Almt
String
String
string
10
20
30
0
10
30
Tgl
Jk
String
Char
8
1
60
68
Nm
Tgl
Jk
Free
Contoh 3:
Date = record
Tanggal : integer
bulan
: integer
tahun : longint
End
Pegawai = record
Nip
: String[10]
Nama
: String[15]
Tgl_lahir : Date
TMT
: Date
Gapok
: Real
end
NIP
Nama
Gapok
Tabel Offset untuk pegawai
Field
T. data
length
off
Nip
String
10
0
NAMA
String
15
10
Tgl_lahir
Date
8
25
Tanggal
Integer
2
25
Bulan
Integer
2
27
Tahun
Longint
4
29
Date
8
33
Tanggal
Integer
2
33
Bulan
Integer
2
35
Tahun
Longint
4
37
Real
6
41
TMT
Gapok
Add tgl_lahir = b+25
Add tgl_lahir.Bulan b+27
Contoh 1 :
Nilai : Array[1..10] of integer
Mahasiswa = record
Nama
: string[20]
NIM
: String[8]
Kelas
: string[5]
Nimk
: Nilai
IPK
: Real
End
1. Gambarkan Secara Logika untuk mahasiswa
2. Hitung kebutuhan memori untuk Mahasiswa
3. Cari alamat untuk data nilai mata kuliah (nimk) yang 7, jika base
adress adalah 500
Contoh 2 :
Dengan menggunakan data di atas, deklarasi struktur data
Mhs : array[1..20] of mahasiswa
Maka :
1. Gambarkan secara logika untuk mhs
2. Cari alamat untuk mhs[6].nimk[6]
Download