Anda di halaman 1dari 35

Percabangan

Go foward
Do
Back
nothing

percabangan
• Jika hari hujan, maka saya membawa payung
• Jika hari hujan, maka saya membawa payung, jika tidak saya
membawa topi
PENGERTIAN

“Pernyataan percabangan yang memungkinkan suatu


pernyataan dieksekusi hanya jika suatu kondisi
terpenuhi atau tidak terpenuhi”
Operator Hubungan

• membandingkan hubungan antara dua buah operand


(sebuah nilai atau variable). Operator hubungan
dalam bahasa C++:
Operator Logika

• Operator logika digunakan untuk menghubungkan dua atau


lebih ungkapan menjadi sebuah ungkapan berkondisi.

Operator Keterangan Contoh

&& Logika AND n && m


|| Logika OR n || m
! Logika NOT !n
IF SWITCH

Percabangan
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
pernyataan- pernyataanlain.
If

Struktur kontrol keputusan


digunakan untuk memilih dan mengeksekusi
block tertentu dari code yang dapat
berpindah ke bagian lain.

Tipe-tipe:
–statement-if (Satu Kasus)
–statement-if-else (Dua Kasus)
–statement-if-else if (Tigas Kasus atau Lebih)
statement-if

• statement-if
– Menspesifikasikan sebuah statement (atau block dari code) yang
akan dieksekusi jika dan hanya jika statement boolean bernilai true.

• Form statement-if dalam bahasa C/C++:


if( EKSPRESI )
statement;
atau
if( EKSPRESI ){
statement 1;
statement 2;
}
Penulisan Pseudocode untuk Seleksi
SATU KASUS: DUA KASUS:
if condition then if condition then
statement statement1
else

statement2
end if
end if

TIGA KASUS:
if condition1 then
statement1
else if condition2 then
statement2
else
statement3
end if
if-statement Flowchart

TRUE BOOLEAN FALSE


EXPR

STATEMENT
Contoh: Menentukan Apakah N = Bilangan
Ganjil?

n mod 2 !=0
Contoh: Menentukan Apakah N = Bilangan
Ganjil?
PROGRAM Cek Bilangan Ganjil

DEKLARASI:
n: integer

ALGORITMA:
read(n)
if n mod 2 != 0 then
print(n, “bilangan ganjil”)
end if
Contoh: Menentukan Tahun Kabisat
Contoh: Menentukan Tahun Kabisat

PROGRAM Tahun Kabisat

DEKLARASI
tahun: integer

ALGORITMA
read(tahun)
if(tahun mod 4 == 0) then
print (“Tahun Kabisat”)
end if
Latihan !

• Buatlah flowchart dan pseudocode


untuk menentukan kelulusan
seseorang! Jika nilai lebih dari 60
maka lulus.
statement if-else
• statement if-else
– Digunakan jika akan mengeksekusi sebuah statement jika
kondisinya true, dan mengeksekusi statement yang lain jika
berkondisi false.

• Form statement if-else:

if( EKSPRESI ){
statement1;
statement2;
. . .
}
else{
statement3;
statement4;
. . .
}
Flowchart

TRUE BOOLEAN FALSE


EXPR

STATEMENT STATEMENT
Latihan di kelas !
• Buatlah flowchart dan pseudocode untuk menentukan sebuah
bilangan positif atau negatif!
Contoh: Menentukan Bilangan Terbesar dari
Dua Buah Bilangan

PROGRAM Maksimum

DEKLARASI
a,b: integer

ALGORITMA
read(a,b)
if(a > b) then
write(‘bilangan terbesar = ’, a)
else
write(‘bilangan terbesar = ’, b)
end if
statement if-else-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.
• Form statement if-else-else if:
if( EKSPRESI 1 )
statement1;
else if( EKSPRESI 2 )
statement2;
else
statement3;
Flowchart

TRUE BOOLEAN FALSE


EXPR

STATEMENT TRUE BOOLEAN


EXPR

STATEMENT STATEMENT
Contoh: Menentukan Bilangan Maksimum dari
Tiga Bilangan (Cara1)
Contoh: Menentukan Bilangan Maksimum dari
Tiga Bilangan (Cara2)
Latihan Di Kelas

Tulislah pseudocode dan flowchart yang membaca temperatur


air (T) dalam satuan Celcius. Tentukan wujud air tersebut
berdasarkan suhu.
- Air berwujud padat jika T <= nol derajat
- Air berwujud cair jika 0 < T < 100
- Air berwujud gas jika T > 100
Latihan di kelas !

• Buatlah konversi nilai angka ke huruf !


A = 80-100
B = 60-79
C = 0-60
statement-switch
• Switch
– Memperbolehkan percabangan pada multiple outcomes.

• Form statement-switch:
switch( switch_ekspresi ){
case case_pilihan1:
statement1;//
statement2;//blok 1
break;
case case_pilihan2:
statement1;//
statement2;//blok 2
break;
default:
statement1;//
statement2;//blok n
}
statement-switch

• Dimana,
– ekspresi switch
• Merupakan integer atau karakter ekspresi
– case_pilihan1, case_pilihan2 dan yang lainnya,
• merupakan integer unique atau karakter tetap.
Flowchart

TRUE
CASE
SELECTOR 1 BLOCK 1 STATEMENT BREAK;

FALSE

TRUE
CASE
SELECTOR 2 BLOCK 2 STATEMENT BREAK;

FALSE

TRUE
CASE
SELECTOR 3 BLOCK 3 STATEMENT BREAK;

FALSE

DEFAULT BLOCK
STATEMENT
Contoh Kode Program

main ()
{
int na, nh;
switch (na)
{ case 100:
cout<<“Bagus”;
break;
case 70:
cout<<“Lumayan”;
break;
default:
cout<<“Nilai yang anda masukkan salah";
}
}
Latihan Di Kelas

Buatlah pseudocode dan Flowchart kalkulator sederhana untuk


menjumlah, mengurang, mengali, dan membagi. Input dari
program ada tiga, yaitu: operand1, operator, dan operand 2.
(Gunakan switch-case atau if-else).
TUGAS

Buatlah algoritma dan program dalam bahasa C++ untuk Studi


Kasus berikut :
Sebuah perusahaan memberikan hadiah dan bonus pada
karyawan yang jam kerjanya di atas 40 jam per-minggu dan
tidak pernah terlambat dalam satu bulan. Karyawan yang
jumlah jamnya di atas 40 jam per-minggu mendapat bonus
sebesar 25.000 per kelebihan jamnya, dan bila dia juga tidak
pernah terlambat akan mendapat hadiah berupa 10% dari gaji
pokoknya.
Tugas
Problem: misalkan karyawan PT ABCD dikelompokkan
berdasarkan golongan.
Upah per jam tiap karyawan bergantung pada golongan gaji
golongan A adalah Rp 40000/jam, golongan B adalah Rp
50000/jam, golongan C adalah Rp 60000/jam, dan golongan D
adalah Rp 70000/jam.
Jumlah jam kerja yang normal selama seminggu adalah 48 jam.
Kelebihan jam kerja dianggap lembur dengan upah lembur
adalah Rp 30000/jam untuk semua golongan.
Input program: nama karyawan, golongan, dan jumlah jam kerja.
Buatlah pseudocode, flowchart dan program dari permasalah di
atas!

Anda mungkin juga menyukai