Document - IKK113105 - STMIK EL RAHMA 06. Record REKAMAN

MODUL MATA KULIAH
LOGIKA DAN ALGORITMA
STIMIK EL RAHMA
JOGJAKARTA 2015
JURUSAN : SISTEM INFORMASI
SEMESTER GENAP 2015
Materi :
RECORD (REKAMAN)
Record adalah tipe terstruktur yang terdiri atas sejumlah elemen yang tipenya tidak harus
sama.
Elemen di dalam suatu record disebut dengan istilah field (medan).
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

Filed 2

Field 3


Field 4

ARRAY dari RECORD
Perbedaan utama RECORD dengan Array dalah bahwa elemen dalam suatu array
semuanya memiliki tipe yang sama sedang elemen-elemen di dalam rekaman tidak harus
bertipe sama.
Contoh :
type LARIK = array [1..100] of real;
var a : larik;
Dari deklarasi di atas berarti kita mendefinisikan suatu tipe data baru bernama LARIK
yang merupakan array berisi data real dengan elemen maksimum yang dapat ditampung
sebanyak 100 yang ditandai sebagai elemen ke-1, ke-2, ke-3 dan seterusnya.
Salah satu variabel yang memiliki tipe LARIK adalah variabel A.
Dengan demikian variabel A dapat menampung data maksimum sebanyak 100 dan data
yang disimpan harus bertipe real..
Untuk memahami tipe data record perhatikan contoh tabel data mahasiswa di bawah ini.
NIM
NAMA
USIA
JML_SAUDARA

111
Ananda
21
3
112
Budiawan
22
2
113
Denada
21
4
114
Fitria
20
1

Bila kita perhatikan tabel di atas, kita peroleh gambaran:
Dalam 1 kolom, tipe data yang diisikan pasti sama (misal NIM dideklarasikan sebagai
data numeric (integer misalnya) maka semua NIM harus berupa data angka) suatu obyek

dapat dikenali secara tunggal menggunakan gabungan nilai data kolom-kolom dalam
setiap barisnya.
(misal : gabungan nilai NIM ‘5234’, NAMA ‘K. Mustofa’, USIA ‘26’ dan
JML_SAUDARA ‘2’ mengacu pada suatu obyek yang tertentu yaitu seseorang)
Di dalam konsep database, kolom dalam suatu tabel seperti di atas disebut sebagai atribut
atau field. Sedang gabungan field-field dalam suatu baris disebut tuple atau record.
Dengan deskripsi di atas, dapat dikatakan bahwa seorang mahasiswa dapat dinyatakan
sebagai suatu record yang memiliki 4 data (elemen) yaitu field NIM, field NAMA, field
USIA dan field JML_SAUDARA.
Bagaimanakan representasi record dalam PASCAL?
Record dalam bahasa pascal dapat dideklarasikan dengan cara (bentuk umum) sebagai
berikut:
TYPE nama_pengenal_record = RECORD
nama_field1: type_field1;
nama_field2: type_field2;
nama_field3: type_field3;
:
:
nama_fieldn: type_fieldn;
END;

Dengan mengambil contoh data mahasiswa di atas, kita dapat memiliki deklarasi sebagai
berikut:
TYPE mahasiswa = RECORD
nim : integer;
nama: string[30];
usia: byte;
jml_saudara: 0..15;
END;
Bagaimana Menggunakan Tipe Data Record dan Mengakses Field-Field di dalamnya?
Kalau kita sudah memiliki deklarasi record seperti di atas, maka untuk menggunakannya
di dalam program tentunya kita tinggal memesan variabel-variabel yang kita perlukan
dengan perintah VAR.
Perhatikan contoh berikut:

var mhs : mahasiswa;
banyak : array[1..20] of mhs;
Deklarasi / pemesanan variabel di atas berarti program memerlukan alokasi memori yang
akan dipergunakan untuk menyimpan data bertipe mhs.
Variabel "satu" dapat dipergunakan untuk menyimpan data satu mahasiswa, sedang
variabel "banyak" dapat dipergunakan untuk menyimpan maksimum 20 data mahasiswa.

Untuk mengakses data bertipe record kita tidak dapa melakukannya dengan satu langkah
seperti halnya ketika kita mengakses suatu variabel sederhana.
Kalau kita memiliki variabel p bertipe sederhana (integer, byte, word, char, real) maka
untuk memberikan nilai kira dapat menggunakan operator assignment (:=) atau untuk
membaca masukan dari user kita dapat melakukannya dengan perintah readln(p), tetapi
dengan data/variabel bertipe record kita tidak dapat melakukannya sesederhana itu.
Untuk mengakses fiel-field pada suatu variabel bertipe record dapat dilakukan dengan
dua cara :
dengan menggunakan operator/notasi titik
Syntax secara umum :
nama_variabel_record . nama_field
Contoh berikut adalah sah:
readln(satu.nim); readln(satu.nama);
mhs.nim :=2014999;
mhs.nama := ‘Rahma’;
mhs.kota :=’Sleman’;
banyak[1]. nim := 5558;
banyak[6].nama := ‘YOGYAKARTA’;
dengan menggunakan statemen pembatas with … do
Syntax secara umum :

with nama_variabel do
begin
lakukan operasi terhadap field-field
--------end;
Contoh penulisan berikut adalah valid :
with satu do readln(nama)
with satu do begin

readln(nama);{sama artinya dengan readln (satu.nama)}
readln(nim);
readln(usia);
jml_saudara := 5; {sama artinya dengan satu.jml_saudara := 5}
nama:= ‘AKU’
end;
with banyak[5] do begin
readln(usia);
readln(nama);
end;
LATIHAN :
Buatlah algoritma Pascal : Persediaan Barang yang terdiri dari field : Kode,

Nama_barang, Jumlah, Harga.
Kode
1999
1890
1777

Nama_Barang
Monitor
Hardisk
Memory

Jumlah
12
20
30

Harga
800000
750000
220000