Wednesday, January 8, 2014

Praktikum 6 Enumerasi dan Himpunan

1. Program Enumerasi
Program enum1;
uses wincrt;
type
namabulan =(Jan,Feb,Mar,April,Mei,Juni,Juli,Agust,Sept,Okt,Nop,Des);
var n,hari :integer;
bulan:namabulan;
lagi : char;
const
K: set of namabulan =[April..Sept];
begin
randomize;
writeln('Program Pemakaian Enumerasi/Daftar');
repeat
n:=random(12); bulan:=namabulan(n);
write('Tahukah Anda bahwa bulan ');
case bulan of
Jan : begin write(' Januari ');hari:=31;end;
Feb : begin write(' Pebruari ');hari:=28;end;
Mar : begin write(' Maret ');hari:=31;end;
April: begin write(' April ');hari:=30;end;
Mei : begin write(' Mei ');hari:=31;end;
Juni : begin write(' Juni ');hari:=30;end;
Juli : begin write(' Juli ');hari:=31;end;
Agust: begin write(' Agustus ');hari:=31;end;
Sept : begin write(' September ');hari:=30;end;
Okt : begin write(' Oktober ' );hari:=31;end;
Nop : begin write(' Nopember ');hari:=30;end;
Des : begin write(' Desember ');hari:=31;end;
end;
writeln('bulan ke-',ord(bulan)+1,' dan terdiri atas ',hari,' hari?');
if (bulan in K) then
writeln('Pada bulan tersebut biasanya musim kemarau.')
else writeln('Pada bulan tersebut biasanya musim penghujan.');
writeln;
write('Mau tahu bulan lain? <Y/T>_');readln(lagi);

until upcase(lagi)<>'Y';
donewincrt;
end.

2. Program 
Program enum2;
uses wincrt;
type
namahari=(Ahad,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu);
var n : integer;
hari : namahari;
lagi : char;
const
Libur:set of namahari=[Ahad];
begin
writeln('Program Pemakaian Enumerasi/Daftar');
repeat
randomize;
n:=random(7); hari:=namahari(n);
write('Jika sekarang hari ');
case hari of
Ahad : write('Ahad ');
Senin : write('Senin ');
Selasa : write('Selasa ');
Rabu : write('Rabu ');
Kamis : write('Kamis ');
Jumat : write('Jum''at ');
Sabtu : write('Sabtu ');
end;
if (hari in Libur) then
writeln('(Libur).')
else writeln('(Hari kerja).');
hari:=pred(namahari(n));
write('Maka hari sebelumnya adalah ');
case hari of
Ahad : write('Ahad ');
Senin : write('Senin ');
Selasa : write('Selasa ');
Rabu : write('Rabu ');
Kamis : write('Kamis ');
Jumat : write('Jum''at ');
Sabtu : write('Sabtu ');
else write('Sabtu ');
end;
if (hari in Libur) then
writeln('(Libur).')
else writeln('(Hari kerja).');
hari:=succ(namahari(n));
write('Hari sesudahnya adalah ');
case hari of
Ahad : write('Ahad ');

Senin : write('Senin ');
Selasa : write('Selasa ');
Rabu : write('Rabu ');
Kamis : write('Kamis ');
Jumat : write('Jum''at ');
Sabtu : write('Sabtu ');
else write('Ahad ');
end;
if (hari in Libur) then
writeln('(Libur).')
else writeln('(Hari kerja).');
writeln;
write('Mau tahu hari lain? <Y/T>_');readln(lagi);
until (lagi in ['Y','y']) = false;
donewincrt;
end.

3. Program Himpunan
Program himpunan;
uses wincrt;
const
HURUFBESAR:set of char =['A'..'Z'];
hurufkecil:set of char =['a'..'z'];
angka :set of char =['0'..'9'];
hurufhidup:set of char
=['A','a','E','e','I','i','O','o','U','u'];
var k,huruf,lagi : char;
begin
writeln('Program pengujian karakter input.');
repeat
write('Ketikkan sebuah karakter : ');readln(huruf);
if huruf in HURUFBESAR then
begin
write('Anda telah mengetik sebuah huruf besar ');
if huruf in hurufhidup then writeln('(HURUF HIDUP).')
else writeln('(HURUF MATI).');
end
else if huruf in hurufkecil then
begin
write('Anda telah mengetik sebuah huruf kecil ');
if huruf in hurufhidup then writeln('(huruf hidup).')
else writeln('(huruf mati).');
end
else if huruf in angka then
writeln('Anda telah mengetik sebuah angka digit.')
else writeln('Anda mengetik karakter khusus.');
writeln;
write('Mau tahu hari lain? <Y/T>_');readln(lagi);

until (lagi in ['Y','y']) = false;
donewincrt;
end.

2 comments: