Dasar Teori
Record merupakan kumpulan elemen data yang dikumpulkan menjadi satu kesatuan dengan tipe data sama ataupun berbeda. Meskipun field tersebut berada dalam satu kesatuan, namun masih dapat di akses secara individual.
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).
Cara pendeklarasian dari record adalah sebagai berikut:
• 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
x.Usia Nama variable disertai nama field.
x.Nama
x.Kota
x.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 :
x.Nama
x.Usia
x.Kota
x.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;
Simple Record dan Array pada Pascal
Pada ujian struktur data kemaren ada sebuah soal yang memerintahkan kita untuk membuat sebuah program untuk sebuah perpustakaan. Program ini akan merekam informasi mengenai 200 data buku-buku yang ada meliputi judul buku, kode, pengarang, edisi, tahun terbit, dan penerbitnya. Output yang diharapkan adalah berupa tabel yang menampilkan informasi data buku yang telah direkam secara terurut ascending dengan metode sorting berdasarkan judul buku. Demikianlah kira-kira gambaran tentang program tersebut..
Berikut Contoh Sederhana Dari RECORD
program swift;
uses wincrt;
type karyawan=record
nama,kelamin,alamat: string;
end;
var
kry: karyawan;
lagi,pil:char;
Procedure input;
begin repeat
clrscr;
write('Masukkan Nama : ');readln(kry.nama);
write('Jenis Kelamin : ');readln(kry.kelamin);
write('Alamat : ');readln(kry.alamat);
writeln;
Write('Mau Edit Data [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
end;
procedure output;
begin clrscr;
writeln('Nama :',kry.nama);
writeln('Jenis Kelamin :',kry.kelamin);
writeln('Alamat :',kry.alamat);
writeln;
Write('Press Any Key to Continue...');readkey;
end;
procedure about;
begin clrscr;
writeln('========= Tentang Saya ==========');
writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
writeln('Nama : Budi Santoso');
writeln('Pendidikan Sekarang : Teknik Informatika (STMIK Palangkaraya)');
writeln('Alamat : Jl.G.Obos XII');
writeln('Email : Budi_sh4@yahoo.com');
writeln;
Write('Press Any Key to Continue...');readkey;
end;
procedure menu;
begin clrscr;
writeln('* Menu *':20);
writeln('==========':21);
writeln('1. Entry Baru':21);
writeln('2. Tampilkan data':25);
writeln('3. About me':19);
writeln('0. Exit':15);
writeln;
write('Pilih Nomor : ':23);pil:=readkey;
end;
begin Clrscr;
repeat menu;
Case Pil Of
'1': input;
'2': output;
'3': about;
end;
until pil='0';
donewincrt;
end.
Jumat, 13 Januari 2012
[Turbo Pascal] RECORD pada Pascal
03.13
IT COM STMIK
2 comments
2 komentar:
thx admin berbagi ilmunya..
Sama2 bro...smoga bermanfaat aja nih buat kalian
Posting Komentar