Mengenal Jalan Cerita Logika di Dunia Go Programming
Dalam perjalanan karier kita sebagai programmer, ada satu konsep yang akan selalu hadir di mana pun, kapan pun, dan dalam bahasa apa pun: percabangan.
Mau pakai Python, JavaScript, Rust, atau bahkan “bahasa cinta”, percabangan adalah pondasi logika yang membuat program kita bisa mengambil keputusan.
Nah, di Golang, percabangan menjadi sangat menyenangkan. Kenapa?
Karena Go itu simpel, rapi, bersih, dan tidak bertele-tele. Ibarat teman yang kalau ditanya, jawabannya langsung to the point.
Pada artikel kali ini, kita akan membahas tiga jagoan percabangan di Golang:
-
if
-
else
-
switch
Kita akan bahas dari dasar sampai tips yang bikin kamu lebih jago ngoding Go. Santai saja, sambil ngopi juga boleh.
Apa Itu Percabangan?
Percabangan adalah struktur logika yang memungkinkan program untuk memilih tindakan berdasarkan kondisi tertentu.
Contoh di kehidupan sehari-hari:
-
Jika lapar → makan.
-
Jika ngantuk → tidur.
-
Jika saldo ATM < 50 ribu → cuma lihat-lihat menu ojek online tanpa checkout.
Komputer juga butuh keputusan seperti itu. Dan Go menyediakan cara elegan untuk melakukannya.
IF – Sang Penentu Takdir
if adalah operator percabangan dasar yang memeriksa apakah kondisi bernilai true.
Kalau true, baris kode di dalamnya akan dijalankan.
Contoh sederhana:
package main
import "fmt"
func main() {
x := 10
if x > 5 {
fmt.Println("x lebih besar dari 5")
}
}
Output:
x lebih besar dari 5
Penjelasan:
Gampang banget, kan?
Kalau kondisi terpenuhi → Print.
Kalau tidak terpenuhi → ya sudah, skip, move on.
IF – ELSE – Menentukan Arah Hidup
Kadang kondisi tidak hanya TRUE atau FALSE.
Kadang… hidup butuh plan B.
Itulah fungsi else.
Contoh:
package main
import "fmt"
func main() {
nilai := 70
if nilai >= 75 {
fmt.Println("Selamat! Kamu lulus.")
} else {
fmt.Println("Coba lagi tahun depan ya :)")
}
}
Output jika nilai = 70:
Coba lagi tahun depan ya :)
Lumayan pedih, tapi realistis.
IF – ELSE IF – ELSE (Sang Penyeleksi Bertingkat)
Kalau kondisi bukan cuma dua, kita butuh else if.
Mirip seperti:
-
Jika nilai ≥ 85 → A
-
Jika ≥ 75 → B
-
Jika ≥ 65 → C
-
Selain itu → D
Yuk contoh:
package main
import "fmt"
func main() {
nilai := 82
if nilai >= 85 {
fmt.Println("Nilai A")
} else if nilai >= 75 {
fmt.Println("Nilai B")
} else if nilai >= 65 {
fmt.Println("Nilai C")
} else {
fmt.Println("Nilai D")
}
}
Output:
Nilai B
Kapan pakai else if?
Kalau kondisinya lebih dari 2 dan urut.
IF dengan Short Statement (Fitur Mewah yang Simple)
Go punya fitur unik: pada if, kamu bisa menjalankan statement singkat (deklarasi variabel) sebelum kondisi.
Contoh:
if umur := 20; umur >= 17 {
fmt.Println("Sudah boleh punya KTP")
}
Variabel umur akan hidup hanya di dalam blok if tersebut.
Mirip seperti “hubungan yang cuma ada saat butuh saja”, setelah selesai dia menghilang.
SWITCH – Sang Pengatur Pilihan
Kalau if else terasa terlalu panjang atau “beranak banyak”, maka saatnya memanggil switch.
Switch cocok untuk kondisi yang banyak dan jelas kategorinya.
Contoh sederhana:
package main
import "fmt"
func main() {
hari := "senin"
switch hari {
case "senin":
fmt.Println("Mulai kerja lagi :)")
case "jumat":
fmt.Println("Hore mau weekend!")
default:
fmt.Println("Hari biasa aja.")
}
}
Output:
Mulai kerja lagi :) Switch Tidak Perlu “Break”!
Di bahasa C, C++, atau JavaScript, switch harus ditutup dengan break agar tidak lanjut ke case berikutnya.
Di Go?
Tenang, semua otomatis berhenti per case.
Kecuali kalau ingin melanjutkan, kita bisa pakai keyword fallthrough:
switch angka := 1; angka {
case 1:
fmt.Println("Satu")
fallthrough
case 2:
fmt.Println("Dua")
}
Output:
Satu
Dua Switch dengan Kondisi Ekspresi (Lebih Fleksibel)
Switch tidak harus mencocokkan nilai persis.
Bisa juga pakai kondisi dinamis.
Contoh:
nilai := 80
switch {
case nilai >= 85:
fmt.Println("A")
case nilai >= 75:
fmt.Println("B")
case nilai >= 65:
fmt.Println("C")
default:
fmt.Println("D")
}
Ini fungsinya mirip if-else if-else, tapi lebih rapi.
Switch dengan Multiple Case
Kadang beberapa nilai harus menghasilkan output sama.
Bisa seperti ini:
switch hari := "sabtu"; hari {
case "sabtu", "minggu":
fmt.Println("Weekend!")
default:
fmt.Println("Hari kerja")
}
Golang mendukung case multiple, dan ini sangat membantu.
Kapan Harus Pakai IF dan Kapan Pakai SWITCH?
Pertanyaan klasik.
Pakai if ketika:
-
Kondisi butuh perbandingan logika (>, <, <=, != dll)
-
Kondisi sangat dinamis
-
Ada proses sebelum evaluasi
Pakai switch ketika:
-
Banyak pilihan nilai tetap
-
Mau hasil terlihat rapi
-
Pengganti else if yang kepanjangan
Contoh buruk (if else terlalu panjang):
if x == 1 {
...
} else if x == 2 {
...
} else if x == 3 {
...
} else if x == 4 {
...
}
Versi switch yang rapi:
switch x {
case 1:
case 2:
case 3:
case 4:
}
Lebih sehat untuk mata dan pikiran.
Tips Profesional Saat Menggunakan Percabangan
Berikut tips agar lebih “pro” dan clean saat menulis code:
1. Jaga Struktur agar Tetap Rapi
Jangan buat percabangan lebih dari 3–4 tingkat.
Kalau sudah terlalu banyak, artinya waktunya refactor ke function.
2. Gunakan switch untuk kategori jelas
Jika kasus banyak dan punya nilai eksak, gunakan switch.
Program akan lebih enak dibaca.
3. Pakai short statement untuk membuat area variabel aman
if v := hitung(); v > 10 {
...
}
Ini bikin variabel tidak bocor ke luar blok.
4. Gunakan tanda kurung {} dengan rapi
Berbeda dengan Python, Go wajib pakai {}.
Berbeda dengan JavaScript, Go tidak mengizinkan if satu baris tanpa kurung.
Studi Kasus: Program Sederhana
Berikut program kecil yang menggabungkan semuanya:
package main
import "fmt"
func main() {
var menu int
fmt.Println("=== Menu Kopi ===")
fmt.Println("1. Espresso")
fmt.Println("2. Cappuccino")
fmt.Println("3. Latte")
fmt.Print("Pilih menu (1–3): ")
fmt.Scan(&menu)
switch menu {
case 1:
fmt.Println("Anda memilih Espresso. Mantap!")
case 2:
fmt.Println("Anda memilih Cappuccino. Halus dan creamy!")
case 3:
fmt.Println("Anda memilih Latte. Cocok buat santai.")
default:
fmt.Println("Menu tidak ditemukan.")
}
}
Program ini mengajari pengguna memilih menu dan memproses inputnya.
Pola percabangan seperti ini sangat sering dipakai di aplikasi nyata.
Percabangan adalah salah satu fondasi penting dalam pemrograman Golang.
Dalam Go, kita punya tiga senjata utama:
1. if – untuk kondisi sederhana dan fleksibel
2. else / else if – untuk multi-kondisi
3. switch – untuk pilihan banyak yang lebih elegan
Dengan memahami semuanya, kamu akan lebih mudah menulis logika program yang rapi, terstruktur, dan performa bagus.
Semoga artikel ini membantu perjalananmu menjadi Go Developer profesional.
Jangan lupa lanjutkan belajar ke materi berikutnya, karena Go punya banyak hal menarik lainnya!

0 Comments:
Posting Komentar