Anda di halaman 1dari 29

Struktur Percabangan

By. Ade Wahyudin


Tujuan Pembelajaran

Mahasiswa mengerti struktur percabangan/seleksi

Mahasiswa dapat mengimplementasikan struktur


percabangan/seleksi dalam program C++
Pendahuluan

✘ Jika hari hujan, maka saya membawa payung


✘ Jika hari hujan, maka saya membawa payung, jika tidak
hujan saya membawa topi
Definisi
✘ Pernyataan percabangan yang
memungkinkan suatu pernyataan
dieksekusi hanya jika suatu kondisi
terpenuhi atau tidak terpenuhi.
✘ Penggambilan keputusan sesuai
dengan kondisi/keadaan
Definisi
✘Ada dua bagian penting dalam struktur
percabangan:
✗Kondisi/ekspresi  ekspresi yang
menghasilkan nilai boolean (True, False).
✗Aksi/statement  tidakan yang akan dilakukan
dalam suatu kondisi
IF
IF
✘Digunakan untuk menguji sebuah kondisi.
✘Bila kondisi yang diuji terpenuhi, program akan
menjalankan pernyataan – pernyataan tertentu
✘Bila kondisi yg diuji salah, program akan
menjalankan pernyataan2 lain.
Tipe-tipe:
✗statement if
✗statement if-else
✗statement if-else if
Statement -if

✘ Menspesifikasikan sebuah statement (atau block dari


code) yang akan dieksekusi jika dan hanya jika Ekspresi
boolean bernilai true.
✘Form C++ statement-if:
if( EKSPRESI )
statement;
atau
if( EKSPRESI ){
statement 1;
statement 2;
}
Case Statement -if
Case Statement -if

False True
Exercise - 1

✘Buatlah Program C++ untuk


menentukan kelulusan seseorang ! Jika
nilai lebih dari 60 maka lulus
 i/p  nilai 70
 o/p  lulus
Contoh program 1

#include <iostream>

using namespace std;

int main () {

int a;
cout<<"masukan nilai a = ";
cin>>a;

if (a>60)
cout<<"lulus";

return 0;
}
statement if-else

✘Digunakan ketika kita akan mengeksekusi sebuah


statement jika kondisinya true, dan statement yang lain
jika berkondisi false.
✘Form C++ statement if-else:
if( EKSPRESI ){
statement1;
statement2;
. . .
}
else{
statement3;
statement4;
. . .
}
Case 2
Case 2

False True
Exercise - 2

✘Buatlah Program C++ untuk


menentukan sebuah bilangan positif atau
negatif!
✘ Misalkan :
✗ i/p bilangan = 3
✗ o/p  bilangan positip
Jika
✗ i/p  bilangan =-1
✗ o/p  bilangan negatip
Contoh program 2

#include<iostream>
using namespace std;

int main () {
int nilai;

cout<<"Masukan nilai = ";


cin>>nilai;

if (nilai<0){
cout<<"bilangan negatif";
} else {
cout<<"bilangan positif";
}
return 0;
}
statement if-else if
✘statement pada klausa else dari sebuah blok if-else
dapat menjadi struktur if-else yang lain.
✘Struktur ini memperbolehkan kita untuk membuat pilihan
yang lebih kompleks.
✘Percabangan jenis ini digunakan untuk penggunaan 3
kondisi atau lebih.
✘Form statement if - else if:

if( EKSPRESI 1 )
statement1;
else if( EKSPRESI 2 )
statement2;
else
statement3;
Flowchart

TRUE BOOLEAN FALSE


EXPR

STATEMENT TRUE BOOLEAN FALSE


EXPR

STATEMENT STATEMENT
Exercise - 3

✘Buatlah Program C++ untuk


menentukan konversi nilai ke huruf
berikut:
 A : nilai >= 85
 B : 70 <= nilai < 85
 C : 55 <= nilai < 70
 D : 40 <= nilai < 55
 E : nilai < 40
Contoh program 3
int main() {
double nilai;
char indeks;
cout<<"Masukkan nilai yang diperoleh : "; cin>>nilai;

// Melakukan konversi nilai menjadi nilai indeks


if (nilai >= 85) {
indeks = 'A';
} else if (nilai >= 70) {
indeks = 'B';
} else if (nilai >= 55) {
indeks = 'C';
} else if (nilai >= 40) {
indeks = 'D';
} else {
indeks = 'E';
}

cout<<"Nilai indeks dari nilai "<<nilai<<" adalah "<<indeks;

return 0;
}
Switch
Statement-switch

✘ Memperbolehkan percabangan pada multiple outcomes.


✘ Tipe data dari ekspresi harus bilangan bulat
✘ Statement Default, untuk mengeksekusi statement alternatif, jika nilai
yang dimasukan tidak sesuai dengan nilai konstan yang telah di
definisikan

Switch (ekspresi) {

case nilai_konstan1 : Statement1; break;


case nilai_konstan2 : Statement2; break;
….
case nilai_konstanN : StatementN; break;
default
statement_alternatif;
}
Exercise 4

✘Buatlah Program C++ untuk


menentukan nama hari dari urutan nilai
bilangan yang dimasukan.
misal : 1 = minggu
2 = senin
3 = selasa
……
7 = sabtu
#include <iostream>
using namespace std;

Contoh program 4 int main() {


int bil;

cout<<"Masukkan sebuah bilangan (1..7) : ";


cin>>bil;

switch (bil) {
case 1 : cout<<"Hari ke-"<<bil<<" : adalah MINGGU";
break;
case 2 : cout<<"Hari ke-"<<bil<<" : adalah SENIN";
break;
case 3 : cout<<"Hari ke-"<<bil<<" : adalah SELASA";
break;
case 4 : cout<<"Hari ke-"<<bil<<" : adalah RABU";
break;
case 5 : cout<<"Hari ke-"<<bil<<" : adalah KAMIS";
break;
case 6 : cout<<"Hari ke-"<<bil<<" : adalah JUMAT";
break;
case 7 : cout<<"Hari ke-"<<bil<<" : adalah SABTU";
break;
default : cout<<"Tidak terdapat nama hari ke-"<<bil;
}

return 0;
}
THANKS!
Any
questions?
LATIHAN SOAL

✘Buatlah algoritma Psedocode dan


coding program C++ untuk
permasalahan berikut:
Latihan soal

1. Menentukan suatu input bilangan,


termasuk ganjil atau genap?
2. Dibaca sebuah nilai yang mewakili
pengukuran suhu air (dalam derajat celsius)
pada tekanan atmosfer, harus dituliskan
wujud air pada temperatur tersebut.
Output: “Beku” jika T < 0
“Cair” Jika 0 < T < 100
“Uap” Jika T > 100
Latihan soal

3.