Struktur
CASE
Contoh 1
1. Buatlah
sebuah program dengan menggunakan metode Case Of untuk menampilkan Nilai ujian
(A, B, C, D atau E) berdasarkan hasil score ujian yang diperoleh oleh
mahasiswa. Adapun jangkauan nilai yang diperbolehkan adalah sbb
Nilai Ujian
|
Score
|
A
|
85 > Score ≤ 100
|
B
|
70 > Score ≤ 85
|
C
|
60 > Score ≤ 70
|
D
|
50 > Score ≤ 60
|
E
|
0 ≥ Score ≤ 50
|
Penyelesaian
program CaseScoreOf;
uses
wincrt;
var
score : integer;
begin
repeat
clrscr;
write('Masukan score ujian anda [0 s/d 100]
! ');
readln(score);
writeln('Score ujian anda adalah ', score);
case
score of
86..100 : begin
write('Maka nilai anda
adalah ', 'A');
end;
71.. 85 : begin
write('Maka nilai anda
adalah ', 'B');
end;
61.. 70 : begin
write('Maka nilai anda
adalah ', 'C');
end;
51.. 60 : begin
write('Maka nilai anda
adalah ', 'D');
end;
0.. 50 : begin
write('Maka nilai anda
adalah ', 'E');
end
else
write('Score ujian yang anda
masukkan tidak sesuai dalam range yang diperbolehkan');
end;
readln
until keypressed;
end.
Contoh 2
1. Buatlah
sebuah program untuk mendeteksi apak sebuah bilangan termasuk bilangan GENAP
atau GANJIL, dengan menggunakan metode Case Of.
Penyelesaian
: Untuk menyelesaikan persoalan diatas
kita bisa memanfaatkan Operator MOD
(Sisa Pembagian), sebagai contoh
|
8 mod 2 = 0
6 mod 2 = 0
|
7 mod 2 = 1
6 mod 2 = 1
program
GenapGanjil;
uses
wincrt;
var
bilangan : integer;
begin
repeat
clrscr;
write('Masukan Sebuah Bilangan Bulat : ');
readln(bilangan);
case bilangan mod 2 of
0 : begin
write(bilangan, '
Adalah Bilangan GENAP');
end;
1 : begin
write(bilangan,' Adalah
Bilangan GANJIL');
end;
end;
readln
until keypressed;
end.
Contoh 3
1. Buatlah sebuah program untuk menghitung
besar upah mingguan karyawan berdasarkan Golongan/Rank karyawan tersebut dengan
metode Case Of. Adapun rincian upah perjam karyawan adalah sbb
Golongan
|
Upah/Jam
|
A
|
5000
|
B
|
6000
|
C
|
7000
|
Dimana jam kerja sehari adalah 8 jam dan dalam
seminggu terdapat 5 hari kerja
Penyelesaian
program UpahMingguan;
uses
wincrt;
var
Golongan : char;
Upah : Real;
begin
repeat
clrscr;
write('Masukan Golongan/Pangkat Anda [A s/d
C] : ');
readln(Golongan);
case Golongan of
'A' : begin
Upah := 5000 * 8 * 5;
write(' Upah Anda
selama seminggu adalah ', Upah:2:0);
end;
'B' : begin
Upah := 6000 * 8 * 5;
write(' Upah Anda
selama seminggu adalah ', Upah:2:0);
end;
'C' : begin
Upah := 7000 * 8 * 5;
write(' Upah Anda
selama seminggu adalah ', Upah:2:0);
end;
end;
readln
until keypressed;
end.
Contoh
4
1.
Buatlah
sebuah program untuk mengkonversi 1 digit bilangan bulat (0 s/d 9) ke mode Teks, dengan menggunakan metode Case
Of
program ConversiKeTeks;
uses
wincrt;
var
Bilangan :
integer;
begin
repeat
clrscr;
write('Masukan Satu Digit Bilangan bulat [0 s/d 9] : ');
readln(Bilangan);
case Bilangan of
0
: begin
write('Enol');
end;
1 :
begin
write('Satu');
end;
2 :
begin
write('Dua');
end;
3 :
begin
write('Tiga');
end;
4 :
begin
write('Empat');
end;
5 :
begin
write('Lima');
end;
6 :
begin
write('Enam');
end;
7 :
begin
write('Tujuh');
end;
8 :
begin
write('Delapan');
end;
9 :
begin
write('Sembilan');
end;
end;
readln
until
keypressed;
end.
Contoh
5
1.
Buatlah
sebuah program untuk menghitung hari berdasarkan nama bulan yang, dengan
menggunakan metode Case Of
program hitunghari;
uses
wincrt;
var
tahun, bulan
: integer;
begin
repeat
clrscr;
write('Masukan tahun : ');
readln(tahun);
write('Masukan Bulan : ');
readln(bulan);
case bulan
of
1,3,5,7,8,10,12 : Begin
write('31 hari');
End;
2 :
begin
if tahun mod 4 = 0 then write('29 hari')
else write('28 hari');
end;
4,6,9,11
: Begin
write('30 hari');
End;
end;
readln;
until
keypressed;
end.
0 komentar:
Posting Komentar