Pemograman Terstruktur Modul 4 Pernyataan Kondisi Pemograman Terstruktur S. Indriani Lestariningati, M.T Indonesia Computer University Bandung 2011
Jenis Pernyataan Pernyataan berkondisi if single selection structure if_else double selection structure nested if, switch_case multiple selection structure
1. If (Single Selection Structure) Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Pernyataan if yang paling sederhana berbentuk: if (kondisi) pernyataan; Kondisi digunakan untuk menentukan pengambilan keputusan Pernyataan dapat berupa sebuah pernyataan ataupun pernyataan majemuk. Bagian ini dijalankan hanya kalau kondisi bernilai benar. if (kondisi) pernyataan benar salah 4. Pernyataan Dasar
Penerapan if Penerapan if misalnya untuk menentukan seseorang boleh menonton pertunjukan bioskop atau tidak. Kondisi yang dipergunakan, seseorang boleh menonton jika sudah berusia 17 tahun. Penulisan programnya sbb: #include<stdio.h> #include<conio.h> void main() { int usia; clrscr(); printf("Berapa Usia Anda ="); scanf("%i", &usia); if (usia<17) printf("Anda tidak diperkenankan menonton"); } 4. Pernyataan Dasar
2. if_else (Double Selection Sructure) Pernyataan else tidak pernah berdiri sendiri tanpa kehadiran if. if (kondisi) pernyataan_1; else pernyataan_2; kondisi Pernyataan_1 benar salah Pernyataan_2
Penerapan If-else Penulisan programnya sbb: #include<stdio.h> #include<conio.h> void main() { int usia; clrscr(); printf("Berapa Usia Anda ="); scanf("%i", &usia); if (usia<17) printf("Anda tidak diperkenankan menonton"); else printf("Selamat menonton"); }
3. If-else if, switch-case (Multiple repetion structure) a. if-else if Pernyataan if yang terletak didalam if sering disebut nested if atau if bersarang: if (kondisi_1) pernyataan_1; else if (kondisi_2) pernyataan_2; else if (kondisi_3) pernyataan_3; else if (kondisi_M) pernyataan_M; else /*opsional*/ pernyataan_N; /*opsional*/
kondisi1 pernyataan1 benar salah kondisi2 kondisi M
#include<stdio.h> void main() { char nilaiIndeks; int nilaiUTS, nilaiUAS, nilaiAkhir; // contoh data yang dimasukkan printf("Masukkan nilai UTS: \n"); scanf("%i", &nilaiUTS); printf("Masukkan nilai UAS:\n"); scanf("%i", &nilaiUAS); // menghitung nilai akhir menggunakan rumus di atas nilaiAkhir = (0.4 * nilaiUTS) + (0.6 * nilaiUAS); if (nilaiAkhir >= 80) nilaiIndeks='A'; else if (nilaiAkhir >= 70) nilaiIndeks='B'; else if (nilaiAkhir >= 50) nilaiIndeks='C'; else if (nilaiAkhir >= 30) nilaiIndeks='D'; else // (nilaiAkhir < 30) nilaiIndeks='E'; printf("Nilai Akhir\t: %i \n", nilaiAkhir); printf("Nilai Indeks\t: %c", nilaiIndeks); } Contoh program
b. switch_case Kaidah umum pernyataan switch: Perlu diketahui! switch (ungkapan) { case ungkapan_1; pernyataan_1; break; case ungkapan_2; pernyataan_2; … default: /*opsional*/ pernyataan_x; /*opsional*/ } Perlu diketahui! Bagian default hanya akan dijalankan kalau ungkapan pada bagian case tidak ada yang cocok dengan ungkapan switch.
ungkapan = ungkapan1 pernyataan_1; break; pernyataan_x; benar salah
//contoh program switch_case #include<stdio.h> #include<conio.h> void main() { int x; clrscr(); printf("masukkan angka:"); scanf("%i", &x); switch (x) { case 1: printf("x adalah 1"); break; case 2: printf("x adalah 2"); default: printf("tidak terindentifikasi"); }
Latihan Susun program untuk menginput 3 buah bilangan yang masing-masing menyatakan panjang sebuah garis. Kemudian periksa ketiga buah garis tersebut apakah dapat membentuk sebuah segitiga atau tidak. Bila ketiga buah garis tersebut dapat membentuk sebuah segitiga, maka cetak perkataan “SEGI TIGA”, sebaliknya bila ketiga garis tersebut tidak mungkin membentuk sebuah segitiga, maka cetak perkataan: “BUKAN SEGITIGA” Catatan: Pada sebuah segitiga, berlaku ketentuan yang pasti, yaitu panjang sebuah sisi selalu lebih kecil dibandinkan dengan jumlah panjang kedua buah sisi yang lain. Atau, jumlah panjang dua buah sisi selalu lebih besar dari panjang yang lain Menggunakan logical operator AND atau OR Tidak boleh menggunakan logical operator AND dan OR
Latihan Susun program untuk menginput 3 buah bilangan yang masing-masing menyatakan panjang sisi sebuah segitiga. Kemudian periksa ketiga buah garus tersebut. Bila ketiga buah garis (sisi) tersebut panjangnya sama maka cetak perkataan “SAMA SISI”. Bila hanya dua sisi yang sama maka cetak perkataan “SAMA KAKI”. Tetapi bila ketiga tiganya tidak sama maka cetak perkataan “SEMBARANG” Menggunakan logical operator AND atau OR Tidak boleh menggunakan logical operator AND dan OR
Latihan Susun program untuk menginput tiga buah bilangan yang masing-masing menyatakan besar sebuah sudut (dalam derajat). Periksa ketiga buah bilangan tadi. Bila total ketiganya =180, maka cetak perkataan “SEGITIGA”, tapi bila totalnya bukan 180, maka cetak perkataan “BUKAN SEGITIGA”
Bila nilai berada dalam batas: Latihan Susun program untuk menginputkan sebuah nilai interger (nilai ujian mahasiswa) Anggap nilai yang diinput berada dalam batas (0-100), artinya tidak dibawah 0 dan tidak diatas 100 Buatlah flowchart untuk soal diatas! Cetak huruf Bila nilai berada dalam batas: A 80-100 B 70-79 C 60-69 D 40-59 E 0-39 Nilai yang anda masukkan salah >100