Pemrograman
PERTEMUAN V : STRUKTUR KONTROL PERCABANGAN
Overview
Operator Relasional
Struktur Kontrol : Percabangan
Operator Logical
Nested If
Operator Relasional
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)
Operator Relasional
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);
}
Operator Relasional
Outputnya :
3 < 5 bernilai : 1
15>=3*5 bernilai : 1
8==7 bernilai : 0
11<=5+4 bernilai : 0
Struktur Kontrol :
Percabangan
Program dapat menentukan operasi/perintah
mana yang akan dijalankan sesuai kondisi
tertentu
…
if(nilai > 80)
printf(“Nilai anda : A”);
Struktur Kontrol :
Percabangan
Pada bentuk
If (kondisi)
<statement>
If (kondisi) {
…
<statement> Compound
…
}
Statement
Struktur Kontrol :
Percabangan
Contoh:
…
if(nilai > 80) {
printf(“selamat anda lulus alpro\n”);
printf(“nilai anda : A”);
}
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
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);
Struktur Kontrol :
Percabangan
Penulisan if-else tersebut dapat menggunakan
conditional operator seperti berikut:
…
if(suhu>=100)
printf(“berwujud gas”);
else if(suhu<=0)
printf(“wujud padat”);
else
printf(“wujud cair”);
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?
Struktur Kontrol :
Percabangan
Bentuk ketiga menggunakan switch
Formatnya:
switch(expression) {
case <constant expr> : <statement>;
break;
…
case <constant expr> : <statement>;
break;
default : <statement>;
}
Struktur Kontrol :
Percabangan
switch (expression)
Expression di sini biasanya adalah variabel/fungsi
Constant-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
Struktur Kontrol :
Percabangan
Contoh:
switch(nilai) {
case ‘A’ : bobot = 4;
break;
case ‘B’ : bobot = 3;
break;
case ‘C’ : bobot = 2;
break;
default : bobot = 1;
}
Struktur Kontrol :
Percabangan
Keyword break digunakan untuk keluar dari
operasi switch. Jika tidak ditemukan break, maka
operasi akan dilanjutkan ke constant-expression
berikutnya.
Operator Logical
Operator precedence
! not
*/ perkalian dan pembagian
< <= => >
== !=
&& AND
|| OR
Operator Logical
A B A && B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
Operator Logical
Operator Logical OR
A B A || B
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
Operator Logical
A !A
TRUE FALSE
FALSE TRUE
Operator Logical
(5==5)||(6==7)
(!1)||(5>=6) && (3==3)
!(4 < 3) && (5<=10) || (‘b’ < ‘d’) && (!0)
Operator Logical
Latihan Soal
Buatlah program untuk menentukan apakah suatu
tahun merupakan tahun kabisat atau tidak.
Buatlah program untuk menentukan range nilai A,
B, C, D , dan E