Pertemuan v : Struktur Kontrol Percabangan

35
Pertemuan V : Struktur Kontrol Percabangan

Transcript of Pertemuan v : Struktur Kontrol Percabangan

Page 1: Pertemuan v : Struktur Kontrol Percabangan

Pertemuan V : Struktur Kontrol Percabangan

Page 2: Pertemuan v : Struktur Kontrol Percabangan

Materi hari ini akan membahas mengenai bagaimana membuat program yang dapat mengambil keputusan berdasarkan input dari pengguna atau hasil dari suatu perhitungan

Operator Relasional Struktur Kontrol : Percabangan Operator Logical Nested If

Page 3: Pertemuan v : Struktur Kontrol Percabangan

Ada beberapa operator relasional : > : lebih besar >= : lebih besar atau sama

dengan < : lebih kecil <= : lebih kecil atau sama dengan == : sama dengan != : tidak sama dengan

Page 4: Pertemuan v : Struktur Kontrol Percabangan

Operator relasional melambangkan hubungan antara dua entitas

Entitas tersebut bisa berupa variabel, konstanta maupun fungsi

Nilai dari hubungan tersebut adalah TRUE atau FALSE

Page 5: Pertemuan v : Struktur Kontrol Percabangan

Contoh : 5 > 3 bernilai benar

(TRUE) 6 < 2 bernilai salah

(FALSE) 45 != 34 bernilai benar (TRUE) (5 + 4) <= (3x3) bernilai benar

(TRUE) 6/7 >= 12/17 bernilai benar

(TRUE)

Page 6: Pertemuan v : Struktur Kontrol Percabangan

Hasil dari operator relasional adalah nilai TRUE atau FALSE

Nilai TRUE bernilai sama dengan 1, sedangkan FALSE bernilai sama dengan 0.

Page 7: Pertemuan v : Struktur Kontrol Percabangan

Contoh :

#include <stdio.h>void main() {

printf(“ 3 < 5 bernilai : %d\n”, 3 < 5);printf(“15 >= 3 * 5 bernilai : %d\n”, 15 >= 3 * 5);printf(“ 8 == 7 bernilai : %d\n”, 8==7); printf(“11<=5+4 bernilai : %d\n”, 11<=5+4);

}

Page 8: Pertemuan v : Struktur Kontrol Percabangan

Outputnya :

3 < 5 bernilai : 115>=3*5 bernilai : 18==7 bernilai : 011<=5+4 bernilai : 0

Page 9: Pertemuan v : Struktur Kontrol Percabangan

Program dapat menentukan operasi/perintah mana yang akan dijalankan sesuai kondisi tertentu

Bentuknya seperti pilihan atas alternatif-alternatif yang disediakan

Prinsipnya mirip dengan : Ada 2 wanita, A dan B. A itu kurang cantik

tapi baik dan pintar, sedangkan B itu cantik dan baik tapi kurang pintar. Pilih A atau B ?

Page 10: Pertemuan v : Struktur Kontrol Percabangan

Ada 3 macam perintah percabangan di C If (kondisi)

<statement> If (kondisi)

{ … <statement> …} else

{ … <statement> …} switch (expression) { … <statement>

… }

Page 11: Pertemuan v : Struktur Kontrol Percabangan

Perintah percabangan pertama, sintaksnya :If (kondisi)

<statement>

(kondisi) diisi dengan operator relasional Contoh : (nilai > 80)

<statement> adalah perintah yang dijalankan jika kondisi terpenuhi Contoh : printf(“Nilai anda : A”);

Page 12: Pertemuan v : Struktur Kontrol Percabangan

Lengkapnya menjadi :

…if(nilai > 80)

printf(“Nilai anda : A”);

Page 13: Pertemuan v : Struktur Kontrol Percabangan

Pada bentuk If (kondisi)

<statement>

Ada kemungkinan untuk menjalankan lebih dari 1 perintah, menjadi:

If (kondisi) {…<statement>…

}

Compound Statement

Page 14: Pertemuan v : Struktur Kontrol Percabangan

Contoh:

…if(nilai > 80) {

printf(“selamat anda lulus alpro\n”);

printf(“nilai anda : A”);}

Page 15: Pertemuan v : Struktur Kontrol Percabangan

Perintah percabangan kedua, sintaksnya :if(kondisi)

<statement A>else

<statement B> Mirip dengan bentuk pertama, tapi yang

ini ditambah dengan else, yang memuat perintah-perintah yang dijalankan jika (kondisi) tidak terpenuhi

Page 16: Pertemuan v : Struktur Kontrol Percabangan

Contoh:Bila jumlah membolos lebih dari 5 maka tampilkan pesan “tidak boleh ujian”, jika tidak maka tampilkan pesan “boleh ujian”.

…if(bolos>5)

printf(“tidak boleh ujian”);else

printf(“boleh ujian);

Page 17: Pertemuan v : Struktur Kontrol Percabangan

Penulisan if-else tersebut dapat menggunakan conditional operator seperti berikut:

bolos > 5? printf(“tidak boleh ujian”) : printf(“boleh ujian”);

(kondisi)?<statement 1> : <statement 2>;

Page 18: Pertemuan v : Struktur Kontrol Percabangan

Jumlah alternatif kondisi <else> bisa lebih dari 1, seperti contoh berikut :

…if(suhu>=100)

printf(“berwujud gas”);else if(suhu<=0)

printf(“wujud padat”);else

printf(“wujud cair”);

Page 19: Pertemuan v : Struktur Kontrol Percabangan

Pada C, kondisi yang bernilai tidak sama dengan 0 (nol) berarti bernilai TRUE, jika nilainya 0 maka bernilai FALSE.

Contoh: If(4+5) bernilai TRUE Bagaimana dengan if(4-5)? Apa

nilainya?

Page 20: Pertemuan v : Struktur Kontrol Percabangan

Bentuk ketiga menggunakan switch Formatnya:

switch(expression) {case <constant expr> :

<statement>; break;

…case <constant expr> :

<statement>; break;

default : <statement>;}

Page 21: Pertemuan v : Struktur Kontrol Percabangan

switch (expression) Expression di sini biasanya adalah

variabel/fungsiConstant-expr : konstanta

Berupa konstanta, misal ‘A’, 4, 20 dan sebagainya

Kode program menjadi lebih mudah dibaca bila ditulis menggunakan switch dibanding if-else-if

default : <statement> perintah yang dijalankan bila tidak memenuhi kriteria-kriteria yang ada

Page 22: Pertemuan v : Struktur Kontrol Percabangan

Contoh:switch(nilai) {

case ‘A’ : bobot = 4; break;

case ‘B’ : bobot = 3; break;

case ‘C’ : bobot = 2; break;

default : bobot = 1;}

Page 23: Pertemuan v : Struktur Kontrol Percabangan

Keyword break digunakan untuk keluar dari operasi switch. Jika tidak ditemukan break, maka operasi akan dilanjutkan ke constant-expression berikutnya.

Page 24: Pertemuan v : Struktur Kontrol Percabangan

Pada struktur kontrol percabangan, (kondisi) yang dicek selain menggunakan operator relasional juga dapat dikombinasikan dengan operator logical

Operator logical : AND (&&), OR (||), NOT (!)

Page 25: Pertemuan v : Struktur Kontrol Percabangan

Operator precedence

! not* / perkalian dan pembagian< <= => >== !=&& AND|| OR

Page 26: Pertemuan v : Struktur Kontrol Percabangan

Operator Logical AND

A B A && BTRUE TRUE TRUETRUE FALSE FALSEFALSE TRUE FALSEFALSE FALSE FALSE

Page 27: Pertemuan v : Struktur Kontrol Percabangan

Operator Logical OR

A B A || BTRUE TRUE TRUETRUE FALSE TRUEFALSE TRUE TRUEFALSE FALSE FALSE

Page 28: Pertemuan v : Struktur Kontrol Percabangan

Operator Logical NOT

A !ATRUE FALSEFALSE TRUE

Page 29: Pertemuan v : Struktur Kontrol Percabangan

Apa nilai dari expression berikut ?

(5==5)||(6==7)(!5)||(5>=6) && (3==3)!(4 < 3) && (5<=10) || (‘b’ < ‘d’) && (!0)

Page 30: Pertemuan v : Struktur Kontrol Percabangan

Kita dapat menggunakan operator logical untuk digunakan sebagai pengecekan kondisi pada percabangan if

Contoh:if((nilai>40) && (nilai < 60))

printf(“nilai huruf : C”);else if((nilai > 61) && (nilai < 80))

printf(“nilai huruf : B”);else if(nilai > 81)

printf(“nilai huruf : A”);

Page 31: Pertemuan v : Struktur Kontrol Percabangan

Jika diperlukan, kita bisa melalukan operasi percabangan dalam percabangan (nested if)

Jika statement di dalam if tersebut lebih dari satu, maka perlu ditambahkan curly bracket { } untuk mengelompokkannya

Page 32: Pertemuan v : Struktur Kontrol Percabangan

int a = 10; int b = 15; int c = 20;if(a>b) {

if(a>c)printf(“a yang terbesar”);

elseprintf(“c yang terbesar”);

} else if (b>c) {if(b>a)

printf(“b yang terbesar”);else

printf(“a yang terbesar”);} else if(c>a) {

if(c>b)printf(“c yang terbesar”);

elseprintf(“b yang terbesar”);

}

Page 33: Pertemuan v : Struktur Kontrol Percabangan

Latihan Soal Buatlah program untuk menentukan apakah

penghasilan per bulan yang dimasukkan kena pajak atau tidak (kena pajak jika penghasilan setahun lebih besar sama dengan Rp. 15.600.000)

Buatlah program untuk menentukan apakah suatu tahun merupakan tahun kabisat atau tidak

Buatlah program untuk menentukan kuadran dari input titik (x,y) yang dimasukkan oleh pengguna

Page 34: Pertemuan v : Struktur Kontrol Percabangan

Latihan Soal Buatlah program untuk menentukan

bilangan yang terletak di tengah antara tiga bilangan yang dimasukkan pengguna. Misal : 35, 12, 27 berarti bilangan yang di tengah adalah 27

Page 35: Pertemuan v : Struktur Kontrol Percabangan

Struktur Kontrol Perulangan