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
- 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;
}
|
3. Nested
If
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;
}
|
B.
Switch
Case
Bentuk dari switch -
case adalah pernyataan yang dirancangan khusus untuk menangani pengambilan
keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian.
Pernyataan switch - case ini memiliki kegunaan sama seperti if – else
bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter
atau integer.
Bentuk Umum :
switch
(ekspresi integer atau karakter )
{ case konstanta-1 : … perintah; … perintah; break; case konstanta-2 : … perintah; … perintah; break; default : … perintah; … perintah; } |
Contoh :
Buatlah program untuk menampilkan jurusan dengan memberikan kode pada tiap jurusan.
Buatlah program untuk menampilkan jurusan dengan memberikan kode pada tiap jurusan.
Program :
#include
<iostream>
using
namespace std;
main(
)
{
int kode;
cout<<"Masukkan Kode Jurusan
[11/12/13] : "; cin>>kode;
switch(kode)
{
case 11 :
cout<<"Komputerisasi
Akuntansi";
break;
case 12 :
cout<<"Manajemen
Informatika";
break;
case 13 :
cout<<"Tehnik
Informatika";
break;
default:
cout<<"Anda Salah
Memasukan kode";
break;
}
return
0;
}
|
Daftar
Pustaka :
- Abdul Kadir & Heriyanto, Algoritma Pemrograman Menggunakan C++, Penerbit Andi, 2005
- Hanif Al Fatta, Dasar Pemrograman C++, Penerbit Andi.2006
- Acihmah Sidauruk, Modul Pembelajaran, 2017
- Rinaldi Munir & Leony Lidya. Algoritma dan Pemrograman dalam Bahasa Pascal, C, dan C++., Informatika Bandung.
0 komentar:
Posting Komentar