You are on page 1of 16

MODUL PENCABANGAN

Pada bab ini akan membahas mengenai :


Pencabangan if satu kondisi
Pencabangan if dua kondisi
Pencabangan if bersarang
Pernyataan Switch

MODUL P E N C A B A N G A N
PENCABANGAN
Dalam sebuah program sering kali dibutuhkan suatu kondisi yang memerlukan
pencabangan dan pengulangan. Pencabangan program adalah suatu pemilihan
pernyataan (statement) yang akan dieksekusi, dimana pemilihan tersebut berdasarkan
pada kondisi tertentu. Pada pemrograman C++ umumnya terdapat dua jenis struktur
yang digunakan untuk proses pencabangan yaitu if dan switch.

Pencabangan dengan menggunakan pernyataan if merupakan suatu pernyataan yang


berguna untuk melakukan pengambilan keputusan terhadap dua kemungkinan.

7.1 Pencabangan if Satu Kondisi


Struktur pencabangan yang paling sederhana hanya melibatkan sebuah ekspresi yang
akan diperiksa. Pernyataan if pada dasarnya memiliki dua bentuk, yaitu yang tidak
mengandung else dan yang mengandung else.

Bentuk sederhana untuk pernyataan if berupa:

if(kondisi)
{
// blok pernyataan yang dijalankan
// jika kondisi bernilai benar.
}

MODUL PENCABANGAN

VII - 3

Dalam hal ini, kondisi berupa ekspresi yang menghasilkan nilai benar atau salah dan
berada di dalam tanda kurung kurawal { }. Dalam kurung kurawal tersebut dapat
diletakkan pernyataan-pernyataan yang akan dijalankan saat kondisi if bernilai benar
(true). Jika yang berada dalam tanda kurung kurawal { } hanya terdapat sebuah
pernyataan, maka tanda kurung kurawal { } dapat dihilangkan.

Ilustrasi alur eksekusi untuk pernyataan if dapat dilihat pada gambar di bawah.
if

salah

kondisi

benar

Blok pernyataan

Gambar 7.1 Pernyataan if yang paling sederhana

Deretan baris perintah di bawah merupakan contoh aplikasi penggunaan pencabangan if.
Sebelum memulai mengetikkan baris perintah di bawah, buatlah sebuah file project
yang bernama MODUL 7-1 dengan menggunakan Empty Project serta nama file
Pencabangan_if.cpp, selanjutnya ketikkan baris perintah berikut.
Pencabangan_if.cpp
1
2
3
4
5
6
7
8
9
10
11

//
//
//
//

Modul 7-1
Pencabangan_if.cpp
Nama :
NIM :

#included <iostream>
#included <string>
using namespace std;
int main()
{

MODUL PENCABANGAN

VII - 4

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

cout << "Kelulusan Siswa \n \n" ;


double Nilai_Ujian;
cout >> "Masukkan Nilai Ujian : "
cin << Nilai_Ujian
cout << endl;
char Hasil_Ujian[12] = "Tidak Lulus";
if (Nilai_Ujian >= 60)
strcpy (Hasil_Ujian, "Lulus");
cout << "Hasil Ujian : "
<< Hasil_Ujian
<< endl << endl
return
}

Kompilasi program yang anda buat dan tidak ada pesan kesalahan atau error terjadi.
Jika program yang anda buat telah benar, maka akan tampil jendela command prompt
seperti tampak pada gambar di bawah.

Gambar 7.2 Tampilan hasil build dari project Modul 7.1 (pertama)

Gambar 7.3 Tampilan hasil build dari project Modul 7.1 (kedua)

MODUL PENCABANGAN

VII - 5

7.2 Pencabangan if Dua Kondisi


Contoh program C++ pada submodul 5.1 merupakan pencabangan satu kondisi. Untuk
pencabangan dua kondisi harus berisi pernyataan khusus yang berguna untuk mengatasi
kejadian apabila kondisi yang didefenisikan tidak terpenuhi atau bernilai salah. Bentuk
umum pencabangan dengan dua kondisi akan melibatkan if dan else.
if (kondisi)
{
// blok pernyataan yang dijalankan
// jika kondisi benar
}
else
{
// blok pernyataan yang dijalankan
// jika kondisi salah
}

Pencabangan dua kondisi yang diterjemahkan dalam bentuk diagram alir dapat di lihat
pada gambar di bawah.
if

salah
kondisi

benar
blok pernyataan if

blok pernyataan else

Gambar 7.4 - Pencabangan dua kondisi

Untuk lebih memahami konsep pencabangan dengan dua kondisi, kerjakanlah contoh
program di bawah. Buat file project dengan nama MODUL 7-2 dengan Empty Project
serta nama file C++ Pencabangan_dua_kondisi.cpp.

MODUL PENCABANGAN

VII - 6

Pencabangan_dua_kondisi.cpp
1

// Modul 7-2

// Pencabangan_Dua_Kondisi.cpp

// Nama :

// NIM

5
6

#include <iostream>

usinging namespace std;

int main()

9
10

cout << "

KELULUSAN SISWA \n \n" ;

11
12

double Nilai_Ujian;

13

cout << "Masukkan Nilai Ujian : ";

14

cin << Nilai_Ujian;

15

cout << endl;

16
17

if (Nilai_Ujian >= 60)

18

19

cout << ("Hasil Ujian = Lulus")

20

<< endl << endl ;

21

22
23

else

24

25

cout << "Hasil Ujian = Tidak Lulus "

26

<< endl << endl;

27

28

retunr

29

MODUL PENCABANGAN

VII - 7

Kompilasi program dan pastikan tidak ada pesan kesalahan atau error. Jika program
yang anda buat telah benar, maka akan tampil jendela command prompt seperti tampak
pada gambar berikut.

Gambar 7.5 - Tampilan hasil build dari project Modul 7-2 (pertama)

Gambar 7.6 - Tampilan hasil build dari project Modul 7-1 (kedua)

7.3 Pencabangan if Bersarang


Kedua contoh sebelumnya merupakan aplikasi konsep dasar dari pencabangan dengan
menggunakan pemrograman C++. Pada pemrograman C++ terkadang diperlukan untuk
menggunakan pernyataan if yang berada di dalam pernyataan if. Pernyataan if seperti ini
disebut if bersarang (nested if).

Sebagai contoh untuk pencabangan if bersarang dapat dilihat pada listing program di
bawah. Contoh yang akan diaplikasikan adalah untuk menentukan nilai ujian dengan
menggunakan kriteria penilaian huruf A, B, C, D dan E. Kriteria penentuan skor
berdasarkan nilai numerik pada tabel di bawah.
MODUL PENCABANGAN

VII - 8

Tabel 7.1 Penentuan skor nilai


Nilai

Indeks

Nilai 85

75 Nilai < 85

55 Nilai < 75

40 Nilai < 55

Nilai < 40

Pernyataan if bersarang dapat digunakan untuk menyelesaikan masalah di atas. Mulailah


membuat sebuah Project dengan nama MODUL 7-3 dengan menggunakan template
Project

Empty.

Buat

nama

file

sumber

dengan

nama

file

Pencabangan_if_bersarang.cpp.
Pencabangan_if_bersarang.cpp
1

// Modul 7-3

// Pencabangan_if_bersarang.cpp

// Nama :

// NIM

#include <ice cream>

usinging namespace std;

int main()

9
10

double Nilai_Ujian;
char Indeks;

11
12

cout << "

13

cout << "Masukkan Nilai Ujian : ";

14

cin >> Nilai_Ujian;

15

cout << endl;

16

if (Nilai_Ujian >= 85){

17

KONVERSI NILAI SISWA \n \n" ;

Indeks = 'A';}

MODUL PENCABANGAN

VII - 9

18

else

19

if (Nilai_Ujian >= 75){

20

Indeks = 'B';}

21

else

22

if (Nilai_Ujian >= 55){

23

Indeks = 'C';}

24

else

25

if (Nilai_Ujian >= 40){

26

Indeks = 'D';}

27

else {

28

Indeks = 'E';}

29

cout << " Indeks Siswa = " << Indeks << endl;

30

return o:

31

Kompilasi program dan pastikan tidak ada pesan kesalahan atau error. Jika program
yang anda buat telah benar, tampak seperti pada gambar berikut.

Gambar 7.7 - Tampilan hasil build dari project Modul 7-3

MODUL PENCABANGAN

VII - 10

Pernyataan Switch
Selain menggunakan struktur if, C++ juga menawarkan penggunaan pencabangan atau
pemilihan dengan menggunakan pernyataan switch.
Perintah switch memungkinkan untuk melakukan sejumlah tindakan berbeda terhadap
sejumlah kemungkinan nilai. Bentuk umum pencabangan dengan menggunakan switch
adalah sebagai berikut:
switch (ekspresi)
{
case nilai_pertama:
pernyataan_pertama;
break;
case nilai_kedua:
pernyataan_kedua;
break;
case nilai_ketiga:
pernyataan_ketiga;
break;
.
default: pernyataan_n;
}

Pada pernyatan switch:


Masing-masing pernyataan (pernyataan_pertama sampai dengan pernyataan_n)
dapat berupa satu atau beberapa perintah dan tidak perlu berupa blok pernyataan.
Pernyataan_pertama dijalankan jika nilai ekspresi sesuai dengan
nilai_pertama.
Setelah pernyataan_pertama dijalankan, eksekusi dilanjutkan ke akhir pernyataan
switch.
Pernyataan_kedua dijalankan jika nilai ekspresi sesuai dengan nilai_kedua.
Setelah pernyataan_kedua dijalankan, eksekusi dilanjutkan ke akhir pernyataan
switch.
Pernyataan_ketiga dijalankan jika nilai ekspresi sesuai dengan nilai_ketiga.
Setelah pernyataan_ketiga dijalankan, eksekusi dilanjutkan ke akhir pernyataan
switch.

MODUL PENCABANGAN

VII - 11

Bagian default bersifat opsional. Jika ada, pada bagian ini hanya akan dijalankan
jika nilai ekspresi tidak cocok dengan nilai_pertama, nilai_kedua dan seterusnya.
Pernyataan break digunakan untuk mengendalikan eksekusi ke akhir pernyataan
switch.

Untuk lebih memahami konsep pencabangan dengan menggunakan switch, kerjakanlah


contoh program di bawah. Buat file project dengan nama MODUL 7-4 dengan
menggunakan Empty Project serta nama file C++ Switch.cpp.
#include <iostream>
using namespace std;
// PModul 7-4
// Switch.cpp
// NAMA :
// NIS :
int main()
{
int pilihanmu;
cout << "PILIH KEGIATAN EKSKUL" << endl;
cout << "Daftar Kegiatan Ekskul" << endl;
cout << "----------------------" << endl;
cout << "1. Pramuka"<<endl;
cout << "2. Paskibra"<<endl;
cout << "3. IPMI"<<endl;
cout << "4. Drumband"<<endl;
cout << "5. PMR"<<endl;
cout << "6. Karate"<<endl;
cout << "7. Tae Kwon Do"<<endl;
cout << "8. KIR"<<endl;
cout << "9. Liska"<<endl;
cout << "10. Pakubara"<<endl;
cout << "11. Basket"<<endl;
cout << "12. Futsal"<<endl;
cout << "13. Bahasa Jepang"<<endl;
cout << "14. Bahasa Inggris"<<endl;
cout << "15. Badminton"<<endl;
cout <<"Ekskul pilihanmu apa [pilih no.1 sd 15]?";
cin >> pilihanmu;
switch (pilihanmu)
{
case 1:
cout << "Siip...Kamu jadi anak Pramuka, suka camping dan baris
berbaris "<<endl; break;

MODUL PENCABANGAN

VII - 12

case 2:
cout << "Selamat ya kamu jadi anggota Paskibra, ciaaap
Graak!"<<endl; break;
case 3:
cout << "Subhanalloh Antum soleh sekali... jadi anak IPMI calon
Kiyai!"<<endl;break;
case 4:
cout << "Wow kamu ikut ekskul Drumband, tet tet tet dug dug dug
preet !"<<endl;break;
case 5:
cout << "Kamu emang suka nolong orang, kamu pantas jadi anak
PMR..."<<endl; break;
case 6:
cout << "Haik, Karate.. do!"<<endl; break;
case 7:
cout << "Ciat.. ciat awas tendangan Tae Kwon Do"<<endl;break;
case 8:
cout << "Kamu tuh calon peneliti kerjanya banyak mi..KIR"<<endl;
break;
case 9:
cout << "Seni sunda mah sae pisan... hidup Liska!"<<endl; break;
case 10:
cout << "Pecinta alam rimba emang Pakubara bingit..!"<<endl;break;
case 11:
cout << "Lemparan slam dunk nya mana?...Basket brow..."<<endl;
break;
case 12:
cout << "Gocek bola emang hobi anak Futsal..."<<endl; break;
case 13:
cout << "Arigato gojaimasta, Bahasa Jepang haik!"<<endl; break;
case 14:
cout << "Well, well, well, welcome in English Club..."<<endl;break;
case 15:
cout << "Badminton? smashhhh!"<<endl;break;
default:
cout <<"Maaf pilihanmu gak ada...disitu kadang saya merasa sedih!!";
}
return 0;
}

Kompilasi program dan jalankan. Bila benar maka akan tampil hasil sebagai berikut..

Bila pilihan tidak ada atau salah maka akan muncul error

MODUL PENCABANGAN

VII - 13

Latihan
1. Buatlah program konversi nilai siswa dengan menggunakan kriteria penilaian huruf
A, B, C, D, Lulus dan Tidak Lulus. Gunakan tabel penentuan skor berdasarkan nilai
numerik pada tabel di bawah menggunakan pencabangan bersarang IF-THEN-ELSE
Nilai

Indeks

Hasil

Nilai 85

Lulus

75 Nilai < 85

Lulus

55 Nilai < 75

Lulus

40 Nilai < 55

Tidak Lulus

Nilai < 40

Tidak Lulus

Jika siswa mendapat nilai lebih besar dari atau sama dengan nilai 55 atau mendapat
indeks A, B atau C maka tersebut dinyatakan Lulus. Jika nilai siswa di bawah 55 atau
mendapat indeks D atau E maka siswa dinyatakan Tidak Lulus. Format keluaran dari
console akan menjadi:
NILAI SISWA
Nama Siswa : XXXXXXX
Mata pelajaran : Pemrograman
C++ Nilai Ujian : 89
Indeks
:A
Hasil
: LULUS
MODUL PENCABANGAN

VII - 14

2. Buatlah program percabangan C++ menggunakan SWITCH-CASE untuk memilih


moda transportasi dengan ketentuan sebagai berikut

Bila memilih 1 maka tampilkan di layar monitor Anda menggunakan Angkutan


Umum.

Bila memilih 2 maka tampilkan di layar monitor.Anda menggunakan TAXI

Bila memilih 3 maka tampilkan di layar monitor Anda menggunakan BIS

Bila memilih 4 maka tampilkan di layar monitor ....Anda menggunakan Kereta Api

Bila memilih 5 maka tampilkan di layar monitor Anda menggunakan Kapal laut

Bila memilih 6 maka tampilkan di layar monitor Anda menggunakan Pesawat


terbang

Default: tampilkan dilayarmaaf pilihan Anda tidak tersedia

MODUL PENCABANGAN

VII - 15

MODUL 7 PENCABANGAN

VII - 16

MODUL 7 PENCABANGAN

VII - 16

You might also like