#18: For Loop - Belajar Golang Dari Dasar

By Rizky Kurniawan - July 6, 2022 ~3 mins read
Artikel ini merupakan bagian dari seri Belajar Golang Dari Dasar

For Loop

Tidak seperti bahasa pemrograman lainnya yang biasanya memiliki beberapa perulangan, di golang hanya ada satu perulangan yaitu for loop.

For loop adalah statement yang digunakan untuk mengeksekusi suatu blok kode secara berulang. Biasanya digunakan untuk melakukan iterasi terhadap nilai yang ada pada data slice, array, atau pada data yang bersifat iterable (dapat dilakukan perulangan).

Di dalam komputer/pemrograman, iterasi adalah sifat tertentu dari algoritma atau program komputer di mana suatu urutan atau lebih dari langkah algoritmik dilakukan di loop program. Hal ini dibedakan dari teknik berulang yang disebut rekursi. Wikipedia

Perhatikan contoh berikut ini

package main

import "fmt"

func main() {
	count := 1

	for count <= 5 {
		fmt.Println("Perulangan:", count)
		count++
	}
}

output:

Perulangan: 1
Perulangan: 2
Perulangan: 3
Perulangan: 4
Perulangan: 5

Pada contoh diatas kita melakukan perulangan sebanyak 5 kali. Variabel count awalnya kita isi dengan nilai 1, kemudian di dalam blok perulangan kita menambah satu nilai pada variabel count dengan menggunakan unary operator seperti yang sudah kita pelajari sebelumnya pada materi operasi matematika. Penambahan nilai ini bertujuan agar kondisi pada statement for berubah menjadi false sehingga perulangan dapat dihentikan ketika nilai variabel count bernilai lebih dari 5.

Statement Pada For Loop

Hampir sama seperti if dan switch, kita juga bisa menambah statement pada for loop. Ada dua statement yang bisa kita tambahkan yaitu: 1) Init statement, merupakan sebuah statement sebelum for loop dieksekusi, dan 2) Post statement, merupakan statement yang akan selalu dieksekusi di akhir pada tiap-tiap perulangan.

Init statement hanya dieksekusi sekali sehingga bisa kita digunakan untuk menginisialisasi variabel awal yang menentukan counter perulangan. Sedangkan post statement yang selalu dieksekusi pada akhir tiap perulangan bisa kita gunakan untuk menaikkan nilai counter perulangan. Ini akan membuat kode kita menjadi lebih simpel. Untuk melihat perbedaannya perhatikan dua contoh for loop berikut.

For loop

count := 1

for count <= 5 {
	fmt.Println("Perulangan:", count)
	count++
}

For loop dengan init statement dan post statement

for count := 1; count <= 5; count++ {
    fmt.Println("Perulangan:", count)
}

Bisa kamu lihat pada dua contoh for loop dengan statement di atas, pertama kita menggunakan init statement untuk menginisialisasi variabel count: count := 1;, kemudian membuat kondisi perulangan: count <= 5;, terakhir kita menggunakan post statement untuk menaikkan nilai variabel count: count++.

Range

For loop bisa kita gunakan untuk melakukan iterasi pada data collection. Contoh data collection adalah map, array, dan slice. Untuk melakukan iterasi menggunakan for loop kita bisa menggunakan keyword range. Untuk lebih jelasnya perhatikan contoh berikut.

package main

import "fmt"

func main() {
	fruits := []string{"Nanas", "Melon", "Semangka"}

	for index, fruit := range fruits {
		fmt.Println("Index:", index, "=", fruit)
	}

    fmt.Println("---")

    website := map[string]string{
		"name": "Ruang Developer",
		"domain": "www.ruangdeveloper.com",
	}

	for key, value := range website {
		fmt.Println(key, ":", value)
	}
}

output:

Index: 0 = Nanas
Index: 1 = Melon
Index: 2 = Semangka
---
name : Ruang Developer
domain : www.ruangdeveloper.com

Pada contoh di atas kita melakukan iterasi pada data slice fruits. Pada statement for loop, variabel index akan berisi index dari item slice, jika melakukan iterasi pada data map variabel ini akan berisi key. Kemudian variabel fruit akan berisi item slice, jika melakukan iterasi pada data map variabel ini akan berisi value dari item map.

Bagaimana jika kita hanya perlu item atau value datanya saja?

Seperti yang kita ketahui, di golang kita tidak diperbolehkan membuat variabel yang tidak kita gunakan. Oleh karena itu jika kita tidak menggunakan variabel index dari hasil iterasi kode kita akan error. Untuk mengatasi hal itu, kita bisa mengganti variabel index dengan underscore (_) untuk memberitahu golang bahwa variabel ini tidak kita gunakan. Perhatikan potongan kode berikut.

// mengganti variabel index menjadi underscore
for _, fruit := range fruits {
	fmt.Println(fruit)
}

Berikutnya: #19: Break & Continue - Belajar Golang Dari Dasar

Tags: #golang
Bagikan:

Ingin Berdiskusi?

Yuk bergabung di Grup Telegram Ruang Developer atau mulai diskusi melalui GitHub. See You!

Dapatkan contoh source code project backend, frontend, atau fullstack untuk kamu amati, tiru, dan modifikasi sesuka hati. Klik untuk melihat detail!
comments powered by Disqus

Berlangganan Gratis

Kamu akan menerima email update dari Ruang Developer

Beri Dukungan

Beri dukungan, dapatkan full source code project web untuk bahan referensi, tiru, dan modifikasi.
Lightbox