Part 4 - E-learning Amikom

advertisement
SELECTION
STATEMEN KENDALI /
PERCABANGAN
[email protected]
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
IF
•
Struktur satu kondisi
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
ELSE
statemen 3
 Cara
 Jika

Kerja :
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
 Jika
Kasus :
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 lulus”;
ELSE
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 :
statemen(pernyataan);
break;
…….
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";
break;
case 4 :
cout<<"Hari ke "<<a<<" : Rabu";
break;
case 5 :
cout<<"Hari ke "<<a<<" : Kamis";
break;
case 6 :
cout<<"Hari ke "<<a<<" : Jum'at";
break;
case 7 :
cout<<"Hari ke "<<a<<" : Sabtu";
break;
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
Download