Anda di halaman 1dari 31

STRUKTUR PROGRAM

C++
FIRDAUS SULAIMAN

(BAGIAN-02)

UNIVERSITAS MUHAMMADIYAH
KENDARI 2018
A. PERNYATAAN IF
Salah satu permasalahan yang pasti akan dijumpai dalam pembuatan program adalah
suatu percabangan. Percabangan yang dimaksud di sini tidak lain adalah suatu pemilihan
statemen yang akan di eksekusi dimana pemilihan tersebut berdasarkan kondisi tertentu. Di
dalam C++, terdapat 2 jenis struktur blok (blok program) yang digunakan untuk
mengimplementasikan suatu percabangan, yaitu dengan menggunakan struktur if dan struktur
switch. Statemen-statemen yang ada dalam sebuah blok percabangan akan dieksekusi hanya jika
kondisi yang didefinisikan bernilai benar (terpenuhi). Artinya jika kondisi bernilai salah (tidak
terpenuhi), maka statemen-statemen tersebut tidak akan dieksekusi atau akan diabaikan oleh
compiler. Untuk memahami konsep percabangan, perhatikan kalimat dibawah ini:

"Jika Ani mendapat ranking satu maka Ani akan dibelikan laptop "

Coba diamati, pada kalimat diatas yang merupakan kondisi adalah mendapat ranking satu. Pada
kasus ini laptop hanya akan dibeli jika Ani mendapat ranking satu. Sebaliknya, jika tidak mendapat
ranking satu, maka laptop pun tidak akan dibelikan.

Suatu percabangan yang dibuat menggunakan struktur if dapat terdiri dari satu kondisi, dua
kondisi dan lebih dari dua kondisi (majemuk).

1. Pernyataan IF Satu Kondisi


Seperti yang sudah diketahui, pernyataan percabangan dipakai untuk memecahkan
persoalan dengan cara mengambil suatu keputusan dari berbagai pernyataan yang ada. Untuk
keperluan pengambilan keputusan, Dev-C++ menyediakan beberapa perintah salah satunya
adalah if satu kondisi. Pernyataan if satu kondisi mempunyai pengertian, "Jika kondisi bernilai
benar, maka perintah akan dikerjakan dan jika kondisi bernilai salah, maka perintah akan
diabaikan".
• Jika kondisi bernilai benar, maka perintah akan dikerjakan.
• Jika kondisi bernilai salah, maka perintah tidak akan dikerjakan

Pengertian tersebut dapat dicerminkan melalui diagram alir berikut ini:

40 Firdaus, 2018
Diagram alir pernyataan if satu kondisi

Struktur if satu kondisi merupakan struktur yang paling sederhana karena hanya
melibatkan sebuah ekspresi yang akan diperiksa.

Bentuk umum dari struktur percabangan if satu kondisi adalah sebagai berikut:

// Jika terdapat lebih dari satu pernyataan / statemen


if (kondisi){
Statemen/Pernyataan;
Statemen/Pernyataan;
}

// Jika hanya terdapat satu statemen


// Dapat ditulis sebagai berikut
if (kondisi) Statemen;

Contoh:
Berikut beberapa contoh program yang menerapkan struktur if satu kondisi seperti yang telah
dijelaskan diatas:

#include <iostream>

using namespace std;

int main()
{
int bilangan;

41 Firdaus, 2018
// Memberikan informasi agar user memasukkan
// Sebuah bilangan bulat
cout<<"\t== Program Bilangan Positif ==\n\n";
cout<<"Masukkan bilangan : ";

// Membaca nilai yang dimasukkan dari keyboard


// Dan disimpan ke variabel Bilangan
cin>>bilangan;

// Program ini merupakan contoh if satu kondisi


// Akan menampilkan sebuah teks jika
// Bilangan yang dimasukkan > 0
if(bilangan > 0){
cout<<"\nAnda memasukkan bilangan Positif\n";
cout<<"Bilangan tersebut adalah "<<bilangan;
}

return 0;
}

Hasil program diatas bersifat dinamis, artinya tidak setiap proses eksekusi program akan
memberikan hasil yang sama, karena hasilnya tergantung kepada bilangan yang dimasukkan oleh
user. namun yang jelas program diatas akan menampilkan teks "Anda memasukkan bilangan
Positif ..." jika user memasukkan bilangan yang lebih besar dari nol.

Jika program ini hanya menggunakan satu statemen, penulisannya dapat dirubah seperti dibawah
ini (namun lebih disarankan model penulisan dengan cara diatas / dengan kurung kurawal):

#include <iostream>

using namespace std;

42 Firdaus, 2018
int main()
{
int bilangan;

// Memberikan informasi agar user memasukkan


// Sebuah bilangan bulat
cout<<"\t== Program Bilangan Positif ==\n\n";
cout<<"Masukkan bilangan : ";

// Membaca nilai yang dimasukkan dari keyboard


// Dan disimpan ke variabel Bilangan
cin>>bilangan;

// Program ini merupakan contoh if satu kondisi


// Akan menampilkan sebuah teks jika
// Bilangan yang dimasukkan > 0

if(bilangan > 0)
cout<<"\nAnda memasukkan bilangan Positif\n";

return 0;
}

Dapat juga menggunakan operator || dan && dalam menentukan sebuah ekspresi. Berikut ini
contoh program yang menginplementasikan hal tersebut.

#include <iostream>

using namespace std;

int main() {
int bilangan;

cout<<"\t== Program Bilangan 1-10 ==\n\n";


cout<<"Masukkan bilangan : ";

cin>>bilangan;

if(bilangan > 0 && bilangan <= 10){


cout<<"\nAnda memasukkan bilangan 1-10\n";
cout<<"Bilangan tersebut adalah "<<bilangan;
}

return 0;
}

43 Firdaus, 2018
Hasil program diatas bersifat dinamis, artinya tidak setiap proses eksekusi program akan
memberikan hasil yang sama, karena hasilnya tergantung kepada bilangan yang dimasukkan oleh
user. namun yang jelas program diatas akan menampilkan teks "Anda memasukkan bilangan 1-
10 ..." jika user memasukkan bilangan antara 1 sampai 10.

#include <iostream>

using namespace std;

int main() {
char huruf;

cout<<"\t== Program Huruf Vokal ==\n\n";


cout<<"Masukkan Sebuah Huruf : ";

cin>>huruf;

if((huruf == 'a') || (huruf == 'A') ||


(huruf == 'i') || (huruf == 'I') ||
(huruf == 'u') || (huruf == 'U') ||
(huruf == 'e') || (huruf == 'E') ||
(huruf == 'o') || (huruf == 'O')) {
cout<<"\nAnda memasukkan Huruf Vokal\n";
cout<<"Huruf tersebut adalah "<<huruf;
}
return 0;
}

Hasil program diatas juga bersifat dinamis, program diatas hanya akan menampilkan teks "Anda
memasukkan Huruf Vokal ..." jika user memasukkan huruf vokal (a, i, u, e, o).

44 Firdaus, 2018
2. Pernyataan IF-ELSE (IF Dua Kondisi)
Struktur percabangan if dua kondisi / if-else sedikit lebih kompleks bila dibandingkan
dengan struktur if yang hanya memiliki satu buah kondisi. Sebenarnya konsepnya juga
sederhana, yaitu pada struktur jenis ini terdapat sebuah statemen khusus yang berfungsi untuk
mengatasi kejadia apabila kondisi yang didefinisikan tersebut bernilai salah (tidak terpenuhi).
Artinya dalam pernyataan if dua kondisi "Jika kondisi bernilai benar, maka perintah-1 akan
dikerjakan dan jika kondisi bernilai salah (tidak terpenuhi) maka akan mengerjakan perintah-2".
Dari pengertian tersebut dapat dicerminkan melalui diagram alir berikut ini.

diagram alir pernyataan if dua kondisi

Bentuk umum dari struktur percabangan dengan dua kondisi adalah sebagai berikut:

if (kondisi){
Statemen_jika_kondisi_terpenuhi;
}
else{
Statemen_jika_kondisi_tidak_terpenuhi;
}

45 Firdaus, 2018
Berikut beberapa contoh program yang menerapkan struktur if dua kondisi seperti yang telah
dijelaskan diatas:

#include <iostream>

using namespace std;

int main() {
int bilangan;

// Memberikan informasi agar user memasukkan


// Sebuah bilangan bulat
cout<<"\t== Program Bilangan Positif ==\n\n";
cout<<"Masukkan bilangan : ";

// Membaca nilai yang dimasukkan dari keyboard


// Dan disimpan ke variabel Bilangan
cin>>bilangan;

// Program ini merupakan contoh if dua kondisi


if(bilangan > 0){
cout<<"\nAnda memasukkan bilangan Positif\n";
cout<<"Bilangan tersebut adalah "<<bilangan;
}
else{
cout<<"\nAnda memasukkan bilangan kurang dari 1";
cout<<"\nBilangan tersebut adalah "<<bilangan;
}

return 0;
}

Coba diamati hasil program diatas, pada saat program dijalankan, user memasukkan bilangan -5
dan nilai tersebut akan disimpan ke dalam variabel bilangan. Selanjutnya program melakukan

46 Firdaus, 2018
pemeriksaan terhadap nilai yang terdapat dalam variabel tersebut melalui ekspresi (bilangan >
0). Maksud dari ekspresi tersebut adalah melakukan pemeriksaan apakah nilai dari variabel
bilangan lebih dari 0 atau kurang dari sama dengan 0 (<= 0). Jika benar / lebih dari nol, maka
program akan menampilkan teks "Anda memasukkan bilangan Positif ...". Namun pada contoh
diatas karena user memasukkan bilangan -5 (kurang dari sama dengan 0) maka program akan
mengeksekusi statemen yang terdapat pada bagian else sehingga menampilkan teks "Anda
memasukkan bilangan kurang dari 1 ..."

Contoh lain yang dapat diambil untuk menerangkan hal ini adalah pada saat membuat program
untuk melakukan validasi nilai pada proses pembagian bilangan. Untuk lebih jelasnya perhatikan
contoh program dibawah ini:

#include <iostream>

using namespace std;

int main()
{
double x,y,hasil;

cout<<"\t== Program Pembagian ==\n\n";


cout<<"Masukkan bilangan yang akan dibagi : ";
cin>>x;
cout<<"Masukkan bilangan pembagi : ";
cin>>y;

if(y==0){
cout<<"\nKesalahan, Bilangan pembagi tidak boleh NOL";
}
else{
// Melakukan pembagian bilangan x dengan y
hasil = x/y;

// Menampilkan hasil
cout<<"\nHasil bagi = "<<hasil;
}

return 0;
}

47 Firdaus, 2018
3. Pernyataan IF-ELSE Majemuk
Struktur percabangan if lebih dari dua kondisi / if-else majemuk merupakan struktur
percabangan yang biasanya membingunggkan para programmer pemula. Percabangan If-else
majemuk sebenarnya merupakan pengembangan dari struktur if dua kondisi, karena
percabangan ini akan menambahkan (menyisipkan) satu atau lebih kondisi ke dalamnya. Artinya
dalam pernyataan if lebih dari dua kondisi: Jika kondisi1 bernilai benar, maka perintah-1 akan
dikerjakan, jika kondisi1 salah maka akan mengecek kondisi2 dan jika kondisi2 bernilai benar,
maka perintah-2 akan dikerjakan, jika kondisi2 juga salah maka akan mengecek kondisi
berikutnya dan akan mengerjakan perintah pada struktur blok yang memiliki kondisi bernilai
benar. Seandainya tidak ada kondisi yang bernilai benar, maka akan mengerjakan perintah yang
berada pada struktur blok else. Bentuk umum dari struktur percabangan If yang memiliki lebih
dari dua kondisi adalah sebagai berikut:

if(kondisi1){
Statemen_jika_kondisi1_terpenuhi;
}
else if(kondisi2){
Statemen_jika_kondisi2_terpenuhi;
}
else if(kondisi3){
Statemen_jika_kondisi3_terpenuhi;
}
else if(kondisi4){
Statemen_jika_kondisi4_terpenuhi;
}
.....
else{
Statemen_jika_semua_kondisi_tidak_terpenuhi;
}

48 Firdaus, 2018
Untuk lebih memahami konsep dari struktur percabangan if-else majemuk, berikut ini
sajikan beberapa contoh program yang mengimplementasikan hal tersebut.

#include <iostream>

using namespace std;

int main()
{
int bilangan;

// Memberikan informasi agar user memasukkan


// Sebuah bilangan
cout<<"\t== Program Tentukan Bilangan ==\n\n";
cout<<"Masukkan bilangan : ";

// Membaca nilai yang dimasukkan dari keyboard


// Dan disimpan ke variabel Bilangan
cin>>bilangan;

// Program ini merupakan


// Contoh if lebih dari dua kondisi
if(bilangan > 0){
cout<<"\nAnda memasukan bilangan Positif\n";
cout<<"Bilangan tersebut adalah "<<bilangan;
}
else if (bilangan < 0){
cout<<"\nAnda memasukan bilangan Negatif\n";
cout<<"Bilangan tersebut adalah "<<bilangan;
}
else{
cout<<"\nAnda memasukkan bilangan NOL\n";
}

return 0;
}

49 Firdaus, 2018
Agar lebih memahami penggunaan statemen If-Else majemuk / If lebih dari dua kondisi, akan
diberikan contoh program konversi nilai, program ini akan menentukan Nilai Indeks (A, B, C, D,
E) dari Nilai yang didapat oleh seorang mahasiswa. Ketentuan konversi nilai program ini adalah
sebagai berikut:
A : nilai 87 - 100
B : nilai 75 - 86
C : nilai 62 - 74
D : nilai 50 - 61
E : nilai 0 - 49

Dengan ketentuan diatas, maka dapat dituliskan kode program nya seperti di bawah ini.

#include <iostream>

using namespace std;

int main()
{
int nilaiMHS;
string indeks;

// Memberikan informasi agar user memasukkan


// Nilai yang akan dikonversi
cout<<"\t== Program Konversi Nilai ==\n\n";
cout<<"Masukkan nilai : ";

// Membaca nilai yang dimasukkan dari keyboard


// Dan disimpan ke variabel nilaiMHS
cin>>nilaiMHS;

// Program ini merupakan


// Contoh if lebih dari dua kondisi
if(nilaiMHS >= 87){
indeks = "A";
}

50 Firdaus, 2018
else if(nilaiMHS >= 75){
indeks = "B";
}
else if(nilaiMHS >= 62){
indeks = "C";
}
else if(nilaiMHS >= 50){
indeks = "D";
}
else{
indeks = "E";
}

// Menampil nilai indeks hasil konversi


cout<<"\nNilai indeks hasil konversi dari "<<nilaiMHS;
cout<<" adalah "<<indeks;

return 0;
}

4. Pernyataan Nested IF (IF Bersarang)


Struktur percabangan if bersarang / nested if merupakan struktur if yang paling komplek,
karena merupakan perluasan dan kombinasi dari berbagai struktur if lainnya. Konsep dari
percabangan ini adalah terdapat Struktur If yang berada didalam Struktur If lainnya. Artinya
dalam pernyataan If bersarang jika kondisi If yang paling luar (paling atas) bernilai benar, maka
kondisi If yang berada didalamnya baru akan dilihat (di cek). Bentuk umum dari struktur If
bersarang / struktur if yang berada di dalam struktur if lainnya adalah sebagai berikut:

if(kondisi1){
if(kondisi1a){
Statemen_jika_kondisi1_dan_1a_terpenuhi;
}

51 Firdaus, 2018
else if(kondisi1b){
Statemen_jika_kondisi1_dan_1b_terpenuhi;
}
.....
else{
Statemen_jika_hanya_kondisi1_yang_terpenuhi;
}
}
else if(kondisi2){
if(kondisi2a){
Statemen_jika_kondisi2_dan_2a_terpenuhi;
}
else if(kondisi2b){
Statemen_jika_kondisi2_dan_2b_terpenuhi;
}
.....
else{
Statemen_jika_hanya_kondisi2_yang_terpenuhi;
}
}
else if(kondisi3){
Statemen_jika_kondisi3_terpenuhi;
}
.....
else{
Statemen_jika_semua_kondisi_tidak_terpenuhi;
}

Contoh:
IMP fashion merupakan perusahaan pakaian yang menjual pakaian dengan ketentuan sebagai
berikut:
• Jika kode baju=1 maka Merk Baju = IMP, dengan ukuran baju=S, maka harganya
200.000, Jika ukuran baju=M, maka harganya 220.000, selain itu harganya = 250.000.
• Jika kode baju=2 maka Merk Baju = Prada, dengan ukuran baju=S, maka harganya
150.000, Jika ukuran Baju=M, maka harganya 160.000, selain itu harganya = 170.000.
• Jika kode baju=3 maka Merk Baju = Gucci, dengan ukuran baju=S, maka harganya
200.000, Jika ukuran Baju=M, maka harganya 200.000, selain itu harganya = 200.000.
• Jika kode baju=4 maka Merk Baju = Louis Vuitton, dengan ukuran baju=S, maka
harganya 300.000, Jika ukuran Baju=M, maka harganya 300.000, selain itu harganya =
350.000.
• Jika kode baju=5 maka Merk Baju = Kick Denim, dengan ukuran baju=S, maka harganya
100.000, Jika ukuran Baju=M, maka harganya 120.000, selain itu harganya = 130.000.
• Selain kode baju diatas, maka salah kode
52 Firdaus, 2018
Dengan ketentuan diatas, maka dapat dituliskan kode program nya seperti dibawah ini.

#include <iostream>

using namespace std;

int main()
{
long harga=0;
char KodeBaju, Ukuran;
string Merk;

cout<<"\t== Program Cek Harga Baju ==\n\n";

cout<<"Masukkan Kode Baju : ";


cin>>KodeBaju;

cout<<"Masukkan Ukuran Baju : ";


cin>>Ukuran;

if(KodeBaju=='1'){
Merk="IMP";
if(Ukuran=='S' || Ukuran=='s'){
harga=200000;
}
else if(Ukuran=='M' || Ukuran=='m'){
harga=220000;
}
else{
harga=250000;
}
}
else if(KodeBaju=='2'){
Merk="Prada";
if(Ukuran=='S' || Ukuran=='s'){
harga=150000;
}
else if(Ukuran=='M' || Ukuran=='m'){
harga=160000;
}
else{
harga=170000;
}
}
else if(KodeBaju=='3'){
Merk="Gucci";

53 Firdaus, 2018
if(Ukuran=='S' || Ukuran=='s'){
harga=200000;
}
else if(Ukuran=='M' || Ukuran=='m'){
harga=200000;
}
else{
harga=200000;
}
}
else if(KodeBaju=='4'){
Merk="Louis Vuitton";
if(Ukuran=='S' || Ukuran=='s'){
harga=300000;
}
else if(Ukuran=='M' || Ukuran=='m'){
harga=300000;
}
else{
harga=350000;
}
}
else if(KodeBaju=='5'){
Merk="Kick Denim";
if(Ukuran=='S' || Ukuran=='s'){
harga=100000;
}
else if(Ukuran=='M' || Ukuran=='m'){
harga=120000;
}
else{
harga=130000;
}
}
else{
Merk="Error";
cout<<"\n== Salah Input Kode Baju ==";
}

cout<<"\n\nMerek Baju = "<<Merk;


cout<<"\nUkuran Baju = "<<Ukuran;
cout<<"\nHarga Baju = "<<harga;

return 0;
}

54 Firdaus, 2018
B. PERNYATAAN SWITCH-CASE
Selain menggunakan pernyataan If, C++ juga menawarkan untuk dapat melakukan
percabangan (pemilihan) dengan menggunakan pernyataan Switch-Case. Sama seperti
pernyataan If-Else, pernyataan Switch-Case juga merupakan pernyataan yang digunakan untuk
menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, Namun penggunaan
pernyataan Switch-Case lebih sempit, karena perintah ini haya digunakan untuk memeriksa data
yang bertipe integer atau karakter. Bentuk umum penggunaan pernyataan Switch-Case adalah
sebagai berikut:

switch(ekspresi){
case nilai_konstanta1:
Statemen_atau_Perintah;
break;
case nilai_konstanta2:
Statemen_atau_Perintah;
break;
case nilai_konstanta3:
Statemen_atau_Perintah;
break;
.....
case nilai_konstantaN:
Statemen_atau_Perintah;
break;
default:
Statemen_alternatif;
}

Seperti yang sudah disinggung diatas, tipe data dari nilai_konstanta pada struktur
pernyataan switch-case harus berupa tipe ordinal, seperti bilangan bulat atau karakter. Selain itu
statemen default: pada struktur switch-case berguna untuk mengeksekusi statemen alternatif,

55 Firdaus, 2018
yaitu jika nilai yang dimasukkan ternyata tidak sesuai dengan nilai-nilai konstanta yang telah
didefinisikan. Sedangkan statemen break pada struktur switch-case digunakan untuk
menunjukan bahwa perintah siap keluar dari struktur switch-case. Jika pernyataan break tidak
ada, maka program akan diteruskan ke pilihan-pilihan berikutnya. Sehingga setiap pilihan akan
di cek dan dijalankan jika syarat nilai konstanta terpenuhi, termasuk statemen default juga akan
dijalankan jika semua cabang diatasnya tidak memiliki pernyataan break.

Contoh :
Berikut ini adalah contoh program yang mengimplementasikan konsep percabangan dengan
menggunakann Pernyataan (statemen) Switch-Case. Dalam contoh ini, akan dibuat program yang
dapat menentukan nama hari dari nilai bilangan (nomor hari) yang di inputkan. Kode programnya
dapat dilihat di bawah ini.

#include <iostream>

using namespace std;

int main(){
int nrhari;

cout<<"Masukkan nomor hari (1 -> 7) : ";


cin>>nrhari;

switch(nrhari){
case 1:
cout<<"\nHari ke-"<<nrhari<<" adalah SENIN";
cout<<"\nMeskipun SENIN Tetap Semangat Ya";
break;
case 2:
cout<<"\nHari ke-"<<nrhari<<" adalah SELASA";
cout<<"\nSemangat Untuk Hari SELASA";
break;
case 3:
cout<<"\nHari ke-"<<nrhari<<" adalah RABU";
cout<<"\nUdah Hari RABU, Tetep Produktif Ya";
break;
case 4:
cout<<"\nHari ke-"<<nrhari<<" adalah KAMIS";
cout<<"\nOrang Manis Terlahir Dihari KAMIS";
break;
case 5:
cout<<"\nHari ke-"<<nrhari<<" adalah JUMAT";
cout<<"\nUdah Hari JUMAT, Siap Mudik ?";
break;

56 Firdaus, 2018
case 6:
cout<<"\nHari ke-"<<nrhari<<" adalah SABTU";
cout<<"\nHari SABTU Mau Liburan Kemana ?";
break;
case 7:
cout<<"\nHari ke-"<<nrhari<<" adalah MINGGU";
cout<<"\nMari Tidur Seharian di Hari MINGGU";
break;
default:
cout<<"\nTidak terdapat nama hari ke-"<<nrhari;
cout<<"\nMungkin Kamu Kurang Piknik";
}

return 0;
}

Pada program diatas, saat memasukkan nilai yang lebih kecil dari 1 atau lebih besar dari 7, maka
program akan mengeksekusi statemen yang terdapat pada pilihan default.

Sama halnya dengan struktur percabangan yang menggunakan statemen if, struktur yang
menggunakan statemen switch-case juga dapat ditulis secara bersarang. Sebagai gambaran dari
pernyataan ini, statemen switch-case bersarang dapat dirumuskan seperti dibawah ini:

switch(ekspresi){
case nilai_konstanta1:{
switch(ekspresi2){

57 Firdaus, 2018
case nilai_konstanta1a;
Statemen_atau_Perintah;
break;
}
break;
}
case nilai_konstanta2:
Statemen_atau_Perintah;
break;
.....
case nilai_konstantaN:
Statemen_atau_Perintah;
break;
default:
Statemen_alternatif;
}

Meskipun C++ mengizinkan hal ini, namun pada praktiknya cara switch-case bersarang jarang
sekali dijumpai dalam program-program yang ditulis dengan C++ karena alasan efisiensi.

C. PERULANGAN
Perulangan adalah suatu proses eksekusi statemen-statemen dalam sebuah program
secara terus-menerus sampai terdapat kondisi untuk menghentikannya. Operasi perulangan /
looping selalu dijumpai didalam berbagai bahasa pemrograman, hal tersebut karena struktur
perulangan akan sangat membantu dalam efisiensi program. Dalam C++ terdapat 3 jenis struktur
perulangan, yaitu : Struktur For, Struktur While dan Struktur Do While.

1. Perulangan For
Struktur pengulangan / perulangan jenis for biasanya digunakan untuk melakukan
perulangan yang telah diketahui banyaknya. Biasanya jenis perulangan for dianggap sebagai jenis
perulangan yang paling mudah dipahami. Untuk melakukan perulangan dengan menggunakan
struktur perulangan for, harus dimiliki sebuah variabel sebagai indeksnya. Namun perlu sekali
untuk diperhatikan bahwa tipe data dari variabel yang akan digunakan sebagai indeks haruslah
tipe data yang mempunyai urutan yang teratur, misalnya tipe data int (0,1,2, ... ) atau char ('a' ,
'b' , 'c' , ... ).

58 Firdaus, 2018
Adapun bentuk umum dari struktur perulangan for adalah seperti yang tampak dibawah ini:

// Untuk perulangan yang sifatnya menaik (increment)


// Pastikan nialai awal < kondisi saat berjalan
for(variabel = niali_awal ; kondisi_saat_berjalan ; variable++)
{
Statemen_yang_akan_diulang;
}

// Untuk perulangan yang sifatnya menurun (decrement)


// Pastikan nialai awal > kondisi saat berjalan
for(variabel = nilai_awal ; kondisi_saat_berjalan ; variable--)
{
Statemen_yang_akan_diulang;
}

Sebagai catatan bahwa jika dilakukan perulangan yang sifatnya menaik (increment) maka nilai
awal dari variabel yang didefinisikan haruslah lebih kecil dari nilai akhir yang dituliskan dalam
kondisi (kondisi saat berjalan). Sebaliknya jika dilakukan perulangan yang sifatnya menurun
(decrement) maka nilai awal harus lebih besar dari nilai akhir. Berikut ini contoh program yang
menunjukkan perulangan dengan menggunakan struktur for. Program akan ditulis dalam dua
tipe, yaitu perulangan for yang sifatnya menaik (increment) dan perulangan for yang sifatnya
menurun (decrement).

Contoh perulangan For yang sifatnya menaik (increment)


#include <iostream>

using namespace std;

int main(){
int MD;

for(MD=0;MD<5;MD++){
cout<<"Belajar C++ dari Firdaus"<<endl;
}

return 0;
}

Contoh perulangan For yang sifatnya menurun (decrement)

#include <iostream>

using namespace std;

59 Firdaus, 2018
int main(){
int MD;

for(MD=5;MD>0;MD--){
cout<<"Belajar C++ dari Firdaus"<<endl;
}

return 0;
}

Kedua program diatas jika dijalankan akan menghasilkan hasil yang sama, yaitu sebagai berikut:

Untuk lebih jelasnya melihat perbedaan antara perulangan For yang sifatnya menaik dan
menurun, coba perhatikan kembali program dibawah ini.

include <iostream>

using namespace std;

int main(){
cout<<"Contoh Perulangan For Menaik (Increment)"<<endl;
for(int MD=1;MD<9;MD++){
cout<<MD<<endl;
}

// Funsi cout<<endl dan \n adalah sama


cout<<"\nContoh Perulangan For Menurun (Decrement)\n";
for(int MD=8;MD>0;MD--){
cout<<MD<<"\n";
}

return 0;
}

60 Firdaus, 2018
Secara default, struktur for akan menaikkan atau menurunkan nilai dari sebuah variabel indeks
dengan nilai 1, akan tetapi bagaimana jika ingin menaikkan nilai tersebut dengan nilai yang lain
(misal menaikkan dengan nilai 2 bukan 1) ? Jawabannya adalah dengan menggantikan operator
increment atau decrement dengan statement yang didefinisikan sendiri. Berikut ini adalah contoh
program yang menaikkan nilai variabel indeks dengan nilai 2.

#include <iostream>

using namespace std;

int main(){
// MD+=2 bisa ditulis MD=MD+2
for(int MD=1;MD<10;MD+=2){
cout<<MD<<endl;
}

return 0;
}

61 Firdaus, 2018
Struktur For didalam C++ dapat juga melibatkan lebih dari satu variabel, namun yang
jelas minimal satu diantaranya harus digunakan sebagai indeks perulangan. untuk memahami
konsepnya, berikut ini disajikan sebuah contoh program dimana di dalamnya terdapat struktur
for yang melibatkan tiga buah variabel, yaitu variabel A, B dan C.

#include <iostream>

using namespace std;

int main(){
// Variabel A (bertipe char) akan digunakan
// Sebagai indeks pengulangan
char A;

// Variabel B akan digunakan untuk


// Menampung nilai penjumlahan
int B;

// Variabel C akan digunakan untuk


// Menampung nilai perkalian
int C;

for(A='a',B=0,C=1 ; A<='h' ; A++,B=B+5,C=C*2){


cout<<"Nilai A = "<<A<<endl;
cout<<"Nilai B = "<<B<<"\n";
cout<<"Nilai C = "<<C<<"\n\n";
}

return 0;
}

62 Firdaus, 2018
2. Perulangan While
Struktur pengulangan / perulangan while adalah perulangan yang melakukan pemeriksaan
kondisi di awal blok perulangan. Perulangan hanya akan dilakukan jika kondisi yang didefinisikan
terpenuhi (jika kondisi bernilai benar). Hal ini berarti jika kondisi yang didefinisikan tidak terpenuhi
(bernilai salah) maka statemen-statemen yang terdapat dalam blok perulangan pun tidak akan
pernah dieksekusi oleh program. Adapun bentuk umum dari struktur perulangan while adalah
seperti yang tampak dibawah ini:

while (kondisi){
Statemen_statemen_yang_akan_diulang;
}

63 Firdaus, 2018
Contoh:

#include <iostream>

using namespace std;

int main()
{
// Mendeklarasikan variabel MD sebagai
// Indeks perulangan
int MD;

// Melakukan inisialisasi nilai


// Terhadap variabel MD
MD = 0;

while (MD<4){
cout<<"Belajar C++ Dengan Firdaus\n";

// Statemen ini berguna untuk menaikkan nilai MD


// Setelah MD bernilai 4 maka perulangan berhenti
MD++;
}

return 0;
}

Perlu diperhatikan juga bahwa untuk melakukan perulangan dengan menggunakan struktur
while, harus behati-hati dalam menentukan inisialisasi nilai awal dan memanipulasi nilai tersebut
supaya perulangan dapat berhenti sesuai dengan yang diinginkan. Bagi programmer pemula, hal
ini biasanya sering terlupakan sehingga perulangan akan dilakukan secara terus-menerus karena
kondisi yang didefinisikan selalu bernilai benar. Berikut ini contoh program yang akan melakukan
perulangan secara terus menerus karena tidak adanya statemen untuk menghentikan
perulangan.

64 Firdaus, 2018
#include <iostream>

using namespace std;

int main()
{
// Mendeklarasikan variabel MD sebagai
// Indeks perulangan
int MD;

// Melakukan inisialisasi nilai


// Terhadap variabel MD
MD = 0;

while (MD<4){
cout<<"Belajar C++ Dengan Firdaus\n";

// Pada baris ini tidak terdapat statemen increment


// Sehingga variabel MD akan terus bernilai 0
// Dan kondisi MD < 4 akan selalu bernilai benar
// Akibatnya perulangan akan terus dilakukan

return 0;
}

65 Firdaus, 2018
Struktur perulangan while juga dapat digunakan untuk melakukan perulangan yang sifatnya
menurun. Berikut ini contoh program yang menginplementasikan struktur perulangan while yang
sifatnya menurun:

#include <iostream>

using namespace std;

int main(){
int deret;

cout<<"\t== Program Deret Angka (While) ==\n\n";


cout<<"Banyak deret Angka yang akan ditampilkan : ";
cin>>deret;
cout<<endl;

while(deret>0){
cout<<deret<<" ";

// Menurunkan nilai variabel deret


// deret-- ==> deret=deret-1
deret--;
}

cout<<"\n\n== Deret Selesai Ditampilkan ==\n";

return 0;
}

Program diatas adalah program untuk mencetak deret angka / deret bilangan secara menurun,
pencetakan dilakukan dari bilangan yang di inputkan sampai bilangan "0".

66 Firdaus, 2018
3. Perulangan Do-While
Berbeda dengan struktur while yang melakukan pemeriksaan kondisi di awal blok
perulangan, pada struktur do-while kondisi justru ditempatkan di bagian akhir. Hal ini tentu
menyebabkan struktur perulangan do-while minimal akan melakukan satu kali proses eksekusi
statemen yang akan diulang walaupan kondisi yang didefinisikan tidak terpenuhi (bernilai salah).
Adapun bentuk umum dari struktur perulangan do-while adalah seperti yang tampak dibawah ini:

do {
Statemen_statemen_yang_akan_diulang;
} while (kondisi);

Berikut 4 Perbedaan mendasar struktur perulangan while dan do-while:


1. Pada struktur perulangan while, pengecekan kondisi dilakukan di awal blok / pengecekan
kondisi dilakukan sebelum eksekusi statemen.
2. Pada struktur perulangan do-while, pengecekan kondisi dilakukan di akhir blok /
pengecekan kondisi dilakukan setelah eksekusi statemen.
3. Pada struktur perulangan while, jika kondisi yang didefinisikan tidak terpenuhi (bernilai
salah) maka statemen-statemen yang terdapat dalam blok perulangan tidak akan pernah
dieksekusi oleh program.
4. Pada struktur perulangan do-while, jika kondisi yang didefinisikan tidak terpenuhi (bernilai
salah) maka tetap akan melakukan satu kali eksekusi statemen-statemen yang terdapat
dalam blok perulangan.

Contoh:

#include <iostream>

using namespace std;

int main()
{
// Mendeklarasikan variabel MD sebagai
// Indeks perulangan
int MD;

// Melakukan inisialisasi nilai terhadap variabel MD


// Perhatikan nilai MD = 10
// Tidak sesuai dengan kondisi "MD < 3"
// Namun tetap akan melakukan satu kali
// Eksekusi statemen yang ada dalam blok perulangan
67 Firdaus, 2018
MD = 10;

do{
cout<<"Belajar C++ Dengan Firdaus\n";

// Statemen ini berguna untuk menaikkan nilai MD


// Setelah MD bernilai 8 maka perulangan berhenti
MD++;
}while (MD<3);

return 0;
}

Dalam menggunakan struktur perulangan do-while harus lebih teliti dan berhati-hati saat
mendefinisikan kondisi yang terdapat di dalamnya. Untuk lebih memahami struktur perulangan
do-while, berikut contoh lain program yang menggunakan perulangan dengan struktur do-while.

#include <iostream>

using namespace std;

int main(){
int deret;

cout<<"\t== Program Deret Angka (Do-While) ==\n\n";


cout<<"Banyak deret Angka yang akan ditampilkan : ";
cin>>deret;
cout<<endl;

do{
cout<<deret<<" ";

// Menurunkan nilai variabel deret


// deret-- ==> deret=deret-1
deret--;
}while(deret>0);

68 Firdaus, 2018
cout<<"\n\n== Deret Selesai Ditampilkan ==\n";

return 0;
}

Program diatas adalah program untuk mencetak deret angka / deret bilangan secara menurun,
pencetakan dilakukan dari bilangan yang di inputkan sampai bilangan "0".

69 Firdaus, 2018

Anda mungkin juga menyukai