Loop atau perulangan pada bahasa C adalah suatu instruksi yang digunakan untuk mengulang beberapa baris perintah di kode program. Dengan menggunakan perulangan, maka akan membantu kita untuk mengeksekusi kode yang berulang-ulang sebanyak apapun.
Secara umum, loop atau perulangan pada bahasa C terbagi menjadi dua kelompok yaitu: counted loop dan uncounted loop.
1. Counted Loop merupakan perulangan yang jelas dan sudah tentu banyak kali perulangannya. Yang termasuk dalam Counted Loop adalah Perulangan For
2. Uncounted Loop, merupakan perulangan yang tidak jelas berapa kali ia harus mengulang. Yang termasuk dalam Uncounted Loop adalah Perulangan While dan Do/While
Dalam perulangan terdapat tiga hal yang diperlukan yaitu :
1. Inisialisasi, kondisi awal
2. Syarat kondisi, yang diperlukan agar suatu perulangan berhenti.
3. Iterasi, suatu syarat bagaimana suatu kondisi berjalan yaitu bertambah atau berkurang.
Perulangan For pada C
Perulangan for merupakan perulangan yang termasuk dalam couted loop, karena sudah jelas berapa kali ia akan mengulang.
Struktur dasar perulangan for dalam bahasa C:
for (start; condition; increment)
{
// blok kode
// blok kode
}
Agar lebih mudah memahami, silahkan perhatikan flowchart berikut :

Keterangan flowchart :
Start adalah kondisi pada saat awal perulangan.
Inisialisai Variabel adalah menentukan nilai default pada suatu variabel ke dalam suatu variabel tertentu. Kebanyakan programmer menggunakan variabel i sebagai variabel counter (tidak harus). Contoh : int i = 1; artinya inisialisasi terhadap variabel i
Condition adalah kondisi yang harus dipenuhi agar perulangan berjalan. Selama kondisi ini terpenuhi, maka compiler bahasa C akan terus melakukan perulangan.
Increment adalah bagian yang dipakai untuk memproses variabel counter agar bisa memenuhi kondisi akhir perulangan. Bagian ini akan selalu di eksekusi di setiap perulangan. Disebut increment karena biasanya berisi operasi increment seperti i++, yang sama dengan i = i + 1. Maksudnya, dalam setiap perulangan naikkan variabel i sebanyak 1 angka.
Contoh Program perulangan For Bahasa C
#include <stdio.h>
void main(){
for(int i = 0; i < 10; i++){
printf("Belajar perulangan -%i\n", i);
}
}
Keterangan :
Variabel ”i” pada perulangan for berfungsi untuk menyimpan nilai hitungan.
i = 0; = Hitungan akan dimulai dari 0
< 10; = Hitungannya sampai angka 10, jadi selama variabel i berisi angka yang kurang dari 10, maka akan dilakukan perulangan.
i++ = Setiap perulangan yang dilakukan, nilai ”i” dan akan selalu bertambah satu, bisa juga ditulis dengan i = i + 1
Hasilnya :

Kita juga dapat mengganti nama variabelnya, jadi tidak harus ”i”. Selain itu kita juga bisa memberikan nilai lain pada increament i++. Misalnya i = i + 2, sehingga variabel counter akan naik 2 angka setiap perulangan
Contoh :
#include <stdio.h>
void main(){
for(int b = 0; b < 20; b+=2){
printf("Belajar perulangan -%i\n", b);
}
}
Hasilnya :

Bagaimana kalau kebalikannya, jadi perulangannya diawal angka terbesar, lalu sampai yang terkecil ?
Untuk membuat kebalikkan atau menghitung mundur caranya tinggal isi nilai variabel dengan nilai terbesarnya. Lalu pada kondisi perbandingan, kita berikan nilai ”lebih besar samadengan 0” atau (>= 0). Jadi perulangan akan dilakukan selama nilainya lebih besar sama dengan 0. Selanjutnya tinggal kita kurangi 2 atau (b-=2).
Contoh :
for(int b = 20; b >=0; b-=2){
printf("Belajar perulangan -%i\n", b);
}
Hasilnya :

Perulangan While pada C
Loop atau perulangan while merupakan perulangan yang termasuk dalam perulangan uncounted loop. Perulangan ini juga dapat menjadi perulangan yang counted loop dengan memberikan counter di dalamnya.
Contoh program :
#include <stdio.h>
void main(){
char perulangan = 'y';
int i = 0;
printf("=== Perulangan While === \n\n");
// perulangan while
while(perulangan == 'y'){
printf("Ulangi program ini ?\n");
printf("Jawab (y/t): ");
scanf(" %c", &perulangan);
// increment i
i++;
}
printf("\n\n----------\n");
printf("Perulangan telah selesai!\n");
printf("Anda telah mengulang sebanyak %i kali.\n", i);
}
Hasilnya :

Perulangan Do/While
Perulangan do/while sama seperti perulangan while. Perbedaannya jika perulangan while akan mencek kondisi di awal (sebelum mengulang), maka perulangan do/while akan mengecek kondisi di akhir (sesudah mengulang).
Struktur dasar perulangan DO WHILE dalam bahasa C
start;
do
{
// kode program
// kode program
increment;
}
while (kondisi)
Contoh program :
#include <stdio.h>
void main(){
char perulangan = 'y';
int i = 0;
do {
printf("Ulangi program ini ?\n");
printf("Jawab (y/t): ");
scanf(" %c", &perulangan);
// increment i
i++;
} while(perulangan == 'y');
printf("\n\n----------\n");
printf("Perulangan telah selesai!\n");
printf("Anda telah mengulang sebanyak %i kali.\n", i);
}
Hasilnya :

Disini saya menggunakan contoh kode program yang sama seperti perulangan while. Perbedaannya jika kita mengulang sebanyak 4 kali maka pada perulangan while tetap dihitung sebanyak 4 kali. Namun untuk Do While, akan dihitung sebanyak 5 kali.
Perulangan Bersarang
Perulangan bersarang atau yang disebut dengan nested loop adalah perulangan yang di dalamnya juga terdapat perulangan lain. Semua jenis perulangan dapat dibuat dalam bentuk perulangan bersarang.
Struktur dasar Perulangan bersarang pada bahasa C
for (start1; kondisi1; increment1)
{
// Blok kode
for (start2; kondisi2; increment2)
{
// Blok kode
}
}
Di dalam perulangan bersarang terdapat istilah outer loop (perulangan luar) dan inner loop (perulangan dalam). Pada struktur dasar diatas, di baris 1 adalah outer loop sedangkan di baris 4 adalah inner loop.
Contoh program :
#include <stdio.h>
void main(){
for(int a = 0; a < 10; a++){
for(int b = 0; b < 10; b+=2){
printf("Perulangan ke (%d, %d)\n", a, b);
}
}
}
Hasilnya :

Begitulah pembahasan mengenai Blok Perulangan pada C. Untuk selanjutnya adalah Struktur data array