Pengertian
Record adalah elemen
larik yang bertipe terstruktur. Dengan menggunakan tipe datarecord, beberapa item data yang
masing-masing dapat mempunyai tipe data berbeda-beda dapat dikumpulkan.
Masing-masing item data disebut dengan field. Jadi recordterdiri dari kumpulan field yang dapat
berbeda tipe. Biasanya suatu record berisi beberapa field untuk sebuah
subyek tertentu.
Record adalah kumpulan dari field yang berhubungan yang
bisa diperlakukan sebagai unit oleh beberapa proses dalam program. Field adalah
data yang elementer, seperti nama, NIP, Kota, tanggal lahir dan
lain-lain. Panjang field bisa bervariasi. Seluruh dara dalam record selalu
berhubungan. Sebuah record bisa mengandung banyak field , seperti bisa dilihat
:
Name
|
Address
|
Date of
hire
|
Education
|
Pay
History
|
Gambar 1.
Record Karyawan
Terdapat field offset yang menyimpan jumlah byte dari awal
dari record sampai awal dari field untuk mengetahui lokasi dari suatu field.
Record
memiliki beberapa karakteristik
·
Record memiliki ukuran maksimum
yang didefinisikan, walaupun begitu tidak semua data harus terisi.
·
Record memiliki format tertentu,
dan format tersebut harus sama untuk file yang sama. Jika semua record
mempunyai ukuran yang sama maka di sebut fixed-length
record, namun jika ukuran record bisa berubah disebut variable-length record.
Files merupakan kumpulan dari record yang saling
berhubungan. Jika dianalogikan seperti file cabinet, jika seseorang ingin
menyimpan data kedalam cabinet secara terorganisir sehingga ketika ia
membutuhkan informasi, dapat didapatkan atau diperbaruhi secara mudah.
Organisisa file bisa dilihat pada gambar
Ada beberapa
karakteristik file yang penting untuk mengerti , yaitu
·
File dapat diciptakan atau dihapus
oleh user.
·
File mempunyai nama file yang unik.
Pathname = device + user + directory + filename
·
Performa akses data tergantung
algoritma pengaksesan file serta posisi datanya
Block
merupakan unit data yang ditransfer kepada dan dari file kepada operasi
I/O. block bisa terdiri 1 atau lebih dari record, bahkan 1 block bisa saja
hanya menyimpan bagian dari record sehingga untuk mengakses record dibutuhkan
lebih dari 1 block.
Terdapat 2
alternatif dalam peletakan record dalam block, alternatif pertama record
dimungkinkan untuk melintas batas block, kondisi ini space dalam block dapat
digunakan secara maksimal, namun alternative ini mempunyai kelemahan yaitu
waktu aksesnya jadi lebih panjang karena dalam sekali operasi I/O blok belum
tentu bisa digunakan untuk mengakses seluruh record. Alternatif yang lain
adalah 1 record tidak boleh mengunakan lebih dari 1 block, namun ini mempunyai
batasan bahwa panjang record tidak boleh lebih dari panjang block, selain itu
memungkinkan terdapat sisa space dalam block yang tidak digunakan.
Blocking
factor merupakan jumlah record dalam satu block. Dalam fixed-length record
dapat dihitung berapa record yang bisa ditampung dalam satu block jika ukuran
block bisa diketahui, namun dalam variable-length record tidak bisa diketahui
100% blocking faktornya, namun bisa diprediksi dari rata-rata blocking factor.
Uses
crt;
Type
mahasiswa = record
Nama : string;
Alamat : string;
Jurusan : string;
Ipk : real;
Endl;
Var data
: mahasiswa;
Begin
Clrscr;
Data. nama := “ismet Dohoi”;
Data. Alamat := “jl. A. Yani;
Data. Jurusan := “teknik
informatika”;
Data. Ipk := 3.75;
Writeln(data. Nama);
Writeln(data. Alamat);
Writeln(data. Jurusan);
Writeln(data. Ipk);
Endl;
Redakey;
End.
RECORD (REKAMAN)
Sebuah record rekaman disusun oleh beberapa field. Tiap field
berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan
untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di
banding array). Contoh , sebuah record dengan empat buah field.
Field 1
|
Field 2
|
Field 3
|
Field 4
|
Cara
pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
• Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
SYNTAX
type
nama_record =
record
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;
Contoh.
type
Data_mahasiswa
= record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
1. Pengaksesan
Elemen Record
Nama variable disertai nama field.
Nama variable disertai nama field.
Nama
Usia
Kota
Kodepos
Usia
Kota
Kodepos
Contoh.
program
RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.
2. Pengunaan
With … do
Pernyataan with untuk lebih menyederhanakan pengaksesan field-field pada record. Pemrograman dapat mengakses field cukup dengan menyebutkan nama field-nya saja. Misalkan pernyataan :
Pernyataan with untuk lebih menyederhanakan pengaksesan field-field pada record. Pemrograman dapat mengakses field cukup dengan menyebutkan nama field-nya saja. Misalkan pernyataan :
Nama
Usia
Kota
Kodepos
Usia
Kota
Kodepos
menjadi
with x do
Begin
Nama
Usia
Kota
Kodepos
end
Begin
Nama
Usia
Kota
Kodepos
end
Contoh.
program
RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.
3. Array dari
Record
Suatu array dapat juga berisi record contoh suatu deklarasi record tanggal.
Suatu array dapat juga berisi record contoh suatu deklarasi record tanggal.
type tanggal =
record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
kemudian kita
membentuk suatu array dari record ini, namakan birthdays.
var birthdays :
array[1..10] of tanggal;
pernyataan ini
akan membentuk suatu array dengan 10 elemen. Dimana tiap elemen adalah sebuah
record tanggal, yaitu, terdiri atas bulan, hari, tahun dengan tipe data Integer.
Digambarkan seperti berikut:
Contoh Pemberian nilai awal dari masing-masing elemen birthdays:
Digambarkan seperti berikut:
Contoh Pemberian nilai awal dari masing-masing elemen birthdays:
Birthdays[1].hari
:=25;
Birthdays[1].bulan:=09;
Birthdays[1].tahun:=1983;
Birthdays[1].bulan:=09;
Birthdays[1].tahun:=1983;
4. Record di
dalam Record
Record bisa berisi record lain sebagai field. Seperti contoh record tanggal dan jam dikombinasikan menjadi sebuah record saat ini,
Record bisa berisi record lain sebagai field. Seperti contoh record tanggal dan jam dikombinasikan menjadi sebuah record saat ini,
type tanggal =
record
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
Kemudian kita perlu membuat variabel kerja
var saat_ini : waktu_ini;
pemberian nilai akan terjadi seperti di
bawah ini:
saat_ini.tanggal.bulan:= 11;
saat_ini.tanggal.hari:= 2;
saat_ini.tanggal.tahun:= 1985;
saat_ini.waktu.jam:= 3;
saat_ini.waktu.menit:= 3;
saat_ini.waktu.detik:= 33;
saat_ini.tanggal.hari:= 2;
saat_ini.tanggal.tahun:= 1985;
saat_ini.waktu.jam:= 3;
saat_ini.waktu.menit:= 3;
saat_ini.waktu.detik:= 33;
Sekian, Semoga Bermanfaat Kawan.,