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.