PERULANGAN
![]() |
| berputar terus berulang kali sumber : www.rc-airplane-world.com |
Perulangan (looping) digunakan untuk mengulang sebuah blok pernyataan selama kondisi yang diberikan terpenuhi. Bahasa C menyediakan beberapa kata kunci yang dapat digunakan untuk perulangan, yaitu
1. for,
2. while dan
3. do-while.
1. Perulangan FOR
Flowchart struktur for :
![]() |
| Flowchart struktur for |
Dari gambar flowchart diatas dapat dijelaskan bahwa instruksi1, instruksi2, instruksi3 akan dikerjakan berulang yang dimulai dari nilai_awal sampai nilai_akhir yang diberikan. Jika pengulangan sudah sampai pada kondisi nilai_akhir yang diberikan maka pengulangan akan berhenti.
Konstruksi FOR digunakan untuk menghasilkan pengulangan sejumlah kali yang telah dispesifikassikan. Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi.
Struktur dasar perulangan for
===========================================================
for (inisialisasi variabel; kondisi; counter) {
}
===========================================================
Penjelasan :
inisialisasi variabel, memberikan nilai awal pada variabel sebelum melakukan perulangan.
kondisi, berupa ekspresi boolean yang menghasilkan nilai TRUE (1) atau FALSE (0). Perulangan akan tetap dilakukan selama kondisi yang diberikan TERPENUHI (TRUE).
counter, digunakan untuk mengubah nilai variabel selama perulangan sampai kondisi terpenuhi.
Pada perulangan for, variabel akan diberikan nilai awal terlebih dahulu. Kemudian akan diperiksa apakah memenuhi kondisi yang telah ditentukan. Jika kondisi yang ditentukan terpenuhi, maka perulangan dilakukan. Jika tidak, maka blok pernyataan perulangan for akan dilewatkan.
Contoh 1
#include <iostream>
using namespace std;
int main() {
int i; /* Deklarasi variabel i */
/* Inisialisasi variabel i = 0.
* Perulangan akan berlangsung selama nilai variabel i LEBIH KECIL DARI 10.
* Jika nilai variabel i LEBIH BESAR SAMA DENGAN 10, maka perulangan akan BERHENTI.
* Nilai variabel i akan ditambah 1 untuk setiap kali perulangan.
*/
for(i = 0; i < 10; ++i){
/* Mencetak nilai variabel i ke layar pada setiap perulangan */
cout<<"\n"<<i<<" Selamat Belajar C++";
}
return 0;
}
Output
Contoh 2
#include <iostream>
/* Jika inisialisasi variabel untuk perulangan dilakukan di luar parameter for,
* maka bagian inisialisasi variabel dapat dikosongkan*/
for (; i < 10; ++i) {
/* Mencetak nilai variabel i ke layar pada setiap perulangan */
cout<<"\n"<<i<<" Selamat Belajar C++";
}
return 0;
}
Output
Contoh 3 :
#include <iostream>
using namespace std;
int main() {
int i = 0; /* Deklarasi dan inisialisasi variabel i = 0 */
/* Jika inisialisasi variabel untuk perulangan dilakukan di luar for,
* maka bagian inisialisasi variabel dapat dikosongkan
*/
/* Jika update variabel dilakukan di luar parameter for,
* maka bagian update variabel dapat dikosongkan
*/
for (; i <= 9;) {
/* Mencetak nilai variabel i ke layar pada setiap perulangan */
cout<<i<<" Selamat Belajar C++\n";
/* Update variabel i dengan menambahkan nilai variabel i dengan 1 */
++i;
}
return 0;
}
Output :
Contoh 4
#include <iostream>
using namespace std;
int main() {
int i; /* Deklarasi variabel i */
/* Inisialisasi variabel i = 10.
* Perulangan akan berlangsung selama nilai variabel i LEBIH BESAR DARI 0.
* Jika nilai variabel i LEBIH KECIL SAMA DENGAN 0, maka perulangan akan BERHENTI.
* Nilai variabel i akan dikurang 1 untuk setiap kali perulangan.
*/
for(i = 10; i > 0; --i){
/* Mencetak nilai variabel i ke layar pada setiap perulangan */
cout<<i<<" Selamat Belajar C++\n";
}
return 0;
}
Output :
Contoh 5
Di dalam for juga dapat dilakukan perulangan lagi yang dinamakan nested looping (perulangan bersarang).
#include <iostream>
using namespace std;
int main() {
int i, j; /* Deklarasi variabel i dan j */
for (i = 0; i < 10; ++i) {
/* Perulangan for j akan dilakukan sebanyak i kali
* Dalam kasus ini, for j akan diulang sebanyak 10 kali
*/
for (j = 0; j < 5; ++j) {
/* Mencetak nilai variabel j ke layar pada setiap perulangan */
cout<<" "<<i;
}
/* Mencetak baris baru */
cout<<endl;
}
return 0;
}
output :
Contoh 6 :
#include <iostream>
using namespace std;
int main() {
int i, j; /* Deklarasi variabel i dan j */
for (i = 0; i < 10; ++i) {
/* Perulangan for j akan melakukan
* perulangan selama j LEBIH KECIL SAMA DENGAN i
*/
for (j = 0; j <= i; ++j) {
/* Mencetak nilai variabel j ke layar pada setiap perulangan */
cout<<" "<<i;
}
/* Mencetak baris baru */
cout<<endl;
}
return 0;
}
Output :
Contoh 6 :
#include <iostream>
using namespace std;
int main(){
int a, i;
for(a=5;a>0;a--){
for(i=a;i>0;i--){
cout<<" * ";
}
cout<<endl;
}
for(a=0;a<5;a++){
for(i=0;i<=a;i++){
cout<<" * ";
}
cout<<endl;
}
cout<<"\n\n";
return 0;
}
Output :
Penjelasannya :
FOR 1 :
a=5 a>0 (5>0) True, selanjutnya melakukan proses For
yang didalamnya terlebih dahulu.
i=a (i=5) 5>0 True, maka akan mencetak * dan membuat
baris baru
nilai i sekarang menjadi 4 karena i - - (5-1)
i=4, 4>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 3 karena i - - (4-1)
i=3, 3>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 2 karena i - - (3-1)
i=2, 2>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 1 karena i - - (2-1)
i=1, 1>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 0 karena i - - (1-1)
i=0, 0>0 False, maka proses akan berhenti. Dan
melanjutkan proses for yang diatas
Kembali ke for yang pertama yaitu a - - (5-1)
a=4 a>0 (4>0) True, selanjutnya melakukan proses For
yang didalamnya terlebih dahulu.
i=a (i=4) 4>0 True, maka akan mencetak * dan membuat
baris baru
nilai i sekarang menjadi 3 karena i - - (4-1)
i=3, 3>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 2 karena i - - (3-1)
i=2, 2>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 1 karena i - - (2-1)
i=1, 1>0 True, maka akan mencetak * dan membuat baris
baru
nilai i sekarang menjadi 0 karena i - - (1-1)
i=0, 0>0 False, maka proses akan berhenti. Dan
melanjutkan proses for yang diatas
Dan Seterusnya sampai nilai For a berhenti yaitu ketika a=0.
Nanti hasil outputan akan seperti ini :
Untuk membuat segitiga satu maka kebalikan dari FOR 1
Sekian Perulangan For C++, untuk while di bahas di lain page.
PERULANGAN while
Terima Kasih
Referensi :
Buku Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Rinaldi Munir: 2011.
Referensi :
Buku Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Rinaldi Munir: 2011.












0 Komentar
Penulisan markup di komentar