MAKALAH STRUKTUR DATA
“RECORD”
TUGAS MAKALAH DIPRESENTASIKAN UNTUK
MEMENUHI PERSYARATAN PERKULIAHAN DALAM DISKUSI KELOMPOK DENGAN MATA KULIAH STRUKTUR DATA
Dosen Pembimbing : Bambang H Hayadi, S.Kom
Disusun Oleh :
GUSLINIARTI
HARIPAN
KIKI KUSUMO
KOMALA SARI
LUKMAN HAKIM
MARLETA PERNAMA SARI
META LESTARI
MURTI
NEDI YANSAH PUTRA
NELA MAYANG SARI
NIKI LESTARI
|
NOFREALDO ACHMAD
NOFIAN LIZARJON. S.
NUR HASANAH
OVY HERMANSYAH. S.
PILI SANTORI
PORMA NINGSIH
RACHMAT JULIAN BASTARI
REKA SARWENDA
RENDRI RAMADAN PUTRA
RIA AFRIZA
RIKO NOPRIWAN
|
SEMESTER III
PROGRAM STUDI MANAGEMEN INFORMATIKA DAN KOMPUTER
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAGEMEN INFORMATIKAN DAN
KOMPUTER
STMIK ANTAR BANGSA AL-QURANIYAH
JL.AFFAN BACHIN NO 13 (0739) 21689 MANNA BENGKULU SELATAN
OKTOBER 2012
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;
No comments:
Post a Comment