Sunday, February 8, 2009

Perintah for, while, dan do-while

Ketiga perintah ini digunakan dalam GNU C untuk melakukan perulangan.
Perbedaannya terletak pada syntax (format penulisan) serta fungsinya.
Perintah for hanya bisa melakukan perulangan yang terhitung, sedangkan perintah while dan do-while bisa melakukan perulangan baik yang terhitung maupun tidak terhitung.

Kita bahas perintah for dahulu... Yok ayoookk.. S'mangat! for itu mudah dan menyenangkan!! ^^
Syntax:
__for (inisialisasi;kondisi;modifier)
__{
____statement;
__}


Keterangan:
Untuk mempermudah pembahasan, kita beri nomor
1 untuk bagian inisialisasi,
2 untuk bagian kondisi,
3 untuk bagian modifier, dan
4 untuk bagian statement. OK?
Pertama, program hanya akan menjalankan bagian 1 sebanyak sekali, lalu dicek pada bagian 2. Bila benar, bagian 3 akan dijalankan, diikuti bagian 4.
Setelah itu, program akan kembali melakukan cek pada bagian 2. Apabila masih benar, akan dilanjutkan dengan menjalankan bagian 3 dan 4 seperti sebelumnya.
Program akan terus berputar pada bagian 2 - 3 - 4. Sampai kapan? Sampai ketika bagian 2 (kondisi) tidak terpenuhi (hasil pengecekan bernilai salah).

Jadi, kesimpulannya:
Program akan berjalan dengan urutan 1 - 2 - 3 - 4 - 2 - 3 - 4 - 2 - 3 - 4 dst. sampai dengan bagian 2 (kondisi) tidak terpenuhi.
Perhatikan: bagian 1 hanya dilakukan sekali, lalu jalannya perulangan akan berputar pada bagian 2 - 3 - 4.

Contoh penggunaan perintah for:
__for(a=1;a<=3;a=a+1)
__{
____printf("Ini baris ke %i\n",a);
__}

Program tersebut akan membuat tampilan sbb:
__Ini baris ke 1
__Ini baris ke 2
__Ini baris ke 3


Sekarang kita bahas perintah while dan do-while...
Syntax while:
__while(kondisi)
__{
____statement;
__}

Syntax do-while:
__do
__{
____statement;
__}
__while(kondisi);

Persamaan kedua perintah di atas adalah sama-sama hanya menggunakan satu parameter, yaitu kondisi.
Perbedaannya adalah pada perintah while pengecekan dilakukan pada awal blok, sedangkan perintah do-while melakukan pengecekan pada akhir blok.
Hati-hati: Pada akhir perintah do-while dilengkapi dengan ; (titik koma), lain dengan perintah for dan while.

Lalu, muncul pertanyaan:
Bagaimana perintah while dan do-while melakukan perulangan seperti perintah for?
Padahal, perintah while dan do-while hanya menggunakan 1 parameter (kondisi), sedangkan perintah for menggunakan 3 parameter (inisialisasi, kondisi dan modifier).
Jawabnya adalah bagian inisialisasi dan modifier kita masukkan dalam baris program biasa sedemikian sehingga alur perulangan menjadi sama dengan perintah for.

Contoh penggunaan perintah while dan do-while untuk membuat tampilan yang sama dengan contoh perintah for di atas:
Dengan menggunakan perintah for:
__for(a=1;a<=3;a=a+1)
__{
____printf("Ini baris ke %i\n",a);
__}

Dengan menggunakan perintah while:
__a=1;
__while(a<=3)
__{
____printf("Ini baris ke %i\n",a);
____a=a+1;
__}

Dengan menggunakan perintah do-while:
__a=1;
__do
__{
____printf("Ini baris ke %i\n",a);
____a=a+1;
__}
__while(a<=3);

Bisa kita lihat, bahwa bagian inisialisasi diletakkan di luar blok perulangan, sedangkan bagian modifier diletakkan di dalam blok perulangan.
Mengapa? Why? Opo'o?
Hal ini sesuai dengan alur perulangan yang akan berjalan (ingat urutan perulangan pada perintah for), yaitu 1 - 2 - 3 - 4 - 2 - 3 - 4 - 2 - 3 - 4 dst. (kalau lupa apa itu 1, 2, 3 dan 4, scroll dan lihat di atas. OC? hehe.. Semangat2!! while dan do-while itu mudah dan menyenangkan!! ^^)
Perhatikan: Karena bagian inisialisasi [a=1;] hanya dilakukan sekali, maka ia harus diletakkan sebelum blok perulangan. Sebaliknya, bagian modifier [a=a+1;] yang dilakukan berulang harus diletakkan dalam blok perulangan.

OK, sekian untuk post pertama. Saia harap post ini bisa memberikan penjelasan tambahan mengenai materi yang disampaikan di kelas. Bila ada pertanyaan bisa langsung memberikan comment...

Thx,
tomiko_lin