Ahmad Muhardian
Apa yang akan kamu lakukan saat disuruh mencetak kalimat berulang-ulang?
Misalnya:
Tolong tampilkan kalimat "Tutorial Pemrograman C!"
sebanyak 10x ke layar!
Mungkin kamu bisa menuliskannya dengan fungsi printf()
sebanyak 10 kali seperti ini:
#include <stdio.h>void main(){ printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n"); printf("Tutorial Pemrograman C!\n");}
Hasilnya:
Apakah boleh seperti ini?
Ya, boleh-boleh saja.
Tapi…
Bagaimana kalau nanti mau menampilkan sebanyak 1000
kali.
Pasti capek donk ngetiknya.
Karena itu, kita harus menggunakan perulangan.
Perulangan akan membantu kita mengeksekusi kode yangberulang-ulang, berapapun yang kita mau.
Ada empat macam bentuk perulangan pada C.
Secara umum, dibagi menjadi dua kelompok.
Yaitu: counted loop dan uncounted loop.
Perbedaannya:
- Counted Loop merupakan perulangan yang jelas dan sudah tentu banyak kali perulangannya.
- Sedangkan Uncounted Loop, merupakan perulangan yang tidak jelas berapa kali ia harus mengulang.
Perulangan yang termasuk dalam Counted Loop:
- Perulangan For
Perulangan yang termasuk dalam Uncounted Loop:
- Perulangan While
- Perulangan Do/While
Mari kita bahas satu per satu…
1. Perulangan For pada C
Perulangan for
merupakan perulangan yang termasuk dalam counted loop,karena sudah jelas berapa kali ia akan mengulang.
Bentuknya kodenya seperti ini:
for(int i = 0; i < 10; i++){ printf("Perulangan ke-%i\n", i);}
Yang perlu diperhatikan adalah kondisi yang ada di dalam kurungsetelah kata for
.
Kondisi ini akan menentukan:
- Hitungan akan dimulai dari
0
(i = 0
); - Hitungannya sampai berapa? Sampai
i < 10
; - Lalu di setiap perulangan
i
akan bertambah+1
(i++
).
Variabel i
pada perulangan for
berfungsi untukmenyimpan nilai hitungan.
Jadi setiap perulangan dilakukan nilai i
akan selalu bertambahsatu. Karena kita menentukannya di bagian i++
.
Contoh program loop dengan for:
#include <stdio.h>void main(){ for(int i = 0; i < 10; i++){ printf("Perulangan ke-%i\n", i); }}
Ini hasil outputnya:
Apakah nama variabelnya harus selalu i
?
Tidak.
Kita juga bisa menggunakan nama lain.
Misalnya:
#include <stdio.h>void main(){ for(int counter = 0; counter < 50; counter+=2){ printf("Perulangan ke-%i\n", counter); }}
Pada contoh tersebut, kita melakukan perulangan dimulaidari nol 0
. Lalu di setiap perulangan nilai variabelcounter
akan ditambah 2 (counter+2
).
Hasilnya:
Bagaimana kalau counter perulangannya dimulai dari angka yanglebih besar sampai yang ke paling kecil?
Ini biasanya kita buat saat ingin menghitung mundur…
Caranya gampang.
Kita tinggal isi nilai counter dengan nilai terbesarnya.
Misalnya kita akan mulai hitungan dari 10
sampai ke 0
.
Maka nilai counter
, kita isi awalnya dengan 10
.
Lalu di kondisi perbandingannya, kita berikan counter > 0
.Artinya perulangan akan dilakukan selama nilai counter lebihbesar dari 0
.
Lalu kita kurangi (-1
) nilai counter di setiap perulangan (counter--
).
for(int counter = 10; counter > 0; counter--){ printf("Perulangan ke-%i\n", counter);}
Hasilnya:
Mengapa tidak sampai nol (0
)?
Karena kondisi yang kita berikan counter > 0
.Apabila counter
bernilai 0
, maka kondisi ini akanmenjadi false
.
Kecuali kita menggunakan operator lebih besar sama dengan (>=
),maka jika counter
bernilai 0
, kondisi akan menjadi true
.
2. Perulangan While pada C
Perulangan while
merupakan perulangan yang termasukdalam perulangan uncounted loop.
Perulangan while
juga dapat menjadi perulanganyang counted loop dengan memberikan counter didalamnya.
Bentuk flow chart-nya sama seperti flow chart for.
Untuk memahami perulangan ini…
…mari kita coba lihat contohnya:
#include <stdio.h>void main(){ char ulangi = 'y'; int counter = 0; // perulangan while while(ulangi == 'y'){ printf("Apakah kamu mau mengulang?\n"); printf("Jawab (y/t): "); scanf(" %c", &ulangi); // increment counter counter++; } printf("\n\n----------\n"); printf("Perulangan Selesai!\n"); printf("Kamu mengulang sebanyak %i kali.\n", counter);}
Hasilnya:
Coba perhatikan blok kode while
:
// perulangan whilewhile(ulangi == 'y'){ printf("Apakah kamu mau mengulang?\n"); printf("Jawab (y/t): "); scanf(" %c", &ulangi); // increment counter counter++;}
Di sana… Perulangan akan terjadi selama variabel ulangi
bernilai y
.
Lalu kita menggunakan fungsi scanf()
untuk mengambil input.
Selama kita menjawab y pada input,maka perulangan akan terus dilakukan.
Tapi kalau kita jawab yang lain,maka perulangan akan dihentikan.
Karena kondisi perulangannya tidak terpenuhi.
3. Perulangan Do/While pada C
Perulangan do/while
sama seperti perulangan while
.
Perbedaannya:
Perulangan do/while
akan melakukan perulangan sebanyak1
kali terlebih dahulu, lalu mengecek kondisiyang ada di dalam kurung while
.
Flow chart perulangan do/while:
Bentuk kodenya seperti ini:
do { // blok kode yang akan diulang} while (<kondisi>);
Jadi perbedaannya:
Perulangan
do/while
akan mengecek kondisi di belakang (sesudah mengulang),sedangkanwhile
akan mengecek kondisi di depan atau awal (sebelum mengulang).
Mari kita coba lihat contohnya:
#include <stdio.h>void main(){ char ulangi = 'y'; int counter = 0; do { printf("Apakah kamu mau mengulang?\n"); printf("Jawab (y/t): "); scanf(" %c", &ulangi); // increment counter counter++; } while(ulangi == 'y'); printf("\n\n----------\n"); printf("Perulangan Selesai!\n"); printf("Kamu mengulang sebanyak %i kali.\n", counter);}
Contoh tersebut sama seperti contoh pada perulangan while
.
Saat perulangan pertama, cobalah untuk membatalkanperulangannya dengan menjawab t
.
Maka hasilnya:
4. Perulangan Bersarang (Nested Loop)
Di dalam blok perulangan, kita juga dapat membuat perulangan.
Ini disebut dengan nested loop atau perulangan bersarangatau perulangan di dalam perulangan.
Mari kita coba lihat contohnya:
#include <stdio.h>void main(){ for(int i = 0; i < 10; i++){ for(int j = 0; j < 10; j++){ printf("Perulangan ke (%d, %d)\n", i, j); } }}
Hasilnya:
Pada perulangan tersebut, kita menggunakan dua perulangan for
.
Perulangan pertama menggunakan variabel i
sebagai counter,sedangkan perulangan kedua menggunakan variabel j
sebagai counter.
Apa Selanjutnya?
Intinya perulangan digunakan untuk melakukan pengulangan.Ini merupakan hal dasar yang harus dipahami setiap programmer.
Karena ke depan, kita akan banyak menggunakannyadalam membuat program dengan C.
Yang perlu diingat, perulangan itu ada dua macam: Counted loop dan uncounted loop.
Selanjutnya silakan pelajari tentang:
- Belajar Pemrograman C #9: Mengenal Struktur Data Array
Selamat belajar…