Bab 4 Percabangan

advertisement
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";
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;
}
return 0;
}
Soal:
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*(ax2+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>
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>
Soal 2. Menentukan panjang 3 garis
using namespace std;
apakah dapat membentuk segitiga/tidak
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!";
} else {
cout<<"Segitiga tidak bisa terbentuk!";
}
return 0;
}
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;
•
Soal 4. Membaca 3 bilangan bulat (a,b,c)
kemudian menghitung 6*(ax2+bx+c) jika
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;
}
//program max
#include <iostream>
using namespace std;
5. Program MAX: memasukkan 2
bilangan real (a,b) kemudian
dihitung bilangan yang terbesar, a
atau b?
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;
}
Download