Tutorial Belajar Pascal Part 26: Pengertian dan Cara Penggunaan Tipe Data Set Pascal

108

Yodha.web.id – Melanjutkan tutorial belajar tentang tipe data pascal, kali ini saya akan membahas pengertian dan cara penggunaan tipe data set di dalam pascal.

Tipe data set digunakan untuk membuat operasi himpunan.


Pengertian Tipe Data Set Pascal

Tipe data set adalah tipe data yang terdiri dari kelompok data yang sama. Ini sedikit mirip dengan tipe data enumeration, dimana kita bisa menentukan sendiri isi dari tipe data set.

Secara khusus, tipe data set ini sangat mirip dengan konsep himpunan di dalam matematika.

Sebagai contoh, misalnya saya membuat sebuah himpunan huruf fokal, himpunan ini terdiri dari huruf ‘a’, ’i’, ’u’, ’e’ dan ‘o’. Kemudian, saya bisa melakukan beberapa proses terhadap himpunan ini, apakah itu penambahan dengan himpunan lain (union), pengurangan dengan himpunan lain (irisan), dll.

Di dalam pascal, konsep himpunan inilah yang menjadi tipe data set.


Cara Penggunaan Tipe Data Set Pascal

Untuk membuat tipe data set di dalam pascal, kita cukup mendeklarasikan variabel sebagai set of tipe_data. Sebagai contoh, untuk membuat variabel yang merupakan himpunan dari tipe data char, bisa ditulis seperti berikut ini:

1
2
var
  himpunan1: set of char;

Sekarang, variabel himpunan1 merupakan tipe data set yang bisa diisi dengan sembarang karakter (char). Kita juga bisa membatasi anggota yang bisa diterima oleh himpunan ini, yang penulisannnya dilakukan sebagai berikut:

1
2
3
4
var
  himpunan1: set of 1..9;
  himpunan2: set of 99..999;
  himpunan3: set of ‘a’..’z’;

Untuk mengisi anggota himpunan, dilakukan dengan menggunakan tanda kurung siku. Sebagai contoh, jika himpunan1 merupakan set of char, saya bisa mengisinya dengan karakter huruf vokal seperti berikut ini:

1
himpunan1 := ['a','i','u','e','o'];

Sekarang, himpinan 1 akan berisi 5 anggota yakni huruf ‘a’, ‘i’, ‘u’, ‘e’, dan ‘o’.

Mari kita lihat cara penggunaan tipe data set ini didalam bahasa pemrograman pascal:

1
2
3
4
5
6
7
8
9
10
11
12
13
program tipe_set;
uses crt;
var
  himpunan1: set of char;
begin
  clrscr;
  himpunan1 := ['a','i','u','e','o'];
 
  if 'e' in himpunan1 then
    writeln('e ada di himpunan1');
 
  readln;
end.

Jika anda menjalankan kode program diatas, hasilnya adalah: ‘e ada di himpunan1’. Sampai di tutorial ini, saya memnag belum membahas struktur logika IF, tapi kode:

1
2
if 'e' in himpunan1 then
  writeln('e ada di himpunan1');

Bisa dibaca: Jika ‘e’ ada di dalam himpunan1, maka jalankan perintah writeln(‘e ada di himpunan1’).

Bagaimana jika karakter yang dicari tidak ada? Mari kita coba:

1
2
3
4
5
6
7
8
9
10
11
12
13
program tipe_set;
uses crt;
var
  himpunan1: set of char;
begin
  clrscr;
  himpunan1 := ['a','i','u','e','o'];
 
  if 'x' in himpunan1 then
    writeln('x ada di himpunan1');
 
  readln;
end.

Jika anda menjalankan kode diatas, tidak akan tampil apa-apa, karena variabel x tidak terdapat di dalam himpunan1.

Untuk contoh selanjutnya, saya akan menggunakan himpunan angka 0 sampai 9. Berikut kode programnya:

1
2
3
4
5
6
7
8
9
10
11
12
13
program tipe_set;
uses crt;
var
  himpunan1: set of 1..9;
begin
  clrscr;
  himpunan1 := [1,3,8,9];
 
  if 8 in himpunan1 then
    writeln('8 ada di himpunan1');
 
  readln;
end.

Kode program diatas sangat mirip dengan kode program kita sebelumnya, tapi kali ini saya membuat anggota himpunan yang terdiri dari angka 0 hingga 9. Karena huruf 8 terdapat di dalam himpunan1, maka akan tampil hasil ‘8 ada di himpunan1’.

Jika anda perhatikan, himpunan1 saya batasi hanya bisa diisi dengan angka 0 hingga 9 (melalui perintah: himpunan1: set of 1..9). Bagaimana jika saya memasukkan angka diluar ini? Mari kita coba:

1
2
3
4
5
6
7
8
9
10
11
12
13
program tipe_set;
uses crt;
var
  himpunan1: set of 1..9;
begin
  clrscr;
  himpunan1 := [1,3,8,9,10];
 
  if 10 in himpunan1 then
    writeln('10 ada di himpunan1');
 
  readln;
end.

Saya menambahkan angka ‘10’ kedalam anggota himpunan1, dan anehnya pascal tidak akan mengeluarkan error. Kode program diatas bisa dijalankan, tapi…. tidak akan menampilkan hasil apa-apa. Kenapa? Karena angka 10 tidak ikut dihitung sebagai aggota himpunan1 yang memang dibatasi hanya angka 0 sampai 9.

Sebagai penutup tutorial cara penggunaan tipe data set pascal ini, saya akan mencoba menampilkan operasi penggabungan himpunan, atau di dalam teori himpunan dikenal dengan operasi union. Berikut contoh kode programnya:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program tipe_set;
uses crt;
var
  i:char;
  himpunan1: set of char;
  himpunan2: set of char;
  himpunan3: set of char;
begin
  clrscr;
  himpunan1 := ['a','i','u','e','o'];
  himpunan2 := ['x','y','z'];
 
  himpunan3 := himpunan1 + himpunan2;
 
  for i in himpunan3 do
    writeln(i);
 
  readln;
end.

Sekali lagi, pembahasan tentang operator dan struktur FOR akan saya bahas setelah tutorial tentang tipe data selesai. Tapi secara singkat, kode program diatas menggabungkan (union) himpunan1 dengan himpunan2, yang hasilnya disimpan ke dalam himpunan3.

Perulangan for digunakan untuk menampilkan seluruh isi dari himpunan3. Hasilnya adalah sebagai berikut:

Dapat terlihat, himpunan3 terdiri dari anggota gabungan dari himpunan1 dan himpunan2.


Dalam tutorial belajar pascal kali ini kita telah membahas tentang tipe data set di dalam pascal. Berikutnya, kita akan membahas tipe data yang sangat menarik, namun tidak jarang membuat sakit kepala: tipe data pointer pascal.

Incoming search terms:

  • tipe data set pada pascal