Referensi
Bayu Rahayudi, 2011,Dasar-Dasar Pemrograman (Disertai Berbagai
Kasus dan Diimplementasikan Dalam Bahasa Pascal), Malang, UB
Press (Ikaltim)
Feni Dwi Astuti, Indra Yatini B, Pulut Suryati, Y. Yohakim Marwanta,
2024, Algoritma, Pseudocode, Java Disertai dengan Latihan dan
Soal, Yogyakarta : Graha Ilmu
Sigit Susanto P, Devie Rosa A & Fifin Ayu M, 2019, Algoritma dan
Pemrograman, MNC Publishing, Malang (Ipusnas)
Sutrisno Arianto Pasaribu, 2023, Algoritma dan Pemrograman Dalam
Bahasa Pascal dan C++, Yogyakarta : Deepublish Digital (Ipusnas)
3.
Tujuan
Tujuan dari pembahasanini adalah :
• Memahami tentang pembacaan data secara percabangan dalam
bahasa pemrograman
• Mempraktekkan perintah-perintah percabangan dalam bahasa
pemrograman
4.
• Percabangan serasidengan kata mendua, yang artinya diperhadapkan
dengan dua pilihan yang berbeda, dan harus dipilih salah satunya
• Percabangan adalah suatu operator yang digunakan untuk
menentukan pilihan terhadap beberapa pilihan yang ada
• Pernyataan kondisional adalah suatu pernyataan yang hanya akan
dijalankan jika suatu kondisi bernilai benar, berfungsi untuk
melakukan filter atau penyaringan hasil berdasarkan kondisi tertentu
• Didalam penyelesaian permasalahan di dalam pemrograman,
adakalanya diperlukan suatu pemilihan atau pembuatan keputusan,
baik itu keputusan atas 2 pilihan atau lebih
Pendahuluan
5.
Pendahuluan
• Oleh karenaitu, baik didalam perencanaan program dalam bentuk algoritma, flowchart,
dan pseudocode, ataupun di dalam pembuatan program disediakan simbol atau perintah
(syntax) untuk mengakomodasi hal tersebut
• Biasa disebut dengan simbol atau perintah pemilihan / keputusan, namun adapula yang
menyebutnya sebagai percabangan (brancing)
• Simbol pemilihan/keputusan yang digunakan pada flowchart adalah simbol belah ketupat
dan perintah yang digunakan adalah perintah if...then...else..
6.
Pendahuluan
Dari simbol yangada tersebut, diketahui bahwa simbol pemilihan/keputusan
memiliki karakteristik sebagai berikut :
• Adanya suatu kondisi/pernyataan yang memberikan pilihan atau pembuatan
keputusan, yang disimbolkan dengan kondisi ?
• Proses yang terjadi, ketika dilakukan pemilihan atau pembuatan keputusan,
yang disimbolkan dengan panah ya (Y), yang disebut kondisi positif dan panah
yang tidak (T), yang disebut sebagai kondisi negatif
• Kondisi positif atau ya (Y), dipilih jika kenyataan/fakta memenuhi semua
kondisi/batasan yang ada
• Kondisi negatif atau tidak (T), dipilih bila kenyataan/fakta berlawanan atau
tidak memenuhi kondisi atau batasan yang ada
7.
Dasar Teori
• Pernyataanpercabangan digunakan untuk memecahkan persoalan untuk mengambil
suatu keputusan diantara sekian pernyataan yang ada.
• Percabangan if merupakan sebuah blok program yang menyatakan bahwa seluruh aksi
akan dijalankan jika kondisi percabangan dipenuhi, jika tidak dipenuhi maka aksi tidak
akan dijalankan
• Percabangan if biasa digunakan untuk mengerjakan aksi yang memiliki syarat tertentu
untuk menjalankannya atau dapat dikatakan bahwa pernyataan di dalam if adalah
sebuah kondisi yang harus dipenuhi untuk menjalankan pernyataan yang ada di dalam
then , dengan kata lain then adalah akibat yang ditimbulkan oleh if
• Pernyataan if diklasifikasikan ke dalam tiga (3) bagian yaitu
• pernyataan if dengan satu kondisi (If tunggal)
• Pernyataan if dengan dua kondisi (If – Else)
• Pernyataan if bersarang (If di dalam If atau Nested If)
8.
Dasar Teori
• Berdasarkanmacamnya, seleksi dibagi menjadi 2 (dua) bentuk utama yaitu :
• If
• Switch
• Perbedaan antara kedua bentuk tersebut yaitu :
• If digunakan apabila seleksi memiliki lebih dari 1 kondisi dan nilai sedangkan switch
digunanakn apabila hanya ada 1 kondisi dengan nilai yang bervariasi
• Berdasarkan perbedaan yang ada, maka dapat dilihat bahwa :
• Dalam bentuk switch, kondisi hanya dinyatakan dengan bilangan bulat atau
karakter / string sedangkan if dapat digunakan untuk ya menggunakan operasi
rentang nilai seperti <, >, <= dan >=
• Tidak ada konstanta yang sama dalam sebuah switch
9.
If Dengan SatuKondisi (If Tunggal)
• Percabangan if tunggal hanya melibatkan satu kondisi yang akan diperiksa.
• Apabila kondisi yang diperiksa bernilai benar, maka program akan mengeksekusi bagian
yang berada dalam blok, jika sebaliknya, maka program akan mengabaikan pernyataan di
dalam blok dan langsung melanjutkan eksekusi berikutnya
Kond
isi
Aksi
End
10.
Contoh Program (IfTunggal)
#include <iostream>
using namespace std;
main()
{
int skor;
char nilai;
cout<<"Masukkan skor = ";cin>>skor;
if (skor > 7)
nilai = 'A';
cout<<"Nilai = "<<nilai<<endl;
}
• Layout
If Dengan DuaKondisi (If Majemuk)
• Bentuk umum
• Dengan ketentuan :
• Jika kondisi bernilai 1, maka statement ke 1 yang dikerjakan
• Jika kondisi bernilai 0, maka statement ke 2 yang akan dikerjakan
13.
If Dengan DuaKondisi (If Majemuk)
• Pernyataan if dengan dua kondisi (if – else)
dipergunakan untuk menyatakan pernyataan
percabangan dua kondisi dimana ada dua blok aksi
yang dipilih untuk dikerjakan jika syarat kondisi
aksi terpenuhi
• If...else : Kontrol struktur else merupakan
pelengkap dari kontrol if, digunakan untuk
memberikan alternatif jawaban benar atau salah.
• Saat pembacaan program sampai pada blok
if...else, maka akan dilakukan pemeriksaan
terhadap syarat kondisi percabangan yang ada
pada deklarasi if
• Jika syarat dipenuhi maka yang akan dijalankan
adalah aksi yang berada di dalam blok if, namun
jika syarat tidak dipenuhi maka aksi akan
dikerjakan adalah yang ada di dalam blok else
14.
Contoh Program IfDengan Dua Kondisi (1)
#include <iostream>
using namespace std;
main()
{
int Skor;
char Nilai;
cout<<"Masukkan skor = ";cin>>Skor;
if (Skor > 7)
Nilai = 'A';
else
Nilai = 'B';
cout<<"Nilai = "<<Nilai<<endl;
}
• Layout
Contoh Program IfDengan Dua Kondisi (2)
#include <iostream>
using namespace std;
main()
{
float IPK, Waktu_studi;
cout<<"Masukkan nilai IPK = ";cin>>IPK;
cout<<"Masukkan waktu studi = ";cin>>Waktu_studi;
cout<<"Hasil"<<endl;
cout<<"-----"<<endl;
if (IPK >= 3.5 and Waktu_studi <= 4.0) {
cout<<"Mahasiswa tersebut lulus dengan Predikat Cumlaude"<<endl;}
else {
cout<<"Mahasiswa tersebut lulus tanpa Predikat Cumlaude"<<endl;}
return 0;
}
Contoh Program IfDengan Dua Kondisi (2)
#include <iostream>
using namespace std;
int main() {
int angka1, angka2;
cout<< "Masukkan angka pertama: ";cin >> angka1;
cout<<endl;
cout<< "Masukkan angka kedua: ";cin >> angka2;
cout<<endl;
// Perbandingan dua variabel menggunakan AND
if (angka1 % 5== 0 && angka2 % 5== 0) {
cout << "Kedua angka merupakan kelipatan 5" << endl;
} else {
cout << "Salah satu atau kedua angka bukan kelipatan 5" << endl;
}
return 0;
}
20.
Contoh Program IfDengan Dua Kondisi (2)
#include <iostream>
using namespace std;
int main() {
int angka1, angka2;
cout << "Masukkan angka pertama: ";
cin >> angka1;
cout<<endl;
cout << "Masukkan angka kedua: ";
cin >> angka2;
cout<<endl;
// Perbandingan dua variabel menggunakan AND
if (angka1 > 0 && angka2 > 0) {
cout << "Kedua angka positif" << endl;
} else {
cout << "Salah satu atau kedua angka bukan positif" << endl;
}
return 0;
}
21.
Latihan Soal If_Else
1.Buatlah flowchart dan program untuk menampilkan informasi
apakah warga perlu cek darah atau tidak
22.
Latihan Soal If_Else
2.Buatlah flowchart dan program untuk menampilkan informasi
apakah suatu bilangan merupakan bilangan kelipatan tiga atau tidak
23.
If Di DalamIf Yang Lain (Nested If)
• Selain pernyataan if dengan dua
kondisi, suatu pernyataan if dapat
mengandung pernyataan if yang lain
• Bentuk seperti ini disebut if bersarang
(nested if)
• Sebuah program akan mengijinkan
blok percabangan if di dalam blok
percabangan lainnya dan tidak
membatasi jenis percabangan apa
yang boleh berada di dalam
percabangan lainnya
24.
If Di DalamIf Yang Lain (Nested If)
If...ElseIf..Else
• Nilai-nilai suatu ekspresi bisa jadi bukan merupakan dua nilai, benar atau
salah, tetapi bisa mengandung banyak nilai.
• Bentuk if..else.. digunakan untuk memutuskan suatu blok perintah yang
harus dikerjakan berdasarkan dua macam nilai yang dihasilkan yaitu benar
atau salah
• Jika terdapat lebih dari dua, maka harus digunakan struktur kontrol yang
dapat memenuhi kebutuhan tersebut
• Struktur kontrol yang tepat untuk menjawab permasalahan tersebut
adalah if...elseif...else yang dikenal dengan nested-if.
25.
If Di DalamIf Yang Lain (Nested If) If...ElseIf..Else
• Bentuk pernyataan ini bermanfaat untuk menyeleksi segala kemungkinan tindakan,
penyeleksian dilakukan secara bertingkat, begitu ada kondisi yang bernilai benar, maka
pernyataan yang sesuai dengan kondisi tersebut akan dijalankan dan jika tidak ada
kondisi yang memenuhi, maka pernyataanX yang akan di jalankan
26.
If Di DalamIf Yang Lain (Nested If)
If...ElseIf..Else
• Ketentuan
• Jika kondisi -1 bernilai 1, maka statement-1
akan dikerjakan
• Jika kondisi -1 bernilai 0, maka akan
mengecek kondisi ke -2
• Jika kondisi ke -2 bernilai 1, maka akan
mengerjakan statement ke -2
• Jika kondisi ke -2 bernilai 0, maka akan
mengerjakan kondisi yang yang di bawahnya
(begitu seterusnya sampai percabangan ke –
n)
• Dan jika pada kondisi ke –n bernilai 0, maka
statement di dalam else yang akan dikerjakan
27.
Contoh Nested If(1)
#include <iostream>
using namespace std;
main()
{
int Skor;
char Nilai;
cout<<"Masukkan skor = ";cin>>Skor;
if (Skor >= 7)
Nilai = 'A';
else if (Skor >= 5)
Nilai = 'B';
else
Nilai = 'C';
cout<<"Nilai = "<<Nilai<<endl;
}
Latihan Soal
1. Buatlahflowchart dan program untuk menentukan apakah sebuah
bilangan yang dimasukkan adalah
• Bilangan genap
• Bilangan ganjil
• dan jika bukan genap atau ganjil, maka informasi yang diberikan
adalah ‘salah memasukkan bilangan’
Latihan Soal
2. Buatlahalgoritma dan program untuk menentukan diskon bagi
pembeli, berdasarkan :
Total_Pembelian Discount
Total beli > 1.000.000 20 %
Total beli > 500.000 15 %
Total beli > 100.000 10 %
Total beli <= 100.000 Tidak ada discount
34.
Perbedaan If &Switch Case
• If digunakan untuk masalah yang memiliki satu kondisi, dua kondisi
atau banyak kondisi. Bentuk ini dapat dipakai apabila memiliki nilai
yang beragam atau memiliki rentang nilai
• Switch digunakan untuk yang kondisinya satu tetapi memiliki banyak
kemungkinan nilai
• Struktur kendali proses switch merupakan jenis kendali proses seleksi
atau pilihan. Blok statemen yang akan dieksekusi adalah sesuai
dengan pilihan dalam kontrol filter switch (..) terpenuhi; apabila telah
melewati selesai mengeksekusi statemen, maka akan keluar dari blok
kontrol proses
35.
Contoh Program If
#include<iostream>
#include <cstdlib>
using namespace std;
int main()
{
int kelas;
char lanjut;
do{
system("cls");
cout<<"Masukkan kelas : ";cin>>kelas;
if (kelas == 1){
cout<<"Besaran SPP Rp 100.000";}
else if (kelas == 2){
cout<<"Besaran SPP Rp 200.000";}
else if (kelas == 3){
cout<<"Besaran SPP Rp 300.000";}
else{
cout<<"Salah masukkan kelas"<<endl;
}
cout<<endl;
cout<<"Apakah ingin melanjutkan ? (Y / T): ";
cin>>lanjut;
}while(lanjut == 'Y'|| lanjut =='y');
cout<<endl;
cout <<"Program berakhir. Sampai Jumpa! n";
return 0;
}
Switch Case
• Adalahstruktur kontrol yang digunakan untuk memilih salah satu dari
banyak kemungkinan berdasarkan nilai dari suatu variable
• Adalah pernyataan yang digunakan untuk menjalankan salah satu
penyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari
sebuah ungkapan dan nilai penyeleksi
• Hampir sama dengan menggunakan banyak if else , tetapi lebih ringkas dan
rapi saat menanggani banyak kondisi tetap
• Note :
• Semua program yang dibuat dengan pernyataan switch dapat diubah
menggunakan pernyataan if, tetapi tidak semua program yang telah
dibuat dengan if dapat diubah dengan menggunakan pernyataan switch,
karena ada batasan-batasan pada pernyataan switch
38.
Switch Case
• Penjelasan
•ekspresi umumnya berupa variabel
bertipe int, char, atau enum
• case adalah kemungkinan nilai yang
akan dibandingkan
• break digunakan untuk menghentikan
eksekusi agar tidak lanjut ke case lain
• default adalah opsi cadangan jika
tidak ada case yang sesuai atau
default hanya akan dijalankan jika
ungkapan pada bagian case tidak ada
yang sesuai
• Bentuk umum:
Switch Case
Algoritma Kode_Bulan
Deklarasi
intkode_bulan {input / output}
Deskripsi
cin(kode_bulan)
case(kode_bulan == 1,3,5,7,8, 10, 12)
cout(“Jumlah hari = 31 hari”)
case(kode_bulan == 4, 6, 9 , 11)
cout(“Jumlah hari = 30”)
case(kode_bulan == 2)
cout(“Jumlah hari = 28 hari)
default
cout(“Salah masukan kode bulan”)
44.
Soal Latihan
1. Buatlahprogram menggunakan switch berdasarkan algoritma dibawah ini
Algoritma Pilih_Program_Studi
a. Pilih 1 Prodi Teknik Informatika
b. Pilih 2 Prodi Teknik Komputer
c. Pilih 3 Prodi Teknik Informatika Multimedia
d. Pilih 4 Prodi Teknik Rekayasa Komputer
e. Jika yang dipilih selain (1, 2, 3, dan 4), maka beri komentar “Salah masukkan pilihan”
45.
Tugas
2. Buatlah programuntuk membedakan bilangan ganjil dan bilangan genap dari
algoritma berikut
Algoritma_Pemilihan1
{contoh algoritma apakah bilangan genap atau bilangan ganjil}
Deklarasi
Integer bilangan;
Deskripsi
write(“masukkan satu bilangan bulat : ”); read(bilangan);
if (bilangan % 2 == 0)
then write (“Bilangan genap”);
else write (“Bilangan ganjil”);
endif
46.
3. Buatlah programuntuk memilih nilai terbesar dari 3 nilai yang diinputkan melalui keyboard dari
algoritma dibawah ini :
Algoritma Pemilihan2
{algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan yang terbesar}
Deklarasi
Integer a, b, c;
Deskripsi
write (“masukkan nilai 1: “); read(a);
write (“masukkan nilai 2: “); read(b);
write (“masukkan nilai 3: “); read(c);
if (a > b dan a > c)
write (“nilai terbesar: “, a);
else if (b > a dan b > c)
write (“nilai terbesar: “, b);
else
write (“nilai terbesar: “, c);
end if
end if