SELECTION STATEMEN KENDALI / PERCABANGAN yuli_dev@yahoo.com
Selection Statemen kendali digunakan untuk mengambil suatu keputusan atau memilih bagian program yang akan dikerjakan sesuai dengan kondisi atau syarat yang diberikan. ATAU Percabangan yaitu suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan atas kondisi tertentu.
Statemen-statemen di atas memerlukan suatu kondisi atau syarat sebagai dasar pengambilan keputusan. Salah satu kondisi yang umum digunakan adalah berupa keadaan benar atau salah (true or false). Bahasa C ada 2 statemen,yaitu : 1. IF Statemen if Statemen if-else, dan 2. SWITCH
Struktur satu kondisi IF Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi yang akan diperiksa. Jika kondisi salah, tidak akan mengerjakan apapun didalam instruksi IF (langsung menuju ke instruksi berikutnya).
//jika hanya terdiri satu statemen if (kondisi) statemen //jika terdapat lebih dari satu statemen if (kondisi) { statemen1; statemen2; ….. }
Contoh : #include<iostream.h> #include<conio.h> main(){ int nilai; cout<<”Masukkan Nilai = ”;cin>>nilai; if (nilai>0) cout<<”Angkanya adalah bilangan positif”; getch();}
Struktur dua kondisi Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan struktur yang hanya memiliki satu buah kondisi. Strukturnya yaitu : if (kondisi) { statemen_jika_kondisi_terpenuhi; } else { statemen_jika_kondisi_tidak_terpenuhi; }
> < = = >= <= != Dalam menuliskan kondisi/syarat selalu digunakan operator relasional sebagai sarana untuk melakukan proses pengecekan : Operator Arti > Lebih besar < Lebih kecil = = Sama dengan >= Lebih atau sama <= Kurang atau sama != Tidak sama dengan
Contoh : #include<iostream.h> #include<conio.h> main(){ int nilai; cout<<"Masukkan Nilai = “;cin>>nilai; if (nilai % 2 == 0) cout<<“adalah bilangan genap"; else cout<<“adalah bilangan ganjil"; getch();}
Struktur tiga kondisi Percabangan jenis ini merupakan perluasan dari struktur percabangan dengan satu dan dua kondisi. Strukturnya yaitu : if (kondisi_1) {statemen_jika_kondisi_1_terpenuhi;} else if (kondisi_2) {statemen_jika_kondisi_2_terpenuhi;} else if (kondisi_3) {statemen_jika_kondisi_3_terpenuhi;} else {statemen_jika_semua_kondisi_diatas_tdk_terpenuhi;}
Contoh : #include<iostream.h> #include<conio.h> main(){ int bil; cout<<“Input angka yg akan dicek “;cin>>bil; if (bil > 0) {cout<<bil<<" adalah bilangan Positif“;} else if (bil < 0) {cout<<bil<<" adalah bilangan Negatif“;} else {cout<<"Anda mengInputkan bilangan Nol“;} getch();}
Percabangan bersarang (lebih dari 2 kondisi pemecahan) Syntax (Aturan Penulisan) : IF ekspresi/kondisi 1 statemen 1 ELSE IF ekspresi/kondisi 2 Statemen 2 statemen 3
Cara Kerja : Contoh Kasus : Jika EKSPRESI/KONDISI 1 bernilai TRUE maka : Aksi 1 akan dikerjakan Jika EKSPRESI/KONDISI 1 bernilai FALSE maka : Jika EKSPRESI/KONDISI 2 bernilai TRUE maka : Aksi 2 akan dikerjakan Jika EKSPRESI/KONDISI 2 bernilai FALSE maka : Aksi 3 akan dikerjakan Contoh Kasus : Jika nilai UAS >= 65 maka siswa dinyatakan LULUS jika tidak maka : Jika Absensi siswa >= 80 maka siswa dinyatakan LULUS jika tidak maka siswa dinyatakan TIDAK LULUS
contoh Solusi : IF (nilai_UAS >= 65) cout<<“Siswa dinyatakan lulus”; ELSE IF (absensi_siswa >= 80) cout<<“Siswa dinyatakan tidak lulus”;
SWITCH Selain menggunakan struktur if, C++ juga mempunyai percabangan dengan menggunakan switch. Bentuk umum struktur percabangan switch yaitu :
switch (ekspresi) { case nilai_konstanta1 : statemen(pernyataan); break; case nilai_konstanta2 : ……. default : statemen(pernyataan)_alternatif; }
Contoh: #include <iostream.h> #include <conio.h> main() { int a; cout<<"Masukkan bilangan:“;cin>>a; switch (a){ case 1 : cout<<"Hari ke "<<a<<“:Minggu"; break;
case 2 : cout<<"Hari ke "<<a<<" : Senin"; break; case 3 : cout<<"Hari ke "<<a<<" : Selasa"; case 4 : cout<<"Hari ke "<<a<<" : Rabu";
case 5 : cout<<"Hari ke "<<a<<" : Kamis"; break; case 6 : cout<<"Hari ke "<<a<<" : Jum'at"; case 7 : cout<<"Hari ke "<<a<<" : Sabtu";
default : cout<<"Tidak terdapat hari ke"<<a; } getch();}
Tugas Buatlah program untuk menentukan tahun kabisat dari tahun yang diinputkan Buatlah program untuk menghitung gaji karyawan Buatlah program untuk mengecek password
soal PDAM menerapkan pembayaran air minum perumahan dengan cara perhitungan sebagai berikut : - Tarif per m3 untuk 10 m3 pertama (1-10) adalah Rp 2.000 - Tarif per m3 untuk 10 m3 kedua (11-20) adalah Rp 3.000 - Tarif per m3 untuk 10 m3 ketiga (21-30) adalah Rp 4.000 - Tarif per m3 untuk 10 m3 selanjutnya (31 ke atas) adalah Rp 5.000 - Pemakaian air dihitung minimal 10 m3 (kurang dari 10 m3 dianggap 10 m3) - Biaya administrasi bulanan sebesar Rp10.000 Bagaimana membuat algoritma untuk menghitung biaya tersebut? Contoh kasus Penggunaan air 5 m3 dengan biaya 10 x 2.000 + 10.000 = 30.000 Penggunaan air 15 m3 dengan biaya 10 x 2.000 + 5 x 3.000 + 10.000 = 45.000 Penggunaan air 75 m3 dengan biaya 10 x 2.000 + 10 x 3.000 + 10 x 4.000 + 45 x 5.000 +10.000 = 325.000