1. Gambaran Umum tentang Pernyataan Kondisional

Pernyataan kondisional adalah alat penting untuk mengendalikan alur logis program dalam pemrograman. Di Golang, pernyataan kondisional mirip dengan yang ada di bahasa pemrograman lain, tetapi memiliki karakteristiknya sendiri. Mereka memungkinkan kita untuk memutuskan kode mana yang akan dieksekusi berdasarkan kondisi benar atau salah, sangat meningkatkan fleksibilitas dan kebermaintanabilityan kode.

2. Pernyataan if

2.1 Penggunaan Dasar Pernyataan if

Pernyataan if adalah pernyataan kondisional paling dasar dalam bahasa Go. Sintaksnya adalah sebagai berikut:

if kondisi {
    // Kode untuk dieksekusi ketika kondisi benar
}

Berikut adalah contoh sederhana:

package main

import "fmt"

func main() {
    x := 10
    if x > 5 {
        fmt.Println("x lebih besar dari 5")
    }
}

Kode ini akan memeriksa apakah x lebih besar dari 5, dan jika iya, akan melakukan operasi cetak.

2.2 Ekspresi Kondisional

Ekspresi kondisional terdiri dari operator perbandingan (seperti ==, !=, <, >, <=, >=) dan operator logis (seperti && (DAN), || (ATAU), ! (BUKAN)).

Sebagai contoh, untuk memeriksa apakah variabel berada dalam rentang tertentu:

y := 20
if y >= 10 && y <= 30 {
    fmt.Println("y berada di antara 10 dan 30")
}

Ekspresi kondisional di atas menggunakan operator logis && untuk memastikan bahwa nilai y berada di antara 10 dan 30.

2.3 Struktur if...else dan else if

Ketika kondisi if tidak terpenuhi, kita dapat menggunakan else untuk mengeksekusi blok kode alternatif. else if memungkinkan kita untuk memeriksa beberapa kondisi. Berikut adalah contohnya:

skor := 88

if skor >= 90 {
    fmt.Println("Sangat Baik")
} else if skor >= 80 {
    fmt.Println("Baik")
} else if skor >= 70 {
    fmt.Println("Rata-rata")
} else {
    fmt.Println("Dibawah Rata-rata")
}

Kode ini akan mencetak penilaian yang berbeda berdasarkan nilai skor.

3. Pernyataan switch

3.1 Sintaks Dasar switch

Pernyataan switch adalah pernyataan cabang kondisional yang lebih ringkas, terutama cocok untuk situasi di mana nilai-nilai multiple perlu dievaluasi. Sintaks dasar pernyataan switch adalah sebagai berikut:

switch ekspresi {
case nilai1:
    // Kode untuk dieksekusi ketika nilai cocok dengan nilai1
case nilai2:
    // Kode untuk dieksekusi ketika nilai cocok dengan nilai2
default:
    // Kode untuk dieksekusi secara default
}

Jika nilai ekspresi cocok dengan nilai yang mengikuti case, blok kode masing-masing akan dieksekusi.

3.2 switch Fallthrough

Dalam pernyataan switch Go, setiap cabang tidak jatuh ke kasus berikutnya secara default kecuali kata kunci fallthrough digunakan.

switch num {
case 1:
    fmt.Println("Satu")
    fallthrough
case 2:
    fmt.Println("Dua")
default:
    fmt.Println("Bukan Satu atau Dua")
}

Dalam kode di atas, jika num adalah 1, meskipun cocok dengan case 1, karena adanya kata kunci fallthrough, program akan terus mengeksekusi kode di case 2 dan mencetak "Dua".

3.3 Pemcabangan Jenis dan Pemcabangan Kustom

Pernyataan switch juga mendukung pemcabangan berdasarkan jenis variabel, yang dikenal sebagai pemcabangan jenis. Selain itu, kita dapat membuat kondisi pemcabangan kustom yang lebih kompleks.

Contoh pemcabangan jenis:

var i interface{} = 1

switch i.(type) {
case int:
    fmt.Println("i adalah integer")
case float64:
    fmt.Println("i adalah float64")
default:
    fmt.Println("i adalah tipe lain")
}

Kondisi pemcabangan kustom dapat ditulis untuk melakukan penilaian kondisional yang lebih kompleks sesuai kebutuhan.

4. Latihan Praktis

Pada bagian ini, kita akan mendalami pemahaman dan aplikasi pernyataan kondisional dalam Golang melalui contoh-contoh spesifik. Melalui tantangan pemrograman praktis, Anda akan menjadi lebih mahir dalam menggunakan pernyataan if dan switch untuk memecahkan masalah dunia nyata.

Kalkulator Nilai

Ayo kita buat kalkulator nilai sederhana. Program ini akan menentukan dan menampilkan nilai sesuai dengan skor yang dimasukkan oleh pengguna. Kriteria penilaian adalah sebagai berikut:

  • A untuk skor 90 ke atas
  • B untuk skor antara 80 dan 89
  • C untuk skor antara 70 dan 79
  • D untuk skor antara 60 dan 69
  • F untuk skor di bawah 60

Kita bisa menggunakan pernyataan if atau pernyataan switch untuk menerapkan fungsionalitas ini. Pertama, mari kita lihat contohnya menggunakan pernyataan if:

package main

import (
	"fmt"
)

func main() {
	var score int
	fmt.Print("Silakan masukkan skor: ")
	fmt.Scan(&score)

	if score >= 90 {
		fmt.Println("Nilai: A")
	} else if score >= 80 {
		fmt.Println("Nilai: B")
	} else if score >= 70 {
		fmt.Println("Nilai: C")
	} else if score >= 60 {
		fmt.Println("Nilai: D")
	} else {
		fmt.Println("Nilai: F")
	}
}

Pada kode ini, kita pertama-tama mendeklarasikan variabel skor untuk menyimpan skor yang dimasukkan pengguna. Kita menggunakan fungsi fmt.Scan untuk mendapatkan masukan pengguna. Kemudian, kita menggunakan beberapa pernyataan if dan else if untuk menentukan nilai yang sesuai untuk skor dan menggunakan fungsi fmt.Println untuk menampilkan nilai.

Selanjutnya, mari kita lihat contohnya menggunakan pernyataan switch:

package main

import (
	"fmt"
)

func main() {
	var score int
	fmt.Print("Silakan masukkan skor: ")
	fmt.Scan(&score)

	switch {
	case score >= 90:
		fmt.Println("Nilai: A")
	case score >= 80:
		fmt.Println("Nilai: B")
	case score >= 70:
		fmt.Println("Nilai: C")
	case score >= 60:
		fmt.Println("Nilai: D")
	default:
		fmt.Println("Nilai: F")
	}
}

Pada contoh menggunakan pernyataan switch, struktur kode lebih ringkas dan jelas. Kita tidak perlu menggunakan banyak pernyataan if berturut-turut; sebaliknya, kita langsung menentukan kondisi-kondisi dalam setiap case setelah switch. Skor yang tidak cocok dengan kondisi dari case sebelumnya akan otomatis beralih ke case berikutnya sampai cocok dengan cabang kondisional yang sesuai atau mencapai default yang kemudian menampilkan nilai F.

Sekarang setelah kamu belajar bagaimana menggunakan if dan switch untuk penilaian kondisional, cobalah untuk menulis program sendiri dan berlatih untuk memperdalam pemahaman kamu.

Pada bagian selanjutnya, kita akan terus memperkenalkan masalah-masalah yang lebih praktis untuk membantu kamu menguasai pernyataan kondisional dalam Golang.

Harap dicatat bahwa kode di atas digunakan untuk tujuan instruksional. Saat digunakan dalam aplikasi praktis, faktor-faktor seperti interaksi pengguna dan penanganan kesalahan harus dipertimbangkan agar lebih kokoh.