Himpunan

Tipe data set digunakan untuk membuat variabel yang bisa digunakan dalam operasi himpunan. Tipe data set hanya menyimpan satu jenis type data dasar dengan beberapa nilai dengan tipe data yang sama. Tipe data dasar dalam himpunan bisa berupa bilangan bulat, bilangan real/pecahan, char dan string. Berikut ini contoh deklarasinya untuk masing-masing tipe data.
  1. var himpunan : Set of char;
  2. var himpunan : Set of integer;
  3. var himpunan : Set of real;
  4. var himpunan : Set of string;
Variabel himpunan merupakan tipe data set yang bisa diisi dengan sembarang karakter atau angka dengan tipe data char atau byte. Kita bisa membatasi anggota yang bisa diterima oleh himpunan ini dg deklarasi seperti berikut ini : 

var 
himpunan1: set of 0..9;
himpunan2: set of 'A'..'Z';

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

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

Berikut ini adalah contoh kode programnya.

program himpunan;
uses crt;
var himpunan_vokal: set of char;
begin
  clrscr;
  himpunan_vokal := ['a','i','u','e','o'];
  if ('e' in himpunan_vokal) then writeln('e ada di himpunan_vokal');
  readln;
end.

Operator "in" digunakan untuk mengecek keberadaan suatu nilai di dalam variabel dengan tipe data set / himpunan. Pada contoh di atas 'e' ada di dalam variabel himpunan_vokal sehingga pernyataan dalam percabangan "if 'e' in himpunan_vokal" akan dijalankan. Jika 'e' tidak ada maka pernyataan dalam percabangan tersebut tidak akan dijalankan.

Ada beberapa operator yang bisa digunakan untuk membandingkan dua tipe data set. Berikut ini adalah operator yang bisa digunakan untuk tipe data set :
  1. + (Gabungan)
  2. - (Ambil hanya yang ada di variabel pertama)
  3. * (Irisan)
  4. >< (Perbedaan)
Di bawah ini adalah contoh penggunaannya dalam kode program.

program himpunan;
uses crt;
var
    i:integer;
    himpunan1: set of byte;
    himpunan2: set of byte;
    himpunan3: set of byte;
    himpunan4: set of byte;
    himpunan5: set of byte;
    himpunan6: set of byte;
begin
clrscr;
    himpunan1 := [1,2,3,4,5];
    himpunan2 := [5,6,7];
    himpunan3 := himpunan1 + himpunan2;
    himpunan4 := himpunan1 - himpunan2;
    himpunan5 := himpunan1 * himpunan2;
    himpunan6 := himpunan1 >< himpunan2;
    writeln;write('Himpunan1 : ');
    for i in himpunan1 do write(i, ' ');
    writeln;write('himpunan2 : ');
    for i in himpunan2 do write(i, ' ');
    writeln;write('gabungan / union : ');
    for i in himpunan3 do write(i, ' ');
    writeln;write('Hanya ada di himpunan 1 : ');
    for i in himpunan4 do write(i, ' ');
    writeln;write('Irisan : ');
    for i in himpunan5 do write(i, ' ');
    writeln;write('Perbedaan : ');
    for i in himpunan6 do write(i, ' ');
    readln;

end.
Dalam kode program di atas juga sudah saya beri contoh penggunaan perulangan untuk tipe data himpunan. Selanjutnya kalian bisa mencoba sendiri untuk membuat program yg berkaitan dengan himpunan.

1 comments:

Klik di sini untuk berkomentar