OVERVIEW
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
OPERATOR RASIONAL
Ada beberapa operator relasional :
> : lebih besar
>= : lebih besar atau sama dengan
< : lebih kecil
<= : lebih kecil atau sama dengan
== : sama dengan
!= : tidak sama dengan
Operator relasional melambangkan hubungan antara dua entitas
Entitas tersebut bisa berupa variabel, konstanta maupun fungsi
Nilai dari hubungan tersebut adalah TRUE atau FALSE
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)
Hasil dari operator relasional adalah nilai TRUE atau FALSE
Nilai TRUE bernilai sama dengan 1, sedangkan FALSE bernilai sama dengan 0.
Contoh :
#include
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);
}
Outputnya :
3 < 5 bernilai : 1
15>=3*5 bernilai : 1
8==7 bernilai : 0
11<=5+4 bernilai : 0
STRUKTUR CONTROL : 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 ?
Ada 3 macam perintah percabangan di C
If (kondisi)
If (kondisi)
{ …
else
{ …
switch (expression) { …
Perintah percabangan pertama, sintaksnya :
If (kondisi)
(kondisi) diisi dengan operator relasional
Contoh : (nilai > 80)
Contoh : printf(“Nilai anda : A”);
Lengkapnya menjadi :
…
if(nilai > 80)
printf(“Nilai anda : A”);
Pada bentuk
If (kondisi)
Ada kemungkinan untuk menjalankan lebih dari 1 perintah, menjadi:
If (kondisi) {
…
…
}
Contoh:
…
if(nilai > 80) {
printf(“selamat anda lulus alpro\n”);
printf(“nilai anda : A”);
}
Perintah percabangan kedua, sintaksnya :
if(kondisi)
else
Mirip dengan bentuk pertama, tapi yang ini ditambah dengan else, yang memuat perintah-perintah yang dijalankan jika (kondisi) tidak terpenuhi
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);
Penulisan if-else tersebut dapat menggunakan conditional operator seperti berikut:
bolos > 5? printf(“tidak boleh ujian”) : printf(“boleh ujian”);
(kondisi)?
Jumlah alternatif kondisi
…
if(suhu>=100)
printf(“berwujud gas”);
else if(suhu<=0)
printf(“wujud padat”);
else
printf(“wujud cair”);
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?
Bentuk ketiga menggunakan switch
Formatnya:
switch(expression) {
case
break;
…
case
break;
default :
}
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 :
Contoh:
switch(nilai) {
case ‘A’ : bobot = 4;
break;
case ‘B’ : bobot = 3;
break;
case ‘C’ : bobot = 2;
break;
default : bobot = 1;
}
Keyword break digunakan untuk keluar dari operasi switch. Jika tidak ditemukan break, maka operasi akan dilanjutkan ke constant-expression berikutnya.
OPERATORLOGICAL
Pada struktur kontrol percabangan, (kondisi) yang dicek selain menggunakan operator relasional juga dapat dikombinasikan dengan operator logical
Operator logical : AND (&&), OR (||), NOT (!)
Operator precedence
! not
* / perkalian dan pembagian
< <= => >
== !=
&& AND
|| OR
Operator Logical AND
A B A && B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
Operator Logical OR
A B A || B
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
Operator Logical NOT
A !A
TRUE FALSE
FALSE TRUE
Apa nilai dari expression berikut ?
(5==5)||(6==7)
(!5)||(5>=6) && (3==3)
!(4 < 3) && (5<=10) || (‘b’ < ‘d’) && (!0)
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”);
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
int a = 10; int b = 15; int c = 20;
if(a>b) {
if(a>c)
printf(“a yang terbesar”);
else
printf(“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”);
else
printf(“b yang terbesar”);
}
Langganan:
Posting Komentar (Atom)
Labels
- cerita agama hindu (1)
- Indosat (3)
- Komunikasi Data (1)
- ORKOMP (1)
- UPC (3)
- widows (1)
- windows (11)
About Me
- Dharma Budi Permana
- Banyak yang bilang aq ganteng Banyak yang bilang aq keren Banyak yang bilang aq cool Tapi aq biasa2 aja karena aq memang hanya orang yang biasa. . .
0 komentar:
Posting Komentar