Dalam dunia pengembangan perangkat lunak, efisiensi adalah kunci. Salah satu alat fundamental yang memungkinkan programmer mencapai efisiensi dalam menangani tugas berulang adalah struktur perulangan, dan di antara semuanya, perulangan for seringkali menjadi yang paling serbaguna dan mudah dipahami. Konsep perulangan for pada dasarnya adalah mekanisme untuk mengeksekusi blok kode yang sama berulang kali selama kondisi tertentu terpenuhi atau untuk sejumlah iterasi yang telah ditentukan.
Meskipun sintaksnya sedikit berbeda antar bahasa pemrograman (seperti C++, Java, JavaScript, atau Python), struktur inti dari perulangan for klasik biasanya terdiri dari tiga komponen utama yang dipisahkan oleh titik koma (pada bahasa bergaya C):
true, blok kode di dalam perulangan akan dieksekusi. Jika bernilai false, perulangan berhenti.
Penggunaan perulangan for sangat ideal ketika kita mengetahui secara pasti atau dapat menghitung berapa kali kode perlu diulang. Misalnya, memproses setiap elemen dalam sebuah larik (array) yang ukurannya sudah diketahui, atau menjalankan fungsi sebanyak 10 kali berturut-turut. Bayangkan jika Anda harus mencetak angka 1 hingga 100 tanpa perulangan; Anda harus menulis 100 baris kode yang identik! Perulangan for merampingkan proses ini menjadi beberapa baris yang ringkas dan mudah dipelihara.
Mari kita lihat contoh dalam sintaks JavaScript untuk mengilustrasikan konsep dasar ini:
for (let i = 0; i < 5; i++) {
// Blok kode ini akan dieksekusi 5 kali
console.log("Iterasi ke-" + i);
}
// Output: Iterasi ke-0, Iterasi ke-1, ..., Iterasi ke-4
Dalam contoh di atas, i = 0 adalah inisialisasi. i < 5 adalah kondisi yang harus dipenuhi. Dan i++ adalah pembaruan (menambah nilai i sebesar 1).
Penting untuk membedakan for dari perulangan lain seperti while dan do-while. Perulangan while memerlukan kita untuk mengelola inisialisasi dan pembaruan variabel penghitung secara manual di luar dan di dalam blok perulangan. Perulangan while lebih cocok ketika jumlah iterasi tidak diketahui sebelumnya, dan perulangan berhenti berdasarkan perubahan status eksternal.
Sedangkan perulangan for, seperti yang kita lihat, mengemas ketiga elemen kontrol (inisialisasi, kondisi, pembaruan) ke dalam satu baris deklarasi yang ringkas, menjadikannya pilihan utama untuk operasi berbasis indeks atau pengulangan yang terhitung.
Di bahasa modern seperti Python, konsep for telah berevolusi menjadi for-each loop (atau iterasi berdasarkan elemen). Struktur ini jauh lebih sederhana:
# Contoh For-Each di Python
daftar_buah = ["apel", "mangga", "jeruk"]
for buah in daftar_buah:
print(buah)
Dalam versi modern ini, programmer tidak perlu khawatir tentang indeks; perulangan akan secara otomatis berhenti setelah elemen terakhir dari koleksi diproses. Namun, inti dari perulangan tetap sama: eksekusi kode berulang kali sampai semua elemen atau kondisi terpenuhi. Menguasai perulangan for adalah langkah awal yang krusial untuk menulis kode yang bersih, cepat, dan efisien dalam bahasa pemrograman apa pun.