MODUL V PERULANGAN
Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.
Dalam perulangan, umumnya terdiri dari 3 komponen, yaitu:
Nilai Awal/Inisialisasi, yaitu menentukan nilai awal dalam perulangan
Perubah Nilai, selama perulangan berlangsung nilai akan diubah secara kontinyu
Syarat Perulangan, jika nilai memenuhi kondisi tertentu, perulangan akan dilanjutkan, jika tidak, perulangan akan dihentikan.
Perhatikan diagram berikut:
Ada beberapa jenis perulangan yang bisa digunakan dalam bahasa pemrograman C++, diantaranya adalah:
Pernyataan for
Pernyataan do .. while Pernyataan while
Pernyataan for
Pernyataan for bisa diterje ahka lakukan perulangan selama nilai memenuhi syarat perulangan, untuk mejalankan perintah (dalam blok) dengan nilai akan diubah sebanyak perubah nilai .
Jalankan perintah Nilai Awal
Nilai memenuhi
Syarat ?
Pernyataan for memiliki bentuk umum seperti berikut:
for (inisialisasi; syarat perulangan; perubah nilai) { Pernyataan 1;
Pernyataan N }
Contoh Program 1:
/**
* program untuk mencetak bilangan * dari 1 hingga 9 secara naik */
#include<iostream.h> #include<conio.h>
void main() {
for (int i = 1; i < 10; i++) {
cout << i << " ";
}
getch(); }
Hasil Eksekusi Program:
1 2 3 4 5 6 7 8 9
Contoh Program 2:
/**
* program untuk mencetak bilangan * dari 1 hingga 9 secara menurun */
#include<iostream.h> #include<conio.h>
void main() {
for (int i = 9; i > 0; i--) {
cout << i << " ";
}
Hasil Eksekusi Program
9 8 7 6 5 4 3 2 1
Pernyataan while
Pernyataan while bisa diterje ahka selama kondisi memenuhi syarat perulangan, jalankan perintah dalam blok secara berulang .
Pernyataan while memiliki bentuk umum seperti berikut:
inisialisasi;
while (syarat perulangan) { pernyataan 1;
pernyataan N;
perubah nilai;
}
Contoh Program 3:
/**
* program untuk mencetak bilangan bulat */
#include<iostream.h> #include<conio.h>
void main() {
int i = 1;
while (i < 10) {
if (i%2 == 0) cout << i << " ";
i++;
}
getch(); }
Hasil Eksekusi Program:
Contoh Program 4:
/**
* program untuk mencetak bilangan bulat */
#include<iostream.h> #include<conio.h>
void main() {
int nilai = 1;
while (nilai%2 != 0) {
cout << "Masukkan bilangan genap ";
cin >> nilai;
}
cout << "Angka " << nilai << " termasuk bilangan genap";
getch(); }
Hasil Eksekusi Program:
Masukkan bilangan genap 3 Masukkan bilangan genap 5 Masukkan bilangan genap 7 Masukkan bilangan genap 8
Angka 8 termasuk bilangan genap
Pernyataan do – while
Dalam pernyataan do – while akan menjalankan perintah terlebih dahulu, kemudian akan melakukan pengujian di akhir perulangan. Perhatikan diagram di bawah ini.
Pernyataan do - while memiliki bentuk umum seperti berikut:
inisialisasi;
do {
pernyataan 1; pernyataan N;
} while(syarat perulangan);
Dari diagram di atas dapat disimpulkan bahwa, dalam perulangan do – while, minimal akan ada satu kali perintah yang dijalankan meski kondidi perulangan tidak memenuhi syarat.
Contoh Program 5:
/**
* program untuk mencetak bilangan bulat */
#include<iostream.h> #include<conio.h>
void main() {
char jawab;
int angka;
do {
cout << "Masukkan Angka : ";
cin >> angka;
cout << "Angka " << angka << " adalah ";
cout << ( (angka % 2 == 1) ? "ganjil" : "genap" );
cout << "\nCoba lagi (Y/T) ? ";
cin >> jawab;
} while (jawab == 'y' || jawab == 'Y');
getch(); }
Jalankan perintah Nilai Awal
Nilai memenuhi
Syarat ? Ubah Nilai
Y
Hasil Eksekusi program:
Masukkan Angka : 5 Angka 5 termasuk ganjil Coba lagi (Y/T) ? y Masukkan Angka : 8 Angka 8 termasuk genap Coba lagi (Y/T) ? t
Pernyataan Break
Pernyataan break digunakan untuk keluar dari perulangan. Biasanya perintah break ini disimpan dalam percabangan.
Contoh Program 6:
#include<iostream.h> #include<conio.h>
void main() {
int i = 0;
while (i < 10) {
if (i == 7) break;
cout << i << " ";
i++;
}
getch(); }
Hasil eksekusi Program:
0 1 2 3 4 5 6 7
Pernyataan continue
Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi/perulangan berikutnya dengan mengabaikan perintah/pernyataan lain yang ada dibawahnya.
Contoh Program 7:
/**
* program untuk mencetak bilangan ganjil */
#include<iostream.h> #include<conio.h>
void main() {
int i = 0;
while (i < 10) { i++;
if (i%2 == 0) continue;
cout << i << " ";
}
getch(); }
Hasil eksekusi Program:
1 3 5 7 9
Nested Loop
Nested loop adalah perulangan yang diletakan dalam perulangan lainnya. Dalam Nested loop ini bisa menggunakan pernyataan for, while, do – while atau kombinasi dari ketiga pernyataan tersebut.
Contoh Program 8:
#include<iostream.h> #include<conio.h> #define MAX 5
void main() {
int i = 0;
while (i < MAX) {
for (int j = 0; j <= i; j++) {
cout << '*';
}
cout << endl;
i++;
}
getch(); }
Hasil eksekusi program:
*** **** *****
Contoh Program 9:
#include<iostream.h> #include<conio.h>
void main() {
for (int i = 5; i > 0; i--) {
for (int j = i; j > 0; j--) {
cout << '*';
}
cout << endl;
}
getch(); }
Hasil eksekusi Program:
***** **** *** ** *
Tugas
1. Buatlah program yang bisa menampilkan output seperti berikut:
Masukkan angka (max 10): <11>
Angka tidak boleh lebih dari 10 Masukkan angka (max 10): <5>
1 12 123 1234 12345
Coba lagi (Y/T) ? <t>
2. Buatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya:
2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
10 + 8 + 6 + 4 + 2 = 30
10 + 8 + 6 + 4 = 28
10 + 8 + 6 = 24
10 + 8 = 18
10 = 10