Anda di halaman 1dari 68

Bab VII

Algoritma dan Pemrograman


Tujuan Pembelajaran
1. Menulis dan membaca algoritma sesuai
dengan notasi, menggunakan bahasa
pemrograman ketika melakukan proses
pemrograman.
2. Menulis program sederhana dengan satu
program utama.
3. Mengombinasikan struktur kontrol dan
mengetahui fungsinya.
A. Algoritma
Algoritma merupakan langkah
terstruktur dan terbatas yang logis
untuk memecahkan permasalahan
komputasi. Suatu algoritma
menekankan langkah yang logis dan
sistematis (terstruktur) untuk
menyelesaikan suatu masalah.
Terdapat beberapa cara menyajikan
algoritma, di antaranya simbol instruksi,
diagram alir (flowchart), dan kode semu
(pseudocode).
1. Simbol Instruksi
Simbol instruksi merupakan salah satu cara untuk menyajikan
atau menuliskan proses berjalannya suatu algoritma. Simbol-
simbol yang dipakai adalah simbol yang sudah dikenal secara
umum.

Algoritma Volume Tabung


•Start
•Masukkan jari-jari r
•Masukkan tinggi t
•Deklarasikan pi (π) = 3,14
•Hitung volume V ← pi*r*r*t
•Tampilkan nilai V
•End
2. Diagram Alir (Flowchart)
Diagram alir atau yang lebih dikenal dengan flowchart merupakan arus
logika dari suatu data yang akan diproses dari awal sampai akhir suatu
program. Perhatikan beberapa simbol flowchart berikut.
Contoh flowchart
3. Kode Semu (Pseudocode)
Pseudocode merupakan salah satu penyajian algoritma dengan
menggunakan kode yang hampir mirip dengan kode
pemrograman yang sebenarnya. Perhatikan contoh pseudocode
pada gambar berikut.
2. Perbedaan Penulisan Bahasa C dan C++
#include <stdio.h>
Setiap melakukan // Prototipe fungsi
tipe_data nama_fungsi1 (parameter1, parameter2, ...);
penulisan program tipe_data nama_fungsi2 (parameter1, parameter2,...);
dalam bahasa C atau ...
// Fungsi Utama
C++ pasti memiliki int main(void){
Statement_yang_akan_dilakukan;
sebuah fungsi utama ...
return 0;
Bahasa C
dengan nama }

main(). Perhatikan
contoh program
#include <iostream>
menggunakan bahasa using namespace std;
C dan C++ pada // Prototipe fungsi
tipe_data nama_fungsi1 (parameter1, parameter2, ...);
gambar di samping. tipe_data nama_fungsi2 (parameter1, parameter2,...);
...
// Fungsi Utama
int main() {
Statement_yang_akan_dilakukan;
... Bahasa C++
return 0;
}
C. Bahasa Pemrograman C dan C++
• Bahasa C merupakan turunan dari
bahasa sebelumnya yaitu bahasa B.
Bahasa C awalnya dirancang atau
dibuat untuk bahasa pemrograman
pada sistem UNIX.
• Bahasa C++ ditemukan pertama kali
oleh Bjarne Stroustrup pada pada
awal tahun 1980-an di Bell lab. C++
adalah salah satu bahasa
pemrograman yang paling popular
dan terbukti banyak digunakan untuk
mengembangkan program aplikasi
berskala besar seperti games,
program sains, embedded system,
dan lain-lain.
b. Membuat Program “I Love C++”
Untuk memulai membuat program dalam bahasa C++ dengan
menggunakan Dev-C++, ikuti langkah-langkah berikut.
1) Jalankan software Dev-C++.
2) Pilih menu File  New  Source File.
3) Dalam Code Editor, tuliskan kode program seperti yang
ditunjukkan pada gambar berikut.
#include <iostream>
using namespace std;
int main (){
cout << "I Love C++" <<endl;

return 0;
}

4) Pilih menu File  Save untuk melakukan penyimpanan file


program.
5) Tulis nama file dengan “love.cpp”, kemudian klik save atau simpan.
2. Perbedaan Penulisan Bahasa C dan C++
#include <stdio.h>
Setiap melakukan // Prototipe fungsi
tipe_data nama_fungsi1 (parameter1, parameter2, ...);
penulisan program tipe_data nama_fungsi2 (parameter1, parameter2,...);
dalam bahasa C atau ...
// Fungsi Utama
C++ pasti memiliki int main(void){
Statement_yang_akan_dilakukan;
sebuah fungsi utama ...
return 0;
Bahasa C
dengan nama }

main(). Perhatikan
contoh program
#include <iostream>
menggunakan bahasa using namespace std;
C dan C++ pada // Prototipe fungsi
tipe_data nama_fungsi1 (parameter1, parameter2, ...);
gambar di samping. tipe_data nama_fungsi2 (parameter1, parameter2,...);
...
// Fungsi Utama
int main() {
Statement_yang_akan_dilakukan;
... Bahasa C++
return 0;
}
a. Program Menggunakan Bahasa C
Pada contoh berikut, program yang dibuat meminta user untuk
memasukkan suatu bilangan bulat. Selanjutnya, program akan
menampilkan kembali bilangan yang telah dimasukkan
sebelumnya. Untuk lebih jelasnya, perhatikan contoh program
dengan bahasa C pada gambar berikut.
#include <stdio.h>
int main(void){
int x;
/* Menampilkan teks untuk informasi */
printf("Masukkan bilangan bulat: ");
/* Membaca nilai dari keyboard dan menyimpannya ke
dalam variabel x */
scanf ("%d", &x);
/* Menampilkan nilai yang telah dimasukkan */
printf ("Bilangan yang telah dimasukkan adalah %d", x);
return 0;
}
b. Program Menggunakan Bahasa C++
C++ menyediakan file header untuk berbagai keperluan.
Sebagian besar file header dalam C++ standar sudah tidak
memiliki ekstensi .h, misalnya <iostream>, <string>, <cstring>,
<cstdlib>, dan sebagainya. Untuk lebih jelasnya, perhatikan
contoh program dengan bahasa C pada gambar berikut.
#include <iostream>
using namespace std;
int main (){
int x;
/* Menampilkan teks untuk informasi */
cout <<"Masukkan bilangan bulat: ";
/* Membaca nilai dari keyboard dan menyimpannya ke
dalam variabel x */
cin >> x;
/* Menampilkan nilai yang telah dimasukkan */
cout <<"Bilangan yang telah dimasukkan adalah " << x;
return 0;
}
Selanjutnya, eksekusi atau menjalankan program dengan menu
Execute  Run (F10). Hasilnya akan tampak seperti gambar
berikut.

I Love C++
-------------------------------
Process exited after 0.19 seconds with return value 0
Press any key to continue ...

Nilai 0 yang terdapat pada gambar di atas menunjukkan bahwa


program tersebut dihentikan secara normal (tanpa kesalahan).
2. Komentar Program
Komentar adalah bagian dari kode program yang tidak ikut
dibaca pada saat proses kompilasi. Dalam bahasa C++, komentar
dibagi menjadi dua jenis yaitu komentar yang hanya terdiri dari
satu baris dan komentar yang terdiri dari beberapa baris.
Perhatikan gambar berikut.

// ini adalah komentar untuk satu baris

Tanda // untuk komentar satu baris

/* ini adalah komentar yang banyaknya satu baris */


/* ini adalah komentar yang panjang
Yang banyaknya lebih dari satu baris
Bisa panjang dan diakhiri dengan tanda seperti ini
*/

Tanda /* untuk komentar lebih dari satu baris


c. Kompilasi dan Eksekusi Program
Setelah membuat kode program dan menyimpan di direktori
kerja, langkah berikutnya yaitu melakukan kompilasi terhadap
kode program tersebut. Pada software Dev-C++, klik menu
Execute  Compile (F9) untuk melakukan kompilasi.
e. Identifier tidak boleh menggunakan kata kunci (keyword)
yang terdapat pada C++, seperti yang ditunjukkan pada pada
gambar berikut.
long break; // SALAH
//karena menggunakan kata kunci break
long return; // SALAH
//karena menggunakan kata kunci return

4. Konstanta
Konstanta merupakan salah satu jenis identifier yang bersifat
konstan atau tetap, artinya nilai dari konstanta yang terdapat di
dalam program tidak dapat diubah. Konstanta berguna untuk
menentukan nilai tetap, misalnya nilai pi (π), kecepatan cahaya
dan lainnya.
a. Menggunakan Preprocessor Directive #define

Perhatikan gambar berikut.


#include <iostream>
using namespace std;
int main (){
int A [5];
for (int C=0; C<5; C++){
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
// menampilkan nilai A[C]
cout << A[C] << endl; #include <iostream>
} using namespace std;
return 0; #define MAX 5
} int main (){
int A [MAX];
Mendefinisikan konstanta tanpa menggunakan // MAX = 10; //SALAH,
preporcessor directive #define // nilai konstanta tidak dapat diubah
for (int C=0; C<MAX; C++){
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
// menampilkan nilai A[C]
cout << A[C] << endl;
}
return 0;
}
Mendefinisikan konstanta menggunakan preporcessor directive #define
b. Menggunakan kata kunci const.
Perhatikan gambar berikut.
const tipe_data nama_konstanta=nilai-tetapan;

Bentuk umum penulisan const.

const double PI =3.14;


const int NILAI MAX =100;
const char MyChar =’A’;

Contoh pendeklarasian konstanta-konstanta

#include <iostream>
using namespace std;
const int MAX = 5;
int main (){
int A [MAX];
for (int C=0; C<MAX; C++){
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
// menampilkan nilai A[C]
cout << A[C] << endl;
}
return 0;
}

Implementasi kata kunci const.


5. Variabel
Berbeda dengan konstanta yang mempunyai nilai tetap, variabel
merupakan identifier yang mempunyai nilai dinamis. Arti kata
”dinamis” memiliki maksud bahwa nilai variabel tersebut dapat
diubah sesuai kebutuhan dalam program.
Perhatikan gambar berikut.
tipe_data nama_variabel;

Bentuk umum pendeklarasian variabel dalam C++

int A;
Contoh pendeklarasian variabel dalam C++

Gambar di atas menunjukkan pendeklarasian sebuah variabel


bertipe int dengan nama A. Melalui cara seperti tersebut,
variabel sudah dapat digunakan untuk menampung nilai-nilai
berupa bilangan bulat (tipe data int).
Jika ingin melakukan deklarasi beberapa variabel dengan tipe
sama, maka penulisannya dapat disingkat seperti yang
ditunjukkan pada gambar berikut.
tipe_data nama_variabel1, nama_variabel2,nama_variabel3;

Pendeklarasian beberapa variabel dalam C++

int A, B, C;

Contoh pendeklarasian beberapa variabel dalam C++

Dari contoh di atas, terdapat tiga buah variabel int yang


dideklarasikan, yaitu A, B dan C.
a. Inisialisasi Variabel
Inisialisasi dapat didefinisikan sebagai proses pengisian nilai awal
ke dalam suatu variabel. Dalam bahasa C++, pengisian nilai
dilakukan dengan menggunakan operator sama dengan (=).
tipe_data nama_variabel=nilai awal;
atau
tipe_data nama_variabel1=nilai awal1,
nama_variabel2=nilai_awal2, ….;

Bentuk umum inisialisasi variabel

1) Melakukan inisialisasi terhadap variabel A dengan nilai 9,


maka sintaksnya akan seperti gambar berikut.
int A=9; Inisialisasi satu variabel

2) Menginisialisasi lebih dari satu variabel, maka sintaksnya


akan seperti gambar berikut.
int A=10, B=15, C=25;
atau Inisialisasi lebih dari satu variabel
int A, B=15, C;
c. Identifier tidak boleh mengandung spasi, seperti yang
ditunjukkan pada gambar berikut.
int Bilangan Bulat; // SALAH, karena mengandung
spasi
int Bilangan_Bulat; // BENAR
int BilanganBulat; // BENAR
int _BilanganBulat; // BENAR

d. Identifier tidak boleh menggunakan karakter-karakter simbol


seperti ( #, @, ?, !, $, dan lain sebagainya ), seperti yang
ditunjukkan pada gambar berikut.
long !satu; // SALAH
long dua@; // SALAH
log ti#ga; // SALAH
e. Identifier tidak boleh menggunakan kata kunci (keyword)
yang terdapat pada C++, seperti yang ditunjukkan pada pada
gambar berikut.
long break; // SALAH
//karena menggunakan kata kunci break
long return; // SALAH
//karena menggunakan kata kunci return

4. Konstanta
Konstanta merupakan salah satu jenis identifier yang bersifat
konstan atau tetap, artinya nilai dari konstanta yang terdapat di
dalam program tidak dapat diubah. Konstanta berguna untuk
menentukan nilai tetap, misalnya nilai pi (π), kecepatan cahaya
dan lainnya.
a. Menggunakan Preprocessor Directive #define

Perhatikan gambar berikut.


#include <iostream>
using namespace std;
int main (){
int A [5];
for (int C=0; C<5; C++){
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
// menampilkan nilai A[C]
cout << A[C] << endl; #include <iostream>
} using namespace std;
return 0; #define MAX 5
} int main (){
int A [MAX];
Mendefinisikan konstanta tanpa menggunakan // MAX = 10; //SALAH,
preporcessor directive #define // nilai konstanta tidak dapat diubah
for (int C=0; C<MAX; C++){
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
// menampilkan nilai A[C]
cout << A[C] << endl;
}
return 0;
}
Mendefinisikan konstanta menggunakan preporcessor directive #define
b. Menggunakan kata kunci const.
Perhatikan gambar berikut.
const tipe_data nama_konstanta=nilai-tetapan;

Bentuk umum penulisan const.

const double PI =3.14;


const int NILAI MAX =100;
const char MyChar =’A’;

Contoh pendeklarasian konstanta-konstanta

#include <iostream>
using namespace std;
const int MAX = 5;
int main (){
int A [MAX];
for (int C=0; C<MAX; C++){
// mengisi nilai ke dalam A[C]
A[C] = C * 10;
// menampilkan nilai A[C]
cout << A[C] << endl;
}
return 0;
}

Implementasi kata kunci const.


5. Variabel
Berbeda dengan konstanta yang mempunyai nilai tetap, variabel
merupakan identifier yang mempunyai nilai dinamis. Arti kata
”dinamis” memiliki maksud bahwa nilai variabel tersebut dapat
diubah sesuai kebutuhan dalam program.
Perhatikan gambar berikut.
tipe_data nama_variabel;

Bentuk umum pendeklarasian variabel dalam C++

int A;
Contoh pendeklarasian variabel dalam C++

Gambar di atas menunjukkan pendeklarasian sebuah variabel


bertipe int dengan nama A. Melalui cara seperti tersebut,
variabel sudah dapat digunakan untuk menampung nilai-nilai
berupa bilangan bulat (tipe data int).
Jika ingin melakukan deklarasi beberapa variabel dengan tipe
sama, maka penulisannya dapat disingkat seperti yang
ditunjukkan pada gambar berikut.
tipe_data nama_variabel1, nama_variabel2,nama_variabel3;

Pendeklarasian beberapa variabel dalam C++

int A, B, C;

Contoh pendeklarasian beberapa variabel dalam C++

Dari contoh di atas, terdapat tiga buah variabel int yang


dideklarasikan, yaitu A, B dan C.
Perhatikan contoh program yang menggunakan tipe bilangan
bulat pada gambar berikut.
#include <iostream>
using namespace std;
int main () {
// Mendeklarasikan variabel x dengan tipe data int
int x;

// Melakukan assigment terhadap variabel x


x = 3;
cout << "Nilai x : "<<x;
return 0;
}
Contoh program yang menggunakan tipe integer

Nilai x : 3

Hasil program dengan menggunakan tipe integer


3) Tipe Logika (boolean)
#include <iostream>
Tipe logika (boolean) using namespace std;
adalah mempresentasikan int main() {
// Mendeklarasikan variabel y
data-data yang hanya // dengan tipe data bool
bool benar;
mengandung dua buah
// Meminta input dari user
nilai saja yaitu nilai logika int a, b;
cout << "Masukkan nilai a: "; cin >> a;
(boolean). Nilai logika cout << "Masukkan nilai b: "; cin >> b;

(boolean) terdiri dari nilai // Melakukan assignment terhadap variabel yang benar
benar (1) dan salah (0). benar = a > b;

Dalam bahasa C++ standar, if (benar == true) { // bisa ditulis: if (benar)


cout << "a lebih besar dari b";
tipe ini telah dinyatakan } else {
cout << "a lebih kecil dari atau sama dengan b";
dalam tipe bool, yang }
return 0;
nilainya dapat berupa true }

(benar) atau false (salah). Contoh program yang menggunakan tipe logika (boolean)
4) Tipe Karakter
Tipe karakter adalah tipe yang digunakan untuk
mempresentasikan data bertipe karakter seperti ‘A’, ‘a’, ‘9’,
‘&’, dan seterusnya. Tipe karakter selalu diapit oleh petik
tunggal, sedangkan kumpulan karakter diapit oleh tanda petik
ganda yang disebut sebagai string.
6. Tipe Data
Tipe data berfungsi untuk mempresentasikan jenis dari nilai yang
terdapat dalam suatu program. Dalam bahasa C++, tipe data
dapat dikelompokkan menjadi dua, yaitu tipe data dasar dan tipe
data bentukan.
a. Tipe data dasar dalam bahasa C++ dikelompokkan ke dalam
empat tipe, yaitu tipe bilangan bulat (integer), bilangan riil
(floating-point), logika (boolean), dan karakter.
b. Tipe data bentukan adalah tipe data yang didefinisikan
sendiri sesuai kebutuhan program yang akan dibuat.
Kelompok tipe data bentukan adalah tipe larik (array) dan
tipe terstruktur.
1) Tipe Bilangan Bulat (integer)
Tipe bilangan bulat atau integer digunakan untuk
mempresentasikan data numerik berupa bilangan bulat,
yaitu bilangan yang tidak mengandung angka di belakang
koma. Contoh bilangan bulat adalah 20, 45, 123 dan
seterusnya.
Perhatikan gambar berikut.
#include <iostream>
#include <cstring>
using namespace std;
int main() {

struct SISWA {
char NIS [9];
char Nama [25];
char Alamat [20];
char Kota [15];
};
SISWA A; // Mendeklarasikan variabel A
// yang bertipe SISWA
strcpy(A.NIS, "10299999");
strcpy(A.Nama, "Nur Alamsyah");
strcpy(A.Alamat, "Kayutangi");
strcpy(A.Kota, "Banjarmasin");

// Menampilkan nilai yang diisikan ke layar


cout << A.NIS << endl;
cout << A.Nama << endl;
cout << A.Alamat << endl;
cout << A.Kota << endl;

return 0;
}
Contoh program yang menggunakan tipe terstruktur
E. Ekspresi
• Ekspresi di dalam matematika terdiri dari operand (nilai yang
digunakan dalam suatu operasi matematika) dan operator
(instruksi yang digunakan untuk mendapatkan hasil dari suatu
operasi matematika).
• Ekspresi yang digunakan dalam pemrograman mirip dengan
operasi matematika, namun ditambahkan beberapa operator
untuk mempermudah ketika menulis program.
• Misalnya dalam penjumlahan 3 + 5, maka operasi matematika
penjumlahan tersebut terdiri dari 2 buah operand (3 dan 5)
dan 1 buah operator (+).
Perhatikan contoh program yang menggunakan tipe bilangan riil
(floating-point) pada gambar berikut.
#include <iostream>
using namespace std;
int main() {
// Mendeklarasikan variabel y
// dengan tipe data double
double y;

// Melakukan assignment terhadap y


y = 222.134;
cout<<"Nilai y: "<<y;
return 0;
}
Contoh program yang menggunakan tipe floating-point

Hasil yang diberikan dari program di atas, akan tampak seperti


gambar berikut.
Nilai y: 222.134

Hasil program yang menggunakan tipe floating-point


3) Tipe Logika (boolean)
#include <iostream>
Tipe logika (boolean) using namespace std;
adalah mempresentasikan int main() {
// Mendeklarasikan variabel y
data-data yang hanya // dengan tipe data bool
bool benar;
mengandung dua buah
// Meminta input dari user
nilai saja yaitu nilai logika int a, b;
cout << "Masukkan nilai a: "; cin >> a;
(boolean). Nilai logika cout << "Masukkan nilai b: "; cin >> b;

(boolean) terdiri dari nilai // Melakukan assignment terhadap variabel yang benar
benar (1) dan salah (0). benar = a > b;

Dalam bahasa C++ standar, if (benar == true) { // bisa ditulis: if (benar)


cout << "a lebih besar dari b";
tipe ini telah dinyatakan } else {
cout << "a lebih kecil dari atau sama dengan b";
dalam tipe bool, yang }
return 0;
nilainya dapat berupa true }

(benar) atau false (salah). Contoh program yang menggunakan tipe logika (boolean)
4) Tipe Karakter
Tipe karakter adalah tipe yang digunakan untuk
mempresentasikan data bertipe karakter seperti ‘A’, ‘a’, ‘9’,
‘&’, dan seterusnya. Tipe karakter selalu diapit oleh petik
tunggal, sedangkan kumpulan karakter diapit oleh tanda petik
ganda yang disebut sebagai string.
Perhatikan gambar berikut.
#include <iostream>
using namespace std;
int main() {
// Mendeklarasikan variabel Karakter
// dan mengisinya dengan nilai 'A'
char Karakter = 'A';

// Mendklarasikan variabel Teks


// dan mengisinya dengan nilai "Kata"
char* Teks = (char*) "Kata";
char TEKS [10] = "Coba";
cout << Karakter << endl;
cout << Teks << endl;
cout << TEKS << endl;

return 0;
}

Contoh program yang menggunakan tipe karakter

A
Kata
Coba

Hasil program yang menggunakan tipe karakter


5) Tipe Data Terstruktur
Tipe data terstruktur merupakan tipe data bentukan yang
menyimpan lebih dari satu variabel bertipe sama maupun
berbeda. Untuk membuat tipe data terstruktur harus
mendeklarasikannya dengan menggunakan kata kunci struct.

struct nama_struktur { tipe_data variabel1; tipe_data


variabel2;
...
};
Bentuk umum pendeklarasian tipe data struktur di dalam C++
Perhatikan gambar berikut.
#include <iostream>
#include <cstring>
using namespace std;
int main() {

struct SISWA {
char NIS [9];
char Nama [25];
char Alamat [20];
char Kota [15];
};
SISWA A; // Mendeklarasikan variabel A
// yang bertipe SISWA
strcpy(A.NIS, "10299999");
strcpy(A.Nama, "Nur Alamsyah");
strcpy(A.Alamat, "Kayutangi");
strcpy(A.Kota, "Banjarmasin");

// Menampilkan nilai yang diisikan ke layar


cout << A.NIS << endl;
cout << A.Nama << endl;
cout << A.Alamat << endl;
cout << A.Kota << endl;

return 0;
}
Contoh program yang menggunakan tipe terstruktur
Perhatikan contoh kode program penggunaan operator
relasional pada gambar berikut.
#include <iostream>
using namespace std;
int main (){
int a = 6, b = 7;
bool hasil;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
// menggunakan operator relasional
hasil = a > b;
cout << "a > b = " << hasil << endl;
hasil = a < b;
cout << "a < b = " << hasil << endl;
hasil = a >= b;
cout << "a >= b = " << hasil << endl;
hasil = a <= b;
cout << "a <= b = " << hasil << endl;
return 0;
}

Contoh program menggunakan operator relasional


e. Operator Kondisional (Ternary)
Operator kondisional adalah operator yang mengevaluasi
ekspresi dan memilih dua pilihan nilai.
Ekspresi ? true: false

Bentuk umum penulisan operator kondisional

#include <iostream>
using namespace std;
int main() {
int x = 7;

// menggunakan operator ternary


string hasil = x > 5 ? "true" : "false";

cout << "x > 5 adalah " << hasil << endl;

return 0;
}
Contoh program menggunakan operator ternary
F. Struktur Kontrol Keputusan
Kalian akan mempelajari tentang pengambilan keputusan dalam
sebuah program secara kondisional. Kondisional merupakan
suatu pilihan yang didasari dari kondisi tertentu. Sebagai contoh
dalam penentuan bilangan ganjil atau genap, maka ada aturan
sebagai berikut.
a. Jika bilangan dibagi 2 memiliki hasil 0, maka bilangan
tersebut genap.
b. Jika bilangan dibagi 2 memiliki hasil 1, maka bilangan
tersebut ganjil.
Proses tersebut merupakan salah satu contoh dari sebuah
pernyataan kondisional. Terdapat beberapa jenis struktur kontrol
keputusan, yaitu struktur kontrol keputusan if, if-else, if-else If,
switch, dan bersarang.
1. Struktur Kontrol Keputusan If
Struktur kontrol keputusan dengan menggunakan if adalah suatu
pernyataan kondisi yang digunakan untuk melakukan suatu
pengambilan keputusan terhadap dua kemungkinan. Berikut
beberapa pernyataan yang dapat menggambarkan kondisi if.
a. Jika banjir, maka sekolah diliburkan.
b. Jika sekolah diliburkan, maka siswa senang.
c. Jika ia termasuk kriteria pegawai, maka ia diterima sebagai
pegawai baru.
d. Jika dia berkata benar, maka dia tidak berbohong.
Perhatikan gambar berikut.
#include <iostream>
using namespace std;
int main (){
int x, y, z;

cout << "masukkan nilai x: ";


cin >> x;
cout << "masukkan nilai y: ";
cin >> y;

// menggunakan operator pembagian


z = x / y;

cout << "Hasil x / y = " << z << endl;


return 0;
}

Contoh program menggunakan operator aritmatika pembagian

Jika kalian memasukkan nilai x = 16


x : 16
dan y = 3 saat program di atas y : 3
Hasil x / y = 5
dijalankan, maka hasilnya akan
tampak seperti gambar di samping. Hasil program menggunakan operator
aritmatika pembagian
2. Struktur Kontrol Keputusan If-Else
Pernyataan if-else digunakan untuk mengatur pernyataan yang
dijalankan ketika kondisi berupa sebuah pilihan. Bentuk dari
pernyataan if-else adalah mengatur pernyataan yang dijalankan
sewaktu kondisi bernilai true atau false. Berikut beberapa
pernyataan yang dapat menggambarkan kondisi if-else.
a. Jika sekolah libur, maka siswa senang, jika tidak jadi libur,
maka siswa kecewa.
b. Jika saya makan bakso panas, maka setelahnya saya akan
minum es, jika tidak, maka saya akan minum air mineral.
c. Jika saya sakit, maka saya minum obat, jika tidak, maka saya
hanya minum vitamin.
Perhatikan gambar berikut.
if (kondisi) {
statement1
}
else {
statement2
}
Pseudocode bentuk pernyataan if-else

#include <iostream>
using namespace std;
int main() {
int nilai=10;
if (nilai>5){
cout <<"Nilai lebih dari 5 ";
}
else
cout <<"Nilai kurang dari 5 ";
return 0;
}

Contoh program dengan kondisi if-else

Flowchart kondisi if-else


3. Struktur Kontrol Keputusan If-Else If
Ketika menghadapi permasalahan yang komplek dengan banyak
pilihan statement, maka susunan if ditambah dengan else if.
Perhatikan gambar berikut.
if (kondisi1) {
statement1
}
else if (kondisi2) {
statement2
}
else if (kondisi3) {
statement3
}
else if (kondisi4) {
statement4
}
Pseudocode bentuk pernyataan if-else if Flowchart kondisi if-else if
e. Operator Kondisional (Ternary)
Operator kondisional adalah operator yang mengevaluasi
ekspresi dan memilih dua pilihan nilai.
Ekspresi ? true: false

Bentuk umum penulisan operator kondisional

#include <iostream>
using namespace std;
int main() {
int x = 7;

// menggunakan operator ternary


string hasil = x > 5 ? "true" : "false";

cout << "x > 5 adalah " << hasil << endl;

return 0;
}
Contoh program menggunakan operator ternary
F. Struktur Kontrol Keputusan
Kalian akan mempelajari tentang pengambilan keputusan dalam
sebuah program secara kondisional. Kondisional merupakan
suatu pilihan yang didasari dari kondisi tertentu. Sebagai contoh
dalam penentuan bilangan ganjil atau genap, maka ada aturan
sebagai berikut.
a. Jika bilangan dibagi 2 memiliki hasil 0, maka bilangan
tersebut genap.
b. Jika bilangan dibagi 2 memiliki hasil 1, maka bilangan
tersebut ganjil.
Proses tersebut merupakan salah satu contoh dari sebuah
pernyataan kondisional. Terdapat beberapa jenis struktur kontrol
keputusan, yaitu struktur kontrol keputusan if, if-else, if-else If,
switch, dan bersarang.
1. Struktur Kontrol Keputusan If
Struktur kontrol keputusan dengan menggunakan if adalah suatu
pernyataan kondisi yang digunakan untuk melakukan suatu
pengambilan keputusan terhadap dua kemungkinan. Berikut
beberapa pernyataan yang dapat menggambarkan kondisi if.
a. Jika banjir, maka sekolah diliburkan.
b. Jika sekolah diliburkan, maka siswa senang.
c. Jika ia termasuk kriteria pegawai, maka ia diterima sebagai
pegawai baru.
d. Jika dia berkata benar, maka dia tidak berbohong.
Perhatikan gambar berikut.
if (kondisi) {
statement
}
Pseudocode bentuk pernyataan if

#include <iostream>
using namespace std;
int main() {

int nilai = 10;


if (nilai>5)
cout << "Nilai lebih dari 5";

return 0;
}

Program dengan kondisi if

Flowchart kondisi if
2. Struktur Kontrol Keputusan If-Else
Pernyataan if-else digunakan untuk mengatur pernyataan yang
dijalankan ketika kondisi berupa sebuah pilihan. Bentuk dari
pernyataan if-else adalah mengatur pernyataan yang dijalankan
sewaktu kondisi bernilai true atau false. Berikut beberapa
pernyataan yang dapat menggambarkan kondisi if-else.
a. Jika sekolah libur, maka siswa senang, jika tidak jadi libur,
maka siswa kecewa.
b. Jika saya makan bakso panas, maka setelahnya saya akan
minum es, jika tidak, maka saya akan minum air mineral.
c. Jika saya sakit, maka saya minum obat, jika tidak, maka saya
hanya minum vitamin.
Perhatikan gambar berikut.
if (kondisi) {
statement1
}
else {
statement2
}
Pseudocode bentuk pernyataan if-else

#include <iostream>
using namespace std;
int main() {
int nilai=10;
if (nilai>5){
cout <<"Nilai lebih dari 5 ";
}
else
cout <<"Nilai kurang dari 5 ";
return 0;
}

Contoh program dengan kondisi if-else

Flowchart kondisi if-else


3. Struktur Kontrol Keputusan If-Else If
Ketika menghadapi permasalahan yang komplek dengan banyak
pilihan statement, maka susunan if ditambah dengan else if.
Perhatikan gambar berikut.
if (kondisi1) {
statement1
}
else if (kondisi2) {
statement2
}
else if (kondisi3) {
statement3
}
else if (kondisi4) {
statement4
}
Pseudocode bentuk pernyataan if-else if Flowchart kondisi if-else if
Contoh program dengan kondisi if-else if

#include <iostream>
using namespace std;
int main() {

int nilai;
cout <<"Masukkan nilai angka : ";
cin >>nilai;
cout <<"Nilai huruf : ";

if(nilai>85){
cout <<"A";
} else if(nilai>70){
cout <<"B";
} else if(nilai>50){
cout << "C";
} else if(nilai>25){
cout <<"D";
} else {
cout <<"E";
}
return 0;
}
4. Struktur Kontrol Keputusan Switch
Seperti halnya dengan struktur if-else, pernyataan pada struktur
switch juga dapat melakukan beberapa pilihan jalur yang akan
dieksekusi. Pernyataan switch digunakan untuk melakukan
instruksi pemilihan aksi yang akan dikerjakan. Variabel dari nilai
masukan akan menentukan statement mana yang akan
dieksekusi.
switch (kondisi) {
case nilai0:
statement0;
case nilai1:
statement1;
case nilai2:
statement2;
...}

Pseudocode bentuk pernyataan switch


4. Struktur Kontrol Perulangan Bersarang
(Nested for)
Seperti halnya dengan struktur keputusan, struktur perulangan
juga memungkinkan untuk membuat sebuah pernyataan di
dalam pernyataan. Perhatikan gambar berikut.
for (inisialisasi; kondisi1; step_ekspresi1) {
for (inisialisasi2; kondisi2; step_ekspresi2)
{ pernyataan;
... #include <iostream>
} using namespace std;
} int main() {
Pseudocode bentuk pernyataan nested for int tinggi;

cout <<"Tinggi : ";cin>>tinggi;


for(int i=0; i <tinggi; i++)
{
for(int j =0; j<=i; j++)
{
cout <<"0 ";
}
cout << endl;
}
}

Contoh program perulangan nested for


Flowchart kondisi nested for
5. Struktur Kontrol Keputusan Bersarang (Nested If)
Pada sebuah struktur kontrol dalam bahasa C++ sangat
memungkinkan membuat pernyataan di dalam pernyataan. Hal
tersebut disebut nested atau tersarang.

/*Program dengan IF bersarang */


if(kondisi){
if(kondisi) {
pernyataan;
}else if{
pernyataan;
}else{
pernyataan;
}
Pseudocode bentuk pernyataan nested if

Flowchart kondisi nested if


Perhatikan gambar berikut.
float LuasLingkaran;

Contoh program dengan


menggunakan fungsi

2. Memanggil Fungsi
Setelah dapat membuat fungsi, maka langkah selanjutnya yaitu
memanggil fungsi di program. Perhatikan contoh program pada
gambar berikut.
#include <iostream>
using namespace std;
int main() {
float LuasLingkaran;
float radius;
cout <<"Masukkan radius lingkaran =
";cin>>radius;

LuasLingkaran = 3.14*radius*radius;

cout <<"Luas Lingkaran = ";


cout <<LuasLingkaran<<endl;

return 0;
}

Contoh program menggunakan fungsi


I. Perbedaan Coding dan
Pemrograman
Perhatikan perbedaan coding dan pemrograman pada tabel
berikut.
2. Struktur Kontrol Perulangan Do-While
Struktur kontrol do-while memiliki kemiripan dengan perulangan
while, yakni pernyataan di dalam do-while akan dijalankan
beberapa kali selama kondisi memiliki nilai benar (true).
Perbedaan antara perulangan while dan do-while adalah
pernyataan di dalam perulangan do-while loop akan selalu
dijalankan paling sedikit satu kali.
do { #include <iostream>
statement1; using namespace std;
statement2; int main() {
} int i=0;
while (boolean-expression); do {
cout <<i;
Pseudocode perulangan do-while
i++;
} while (i<5);

return 0;
}
Contoh program dengan kondisi perulangan do-
while

Flowchart perulangan do-while


3. Struktur Kontrol Perulangan For
Struktur kontrol perulangan for disebut juga dengan for loop.
Perhatikan gambar berikut.
for (inisialisasi; kondisi; step_ekspresi) {
statement;
...
}
#include <iostream>
Pseudocode perulangan for
using namespace std;
int main() {
for (int i=1; i<6; i++) {
cout <<i;
}
return 0;
}

Kode program dengan kondisi perulangan for

Flowchart perulangan for


4. Struktur Kontrol Perulangan Bersarang
(Nested for)
Seperti halnya dengan struktur keputusan, struktur perulangan
juga memungkinkan untuk membuat sebuah pernyataan di
dalam pernyataan. Perhatikan gambar berikut.
for (inisialisasi; kondisi1; step_ekspresi1) {
for (inisialisasi2; kondisi2; step_ekspresi2)
{ pernyataan;
... #include <iostream>
} using namespace std;
} int main() {
Pseudocode bentuk pernyataan nested for int tinggi;

cout <<"Tinggi : ";cin>>tinggi;


for(int i=0; i <tinggi; i++)
{
for(int j =0; j<=i; j++)
{
cout <<"0 ";
}
cout << endl;
}
}

Contoh program perulangan nested for


Flowchart kondisi nested for
H. Fungsi
Fungsi dalam pemrograman adalah untuk melambangkan
kumpulan pernyataan yang memiliki tujuan tertentu.

1. Membuat Fungsi
Ketika akan membuat fungsi baru, maka perlu memperhatikan
beberapa hal berikut.
a. Nama fungsi yang akan mempresentasikan tujuan dari fungsi
tersebut.
b. Parameter yang akan dimasukkan ke dalam fungsi tersebut.
c. Nilai yang akan dikembalikan.
Perhatikan gambar berikut.
float LuasLingkaran;

Contoh program dengan


menggunakan fungsi

2. Memanggil Fungsi
Setelah dapat membuat fungsi, maka langkah selanjutnya yaitu
memanggil fungsi di program. Perhatikan contoh program pada
gambar berikut.
#include <iostream>
using namespace std;
int main() {
float LuasLingkaran;
float radius;
cout <<"Masukkan radius lingkaran =
";cin>>radius;

LuasLingkaran = 3.14*radius*radius;

cout <<"Luas Lingkaran = ";


cout <<LuasLingkaran<<endl;

return 0;
}

Contoh program menggunakan fungsi


I. Perbedaan Coding dan
Pemrograman
Perhatikan perbedaan coding dan pemrograman pada tabel
berikut.

Anda mungkin juga menyukai