Lompat ke konten utama
←

Go dari Nol

Pelajaran 5 dari 15

Percabangan dan perulangan

if dan switch

Setelah pelajaran ini kamu bisa membaca if dengan pernyataan pendek beserta lingkup variabelnya, dan menentukan case switch mana yang dijalankan.

±13 menitDiperiksa 5 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

if di Go ditulis tanpa tanda kurung di sekitar kondisinya, dan kurung kurawal wajib walau isinya satu baris. Kondisinya harus bertipe bool. Angka 0 atau teks kosong tidak otomatis dianggap salah seperti di Python atau JavaScript, sehingga if stok { ... } untuk stok bertipe int ditolak kompilator.

if boleh diawali pernyataan pendek yang dipisah titik koma: if sisa := stok - pesanan; sisa < 0 { ... }. Variabel sisa hanya hidup di dalam if itu beserta cabang else-nya. Memakainya sesudah kurung kurawal penutup menghasilkan galat kompilasi undefined: sisa.

switch membandingkan satu nilai dengan setiap case dari atas ke bawah dan menjalankan case pertama yang cocok saja. Tidak perlu break: Go tidak meneruskan ke case berikutnya kecuali diminta dengan kata kunci fallthrough. Satu case boleh memuat beberapa nilai, case "Sabtu", "Minggu":, dan default dijalankan bila tidak ada case yang cocok. switch tanpa ekspresi bekerja seperti rantai if-else if dan juga berhenti di case benar yang pertama.

package main

import "fmt"

func main() {
	hari := "Minggu"
	switch hari {
	case "Sabtu", "Minggu":
		fmt.Println("Libur")
	default:
		fmt.Println("Masuk kerja")
	}
	// Libur

	if sisa := 12 - 15; sisa < 0 {
		fmt.Println("Kurang", -sisa) // Kurang 3
	}
}

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Apa yang dicetak program ini?

package main

import "fmt"

func main() {
	nilai := 88
	switch {
	case nilai >= 60:
		fmt.Println("C")
	case nilai >= 75:
		fmt.Println("B")
	case nilai >= 85:
		fmt.Println("A")
	default:
		fmt.Println("D")
	}
}
Pilih satu jawaban

Latihan 2 dari 3

Apa yang terjadi saat program ini dijalankan dengan go run?

package main

import "fmt"

func main() {
	stok := 12
	pesanan := 15
	if sisa := stok - pesanan; sisa < 0 {
		fmt.Println("Kurang", -sisa)
	}
	fmt.Println("Sisa akhir:", sisa)
}
Pilih satu jawaban

Latihan 3 dari 3

Di JavaScript, case yang tidak diakhiri break meneruskan eksekusi ke case di bawahnya. Apa yang dicetak program Go ini?

package main

import "fmt"

func main() {
	kode := 2
	switch kode {
	case 1:
		fmt.Println("satu")
	case 2:
		fmt.Println("dua")
	case 3:
		fmt.Println("tiga")
	}
	fmt.Println("selesai")
}
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke