Top Banner
Agus Priyanto, M.Kom Percabangan
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

Feb 24, 2018

Download

Documents

vunhan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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