Anda di halaman 1dari 10

BAB V

PENGAMBILAN KEPUTUSAN

V.I Fungsi IF
Fungsi untuk melakukan perbandingan pengambilan keputusan  dalam program C adalah
1.    Fungsi   IF 
2.    Fungsi  SWITCH
Menurut aplikasi atau penggunaannya Fungsi  IF  ada 3 macam yaitu :
1.  IF  -  Then

2.   IF - Then  -  Else, Jika hanya 2 kondisi/syarat 

3.   IF – Then – Else, Jika kondisi/syarat  lebih dari 2 

Bentuk umum :

Flowchart

Gambar 5.1 flowchart if


V.1.2.   IF - Then  -  Else, Jika hanya 2 kondisi/syarat 
Bentuk ini digunakan jika :

 Kondisi pembanding hanya dilakukan satu kali saja


 Ada 2 pilihan pernyataan. Peryataan pertama setelah kata kunci Then dan pernytaan
kedua setelah kata kunci Else.
 Melakukan pilihan dari 2 pernyataan  untuk mengerjakan salah satu pilihan
pernyataan.
 Pernyatan bisa terdiri satu baris pernyataan atau satu blok pernyataan.
 Baris pernyataan sebelum kata kunci  Else tidak boleh diberi tanda titik koma.
 Pernyataan setelah kata kunci else adalah pilihan pernyataan-2  yang akan dikerjakan
jika kondisi bernilai salah.
 Blok pernyataan  diawali kata Begin dan diakhiri dengan Kata End; (End + titik
koma).

Bentuk umum :

Flowchart

Gambar 5.2 flowchart if then


3.   IF – Then – Else, Jika kondisi/syarat  lebih dari 2 

 Kondisi pembanding boleh dilakukan lebih dari satu kali saja


 Ada 2 pilihan pernyataan. Peryataan pertama setelah kata kunci Then dan pernytaan
kedua setelah kata kunci Else.
 Melakukan pilihan lebih dari 2 pernyataan  untuk mengerjakan salah satu pilihan
pernyataan.
 Pernyatan bisa terdiri satu baris pernyataan atau satu blok pernyataan.
 Baris pernyataan sebelum kata kunci  Else tidak boleh diberi tanda titik koma.
 Pernyataan setelah kata kunci else adalah pilihan pernyataan-2  yang akan dikerjakan
jika kondisi bernilai salah.
 Blok pernyataan  diawali kata Begin dan diakhiri dengan Kata End; (End + titik
koma).

Bentuk umum :
Flowchart

Gambar 5.3 flowchart if then else

Contoh program dibawah ini merupakan contoh dari penyataan IF

Perhatikan blok yang saya beri warna…


Ini adalah blok untuk percabangan if/else/if. Kita bisa menambahkan berapapun blok yang
kita inginkan.
CONTOH PROGRAM 1
include <stdio.h>
main()
{
int nilai;
char grade;
printf("=== Program Grade Nilai ===\n");
printf("Inputkan nilai: ");
scanf("%i", &nilai);

// menggunakan percabangan if/esle/if


if (nilai >= 90) {
grade = 'A';
} else if (nilai >= 80) {
grade = 'B'; // seharusnya B+
} else if (nilai >= 70) {
grade = 'B';
} else if (nilai >= 60) {
grade = 'C'; // seharusnya C+
} else if (nilai >= 50) {
grade = 'C';
} else if (nilai >= 40) {
grade = 'D';
} else if (nilai >= 30) {
grade = 'E';
} else {
grade = 'F';
}

printf("Nilai: %i\n", nilai);


printf("Grade anda: %c\n", grade);
}

TAMPILAN PROGRAM
CONTOH PROGRAM 2
#include <stdio.h>
int main(void)
{
char nilai;

printf("Input Nilai Anda (A - E): ");


scanf("%c",&nilai);

if (nilai == 'A' ) {
printf("Pertahankan! \n");
}
else if (nilai == 'B' ) {
printf("Harus lebih baik lagi \n");
}
else if (nilai == 'C' ) {
printf("Perbanyak belajar \n");
}
else if (nilai == 'D' ) {
printf("Jangan keseringan main \n");
}
else if (nilai == 'E' ) {
printf("Kebanyakan bolos... \n");
}
else {
printf("Maaf, format nilai tidak sesuai \n");
}
return 0;
}
HASIL PROGRAM :
CONTOH PROGRAM 3
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
int bil;

cout<<"MENENTUKAN BILANGAN GANJIL ATAU GENAP"<<endl;


cout<<"-------------------------------------"<<endl;
cout<<"Masukkan bilangan : ";
cin>>bil;

cout<<endl;
cout<<bil<<" termasuk dalam bilangan ";

//jika hasil modulus sama dengan 0


if(bil%2 == 0)
cout<<"GENAP"<<endl;
else //selain itu
cout<<"GANJIL"<<endl;

_getche();
return 0;
}

TAMPILAN HASIL :

PENJELASAN
Pada program di atas, user melakukan input bilangan 53, kondisi pada if(bil%2 == 0)
akan dicek, karena 53 modulus 2  hasilnya tidak sama dengan 0 maka pernyataan di dalam if
diabaikan dan pernyataan di dalam else yaitu cout<<"GANJIL"<<endl; yang dijalankan.
 if-else if-else 
“Jika kondisi pada if bernilai benar (terpenuhi), maka pernyataan  di dalam if akan 
dijalankan, namun  jika kondisi  tidak  terpenuhi  maka kondisi pada else if akan diperiksa,
jika kondisi terpenuhi maka pernyataan di dalam else if akan dijalankan. Namun, jika kondisi
pada else if juga tidak terpenuhi maka  pernyataan di dalam else yang akan dijalankan.”
V.6. Pertanyaan Switch.
Pertanyaan switch merupakan pertanyaan yang di rancang khusus untuk menangani
pengembalian keputusan yang melibatkan sejumlah alternatif. Diantaranya untuk
menggantikan pernyataan if bertingkat pada penentuan nama hari berdasarkan kode hari.
Bentuk umum pernyataan switch:

Switch (ekspresi)
{
Case konstanta -1:
Pernyataan-1
Break;
Case konstanta -2:
Pernyataan-2
Break;
.
:
Case konstanta -x :
Pernyataan-x
Break;

Default:

Pernyataan-n

Flowcart
ya break
Ekspresi Pernyataan 1
==

tidak

ya break
Ekspresi Pernyataan 2
==

tidak

break
Ekspresi Pernyataan X
== ya

tidak

Pernyataan
yang mengikuti
Default

Gambar 5.4. Diagram alir switch


Contoh Program switch

#include <stdio.h>
Main()
{
Int kode_hari;
Puts (“Menentukan hari\n”);
Puts (“1 = SENIN 3 =RABU 5 = JUMAT 7 = MINGGU”);
Puts (“2 = SELASA 4 = KAMIS 6 = SABTU ”);
Printf (“\nMasukkan kode hari (1..7): ”);
Scanf (“%d”, &kode_hari);
Switch (kode_hari)
{
Case 1:
Puts(“Hari SENIN”);
Break;
Case 2:
Puts(“Hari SELASA”);
Break;
Case 3:
Puts(“Hari RABU”);
Break;
Case 4:
Puts(“Hari KAMIS”);
Break;
Case 5:
Puts(“Hari JUMAT”);
Break;
Case 6:
Puts(“Hari SABTU”);
Break;
Case 7:
Puts(“Hari MINGGU”);
Break;
Default:
Puts (“Kode yang anda masukkan salah ! ”);
}
}

Anda mungkin juga menyukai