Struktur Kendali dan Repetisi
Struktur Kendali Merupakan proses pemilihan aksi sesuai dengan kondisi yang telah ditentukan Instruksi : if (<kondisi>) { <statement;> ... } if (<kondisi>) { <statement true; ... > } else { <statement false; ... > } switch (<kondisi>) { case <pil> : <statement;> <break;> ... }
Operator Relasional > : lebih besar >= : lebih besar atau sama dengan < : lebih kecil <= : lebih kecil atau sama dengan == : sama dengan != : tidak sama dengan Untuk menggabungkan beberapa kondisi maka dipergunakan operator logika : AND, OR, NOT
Percabangan (branch) di dalam pemrograman digunakan oleh komputer untuk menentukan langkah kerja Percabangan menggunakan operator kondisional yang akan menghasilkan nilai benar/true/1 atau salah/false/0. Jika nilai yang dihasilkan benar, maka perintah akan dilaksanakan,sedangkan jika salah, maka instruksi tidak akan dilaksanakan.
Contoh komparasi : 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) 1 == 2 bernilai salah (FALSE) 1 bernilai benar (TRUE) 0 bernilai salah (FALSE)
Contoh : #include <stdio.h> #include <conio.h> int main() { printf("3 > 5 => %d\n", 3>5); printf("35 > 5*3*2 => %d\n", 35 > 5*3*2); printf("7 == 8 => %d\n",7 == 8); printf("7 != 8 => %d\n",7 != 8); getch(); }
IF Sederhana Sintaks : IF (<kondisi>) <statement_jika_benar>; Flowchart :
Contoh : #include <stdio.h> #include <conio.h> int main() { int x,y; x = 100; y = 10; if (x > y) printf("x = %d lebih besar daripada y = %d\n",x,y); getch(); }
If….Else… Sintaks : IF (<kondisi>) <statement_jika_benar>; ELSE <statement_jika_salah>; Flowchart :
Contoh : #include <stdio.h> #include <conio.h> int main() { int x,y; x = -100; y = 10; if (x > y) printf("x = %d lebih besar daripada y = %d\n",x,y); else printf("x = %d lebih kecil daripada y = %d\n",x,y); x = 12; printf((x>y) ? "x = %d lebih besar daripada y = %d\n":"x = %d lebih kecil daripada y = %d\n",x,y); getch(); }
IF Ternary Sintaks : <kondisi>?<statement jika benar>:<statement jika salah>; Contoh : #include <stdio.h> #include <conio.h> int main() { int x; 11 > 1 && 35 < 9 ? x = 1: x = 0; printf("%d",x); getch(); }
If…Else(2)
Sifat Percabangan Lainnya Pada bahasa C, kondisi yang bernilai tidak sama dengan 0 (nol) berarti bernilai TRUE, jika nilainya 0 maka bernilai FALSE. Contoh : If (4+5) => TRUE
Kesalahan Dalam If Kondisi pada statement if bukan merupakan nilai integer Menggunakan = bukan == Menggunakan elseif bukan else if
Kesimpulan If IF dieksekusi jika bernilai 1 Jika a bernilai positif atau negatif maka: if(a) berarti 1, dieksekusi Jika a bernilai nol, maka: if(a) berarti 0, tidak dieksekusi Jika a bernilai 0, maka: if(a == 0) berarti 1, dieksekusi if(!a) berarti 1, dieksekusi
Percabangan Kompleks Percabangan dimana kondisi pemilihan tidak hanya satu tetapi bisa terdiri dari banyak alternatif serta perintah-perintah yang dikerjakannya juga bisa lebih dari satu.
Nested If (If Bersarang)
If Bertingkat Dengan Else if (kondisi1){ instruksi1; } if(kondisi2){ instruksi2; if(kondisi3){ instruksi3; if(kondisi4){ instruksi4; if (kondisi1){ instruksi1; } else if(kondisi2){ instruksi2; else if(kondisi3){ instruksi3; else if(kondisi4){ instruksi4;
Percabangan Dengan Switch Perintah ini digunakan sebagai alternatif pengganti dari sintaks if … else secara sederhana dimana alternatif pilihan bisa lebih dari satu. Namun switch tidak bisa digunakan untuk pilihan yang mengandung suatu kondisi tertentu. Dengan perintah ini program percabangan akan semakin mudah dibuat dan dipelajari
Switch Sintaks :
Flowchart Switch
Karakteristik Switch Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang berada di case. Pembandingan akan dimulai dari konstanta ke-1 sampai konstanta terakhir. Jika hasil dari pembandingan kondisi sama dengan nilai konstanta tertentu, misalnya konstanta ke-1, maka pernyataan ke-1 akan dijalankan sampai ditemukan perintah break. Pernyataan break akan membawa proses keluar dari perintah switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default akan dijalankan
Contoh : #include <stdio.h> #include <conio.h> int main() { int hari=1; printf("hari ini adalah hari "); switch(hari) case 1: printf("Minggu"); break; case 2: printf("Senin"); case 3: printf("Selasa"); case 4: printf("Rabu"); case 5: printf("Kamis"); case 6: printf("Jumat"); case 7: printf("Sabtu"); default: printf("hari invalid"); } getch();
Perulangan Perulangan digunakan untuk mengerjakan suatu atau beberapa perintah secara berulang-ulang sesuai dengan yang diinginkan. Perulangan sederhana adalah perulangan yang hanya membutuhkan 1kali perulangan saja. Di dalam perulangan sederhana tidak ada nested loop.
Jenis Perulangan C for(<c_awal>;<kondisi>;<inc/dec>) { ... } while(<kondisi>) { <statement><inc/dec> } do { <statement><inc/dec> } while(<kondisi>)
Karakteristik for() {…} Digunakan untuk perulangan yang batasnya sudah diketahui dengan jelas, misalnya 10 kali misalnya 10 kali. Memerlukan 2 buah penanda, awal dan akhir perulanganakhir perulangan. C_awal dan C_akhir Nilai penghitung/counter akan secara Nilai penghitung/counter akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan, tergantung jenis perulangannya.
Sintaks
Karakteristik while(){…} Dilakukan pemeriksaan kondisi terlebih dahulu sebelum dilakukan perulangan. Jika kondisi yang diperiksa bernilai benar (true) maka perulangan akan dilakukan. Ada kemungkinan tidak dikerjakan Ada kemungkinan tidak dikerjakan Blok statement/perintah tidak harus ada. Struktur tanpa statement/perintah akan tetap dilakukan selama kondisi masih true. Perulangan akan terus dilakukan sampai kondisi false.
Bentuk Umum
Flowchart For dan While do
Karakteristik do {…} while Perulangan akan dilakukan minimal 1x terlebih dahulu, kemudian baru dilakukan pemeriksaan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan. Perulangan dengan do...while() akan gg () dilakukan sampai kondisi false.
Bentuk Umum
Flowchart