fbpx

Algoritma dan Pemrogaman : Tipe Data Enumerasi dan Subrange Bahasa Pascal

Pada artikel sebelumnya kita telah membahas berbagai tipe data pada bahasa pascal. Mari mengingat lagi terkait tipe data pada pascal khususnya tipe data ordinal.

Tipe data ordinal terbagi menjadi dua bagian:

  1. Tipe data standaar
  2. Tipe data yang ditentukan oleh user (user-defined)

Tipe data standard termasuk di dalamnya INTEGER, CHAR, dan BOOLEAN yang menjadi pembahasan di artikel-artikel sebelumnya. Sedangkan user-define type terdiri dari enumerated (terbilang) dan subrange. Untuk tipe data lainnya yang masuk dalam kategori tipe data terstruktur seperti array akan dibahas pada artikel selanjutnya.


Enumerated

Nilai dari variabel dituliskan ke dalam daftar. Nilai yang ada di dalam daftar dapat direpresentasikan dalam small integer 0 sampai n-1. Kita bisa menggunakan operasi ORD, PRED, dan SUCC terhadap elemen-elemennya. Contoh tipe data enumerated:

var
  bulan : (jan,feb,mar,apr)
{setiap elemen masing-masing bernilai 0,1,2, dan 3}

Operasi pada Enumerated Types

Operasi Nama
Sama dengan =
Tidak sama dengan <>
Kurang dari <
Kurang dari sama dengan <=
Lebih dari >
Lebih dari sama dengan >=
Predecessor pred
Successor succ
Ordinal number ord

Contoh 1

program Ordnum
var
  brand : (Lenovo, HP, Asus, Acer); {ada 4 item}
begin
  writeln(ORD(Lenovo)); {output 0}
  writeln(ORD(HP))); {output 1}
  writeln(ORD(Asus )); {output 2}
  writeln(ORD(Acer))); {output 3}
  writeln(PRED(Asus)); {output HP}
  writeln(SUCC(Asus)); {output Acer}
end.

Contoh 2

program bulanenum;
var
  month : (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov.des);
begin
  writeln;
  for month:= jan to dec do
  write(ord(month),' ');
end.

Subrange

Subrange merupakan salah satu tipe data yangg ditentukan oleh user (user defined). Dapat menghindarkan suatu nilai variabel melebihi batas yang ingin kita tentukan (out of range). Nilai yang berada di luar range tidak diperbolehkan.

var
  type-identifier : lowerlimit..upperlimit

Deklarasi

var
  month     : 1..12; {integer}
  uppercase : 'A'..'Z'; {char}
  lowercase : 'a'..'z'; {char}
  month     := 13; {akan menghasilkan error}

Contoh 1

program subrange1;
var
  monthnumber : 1..12;
begin
  write('Masukkan bulan dalam angka : ');readln(monthnumber);
  case monthnumber of
  12,1,2  : writeln('Saat ini musim dingin');
  3,4,5   : writeln('Saat ini musim semi');
  6,7,8   : writeln('Saat ini musim panas');
  9,10,11 : writeln('Saat ini musim gugur');
  end;
end.

Contoh 2

program totalmark;
type
  mark=1..100;
var
  s1,s2,s3:mark;
  total:integer;
begin
  writeln('Masukkan 3 marks');readln(s1,s2,s3);
  total:=s1+s2+s3;
  writeln('Total marks : ',total);
end.

Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Tipe Data Enumerasi dan Subrange, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up