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:
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:
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:
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:
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:
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)?
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:
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.
Sumber wk.com
EmoticonEmoticon