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