Menggunakan Tipe Data RECORD pada Pascal
Setelah sebelumnya kita membahas tentang tipe data bentukan pada Pascal, kali ini kita akan membahas tentang salah satu tipe data terstruktur, yaitu RECORD pada Pascal.
Pengertian RECORD Pada Pascal
RECORD merupakan tipe data terstruktur pada bahasa Pascal yang terdiri dari kumpulan tipe data standar dan bentukan.
Fungsi dari RECORD adalah untuk menyatukan beberapa tipe data yang berbeda menjadi satu.
Bayangkan seperti ini.
Suatu sekolah ingin menyimpan data dari para siswanya. Nah data siswa ini terdiri dari beberapa komponen sebagai berikut:
- Nama Lengkap
- Nama Panggilan
- Kelas
- Umur
- Jenis Kelamin
Agar tetap terstruktur data tersebut harus dituliskan dalam satu lembar kertas. Tidak mungkin kan jika nama lengkap dan kelas ditulis dalam kertas yang berbeda. Cara itu tidak efisien.
Nah kurang lebih peran RECORD di sini adalah sebagai kertas yang menyatukan beberapa data siswa.
Format Penulisan RECORD pada Pascal
RECORD harus dideklarasikan terlebih dahulu pada bagian type
, karena nantinya akan digunakan sebagai tipe data.
type
nama-record = record
data-1: tipe-data;
data-2: tipe-data;
...
data-n: tipe-data;
end;
Berikut ini cara mendeklarasikan RECORD untuk data siswa.
type
Data_Siswa = record
nama_lengkap : string;
nama_panggilan: string;
kelas : integer;
umur : integer;
jenis_kelamin : string;
end;
var
siswa: Data_Siswa; // deklarasi variable dengan tipe RECORD "Data_Siswa"
Atau untuk lebih cepatnya, deklarasi RECORD dapat langsung digunakan sebagai tipe data variable.
var
siswa: record
nama_lengkap : string;
nama_panggilan: string;
kelas : integer;
umur : integer;
jenis_kelamin : string;
end;
Saya sarankan untuk memberi ekstra spasi pada deklarasi RECORD hingga tanda titik dua sejajar karena dapat memudahkan dalam membaca kode program.
Mengakses Nilai pada RECORD
Untuk mengakses nilai pada RECORD, entah memasukkan nilai atau membaca nilai, dapat digunakan tanda titik setelah nama variable record.
Untuk lebih jelasnya mari kita langsung coba membuat sebuah program sederhana.
program BelajarRecord;
uses crt;
type
Data_Siswa = record
nama_lengkap : string;
nama_panggilan: string;
kelas : integer;
umur : integer;
jenis_kelamin : string;
end;
var
siswa: Data_Siswa;
begin
clrscr;
siswa.nama_lengkap := 'Budi Pekerti';
siswa.nama_panggilan := 'Budi';
siswa.kelas := 10;
siswa.umur := 15;
siswa.jenis_kelamin := 'Laki-laki';
// mencetak isi RECORD datasiswa
writeln('nama lengkap: ', siswa.nama_lengkap);
writeln('nama panggilan: ', siswa.nama_panggilan);
writeln('kelas: ', siswa.kelas);
writeln('umur: ', siswa.umur);
writeln('jenis kelamin: ', siswa.jenis_kelamin);
readln;
end.
Pada contoh tersebut kita mengisikan variable siswa yang berupa RECORD dengan nilainya masing-masing lalu mencetaknya. Kira kira outputnya akan tampak seperti ini.
nama lengkap: Budi Pekerti
nama panggilan: Budi
kelas: 10
umur: 15
jenis kelamin: Laki laki
Nilai dalam variable RECORD ini pada dasarnya seperti variable biasa, sehingga dapat dilakukan operasi aritmatika maupun boolean.
Kalau melihat contoh kode tersebut sepertinya terlihat panjang ya. Apa ada cara supaya lebih singkat?
Ada dong...
Untuk mempersingkat pemanggilan tipe data RECORD kita bisa menggunakan perintah WITH DO.
Menggunakan WITH DO untuk Mengakses Nilai RECORD
WITH DO memungkinkan kita untuk menggunakan RECORD sekaligus. Jadi saat akan mengakses nilai dalam RECORD kita tidak perlu lagi memanggil nama variablenya.
Mari kita modifikasi kode yang sebelumnya kita buat, dengan menggunakan WITH DO.
program BelajarRecord;
uses crt;
type
Data_Siswa = record
nama_lengkap : string;
nama_panggilan: string;
kelas : integer;
umur : integer;
jenis_kelamin : string;
end;
var
siswa: Data_Siswa;
begin
clrscr;
with siswa do // menggunakan perintah WITH DO
begin
nama_lengkap := 'Budi Pekerti';
nama_panggilan := 'Budi';
kelas := 10;
umur := 15;
jenis_kelamin := 'Laki-laki';
end;
// mencetak isi RECORD datasiswa
with siswa do
begin
writeln('nama lengkap: ', nama_lengkap);
writeln('nama panggilan: ', nama_panggilan);
writeln('kelas: ', kelas);
writeln('umur: ', umur);
writeln('jenis kelamin: ', jenis_kelamin);
end;
readln;
end.
Jika dijalankan output yang dihasilkan akan sama seperti sebelumnya.
Fungsi perintah WITH DO disini adalah untuk menggunakan inisial dari variable. Sehingga seluruh blok kode yang berupa variable di antara BEGIN dan END akan otomatis merujuk pada variable RECORD.
Jadi lebih bersih bukan
Penutup
Cukup sekian untuk tutorial kali ini, semoga bermanfaat
Pada tutorial selanjutnya kita akan membahas tentang array pada Pascal.