Mengenal Tipe Data Set

Tipe data Set adalah tipe data yang mendefinisikan beberapa isi data dengan satu variabel saja.Deklarasinya adalah sebagai berikut:

Set of  tipe_ordinal
Contoh:
character : 'B', '6'
integer: dari angka 0 sampai 255
enumerasi: statusEditData, statusTambahData,


ATAU

Set of jangkauan_data_tertentu
Contoh:
var
  Nilai_Istimewa : Set of  90..100;
  Nilai_Baik : Set of  80..89;
  Nilai_Sedang: Set of 70..79;
  Nilai_Rendah: Set of 60..69;
  Nilai_Buruk: Set of 0..59;

Perlu diingat, bahwa deklarasi di bagian type dan var hanya menyatakan jangkauannya. Bukan isinya. Kita harus mengisinya sesuai dengan jangkauan yang telah dibuat.

Mari kita praktek membuat program kecil. Tugas program ini adalah menyimpan nilai-nilai dalam jangkauan angka dan menyatakan apakah nilai tersebut istimewa, baik, sedang, rendah dan buruk. Buat satu form berisikan satu Memo, dan empat tombol seperti gambar dibawah ini:


 Deklarasikan pada bagian var di form sebagai berikut:

var
  Nilai_Istimewa : Set of 90..100;
  Nilai_Baik : Set of  80..89;
  Nilai_Sedang: Set of 70..79;
  Nilai_Rendah: Set of 60..69;
  Nilai_Buruk: Set of 0..59;


Isikan kode program berikut pada bagian FormCreate:

memo1.Clear;
edit1.Clear;
Nilai_Istimewa := [90..100];
Nilai_Baik := [80..89];
Nilai_Sedang := [70..79];
Nilai_Rendah := [60..69];
Nilai_Buruk := [0..59];


Kode program diatas adalah mengisi nilai-nilai pada variabel Nilai_Istimewa, Nilai_Baik, Nilai_Sedang, Nilai_Rendah dan Nilai_Buruk. Tanpa mengisinya seperti ini, maka isi dari variabel-variabel tersebut diatas adalah kosong.

Kemudian isikan event OnClik pada masing-masing tombol sebagai berikut:

procedure TForm1.btnNilaiBurukClick(Sender: TObject);
var
    i : Integer;
begin
    memo1.Clear;
    for i in Nilai_Buruk do
        Memo1.Lines.Add( IntToStr(i) )

end;

procedure TForm1.btnNilaiIstimewaClick(Sender: TObject);
var
    i : Integer;
begin
    memo1.Clear;
    for i in Nilai_Istimewa do
        Memo1.Lines.Add( IntToStr(i) )
end;

procedure TForm1.btnNilaiSedangClick(Sender: TObject);
var
    i : Integer;
begin
    memo1.Clear;
    for i in Nilai_Sedang do
        Memo1.Lines.Add( IntToStr(i) )
end;


Program diatas akan menampilkan isi dari set sesuai definisi. Jika Anda menekan tombol 'Nilai Istimewa', maka akan timbul data-data seperti dibawah ini:


Sekarang kita kembangkan tipe data set untuk menentukan, apakah nilai yang dimasukkan adalah nilai Istimewa, baik, sedang, rendah atau buruk. Ubah form yang baru dibuat tadi menjadi seperti ini:


Isi kode tombol "Cek Nilai" sebagai berikut:

var
    x : integer;
begin
   x  := strtoint(edit1.Text);
   if x in Nilai_Istimewa then
      ShowMessage('Nilai Istimewa')
   else
   if x in Nilai_Baik then
      ShowMessage('Nilai Baik')
   else
   if x in Nilai_Sedang then
      ShowMessage('Nilai Sedang')
   else
   if x in Nilai_Rendah then
      ShowMessage('Nilai Rendah')
   else
   if x in Nilai_Buruk then
      ShowMessage('Nilai Buruk')
end;


Program diatas menggunakan operator IN untuk memeriksa apakah suatu nilai ada dalam isian pada variabel target. Jika Anda mengisi nilai 50 dan menekan tombol "Cek Nilai" maka akan  muncul tampilan seperti ini:

 Perintah Exclude digunakan untuk menghilangkan isi data tertentu dari daftar yang sudah ada sehingga nilai tersebut bukan lagi anggota dari variabel itu, sedangkan perintah Include memasukkan nilai ke daftar.

Sekarang ubah program di FormCreate dari :

Nilai_Istimewa := [90..100];
Nilai_Baik := [80..89];


Menjadi:

Nilai_Istimewa := [90..100];
Exclude(Nilai_Istimewa, 90);

Nilai_Baik := [80..89];
Include(Nilai_Baik, 90);


Semula 90 akan menjadi "Nilai_Istimewa" tetapi perintah Exclude(Nilai_Istimewa, 90); menjadikan nilai 90 bukan lagi "Nilai Istimewa". Coba tekan tombol Nilai Istimewa, Nilai yang tertera dimulai dengan angka 91. Sedangkan perintah Include(Nilai_Baik, 90); menjadikan nilai 90 menjadi anggota Nilai Baik.
 
Program Selengkapnya:

Mengenal Tipe Data Set Rating: 4.5 Diposkan Oleh: Good Dreamer

0 comments:

Posting Komentar

Diberdayakan oleh Blogger.