4. Pemograman_Terstruktur

advertisement
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)
benar
pernyataan
salah
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");
}
2. if_else (Double Selection Sructure)
• Pernyataan else tidak pernah berdiri sendiri tanpa
kehadiran if.
if (kondisi)
pernyataan_1;
else
pernyataan_2;
kondisi
salah
benar
Pernyataan_1
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
pernyataan_N;
/*opsional*/
/*opsional*/
kondis
i1
benar
pernyataan1
salah
salah
kondis
i2
benar
pernyataan1
kondis
i M
benar
pernyataan1
salah
benar
pernyataan1
#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:
switch (ungkapan)
{
case ungkapan_1;
pernyataan_1;
break;
case ungkapan_2;
pernyataan_2;
break;
…
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
benar
pernyataan_1;
break;
salah
ungkapan =
ungkapan1
salah
pernyataan_x;
benar
pernyataan_1;
break;
//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");
break;
default:
printf("tidak terindentifikasi");
}
}
Latihan
1.
Susun program untuk menginput 3 buah bilangan yang masingmasing 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
2. 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
3. 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”
Latihan
4. 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
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
Buatlah flowchart untuk soal diatas!
Download