22 November 2020•baca 3 menit

Tentang Tipe Data Bentukan pada Pascal

Tipe data bentukan atau User defined data types terbagi menjadi 2, yaitu Enumerated dan Subrange

Tentang Tipe Data Bentukan pada Pascal

Pada kesempatan sebelumnya kita telah membahas tentang tipe data standar pada Pascal. Sekarang kita bakal coba membuat tipe data racikan kita sendiri, yang biasa disebut sebagai tipe data bentukan pada Pascal.

📷 Ilustrasi: bagan hierarki klasifikasi tipe data pada bahasa Pascal dari tipe standar, bentukan pemrogram, pointer, hingga terstruktur.

Dalam kelompok tipe data Pascal, tipe data bentukan (user defined data types) umumnya terbagi menjadi 2 jenis utama, 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

TEXT
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.

TEXT
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 :D Pada tutorial selanjutnya kita akan membahas tentang salah satu tipe data terstruktur, yaitu RECORD pada Pascal.

Biar makin jago ngoding.

Yuk gabung bareng temen-temen developer lainnya buat dapet update teknologi, tips, dan tutorial santai tiap minggu.

Biar Nggak Kudet

Update teknologi, tips ngoding, dan insight santai langsung ke email kamu tiap minggu.

Santai, anti spam. Bisa berhenti langganan kapan aja.

Baca Selanjutnya

Lihat semua

© 2026 Inva.dev.