SELEKSI KONDISI Oleh : Sri Supatmi
SELEKSI KONDISI/STATEMENT KENDALI 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: IF … IF … ELSE SWITCH …CASE…DEFAULT
I. SELEKSI KONDISI IF… 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) KONDISI Pernyataan; BENAR PERNYATAAN end
Contoh soal SELEKSI KONDISI IF… #include<stdio.h> #include<conio.h> main() { float nilai; clrscr(); printf("masukkan nilai anda ="); scanf("%f",&nilai); if (nilai>=60) printf("ANDA LULUS...^_^"); return 0; } INPUT NILAI Nilai>=60 BENAR ANDA LULUS…^_^
II. SELEKSI KONDISI IF…ELSE … 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; KONDISI SALAH Else BENAR Pernyataan-2; PERNYATAAN-2 PERNYATAAN-1 end
CONTOH SOAL SELEKSI KONDISI IF…ELSE … #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 Nilai>=60 SALAH ANDA TIDAK LULUS… BENAR ANDA LULUS…^_^
II. SELEKSI KONDISI SWITCH…CASE…DEFAULT 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; break; case 2 : pernyataan-2; ..... case n : pernyataan-n; default : pernyataan-m 1? F 2? T F Pernyataan-1 n? T F Pernyataan-2 Pernyataan-m T Pernyataan-n end
KETERANGAN STRUKTUR KONDISI SWITCH…CASE…DEFAULT Case :digunakan sebagai label yang menandai awal eksekusi deret instruksinya hingga ditemukan pernyataan break. Default : label yang digunakan atau dieksekusi apabila label case tidak ada yang memenuhi. Break : Perintah pengontrol alur program, berfungsi utnuk keluar dari satu blok kondisi ataupun iterasi. Dalam menggunakan struktur control switch perlu diperhatikan hal – hal sbb: Nilai untuk setiap label case adalah berupa konstanta yang kompetible integer (char, enum, dan varian int). Per keyword case hanya mempunyai satu nilai konstan.
CONTOH SOAL SELEKSI KONDISI SWITCH…CASE…DEFAULT #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 */ case 3 : puts("Hari Rabu"); /* kemungkinan ketiga */ case 4 : puts("Hari Kamis"); /* kemungkinan keempat */ case 5 : puts("Hari Jum’at"); /* kemungkinan kelima */ case 6 : puts("Hari Sabtu"); /* kemungkinan keenam */ case 7 : puts("Hari Minggu"); /* kemungkinan ketujuh */ default : puts("Kode hari yang Anda masukan SALAH"); } getch(); return 0;
LATIHAN PRAKTIKUM #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”); }
Latihan praktikum #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”); } case ‘C’ : { printf(”Angka Mutu = 2 \n”); } case ‘D’ : { printf(”Angka Mutu = 1 \n”); } case ‘E’ : { printf(”Angka Mutu = 0 \n”); } default : { printf(”anda mamasukan huruf mutu yang salah \n“); } } Printf(”program selesai \n”);
Masukan bulan pilihan anda [1 – 12] : 2 FEBRUARI Buatlah program untuk mendeteksi suatu inputan bilanagn genap / ganjil ! Buatlah program untuk mencari nilai maksimum, minimum dari 3 buah inputan ! 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 Ekonomi Jakarta Rp. 37.000 Yogyakarta Rp. 63.000 Solo Rp. 72.500 Bisnis Rp. 46.500 Rp. 75.000 Rp. 87.500
SELESAI