Dokumen tersebut membahas tentang konstruksi pengambilan keputusan (decision making constructs) dalam bahasa C++, meliputi perintah if, if-else, switch, dan pengulangan (loops) seperti for, do-while, dan while.
Panduan Lengkap tentang Situs Toto: Apa yang Perlu Anda Ketahui
Pertemuan iv
1. 1
DECISION MAKING
CONSTRUCTS
Struktur ini digunakan untuk menguji suatu kondisi, kemudian
melaksana- kan satu urutan perintah.
Konstruksi pilihan (decision making constructs) dalam C++ meliputi :
Perintah if.
Perintah if - else.
Perintah switch.
Perintah if
C++ tidak memiliki kata kunci (Keyword) then pada
konstruksi perintah if.
Syntax :
if ( kondisi )
pernyataan;
atau
2. 2
if ( kondisi )
{
pernyataan_1;
pernyataan_2;
…
pernyataan_n;
}
Contoh :
- if ( detik == 60 ) menit = menit + 1 ;
- if ( Angka % 2 == 0 )
cout << “Bilangan Genap ! n”;
- if ( sisi > 0 )
{
Luas = Panjang * Lebar;
Isi = Luas * Tinggi; }
3. 3
Kondisi digunakan untuk menentu- kan pengambilan
keputusan, dan operator yang digunakan pada kondisi
adalah Relational dan Logical Operators.
Pernyataan dapat berupa sebuah pernyataan ataupun
pernyataan majemuk atau Blok Pernyataan (terdiri dari
dua atau lebih pernyataan). Bagian ini dijalankan hanya
jika kondisi bernilai benar (bernilai tidak sama dengan NOL).
Pernyataan majemuk (Blok Pernyataan) harus diapit
tanda { dan }.
Contoh Program C++ :
// -- Prog-4-1.cpp - Pernyataan if
#include <iostream.h>
#include <conio.h>
void main()
{
int Angka; // Deklarasi Variabel
clrscr(); // Hapus Layar
// Memasukkan data dari keyboard
cout << "Masukkan bilangan bulat = ";
cin >> Angka;
4. 4
// Menguji dan Menampilkan data
if ( Angka % 2 ) // if ( Angka % 2 != 0 )
cout << "Bilangan Ganjil ! n";
getch();
}
Perintah if – else
Perintah ini memberikan satu alternatif dari dua
kemungkinan, kemudian diikuti dengan urutan perintah sebagai hasil
uji boolean.
Syntax :
if ( kondisi )
{
blok_pernyataan_1;
}
else
{ blok_pernyataan_2; }
5. 5
Pada bentuk ini, bila kondisi bernilai benar (tidak sama dengan NOL) maka
blok_-pernyataan_1 akan dijalankan. Bilakondisi bernilai salah
(sama dengan NOL ) maka blok_pernyataan_2 yang akan
dijalankan.
Contoh :
if ( Angka % 2 != 0 )
cout << “Bilangan Ganjil ! n”;
else
cout << “Bilangan Genap ! n”;
atau
if ( Angka % 2 )
cout << “Bilangan Ganjil ! n”;
else
cout << “Bilangan Genap ! n
6. 6
if ( Pembagi ) { // if ( Pembagi != 0 )
Hasil = Nilai / Pembagi;
cout << “Hasil bagi = “ << Hasil << ‘ n’; }
else {
Hasil = 0;
cout << “Hasil tidak ada – pembagi = “<< Pembagi << ‘n’; }
Contoh program C++ :
#include <iostream.h>
#include <conio.h>
#include <ctype.h>
int main()
{
char Kar; // Deklarasi Variabel
clrscr(); // Hapus Layar
cout << "Masukkan satu karakter = "; cin >> Kar;
7. Constructs - Yessy Asri 7
Kar = toupper( Kar ); // ubah isi Kar menjadi huruf besar
if ( Kar >= ‘A’ && Kar <= ‘Z’ )
cout << "Masukan Anda adalah huruf ! n";
else
cout << “Masukan Anda bukan huruf ! n”;
getch();
return 0;
}
Perintah Multiple if – else
C++ memberikan fasilitas nested if – else untuk mendukung
fleksibilitas dalam program aplikasi.
Syntax :
if ( kondisi_1 )
{ blok_perintah_1; }
else if ( kondisi_2 )
{ blok_perintah_2; }
else if ( kondisi_3 )
{ blok_perintah_3; }
…
else
{ blok_perintah_n; }
8. 8
Contoh :
float Nilai;
cout << “Masukkan Nilai ujian = “; cin >> Nilai;
if ( Nilai >= 85 && Nilai <= 100 )
cout << “Grade A n”;
else if ( Nilai >= 75 )
cout << “Grade B n”;
else if ( Nilai >= 65 )
cout << “Grade C n”;
else if ( Nilai >= 55 )
cout << “Grade D n”;
else
cout << “Grade E n”;
9. 9
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void main()
{
char Kar;
clrscr(); // Hapus Layar
cout << “Masukkan satu karakter : “; cin >> Kar;
if ( Kar >= ‘A’ && Kar <= ‘Z’ )
cout << “Masukan Anda adalah huruf besar n”;
else if ( Kar >= ‘a’ && Kar <= ‘z’ )
cout << “Masukan Anda adalah huruf kecil n”;
else if ( Kar >= ‘0’ && Kar <= ‘9’ )
cout << “Masukan Anda adalah satu angka n”;
else
cout << “Masukan Anda bukan alphanumericn”;
getch();
}
10. 10
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void main()
{
char Kar;
clrscr(); // Hapus Layar
cout << “Masukkan satu karakter : “; cin >> Kar;
if ( Kar >= ‘A’ && Kar <= ‘Z’ )
cout << “Masukan Anda adalah huruf besar n”;
else if ( Kar >= ‘a’ && Kar <= ‘z’ )
cout << “Masukan Anda adalah huruf kecil n”;
else if ( Kar >= ‘0’ && Kar <= ‘9’ )
cout << “Masukan Anda adalah satu angka n”;
else
cout << “Masukan Anda bukan alphanumeric
getch(); }
12. 12
Bentuk Umum IF Bersarang
if (kondisi1)
if (kondisi2)
….
if (kondisi-n) statemen;
else
statement;
else
statement;
else
statement;
Deskripsi
1. input a dan b
2. if (a < 10)
if (b > 8) then
{ c a + b
wite (c) }
else { c a – b
write (c) }
else { c a * b
write (c) }
If tersarang (nested if) merupakan bentuk dari suatu statement if yang berada
di dalam
lingkungan statement if lainnya. Bentuk notasi algoritma statement if tersarang
adalah sebagai berikut:
13. Constructs - Yessy Asri 13
Contoh:
#include <stdio.h>
#include <conio.h>
main()
{
int a, b,c;
clrscr();
cout<<“masukan nilai a dan b : ";
cin>>a; cin>>b;
if (a < 10)
if (b > 8)
{ c = a + b;
printf (" nilai c = %d",c);}
else {c = a - b;
printf (" nilai c = %d",c);}
else {c = a * b;
printf (" nilai c = %d",c);}
getche();
}
14. Constructs - Yessy Asri 14
Soal
Susun program untuk menginput 4 (empat) buah bilangan bulat,
(dianggap ketiga buah bilangan tersebut nilainya tidak sama satu
dengan yang lain), kemudian mencetak salah satu bilangan yang
nilainya terbesar. Menggunakan Nested If
18. Constructs - Yessy Asri 18
Perintah switch
Perintah ini memiliki bentuk switch – case, yang digunakan untuk
pilihan berjumlah banyak.
Perintah tersebut di atas tidak dianjurkan pada
pilihan yang melibatkan jangkauan nilai (range ), tetapi
dianjurkan pada pilihan berupa konstanta dan banyak,
misalnya: untuk memilih menu.
Syntax :
switch ( pernyataan )
{
case konstan_1:
blok_pernyataan_1;
break ;
case konstan_2:
blok_pernyataan_2;
break ;
…
default:
blok_pernyataan_n;
}
19. Constructs - Yessy Asri 19
Hal – hal yang perlu diperhatikan adalah :
1.Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak
boleh diikuti oleh ekspresi ataupun variable.
2.Konstanta yang digunakan bertipe int atau char
3.Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan
konstanta2 maka pernyataan2, pernyataan3 sampai dengan pernyataan
lain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break;.
4.Jika keyword break digunakan maka setelah pernyataan2 dieksekusi
program langsung keluar dari pernyataan switch.
5.Selain digunakan dalam switch, keyword break banyak digunakan
untuk keluar dari pernyataan yang berulang ( looping ).
6.Pernyataan lain dieksekusi jika konstanta1 sampai konstantaN tidak
ada yang memenuhi ekspresi
20. Constructs - Yessy Asri 20
//Program menu hitung Segi empat
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<iomanip.h>
void main()
{
int pil;
float panjang,lebar,luas,kel,diag;
clrscr();
cout<<"============================="<<endl;
cout<<setw(5)<<""<<"MENU UTAMA"<< endl;
cout<<"============================="<<endl;
cout<<"1. Hitung Luas "<<endl;
cout<<"2. Hitung Keliling "<<endl;
cout<<"3. Hitung Diagonal "<<endl;
cout<<"4. Keluar Program "<<endl;
cout<<"============================="<<endl;
cout<<"Pilih nomor menu (1/2/3/4): ";
cin >> pil;
cout<<"============================="<<endl;
22. Constructs - Yessy Asri 22
case 3:
{
cout<<"Panjang ? ";cin >> panjang;
cout<<"Lebar ? ";cin >> lebar;
diag = sqrt((panjang*panjang)+(lebar*lebar));
cout<<"Diagonal segiempat = " <<diag<<endl;
break;
}
case 4:
cout<<"Keluar program...bye2" << endl;
break;
default:
cout<<"Anda salah memilih nomor menu..!!!"
<< endl;
break;
}
}
23. 23
#include <stdio.h>
#include <conio.h>
void main()
{
int nil,a;
clrscr();
cout<<“masukkan nilai 1-3 ? ";
cin>>nil;
cout<<“masukkan nilai a : “;
cin>>a;
switch (nil)
{
case 1 :
a = a + 2;
break;
case 2 :
a = a + 4;
// break;
case 3 :
a = a + 6;
break;
default:
cout<<“salah inputn";
}
cout<<"nilai a = “<<a;
getche();
}
25. 25
LOOPS
Pengulangan (Loops) merupakan fasilitas bahasa C++
yang mampu melakukan proses yang berulang, karena itu
komputer dapat mengerjakan proses berulang-ulang
dengan cepat, tepat dan tanpa lelah.
Konstruksi pengulangan dalam C++ meliputi :
Perintah for
Perintah do – while
Perintah while
For Loop
C++ memiliki dua jenis pengulangan for – fixed dan conditional.
Syntax :
for ( <inisialisasi variabel pengulangan>; <kondisi>;<penambahan/pengurangan> )
{ blok_pernyataan; }
26. 26
Contoh :
for ( int i = 0; i < 10; i++ )
cout << “Kuadrat dari “ << i << “ = “<< i * i << “n”;
·Contoh Program C++ :
#include <iostream.h>
main()
{ double sum, sumx=0.0;
int first, last, temp;
cout << “Masukkan bilangan pertama = “; cin >> first;
cout << “Masukkan bilangan kedua = “; cin >> last;
if ( first > last )
{ temp = first;
first = last;
last = temp;
}
for ( int i = first; i <= last; i++ )
{ sum++; sumx += (double) i; }
27. 27
cout << “Jumlah semua bilangan dari “ << first << “ s/d “ << last << “ = “
<< sumx << “n”;
cout << “Rata-rata nilai = “ << sumx / sum;
return 0;
}
Infinite Loop
C++ mengijinkan pembentukan infinite loop / open loop,
dengan menghilangkan ketiga parameter yang ada pada for
loop.
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
#include <ctype.h>
void main()
{ char ch;
double x, y;
28. 28
for ( ; ; )
{ cout << “nMasukkan satu bilangan = “; cin >> x;
if ( x != 0 )
{ y = 1 / x;
cout << “1/(“ << x << “) = “ << y << “n”;
cout << “Hitung lagi ? (Y/N) .. “; cin >> ch;
ch = toupper (ch);
if ( ch != ‘Y’ ) break ;
}
else
cout << “Error: cannot accept 0 n”;
}
getch();
}
do-while Loop
Loop ini dikenal dengan nama conditional loop, dimana
kondisi pengulangan diperiksa pada akhir blok loop.
29. 29
Syntax :
do
{ blok_pernyataan; }
while ( kondisi );
Contoh :
int i = 2;
do
{ cout << i << “^2 = “ << i * i << “n”; }
while ( ++i < 11 );
int i = 0;
do
{ cout << “Selamat Belajar PBO n”;
if ( i % 20 == 0 ) { i = 0; getch(); }
} while ( i++ >= 0 );
30. 30
While Loop
Loop ini juga merupakan conditional loop, dimana kondisi
pengulangan diuji pada awal blok pengulangan.
Pada pengulangan dengan perintah while loop kemungkinan
tidak ada satu pernyataanpun yang akan dikerjakan bila
kondisinya bernilai salah (sama dengan nol).
Sedang pada pengulangan menggunakan do-while
loop, memungkinkan minimal ada satu pernyataan yang
akan dikerjakan bila kondisinya bernilai salah (sama dengan
nol).
Syntax :
while ( kondisi )
{
blok_pernyataan;
}
31. 31
Contoh Program C++:
#include <iostream.h>
#include <conio.h>
void main()
{ double
int first, last, temp, i;
cout << “Masukkan bilangan pertama = “; cin >> first;
cout << “Masukkan bilangan kedua = “; cin >> last;
if ( first > last )
{ temp = first; first = last; last = temp; }
i = first;
while ( i <= last )
{ sum++;
sumx += (double) i++;
}
32. 32
// Menampilkan Hasil
cout << “Jumlah semua bilangan dari “<< first << “ s/d “ << last << “ = “
<< sumx << “n”;
cout << “Rata -rata nilai = “ << sumx / sum;
getch();
}
Latihan :
Buat program C++ dengan menggunakan while
loop untuk menghitung dan menampilkan jumlah
bilangan genap dari 11 s/d 121.
33. 33
1. Buat flowchart untuk menentukan bilangan terbesar diantara 2 variabel
setelah itu buat flowchart kembali untuk 3 variabel
2. Dalam Test masuk terdapat 2 mata kuliah x dan y. Prestasi dihitung 60%
dari x dan 40% dari yCtetapi lebih atau sama dengan 50. Selain itu tidak
diterima. Tentukan bagaimana keadaan seorang calon. Buat
programnya.
3. Buatlah Program untuk menghitung total pembayaran dari pembelian
seorang pelanggan toko. Dalam masalah ini ada ketentuan, apabila pembelian
pelanggan tersebut sama dengan atau melebihi 100.000 , maka pelanggan
mendapat discount 10%, jika tidak pelanggan tersebut hanya mendapat
discount 5 %
4. Buatlah Program menu untuk menghitung nilai konversi uang dalam bentuk
Dollar, Pesso dan Yen. Adapun inputannya adalah Rupiah dan pilihan konversi
dengan rumus :
dollar = Rupiah / 10000
Yen = Rupiah / 5000
Pesso = Rupiah / 3000
34. Constructs - Yessy Asri 34
PRE TEST
1.Buatlah Program Untuk Mendeteksi Suatu bilangan apakah bilangan ganjil
atau bilangan genap
Contoh:
Masukkan Angka: 12
Angka yang anda masukkan merupakan bilangan genap
35. Constructs - Yessy Asri 35
#include<iostream.h>
#include<conio.h>
void main()
{
float nilai;
char indeks;
clrscr();
cout<<”Nilai ujian ? “;cin>>nilai;
if(nilai > 80)
indeks = ‘A’;
else
if(nilai > 69)
indeks = ‘B’;
else
if(nilai > 59)
indeks = ‘C’;
else
if(nilai > 49)
indeks = ‘D’;
else //nilai ≤ 49
indeks = ‘E’;
cout<<”Indeks = “<<indeks<<endl;
}
2. Pada Program disamping,
Apakah Output yang dihasilkan
bernilai ‘A’ jika kita menginput
nilai ujian =101? mengapa
demikian? Jelaskan! Dan
perbaikilah perogram tersebut
sehingga jika menginput nilai
>100 maka output yang
dihasilkan“Masukkan anda
salah”