Modul II (Record)



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.

SYNTAX
type
nama_record = 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;

1. Pengaksesan Elemen Record
Nama variable disertai nama field.
Nama
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.

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 :
Nama
Usia
Kota
Kodepos
menjadi
with x do
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.

3. Array dari Record
Suatu array dapat juga berisi record contoh suatu deklarasi record tanggal.
type tanggal = record
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:
Birthdays[1].hari :=25;
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,
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;
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;


Sekian, Semoga Bermanfaat Kawan.,

Tidak ada komentar:

Posting Komentar

Terima Kasih sudah berkunjung kawan.
Mohon Meninggalkan Jejak dengan Berkomentar.
Salam Blogger !!

TUHAN Memberkati Kita Semua...

Popular Post

Teman Blogger

Blogroll

free counters

RSS Feed Berlangganan artikelKu



Masukan Email Mu Disini: