Bab 4 Percabangan Rangkuman Buku: Pemrograman C++ karangan Budi Raharjo disiapkan oleh Dr. Asep Sofyan http://personal.ftsl.itb.ac.id/asep
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> int nilai; cout<<"masukkan X (bil. bulat): "; cin>>nilai; if (nilai > 0) cout<<"x termasuk bilangan positif."<<endl; cout<<"terima kasih atas partisipasi Anda.";
Contoh 2 #include <iostream> int nilai; cout<<"masukkan X (bil. bulat): "; cin>>nilai; if (nilai > 0) { cout<<"x termasuk bilangan positif."<<endl; cout<<"terima kasih atas partisipasi Anda.";
Contoh 2b #include <iostream> int nilai; cout<<"masukkan X (bil. bulat): "; cin>>nilai; if (nilai > 0) { cout<<"x termasuk bilangan positif."<<endl; cout<<"terima kasih atas partisipasi Anda.";
Bentuk umum: Struktur dua kondisi if (kondisi) { Statemen jika kondisi terpenuhi; else { Statemen jika tidak terpenuhi;
#include <iostream> int bil; cout<<"masukkan bilangan: "; cin>>bil; if (bil % 2 == 0) { cout<<bil<<" adalah bil. genap"; else { cout<<bil<<" adalah bil. ganjil";
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> 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";
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> 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"; break; case 3 : cout<<"hari ke-"<<bil<<" : adalah SELASA"; break;
case 4 : cout<<"hari ke-"<<bil<<" : adalah RABU"; break; case 5 : cout<<"hari ke-"<<bil<<" : adalah KAMIS"; break; case 6 : cout<<"hari ke-"<<bil<<" : adalah JUMAT"; break; case 7 : cout<<"hari ke-"<<bil<<" : adalah SABTU"; break; default : cout<<"tidak ada hari ke-"<<bil;
Soal Tugas: 1. Menentukan wujud air (uap, cair, es) jika temperaturnya berbeda 2. Menentukan panjang 3 garis apakah dapat membentuk segitiga atau tidak 3. Mengubah satuan dari cm ke m 4. Membaca 3 bilangan bulat (a,b,c) kemudian menghitung 6*(ax 2 +bx+c) jika x=2
Soal 5. Program MAX: memasukkan 2 bilangan real (a,b) kemudian dihitung bilangan yang terbesar, a atau b? 6. Dengan menggunakan program MAX tsb, dimasukkan 3 bilangan real (a,b,c) kemudian dihitung bilangan yang terbesar, a, b, atau c? 7. Program NextDay: menghitung hari berikutnya dari hari yang dimasukkan
Soal 8. Menghitung tegangan (volt) jika tahanan (ohm) dan kuat arusnya (ampere) diketahui dengan rumus V=I*R 9. Menukar nilai dari suatu variabel, semula a=x dan b=y menjadi a=y dan b=x 10.Memutar nilai-nilai dari suatu variabel, semula a=x, b=y, dan c=z menjadi a=z, b=x, dan c=y
Soal 1. Menentukan wujud air (uap, cair, es) jika temperaturnya berbeda #include <iostream> 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";
#include <iostream> Soal 2. Menentukan panjang 3 garis apakah dapat membentuk segitiga/tidak 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!"; else { cout<<"segitiga tidak bisa terbentuk!";
Soal 3. Mengubah satuan dari cm ke m #include <iostream> 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;
#include <iostream> const int x = 2; Soal 4. Membaca 3 bilangan bulat (a,b,c) kemudian menghitung 6*(ax2+bx+c) jika x=2 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;
//program max #include <iostream> 5. Program MAX: memasukkan 2 bilangan real (a,b) kemudian dihitung bilangan yang terbesar, a atau b? 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";