1. Pendahuluan
Kelebihan
yang dimiliki mesin atau dalam hal ini komputer bila dibandingkan manusia
adalah keampuannya melakukan tugas yang sama berulang kali tanpa mengeluh lelah
dan bosan.Di dalam algoritma, melakukan proses berulang disebut dengan
pengulangan atau looping atau repetition jika suatu konsisi dipenuhi atau
sebaliknnya.
2. Struktur Pengulangan
Struktur pengulangan terdiri atas dua bagian:
- kondisi
pengulangan, yaitu ekspresi bolean yang harus dipenuhi untuk melaksakan
pengulangan.
- Isi atau
badan pengulangan, yaitu satu atau lebih pernyataan (aksi ) yang akan
diulang.
Di samping itu, struktur pengulangan biasanya
disertai dengan bagian:
- inisialisasi,
yaitu pernyataan yang dilakukan sebelum pengulangna dilakukan pertama kali
- terminasi,
yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan
inisialisasi dan teminasi tisak selalu harus ada,
namun berbagia kasus inisalisasi umumnya diperlukan.
Perintah atau notasi dalam struktur pengulangan
adalah:
- Perintah for
- Perintah do .. while
- Perintah while
- Perintah Continue dan break
- Perintah Go To
2.1. Perintah for
Perintah for
digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi
apapun. Perintah ini dapat digunakan bila anda sudah tau berapa kali Andaakan
mengulang satu atau beberapa pernyataan. Bentuk umum pernyataan for adalah
Dalam algoritma
For
peubah nilai ß nilai awal to nilai akhir di
Aksi
End
Dalam bahasa pemrograman C++
For (peubah=nilai awal; peubah=nilai akhir,
keadaan)
{
Aksi;
}
keterangan:
- peubah ß nilai awal mempunyai arti sebagai inisialisasi
- peubah ß nilai akhir mempunyai arti sebagai terminasi/konsidi untuk
keluar dari looping
- keadaan mempunyai dua pengertian
menaik (ascending) atau menurun (descending)
- Jumlah aksi diulang sebanyak nilai
akhir- nilai awal + 1
Kasus 6.1
Buatlah algoritma dan program untuk mencetak nama
Anda sebanyak 10 kali
Jawab:
Algoritma untuk memecahkan masalah tersebut di atas
adalah:
- k bertipe integer
- for k =1 to 10 do
- cetak “Nama Anda”
- end
Program
#include<iostream.h>
void main()
{
int k;
for(k=1;k<=10;k++)
cout <<"Nama
Anda\n";
}
Latihan 1:
- Buatlah
program untuk mencetak deret 1 – 10 ?
1 3 5 7 9 11 13 15 17 19
- Buatlah
program untuk mencetak deret genap 10 suku?
2 4 6 8 10 12 14 16 18 20
- Buatlah
program untuk mencetak deret kuadrat 5 suku?
1 4 9 16 25
2.2. Perintah Do..While
Perintah
ini menyatakan pengulangan proses selama kondisi tertentu. Bentuk umumnya
adalah sebagai berikut:
Do
Pernyataan;
While
(keadaan);
Atau
Do
{
Pernyataan;
Pernyataan;
}
while (keadaan)
Setiap
pengulangan dikerjakan maka kondisi akan dicek. Jika masih benar, proses loop
dilakukan lagi dan jika salah maka proses loop berhenti dan berlanjut pada
perintah selanjutnya. Lebih jelaskan perhatikan contoh berikut ini:
Kasus 6.2
Buatlah algortima dan pemrogramn untuk
mencetak tanggal lahir Anda sebanyak 10 kali.
Jawab:
Algoritma dari permasalahan di atas
adalah:
- Tentukan nilai
awal perhitungan = 0
- Lakukan
pengulangan
- Cetak tanggal
lahir
- Nilai
perhitungan bertambah Satu
- Ulangi langkah sampai nilai
perhitungan kurang dari 10
Program menggunakan Do..While
#include<iostream.h>
void
main()
{
int
A=0;
do
{
cout<<"Belajar Pemrograman C++ \n";
A++;
}
while
(A<10);
}
Latihan 2
Kerjakan latihan 1 di atas dengan menggunakan perintah Do..while,
tapi deret tersebut menurun.
2.3. Perintah While
Perintah While ini
prinsipnya sama dengan perintah Do..While hanya pengujian kondisinya terletak
pada awal loop.
Bentuk umumnya adalah sebagai berikut:
While
(keadaan)
{
Pernyataan;
Pernyataan;
…
}
Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan
yang dibatasi dengan tanda {}. Pernyataan itu akan dijalankan jika kondisinya
masih benar.
Kasus 3:
Buatlah algoritma dan pemrograman untuk mencetak deret berikut ini :
10 9 8 7 6 5 4 3 2 1
Algoritma untuk kasus di atas:
- Tentukan nilai awal
- Lakukan
proses pengulangan selama i > 0
- Cetak bilangan
- Ulangi langkah 2 sampai batas
akhir
Program untuk masalah tersebut adalah:
#include<iostream.h>
void main()
{
int A=10;
while (A>0)
{
cout<<A<<" ";
A--;
}
}
2.4. Perintah continue dan
break
Pada beberapa kasus, Anda mungkin ingin
menghentikan suatu pengulangan di tengah jalan untuk menghentikan pengulangan,
gunakanlah pernyataan break. Anda bisa menggunakan pernyataan break pada
pernyataan for, do..while dan while do. Perhatikan program berikut ini:
#include<iostream.h>
void main()
{
int x=0;
while (x>=0)
{
x++;
cout<<x<<"\n";
if (x>100)
break;
}
}
Bila dilihat sekilas, looping di atas seperti
tidak akan pernah berakhir karena x selalu ditambah 1 padahal kondisi yang
harus dipenuhi adalah (x>=0). Namun bila dijalankan, setelah x lebih besar
dari pada 100, pengulangan akan berhenti. Hal ini
dikarenakan adanya pernyataan break.
Pernyataan continue adalah bentuk pernyataaan khusus lain yang
digunakan pada pengulangan. Pernyataan
ini digunakan untuk mengembalikan aliran program ke pengujian kondisi
pengulangan. Dengan kata lain, pernyataan di bawah continue akan diabaikan.
Berikut ini contoh program yang menggunakan
perintah Continue:
#include<iostream.h>
void main()
{
int i=0;
for (i=0;i<=50;i++)
{
if(i%3!=0)
continue;
cout<<i<<" ";
}
}
Program tersebut di atas akan menghasilkan semua
bilangan kelipatan iga yang kurang dari 50. Mengapa bisa demikian? Karena pada
saat nilai pencacah pengulangan atidak habis dibagi 3, program akan memeanggil
pernyataan continue, akibatnya cout<<i<<" "; tidak dilaksanakan.
Kasus 4
Buatlah algoritma dan program untuk menampilkan
bilangan dari 0 sampai 6, ketika proses pencetakan bilangan pada 4, bilangan 4
ini akan dilewati dan dilanjutkan dengan bilangan 5 dan pada bilangan 6 program
akan berhenti sehingga hasil terakhir adalah 0, 1, 2, 3, 5, 6
Algoritma dari kasus di atas adalah sebagai
berikut:
- Tentukan
nilai awal, batas akhir dan pertambahan nilai
- Lakukan pengulangan sesuai dengan
langkai
- Jika
dalam pengulangan bilangan bernilai dengan 4, maka pengulangan berhenti
dan dilanjutkan ke bilangan selanjutnya.
- Cetak bilangan
- jika
dalam pengulangan bernila 6, maka pengulangan dihentikan
Program untuk kasus di atas adalah:
#include<iostream.h>
void main()
{
int i=0;
for (i=0;i<10;i++)
{
if(i==4)
continue;
cout<<"Bilangan:
"<<i<<"\n";
if (i==6)
break;
}
}
Dari program di atas, dapat dilihat pengulangan
sari suatu bilangan sebannyak 10 kali. tapi pada pengulangan i=4, ada perintah
continue. Dengan perintah ini, maka program langsung meloncat ke loop
berikutnya dan ketika sampai pengulangan i=6 ada perintah break. Otomatis
program akan berhenti dan tidak sampai ke i=10.
2.5. Perintah GOTO
Perintah
GOTO digunakan untuk mengalihkan proses menuju ke suatu tabel tertentu. Lebih
jelaskan perhatikan contoh berikut ini:
Kasus 5
Buatlah algoritma dan program untuk menampilkan
tulisan “C++ sangat mudah sekali” sebanyak 10 kali.
Algoritma kasus tersebut adalah:
- Tentukan nilai awal pencetakan = 1
- Tentukan
nama label dimana kondisi untuk pencetakan tulisan dikenakan padanya
- Cetak tulisan
- Lakukan
pengujian, jika nilai awal pencetakan kurang dari 10 ulangi langkah 3
- Jika
nilai pencetakan lebih dari 10, proses pencetakan dihentikan dan program
akan selesai.
Program untuk kasus di atas adalah
#include<iostream.h>
void main()
{
int n=1;
cetak:
cout<<"C++ sangat Mudah\n";
if (n++<10)
goto cetak;
}