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