Algoritma & Struktur data semester 1

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)
adalah perintah yang dijalankan jika kondisi terpenuhi
 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 bisa lebih dari 1, seperti contoh berikut :


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 : à perintah yang dijalankan bila tidak memenuhi kriteria-kriteria yang ada
 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”);
}

hkjui

fdfyhdfy

chapteR 1 : a new beginning. . .

Awal daRi kesuksesan adalah ketekunan . . .
:D
chiayooooo.....

ramalan jodoh

WELCOME

LIVE RADIO

This text will be replaced

Untuk Request lagu, Kirim ke YM :

nettersradio

 
Atau klik aja di bawah ini :





Thank You