Operasi perulangan selalu dijumpai didalam bahasa pemrograman, disini akan dibahas beberapa perintah perulangan diantaranya.
A. Pernyataan for
Perulangan yang pertama adalah for. Bentuk umum pernyataan forsebagai berikut :
for( inisialisasi; syarat pengulangan; pengubah nilaipencacah )
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan didalam tanda kurung.
for( inisialisasi; syarat pengulangan; pengubah nilaipencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Kegunaan dari masing-masing argumen for diatas adalah :
• Inisialisasi: merupakan bagian untuk memberikan nilai awal untuk variabel variabel tertentu.
• Syarat Pengulangan: memegang kontrol terhadap pengulangan, karena bagian ini yang akan menentukan suatu perulangan diteruskan atau dihentikan.
• Pengubah Nilai Pencacah:mengatur kenaikan atau penurunan nilai pencacah.
Contoh :
Sebagai contoh program untuk mencetak bilangan dari1 hingga 10 secara menaik, secara menurun dan menampilkan bilangan ganjil, sebagai berikut:
Contoh 1:
/* --------------------------- */
/* Program for - bilangan naik */
/* --------------------------- */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int a;
clrscr( );
for(a = 1; a <= 10; ++a)
cout>>a;
getch( );
}
Contoh 2 :
/* ---------------------------- */
/* Program for - bilangan turun */
/* ---------------------------- */
# include <stdio.h>
# include <conio.h>
#include<iostream.h>
main( )
{
int a;
clrscr( );
for(a = 10; a >= 1; --a)
cout<<a;
getch( );
}
Contoh 3 :
/* ----------------------------- */
/* Program for - bilangan ganjil */
/* ----------------------------- */
#include <stdio.h>
#include <conio.h>
#include<iostream.h>
main( )
{
int a;
clrscr( );
for(a = 1; a <= 10; a+=2)
cout<<a;
getch( );
}
1.) Pernyataan nested - for
Pernyataaan Nested for adalah suatu perulangan for didalam perulangan for yang lainnya. Bentuk umum pernyataan Nested forsebagai berikut :
for( inisialisasi; syarat pengulangan; pengubah nilaipencacah )
{
for( inisialisasi; syarat pengulangan; pengubah nilaipencacah)
{
pernyataan / perintah;
}
}
catatan :
Didalam penggunaan nested-for, perulangan yang di dalam terlebih dahulu dihitung hingga selesai, kemudian perulangan yang diluar diselesaikan.
Contoh 4 :
/* ------------------------- */
/* Program for - Nested for */
/* ------------------------- */
#include<stdio.h>
#include<conio.h>
main( )
{
int a, b;
clrscr( );
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
printf(" %d ",a);
}
getch();
}
2.) Perulangan Tidak Berhingga
Perulangan tak berhingga merupakan perulangan ( loop ) yang tak pernah berhenti atau mengulang terus, hal ini sering terjadi disebabkan adanya kesalahan penanganan kondisi yang dipakai untuk keluar dari loop.
Sebagai contoh, jika penulisan perintah sebagai beriku
/* ------------------------- */
/* Program for Tdk Berhingga */
/* ------------------------- */
#include<stdio.h>
#include<conio.h>
main( )
{
int bil;
clrscr( );
for (bil = 60; bil >=10; bil++)
printf("%d", bil);
getch( );
}
Pada pernyataan ini tidak akan berhenti untuk menampilkan bilangan menurun, kesalahan terjadi pada pengubah nilai pencacah, seharusnya penulisan yang benar berupa
bil - -
Akan tetapi yang ditulis adalah :
bil ++
Oleh karena kondisi bil >= 1 selalu bernilai benar ( karena bil bernilai 6), maka
pernyataan
printf("%d", bil);
akan terus dijalankan.
Jika terjadi hal semacam ini, untuk menghentikan proses yang terus menerus semacam ini denan menekan tombol CTRL – PAUSE atau CTRL – BREAK.
B. Pernyataan goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program
ke-pernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal
(identifier) yang diikuti dengan tanda titik dua ( :). Bentuk pemakaian gotosebagai
berikut:
goto label;
Contoh Penggunaan goto, dapat dilihat pada program berikut:
Contoh-6 :
/* ------------------------------ */
/* Program dengan pernyataan goto */
/* ------------------------------ */
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main( )
{
int a, b;
char lagi;
atas: // deklarasi label
clrscr( );
cout>>"Masukkan Bilangan = "; cin<<a;
b = a % 2;
printf("Nilai %d %% 2 adalah = %d",a, b);
printf("\n\nIngin Hitung Lagi [Y/T] : ");
lagi = getche() ;
if (lagi == 'Y' || lagi == 'y')
goto atas; // penggunaan label
getch( );
}
C. Pernyataan while
Pernyataan perulangan while merupakan instruksi perulangan yang mirip dengan perulangan for. Bentuk perulangan whiledikendalikan oleh syarat tertentu, yaitu perulangan akan terus dilaksanakan selama syarat tersebut terpenuhi. Bentuk umum perulangan while, sebagai berikut:
Bentuk umum perulangan while, dengan lebih dari perintah / pernyataan, sebagai berikut:
while ( syarat )
Pernyataan / perintah ;
while ( syarat )
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}
Contoh :
/* ------------------- */
/* Program while01.cpp */
/* ------------------- */
#include <stdio.h>
#include <conio.h>
main( )
{
int bil=1;
clrscr( );
while(bil<=10)
{
printf(" %d ",bil);
++bil;
}
getch( );
}
D. Pernyataan do - while
Pernyataan perulangan do - while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.
Bentuk umum perulangan do - while, sebagai berikut :
do
pernyataan / perintah ;
while ( syarat );
Bentuk umum perulangan do - while, dengan lebih dari perintah / pernyataan,
sebagai berikut:
do
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}
while ( syarat );
Contoh :
/* ------------------ */
/* Program do - while */
/* ------------------ */
#include <stdio.h>
#include <conio.h>
main( )
{
int bil=2;
clrscr( );
do
{
printf(" %d ",bil);
bil+=2;
}
while(bil<=10); getch( );
}
E. Pernyataan break
Pernyataan break telah dibahas pada pernyataan pengambilan keputusan switch. Pernyataan break ini berfungsi untuk keluar dari struktur switch. Selain itu pernyataan breakberfungsi keluar dari perulangan ( for, while dan do-while). Jika pernyataan break dikerjakan, maka eksekusi akan dilanjutkan ke pern yataan yang terletak sesudah akhir dari badan perulangan ( loop ).
Contoh 1:
/* ------------------------------- */
/* Program do - while dengan break */
/* ------------------------------- */
#include <stdio.h>
#include <conio.h>
main( )
{
int bil = 1;
clrscr( );
do
{
if (bil >= 6)
break;
printf(" %d ",bil);
}
while(bil++);
getch( );
}
Contoh 2 :
/* ----------------------------- */
/* Perulangan FOR dengan break; */
/* ----------------------------- */
#include <stdio.h>
#include <conio.h>
main( )
{
int a=3, b=2, c=1, bil;
clrscr( );
printf("Bil-A | Bil-B | Bil-C\n");
printf("-------------------------");
for(bil=1; bil<=10; ++bil)
{
a+=b; b+=c; c+=2;
printf("\n%d \t| %d \t| %d",a, b, c);
if(c==13)
break;
}
getche( );
}
F. Pernyataan continue
Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi (proses) berikutnya pada loop yang sama, dengan kata lain mengembalikan proses yang sedang dilaksanakan ke-awal loop lagi, tanpa menjalankan sisa perintah dalam loop tersebut.
Contoh :
/* ----------------------------- */
/* Perulangan FOR dengan coninue */
/* ----------------------------- */
#include <stdio.h>
#include <conio.h>
main( )
{
int bil;
clrscr( );
for(bil=1; bil<=10; ++bil)
{
if(bil==6)
continue;
printf(" %d ",bil);
}
getch( );
}