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.
INPUT
Bentuk umum struktur kondisi if adalah :
If(kondisi)
KONDISI
Pernyataan;
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