Tutorial Belajar Pascal Part 24: Fungsi Perintah With pada Tipe data Record Pascal

Setelah membahas pengertian tipe data record dan cara penggunaan tipe data record pascal, kali ini saya akan membahas perintah with yang bisa digunakan untuk mengakses isi record dalam bahasa pemrograman pascal.

Perintah with ini akan memudahkan pengaksesan isi atau field dari record.


Cara Mengakses Field Record dalam Pascal

Seperti yang telah kita pelajari, untuk mengakses isi record, atau dikenal dengan istilah field record, kita menggunakan tanda titik. Sebagai contoh, jika saya memiliki record 'siswa' berikut:

var
  siswa: record
           nama: string[20];
           umur: integer;
           sekolah: string[30];
           kota: string[20];
         end;

Untuk mengakses field record siswa tersebut harus ditulis dengan format nama_record.field_record, seperti berikut ini:

  siswa.nama:= 'Anto';
  siswa.umur:= 17;
  siswa.sekolah:= 'SMA 1 Durian Runtuh';
  siswa.kota:= 'Pelembang';

Perintah siswa.nama:= 'Anto' berarti saya ingin mengisi field nama dari record siswa dengan nilai 'Anto'.


Fungsi perintah With dalam Pascal

Selain cara pengaksesan diatas, pascal menyediakan keyword atau perintah with. Perintah with ini bisa digunakan untuk menyederhanakan pengaksesan isi record.

Sebagai contoh, proses pengisian record siswa sebelumnya bisa ditulis menjadi:

with siswa do
    begin
      nama:= 'Anto';
      umur:= 17;
      sekolah:= 'SMA 1 Durian Runtuh';
      kota:= 'Pelembang';
    end;

Kode program diatas diawali dengan perintah "with siswa do" ini merupakan instruksi kepada pascal bahwa kita ingin akan mengakses isi dari record siswa. Setelah perintah with, kita harus membatasi block kode program dengan perintah begin hingga end; Diantara blok inilah pengaksesan record dengan with dilakukan.

Perhatikan cara pengaksesan isi/field dari record siswa. Saya tidak perlu membuat nama variabel record "siswa.nama", tetapi cukup "nama" saja. Ini akan memudahkan penulisan kode program, terutama jika record yang diisi cukup banyak.

Berikut contoh lengkap kode program pascal dengan perintah with:

program tipe_record;
uses crt;
var
  siswa: record
           nama: string[20];
           umur: integer;
           sekolah: string[30];
           kota: string[20];
         end;
begin
  clrscr;
  with siswa do
    begin
      nama:= 'Anto';
      umur:= 17;
      sekolah:= 'SMA 1 Durian Runtuh';
      kota:= 'Pelembang';
    end;
 
  writeln('Nama : ',siswa.nama);
  writeln('Umur : ',siswa.umur);
  writeln('Sekolah : ',siswa.sekolah);
  writeln('Kota : ',siswa.kota);
 
  readln;
end.

Lebih jauh lagi, kita bisa melingkupi seluruh kode program dengan perintah with.

program tipe_record;
uses crt;
var
  siswa: record
           nama: string[20];
           umur: integer;
           sekolah: string[30];
           kota: string[20];
         end;
begin
  clrscr;
  with siswa do
    begin
      nama:= 'Anto';
      umur:= 17;
      sekolah:= 'SMA 1 Durian Runtuh';
      kota:= 'Pelembang';
 
      writeln('Nama : ',nama);
      writeln('Umur : ',umur);
      writeln('Sekolah : ',sekolah);
      writeln('Kota : ',kota);
  end;
 
  readln;
end.

Cara membuat record dalam bahasa pascal

Penggunaan perintah with seperti ini hanya bisa digunakan selama di dalam block kode program tersebut kita tidak mengakses record lain. Jika butuh untuk mengakses record lain, kita harus keluar dari block with terlebih dahulu (menggunakan perintah end;).


Perintah with yang kita pelajari disini cocok digunakan untuk mempermudah pengaksesan record, terutama jika record tersebut memiliki banyak field. Dalam tutorial berikutnya kita akan mempelajari cara membuat array dari struktur data record.


eBook Pascal Uncover Duniailkom
Apabila anda serius ingin mempelajari Pascal dan butuh materi Pascal yang jauh lebih lengkap, Duniailkom telah menerbitkan eBook Pascal Uncover yang membahas bahasa pemrograman Pascal dari dasar hingga procedure, function dan contoh kasus. Penjelasan lebih lanjut bisa ke eBook Pascal Uncover Duniailkom.

10 Comments

  1. Anggara Galih
    23 Jan 16
  2. Anggara Galih
    23 Jan 16
    • Andre
      23 Jan 16
  3. Febrian
    23 Mar 16
    • Andre
      23 Mar 16
    • Ariewijaya
      23 Jul 16
  4. hendro
    09 May 16
  5. Vanst
    22 Apr 18
    • Andre
      24 Apr 18

Add Comment