You are on page 1of 18

Pengambilan Keputusan

Algoritma & Pemrograman II

Objectives

Menjelaskan tentang operator kondisi


(operator relasi dan logika)
Menjelaskan penggunaan pernyataan if
Menjelaskan penggunaan pernyataan if-else
Menjelaskan penggunaan pernyataan if dalam

if

Menjelaskan penggunaan pernyataan else-if


Menjelaskan penggunaan pernyataan switch

Pengambilan Keputusan

Pernyataan-pernyataan yang dapat digunakan dalam


pengambilan keputusan:

Pernyataan if
Pernyataan if-else
Pernyataan switch

Pernyataan-pernyataan diatas memerlukan suatu


kondisi dibentuk dengan operator relasi dan/atau
operator logika.
Kondisi akan menghasilkan nilai salah (False = 0)
dan benar (True = 1). Apabila bernilai benar maka
proses akan dijalankan, apabila bernilai salah maka
proses tidak akan berjalan atau dialihkan pada
proses lain.

Pernyataan if

Bentuk umum :
if (kondisi)
pernyataan;
Jika kondisi benar maka
pernyataan dilakukan.
pernyataan bisa satu atau
beberapa statement
Jika pernyataan lebih dari satu
gunakan tanda { dan } untuk
mengelompokkan pernyataan2
itu.

Salah

Benar

Contoh#1 Program dengan if


/* Program Menentukan Kelulusan */
#include <stdio.h>
#include <conio.h>
main(){
int nilai;
clrscr();
printf(Input nilai anda = );
scanf(%d,&nilai);
if (nilai>=60)
{
printf(\nSelamat!!! Anda Lulus\n);
printf(Makan-makannya mana??\n);
}
printf(Tekan sebarang tombol untuk keluar!!!);
getch();
}

Contoh#2 Program dengan if


/* Program mencetak deret bilangan genap antara 1 100 */
#include <stdio.h>
#include <conio.h>
main()
{
int bil;
clrscr();
for (bil=1; bil<100; bil++)
{ if(bil % 2 == 0) /* periksa apakah bil genap */
printf(%5i, bil);
}
getch();
}

Pernyataan if-else

Bentuk umum :
if (kondisi)
pernyataan-1;
else
pernyataan-2;
Jika kondisi benar maka
pernyataan-1 dilakukan.
Jika kondisi salah maka
pernyataan-2 dilakukan.

kondisi

Salah

Benar
pernyataan-1

pernyataan-2

Contoh Program dengan if-else


/* Program Menentukan Kelulusan dengan if-else*/
#include <stdio.h>
#include <conio.h>
main(){
int nilai;
clrscr();
printf(Input nilai anda = );
scanf(%d,&nilai);
if (nilai>=60)
{
printf(\nSelamat!!! Anda Lulus\n);
printf(Makan-makannya mana??\n);
}
else {
printf(\nAnda GAGAL!!!\n);
printf(Silakan mengulang semester depan);
}
printf(Tekan sebarang tombol untuk keluar!!!);
getch();
}

Pernyataan if-else-if

Untuk menyelesaikan permasalahan


dengan jumlah kondisi lebih dari 2 buah.
Bentuk umum :
if (kondisi-1)
pernyataan-1;
else if (kondisi-2)
pernyataan-2;
else if (kondisi-3)
pernyataan-3;
else
pernyataan-4;

kondisi-1

Salah

Benar
pernyataan-1

kondisi-2

Salah

Benar
pernyataan-2

kondisi-3

Salah

Benar
pernyataan-3

pernyataan-4

Contoh Program dengan if-else-if


/* Program Menentukan Bilangan Positif atau Negatif */
#include<stdio.h>
#include <conio.h>
main()
{
int bil;
clrscr();
printf(Input sebuah bilangan = );
scanf(%d,&bil);
if(bil>0)
printf(Adalah Bilangan Positif\n);
else if(bil==0)
printf(Adalah NOL\n);
else
printf(Adalah Bilangan Negatif\n);
printf(Tekan sebarang tombol untuk keluar!!!);
getch();
}

Nested if (if tersarang)

Di dalam pernyataan if (atau if-else) bisa terdapat pernyataan if


(atau if-else) yang lain.
Bentuk umum:
if (kondisi-1)
if (kondisi-2)
.
.
if (kondisi-n)
pernyataan;
else
pernyataan;
.
.
else
pernyataan;
else
pernyataan;

Contoh Program dengan Nested-if


/* Program Menentukan Bilangan Positif atau Negatif dari Dua Buah
Bilangan */
#include<stdio.h>
#include<conio.h>
main(){
int bil1,bil2;
clrscr();
printf(Input dua buah bilangan = );
scanf(%d %d,&bil1, &bil2);
if(bil>0)
if(bil2>0)
printf(Nilai bil1 dan bil 2 Adalah Positif\n);
else
printf(Nilai bil1 Positif dan bil 2 Negatif\n);
else
printf(Nilai bil1 Adalah Negatif\n);
printf(Tekan sebarang tombol untuk keluar!!!);
getch();
}

Pernyataan switch

Sebagai pengganti pernyataan if


bertingkat (if-else-if).
Bentuk umum:
switch (ekspresi)
kondisi-1
{
case konstanta-1:
Salah
pernyataan-11;
......
kondisi-2
break;
case konstanta-2:
Salah
.
.
kondisi-3
case konstanta-n:
Salah
pernyataan-n1;
Pernyataan
.......
default
break;
default:
pernyataan-m;
.......
break;
}

Benar

pernyataan-1

Benar

pernyataan-2

Benar

pernyataan-3

Contoh Program dengan switch


/* Program Menentukan Karakter yang Diinput */
#include<stdio.h>
#include<conio.h>
main()
{
/* lanjutan programnya */
char pilih;
default:
clrscr();
printf("masukkan karakter a-c = "); printf("Anda tidak memilih apapun!\n");
break;
scanf("%c",&pilih);
}
switch(pilih)
getch();
{
}
case 'a' :
printf("OK anda pilih a\n");
break;
case 'b' :
printf("OK.. anda pilih b\n");
break;
case 'c' :
printf("Waw anda memilih c\n");
break;

Latihan
1.

Buatlah program untuk melakukan konversi


berikut ini, dengan inputan berupa nilai antara
0 100.
Nilai

Klasifikasi

Nilai > 80

70 < Nilai <= 80

60 < Nilai <= 70

50 < Nilai <= 60

Nilai <= 50

Latihan - continued
2.
3.
4.

Buatlah program untuk memasukkan 3 buah


bilangan (x,y,z), dan program memberikan
keluaran berupa nilai terbesarnya.
Buatlah program untuk mencetak sejumlah deret
bilangan ganjil antara 1 sampai N, dimana N
dimasukkan oleh user.
Buatlah sebuah program untuk melakukan
beberapa perhitungan dengan menggunakan ketiga
rumus seperti yang nampak pada contoh tampilan.
User diminta meng-input dua buah bilangan
sebelum proses dikerjakan.

Latihan - continued
Contoh tampilan:
Pilihlah salah satu rumus di bawah ini:
1. B = A * N + 1
2. B = A * N * N
3. B = ( A + N ) / N
Rumus yang akan digunakan: 1
Masukkan nilai A: 4
Masukkan nilai N: 3
Nilai B adalah: 13

You might also like