MODUL
XII
TIPE
DATA (BAG. 2)
ENUMERASI
A.    TUJUAN
- Mengenal
     bermacam-macam tipe data dalam Pascal
 - Mengenal dan
     memahami tipe data enumerasi
 - Mampu
     mengaplikasikan berbagai macam tipe data dalam Pascal
 
B.     DASAR
TEORI
Tipe data enumerasi merupakan tipe
data yang berisi sejumlah pengenal yang diciptakan sendiri oleh pemrogram.
Dalam sebuah program, tipe data enumerasi harus dideklarasikan terlebih dahulu
pada bagian deklarasi di awal program. Bentuk umum deklarasi tipe data
enumerasi adalah sebagai berikut :
TYPE
  nama_tipe = (pengenal_1, pengenal_2, ..., pengenal_n);
VAR
  nama_var :
nama_tipe;
pengenal_1, pengenal_2, ..., pengenal_n tidak boleh berupa bilangan. Tipe data enumerasi
memiliki nilai ordinal pada masing-masing pengenal yang dimiliki. Nilai ordinal
berawal dari pengenal yang pertama sampai terakhir. Pengenal pertama memiliki
nilai ordinal 0, selanjutnya adalah 1, kemudian 2, dan seterusnya. Jadi, pengenal_1 memiliki nilai ordinal 0. pengenal_2 memiliki nilai ordinal 1, dan
seterusnya. Sehingga pengenal_n
miliki nilai ordinal n-1. Pengurutan ini disebut ordinary. Jadi ordinary
dari pengenal_n adalah n-1.
Dalam data enumerasi, masing-masing
pengenal memiliki kedudukan terhadap pengenal yang lain. Pada pengenal di
ordinary tertentu, ada pengenal yang berada tepat sesudahnya, dan ada pengenal
yang terletak tepat sebelumnya. Pengenal yang berbeda tepat sesudahnya disebut
sebagai successor. Pengenal yang
berada tepat sebelumnya disebut sebagai predecessor.
Jadi, pengenal_n pada successor-nya adalah pengenal_n+1 dan predecessor adalah pengenal_n-1.
C.    LATIHAN
SOAL
- Nomor Program 1201
 
Tulislah program berikut dan amatilah outputnya!
PROGRAM enumerasi;
USES CRT;
TYPE
  hari = (Minggu,
Senin, Selasa, Rabu, Kamis, Jumat, Sabtu);
VAR
  today : hari;
BEGIN
  CLRSCR;
  WRITELN(‘Nilai
Ordinal Senin-Sabtu’);
  FOR today :=
Minggu TO Sabtu DO
   
WRITELN(ord(today));
  WRITELN;
  WRITELN(‘Hari ini
adalah hari SELASA’);
  WRITELN(‘Hari ini
adalah hari ke- ‘,ord(selasa));
  WRITELN(‘Kemaren
adalah hari ke- ‘,ord(pred(selasa)));
  WRITELN(‘Besok
adalah hari ke- ‘,ord(succ(selasa)));
  WRITELN(‘Lusa
adalah hari ke- ‘,ord(succ(succ(selasa))));
  REPEAT UNTIL
KEYPRESSED;
END.
- Nomor Program 1202
 
Buatlah program untuk menampilkan nilai ordinari
dari tipe data enumerasi yang dibuat dengan menggunakan nama-nama saudara anda
(kakak/adik)!
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
- Nomor Program 1203
 
Deklarasi tipe data enumerasi untuk menampung
pengenal yang berupa nama-nama bulan. Kemudian buatlah program untuk
menampilkan 1 s.d. 12 yang berasal dari nilai ordinari dari tipe data yang
sudah anda buat!
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
- Nomor Program : -
 
Di bawah ini adalah bagian deklarasi suatu program
yang menggunakan tipe data terenumerasi :
TYPE
  nama_bulan =
(JANUARI, FEBRUARI, MARET, APRIL, MEI, JUNI,
               
JULI, AGUSTUS, SEPTEMBER, OKTOBER,
               
NOPEMBER, DESEMBER);
VAR
  month :
nama_bulan; i : integer;
Tentukanlah tipe data dan nilai dari
ungkapan-ungkapan berikut :
ORD(JANUARI)                  = ...
ORD(OKTOBER)                  = ...
SUCC(JANUARI)                 = ...
PRED(DESEMBER)                = ...
SUCC(PRED(MARET))             = ...
PRED(SUCC(MARET))             = ...
ORD(SUCC(JANUARI))            = ...
ORD(PRED(DESEMBER))           = ...
SUCC(SUCC(MARET))             = ...
PRED(PRED(MARET))             = ...
ORD(PRED(SUCC(MARET)))        = ...
ORD(SUCC(PRED(MARET)))        = ...
ORD(SUCC(SUCC(MARET)))        = ...




Tidak ada komentar:
Posting Komentar