Tutorial Belajar Pascal Part 17: Pengertian dan Cara Penggunaan Tipe Data Enumerated Pascal

57

Yodha.web.id – Dalam tutorial pascal sebelum ini kita telah mempelajari 4 tipe dasar pascal: integer, real, char dan boolean (di dalam pascal, tipe data string bukanlah tipe data dasar karena merupakan array dari char).

Pada tutorial ini dan beberapa tutorial selanjutnya kita akan masuk ke tipe data bentukan pascal. Saya akan mulai dengan membahas pengertian dan cara penggunaan tipe data enumerated dalam bahasa pemrograman pascal.


Pengertian Tipe Data Enumerated Pascal

Tipe data enumerated adalah tipe data khusus yang isinya bisa kita tentukan sendiri. Sebagai contoh, kita bisa membuat tipe enumerated ‘warna’ yang berisi: merah, kuning, biru dan ungu. Atau tipe enumerated ‘nama_hari’ yang berisi nama-nama hari seperti senin, selasa, rabu, dst.

Tipe data enumerated sering juga disebut enumeration atau enum saja.


Cara Penggunaan Tipe Data Enumerated Pascal

Untuk membuat tipe data enumerated di pascal, kita harus menggunakan perintah type, baru kemudian mendeklarasikannya menggunakan perintah var.

Sebagai contoh, jika saya ingin membuat tipe enum “nama_hari” yang berisi nama-nama hari, harus mendefenisikannya sebagai berikut:

1
2
type
  nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);

Setelah itu, baru diberikan ke dalam variabel:

1
2
var
  a,b: nama_hari;

Sekarang variabel a dan b berisi tipe enum nama_hari. Berikut contoh kode program lengkapnya:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program tipe_enumerated;
uses crt;
type
  nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
var
  a,b: nama_hari;
begin
  clrscr;
 
  a:= senin;
  writeln('a: ',a);
 
  b:= minggu;
  writeln('b: ',b);
 
  readln;
end.

Perhatikan urutan pendefenisian tipe enum ‘warna’, dimana kita harus membuat isinya terlebih dahulu (menggunaka keyword type), baru kemudian diberikan ke dalam variabel (menggunakan keyword var).

Variabel a dan b dalam contoh diatas hanya bisa diisi dengan nilai yang ada di dalam tipe data enum warna. Jika saya memberikan nama lain, compiler pascal akan menghasilkan error, seperti contoh berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
program tipe_enumerated;
uses crt;
type
  nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
var
  a,b: nama_hari;
begin
  clrscr;
 
  a:= januari;
  writeln('a: ',a);
 
  readln;
end.

Pada contoh diatas, saya mencoba memberikan nilai ‘januari’ ke dalam variabel a. Hasilnya, compiler FreePascal akan menghasilkan error karena ‘januari’ tidak ada di dalam nama hari.

Selain itu perhatikan bahwa walaupun nama-nama hari diatas adalah kumpulan karakter (string), kita tidak perlu memberikan tanda kutip.

Salah satu sifat tipe data enumerated di pascal, kita tidak bisa membuat nilai angka sebagai bagian dari tipe data enumerated. Contoh berikut akan menghasilkan error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
program tipe_enumerated;
uses crt;
type
  angka= (1,2,3,4,5);
var
  a,b: angka;
begin
  clrscr;
 
  a:= 1;
  writeln('a: ',a);
 
  readln;
end.

Error diatas terjadi karena saya memberikan nilai angka (integer): 1,2,3,4,5 untuk tipe data enum ‘angka’. Jika kita ingin membuat batasan seperti ini bisa menggunakan tipe data subrange (akan dijelaskan dalam tutorial setelah ini).

Di dalam sebuah kode program pascal, kita juga bisa membuat lebih dari 1 tipe enum, seperti contoh berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program tipe_enumerated;
uses crt;
type
  warna= (merah,kuning,biru,ungu,jingga);
  angka= (satu,dua,tiga,empat,lima);
var
  a: warna;
  b: angka;
begin
  clrscr;
 
  a:= kuning;
  writeln('a: ',a);
 
  b:= tiga;
  writeln('b: ',b);
 
  readln;
end.

Pada contoh diatas, saya membuat 2 buah tipe data enumerated yang berisi nama-nama warna dan nama angka, kemudian menampilkan isinya.


Dalam tutorial kali ini kita telah membahas cara penggunaan tipe data enumerated di dalam pascal. Selanjutnya kita masuk ke tipe data Subrange.