Sri Supatmi
Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses.
Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama
untuk program yang kompleks.
Jenis seleksi kondisi yang terdapat dalam bahasa C dan C++ adalah:
1. IF …
2. IF … ELSE
3. SWITCH …CASE…DEFAULT
Struktur if dibentuk dari pernyataan if dan sering digunakan untuk
menyeleksi suatu kondisi tunggal.
Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan
yang ada didalam blok if akan diproses dan dikerjakan.
Bentuk umum struktur kondisi if adalah :
INPUT
If(kondisi) KONDIS
Pernyataan; I
BENAR
PERNYATAAN
end
#include<stdio.h>
#include<conio.h>
INPUT NILAI
main()
{
float nilai;
clrscr();
printf("masukkan nilai anda ="); Nilai>=60
scanf("%f",&nilai);
if (nilai>=60)
printf("ANDA LULUS...^_^"); BENAR
return 0;
ANDA LULUS…
}
^_^
Dalam struktur kondisi if.....else minimal terdapat dua pernyataan.
Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan
pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah
maka pernyataan yang kedua yang dilaksanakan.
Bentuk umumnya adalah sebagai berikut :
If(kondisi)
Else
PERNYATAAN-2 BENAR
Pernyataan-2;
PERNYATAAN-1
end
#include<stdio.h>
#include<conio.h>
main() INPUT NILAI
{
float nilai;
clrscr();
printf("masukkan nilai anda =");
SALAH
scanf("%f",&nilai); Nilai>=60
if (nilai>=60)
printf("ANDA LULUS...^_^"); ANDA TIDAK BENAR
else LULUS…
printf("ANDA TIDAK LULUS ...:("); ANDA LULUS…
^_^
return 0;
}
Struktur kondisi switch....case....default digunakan untuk penyeleksian
kondisi dengan kemungkinan yang terjadi cukup banyak.
Bentuk umum dari struktur kondisi ini adalah :
switch(kondisi) {
}
case 1 : pernyataan-1; F
break; 1?
case 2 : pernyataan-2;
break; T F
..... 2?
..... Pernyataan-1
case n : pernyataan-n;
break; T F
n?
default :
pernyataan-m Pernyataan-2
T Pernyataan-m
Pernyataan-n
end
1. Case :digunakan sebagai label yang menandai awal eksekusi deret
instruksinya hingga ditemukan pernyataan break.
2. Default : label yang digunakan atau dieksekusi apabila label case tidak ada
yang memenuhi.
3. Break : Perintah pengontrol alur program, berfungsi utnuk keluar dari satu
blok kondisi ataupun iterasi.
4. Dalam menggunakan struktur control switch perlu diperhatikan hal – hal
sbb:
a. Nilai untuk setiap label case adalah berupa konstanta yang kompetible
integer (char, enum, dan varian int).
b. Per keyword case hanya mempunyai satu nilai konstan.
#include<stdio.h>
#include<conio.h>
main()
{
clrscr();
int hari;
puts("Menentukan nama hari\n");
puts("1 = Senin 2 = Selasa 3 = Rabu 4 = Kamis");
puts("5 = Jum’at 6 = Sabtu 7 = Minggu");
printf("\nMasukan kode hari( 1-7) : ");
scanf("%d", &hari);
switch(hari) {
case 1 : puts("Hari Senin"); /* kemungkinan pertama */
break;
case 2 : puts("Hari Selasa"); /* kemungkinan kedua */
break;
case 3 : puts("Hari Rabu"); /* kemungkinan ketiga */
break;
case 4 : puts("Hari Kamis"); /* kemungkinan keempat */
break;
case 5 : puts("Hari Jum’at"); /* kemungkinan kelima */
break;
case 6 : puts("Hari Sabtu"); /* kemungkinan keenam */
break;
case 7 : puts("Hari Minggu"); /* kemungkinan ketujuh */
break;
default : puts("Kode hari yang Anda masukan SALAH");
}
getch();
return 0;
}
#include<stdio.h>
#include<conio.h>
main()
{
float nilai ;
clrscr();
printf(”Program Mulai \n”);
printf(”masukan nilai anda : “);
scanf(”%f”,&nilai);
if (nilai <= 45)
printf(”nilai anda kurang sekali “);
else if ((nilai > 45) && (nilai < = 60))
printf(”nilai anda kurang “);
else if ((nilai > 60) && (nilai < = 75))
printf(”nilai anda cukup“);
else if ((nilai > 75) && (nilai < = 85))
printf(”nilai anda baik “);
else if ((nilai > 85) && (nilai < = 100))
printf(”nilai anda baik sekali “);
else
printf(”Range 0 - 100 \n“);
printf(”Program Selesai”);
}
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
main()
{
char huruf;
clrscr();
printf(”program mulai \n”);
printf("Masukan Huruf Mutu : ");
scanf(“%c”, &huruf);
huruf = toupper(huruf);
switch (huruf)
{
case ‘A’ : { printf(”Angka Mutu = 4 \n”); }
break;
case ‘B’ : { printf(”Angka Mutu = 3 \n”); }
break;
case ‘C’ : { printf(”Angka Mutu = 2 \n”); }
break;
case ‘D’ : { printf(”Angka Mutu = 1 \n”); }
break;
case ‘E’ : { printf(”Angka Mutu = 0 \n”); }
break;
default : { printf(”anda mamasukan huruf mutu yang salah \n“); }
break;
}
Printf(”program selesai \n”);
}
1. Buatlah program untuk mendeteksi suatu inputan bilanagn genap / ganjil !
2. Buatlah program untuk mencari nilai maksimum, minimum dari 3 buah inputan !
3. Buatlah program sederhana memakai bentuk seleksi kondisi switch untuk menyeleksi
nama bulan selama 1 tahun, dengan output sbb :
Masukan bulan pilihan anda [1 – 12] : 2
FEBRUARI
4. Buatlah program untuk pemesanan tiket KA dengan ketentuan sbb :
Input : kelas, tujuan dan banyaknya pemesanan tiket
Output : discount dan jumlah pembayaran
Ketentuan :
Jika pesanan tiket untuk kelas bisnis lebih dari 5 orang maka mendapat discount
sebesar 5% dari total harga pemesanan.Kelas Tujuan Harga tiket / orang
Jakarta Rp. 37.000