Anda di halaman 1dari 17

MODUL PEMROGRAMAN DASAR

KELAS X (SEPULUH)

STRUKTUR
PERCABANGAN

Guru Mata Pelajaran


Agum Gumilar, S.T.

REKAYASA PERANGKAT LUNAK


SMK PASUNDAN 2 CIANJUR
CIANJUR
2022
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 Menganalisis statement/perintah untuk kontrol percabangan
3.6.2 Menyusun statement/perintah untuk kontrol percabangan tidak bersyarat
3.6.3 Menyusun statement/perintah untuk kontrol percabangan sederhana
4.6.1 Membuat aplikasi percabangan tidak bersyarat
4.6.2 Membuat aplikasi percabangan sederhana

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 Sumber:
http://petanikode.com
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) {
statemen
1; 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:

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 tampilkan.
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;
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
Operato Arti
r
> 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:
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


Sumber: http://petanikode.com
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
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


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_terp
enuhi;
}
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:

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.
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 {
Output:
grade = "F";
}
cout << "Grade anda: " << grade <<
endl; return 0;
}
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


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)_altern
atif;
}
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

Mengapa menggunakan toupper() ?


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.
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

Anda mungkin juga menyukai