Seleksi kondisi
adalah proses penentuan langkah berikutnya berdasarkan proses yang terjadi
sebelumnya. Seleksi kondisi ini sangat penting dalam pemrograman sebab dengan
adanya seleksi kondisi, program dapat menentukan proses apa yang harus
dilakukan selanjutnya berdasarkan keadaan sebelumnya. Sehingga nampak
seolah-olah program dapat berpikir dan mengambil keputusan. Disinilah letak
kekurangan komputer yaitu tidak mampu berpikir sendiri, semua hal yang
dilakukan adalah berdasarkan perintah.
Macam
Operasi Seleksi pada C++
A. If
1. if
Kondisi pada pernyataan
if harus ditulis di dalam tanda kurung. Dengan kata lain tanda kurung harus
disertakan untuk melingkupi kondisi pada pernyataan if. Pada bahasa C dan C++
jika di dalam { } hanya terdapat satu pernyataan saja, tanda tersebut dapat
dibuang atau tidak dipakai.
Jika kondisi bernilai
benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan
diabaikan.
Bentuk Umum:
if
(kondisi)
{
pernyataan;
………
}
|
Contoh :
Buatlah program untuk menampilkan
apakah nilai x dan y yang dimasukkan merupakan bilangan positif.
Program :
#include
<iostream>
#include
<conio.h>
#include
<stdio.h>
using
namespace std;
main(
)
{
float x,y;
cout<<"Masukkan Nilai Positif
atau Negatif "<<endl;
cout<<" Nilai X :
";cin>>x;
cout<<" Nilai Y :
";cin>>y;
if ((x >= 0 ) && (y>=0))
cout<<"X dan Y Bernilai POSITIF
"<<endl;
return
0;
}
|
2. If
Else
Pernyataan if mempunyai
pengertian, “Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan
jika tidak memenuhi syarat maka akan mengerjakan perintah-2”.
Bentuk Umum :
if (kondisi)
{
perintah-1;
…..
}
else
{
perintah-2;
…..
}
|
Contoh :
Menentukan besarnya
diskon dan bonus dari jumlah beli, dengan kriteria :
- jika jumlah beli > 15 maka diskon 5% dan bonusnya : payung
- selain itu tidak dapat diskon dan bonus
Program :
#include
<iostream>
#include
<conio.h>
#include
<string.h>
using
namespace std;
main(
)
{
float jumbel,hrg;
char bonus[15];
float diskon;
cout<<" Harga Barang : " ;
cin>> hrg;
cout << " Jumlah belinya :
"; cin>> jumbel;
if(jumbel>=15)
{
diskon = 0.15 * hrg ; strcpy(bonus,
"Buku Belajar C++");
}
else
{
diskon =0 ; strcpy(bonus, "Tidak
Dapat");
}
cout<<"\n----------------------------"<<endl;
cout<<" Diskonnya :
"<<diskon<<endl;
cout<<" Bonusnya :
"<<bonus<<endl;
return
0;
}
|
Jika kondisi bernilai
benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan
mengerjakan perintah-2. Dan Nested if merupakan pernyataan if berada di dalam
pernyataan if yang lainnya.
Bentuk Umum:
if(syarat)
{
if(syarat)
… perintah;
else
… perintah;
}
else
{
if(syarat)
… perintah;
else
… perintah;
}
|
Keterangan :
"Jika syarat1
bernilai benar, dan jika syarat1-1 bernilai benar, maka akan mengerjakan
perintah 1.1" Apabila syarat 1-1 bernilai salah, maka akan mengerjakan
perintah 1.2".
"Jika syarat1 bernilai
salah, dan jika syarat2-1 bernilai benar, maka akan mengerjakan perintah
2.1" Apabila syarat 2-1 bernilai salah, maka akan mengerjakan perintah
2.2".
Contoh :
Suatu perusahaan
menjual pakaian dengan ketentuan sebagai berikut:
Jika kode baju=1 maka
Merk Baju = H&R, dengan ukuran baju=S,maka harganya 45000, Jika ukuran
baju=M, maka harganya 60000, selain itu harganya = 0.
Jika kode baju=2 maka
Merk Baju = Adidas, dengan ukuran baju=S, maka harganya 65000, Jika ukuran
Baju=M, maka harganya 75000, selain itu harganya = 0.
Selain kode baju
diatas, maka salah kode
Program :
#include
<iostream>
#include
<conio.h>
#include
<stdio.h>
#include
<string.h>
using
namespace std;
main( )
{
int kode;
char ukuran,merk[30];
long int harga;
cout<<"Kode Baju :
";cin>>kode;
cout<<"Ukuran :
";cin>>ukuran;
if (kode==1)
{
strcpy(merk,"H&R");
if (ukuran=='S'|| ukuran =='s')
harga=45000;
else if (ukuran=='M' || ukuran =='m')
harga=60000;
else
harga=0;
}
else if (kode==2)
{
strcpy(merk,"Adidas");
if (ukuran=='S' || ukuran=='s')
harga=65000;
else if (ukuran=='M' || ukuran=='m')
harga=75000;
else
harga=0;
}
else
cout<<"Kode Baju
Salah"<<endl;
harga=0;
cout<<"----------------------"<<endl;
cout<<"Merk Baju :"<<endl;
cout<<"Harga Baju
:"<<harga<<endl;
return
0;
}
|
4. If
Else Majemuk
Jika kondisi bernilai
benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan
mengerjakan perintah-2. Dan Bentuk dari if-else bertingkat sebenarnya serupa
dengan nested if, keuntungan penggunaan if-else bertingkat dibanding dengan
nested if adalah penggunaan bentuk penulisan yang lebih sederhana.
Bentuk Umum:
if
(syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}
|
Contoh :
Suatu perusahaan
memberikan komisi kepada para selesman dengan ketentuan sebagai berikut:
· Bila
salesman dapat menjual barang hingga Rp. 200.000 ,- , akan diberikan uang jasa
sebesar Rp. 10.000 ditambah dengan uang komisi Rp. 10% dari pendapatan yang
diperoleh hari itu.
· Bila
salesman dapat menjual barang diatas Rp. 200.000 ,- , akan diberikan uang jasa
sebesar Rp. 20.000 ditambah dengan uang komisi Rp. 15% dari pendapatan yang
diperoleh hari itu.
· Bila
salesman dapat menjual barang diatas Rp. 500.000 ,- , akan diberikan uang jasa
sebesar Rp. 30.000 ditambah dengan uang komisi Rp. 20% dari pendapatan yang
diperoleh hari itu.
Program :
#include
<iostream>
#include
<conio.h>
using
namespace std;
main(
)
{
float pendapatan, jasa=0, komisi=0,
total=0;
cout<<"Pendapatan Hari ini Rp.
"; cin>>pendapatan;
if (pendapatan >= 0 &&
pendapatan <= 200000)
{
jasa=10000;
komisi=0.1*pendapatan;
}
else if(pendapatan<=500000)
{
jasa=20000;
komisi=0.15*pendapatan;
}
else
{
jasa=30000;
komisi=0.2*pendapatan;
}
// menghitung total
total = komisi+jasa;
cout<<"Uang Jasa Rp.
"<<jasa<<endl;
cout<<"Uang Komisi Rp.
"<<komisi<<endl;
cout<<"============================="<<endl;
cout<<"Hasil Total Rp.
"<<total<<endl;
return
0;
}
|