Kontrol Alur Program di Golang: Kondisi, Looping, dan Seleksi Kasus
Setelah memahami dasar-dasar variabel, tipe data, dan fungsi dalam Golang, tahap selanjutnya adalah mengontrol alur eksekusi kode. Kontrol alur ini membantu kita membuat program yang dinamis, di mana eksekusi bisa berubah berdasarkan kondisi tertentu, melakukan perulangan, dan memilih jalan yang sesuai untuk menghasilkan output yang diinginkan. Dalam artikel ini, kita akan membahas tiga konsep utama kontrol alur program di Golang: kondisi (if-else), perulangan (looping), dan seleksi kasus (switch-case).
1. Kondisi (If-Else)
Kondisi if-else
digunakan untuk menentukan apakah suatu blok kode akan dieksekusi atau tidak, bergantung pada evaluasi ekspresi boolean (true atau false). Berikut adalah sintaks dasar penggunaan if-else
di Golang:
if kondisi {
// blok kode jika kondisi bernilai true
} else if kondisi_lain {
// blok kode jika kondisi_lain bernilai true
} else {
// blok kode jika semua kondisi di atas bernilai false
}
Contoh penggunaan:
package main
import "fmt"
func main() {
age := 18
if age >= 18 {
fmt.Println("Anda cukup umur untuk mengakses konten ini.")
} else {
fmt.Println("Maaf, Anda belum cukup umur.")
}
}
Pada contoh di atas, jika variabel age
bernilai 18 atau lebih, maka pesan “Anda cukup umur untuk mengakses konten ini.” akan ditampilkan. Jika tidak, pesan “Maaf, Anda belum cukup umur.” yang akan ditampilkan.
Perbedaan dengan if
di Bahasa Lain
Di Golang, kita bisa menginisialisasi variabel langsung di dalam kondisi if
, yang akan berlaku hanya di dalam blok kondisi tersebut. Contoh:
if x := 10; x > 5 {
fmt.Println("x lebih besar dari 5")
}
2. Perulangan (Looping) dengan for
Golang memiliki satu jenis loop, yaitu for
, yang dapat digunakan untuk berbagai macam kebutuhan looping. Berikut adalah sintaks umum perulangan for
:
for inisialisasi; kondisi; increment {
// blok kode yang akan diulang
}
Contoh sederhana penggunaan for
:
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("Nilai i:", i)
}
}
Perulangan di atas akan mencetak nilai i
mulai dari 0 hingga 4.
Variasi for
Loop di Golang
- Perulangan tanpa kondisi:
Jika kita menghilangkan kondisi padafor
, perulangan akan terus berjalan hingga di-break secara manual.for { fmt.Println("Perulangan tak terbatas!") break }
for range
untuk array atau slice:
Digunakan untuk mengiterasi setiap elemen dari array atau slice.fruits := []string{"apel", "jeruk", "pisang"}
for i, fruit := range fruits {
fmt.Printf("Indeks %d: %s\n", i, fruit)
}
for range
untuk map:
Dalam map, kita bisa mendapatkan kunci dan nilai dari setiap elemen.ages := map[string]int{"Andi": 25, "Budi": 30}
for key, value := range ages {
fmt.Printf("%s berusia %d\n", key, value) }
3. Seleksi Kasus (Switch-Case)
Golang memiliki statement switch
untuk menangani beberapa kondisi sekaligus tanpa harus menulis banyak if-else
. Dengan switch
, kode menjadi lebih bersih dan mudah dibaca.
Berikut adalah contoh dasar switch
:
package main
import "fmt"
func main() {
day := "Selasa"
switch day {
case "Senin":
fmt.Println("Hari Senin")
case "Selasa":
fmt.Println("Hari Selasa")
case "Rabu":
fmt.Println("Hari Rabu")
default:
fmt.Println("Hari tidak dikenal")
}
}
Pada contoh di atas, jika variabel day
berisi nilai "Selasa"
, maka outputnya adalah “Hari Selasa”.
Fitur Tambahan pada switch
di Golang
- Switch dengan banyak kondisi dalam satu case:
switch day {
case "Sabtu", "Minggu":
fmt.Println("Ini akhir pekan!")
default:
fmt.Println("Ini hari kerja.")
}
- Switch tanpa kondisi:
Ketikaswitch
digunakan tanpa kondisi, ia akan bekerja seperti rangkaianif-else
.age := 20
switch {
case age < 18:
fmt.Println("Belum cukup umur.")
case age >= 18:
fmt.Println("Cukup umur.")
}
Kesimpulan
Kontrol alur program adalah bagian penting dalam pemrograman untuk memastikan bahwa kode berjalan sesuai logika yang diinginkan. Dalam Golang, kontrol alur bisa dicapai dengan if-else
untuk kondisi, for
untuk perulangan, dan switch-case
untuk pemilihan kasus. Memahami dan menguasai kontrol alur ini akan membantu kita membangun aplikasi yang lebih dinamis dan interaktif.
Pada artikel selanjutnya, kita akan membahas konsep lebih mendalam mengenai struktur data di Golang, yaitu array, slice, dan map.Pemahaman mendalam tentang struktur data ini akan membantu kita dalam mengelola data secara efektif dan efisien di berbagai skenario pemrograman.