Enumerasi

advertisement
Enumerasi
Catatan Kuliah: Algoritma & Struktur Data
Ari Cahyono, S.Si., M.T
Enumerasi (enumerated)
• Asal Kata
• Enumerate
• list items individually; count things
• Tipe enumerasi adalah sebuah daftar identifier (nama) terurut.
• Enumerasi merupakan pengganti yang baik bagi koleksi
konstanta. Sebagai contoh, konstanta berikut dapat diganti
dengan enumerasi:
const
Minggu = 0;
Senin = 1;
Selasa = 2;
Rabu = 3;
Kamis = 4;
Jumat = 5;
Sabtu = 6;
Enumerasi
(Cont’d)
• Syntax untuk mendeklarasikan tipe enumerasi adalah:
Type
TEnumeratedType = (value_1, value_2, value_n);
THari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu);
• Dengan menggunakan variabel bertipe THari, dan bukannya
integer, code menjadi lebih mudah dibaca dan memungkinkan
Delphi untuk melakukan pemeriksaan tipe data (type
checking).
• Setiap identifier pada enumerasi memiliki nilai ordinal. Nilai
ordinal pada enumerasi diawali dari nol. Jadi ord(Minggu) = 0.
Nilai Ordinal
Type
THari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu);
Nilai Ordinal: 0
::: Ordinal:
- Showing position
1
2
3
4
5
6
Nilai Ordinal
(Cont’d)
• Seluruh procedure dan function ordinal dapat memanfaatkan
tipe data enumerasi. Nilai setiap elemen enumerasi dapat
pula dinyatakan secara eksplisit.
type
TOddNumber = (oddFirst = 1, oddSecond = 3, oddThird = 5, oddFourth = 7);
TEvenNumber = (evFirst = 0, evSecond = 2, evThird = 4, evFourth = 6);
var
OddNum: TOddNumber;
begin
OddNum := oddThird;
WriteLn(Ord(OddNum)); { 5 }
ReadLn;
end.
Tipe Subrange
• Sebuah tipe subrange merepresentasikan sebagian dari tipe
dasar (semua tipe ordinal).
• Deklarasi subrange serupa dengan syntax range pada deklarasi
array:
type
{ enumerated type }
TDay = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
{ subrange types }
TWeekend = Saturday..Sunday;
TPercent = 0..100;
TAlphabet = 'a'..'z';
Constant & Typed Constant
• Sebuah constant adalah sebuah identifier yang nilainya
didefinisikan oleh programmer dan tidak dapat diubah pada
saat run time.
• Typed Constant adalah constant yang ber-tipe. Nilainya dapat
diubah pada saat run time. Typed constant sesungguhnnya
adalah variabel yang nilai awalnya didefinisikan oleh
programmer.
const
Planck: Real = 6.626068e-34
type
TBBM = (Premium, Solar, Pertamax);
const
BBMPrice: array[TBBM] of Integer = (5500, 4500, 7500);
Download