percabangan -...

29
Agus Priyanto, M.Kom Percabangan

Upload: haminh

Post on 24-Feb-2018

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Agus Priyanto, M.Kom

Percabangan

Page 2: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Do Go foward

Back Do nothing

percabangan

Back

Page 3: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

IF SWITCH

Percabangan

Page 7: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

if-statement Flowchart

BOOLEAN EXPR

FALSETRUEEXPR

STATEMENT

Page 11: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Kode Program

#include <stdio.h>

main() {

int a;int a;

printf("Masukkan nilai a = “);

scanf(a);

if (a>60)

printf("Lulus”);

}

Page 13: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Flowchart

BOOLEAN EXPR

FALSETRUE

STATEMENT STATEMENT

Page 15: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Kode Program

#include <stdio.h>

main ()

{

int nilai;

printf("Masukan bilangan =");printf("Masukan bilangan =");

scanf("%d",&nilai);

if (nilai<0)

printf("Bilangan Negatif");

else

printf("Bilangan Positif");

return 0;

}

Page 17: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Flowchart

STATEMENT

BOOLEAN EXPR

FALSETRUE

STATEMENT BOOLEAN EXPR

TRUE

STATEMENT STATEMENT

Page 19: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Contoh Kode Program

int grade = 15;

if( grade >= 17 ){ printf<<“Sudah cukup Umur";

} } else if( grade >= 13 ){

printf<<“Belum cukup umur";} else{

printf<<“Maaf, anda masih kecil";}

Page 20: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Jawaban

int grade = 68;

If(( grade >= 80 ) && ( grade <=100 )) { printf<<"A";

} else if(( grade >= 60 ) && ( grade <=79)){

printf<<“B";else if(( grade >= 60 ) && ( grade <=79)){

printf<<“B";} Else if ((grade>=0) && (grade<60)){

printf<<“C";} Else{

printf<<“error”;}

Page 22: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

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/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Contoh Kode Program

main ()

{

int na, nh;

switch (na)

{ case 100:

printf<<“Bagus”;

break;

case 70:

printf <<“Lumayan”;

break;

default:

printf <<“Nilai yang anda masukkan salah";

}

}

Page 26: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

Contoh Kode Program

int main(){

int Pilih;

printf("----MENU BUAH----\n");

printf("\n1. APEL");

printf("\n2. MANGGA");

printf("\n3. KELUAR"); printf("\n3. KELUAR");

printf("\n\nPilihan Anda [1-3] : ");

scanf("%d",&Pilih);

switch(Pilih){

case 1 : printf("\n\nANDA PILIH APEL"); break;

case 2 : printf("\n\nANDA PILIH MANGGA"); break;

case 3 : exit(0);

default : printf("\n\nANDA SALAH INPUT...");

}

return 0; }

Page 27: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

TUGAS

1. Buatlah program dalam bahasa C untuk menentukan sebuah bilangan, apakah bilangan genap atau ganjil!

2. Buatlah program dalam bahasa C untuk menentukan menu dengan pilihan berupa nomor proses sebagai berikut :dengan pilihan berupa nomor proses sebagai berikut :

1: Entry Data

2: Cetak Laporan

3: Keluar

Page 28: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk

3. Buatlah program dalam bahasa C untuk Studi 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 jumlah jamnya di atas 40 jam per-minggu mendapat bonus 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% dari gajipokoknya.

Page 29: Percabangan - aguspri.dosen.st3telkom.ac.idaguspri.dosen.st3telkom.ac.id/.../19/2015/12/D3-TT3-Percabangan.pdf · IPK ku kurang dari 2,5 aku akan puasa 3 hari dan ... Digunakan untuk