Penjelasan Mengenaik Penggunaan If dan else pada C++
Pada pemrograman, pernyataan pengambilan keputusan digunakan oleh pemrogram untuk mengambil suatu keputusan diantara satu atau lebih konsisi yang ada. Sebuah pernyataan akan dijalankan/dieksekusi jika kondisi/persyaratan bernilai benar (terpenuhi). Kali ini akan dibahas tentang if, swich, dan operator ? :.
if, if-else, if-else if-else
if
“Jika kondisi pada if bernilai benar (terpenuhi), maka pernyataan di dalam if akan dijalankan, namun jika kondisi tidak terpenuhi maka pernyataan di dalam if akan diabaikan.”
Bentuk penulisan if
if (kondisi/persyaratan)
{
pernyataan;
pernyataan;
...
}
Berikut adalah contoh program if :
/*
C++ - Pengambilan Keputusan if, switch-case, dan Operator ? :
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
cout<<"IF"<<endl;
cout<<"--"<<endl;
if(10 > 5)
cout<<"Benar, pernyataan di dalam if ini dijalankan"<<endl;
_getche();
return 0;
}
Output if
IF
--
Benar, pernyataan di dalam if ini dijalankan
PENJELASAN
Pada program di atas, kondisi pada if(10 > 5) akan dicek, karena 10 lebih besar dari 5 (kondisi benar) maka pernyataan di dalam if yaitu cout<<"Benar, pernyataan di dalam if ini dijalankan"<<endl; dijalankan.
if-else
“Jika kondisi pada if bernilai benar (terpenuhi), maka pernyataan di dalam if akan dijalankan, namun jika kondisi tidak terpenuhi maka pernyataan di dalam else yang akan dijalankan.”
Bentuk penulisan if-else
if (kondisi/persyaratan)
{
pernyataan;
pernyataan;
...
}
else
{
pernyataan;
pernyataan;
...
}
Berikut adalah contoh program if-else :
/*
C++ - Pengambilan Keputusan if, switch-case, dan Operator ? :
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int bil;
cout<<"MENENTUKAN BILANGAN GANJIL ATAU GENAP"<<endl;
cout<<"-------------------------------------"<<endl;
cout<<"Masukkan bilangan : ";
cin>>bil;
cout<<endl;
cout<<bil<<" termasuk dalam bilangan ";
//jika hasil modulus sama dengan 0
if(bil%2 == 0)
cout<<"GENAP"<<endl;
else //selain itu
cout<<"GANJIL"<<endl;
_getche();
return 0;
}
Output if-else
MENENTUKAN BILANGAN GANJIL ATAU GENAP
-------------------------------------
Masukkan bilangan : 53
53 termasuk dalam bilangan GANJIL
PENJELASAN
Pada program di atas, user melakukan input bilangan 53, kondisi pada if(bil%2 == 0) akan dicek, karena 53 modulus 2 hasilnya tidak sama dengan 0 maka pernyataan di dalam if diabaikan dan pernyataan di dalam else yaitu cout<<"GANJIL"<<endl; yang dijalankan.
if-else if-else
“Jika kondisi pada if bernilai benar (terpenuhi), maka pernyataan di dalam if akan dijalankan, namun jika kondisi tidak terpenuhi maka kondisi pada else if akan diperiksa, jika kondisi terpenuhi maka pernyataan di dalam else if akan dijalankan. Namun, jika kondisi pada else if juga tidak terpenuhi maka pernyataan di dalam else yang akan dijalankan.”
Bentuk penulisan if-else if-else
if (kondisi/persyaratan)
{
pernyataan;
pernyataan;
...
}
else if
{
pernyataan;
pernyataan;
...
}
else
{
pernyataan;
pernyataan;
...
}
Berikut adalah contoh program if-else if-else :
/*
C++ - Pengambilan Keputusan if, switch-case, dan Operator ? :
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int kode_bulan;
cout<<"PILIH BULAN"<<endl;
cout<<"-----------"<<endl;
cout<<"Masukkan bulan dalam angka (1-12) : ";
cin>>kode_bulan;
cout<<endl;
cout<<"-> ";
//pernyataan if-else
if(kode_bulan==1)
cout<<"Januari"<<endl;
else if(kode_bulan==2)
cout<<"Februari"<<endl;
else if(kode_bulan==3)
cout<<"Maret"<<endl;
else if(kode_bulan==4)
cout<<"April"<<endl;
else if(kode_bulan==5)
cout<<"Mei"<<endl;
else if(kode_bulan==6)
cout<<"Juni"<<endl;
else if(kode_bulan==7)
cout<<"Juli"<<endl;
else if(kode_bulan==8)
cout<<"Agustus"<<endl;
else if(kode_bulan==9)
cout<<"September"<<endl;
else if(kode_bulan==10)
cout<<"Oktober"<<endl;
else if(kode_bulan==11)
cout<<"November"<<endl;
else if(kode_bulan==12)
cout<<"Desember"<<endl;
else
cout<<"Kode bulan tidak sesuai"<<endl;
_getche();
return 0;
}
Output if-else if-else
PILIH BULAN
-----------
Masukkan bulan dalam angka (1-12) : 7
-> Juli
PENJELASAN
Pada program di atas, user melakukan input bilangan 7, kondisi pada if(kode_bulan==1)akan dicek, karena kode_bulan sama dengan 1 (bukan 7) maka program akan melakukan pengecekan pada kondisi else if sampai bertemu dengan kondisi benar atau tidak sama sekali (else akan dijalankan). Ternyata kondisi pada else if(kode_bulan==7) terpenuhi, sehingga pernyataan di dalam else if(kode_bulan==7), yaitu cout<<"Juli"<<endl; dijalankan.
*Catatan : Apabila pernyataan di dalam if hanya terdiri dari satu baris maka tanda { } boleh digunakan atau boleh juga tidak.
switch - case
switch-case merupakan pernyataan yang digunakan untuk menanggani pengambilan keputusan yang melibatkan sejumlah alternatif pilihan. Pernyataan switch-case memiliki kegunaan yang sama seperti if – else bertingkat, tetapi untuk memeriksa data yang bertipe karakter atau integer.
“Setiap case akan dijalankan jika syarat nilai konstanta terpenuhi dan default akan dijalankan jika semua case di atasnya tidak terpenuhi.”
Bentuk penulisan switch - case
switch(ekspresi)
{
case <konstanta1> :
pernyataan;
...
break;
case <konstanta2> :
pernyataan;
...
break;
...
default :
pernyataan;
...
break;
}
Pernyataan break digunakan untuk keluar dari switch. Jika break ini tidak ada, maka program akan diteruskan ke cabang-cabang yang lainnya.
Berikut adalah contoh program switch - case:
/*
C++ - Pengambilan Keputusan if, switch-case, dan Operator ? :
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int kode_bulan;
cout<<"PILIH BULAN"<<endl;
cout<<"-----------"<<endl;
cout<<"Masukkan bulan dalam angka (1-12) : ";
cin>>kode_bulan;
cout<<endl;
cout<<"-> ";
//pernyataan switch
switch (kode_bulan)
{
case 1:
cout<<"Januari"<<endl;
break;
case 2:
cout<<"Februari"<<endl;
break;
case 3:
cout<<"Maret"<<endl;
break;
case 4:
cout<<"April"<<endl;
break;
case 5:
cout<<"Mei"<<endl;
break;
case 6:
cout<<"Juni"<<endl;
break;
case 7:
cout<<"Juli"<<endl;
break;
case 8:
cout<<"Agustus"<<endl;
break;
case 9:
cout<<"September"<<endl;
break;
case 10:
cout<<"Oktober"<<endl;
break;
case 11:
cout<<"November"<<endl;
break;
case 12:
cout<<"Desember"<<endl;
break;
default:
cout<<"Kode bulan tidak sesuai"<<endl;
break;
}
_getche();
return 0;
}
Output switch-case
PILIH BULAN
-----------
Masukkan bulan dalam angka (1-12) : 7
-> Juli
PENJELASAN
Pada program di atas, user melakukan input bilangan 7, selanjutnya konstanta pada case akan dicek dimulai dari case pertama. Konstanta pada case 7: terpenuhi, maka pernyataan dalam case tersebut, yaitu cout<<"Juli"<<endl; dijalankan selanjutya break dijalankan untuk keluar dari switch.
Operator ? :
“Jika kondisi bernilai benar (terpenuhi), maka pernyataan1 akan dijalankan, namun jika kondisi tidak terpenuhi maka pernyataan2 yang akan dijalankan.”
Bentuk penulisan Operator ? :
<kondisi/persyaratan> ? <pernyataan1> : <pernyataan2>
Berikut adalah contoh Program Operator ? :
/*
C++ - Pengambilan Keputusan if, switch-case, dan Operator ? :
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int bil1, bil2, hasil;
cout<<"MENENTUKAN BILANGAN LEBIH BESAR"<<endl;
cout<<"-------------------------------"<<endl;
cout<<"Masukkan bilangan 1 : ";
cin>>bil1;
cout<<"Masukkan bilangan 2 : ";
cin>>bil2;
cout<<endl;
//pernyataan dengan operator ? :
hasil = (bil1>bil2)? bil1 : bil2;
cout<<hasil<<" merupakan bilangan yang bernilai lebih besar";
_getche();
return 0;
}
Output Operator ? :
MENENTUKAN BILANGAN LEBIH BESAR
-------------------------------
Masukkan bilangan 1 : 53
Masukkan bilangan 2 : 64
64 merupakan bilangan yang bernilai lebih besar
PENJELASAN
Pada program di atas, user melakukan input bilangan 53 dan 64, kondisi pada (bil1>bil2)? akan dicek, karena kondisi tidak terpenuhi/bernilai salah maka pernyataan2 yang dijalanlan, yaitu bil2. Kemudiaan bil2 disimpan dalam variabel hasil, yang kemudian ditampilkan melalui pernyataan cout<<hasil<<" merupakan bilangan yang bernilai lebih besar";.
Komentar
Posting Komentar