Tutorial Belajar Pascal Part 25: Cara Membuat Array dari Struktur Data Record Pascal

55

Yodha.web.id – Melihat judul tutorial kali ini mungkin terdengar sedikit rumit. Tapi jika anda sudah memahami cara penggunaan tipe data array dan tipe data record pascal (yang telah kita bahas sebelumnya) , pembahasan kali ini bisa dipahami dengan mudah.

Kali ini saya akan saya akan menggabungkan tipe data array dengan tipe data record, atau lebih tepatnya membuat array dari struktur data record di dalam bahasa pemrograman pascal.


Cara Membuat Tipe Data Record Bentukan

Pada 2 tutorial record pascal sebelum ini, saya membuat record di bagian var kode program pascal. Kali ini saya akan memindahkannya ke bagian type. Dengan demikian, record akan menjadi tipe data bentukan yang nantinya bisa digunakan sebagai basis dari array.

Sebagai contoh, saya kembali menggunakan record data ‘siswa’. Sebelumnya kita mendefenisikan record siswa di bagian var, seperti contoh berikut ini:

1
2
3
4
5
6
7
var
  siswa: record
           nama: string[20];
           umur: integer;
           sekolah: string[30];
           kota: string[20];
         end;

Saya akan memindahkannya kepada bagian type, kemudian mengaksesnya dari bagian var:

1
2
3
4
5
6
7
8
9
10
11
type
  rec_siswa =
    record
      nama: string[20];
      umur: integer;
      sekolah: string[30];
      kota: string[20];
    end;
var
  siswa: rec_siswa;

Tampak sedikit perubahan, dimana kali ini saya menggunakan variabel ‘rec_siswa’ sebagai penampung tipe data bentukan record, baru kemudian ‘memasukkannya’ ke dalam variabel ‘siswa’.

Berikut kode program lengkap cara pembuatan record di bagian type pascal:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
program tipe_record;
uses crt;
type
  rec_siswa =
    record
      nama: string[20];
      umur: integer;
      sekolah: string[30];
      kota: string[20];
    end;
var
  siswa: rec_siswa;
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.

Selain memindahkan record ‘siswa’ ke bagian type, saya juga menggunakan perintah with untuk memudahkan pengaksesan isi array. Ini sudah kita bahas pada tutorial sebelumnya: Fungsi dan cara penggunaan perintah with pada record.


Cara Membuat Array dari Struktur Data Record

Setelah memindahkan record ke bagian type, kita bisa membuat array berdasarkan record ini. Melanjutkan contoh record siswa, cara pembuatan array-nya adalah sebagai berikut:

1
2
var
  siswa: array [0..5] of rec_siswa;

Kode program ini akan membuat variabel siswa berisi 5 element array yang setiap element-nya adalah record. Terasa membingungkan?

Untuk mengakses element ini, kita juga harus menggunakan index array. Sebagai contoh, untuk mengakses element pertama, yang memiliki index 0, kita bisa menulis sebagai berikut:

1
2
3
4
  siswa[0].nama:= 'Anto';
  siswa[0].umur:= 17;
  siswa[0].sekolah:= 'SMA 1 Durian Runtuh';
  siswa[0].kota:= 'Pelembang';

Bagaimana untuk element kedua (ber-index 1)?

1
2
3
4
  siswa[1].nama:= 'Santi';
  siswa[1].umur:= 18;
  siswa[1].sekolah:= 'SMA 1 Merdeka';
  siswa[1].kota:= 'Makasar';

Seperti yang terlihat, kita mengkombinasikan pengaksesan index array dengan record. Berikut kode program lengkap cara penggabungkan array dengan record ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
program tipe_record_array;
uses crt;
type
  rec_siswa =
    record
      nama: string[20];
      umur: integer;
      sekolah: string[30];
      kota: string[20];
    end;
var
  siswa: array [0..5] of rec_siswa;
begin
  clrscr;
 
  siswa[0].nama:= 'Anto';
  siswa[0].umur:= 17;
  siswa[0].sekolah:= 'SMA 1 Durian Runtuh';
  siswa[0].kota:= 'Pelembang';
 
  writeln('Nama : ',siswa[0].nama);
  writeln('Umur : ',siswa[0].umur);
  writeln('Sekolah : ',siswa[0].sekolah);
  writeln('Kota : ',siswa[0].kota);
 
  writeln;
 
  siswa[1].nama:= 'Santi';
  siswa[1].umur:= 18;
  siswa[1].sekolah:= 'SMA 1 Merdeka';
  siswa[1].kota:= 'Makasar';
 
  writeln('Nama : ',siswa[1].nama);
  writeln('Umur : ',siswa[1].umur);
  writeln('Sekolah : ',siswa[1].sekolah);
  writeln('Kota : ',siswa[1].kota);
 
  readln;
end.

Semoga anda bisa memahami maksud dari kode program diatas. Sebagai latihan, dapatkah anda melanjutkannya hingga element ke-6 (yang memiliki index array 5)?


Tutorial kali ini sekaligus menutup 3 tutorial yang membahas tipe data record pascal. Berikutnya kita akan masuk ke dalam tipe data set dalam bahasa pemrograman pascal.