1 Gambaran Umum tentang Pernyataan Perulangan
Dalam bahasa Go, pernyataan perulangan memungkinkan kita untuk menjalankan sebuah blok kode beberapa kali. Ketika Anda perlu melakukan operasi tertentu secara berulang, pernyataan perulangan menjadi sangat berguna. Misalnya, Anda mungkin ingin mengiterasi setiap elemen dalam sebuah array, atau mengulangi sebuah operasi hingga kondisi tertentu terpenuhi. Di Go, pernyataan perulangan sebagian besar diimplementasikan menggunakan kata kunci for
, yang merupakan satu-satunya pernyataan perulangan dalam bahasa Go. Penggunaan yang benar dari pernyataan perulangan sangat penting untuk menulis kode yang efisien dan mudah dipelihara.
2 Dasar-dasar Perulangan for
2.1 Struktur Perulangan for
Perulangan for
dalam bahasa Go terdiri dari tiga bagian:
- Pernyataan inisialisasi: dieksekusi sebelum iterasi pertama, biasanya digunakan untuk mendeklarasikan penghitung perulangan.
-
Ekspresi kondisi: dievaluasi sebelum setiap iterasi. Jika kondisinya
true
, blok perulangan dieksekusi. - Pernyataan pos: dieksekusi setelah blok kode setiap iterasi, biasanya digunakan untuk memperbarui penghitung perulangan.
Syntax dari perulangan for
adalah sebagai berikut:
for pernyataan inisialisasi; ekspresi kondisi; pernyataan pos {
// kode badan perulangan
}
2.2 Contoh Sederhana Perulangan for
Mari kita pahami proses eksekusi perulangan for
melalui contoh sederhana:
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("Nilai i adalah:", i)
}
}
Pada contoh ini, variabel i
diinisialisasi sebagai 0
. Perulangan for
memeriksa apakah kondisi i < 5
adalah benar. Jika kondisinya benar, blok perulangan dieksekusi dan nilai i
dicetak. Setelah menjalankan blok perulangan, nilai i
diperbarui dengan i++
(operasi penambahan), dan kemudian perulangan memeriksa kondisi lagi hingga nilai i
mencapai 5
, pada saat kondisinya menjadi salah dan perulangan for
berhenti.
2.3 Contoh Perulangan for
Lainnya
Perulangan for
dalam bahasa Go sangat fleksibel dan dapat ditulis dalam berbagai bentuk untuk menangani skenario yang berbeda.
2.3.1 Perulangan Tanpa Batas
Di Go, Anda dapat menghilangkan pernyataan inisialisasi, ekspresi kondisi, dan pernyataan pos dari perulangan for
, menciptakan perulangan tanpa batas yang akan berjalan sampai diakhiri oleh pernyataan break
atau nilai kembalian dari suatu fungsi.
for {
// Kode dalam perulangan tanpa batas
if kondisiTertentu {
break // Keluar dari perulangan ketika kondisi tertentu terpenuhi
}
}
2.3.2 Perulangan Hanya dengan Kondisi
Di Go, Anda juga dapat menggunakan perulangan for
yang hanya berisi kondisi, mirip dengan while
dalam bahasa pemrograman lain.
n := 0
for n < 5 {
fmt.Println(n)
n++
}
Kode di atas akan mencetak 0
hingga 4
, dan perulangan akan berakhir ketika n
mencapai 5
.
2.3.3 Perulangan melalui sebuah array atau slice
Di Go, kata kunci range
digunakan untuk menyederhanakan iterasi melalui setiap elemen dari sebuah array atau slice.
items := []int{1, 2, 3, 4, 5}
for indeks, nilai := range items {
fmt.Printf("Indeks: %d, Nilai: %d\n", indeks, nilai)
}
Kode di atas akan mencetak indeks dan nilai dari setiap elemen. Jika Anda hanya memerlukan nilai dari elemen-elemen tersebut, Anda dapat menggunakan _
untuk mengabaikan indeks.
for _, nilai := range items {
fmt.Printf("Nilai: %d\n", nilai)
}
Catatan: Penggunaan array akan dijelaskan secara detail di bab-bab berikutnya. Jika Anda tidak memahami bagian ini, tidak masalah asalkan Anda memahami bahwa
for
loop dapat digunakan dengan cara ini.
2.3.4 Melooping melalui peta
Saat melakukan iterasi melalui peta, kombinasi dari loop for
dan ekspresi range
sangat kuat. Ini memungkinkan Anda untuk mendapatkan setiap pasangan kunci-nilai dari peta.
colors := map[string]string{"red": "#ff000", "green": "#00ff00", "blue": "#000ff"}
for key, value := range colors {
fmt.Printf("Kunci: %s, Nilai: %s\n", key, value)
}
Dalam contoh ini, kita mencetak semua kunci dan nilainya yang sesuai dalam peta colors
. Seperti saat melakukan iterasi melalui potongan data, jika Anda hanya memerlukan kunci atau nilai, Anda dapat memilih untuk mengabaikan yang lainnya.
Catatan: Penggunaan peta akan dijelaskan secara rinci dalam bab-bab berikutnya. Jika Anda tidak memahami bagian ini, itu tidak masalah selama Anda memahami bahwa loop
for
dapat digunakan seperti ini.
3 Mengendalikan alur dari loop
3.1 Menggunakan break
untuk mengakhiri loop
Terkadang kita perlu keluar dari loop sebelum waktunya ketika kondisi tertentu terpenuhi, dan dalam kasus seperti itu, pernyataan break
dapat digunakan. Berikut adalah contoh penggunaan break
untuk keluar dari loop:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
break // Keluar dari loop ketika i sama dengan 5
}
fmt.Println("Nilai i adalah:", i)
}
// Outputnya hanya akan berisi nilai dari 0 hingga 4
}
3.2 Menggunakan continue
untuk melewati iterasi
Dalam situasi tertentu, kita mungkin ingin melewati iterasi saat ini dan melanjutkan dengan iterasi berikutnya dalam loop. Hal ini dapat dicapai menggunakan pernyataan continue
. Berikut adalah contohnya:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i%2 != 0 {
continue // Lewati iterasi ini jika i ganjil
}
fmt.Println("Bilangan Genap:", i)
}
}