Anda di halaman 1dari 8

5.

Materi 5: Perulangan
5.1.

Sekilas tentang perulangan


Struktur perulangan secara umum terdiri dari dua bagian

yaitu:
- Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan
-

dilakukan pertama kali.


Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi

untuk melaksanakan pengulangan.


Badan (body) pengulangan, yaitu bagian program yang diulang
Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai
dilaksanakan
Bahasa C++ menyediakan tiga sintaks untuk membuat

perulangan yaitu: for. while, dan do-while


5.2.
Perulangan dengan for
Statement for mempunyai bentuk umum sebagai berikut:
for(exp1; exp2; exp3) statement;

atau:

exp1

adalah

for(exp1; exp2; exp3)


{
statement1;
statement2;
.
}

bagian

inisialisasi,

yaitu

suatu

ungkapan

yang

memberikan nilai awal suatu variable untuk perulangan. Variable ini


jug disebut dengn indeks atau loop-control variable. Misalnya x = 1.
exp2 adalah bagian kondisi, yaitu ungkapan yang menunjukkan suatu
kondisi yang harus dipenuhi agar perulangan masih dapat terus
dilakukan. Misalnya x < 10.
exp3 menunjukkan increment atau decrement, yaitu ungkapan yang
merubah nilai-nilai variable pengontrol perulanngan setiap saat
perulangan dilakukan (misalnya x++ menunjukkan nilai x akan
ditambah satu setiap perulangan dilakukan).
Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal,
syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan
terus dieksekusi.
Contoh, program untuk menuliskan kata hello world sebanyak
sepuluh kali:

Output:

Infinite Loop
Untuk

membuat

infinite

loop

dapat

dilakukan

dengan

menggunakan for-loop, dengan menghilangkan ketiga parameter


(exp1, exp2, exp3) yang ada pada for loop. Untuk keluar dari loop
dapat digunakan statement break.\
Contoh Infinite Loop:
for ( ; ; ) printf(Saintek UIN ! \n);

Program tersebut akan menampilkan kalimat: Saintek UIN ! terus


menerus tanpa henti (infinite). Untuk menghentikannya Anda bisa
menggunakan Ctrl + Break atau Ctrl + C atau tekan Ctrl + Alt + Del
atau tekan Tombol Reset.
5.3.

While
Pernyataan while merupakan salah satu pernyataan yang berguna untuk

memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan while
memungkinkan statemen-statemen yang ada didalamnya tidak diakukan sama sekali.

Sintaks :
while (exp) statements;

atau :

while(exp)
{
statement1;
statement2;
..
.
}

exp adalah ekspresi boolean yang menghasilkan nilai True (satu) atau
False (nol). Statement di-eksekusi berulang-ulang selama exp tidak
Nol.Pengetesan exp dilakukan SEBELUM statements dilaksanakan.
Contoh,

program

untuk

menampilkan

menggunakan perulangan while:

Output:

5.4.

Do-while

angka

hingga

10

Pernyataan dowhile mirip seperti pernyataan while, hanya saja pada do


while pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi.
Sintaks :

do
{
< statements >;
} while(exp);

Selama nilai exp true maka statement dieksekusi berulang-ulang.


Pengetesan exp dilakukan SETELAH meng-eksekusi statement.
Pada konstruksi while, statement atau blok statement mungkin
tidak akan pernah dilaksanakan, bila nilai ekspresi boolen (exp)
bernilai False, karena sebelum konstruksi pengulangan dimasuki

nilai ekspresi boolean (exp) terlebih dahulu diuji.


Pada konstruksi do-while statement atau blok statement pasti
dikerjakan paling sedikit satu kali, karena ekspresi boolean baru
diuji pada akhir blok pengulangan.

Beberapa cara untuk menghentikan pengulangan, ini dapat dilakukan


dengan menambah:
1. Sentinel atau Pembatas dengan kode khusus (misalkan user harus
menekan karakter x untuk keluar dari program).
2. Pertanyaan, Apakah pengulangan akan dilanjutkan.
Contoh penggunaan do-while pada pemilihan menu. Menu akan
tampil terus jika user salah menekan tombol untuk memilih menu.
#include <iostream.h>
#include <conio.h>
using namespace std;
int main()
{
int menu;
do {
system("cls");
cout << "*******************************"
cout << "* SELAMAT DATANG DI PROGRAMKU *"
cout << "*
*"
cout << "*
silahkan pilih menu:
*"
cout << "*******************************"
cout << "1. Input Data" << endl;
cout << "2. Lihat Data" << endl;
cout << "3. Hapus Data" << endl;
cout << "4. Edit Data" << endl;
cout << "5. EXIT" << endl << endl;
cout << "pilih menu: ";
cin >> menu;
} while (menu > 5 || menu < 1);

<<
<<
<<
<<
<<

endl;
endl;
endl;
endl;
endl << endl;

Lanjut dihalaman berikutnya


switch(menu)
{
case
case
case
case
case
}

1:
2:
3:
4:
5:

cout << "menu


cout << "menu
cout << "menu
cout << "menu
exit(0);

input data dipilih"; break;


lihat data dipilih"; break;
hapus data dipilih"; break;
edit data dipilih"; break;

getch();
}

Output:

Pada program diatas jika user memasukkan angka lebih besar dari 5
atau kurang dari 1 maka program akan kembali lagi menampilkan
tampilan menu awal.
Kode system("cls"); digunakan untuk membersihkan layar.
5.5.
Contoh Perulangan
1. Menghitung pangkat
Problem: program untuk menghitung pangkat suatu bilangan.
Program akan meminta dua input dari user, m dan n. Bilangan
m akan menjadi bilangan yang akan dipangkatkan, dan n
menjadi pangkat.
Solve: menggunakan perulangan dengan pseudo code berikut:
hasil = 1;
for(i=0;i<n;i++) hasil *= m;
Program:

Output:

2. Menghitung faktorial
Problem: program untuk menghitung nilai faktorial suatu
bilangan (N). Contoh
3! = 3 x 2 x 1 = 6
Solve: menghitung faktorial dapat menggunakan perulangan
menurun:
faktorial = 1;
for(i=N;i>=1;i--) faktorial *= i;
Program:

Output:

3. Menghitung nilai rata-rata dari sejumlah bilangan yang


dimasukkan user.
Problem: program

untuk

menghitung

nilai

rata-rata

dari

sejumlah N bilangan yang ditentukan user.


Solve: input program adalah N. Rata-rata dihitung dengan
rumus: jumlah seluruh bilangan dibagi N.
Program:
/*program menghitung rata-rata*/
#include <iostream.h>
#include <conio.h>
using namespace std;
int main()
{
int bil, N;
double jumlah, rata_rata;
cout << "jumlah input: ";
cin >> N;
jumlah = 0;
for(int i=0;i<N;i++)
{
cout << "input bilangan ke-" << (i+1) << ": ";
cin >> bil;
jumlah += bil;
Output:
}
rata_rata = jumlah / N;
cout << "Jumlah seluruh bilangan = " << jumlah << endl;
cout << "Rata-rata = " << jumlah << " / " << N << " = " <<
rata_rata;
}

getch();

5.6.
Exercise
1. Buatlah program untuk menjumlahkan seluruh bilangan ganjil
dari 1 hingga 100.
2. Buatlah program untuk menampilkan deret fibonacci sebanyak
N yang dimasukkan user.
Deret fibonacci: 1 1 2 3 5 8 .....
3. Suatu program memiliki 4 menu, yaitu: (O) open file, (S) save
file, (E)edit file, dan (X) exit. Masukan user adalah pilihan menu
yang diwakili dengan karakter O, S, E, dan X. Karakter yang
dimasukkan menu tidak harus huruf besar, user juga dapat
menginputkan huruf kecil. Menu akan terus berulang jika user

tidak menginputkan salah satu dari 4 karakter tersebut. Buatlah


programnya.
4. Buatlah program dengan menggunakan perulangan untuk
menampilkan piramida dengan tinggi yang di tentukan user.
Contoh bentuk piramida dengan tinggi = 3
*
***
*****
5. Buatlah program login, dimana user akan menginputkan
username dan password. Jika user salah memasukan username
dan

password

lebih

dari

kali,

maka

program

akan

menampilkan pesan KESEMPATAN ANDA HABIS. Isi username


dan password sudah default yaitu untuk username adalah
namauser dan isi password adalah 12345.
6. Buatlah program untuk menampilkan bilangan prima antara 1
hingga 100.
7. Buatlah program

untuk

menghitung

perpangkatan

dua

bilangan. Input ada dua bilangan yaitu, bilangan dan pangkat.


Misalkan bilangan = 5. Pangkat = 2. Maka program akan
menghitung 5 pangkat 2 dan akan menampilkan hasilnya, yaitu
25

Anda mungkin juga menyukai