Anda di halaman 1dari 16

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) {

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:

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
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:
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_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:

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

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;
}

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)_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

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