OPERASI KONDISI
Oleh:
Arvendo Mahardika
160533011405
S1 PTI 16 OFF A
A. Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu:
1. Menjelaskan tentang fungsi operasi kondisi.
2. Menjelaskan tentang fungsi if, if-else, if-else bertingkat, dan switch case.
B. Dasar Teori
Pernyataan percabangan pada pemrograman digunakan untuk memecahkan
persoalan untuk mengambil suatu keputusan di antara sekian pernyataan yang
ada, di mana sebuah instruksi (pernyataan) akan dilaksanakan jika sebuah
kondisi/persyaratan terpenuhi.
1. Pernyataan If
Pernyataan if mempunyai pengertian Jika kondisi bernilai benar, maka
(pernyataan) perintah akan dikerjakan dan jika tidak memenuhi syarat
maka program akan mengabaikan pernyataan. Dari pengertian tersebut di
atas maka dapat dilihat diagram alir seperti pada gambar 1.
if (kondisi)
pernyataan;
1
2
if (kondisi) {
pernyataan1;
pernyataan2;
...;
}
2. Pernyataan If-Else
Pernyataan if mempunyai pengertian Jika kondisi bernilai benar, maka
pernyataan-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan
mengerjakan pernyataan-2. Dari pengertian tersebut dapat dilihat di
diagram alir pada gambar 2.
if (kondisi)
pernyataan1;
else
pernyataan2;
3. If-Else Bertingkat
Bentuk dari if-else dapat digunakan secara bertingkat. Ada beberapa
bentuk if-else bertingkat, antara lain nested if dan if-else if.
i. Nested If
Nested if merupakan pernyataan yang berada di dalam
pernyataan if yang lain. Disebut juga if bersarang. Eksekusinya
memperhatikan pernyataan if yang mewadahi pernyataan if yang
ada.
Bentuk umum dari pernyataan ini adalah:
if (kondisi1)
if (kondisi2)
pernyataan;
else //untuk kondisi1
pernyataan;
ii. If-Else If
Bentuk ini merupakan penggunaan bentuk if-else secara
majemuk. Pernyataan if pada else if akan dieksekusi jika hasil
pernyataan if sebelumnya bernilai false.
Bentuk umum dari pernyataan ini adalah:
if (kondisi1) {
pernyataan;
...;
}
else if {
pernyataan;
...;
}
else {
pernyataan;
...;
}
4. Pernyataan Switch-Case
Bentuk switch-case merupakan pernyataan yang dirancang khusus untuk
menanggani pengambilan keputusan yang melibatkan sejumlah atau
banyak alternatif. Pernyataan switch-case ini memiliki kegunaan yang
4
int main ()
{
int a = 10;
if (a < 20)
{
cout << "a kurang dari 20" << endl;
}
cout << "nilai a adalah : " << a << endl;
5
return 0;
}
Keluaran program :
a = 10
0 1
a kurang dari 20 a > 20 a lebih dari 20
Penjelasan program :
Nama program tersebut adalah If Tunggal, yang dibuat dengan bahasa
pemrograman C++ dan pengompilasi MinGW Developer Studio. Program
tersebut berfungsi untuk melakukan pembandingan terhadap angka 20.
Inputan program tersebut berasal dari programmer.
2. Latihan 2
Nama program : Ganjil-Genap dengan Modulus
Bahasa pemrograman : C++
Pengompilasi : MinGW Developer Studio
Skrip program :
#include <iostream.h>
#include <conio.h>
int main()
{
int bil;
6
if (bil % 2 == 0)
{
cout << "\nDigit NIM Anda adalah bilangan GENAP" <<
endl;
}
else
{
cout << "\nDigit NIM Anda adalah bilangan GANJIL" <<
endl;
}
getch();
}
Keluaran program :
Penjelasan program :
Nama program tersebut adalah Ganjil-Genap dengan Modulus, yang dibuat
dengan bahasa pemrograman C++ dan pengompilasi MinGW Developer
Studio. Program tersebut berfungsi untuk menentukan apakah NIM ganjil
atau genap. Inputan program tersebut berasal dari user.
3. Latihan 3
Nama program : If-Else Bertingkat
Bahasa pemrograman : C++
7
int main()
{
int x;
if (x >=10)
{
if (x <= 20)
std::cout << "\nNilai " << x << " ada di antara 10 dan 20";
else
std::cout << "\nNilai " << x << " lebih dari 20";
}
else
{
std::cout << "\nNilai " << x << " kurang dari 10";
}
return 0;
}
Keluaran program :
>20 <20
Nilai a lebih dari 20 Jika a Nilai a kurg dari 20
8
Penjelasan program :
Nama program tersebut adalah If-Else Bertingkat, yang dibuat dengan
bahasa pemrograman C++ dan pengompilasi MinGW Developer Studio.
Program tersebut berfungsi untuk melakukan pembandingan sebuah angka
terhadap angka 20. Inputan program tersebut berasal dari user.
4. Latihan 4
Nama program : Operasi Logika
Bahasa pemrograman : C++
Pengompilasi : MinGW Developer Studio
Skrip program :
#include <iostream.h>
int main ()
{
int x, y;
std::cout << "Masukkan sebuah bilangan bulat : ";
std::cin >> x;
Penjelasan program :
Nama program tersebut adalah Operasi Logika, yang dibuat dengan bahasa
pemrograman C++ dan pengompilasi MinGW Developer Studio. Program
tersebut akan menunjukkan positif atau apabila salah satu nilai dari inputan
berupa positif. Inputan program tersebut berasal dari user.
5. Latihan 5
Nama program : Switch-Case Menentukan Bulan
Bahasa pemrograman : C++
Pengompilasi : MinGW Developer Studio
Skrip program :
#include <iostream.h>
using namespace std;
int main()
{
int bulan;
switch(bulan){
case 1:
cout << "The 1st month is January" << endl;
break;
case 2:
cout << "The 2nd month is Feburary" << endl;
break;
10
case 3:
cout << "The 3rd month is March" << endl;
break;
case 4:
cout << "The 4th month is April" << endl;
break;
case 5:
cout << "The 5th month is May" << endl;
break;
case 6:
cout << "The 6th month is June" << endl;
break;
case 7:
cout << "The 7th month is July" << endl;
break;
case 8:
cout << "The 8th month is August" << endl;
break;
case 9:
cout << "The 9th month is September" << endl;
break;
case 10:
cout << "The 10th month is October" << endl;
break;
case 11:
cout << "The 11th month is November" << endl;
break;
case 12:
cout << "The 12th month is December" << endl;
break;
default:
cout << "Invalid month! \nMake sure your input is
correct.";
}
return 0;
}
Keluaran program :
start
read bulan a
11
a b
bulan=3
Mar bulan=9 Sep
b end
Penjelasan program :
Nama program tersebut adalah Switch-Case Menentukan Bulan, yang
dibuat dengan bahasa pemrograman C++ dan pengompilasi MinGW
Developer Studio. Program tersebut berfungsi untuk menunjukkan bulan
yang dimaksud sesuai angka urutan bulan yang diinputkan. Inputan program
tersebut berasal dari user.
6. Latihan 6
Nama program : Switch-Case Menentukan Nilai
Bahasa pemrograman : C++
Pengompilasi : MinGW Developer Studio
12
Skrip program :
#include <iostream.h>
using namespace std;
int main()
{
char nilai;
switch(nilai)
{
case 'A':
case 'a':
cout << "Excellent! :)" << endl;
break;
case 'B':
case 'b':
cout << "Well done :)" << endl;
break;
case 'C':
case 'c':
cout << "You passed." << endl;
break;
case 'D':
case 'd':
cout << "Better try again." << endl;
break;
case 'E':
case 'e':
cout << "Sorry, you failed :(" << endl;
break;
default:
cout << "Invalid grade" << endl;
break;
}
cout << "Your grade is " << nilai << endl;
return 0;
}
Keluaran program :
13
Nilai = A
Excellent
Nilai = B
Well done
Nilai = C
You passed
Nilai = D
Penjelasan program :
Nama program tersebut adalah Switch-Case Menentukan Nilai, yang dibuat
dengan bahasa pemrograman C++ dan pengompilasi MinGW Developer
Studio. Program tersebut berfungsi untuk menentukan nilai yang dimaksud
sesuai rentang nilai yang diinputkan. Inputan program tersebut berasal dari
user.
14
7. Praktikum 1
Nama program : Aplikasi Pembelian
Bahasa pemrograman : C++
Pengompilasi : MinGW Developer Studio
Skrip program :
#include <conio.h>
#include <iostream.h>
int main()
{
double a, b, c = 0, d = 0, e = 0, f = 0, g = 0;
//Deklarasi
char pembeli[10];
d = a + b + c;
e = d * 0.9;
f = d * 0.8;
g = d * 0.7;
cout << "\nTotal belanja: " << d << endl;
if (d < 75000){
cout << "Selamat, Anda mendapat diskon 10% " <<
endl;
cout << "Total setelah didiskon = " << e << endl;
}
else if (d <= 100000 && d >= 75000) {
cout << "Selamat, Anda mendapat diskon 20% " <<
endl;
cout << "Total setelah didiskon = " << f << endl;
}
else {
cout << "Selamat, Anda mendapat diskon 30% " <<
endl;
cout << "Total setelah didiskon = " << g << endl;
}
Keluaran program :
A B
A B
Penjelasan program :
Nama program tersebut adalah Aplikasi Pembelian, yang dibuat dengan
bahasa pemrograman C++ dan pengompilasi MinGW Developer Studio.
Program tersebut berfungsi untuk menentukan diskon dan total uang yang
harus dibayar pembeli/user dalam sebuah transaksi di sebuah toko. Inputan
program tersebut berasal dari user.
8. Praktikum 2
Nama program : Aplikasi Penggajian
Bahasa pemrograman : C++
16
d = a;
e = 15000 + (0.15 * d);
f = 30000 + (0.20 * d);
g = 50000 + (0.30 * d);
if (d <= 60000){
cout << "\nUang jasa Anda Rp15.000 + komisi 15%" <<
endl;
cout << "Total perolehan Anda = Rp" << e << endl;
}
else if (d <= 100000 && d > 60000) {
cout << "\nUang jasa Anda Rp30.000 + komisi 20%" <<
endl;
cout << "Total perolehan Anda = Rp" << f << endl;
}
else {
cout << "\nUang jasa Anda Rp50.000 + komisi 30%" <<
endl;
cout << "Total setelah didiskon = " << g << endl;
}
A B
A
B
Penjelasan program :
Nama program tersebut adalah Aplikasi Penggajian, yang dibuat dengan
bahasa pemrograman C++ dan pengompilasi MinGW Developer Studio.
Program tersebut berfungsi untuk menentukan berapa besaran gaji seorang
salesman per hari sesuai dengan hasil penjualan yang ia lakukan. Inputan
program tersebut berasal dari user.
9. Tugas Rumah 1
Nama program : Penilaian Teknik Elektro UM
Bahasa pemrograman : C++
Pengompilasi : MinGW Developer Studio
Skrip program :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int main()
{
double akt, tug, uji, akhir, aktif, tugas, ujian;
char dosen[50], mahasiswa[50];
cout << "======================================";
cout << "\nAPLIKASI PENILAIAN TEKNIK ELEKTRO - UM";
cout << "\n======================================\n";
cout << "Nama Dosen : ";
cin >> dosen;
cout << "Nama Mahasiswa : ";
cin >> mahasiswa;
18
system("cls");
cout << "======================================";
cout << "\nAPLIKASI PENILAIAN TEKNIK ELEKTRO - UM";
cout << "\n======================================\n";
cout << "Nama Dosen : ";
cout << dosen;
cout << "\nNama Mahasiswa : ";
cout << mahasiswa;
cout << "\n\n";
if (akhir >= 0 && akhir <= 44)
{
cout << "Nilai E";
cout << "\nMaaf, Anda belum dapat diluluskan.
Tingkatkan terus belajar Anda.";
}
else if(akhir >= 45 && akhir <= 55)
{
cout << "Nilai D";
cout << "\nMaaf, Anda belum dapat diluluskan.
Tingkatkan terus belajar Anda.";
}
else if(akhir >= 56 && akhir <= 65)
{
cout << "Nilai C";
cout << "\nAnda lulus, tingkatkan lagi pencapaian
Anda.";
}
else if(akhir >= 66 && akhir <= 75)
{
cout << "Nilai B-";
cout << "\nAnda lulus dengan baik, tingkatkan terus
prestasi Anda.";
}
else if(akhir >= 76 && akhir <= 85)
{
cout << "Nilai B";
cout << "\nAnda lulus dengan baik, tingkatkan terus
prestasi Anda.";
}
else if(akhir >= 86 && akhir <= 90)
{
cout << "Nilai A-";
cout << "\nSelamat, Anda lulus dengan nilai yang
EXCELLENT!";
}
19
Penjelasan Program :
Pada program di atas jika misal diinputkan masukan nilai untuk keaktifan
100, tugas 90, dan nilai ujian 85. Maka program akan otomatis menghitung
dan memproses nilai akhir sesuai dengan rumus yang sudah ditentukan,
setelah diproses Nilai akhir langsung di konversi ke nilai mahasiswa A-.
int main()
{
cout<<"======================================\n";
cout<<"Selamat datang di Aplikasi Perhitungan\n";
cout<<"======================================\n";
int pil;
cout << "1. Menghitung Luas Bola \n";
cout << "2. Menghitung Luas Permukaan Kubus \n";
cout << "3. Menghitung Luas Permukaan Balok \n";
cout << "4. Menghitung Luas Permukaan Tabung \n";
cout << "5. Menghitung Luas Permukaan Kerucut \n";
cout << "6. Menghitung Luas Permukaan Limas Segiempat \n";
cout << "7. Mengetahui Tahun Kabisat \n";
cout<<"\nSilakan pilih jenis operasi (1-7) : ";
cin>>pil;
system("cls");
switch (pil)
{
case 1:
double jari, luas;
cout<<"==========================\n";
cout<<"Rumus Menghitung Luas Bola\n";
cout<<"==========================\n";
cout<<"Masukkan Nilai Jari-jari Bola : ";cin>>jari;
luas=4/3*3.14*jari*jari;
cout<<"\n=====================================\n";
cout<<"Luas Bola = ";cout<<luas;
break;
22
case 2:
int lkubus, sisi;
cout<<"===============================\n";
cout<<"Menghitung Luas Permukaan Kubus\n";
cout<<"===============================\n";
cout<<"Masukkan Sisi Kubus : ";cin>>sisi;
lkubus=6*(sisi*sisi);
cout<<"\n===============================\n";
cout<<"Luas Permukaan Kubus = ";cout<<lkubus;
break;
case 3:
int lbalok, panjang, lebar, tinggi;
cout<<"===============================\n";
cout<<"Menghitung Luas Permukaan Balok\n";
cout<<"===============================\n";
cout<<"Masukkan Panjang Balok : ";cin>>panjang;
cout<<"Masukkan Lebar Balok : ";cin>>lebar;
cout<<"Masukkan Tinggi Balok : ";cin>>tinggi;
lbalok=2*(panjang*lebar+panjang*tinggi+lebar*tinggi);
cout<<"\n==================================\n";
cout<<"Luas Permukaan Balok = ";cout<<lbalok;
break;
case 4:
double jari1, tinggi1, ltabung;
cout<<"================================\n";
cout<<"Menghitung Luas Permukaan Tabung\n";
cout<<"================================\n";
cout<<"Masukkan Jari-jari Tabung : ";cin>>jari1;
cout<<"Masukkan Tinggi Tabung : ";cin>>tinggi1;
ltabung=2*3.14*jari1*(jari+tinggi1);
cout<<"\n=================================\n";
cout<<"Luas Permukaan Tabung = ";cout<<ltabung;
break;
case 5:
double jari2, sisi1, lkerucut;
cout<<"=================================\n";
cout<<"Menghitung Luas Permukaan Kerucut\n";
cout<<"=================================\n";
cout<<"Masukkan Jari-jari Kerucut : ";cin>>jari2;
cout<<"Masukkan Sisi Miring Kerucut : ";cin>>sisi1;
lkerucut=3.14*jari2*(sisi1+jari2);
cout<<"\n================================\n";
cout<<"Luas Permukaan Kerucut = ";cout<<lkerucut;
break;
case 6:
double ps, t, luas_sgi3, lp_lim;
cout <<
"===================================================\n";
cout << "Menghitung Luas Permukaan Limas Segiempat
(Persegi)\n";
cout <<
"===================================================\n";
23
luas_sgi3 = ((ps*(sqrt(((ps/2)*(ps/2))+(t*t))))/2);
lp_lim = ((ps*ps)+(4*luas_sgi3));
cout<<"Luas Permukaan Limas : " <<
lp_lim << endl;
cout<<"\n";
break;
case 7:
int tahun;
cout<<"========================\n";
cout<<"Menghitung Tahun Kabisat\n";
cout<<"========================\n";
cout<<"Masukkan Tahun : ";cin>>tahun;
cout<<"\n========================\n";
if(tahun%4!=0)
cout<<"Tahun "<<tahun<<" bukanlah Tahun
Kabisat"<<endl;
else if (tahun%4==0)
cout<<"Tahun "<<tahun<<" adalah Tahun
Kabisat"<<endl;
break;
}
getch();
}
Keluaran program :
24
Penjelasan Program :
Program ini mengandung 7 rumus yaitu Luas Bola, Luas Permukaan Kubus,
Luas Permukaan Balok, Luas Permukaan Tabung, Luas Permukaan
Kerucut, luas permukaan limas segiempat, dan perhitungan tahun kabisat.
Dalam program diambil contoh luas permukaan limas segitiga maka
pertama akan diminta untuk memasukkan nilai panjang, nilai lebar, nilai
tinggi. Kemudian baru setelah itu di proses dengan rumus luas permukaan
limas segiempat. Setelah itu baru ditampilkan hasil akhirnya.
D. Kesimpulan
1. Penulisan kondisi harus di dalam kurung () dan berupa ekspresi relasi
dan pernyataan tersebut dapat berupa sebuah pernyataan tunggal,
pernyataan majemuk atau if (kondisi), pernyataan pernyataan kosong, jika
pemakaian if diikuti dengan pernyataan majemuk.
2. If else pernyataan-1 dan pernyataan-2 dapat berupa sebuah pernyataan
tunggal, pernyataan majemuk atau pernyataan kosong.
3. Nested if merupakan pernyataan yang berada di dalam pernyataan yang lain.
4. Bentuk dari if-else bertingkat sebenarnya mirip dengan nested if.
5. Keuntungan penggunaan if-else bertingkat dibanding dengan nested if
adalah bentuk penulisan yang lebih sederhana.
6. Pernyataan case ini memiliki kegunaan yang sama seperti if else
bertingkat, tetapi untuk memeriksa data yang bertipe karakter atau integer.
7. Setiap cabang akan dijalankan jika syarat nilai konstanta terpenuhi dan
default akan dijalankan jika semua cabang diatasnya tidak terpenuhi.
8. Pernyataan break menunjukkan siap keluar dari switch. jika pernyataan ini
tidak ada, maka program akan diteruskan ke cabang-cabang yang lainnya.
E. Daftar Rujukan
1. Puspita, Candra Adi. 2014. Pemrograman Dasar. Malang: SMK Negeri 8
Malang.
2. Tim Asisten Dosen. 2016. Modul 2: Operator. Malang: Teknik Elektro
Universitas Negeri Malang.