
Go From Zero to Hero #07: Logika Perulangan - Menguasai Looping dengan Satu Kata Kunci (FOR)
- Daffa Fadhil
- Golang , Code
- 21 Juni 2026
Table of Contents
Haloo Go Developers! Selamat datang kembali di seri belajar Go From Zero to Hero.
Di artikel sebelumnya, kita sudah belajar cara mengatur jalan raya alur program kita menggunakan switch case. Kita sudah bisa membuat program memilih jalur A, B, atau C berdasarkan kondisi yang kita tentukan. Nah, sekarang kita akan membahas satu konsep sangat penting lagi di dunia pemrograman yang akan sering banget kamu pakai ke depannya: Looping (Perulangan).
Bayangkan situasinya seperti ini: Kamu baru saja masuk kerja di sebuah perusahaan, dan di hari pertama, bos kamu menyuruhmu untuk menampilkan teks "Saya tidak akan malas ngoding" sebanyak 1.000 kali di layar komputer.
Kalau pakai cara manual yang kita pelajari di artikel-artikel awal, tangan kamu bisa keriting dan kapalan karena harus menulis fungsi fmt.Println() sebanyak seribu baris! Selain melelahkan, kode programmu bakal jadi super panjang dan jelek banget, kan?
Di sinilah peran Looping menjadi penyelamat hidup kita sebagai programmer. Cukup tulis beberapa baris kode saja, komputer bakal dengan senang hati mengulang tugas yang membosankan itu sebanyak ratusan, ribuan, bahkan jutaan kali dalam hitungan milidetik tanpa pernah protes!
Filosofi Go: Kenapa Hanya Ada for?
Kalau kamu sebelumnya pernah mencoba bahasa pemrograman lain seperti Java, C++, PHP, atau JavaScript, kamu pasti sudah tahu dengan perulangan: for, while, dan do-while. Kamu harus menghafal tiga sintaks yang berbeda hanya untuk melakukan hal yang hampir sama.
Tapi di Go-Lang, para kreatornya (Om Rob Pike, Ken Thompson, dan Robert Griesemer) punya prinsip yang sangat minimalis: “Jika satu cara sudah cukup, kenapa harus bikin banyak cara?”
Makanya, di Go cuma ada SATU kata kunci untuk melakukan perulangan, yaitu for.
Gak ada kata kunci while, gak ada kata kunci do-while. Semuanya menggunakan for. Tapi tenang saja, si for di Go ini punya kemampuan “berubah wujud” yang sakti. Dia bisa dipakai dengan gaya looping tradisional, bisa juga menjadi while loop, bahkan bisa digunakan untuk menyisir atau mencari isi data kelompok (array/slice).
Yuk, kita bedah satu per satu bagaimana cara menggunakan kata kunci tunggal ini! Siapkan alat tempurmu dan ayo kita mulai.
Sintaks for Looping di Go
Strukturnya memiliki 3 komponen utama yang ditaruh langsung di samping keyword for dan dipisahkan oleh tanda titik koma (;):
package main
import "fmt"
func main() {
// Memutar kode dari 1 sampai 5
for i := 1; i <= 5; i+=1 {
fmt.Println("Perulangan ke-", i)
}
}
Cara Membaca Logikanya:
i:= 1(Init Statement): Langkah awal sebelum looping dimulai. Kita membuat variabel baru bernamaidengan nilai awal 1.i<=5(Condition): Batasan atau syarat perulangan. Selama nilai i kurang dari atau sama dengan 5, maka kode di dalam kurung kurawal {} akan terus dijalankan.i+=1(Post Statement): Langkah yang dieksekusi setiap kali satu putaran selesai. Di sini, kita menaikkan nilai i sebesar 1 angka.
Analogi simpelnya: kita meminta tolong komputer for (lakukan perulangan), i:=1 (dimulai dari angka 1), i<=5 berhenti sebelum mendekati 5 atau sama dengan 5, i+=1 setiap putaran perulangan i + 1. Disini fungsi i adalah sebagai wadah atau buku catatan komputer untuk menyimpan sudah berapakali kita melakukan perulangan.
Kenapa pakainya i+=1?:Kita menggunakan i+=1 (atau biasa disingkat i++) agar komputer mengecek angkanya satu per satu secara berurutan.
Menariknya, lompatan ini bisa kita modifikasi sesuka hati! Misalnya kita ganti jadi i+=2 dan memulainya dari angka 0:
for i := 0; i <= 5; i+=2 {
fmt.Println("Angka genap:", i)
}
// Outputnya bakal melompat dua angka: 0, 2, 4
Lalu, kenapa kondisi berhentinya pakai i<=5? Kenapa gak langsung pakai i==5 saja?
Nah, ini rahasia pentingnya! Jika kita memakai i==5, program kita rentan terkena Infinite Loop (berputar selamanya tanpa henti).
Bayangkan jika kondisinya i==5, tapi lompatannya kita setel kelipatan dua i+=2. Angka i akan berjalan dari 0 -> 2 -> 4 -> 6. Nilai i langsung melompati angka 5, sehingga syarat i == 5 tidak akan pernah terpenuhi dan komputer bakal kebingungan dan melakukan perulangan terus menerus tidak akan berhenti.
Maka dari itu, menggunakan operator perbandingan seperti <= atau < jauh lebih aman dan menjadi standar umum dalam dunia coding.
Kendali Alur Looping (Break & Continue)
Saat menggunakan perulangan biasa, kodenya akan berjalan dari awal sampai syarat berhentinya terpenuhi. Tapi di dunia nyata, kadang kita butuh kontrol ekstra: ingin menghentikan perulangan di tengah jalan sebelum waktunya, atau justru melompati putaran tertentu karena kondisi khusus.
Di bahasa Go, kita bisa memodifikasi jalannya perulangan ini menggunakan dua kata kunci yaitu: break dan continue.
🛑 Break (Hentikan Total!)
Kata kunci break fungsinya akan menghentikan paksa perulangan yang kita lakukan di tengah jalan semisal di dalam perulangan ada syarat yang terpenuhi dan syarat tersebut melakukan break maka program akan keluar dari perulangan kemudian lanjut mengeksekusi program selanjutnya
Misal dalam kasus seperti ini, kita memasukkan bola di dalam box yang mampu menampung 12 bola jika sudah penuh akan berhenti
package main
import "fmt"
func main() {
bola := 0 // Inisialisasi boks masih kosong
for {
bola += 1 // Masukkan bola satu per satu
fmt.Println("Memasukkan bola ke-", bola)
// Syarat boks penuh
if bola == 12 {
break // Berhenti paksa dan keluar dari looping
}
}
// Program selanjutnya setelah keluar dari looping
fmt.Println("Boks Penuh!")
}
Perhatikan bahwa meskipun kita menggunakan for kosongan (yang seharusnya berputar sampai kiamat), program kita bisa berhenti dengan selamat tepat pada hitungan ke-12 karena ditahan oleh si satpam break!
⏭️ Continue (Lompat / Skip Putaran Ini!)
Jika break digunakan untuk membubarkan seluruh antrean perulangan, maka continue punya tugas yang berbeda. Kata kunci continue berfungsi untuk menghentikan putaran (iterasi) saat ini saja, lalu langsung meloncat ke putaran berikutnya tanpa menghentikan seluruh perulangan.
Misal dalam kasus nyata: Kamu sedang bertugas menyortir boks buah apel dari nomor 1 sampai 5 untuk dikirim ke supermarket. Namun, kamu tahu kalau boks nomor 3 itu isinya apel busuk, jadi kamu ingin melewati boks tersebut dan langsung lanjut menyortir boks nomor 4.
Mari kita lihat penerapannya dalam kode:
package main
import "fmt"
func main() {
for boks := 1; boks <= 5; boks+=1 {
if boks == 3 {
fmt.Println("Boks nomor 3 busuk! Skip")
continue // Putaran ke-3 berhenti di sini, langsung balik ke atas untuk boks berikutnya
}
fmt.Println("Boks nomor", boks, "aman, siap dikirim!")
}
}
Logika kerjanya:
Ketika variabel boks bernilai 3, kondisi if boks == 3 menjadi benar (true) syarat terpenuhi. Begitu komputer membaca perintah continue, dia akan langsung menghentikan sisa kode di bawahnya (baris fmt.Println("Boks nomor", boks, "aman...") tidak akan dieksekusi untuk boks nomor 3).
Komputer akan langsung kembali ke atas, menaikkan nilai variabel menjadi boks = 4, dan melanjutkan proses perulangan seperti biasa sampai selesai.
🏆 Tantangan Mini: Uji Pemahamanmu!
Biar ilmu boks bola dan boks apel tadi tidak menguap begitu saja, yuk coba asah logika kamu dengan tantangan kecil ini.
Coba buat sebuah program Go yang melakukan perulangan dari angka 1 sampai 10, tapi dengan aturan:
- Jika angka tersebut adalah angka ganjil, tampilkan teks
"Angka Ganjil: X". - Jika angka tersebut adalah angka genap, tampilkan teks
"Angka Genap: X".
(Petunjuk: Kamu tinggal menggunakan perulangan for biasa, lalu di dalamnya gunakan logika if-else dengan operator sisa bagi % yang sudah kita pelajari di artikel sebelumnya).
Tulis jawabanmu di kode editor masing-masing, ya! Jangan takut salah, karena dari salah itulah kita belajar.
Kesimpulan
Perulangan atau looping adalah senjata wajib bagi seorang programmer untuk membuat program yang efisien, hemat baris kode, dan tidak melelahkan tangan. Hebatnya bahasa Go, mereka berhasil memangkas kerumitan bahasa lain dengan hanya menyediakan satu kata kunci saja, yaitu for. Mau bikin loop tradisional atau modifikasi ekstrem, semuanya bisa dihajar pakai for!
Sampai di sini, kamu sudah resmi menguasai seluruh fondasi dasar logika pemrograman di Go, mulai dari variabel, percabangan (if-else, switch), sampai perulangan (for).
Di artikel selanjutnya, kita akan naik kelas untuk membahas bagaimana cara mengelompokkan data yang sejenis agar tidak berserakan lewat materi Array.
Sampai jumpa di Go From Zero to Hero #08! Tetap semangat ngoding dan jangan lupa istirahat!