Percabangan -...
Transcript of Percabangan -...
![Page 1: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/1.jpg)
Agus Priyanto, M.Kom
Percabangan
![Page 2: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/2.jpg)
Do Go foward
Back Do nothing
percabangan
Back
![Page 3: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/3.jpg)
Jika hari hujan, maka saya membawa payung
Jika hari hujan, maka saya membawa payung, jika tidak saya membawa topi
![Page 4: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/4.jpg)
Jika IPK ku diatas 3, aku akan puasa
Jika IPK ku diatas 3, aku akan puasa 3 hari, jika IPK ku antara 2,5-2,9, aku akan puasa 1 hari, Jika IPK ku antara 2,5-2,9, aku akan puasa 1 hari, Jika IPK ku kurang dari 2,5 aku akan puasa 3 hari dan memberi makan fakir miskin
![Page 5: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/5.jpg)
PENGERTIAN
“Pernyataan percabangan yang memungkinkan suatu pernyataandieksekusi hanya jika suatu kondisiterpenuhi atau tidak terpenuhi”
![Page 6: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/6.jpg)
IF SWITCH
Percabangan
![Page 7: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/7.jpg)
If
Digunakan untuk menguji sebuah kondisi.
Bila kondisi yang diuji terpenuhi, program akanmenjalankan pernyataan – pernyataan tertentu
Bila kondisi yg diuji salah, program akan Bila kondisi yg diuji salah, program akanmenjalankan pernyataan2 lain.
![Page 8: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/8.jpg)
If
Struktur kontrol keputusan
digunakan untuk memilih dan mengeksekusiblock tertentu dari code yang dapatberpindah ke bagian lain. berpindah ke bagian lain.
Tipe-tipe:
statement-if
statement-if-else
statement-if-else if
![Page 9: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/9.jpg)
statement-if
statement-if Menspesifikasikan sebuah statement (atau block dari
code) yang akan dieksekusi jika dan hanya jikastatement boolean bernilai true.
Form statement-if:if( EKSPRESI )
statement;atau
if( EKSPRESI ){ statement 1; statement 2;
}
![Page 10: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/10.jpg)
if-statement Flowchart
BOOLEAN EXPR
FALSETRUEEXPR
STATEMENT
![Page 11: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/11.jpg)
Latihan di kelas !
Buatlah algoritma untuk menentukan kelulusan seseorang ! Jika nilai lebih dari 60 maka lulus
i/p nilai 70
o/p lulus o/p lulus
![Page 12: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/12.jpg)
Kode Program
#include <iostream.h>
main() {main() {
int a;
cout<<"Masukkan nilai a = ";cin>>a;
if (a>60)
cout<<"Lulus“;
}
![Page 13: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/13.jpg)
statement if-else
statement if-else Digunakan ketika kita akan mengeksekusi sebuah statement
jika kondisinya true, dan statement yang lain jika berkondisifalse.
Form statement if-else: Form statement if-else:
if( EKSPRESI ){ statement1;statement2; . . .
}else{
statement3;statement4; . . .
}
![Page 14: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/14.jpg)
Flowchart
BOOLEAN EXPR
FALSETRUE
STATEMENT STATEMENT
![Page 15: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/15.jpg)
Latihan di kelas !
Buatlah algoritma untuk menentukan sebuah bilangan positif atau negatif!
Misalkan :
i/p bilangan = 3 i/p bilangan = 3
o/p bilangan positip
Jika
i/p bilangan =-1
o/p bilangan negatip
![Page 16: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/16.jpg)
Kode Program
#include <iostream.h>
main ()
{
int nilai;
if (nilai <0)
ket=“negatif”;
else
ket=“positif”;
}
![Page 17: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/17.jpg)
statement if-else-else if
statement pada klausa else dari sebuah blok if-else dapat menjadi struktur if-else yang lain.
Struktur ini memperbolehkan kita untuk membuatpilihan yang lebih kompleks.
Form statement if-else-else if: Form statement if-else-else if:
if( EKSPRESI 1 ) statement1;
else if( EKSPRESI 2 ) statement2;
else statement3;
![Page 18: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/18.jpg)
Flowchart
STATEMENT
BOOLEAN EXPR
FALSETRUE
STATEMENT BOOLEAN EXPR
TRUE
STATEMENT STATEMENT
![Page 19: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/19.jpg)
Contoh Kode Program
int grade = 20;
if( grade >= 17 ){ cout<<“Sudah cukup Umur";
} } else if( grade >= 13 ){
cout<<“Belum cukup umur";} else{
cout<<“Maaf, anda masih kecil";}
![Page 20: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/20.jpg)
Latihan di kelas !
Buatlah konversi nilai huruf ke angka !
A = 80-100
B = 60-79
C = 0-60C = 0-60
![Page 21: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/21.jpg)
Jawaban
int grade = 68;
If(( grade >= 80 ) && ( grade <=100 )) { cout<<"A";
} else if(( grade >= 60 ) && ( grade <=79)){
cout<<“B";else if(( grade >= 60 ) && ( grade <=79)){
cout<<“B";} Else if ((grade>=0) && (grade<60)){
cout<<“C";} Else{
cout<<“error”;}
![Page 22: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/22.jpg)
statement-switch
Switch Memperbolehkan percabangan pada multiple outcomes.
Form statement-switch:switch( switch_ekspresi ){
case case_pilihan1: case case_pilihan1: statement1;// statement2;//blok 1 break;
case case_pilihan2: statement1;// statement2;//blok 2 break;
default: statement1;//statement2;//blok n
}
![Page 23: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/23.jpg)
statement-switch
Dimana,
ekspresi switch
Merupakan integer atau karakter ekspresi
case_pilihan1, case_pilihan2 dan yang lainnya, case_pilihan1, case_pilihan2 dan yang lainnya,
merupakan integer unique atau karakter tetap.
![Page 24: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/24.jpg)
Flowchart
BLOCK 1 STATEMENTCASE
SELECTOR 1
FALSE
TRUE
CASE
BREAK;
CASE SELECTOR
2
CASE SELECTOR
3
FALSE
DEFAULT BLOCK STATEMENT
FALSE
BLOCK 2 STATEMENT BREAK;
BLOCK 3 STATEMENT BREAK;
![Page 25: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/25.jpg)
Contoh Kode Program
main ()
{
int na, nh;
switch (na)
{ case 100:
cout<<“Bagus”;
break;
case 70:
cout<<“Lumayan”;
break;
default:
cout<<“Nilai yang anda masukkan salah";
}
}
![Page 26: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/26.jpg)
![Page 27: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/27.jpg)
TUGAS
1. Buatlah algoritma dan program dalam bahasa C++ untuk menentukan sebuah bilangan, apakah bilangan genap atau ganjil!
2. Buatlah algoritma dan program dalam bahasa C++ untuk 2. Buatlah algoritma dan program dalam bahasa C++ untuk menentukan menu dengan pilihan berupa nomor prosessebagai berikut :
1: Entry Data
2: Cetak Laporan
3: Keluar
![Page 28: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/28.jpg)
Buatlah algoritma dan program dalam bahasa C++ untukStudi Kasus berikut :
Sebuah perusahaan memberikan hadiah dan bonus padakaryawan yang jam kerjanya di atas 40 jam per-minggu dantidak pernah terlambat dalam satu bulan. Karyawan yang tidak pernah terlambat dalam satu bulan. Karyawan yang jumlah jamnya di atas 40 jam per-minggu mendapat bonus sebesar 25.000 per kelebihan jamnya, dan bila dia juga tidakpernah terlambat akan mendapat hadiah berupa 10% darigaji pokoknya.
![Page 29: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../sites/19/2016/03/2-Percabangan-C.pdf · Digunakan untuk menguji sebuah kondisi. ... Jika nilai lebih dari](https://reader031.fdocument.pub/reader031/viewer/2022021416/5a90bc077f8b9af27f8e060e/html5/thumbnails/29.jpg)