Anda di halaman 1dari 8

11/22/2020

Analisa Kasus
Analisa Kasus dalam C Analisa kasus merupakan proses
pengambilan keputusan untuk
mengambil salah satu alternatif yang
diberikan.
Mengambil
Menguji
Tindakan
kondisi
Bagian I. Struktur if

Burhanuddin D Menerima
Dosen S1-SK konsekuensi

1 2

Penentuan Analisa Kasus Jenis Pilihan


• Ada 2 bagian penting yang perlu kita
definisikan dalam Analisa Kasus, yaitu • Memilih 1 dari 2 alternatif
Kondisi dan Aksi. • Memilih 1 dari banyak alternatif
Kondisi benar
Aksi 1 • Memilih n dari m alternatif
Menentukan
• Khusus : pengecualian, pilihan aksi karena
kondisi
ada hal tertentu di luar kondisi biasa.
Bagian dari memilih 1 dari 2 alternatif
Aksi 2
Kondisi salah

3 4

3 4

Instruksi pada Analisa Kasus Catatan Analisa Kasus


Dalam Bahasa C, instruksi yang digunakan :
– if ( kondisi) .... else ....  biasanya
digunakan untuk analisa kasus dengan
kondisi yang berlawanan
– if ( kondisi) ....  untuk pengecualian
(tindakan khusus karena kondisi tertentu di
luar kebiasaan )
– switch ( variabel )  biasanya digunakan
untuk analisa kasus dengan kasus banyak
(pilihan lebih dari 2)

5 6

5 6

1
11/22/2020

IF (KONDISI) … ELSE… IF (KONDISI) … ELSE…


if ( kondisi ) if ( kondisi )
instruksi-1; instruksi-1;
else else
instruksi-2; instruksi-2;

• Kondisi merupakan syarat, hanya bernilai • Kondisi setelah else adalah lawan dari
benar / true atau salah / false. kondisi pada if.
 Tidak perlu menuliskan kondisi yang berlawanan
setelah else
• Jika kondisi bernilai benar, maka
kerjakan instruksi-1. Jika salah,
kerjakan instruksi-2. if ( kondisi_benar )
instruksi-1;
else if ( kondisi_salah )
instruksi-2;
7 8

7 8

IF (KONDISI) … ELSE… IF (KONDISI) … ELSE…


• Dalam banyak kasus, struktur if dapat if (( kondisi1 ) && ( kondisi2 ))
memiliki beberapa kondisi instruksi-1;
if (( kondisi1 ) && ( kondisi2 )) else
instruksi-1; instruksi-2;
else  Jika salah satu kondisi1 atau kondisi2 salah / tidak
instruksi-2; terpenuhi, maka keseluruhan kondisi bernilai salah,
dan kelompok else atau instruksi-2.
• Perhatikan bahwa jika salah satu kondisi
tidak terpenuhi, maka keseluruhan kondisi
bernilai salah. if (( kondisi1 ) || ( kondisi2 ))
instruksi-1;
• Operasi multi-kondisi juga bisa dilakukan
else
dengan operator ‘OR’/ atau dengan
penulisan ‘||’ untuk memilih salah satu instruksi-2;
kondisi bernilai benar.  Jika salah satu kondisi1 atau kondisi2 benar /
terpenuhi, maka keseluruhan kondisi bernilai benar,
if (( kondisi1 ) || ( kondisi2 )) …… dan ke instruksi-1.

9 10

9 10

IF (KONDISI) … ELSE…
• if multi-kondisi:
if (( kondisi1 ) || ( kondisi2 ))
instruksi-1;
else
instruksi-2;
Digunakan jika semua syarat kondisi setara.

• if bertingkat ( diterangkan lebih lanjut):


if ( kondisi1 )
if ( kondisi2 )
instruksi-1;
else
instruksi-2;
 Digunakan jika syarat / kondisi diuji satu demi
satu, dan kondisi pertama lebih prioritas.
11

11 12

2
11/22/2020

Struktur if di dunia nyata Struktur if di dunia nyata


• Dalam dunia nyata, banyak hal yang terkait • Misal : ketika seseorang berjalan, dia akan
dengan pengujian, baik sengaja ataupun melangkahkan kakinya.
tidak. if ( melangkah dengan kaki kiri)
• Misal : ketika seseorang berjalan, dia akan melangkahlah dengan kaki kanan
melangkahkan kakinya. else
– Jika saat ini dia melangkah dengan kaki kanan, melangkahlah dengan kaki kiri
maka langkah berikutnya adalah menggunakan
kaki kiri. Demikian juga sebaliknya. Untuk berhenti :
– Jika dia akan berhenti, maka umumnya dia if ( melangkah dengan kaki kiri)
tetap melangkahkan kakinya, namun lamgkahnya
hanya setengah langkah, menyamakan dengan melangkahlah dengan kaki kanan setengah langkah
posisi kaki yang di depan. else
– Dalam kasus ini, struktur if dapat dibuat melangkahlah dengan kaki kiri setengah langkah
bertingkat atau beriringan, tergantung dari
pembuat tahapan untuk berjalan.

13 14

13 14

Struktur if di dunia nyata Struktur if di dunia nyata


• Misal : ketika hendak membeli roti, harus • Misal : Jika dia harus membeli sesuatu, dan
dipastikan uangnya cukup untuk membayar ada 3 barang dengan harga berbeda, misal
if ( uang >= harga_roti) roti berharga 1000, kerupuk 500 dan permen
belilah roti 100, maka bentuk struktur if akan menjadi

Kalau dia harus membeli sesuatu, dan tidak harus if ( uang >= 1000)
roti, maka bentuk struktur if bisa dibuat: belilah roti
else if ( uang >= 500)
if (uang >= harga_roti) belilah kerupuk
belilah roti else if ( uang >= 100)
else belilah permen
belilah barang lain
 Bentuk struktur ini umumnya perlu ditambah
kondisi (ingin membeli roti) dengan operator &&
pada (uang >=1000). Demikian juga untuk kerupuk
dan permen.
15 16

15 16

Struktur if di dunia nyata Contoh 2: If di dunia nyata


• Ada saat seseorang bertindak karena situasi • If bertingkat : cowok mencari pacar
khusus. Misalnya, saat berjalan, dan ada
rintangan ( misalnya batu atau genangan ), scanf(“%c”,&jns_kelamin);
maka dia harus menhindari rintangan.
if (jns_kelamin==‘W’ ){
• Tahapan yang dibuat :
scanf(“%c”,&Mau);
if ( Mau==‘Y’)
Selama (belum sampai tujuan) Status=‘Y’;
Melangkah maju else
Jika ada rintangan Status=‘T’;
Hindari rintangan }
else Status=‘T’;
Bentuk ‘selama’ adalah bentuk pengulangan
yang akan dibahas nanti

17 18

17 18

3
11/22/2020

Contoh1 : genap-ganjil
Baca sebuah bilangan integer a, dan
tentukan bahwa bilangan tersebut genap
atau ganjil. Tuliskan ‘genap’ bila a
merupakan bilangan genap dan ‘ganjil’ bila a
merupakan bilangan ganjil
Proses :
• Membaca sebuah bilangan bulat
• Menguji sebuah bilangan genap (
habis dibagi 2 ) atau tidak
• Menuliskan ‘genap’ atau ‘ganjil’
berdasarkan hasil pengujian
20

19 20

Contoh 1 : genap-ganjil Contoh 1 : genap-ganjil


Baca sebuah bilangan integer a, dan tentukan Baca sebuah bilangan integer a, dan tentukan bahwa bilangan
bahwa bilangan tersebut genap atau ganjil. tersebut genap atau ganjil. Tuliskan ‘genap’ bila a merupakan
bilangan genap dan ‘ganjil’ bila a merupakan bilangan ganjil
Tuliskan ‘genap’ bila a merupakan bilangan genap
dan ‘ganjil’ bila a merupakan bilangan ganjil Program menjadi :
Proses : scanf(“%d”, &a);
• Membaca sebuah bilangan bulat if (a%2 ==0)
scanf(“%d”, &a); printf(“genap”);
• Menguji sebuah bilangan genap ( habis dibagi 2 ) else
atau tidak
printf(“ganjil”);
if (a%2 ==0) { … }
• Menuliskan ‘genap’ atau ‘ganjil’ berdasarkan hasil
pengujian
if (a%2 ==0) printf(“genap”);
else printf(“ganjil”);
21 22

21 22

Solusi untuk Genap-Ganjil Contoh2 : Asrama Mahasiswa


Buat program untuk menentukan asrama
• Coba bandingkan, apa perbedaannya? mahasiswa berdasarkan jenis kelamin. Jika
int main() int main() int main() jenis kelamin ‘L’, maka asrama adalah
{ { { “Asrama Putra”, dan jika tidak, maka asrama
int a,b; int a,b; int a; adalah “Asrama Putri”.
scanf(“%d”, &a); scanf(“%d”, &a); scanf(“%d”, &a);
b =a%2;
Proses :
b =a%2; if (a%2 ==0)
if (b==0) if (b==0) printf (“genap”); • Membaca sebuah karakter ( jns_kelamin)
printf (“genap”); printf (“genap”); else • Menguji sebuah karakter ( ‘L’ atau bukan)
else else if (b!=0) printf (“ganjil”); • Menuliskan “Asrama Putra” jika ‘L’ atau
printf (“ganjil”); printf (“ganjil”); return 0; ‘Asrama Putri’ jika bukan ‘L’.
return 0; return 0; }
}
• Catatan : asumsi hanya ada 2 jenis asrama
}

23 24

23 24

4
11/22/2020

Contoh2 : Asrama Mahasiswa Contoh2 : Asrama Mahasiswa


Buat program untuk menentukan asrama mahasiswa Buat program untuk menentukan asrama mahasiswa
berdasarkan jenis kelamin. Jika jenis kelamin ‘L’, berdasarkan jenis kelamin. Jika jenis kelamin ‘L’,
maka asrama diisi “Asrama Putra”, dan jika tidak, maka asrama diisi “Asrama Putra”, dan jika tidak,
maka asrama diisi “Asrama Putri”. maka asrama diisi “Asrama Putri”.
Proses : Program menjadi :
• Membaca sebuah karakter ( jns_kelamin) scanf(“%c”,&jns_kelamin);
scanf(“%c”,&jns_kelamin); if (jns_kelamin==‘L’)
• Menguji sebuah karakter ( ‘L’ atau bukan) dan strcpy(asrama,”Asrama Putra”);
menuliskan “Asrama Putra” jika ‘L’ atau else strcpy(asrama,”Asrama Putri”);
‘Asrama Putri’ jika bukan ‘L’. // Tambahan
if (jns_kelamin==‘L’) printf(“Jenis kelamin: %c, asrama %f”, jns_kelamin,
strcpy(asrama,”Asrama Putra”); asrama);
else strcpy(asrama,”Asrama Putri”);
25 26

25 26

Catatan struktur if
• Pengecualian :
– if (kondisi)
• Penulisan instruksi dalam { … }
– Berdasarkan jumlah instruksi
• Operator Perbandingan
– Operator untuk kondisi

28

27 28

Contoh : Kasus if (kondisi) …


IF (KONDISI) … Baca nilai. Jika nilai berisi 100, tambahkan N100
if (kondisi) … biasanya digunakan untuk dengan 1.
analisa kasus dalam kondisi pengecualian. • Proses :
– Baca nilai
scanf(“%d”,&nilai);
if ( kondisi ) instruksi
– Jika nilai=100, maka N100 ditambah 1
 Bentuknya adalah N100=N100+1
if (nilai==100) N100=N100+1;
Jika kondisi bernilai benar, maka kerjakan
 Nilai awal N100 harus diisi dengan 0.
instruksi.
int nilai,N100=0;
Jika salah, tidak mengerjakan apapun • Program menjadi
int nilai,N100=0;
scanf(“%d”,&nilai);
if (nilai==100) N100=N100+1;
29 30

29 30

5
11/22/2020

Contoh : Kasus if (kondisi) … Penulisan Instruksi


Jumlahkan a dan b, simpan di c. Jika
• Jika instruksi setelah kondisi hanya
hasilnya genap, tambahkan a dengan 1.
sebaris, maka boleh ditulis setelah
Proses :
kondisi atau disamping kondisi.
• Ada 3 variabel a,b,c
• Kalau lebih sebaris, beri {...} di
• Jumlahkan a dan b, simpan di c
– Nilai a dan b harus diketahui sebelum dijumlahka
antara kelompok instruksi
• Jika hasil genap, tambahkan a dengan 1 if ( nilai >90 )
int a,b,c; if (i%2==0 ) a=a+1;
{
scanf(“%d %d”,&a,&b);
N90 =N90+1;
c=a+b;
if (c%2==0 ) a=a+1; Total90 = Total90+nilai;
printf(“a=%d b=%d c=%d”,a,b,c); //Tambahan }
31 32

31 32

Operator Perbandingan
• Nilai ekspresi pada kondisi seringkali
menggunakan operator perbandingan :
==, != , <, >, <=, >=
• Seringkali juga memakai operator
Boolean
&& ( and ) || ( or ) ! ( not )
if (( nilai>=70) && ( nilai<80)) {
strcpy(indeks,”AB”);
strcpy(keterangan,”Bagus”);
}
33

33 34

Analisa Kasus Bertingkat IF (KONDISI) … ELSE…


• Analisa Kasus Bertingkat adalah analisa • Else dalam if bertingkat :
kasus dalam struktur analisa kasus lainnya if ( kondisi1 )
• Diperlukan untuk menyaring atau menguji if ( kondisi2 )
beberapa kondisi yang harus dilakukan instruksi-1;
secara bertahap. else
instruksi-2;
if (kondisi1) if (kondisi) ….. • Perhatikan bahwa dengan penulisan seperti
if (kondisi2) else if (kondisi ) ….. itu, maka ‘else’ digunakan untuk ‘if’ yang
if (kondisi3) else if (kondisi3 ) ….. terakhir. Jika akan digunakan untuk if
….. pertama, gunakan { … }
else …..; if (kondisi) if ( kondisi1 ) {
else …..; switch ( variabel) if ( kondisi2 )
else …..; instruksi-1; }
else
instruksi-2;
35 36

35 36

6
11/22/2020

Contoh1 : Indeks Nilai Contoh1 : Indeks Nilai


int main()
{
Jika diketahui nilai ( real ), buatlah float nilai;
program untuk menentukan indeks nilai char indeks;
mata kuliah X dengan aturan: scanf(“%f”,&nilai);

– Indeks A , nilai>80 if (nilai >80) indeks=’A’;


else if (nilai >=60) indeks=’B’;
– Indeks B , 60<= nilai <=80 else if (nilai >= 50) indeks=’C’;
– Indeks C , 50<= nilai <60 else if (nilai >= 40) indeks=’D’;
– Indeks D , 40<=nilai <50 else indeks=’E’;
– Indeks E , nilai<40 printf(“indeks=%c”,indeks);
return 0;
38
}
37

37 38

Contoh 2: Tes pegawai dan Kelulusan Catatan struktur if bertingkat


• If bertingkat : tes pegawai
if ( IPK>3 ){
scanf(“%c”,&Tes_psikologi);
if ( Tes_psikologi==‘L’)
Status=1;
else
Status=0;
}
else Status=0;

• If multi-kondisi: syarat sidang kelulusan


if (( TA==‘L’ ) && ( IPK>2 ) && (SPP==‘1’))
Status_Sarjana=1;
else
Status_Sarjana=0;
39 40

39 40

Latihan Analisa Kasus If Latihan Analisa Kasus If


Buat program untuk menentukan arah berkendara
saat di persimpangan. Jika hendak ke kota, maka
1. Buat program untuk menentukan kelulusan tugas
belok kanan, dan jarak yang harus ditempuh 5 KM.
makakuliah. Jika nilai lebih besar dari 75,
Jika ke pasar, belok kiri yang berjarak 10 KM. Jika
maka status tugas adalah lulus. Jika tidak,
tidak, maka lurus dan akan menuju bandara dengan
maka status tugas adalah tidak lulus. Tuliskan
jarak 15 km. Hitung juga total jarak yang akan
ni;ai tugas dan status keleulusan tugas
ditempuh, jika saat tiba di persimpangan tersebut,
tersebut.
pengendara sudah melakukan perjalanan sejauh 15
km.
Misal : arah ke kota, maka tampilan adalah :
Anda akan ke kota, maka belok kanan dengan jarak
5 km. Anda akan menempuh perjalalan sejauh 20
km sejak anda berangkat.
jawaban jawaban

41 42

41 42

7
11/22/2020

Latihan Analisa Kasus If

3. Buat program untuk menentukan tempat tinggal


wisatawan. Input adalah umur ( integer) dan
pasangan (karakter). Jika umur kurang dari 20
tahun, maka tinggal di Suite A. Jika sama atau
lebih dari 20 tahun, maka tanyakan apakah
membawa pasangan. Jika membawa, maka tinggal
di Apartemen B, namun jika tidak membawa
pasangan, maka tinggal di Apartemen C. Tuliskan
tempat tinggal dari wisatawan tersebut.

jawaban

43

43

Anda mungkin juga menyukai