Professional Documents
Culture Documents
Modul 3
Modul 3
MODUL 3
ANALISIS KASUS (PEMILIHAN)
TUJUAN PRAKTIKUM
Praktikan diharapkan dapat :
1. Memahami penggunaan struktur IF-THEN dan CASE-OF dalam Pascal
2. Mengimplementasikan struktur IF-THEN dan CASE-OF dalam membuat program
3. Menyelesaikan persoalan yang melibatkan proses analisis kasus
DASAR TEORI
Analisis kasus adalah konstruktor terpenting dalam algoritma pemrograman sehingga
membuat teks algoritma yang sama dapat menghasilkan eksekusi yang berbeda-beda. Setiap
statement dalam Pascal normalnya dijalankan secara sekuensial(beruntun), dari atas ke bawah
seperti yang tertulis pada source code programnya. Analisis kasus dapat merubah urutan eksekusi.
Jika kita mendefinisikan analisis kasus berarti juga mendefinisikan :
kondisi : yang berupa suatu ekspresi boolean yang menghasilkan true atau false
aksi : yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang
bersangkutan dipenuhi
Suatu aksi hanya akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang
bersangkutan terpenuhi(bernilai true). Penentuan kondisi boolean dan aksi yang dilakukan
bergantung pada jumlah kasus yang terdapat pada masalah tersebut.
Ungkapan Kondisi dapat dihasilkan dengan operator perbandingan dan operator logika.
Ungkapan kondisi dapat dibentuk dengan mengkombinasikan operand yang bertipe sama dengan
salah satu operator
Contoh Kondisi
x>y i >=100
a+b>1 not true
str = ’daspro’ (x < 0) and (y > 20)
ketemu = true (x < 0) or (y > 20)
Program 3.1 Menerima masukan sebuah nama, jika nama tidak diisi tampilkan pesan
Program Nama;
var
nama : string;
begin
write(‘Ketikkan nama anda : ’);
readln(nama);
if nama = ’’ then
writeln(‘Isi dulu nama anda!!!’);
readln;
end.
Contoh tampilan pada layar
{Kasus 1}
Ketikkan nama anda : andini
{Kasus 2}
Ketikkan nama anda :
Isi dulu nama anda!!!
Program 3.2 Program untuk mengecek apakah sebuah bilangan termasuk bilangan genap
atau bukan. Jika termasuk bilangan genap, tampilkan pesan
Program Bilangan_Genap;
var
bil : integer;
begin
write(‘Masukkan bilangan : ’);
readln(bil);
if bil mod 2 = 0 then
begin
writeln(‘bilangan genap’);
writeln(’Pengecekan bilangan selesai’);
end;
readln;
end.
Contoh tampilan pada layar
{Kasus 1}
Masukkan bilangan : 46
bilangan genap
Pengecekan bilangan selesai
{Kasus 2}
Masukkan bilangan : 13
Aksi1 akan dilaksanakan jika kondisi bernilai true (benar), tetapi jika kondisi bernilai false
(salah), maka aksi2 yang akan dilaksanakan. ‘else’ menyatakan ingkaran/negasi dari kondisi
Program 3.3 Program untuk mengecek apakah sebuah bilangan termasuk bilangan genap
atau bilangan ganjil. Jika termasuk bilangan genap, tampilkan pesan ’bilangan
genap’, jika termasuk bilangan ganjil tampilkan pesan ’bilangan ganjil’
Program Genap_Ganjil;
var
bil : integer;
begin
write(‘Masukkan bilangan : ’);
readln(bil);
if bil mod 2 = 0 then
writeln(‘bilangan genap’)
else
writeln(‘bilangan ganjil’);
readln;
end.
Contoh tampilan pada layar
{Kasus 1}
Masukkan bilangan : 11
bilangan ganjil
{Kasus 2}
Masukkan bilangan : 88
bilangan genap
Program 3.4 Program untuk menentukan bilangan terbesar di antara dua bilangan yang
dimasukkan
Program Bilangan_terbesar;
var
bil1, bil2 : integer;
begin
write(’Masukkan 2 bilangan : ’); readln(bil1,bil2);
if bil1 > bil2 then
begin
writeln(bil1,’ > ’,bil2);
writeln(bil1,’ bilangan terbesar’);
end
else
begin
writeln(bil2,’ > ’,bil1);
writeln(bil2,’ bilangan terbesar’);
end;
end.
Contoh tampilan pada layar
{Kasus 1}
Masukkan 2 bilangan : 9 14
14 > 9
14 bilangan terbesar
{Kasus 2}
Masukkan 2 bilangan : 52 45
52 > 45
52 bilangan terbesar
Bentuk di atas merupakan bentuk if bersarang (nested if) yaitu statemen if yang berada di
dalam merupakan bagian dari statemen if lainnya
Program 3.5
Program Wujud_Air;
var
Suhu : integer;
Wujud : string;
begin
write(‘Suhu air : ’); readln(suhu);
if suhu <= 0 then
wujud := ’beku’
else
if (suhu > 0) and (suhu <= 100) then
wujud := ’cair’
else
wujud := ’uap’;
{endif}
{endif}
write(’Wujud air adalah ’,wujud);
readln;
end.
Contoh tampilan pada layar
{Kasus 1}
Suhu air : 37
Wujud air adalah cair
{Kasus 2}
Suhu air : 110
Wujud air adalah uap
{Kasus 3}
Suhu air : -2
Wujud air adalah beku
Program 3.6 Program penentuan nama bulan jika diinputkan nomor bulannya
Program Nama_Bulan;
var
bulan : integer;
begin
write(‘Masukkan nomor bulan : ’); readln(bulan);
case bulan of
1 : writeln(‘Januari’);
2 : writeln(‘Februari’);
3 : writeln(‘Maret’);
4 : writeln(‘April’);
5 : writeln(’Mei’);
6 : writeln(’Juni’);
7 : writeln(’Juli’);
8 : writeln(’Agustus’);
9 : writeln(’September’);
10 : writeln(’Oktober’);
11 : writeln(’November’);
12 : writeln(’Desember’);
else
writeln(‘bukan bulan yang benar’);
end;
readln;
end.
Contoh tampilan pada layar
{kasus 1}
Masukkan nomor bulan : 5
Mei
{kasus 2}
Masukkan nomor bulan : 16
Program 3.7
Program Trigonometri;
var
x, T : real;
c : char;
begin
write(‘Angka : ’); readln(x);
writeln(‘Pilihan nilai fungsi trigonometri’);
writeln(‘a. Sinus’);
writeln(‘b. Cosinus’);
writeln(‘c. Tangen’);
write(‘Input pilihan anda : ’);readln(c);
case c of
’a’ : write(’Sin(’,x,’) = ’,Sin(x):0:2);
’b’ : write(’Cos(’,x,’) = ’,Cos(x):0:2);
’c’ : begin
T := Sin(x)/Cos(x);
write(’Tan(’,x,’) = ’,T:0:2);
end;
else
writeln(‘Pilihan tidak ada’);
end;
readln;
end.
3.3 LATIHAN
1. Dibaca a, b, dan c yaitu nilai koefisien sebuah persamaan kuadrat. Tentukan nilai
determinannya (D = b2-4ac) dan tipe determinannya : negatif, nol, atau positif!.
2. Buat program untuk menentukan indeks nilai mahasiswa berdasarkan nilai ujiannya
menggunakan struktur If-Then
Nilai ≥ 80 : indeksnya A
70 ≤ Nilai< 80 : indeksnya B
55 ≤ Nilai< 70 : indeksnya C
40 ≤ Nilai< 55 : indeksnya D
Nilai < 40 : indeksnya E
Input program adalah nama, nim, dan nilai akhir ujian sedangkan output program adalah
nama, nim, dan nilai indeks.
Contoh :
[input]
Nama : Anfal
Nim : 111111111
Nilai Ujian : 75.4
[output]
Contoh :
[tampilan awal]
** MENU **
1. Luas Bujursangkar
2. Luas Persegi panjang
3. Luas Lingkaran
[input]
Masukkan pilihan : 1
#Anda memilih menu Luas Bujursangkar#
Input sisi bujursangkar : 6
[output]
Luas bujursangkar = 36.00
4. Modifikasi program pada latihan nomor 2 dengan mengubah struktur pemilihan menjadi
struktur Case-Of! Jika program tidak dapat dimodifikasi, jelaskan alasannya!
5. Lakukan analisa terhadap program 3.5, 3.7! Tentukan input dan output program kemudian
berikan penjelasan secara singkat proses yang dikerjakan oleh program tersebut!