BAB 11: Mengulang Aksi dengan Perulangan (Looping) di Golang - Abd. Asis

BAB 11: Mengulang Aksi dengan Perulangan (Looping) di Golang

Setelah kamu paham gimana program bisa mengambil keputusan dengan seleksi kondisi, sekarang waktunya belajar cara membuat program yang bisa mengulang aksi secara otomatis. Perulangan (looping) adalah fitur yang bikin program kamu jadi lebih efisien dan powerful, terutama saat harus memproses data dalam jumlah banyak.

Apa Itu Perulangan?

Perulangan adalah teknik dalam programming untuk menjalankan blok kode berulang kali sesuai jumlah yang diinginkan. Analoginya kayak kamu push-up: “Lakukan 10 kali!"—kamu ulangi gerakan yang sama sampai target tercapai.

Di Golang, perulangan utama yang digunakan adalah for loop.

For Loop: Dasar Perulangan di Golang

for adalah satu-satunya keyword perulangan di Go, tapi sangat fleksibel dan bisa digunakan untuk berbagai kebutuhan.

Contoh For Loop Sederhana

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        fmt.Printf("Push-up ke-%d\n", i)
    }
}

Output:

Push-up ke-1
Push-up ke-2
Push-up ke-3
Push-up ke-4
Push-up ke-5

For Loop Tanpa Inisialisasi dan Increment

Kamu bisa membuat for loop yang hanya punya kondisi saja.

package main

import "fmt"

func main() {
    i := 1
    for i <= 3 {
        fmt.Printf("Iterasi ke-%d\n", i)
        i++
    }
}

Output:

Iterasi ke-1
Iterasi ke-2
Iterasi ke-3

For Loop Tanpa Kondisi (Infinite Loop)

Kalau semua bagian for loop dikosongkan, hasilnya adalah perulangan tak terbatas. Biasanya dipakai untuk server atau aplikasi yang harus terus berjalan.

package main

import "fmt"

func main() {
    i := 1
    for {
        fmt.Printf("Loop ke-%d\n", i)
        i++
        if i > 3 {
            break
        }
    }
}

Output:

Loop ke-1
Loop ke-2
Loop ke-3

Break dan Continue

break digunakan untuk menghentikan perulangan sebelum waktunya. continue untuk skip satu iterasi dan lanjut ke berikutnya.

Contoh Break

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        if i == 4 {
            break
        }
        fmt.Printf("Angka: %d\n", i)
    }
}

Output:

Angka: 1
Angka: 2
Angka: 3

Contoh Continue

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Printf("Angka ganjil: %d\n", i)
    }
}

Output:

Angka ganjil: 1
Angka ganjil: 3
Angka ganjil: 5

Nested Loop: Perulangan Bersarang

Kamu bisa membuat perulangan di dalam perulangan (nested loop) untuk kasus seperti tabel atau matriks.

package main

import "fmt"

func main() {
    for baris := 1; baris <= 3; baris++ {
        for kolom := 1; kolom <= 2; kolom++ {
            fmt.Printf("Baris %d, Kolom %d\n", baris, kolom)
        }
    }
}

Output:

Baris 1, Kolom 1
Baris 1, Kolom 2
Baris 2, Kolom 1
Baris 2, Kolom 2
Baris 3, Kolom 1
Baris 3, Kolom 2

For Range: Iterasi Data

for range digunakan untuk mengiterasi data seperti array, slice, atau map.

Contoh For Range Array

package main

import "fmt"

func main() {
    buah := [3]string{"apel", "jeruk", "mangga"}
    for i, nama := range buah {
        fmt.Printf("Buah ke-%d: %s\n", i+1, nama)
    }
}

Output:

Buah ke-1: apel
Buah ke-2: jeruk
Buah ke-3: mangga

Contoh For Range Map

package main

import "fmt"

func main() {
    nilai := map[string]int{"Budi": 80, "Sari": 90, "Andi": 75}
    for nama, skor := range nilai {
        fmt.Printf("%s: %d\n", nama, skor)
    }
}

Output:

Budi: 80
Sari: 90
Andi: 75

Latihan: Hitung Total Nilai

Buat program yang menghitung total nilai dari array dan menampilkan rata-rata.

package main

import "fmt"

func main() {
    nilai := [5]int{80, 75, 90, 85, 70}
    total := 0
    for _, n := range nilai {
        total += n
    }
    rata := float64(total) / float64(len(nilai))
    fmt.Printf("Total nilai: %d\n", total)
    fmt.Printf("Rata-rata: %.2f\n", rata)
}

Output:

Total nilai: 400
Rata-rata: 80.00

Ringkasan

Perulangan adalah fitur yang bikin program kamu bisa mengulang aksi secara otomatis dan memproses data dalam jumlah banyak. Dengan menguasai for loop, break, continue, nested loop, dan for range, kamu bisa membangun aplikasi yang lebih efisien dan dinamis.

  • For loop: Perulangan utama di Go
  • Break: Menghentikan perulangan
  • Continue: Skip satu iterasi
  • Nested loop: Perulangan bersarang
  • For range: Iterasi data

Di bab berikutnya, kita akan belajar tentang array—cara menyimpan banyak data sekaligus dalam satu variable. Ini akan sangat berguna untuk mengelola data secara terstruktur!