Oleh :
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 :
If(kondisi)
Pernyataan;
INPUT
KONDISI
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)
Pernyataan-1;
SALAH
Pernyataan-2;
PERNYATAAN-2
Else
KONDISI
BENAR
PERNYATAAN-1
end
#include<stdio.h>
#include<conio.h>
main()
{
float nilai;
clrscr();
printf("masukkan nilai anda =");
scanf("%f",&nilai);
if (nilai>=60)
printf("ANDA LULUS...^_^");
else
printf("ANDA TIDAK LULUS ...:(");
return 0;
}
INPUT NILAI
SALAH
ANDA TIDAK
LULUS…
Nilai>=60
BENAR
ANDA
LULUS…^_^
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
1?
break;
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-n
end
Pernyataan-m
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
Ekonomi
Bisnis
Tujuan
Harga tiket / orang
Jakarta
Rp. 37.000
Yogyakarta
Rp. 63.000
Solo
Rp. 72.500
Jakarta
Rp. 46.500
Yogyakarta
Rp. 75.000
Solo
Rp. 87.500
SELESAI