MODUL
PEMROGRAMAN DASAR
KELAS X (SEPULUH)
STRUKTUR PERCABANGAN
Guru Mata Pelajaran
Yuli Dianah, S.T.
NUPTK 5160861663210123
REKAYASA PERANGKAT LUNAK
SMK NEGERI 1 CIBINONG – BOGOR
2020
Pertemuan 10
A. KOMPETENSI DASAR
KD 3.6 Menerapkan struktur kontrol Percabangan dalam bahasa pemrograman
KD 4.6 Membuat kode program struktur kontrol percabangan
B. TUJUAN PEMBELAJARAN :
Melalui pembelajaran daring, menyimak video pembelajaran dan e-modul, peserta didik mampu
mendiagramkan dan mendesain kode program dengan struktur kontrol percabangan tidak bersyarat dan
struktur percabangan sederhana secara benar dan teliti serta menerapkan dalam kehidupan sehari-hari
dengan menunjukkan sikap disiplin, rasa ingin tahu, jujur, tanggungjawab dan kerja keras.
C. INDIKATOR PENCAPAIAN KOMPETENSI
3.6.1 Mendiagramkan statement/perintah untuk kontrol percabangan
3.6.2 Mendiagramkan statement/perintah untuk kontrol percabangan satu kondisi
3.6.3 Mendiagramkan statement/perintah untuk kontrol percabangan dua kondisi
4.6.1 Mendesain aplikasi percabangan satu kondisi
4.6.2 Mendesain aplikasi percabangan dua kondisi
D. MATERI POKOK:
1. Statement perintah kontrol percabangan
2. Statement perintah kontrol percabangan satu kondisi
3. Statement perintah kontrol percabangan dua kondisi
STRUKTUR PERCABANGAN
Salah satu permasalahan yang pasti akan dijumpai dalam pembuatan program adalah percabangan.
Percabangan adalah suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan atas
kondisi tertentu. Di dalam C++ terdapat dua buah jenis struktur yang digunakan untuk mengimplementasikan
suatu percabangan, yaitu dengan menggunakan struktur if dan struktur switch.
Pada flow chart, logika percabangan diwakili “jika…maka” digambarkan dalam bentuk cabang:
Gambar 1 Contoh Flowchart Percabangan 2
Sumber: http://petanikode.com
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T
STRUKTUR IF
1. Struktur if satu kondisi.
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi
yang akan diperiksa. Bentuk umum dari struktur percabangan yang memiliki satu kondisi adalah sebagai
berikut:
//jika hanya terdiri satu statemen if
(kondisi) statemen
//jika terdapat lebih dari satu statemen
if (kondisi) { statemen1;
statemen2;
….. }
Contoh 1:
//contoh if satu kondisi
#include <iostream>
using namespace std;
int main() {
int nilai;
// Inputkan sebuah bilangan bulat
cout<<"Inputkan sebuah bilangan bulat: ";
// Membaca nilai yang diinputkan dari keyboard
cin>>nilai;
// Menampilkan sebuah teks
// jika nilai yang tersimpan lebih besar dari 0
if (nilai > 0)
cout<<"Nilai yang Anda inputkan adalah bilangan positif ";
return 0;
}
Output:
Hasil dari program diatas akan menampilkan teks Nilai yang anda inputkan adalah bilangan positif jika
input nilai yang lebih besar dari 0. Jika lebih kecil dari 0 maka tidak akan dieksekusi.
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 3
Contoh 2:
//contoh if satu kondisi dua statement
#include <iostream> using
namespace std; int main() {
int bilangan;
//masukkan sebuah bilangan cout<<"Masukkan sebuah
bilangan bulat: "; cin>>bilangan;
if ((bilangan > 0) && (bilangan < 30)) { cout<< "bilangan lebih
besar dari nol" ; cout<<" dan lebih kecil dari tigapuluh";
}
return 0; }
Output 2
Keterangan : pada contoh 2 hampir sama dengan contoh 1, hanya pada contoh 2. statementnya ada dua
baris sehingga menggunakan tanda { }.
Contoh 3:
Coba perhatikan flowchart berikut ini:
Gambar 2 Contoh Flowchart Percabangan 1 Kondisi
Sumber: http://petanikode.com
Flowchart tersebut dapat kita baca seperti ini:
“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda dapat hadiah”
Kalau dibawah Rp 100.000 bagaimana?
Ya pesannya tidak akan ditampilkan.
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 4
Mari kita coba dalam program C++.
Buatlah file bernama if.cpp, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
cout << "=== Program Pembayaran ===" << endl;
unsigned int total_belanja;
cout << "Masukan total belanja: ";
cin >> total_belanja;
// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
cout << "Terimakasih sudah berbelanja di toko kami" << endl;
return 0;
}
Output:
Penjelasan:
// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
Inilah yang disebut blok program.
Blok program berisi sekumpulan ekpresi dan statement untuk dikerjakan oleh komputer. Blok program
pada C++, selalu diawali dengan tanda buka kurung kurawal { dan akan diakhiri dengan tutup kurung
kurawal }.
Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh tidak ditulis tanda
kurungnya.
if (total_belanja > 100000)
cout << "Selamat! anda dapat hadiah" << endl;
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 5
2. Struktur Percabangan Dengan Dua Kondisi.
Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan struktur yang hanya
memiliki satu buah kondisi. Bentuk umum dari struktur percabangan dengan dua kondisi adalah sebagai
berikut:
if (kondisi)
{
statemen_jika_kondisi_terpenuhi; }
else { statemen_jika_kondisi_tidak_terpenuhi;
}
Dalam menuliskan kondisi/syarat selalu digunakan operator relasional sebagai sarana untuk
melakukan proses pengecekan
Operator Arti
> Lebih besar
< Lebih kecil
= = Sama dengan
>= Lebih atau sama
<= Kurang atau sama
!= Tidak sama dengan
Contoh 1:
//contoh if dua kondisi
#include <iostream>
using namespace std;
int main() {
int bilangan;
cout<<"Masukkan bilangan bulat yang akan dicek ";
cin>>bilangan;
// Melakukan pengecekan bilangan apakah habis if (bilangan % 2 ==
0) {
cout<<bilangan<<" adalah bilangan genap";
} else {
cout<<bilangan<<" adalah bilangan ganjil";
} return 0;
}
Output:
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 6
Contoh 2
Coba perhatikan flowchart ini:
Gambar 3 Contoh Flowchart Percabangan 2 Kondisi
Sumber : http://petanikode.com
Ini adalah flowchart untuk mengecek password.
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan: “Selamat datang bos!"
Tapi kalau salah, maka pesan yang ada di blok merah yang akan ditampilkan: “Password salah, coba lagi!"
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan, karena dia bukan bagian dari blok
percabangan if/else.
Perhatikan arah panahnya, setiap blok if/else mengarah ke sana…
Gambar 4. Contoh Alur Percabangan 2 Kondisi 7
Sumber: http://petanikode.com
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T
Untuk lebih jelasnya, mari kita coba dalam program.
Buatlah file beru bernama if_else.cpp, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
string password;
cout << "========= Login =========" << endl;
cout << "Masukan password: ";
cin >> password;
// percabangan if/else
if (password == "kopi"){
cout << "Selamat datang bos!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;
return 0;
}
Output: Jika Salah
Output: Jika Benar
PERCABANGAN DENGAN OPERATOR TERNARY
Bentuk lain percabangan dua kondisi ini, dapat juga menggunakan operator ternary, karena Operator
ternary dikenal dengan sebutan operator kondisi (conditional operator).
Bentuk strukturnya seperti ini:
(kondisi) ? true : false
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 8
Bagian kondisi dapat kita isi dengan ekspresi yang menghasilkan nilai true dan false.
Lalu setelah tanda tanya ? adalah bagian pilihan.
Jika kondisi bernilai benar, maka true yang akan dipilih. Tapi kalau salah, maka false yang akan dipilih.
Untuk lebih jelasnya kita akan praktikkan.
Buatlah file baru bernama ternary.cpp, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
int jawaban;
cout << "Berapakah hasil 3+4?" << endl;
cout << "jawab> ";
cin >> jawaban;
string hasil = (jawaban == 7) ? "Benar" : "Salah";
cout << "Jawaban anda: " << hasil << endl;
return 0;
}
Output: Jika Salah
Output: Jika Benar
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 9
3. Struktur If Tiga Kondisi atau Lebih
Struktur jenis ini merupakan perluasaan dari struktur yang memiliki dua kondisi yaitu dengan
menambahkan satu atau lebih kondisi kedalamnya. Strukturnya yaitu:
if (kondisi_1)
{
statemen_jika_kondisi_1_terpenuhi;
} else if (kondisi_2)
{
statemen_jika_kondisi_2_terpenuhi;
} else if (kondisi_3)
{
statemen_jika_kondisi_3_terpenuhi;
}
Else {
statemen_jika_semua_kondisi_diatas_tdk_terpenuhi;
}
Contoh
//contoh if tiga kondisi
#include <iostream> cin>>bil;
using namespace std;
int main() {
int bil;
cout<<"Masukkan sebuah bilangan bulat "<<"yang akan diperiksa: ";
if (bil > 0) {
cout<<bil<<" adalah bilangan Positif";
}
else if (bil < 0) {
cout<<bil<<" adalah bilangan Negatif";
}
else {
cout<<"Anda memasukkan bilangan NOL";
}
return 0;
}
Output
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 10
Coba perhatikan flowchart berikut:
Gambar 5 Contoh Flowchart Percabangan lebih dari 3 kondisi (Bertingkat)
Sumber: http://petanikode.com
Perhatikan blok yang saya beri warna…
Ini adalah blok untuk percabangan if/else/if. Kita bisa menambahkan berapapun blok yang kita inginkan.
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 11
Contoh Program:
#include <iostream>
using namespace std;
int main(){
int nilai;
string grade;
cout << "=== Program Grade Nilai ===" << endl;
cout << "Inputkan nilai akhir: ";
cin >> nilai;
// menggunakan percabangan if/esle/if
if (nilai >= 90) {
grade = "A";
} else if (nilai >= 80) {
grade = "B+";
} else if (nilai >= 70) {
grade = "B";
} else if (nilai >= 60) {
grade = "C+";
} else if (nilai >= 50) {
grade = "C";
} else if (nilai >= 40) {
grade = "D";
} else if (nilai >= 30) {
grade = "E";
} else {
grade = "F";
}
cout << "Grade anda: " << grade << endl;
return 0;
}
Output:
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 12
4. Percabangan Bersarang (Nested If)
Kita juga dapat membuat blok percabangan di dalam percabangan. Ini disebut percabangan bersarang
atau nested if.
Contoh: ifbersarang.cpp
#include <iostream>
using namespace std;
int main(){
string username, password;
cout << "=== Welcome ===" << endl;
cout << "Username: ";
cin >> username;
cout << "Password: ";
cin >> password;
if (username == "siswarpl"){
if (password == "rpl123"){
cout << "Selamat datang di Kompetensi Keahlian RPL!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
} else {
cout << "Anda tidak terdaftar" << endl;
}
return 0;
}
Output: Jika Benar
Output: Jika Salah
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 13
STRUKTUR SWITCH
Percabangan Menggunakan Statemen Switch.
Selain menggunakan struktur if, C++ juga mempunyai percabangan dengan menggunakan switch.
Bentuk umum struktur percabangan switch yaitu:
switch (ekspresi) {
case nilai_konstanta1 :
statemen(pernyataan);
break;
case nilai_konstanta2 :
statemen(pernyataan);
break;
…….
default :
statemen(pernyataan)_alternatif;
}
Tipe data dari ekspresi diatas harus berupa tipe ordinal, seperti bilangan bulat dan karakter. Selain tipe tersebut
C++ tidak mengizinkan. Statement default berguna untuk mengeksekusi statement alternatif, yaitu jika nilai
yang kita masukkan ternyata tidak sesuai dengan nilai-nilai konstant yang telah didefinisikan. Kita dapat
mendefinisikan nilai konstan tersebut dengan statemen case. Pemberian break bertujuan agar program
berhenti mengecek case berikutnya saat sebuah case terpenuhi.
Contoh 1:
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 14
Output
Contoh:
#include <iostream>
using namespace std;
int main(){
char grade;
cout << "Inputkan grade: ";
cin >> grade;
switch (toupper(grade)){
case 'A':
cout << "Luar biasa!" << endl;
break;
case 'B':
case 'C':
cout << "Bagus!" << endl;
break;
case 'D':
cout << "Anda lulus" << endl;
break;
case 'E':
case 'F':
cout << "Anda remidi" << endl;
break;
default:
cout << "Grade Salah!" << endl;
}
return 0;
}
Output
Mengapa menggunakan toupper() ? 15
Kita menggunakan fungsi toupper() untuk mengubah huruf kecil menjadi huruf kapital atau huruf besar.
switch (toupper(grade)){
...
}
Ini karena agar kita dapat menginputkan huruf kecil dan huruf besar untuk mengecek grade.
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T
Berikutnya coba perhatikan case 'B' dan case 'E'.
Kedua case ini tidak memiliki isi.
Berarti akan mengikut pada case berikutnya.
Sebagai contoh, apabila kita inputkan B maka case C yang akan terpilih.
Begitu juga saat kita inputkan E, maka case F yang akan terpilih.
LATIHAN:
1. Buatlah program untuk mengetahui hari dari angka yang diinputkan dengan Struktur IF
2. Buatlah program untuk mengetahui bulan dari angka yang diinputkan dengan Struktur Switch
3. Buatlah program untuk menentukan nilai kelulusan, jika rata nilai >60 maka lulus jika <= 60 maka gagal.
dengan menggunakan Struktur IF
4. Buatlah program untuk mengkonversikan nilai menjadi nilai indeks dengan menggunaka Struktur IF
Nilai >= 85 =A
70 <= Nilai<85 =B
55<= Nilai<70 =C
40<= Nilai< 55 =D
Nilai < 40 =E
Pemrograman Dasar – Struktur Percabangan By. Yuli Dianah, S.T 16