Melakukan Looping Dengan perintah “for”
berikut ini adalah bentuk penulisan perintah for
for (expression1; expression2; expression3) {
statement1;
statement2;
.
.
.
}
Expression1 adalah ekspresi yang hanya dijalankan 1 kali yaitu pada saat perintah”for” dijalankan
untuk pertama kalinya
Expression2 adalah ekspresi pengkondisian dimana expression2 dijalankan setelah expression1 sukses
dijalankan untuk pertama kalinya dan kemudian expression2 dicek terus menerus berulang tiap kali
perintah looping berhasil dijalankan. Jika expression2 memberikan nilai bukan 0, statement dalam
kurung kurawal akan dijalankan. Bila expression2 memberikan nilai 0, statement tidak dijalankan dan
perintah for berhenti .
Expression3 ridak dijalankan ketika perintah for dijalankan untuk pertama kalinya. Epression3 ini
dijalankan setiap kali proses pengulangan berhasil dilakukan sebelum kembali dilakukan pengecekan
terhadap expression2.
Contoh penulisan perintah for:
for (i=0; i<16; i++)
{
printf(“halo”); } Maka “halo” akan di cetak terus menerus selama nilai i<16. Ketika i=16, halo tidak di cetak dan perintah for berhenti dijalankan
The Null Statement
Null statement adalah expresi yang tidak memiliki pernyataan
contoh:
perintah
for (i=0; i<8; i++)
sum += i;
dan
for (i=0; i<8; i++);
memiliki perintah for yang mirip, tetapi kedua perintah diatas akan menunjukkanhasil yang
berbeda. Perintah pertama akan terus mengulang “sum+=i” selama kondisi dipenuhi.
Sedangkan perintah kedua tidak mengulang apa-apa. Perintah kedua inilah yang disebut
dengan null statement
Menambahkan lebih banyak ekspresi ke perintah for
Kita bisa menambahkan lebih banyak ekspresi kedalam perintah for dengan menggunakan
tanda koma (“,”) dalam stiap ruang untuk ekspresi. Contoh:
for (i=0, j=10; i<10, j>0; i++, j--){
/* statement block */
}
Perintah diatas berarti statement awal memberi nilai i dan j dengan 0 dan 10. Kemudian
looping terus berjalan selama kondisi terpenuhi, yaitu i<10 dan j>0 dengan penambahan
nilai i dan pengurangan nilai j tiap akhir looping. Bila salah satu kondisi (i<10 atau j>0) tidak
terpenuhi dan memberikan nilai 0, looping akan berhenti dilakukan. Perintah for dapat memiliki
jumlah ekspresi yang berbeda-beda. Namun tetap saja perintah tersebut akan terus melakukan
looping selama ekspresi pengkondisian terpenuhi seluruhny.
Infinite Loop
Infinite loop dilakukan bila kita tidak dapat menentukan secara langsung kapan looping akan
berhenti. Jadi statement akan terus dijalankan terus menerus. Tapi dalam penggunaannya
kita harus menentukan kondisi kapan looping akan berhenti.
Contoh:
printf("Enter a character:\n(enter x to exit)\n");
for ( c=' `; c != `x'; )
{
c = getc(stdin);
putchar(c);
}
perintah diatas akan terus melakukan looping yaitu menampilkan karakter yang kita inputkan
secara berulang-ulang selama karakter yang diinputkan bukan 'x'. Ketika user measukkan
karakter 'x', looping akan berhenti dilakukan.
Perintah Looping “while”
Penulisan perintah while:
while (expression) {
statement1;
statement2;
.
.
.
}
Sama seperti 'for' expression disini emnunjukkan ekspresi yang harus dipenuhi agar looping
dijalankan. Selama expression memberikan nilai bukan 0, looping terus dijalankan. Ketika
expression memberikan nilai 0, looping berhenti. Statement menunjukkan perintah yang akan
diulang. Bila hanya ada 1 statement, tidak perlu diberi kurung kurawal.
Infinite while
while (1) {
statement1;
statement2;
.
.
.
}
Pada perintah diatas, nilai yang diberikan oleh ekspresi pengkondisian adalah 1 secara terus
menerus. Jadi pengulangan akan terus dijalankan tanpa pernah berhenti. Maka dari itu, pada
perintah while kita perlu untuk menambahkan kondisi tertentu pada while agar pengulangan
dapat berhenti. Contoh:
while (c != `x’) {
c = getc(stdin); putchar(c); } do-while loop penulisan do-while loop: do { statement1; statement2; . . . } while (expression); prinsipnya sama dengan looping yang lain. Hanya saja pengecekan kondisi dilakukan setelah perintah diulang. Perlu diperhatikan juga bahwa perintah do-while berakhir dengan tanda titik koma(”;”). Berbeda dengan perintah looping yang lainnya. Contoh penggunaan:
do {
printf("The numeric value of %c is %d.\n", i, i);
i++;
} while (i<72);
Nested Loop
Kita dapat menggunakan perintah looping didalam perintah looping lainnya yang disebut nested
loop. Dengan nested loop komputer akan menjalankan perintah looping yang didalam terlebih dahulu
baru kemudian menjalankan perintah loop yang diluar.
Contoh:
for (i=1; i<=3; i++) { /* outer loop */
printf("The start of iteration %d of the outer loop.\n", i);
for (j=1; j<=4; j++) /* inner loop */
printf(" Iteration %d of the inner loop.\n", j);
printf("The end of iteration %d of the outer loop.\n", i);
}
Dirangkum dari : http://aelinik.free.fr/c/ch07.htm