2. Materi Pokok
Struktur percabangan
Percabangan tidak bersyarat
Percabangan sederhana
Percabangan bertingkat
Percabangan bersarang
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 2
3. Struktur Percabangan
Digunakan untuk memilih alur program berdasarkan suatu kondisi yang diuji nilai
kebenarannya
Merupakan implementasi struktur algoritma pemilihan (selection), yang pada
flowchart direpresentasikan dengan bangun belah ketupat
Pada bahasa C/C++, percabangan diimplementasikan menggunakan syntax:
goto
if ...[else if] ... [else]
switch .. case
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 3
4. Percabangan Tidak Bersyarat
Percabangan yang tidak membutuhkan pengecekan kondisi true/false untuk
menuju ke bagian tertentu dari program
Pada bahasa C++ percabangan tidak bersyarat bisa dilakukan menggunakan syntax
goto diikuti dengan label yang kita tentukan sendiri di bagian lain dari program.
Label diketikkan dengan nama bebas (memenuhi kaidah penamaan seperti
variabel), diakhiri dengan karakter titik dua (:)
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 4
5. Percabangan Sederhana
C++ menggunakan if ... dan if ... else untuk percabangan sederhana
Percabangan yang hanya menggunakan if ... disebut one-way case, sedangkan
yang menggunakan if ... else disebut two-way case
Pada one-way case, jika kondisi bernilai true, maka Statement 1 dan Statement 2
akan dijalankan. Sedangkan pada two-way case, Akan dipilih hanya salah satu
statement saja
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 5
6. Percabangan Sederhana One-way
Percabangan sederhana one-way di C++ berupa if .. tanpa else. Jika dibuat kode
program, implementasi flowchart pada halaman sebelumnya kurang lebih akan menjadi
seperti ini :
Penjelasan: pada saat kondisi bernilai true maupun false, Statement 2 tetap akan
dieksekusi. Namun jika kondisi bernilai true, Statement 1 akan dieksekusi terlebih
dahulu, baru mengeksekusi Statement 2
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 6
7. Percabangan Sederhana Two-way
Percabangan sederhana two-way di C++ menggunakan if ... else dengan format:
if (kondisi) {
// blok statement yang dijalankan saat kondisi bernilai true
} else {
// blok statement yang dijalankan saat kondisi bernilai false
}
Contoh penggunaan pada penentuan bilangan ganjil ataukah genap :
Catatan: kurung kurawal dapat dihilangkan jika hanya menangani satu statement
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 7
8. Sintaks Alternatif
Percabangan if ... else
Pada kebutuhan tertentu di mana sintaks if .. else hanya digunakan untuk
memilih 2 nilai atau membuat keputusan sederhana, maka sintaks if .. else
dapat disederhanakan menggunakan sintaks alternatif, dengan hasil yang sama.
Sintaks berikut:
if (kondisi)
nilai = "A";
else
nilai = "B";
Dapat disederhanakan menjadi :
nilai = (kondisi) ? "A" : "B";
Keduanya memiliki makna yang sama persis, meski ada keterbatasan tertentu pada
implementasi sintaks alternatif.
Sintaks alternatif tersebut disebut juga sebagai ternary operator.
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 8
9. Percabangan Bertingkat if ... else if .. else
Pada penyelesaian kasus pemrograman, seringkali ada beberapa kondisi
bertingkat yang harus ditangani, di mana pada operasi logika yang kita gunakan
sebagai kondisi pada if tidak selalu bisa ditangani langsung pada blok untuk else.
Untuk keperluan ini, kita dapat menggunakan sintaks percabangan bertingkat.
Sintaks :
if (kondisi1) {
statement 1;
} else if (kondisi2) {
statement 2;
}
.... // bisa ditambahkan blok else if sesuai kebutuhan
else {
statement lain;
}
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 9
10. Contoh Percabangan Bertingkat if ... else if .. else
Program sederhana berikut ini mengecek bilangan yang diinputkan pengguna, dan
memutuskan apakah bilangan tersebut positif, negatif, ataukah bilangan nol
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 10
11. Percabangan dengan switch ... case
Percabangan bertingkat dengan if .. else if .. else yang memiliki nilai kondisi berupa
nilai pasti (bukan berupa operasi pembandingan atau rentang nilai), dapat direpresentasikan ke
dalam sintaks switch ... case
Sintaks:
switch (expression) {
case nilai1: statement1;
break;
case nilai2: statement2;
break;
...
default: statement default;
}
Berbeda dengan if yang mengevaluasi kondisi, switch menggunakan pembandingan kecocokan
antara expression (biasanya berupa variabel saja) dengan nilai yang ada pada bagian case. Nilai
dapat berupa numerik, karakter, string, dsb.
Setiap kecocokan nilai pada case dapat digunakan untuk mengeksekusi blok statement sebanyak
yang dibutuhkan, hingga menemui sintaks break.
Jika tidak ada kecocokan nilai dengan semua yang disediakan pada bagian case, maka blok
statement pada bagian default akan dieksekusi. Blok statement pada bagian default tidak perlu
diakhiri dengan break.
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 11
12. Contoh Percabangan dengan switch ... case
Contoh percabangan berikut ini memilih untuk menampilkan pilihan menu oleh
pengguna program, yang disimpan pada variabel p
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 12
13. Percabangan If Bersarang (Nested If)
Percabangan if bersarang pada dasarnya hanyalah percabangan if yang terletak di
dalam blok percabangan if lainnya, baik pada bagian if, else if, maupun else.
Struktur ini lazim digunakan pada alur program yang memang membutuhkan
suatu percabangan if untuk dijalankan sebagai syarat bagi percabangan if lainnya
Sintaks umum:
if (kondisi1) { // outer if
// statements
if (kondisi2) { // inner if
// statements
}
....
}
Baik struktur if pada bagian outer maupun inner, dapat berupa if saja (one-way), if
... else (two-way), maupun if ... else if ... else (bertingkat)
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 13
14. Contoh Percabangan If Bersarang (Nested If)
Diketahui persyaratan untuk
seleksi anggota Paskibra
menggunakan persyaratan tinggi
badan yang berbeda untuk calon
dengan jenis kelamin laki-laki dan
perempuan.
Meski pendekatan algoritma yang
berbeda tentunya juga bisa
digunakan, contoh berikut ini dapat
memberikan gambaran mengenai
penggunaan percabangan if
bersarang secara sederhana.
Pemrograman Dasar X RPL - Hendri Winarto, S.T., M.Kom. - SMKN 1 Pacitan 14