Bab 4 Percabangan
Percabangan Struktur satu kondisi Struktur dua kondisi Struktur tiga kondisi Pemilihan menggunakan kata kunci switch
Struktur satu kondisi Jika hanya satu statemen if (kondisi) Statemen; Jika terdapat lebih dari statemen if (kondisi) { Statemen1; Statemen2; … }
Contoh 1 #include <iostream> using namespace std; int main() { int nilai; cout<<"Masukkan X (bil. bulat): "; cin>>nilai; if (nilai > 0) cout<<"X termasuk bilangan positif."<<endl; cout<<"Terima kasih atas partisipasi Anda."; return 0; }
Contoh 2 #include <iostream> using namespace std; int main() { int nilai; cout<<"Masukkan X (bil. bulat): "; cin>>nilai; if (nilai > 0) { cout<<"X termasuk bilangan positif."<<endl; cout<<"Terima kasih atas partisipasi Anda."; } return 0;
Contoh 2b #include <iostream> using namespace std; int main() { int nilai; cout<<"Masukkan X (bil. bulat): "; cin>>nilai; if (nilai > 0) { cout<<"X termasuk bilangan positif."<<endl; cout<<"Terima kasih atas partisipasi Anda."; } return 0;
Struktur dua kondisi Bentuk umum: if (kondisi) { Statemen jika kondisi terpenuhi; } else { Statemen jika tidak terpenuhi; }
#include <iostream> using namespace std; int main() { int bil; cout<<"Masukkan bilangan: "; cin>>bil; if (bil % 2 == 0) { cout<<bil<<" adalah bil. genap"; } else { cout<<bil<<" adalah bil. ganjil"; } return 0;
Struktur tiga kondisi 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 tidak terpenuhi;
#include <iostream> using namespace std; int main() { int bil; cout<<"Masukkan bilangan bulat: "; cin>>bil; if (bil > 0) { cout<<bil<<" adalah bil. POSITIF"; } else if (bil < 0) { cout<<bil<<" adalah bil. NEGATIF"; } else { cout<<bil<<" adalah bil. NOL"; } return 0;
Menggunakan kata kunci switch switch (ekspresi) { case nilai_konstan1: statemen; break; case nilai_konstan2: statemen; break; …. case nilai_konstanN: statemen; break; default statemen alternatif; }
#include <iostream> using namespace std; int main() { int bil; cout<<"Masukkan bil. (1..7): "; cin>>bil; switch (bil) { case 1 : cout<<"Hari ke-"<<bil<<" : adalah MINGGU"; break; case 2 : cout<<"Hari ke-"<<bil<<" : adalah SENIN"; case 3 : cout<<"Hari ke-"<<bil<<" : adalah SELASA";
case 4 : cout<<"Hari ke-"<<bil<<" : adalah RABU"; break; case 5 : cout<<"Hari ke-"<<bil<<" : adalah KAMIS"; case 6 : cout<<"Hari ke-"<<bil<<" : adalah JUMAT"; case 7 : cout<<"Hari ke-"<<bil<<" : adalah SABTU"; default : cout<<"Tidak ada hari ke-"<<bil; } return 0;
Soal: Menentukan wujud air (uap, cair, es) jika temperaturnya berbeda Menentukan panjang 3 garis apakah dapat membentuk segitiga atau tidak Mengubah satuan dari cm ke m Membaca 3 bilangan bulat (a,b,c) kemudian menghitung 6*(ax2+bx+c) jika x=2
Soal Program MAX: memasukkan 2 bilangan real (a,b) kemudian dihitung bilangan yang terbesar, a atau b? Dengan menggunakan program MAX tsb, dimasukkan 3 bilangan real (a,b,c) kemudian dihitung bilangan yang terbesar, a, b, atau c? Program NextDay: menghitung hari berikutnya dari hari yang dimasukkan
Soal Menghitung tegangan (volt) jika tahanan (ohm) dan kuat arusnya (ampere) diketahui dengan rumus V=I*R Menukar nilai dari suatu variabel, semula a=x dan b=y menjadi a=y dan b=x Memutar nilai-nilai dari suatu variabel, semula a=x, b=y, dan c=z menjadi a=z, b=x, dan c=y
#include <iostream> using namespace std; int main() { int temp; Soal 1. Menentukan wujud air (uap, cair, es) jika temperaturnya berbeda #include <iostream> using namespace std; int main() { int temp; cout<<"Masukkan temperatur air (dlm Celcius): "; cin>>temp; if (temp >= 100) { cout<<"Wujud air adalah gas"; } else if (temp <= 0) { cout<<"Wujud air adalah es/beku"; } else cout<<"Wujud air adalah cair"; return 0; }
#include <iostream> using namespace std; int main() { float a, b, c, max, jml; cout<<"Masukkan panjang garis a: "; cin>>a; cout<<"Masukkan panjang garis b: "; cin>>b; cout<<"Masukkan panjang garis c: "; cin>>c; if ((a > b) && (b > c)) { cout<<"Garis terpanjang adalah: "<<a<<endl; max = a; jml = b + c; } else if ((b > a) && (a > c)) { cout<<"Garis terpanjang adalah: "<<b<<endl; max = b; jml = a + c; } else { cout<<"Garis terpanjang adalah: "<<c<<endl; max = c; jml = a + b; } if (max < jml) { cout<<"Terbentuk sebuah segitiga!"; cout<<"Segitiga tidak bisa terbentuk!"; return 0; Soal 2. Menentukan panjang 3 garis apakah dapat membentuk segitiga/tidak
Soal 3. Mengubah satuan dari cm ke m #include <iostream> using namespace std; int main() { int cm, cm_out, m_out; cout<<"Masukkan nilai (dalam cm): "; cin>>cm; m_out = cm / 100; cm_out = cm % 100; cout<<"Nilai tsb adalah: "<<m_out<<" meter "<<cm_out<<" cm"<<endl; return 0; }
#include <iostream> using namespace std; const int x = 2; int main() { int a, b, c; float y; cout<<"Diketahui persamaan y=6*(ax2+bx+c)"<<endl; cout<<"Masukkan bilangan a: "; cin>>a; cout<<"Masukkan bilangan b: "; cin>>b; cout<<"Masukkan bilangan c: "; cin>>c; y = 6*((a*x*x)+(b*x)+c); cout<<"Jika x = "<<x<<endl<<"Maka solusi persamaan y=6*(ax2+bx+c) adalah: "<<y<<endl; return 0; } Soal 4. Membaca 3 bilangan bulat (a,b,c) kemudian menghitung 6*(ax2+bx+c) jika x=2
//program max #include <iostream> using namespace std; int main() { float a,b; cout<<"Masukkan bilangan real a: "; cin>>a; cout<<"Masukkan bilangan real b: "; cin>>b; if (a == b) { cout<<"Bilangan a sama dengan b"; } else if (a > b) { cout<<"Nilai maksimum adalah bilangan a"; } else { cout<<"Nilai maksimum adalah bilangan b"; } return 0; Program MAX: memasukkan 2 bilangan real (a,b) kemudian dihitung bilangan yang terbesar, a atau b?