You are on page 1of 7

Praktikum Dasar Pemrograman

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)

3.1 STRUKTUR IF ... THEN


1. Satu kasus
Bentuk ini menunjukkan, jika (if) kondisi yang diseleksi adalah benar(true) maka
statemen yang mengikutinya akan diproses. Sebaliknya jika tidak benar(false) maka statemen
berikutnya tidak diproses.
Sintaks dalam Pascal
if kondisi then if kondisi then
aksi; begin
aksi1;
aksi2;
...
end;
Jika kondisi true (benar), maka aksi dikerjakan. Jika kondisi false (tidak benar) maka
tidak terjadi apa-apa (efek neto ”kosong”).

Teknik Informatika Universitas Siliwangi 16


Praktikum Dasar Pemrograman

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

2. Dua kasus komplementer


Sintaks untuk analisis dengan dua kasus adalah dengan menggunakan struktur IF-ELSE
Sintaks dalam Pascal
if kondisi then if kondisi then
Aksi1 begin
else aksi1;
Aksi2; .....
end
else
begin
aksi2;
.....
end;

Teknik Informatika Universitas Siliwangi 17


Praktikum Dasar Pemrograman

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

Teknik Informatika Universitas Siliwangi 18


Praktikum Dasar Pemrograman

3. Tiga kasus atau lebih


if kondisi1 then if kondisi1 then
Aksi1 begin
else Aksi1;
if kondisi2 then Aksi2;
Aksi2 ...
else end
Aksi3; else
{endif} if kondisi2 then
{endif} Aksi3
else
if kondisi3 then
Aksi4
else
Aksi5;
{endif}
{endif}
{endif}

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

Teknik Informatika Universitas Siliwangi 19


Praktikum Dasar Pemrograman

3.2 STRUKTUR CASE … OF


Struktur CASE-OF dapat menyederhanakan penulisan IF-ELSE yang bertingkat-tingkat
pada permasalahan dengan dua kasus atau lebih,.
Sintaks dalam Pascal
case nama_variabel of case nama_variabel of
nilai1 : aksi1; nilai1 : begin
nilai2 : aksi2; aksi1;
... aksi2;
nilaiN : aksiN; …
[else aksiX;] end;
end; nilai2 : aksi3;
...
nilaiN : aksiN;
[else aksiX;]
end;
- Nama_variabel sudah dideklarasikan sebelumnya dan sudah berisi nilai tertentu yang
memiliki tipe data yang sama dengan nilai1, nilai2, …, nilaiN
- nilai1, nilai2,…, nilaiN adalah nilai yang bertipe integer, char, atau boolean

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

Teknik Informatika Universitas Siliwangi 20


Praktikum Dasar Pemrograman

bukan bulan yang benar

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]

Teknik Informatika Universitas Siliwangi 21


Praktikum Dasar Pemrograman

Mahasiswa bernama Anfal dengan Nim 111111111 memperoleh nilai B


3. Buat program penentuan luas bujursangkar, persegi panjang, dan lingkaran. Ada tampilan
menu yang memungkinkan user dapat memilih luas bidang apa yang ingin dicari. Misalkan
jika menu bujursangkar yang dipilih maka user diminta untuk memasukkan sisi bujursangkar
tersebut kemudian program akan menampilkan hasil perhitungan luas bujursangkar, dan
seterusnya. (Gunakan struktur pemilihan Case-Of)

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!

Teknik Informatika Universitas Siliwangi 22

You might also like