Tentang Tipe Data Bentukan pada Pascal

baca 3 menit
Tentang Tipe Data Bentukan pada Pascal

Pada kesempatan sebelumnya kita telah membahas tentang tipe data standar pada Pascal, sekarang kita akan coba membuat tipe data kita sendiri. Tipe data ini disebut sebagai tipe data bentukan pada Pascal.

Tipe Data Pada Pascal (sumber: tutorialspoint)
Tipe Data Pada Pascal (sumber: tutorialspoint)

Tipe data bentukan atau User defined data types terbagi menjadi 2, yaitu Enumerated dan Subrange. Kira-kira apa itu Enumerated dan Subrange? mari kita bahas lebih lanjut...

Tipe Data Bentukan Enumerated

Enumerated merupakan tipe data bentukan yang memungkinkan programmer mendeklarasikan kumpulan nilai valid dari tipe data tersebut. Contoh sederhananya adalah ketika kita membuat tipe data untuk NamaHari yang berisi senin, selasa, rabu, dst.

Enumerated sering juga disebut sebagai enum saja

Untuk format deklarasinya adalah sebagai berikut

type
  nama-enum = (item1, item2, item3, ...)

Berikut merupakan contoh penggunaan enum dalam mebuatan tipe data nama hari dan nama bulan.

pascal
program enum;
uses crt;
type
  NamaHari = (senin, selasa, rabu, kamis, jumat, sabtu, minggu);
  NamaBulan = (januari, februari, maret, april, mei, juni, juli);
var
  hari: NamaHari; // variable hari bertipe NamaHari
  bulan: NamaBulan; // variable bulan bertipe NamaBulan
begin
  clrscr;
  hari := senin;
  bulan := juli;
  writeln(hari, ' ', bulan);
  readln;
end.

Pada contoh di atas kita membuat tipe data baru berupa enum dengan cara menuliskannya dibawah keyword type. Enum pertama adalah NamaHari yang berisi nama hari dari senin sampai minggu. Enum selanjutnya adalah NamaBulan yag berisi nama bulan dari januari sampai juli.

Nah langkah selanjutnya adalah menggunakan enum yang telah kita buat sebagai tipe data variable. Variable pertama adalah hari yang memiliki tipe data NamaHari, dan variable ke-2 adalah bulan yang memiliki tipe data NamaBulan.

Kedua variable tersebut hanya bisa diisikan sesuai dengan yang telah kita deklarasikan di awal. Misalnya saja jika kita mengisikan variable bulan dengan nilai 'desember' maka program akan error Identifier not found "desember", karena 'desember' tidak ada pada bagian deklarasi.

Oh iya, pada saat pengisian variable dengan tipe data enumerated, tidak perlu menggunakan tanda petik. Karena valuenya sudah terdeklarasi sebelumnya. Analoginya sama seperti saat mengisikan nilai true atau false pada tipe data boolean (Tidak ditulis 'true' atau 'false').

Tipe Data Bentukan Subrange

Subrange, merupakan tipe data bentukan yang berisi rentang tertentu dari tipe data lain. Contohnya saja adalah nilai ujian yang memiliki rentang dari 0 sampai 100. Atau predikat nilai yang memiliki rentang dari 'A' sampai 'E'.

Format penulisan subrange bisa dituliskan langsung sebagai tipe data variable, atau dituliskan dibawah keyword type.

type
  nama-subrange = batas-bawah...batas-atas;
// atau
var
  nama-variable: batas-bawah...batas-atas;

Contoh penggunaan subrange dalam penulisan nilai ujian dan predikat.

pascal
program subrange;
uses crt;
type
  RentangNilai = 0..100;
  RentangPredikat = 'A'..'E';
var
  nilai: RentangNilai;
  predikat: RentangPredikat;
begin
  clrscr;
  nilai := 78;
  predikat := 'C';
  writeln(nilai, ' ', predikat);
  readln;
end.

Pada contoh tersebut kita membuat tipe data baru yaitu RentangNilai yang berisi angka 0 sampai 100, dan RentangPredikat yang berisi huruf 'A' sampai 'E'.

Selanjutnya kita membuat variable nilai dengan tipe data RentangNilai, dan predikat dengan tipe data RentangPredikat. Kedua variable ini hanya dapat diisi dengan nilai terbatas sesuai deklarasi awal. Jika kita mencoba memasukkan nilai 200 pada variable nilai, maka program akan error.

Sebenarnya penulisan kode tersebut bisa disederhanakan lagi menjadi sebagai berikut.

pascal
program subrange;
uses crt;
var
  nilai: 0..100;
  predikat: 'A'..'E';
begin
  clrscr;
  nilai := 78;
  predikat := 'C';
  writeln(nilai, ' ', predikat);
  readln;
end.

Pada kode tersebut kita hanya perlu menuliskan jangkauan nilai sebagai tipe data, tanpa mendeklarasikan lagi secara terpisah. Sepertinya terlihat lebih bersih ya hehe...

Penutup

Cukup sekian untuk tutorial kali ini tentang tipe data bentukan pada Pascal, semoga bermanfaat Pada tutorial selanjutnya kita akan membahas tentang salah satu tipe data terstruktur, yaitu RECORD pada Pascal.