C++: IF ELSE Statement + Studi Kasus
IF ELSE Statement atau percabangan pada C++ akan selalu digunakan para programmer untuk membuat keputusan berdasarkan kondisi yang terjadi. Singkatnya, percabangan ini merupakan salah satu control flow kode program dengan pernyataan yang diuji dengan sintaks yang digunakan adalah IF, ELSE, dan ELSE IF.
Contoh sederhananya ketika ingin menentukan suatu bilangan apakah ganjil atau genap dengan flowchart sebagai berikut.
#include <iostream>
int main(){
//deklarasi variabel
int a;
std::cout<<"Masukkan angka: ";
//menyimpan data variabel
std::cin>>a;
//if else statement
if(a%2==0){
std::cout<<"Bilangan genap"<<std::endl;
}
else{
std::cout<<"Bilangan ganjil"<<std::endl;
}
return 0;
}
Berdasarkan flowchart pada gambar 1 menunjukkan bahwa kondisi tersebut merupakan kondisi IF ELSE dimana jika kondisi sesuai dengan syarat atau TRUE maka kode pada body IF akan dieksekusi sebaliknya jika FALSE maka kode pada body ELSE akan dieksekusi.
Oiya, pernyataan yang diuji dapat berupa fungsi, operator matematika dan operator pembanding.
KONDISI IF
Kondisi IF merupakan kondisi utama dimana jika suatu pernyataan sesuai dengan syarat atau TRUE maka kode pada body IF akan dieksekusi sedangkan jika FALSE tidak akan dieksekusi atau tidak akan memberikan output.
KONDISI IF ELSE
Sebuah kondisi dimana jika suatu pernyataan sesuai dengan syarat atau TRUE maka kode pada body IF akan dieksekusi sedangkan jika pernyataan bersyarat bersifat FALSE maka akan mengeksekusi kode pada body ELSE.
Contoh studi kasus dalam menentukan suatu tahun apakah termasuk tahun kabisat atau tidak dengan syarat:
Apabila angka tahun tersebut habis dibagi dengan 400, maka tahun itu adalah tahun kabisat
Apabila angka tahun tersebut tidak habis dibagi dengan angka 400, namun malah habis dibagi angka 100, maka tahun tersebut bukanlah tahun kabisat.
Kemudian apabila tahun tersebut tidak habis dibagi 400 ataupun 100, namun habis dibagi dengan angka 4, maka tahun itu adalah tahun kabisat
Apabila tahun tersebut tidak habis dibagi 400, 100, maupun 4, maka dipastikan tahun tersebut bukanlah tahun kabisat
Maka kode pemrogramannya adalah sebagai berikut.
#include <iostream>
int main(){
int tahun;
std::cout<<"Masukkan tahun yang ingin dicek: ";
std::cin>>tahun;
if(tahun%4==0){
if(tahun%100==0){
if(tahun%400==0){
std::cout<<"Tahun kabisat"<<std::endl;
}
else{
std::cout<<"Bukan tahun kabisat"<<std::endl;
}
}
else{
std::cout<<"Tahun Kabisat"<<std::endl;
}
}
else{
std::cout<<"Bukan tahun kabisat"<<std::endl;
}
return 0;
}
KONDISI IF, ELSE IF, ELSE
ELSE IF pada kondisi ini berfungsi sebagai logika lanjutan dari kondisi IF. Dengan adanya ELSE IF, akan terdapat banyak kemungkinan yang terjadi jika pada kondisi IF bersifat FALSE.
Contoh studi kasus dalam membuat BMI calculator. Body Mass Index (BMI) merupakan angka informasi dasar terhadap masalah berat badan secara keseluruhan dengan rumus :
BMI = Berat Badan / (Tinggi Badan)²
dengan keterangan angka hasil hitung terhadap informasi masalah berat badan sebagai berikut.
Under 18.5 they are underweight
Over 18.5 but below 25 they have a normal weight
Over 25 but below 30 they are slightly overweight
Over 30 but below 35 they are obese
Above 35 they are clinically obese.
Berdasarkan informasi tersebut maka kode pemrogramannya adalah sebagai berikut.
#include <iostream>
#include <cmath>
int main(){
//Deklarasi variabel
float tb, bb, bmi;
//input data
std::cout<<"Masukkan berat badan dalam kg: ";
std::cin>>bb;
std::cout<<"Masukkan tinggi badan dalam cm: ";
std::cin>>tb;
//Perhitungan
bmi = (bb) / pow(tb/100,2);
//IF ELSE Statement
if(bmi<18.5){
std::cout<<"BMI anda "<<bmi<<" Artinya anda \"Underweight\""<<std::endl;
}
else if(bmi<=25){
std::cout<<"BMI anda "<<bmi<<" Artinya BB anda \"Normal\""<<std::endl;
}
else if(bmi<=30){
std::cout<<"BMI anda "<<bmi<<" Artinya BB anda termasuk \"slightly overweight\""<<std::endl;
}
else if(bmi<=35){
std::cout<<"BMI anda "<<bmi<<" Artinya anda berbadan gemuk"<<std::endl;
}
else{
std::cout<<"BMI anda "<<bmi<<" Artinya anda Obesitas"<<std::endl;
}
return 0;
}
Demikian yang dapat disampaikan pada bahasan IF ELSE Statement kali ini, Terima kasih sudah mampir :D