KELAS X (SEPULUH)
STRUKTUR 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.
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:
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.
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:
// 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;
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:
Output:
Contoh 2
Coba perhatikan flowchart ini:
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_terpenu
hi;
}
Contoh
//contoh if tiga kondisi
#include <iostream>
using namespace std;
int main() {
int bil;
cout<<"Masukkan sebuah bilangan bulat "<<"yang akan diperiksa: "; cin>>bil;
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
Coba perhatikan flowchart berikut:
Output:
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;
}
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:
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
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