MODUL
PEMROGRAMAN DASAR
X RPL
STRUKTUR KONTROL PERCABANGAN
Guru Mata Pelajaran Aman Maathoba, S.Pd
REKAYASA PERANGKAT LUNAK
SMK MAARIF TANGGULANGIN, KAB. SIDOARJO
Tahun Ajaran 2020/2021
Per-1 Sem Genap
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 Sumber: http://petanikode.com
Pemrograman Dasar – Struktur Kontrol Percabangan By Aman Maathoba, S.Pd 2
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 ditampilkan.
Pemrograman Dasar – Struktur Kontrol Percabangan By Aman Maathoba, S.Pd 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;
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 Kontrol Percabangan By Aman Maathoba, S.Pd 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 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
Pemrograman Dasar – Struktur Kontrol Percabangan By Aman Maathoba, S.Pd 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
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>
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
Pemrograman Dasar – Struktur Kontrol Percabangan By Aman Maathoba, S.Pd 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.
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 Kontrol Percabangan By Aman Maathoba, S.Pd 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
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 Kontrol Percabangan By Aman Maathoba, S.Pd 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() ?
Kita menggunakan fungsi toupper() untuk mengubah huruf kecil menjadi huruf kapital atau huruf besar.
switch (toupper(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
Pemrograman Dasar – Struktur Kontrol Percabangan By Aman Maathoba, S.Pd 16