Menggunakan Tipe Data RECORD pada Pascal

baca 3 menit
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.

pascal
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.

pascal
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.

pascal
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.

pascal
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.