Kondisional/Pencabangan/Pemilihan Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)
Konsep Pencabangan/Pemilihan Konsep pencabangan/pemilihan : Ada kondisi Persyaratan hanya akan dieksekusi jika kondisi terpenuhi Pemecahan masalah Menganalisa kasus yang mungkin ada Melakukan aksi untuk setiap kasus Konsep pencabangan minimal untuk kasus tunggal 10/25/2010 EL-1304 Pemrograman C 2
Pencabangan kasus tunggal - if Pencabangan yang membutuhkan satu solusi/skenario penyelesaian masalah Sintaks dalam C If (kondisi) Statement Eksekusi isi dari kurung kurawal ini Algoritma kondisi Ya/benar statement Tidak/salah 10/25/2010 EL-1304 Pemrograman C 3
Contoh Pencabangan kasus tunggal Deskripsi masalah : persoalan angka sial Penyelesaian masalah: masukan nilai jika nilai=13 maka tampilkan pesan angka sial 10/25/2010 EL-1304 Pemrograman C 4
Pencabangan 2 kasus if else Pencabangan dengan 2 solusi/skenario penyelesaian masalah Algoritma Sintaks dalam C If (kondisi) Statement Eksekusi isi dari kurung kurawal ini else Statement Eksekusi isi dari kurung kurawal ini kondisi1 Tidak statement untuk kondisi1 tdk terpenuhi Ya statement untuk kondisi1 terpenuhi 10/25/2010 EL-1304 Pemrograman C 5
Contoh Pencabangan 2 kasus Melakukan pembagian masukan nilai pembilang masukan nilai penyebut jika penyebut kosong maka tampilkan pesan error jika penyebut tidak kosong maka hasil=pembilang/penyebut tampilkan hasil 10/25/2010 EL-1304 Pemrograman C 6
Pencabangan 3 kasus Pencabangan dengan 3 solusi/skenario penyelesaian masalah Sintaks dalam C If (kondisi1) Statement Eksekusi isi dari kurung kurawal ini else if (kondisi2) Statement Eksekusi isi dari kurung kurawal ini else if (kondisi3) Statement Eksekusi isi dari kurung kurawal ini If (kondisi1) Statement Eksekusi isi dari kurung kurawal ini else if (kondisi2) Statement Eksekusi isi dari kurung kurawal ini else Statement Eksekusi isi dari kurung kurawal ini 10/25/2010 EL-1304 Pemrograman C 7
Algoritma Pencabangan 3 kasus kondisi1 Tidak kondisi2 Tidak kondisi3 Tidak Ya Ya Ya statement untuk kondisi1 statement untuk kondisi2 statement untuk kondisi3 10/25/2010 EL-1304 Pemrograman C 8
Contoh Pencabangan 3 kasus Menentukan nilai absolut Nilai absolut(mutlak) dari bilangan: Masukan nilai X Jika nilai X > 0 maka absolut=x Jika nilai X<0 maka absolut= -1*X Jika nilai X=0 maka absolut=0 Next statement 10/25/2010 EL-1304 Pemrograman C 9
Contoh Pencabangan 3 kasus Alternatif penyelesaian Nilai absolut dari bilangan Masukan nilai X Jika nilai X > 0 maka absolut=x Jika tidak maka jika nilai X<0 maka absolut= -1*X jika tidak maka absolut=0 Next statement 10/25/2010 EL-1304 Pemrograman C 10
Diskusi 1. Jelaskan perbedaan antara penyelesaian alternatif 1 dengan alternatif 2 2. Jelaskan keuntungan alternatif 2 dibandingkan alternatif 1 10/25/2010 EL-1304 Pemrograman C 11
Pencabangan lebih dari 3 kasus Jika kasus lebih dari 3, penggunaan if bersarang tidak efektif Sintaks untuk lebih dari 3 kasus switch case Switch case dilakukan untuk mengetes kondisi persamaan(==) Switch case untuk nilai integer dan karakter Jika kondisi 1 maka aksi 1 (kondisi adalah komparasi variabel) Jika kondisi 2 maka aksi 2 Jika kondisi n maka aksi n Konversi switch (variabel) case nilai 1 : aksi 1; break; case nilai 2 : aksi 2; break; case nilai n : aksi n; break; default : aksi default; 10/25/2010 EL-1304 Pemrograman C 12
Contoh Pencabangan lebih dari 3 kasus Konversi kode hari jika 0 maka tampilkan pesan minggu jika 1 maka tampilkan pesan senin jika 2 maka tampilkan pesan selasa jika 3 maka tampilkan pesan rabu jika 4 maka tampilkan pesan kamis jika 5 maka tampilkan pesan jumat jika 6 maka tampilkan pesan sabtu 10/25/2010 EL-1304 Pemrograman C 13
Konversi logika pencabangan ke bahasa C(6)- contoh 4 main() int hari; printf( Masukan kode hari ); scanf( %d,&hari); switch (hari) case 0: printf( ahad );break; case 1: printf( senin );break; case 2: printf( selasa );break; case 3: printf( rabu );break; case 4: printf( kamis );break; case 5: printf( jumat );break; case 6: printf( sabtu );break; default: printf( salah kode ); return 0; 10/25/2010 EL-1304 Pemrograman C 14