Belajar Kotlin: 6 Bentuk Percabangan yang Harus Kamu Pahami pada Kotlin
Percabangan atau control Flow adalah sebuah istilah untuk menyebut alur program yang bercabang.
Coba perhatikan alur program ini:
Alur program tersebut mengalir dari atas ke bawah dan tidak ada percabangan.
Sekarang coba perhatikan alur program berikut:
Nah, inilah yang disebut percabangan atau control flow.
Pada artikel ini, kita akan membahas tentang 6 bentuk percabangan yang harus kamu pahami di dalam Kotlin.
Saya sudah menyediakan contoh program dan editor Kotlin yang dapat kamu gunakan untuk mencoba sendiri contoh programnya.
Baiklah…
Mari kita mulai.
1. Percabangan if
Bentuk percabangan ini adalah bentuk yang paling sederhana. Ia memiliki satu blok kode yang akan dieksekusi apabila kondisinya terpenuhi.
Bentuk dasar:
if (kondisi) {
// blok kode yang akan dieksekusi di ini
}
Perhatikan bagian kondisi
, di sana kita bisa isi dengan
sebuah variabel boolean
atau pernyataan yang menghasilkan
nilai boolean
.
Contoh:
fun main(args: Array<String>){
val totalBelanja: Int = 192_000
if (totalBelanja >= 100_000){
println("Selamat, anda dapat hadiah!")
}
println("Terima kasih sudah berbelanja!")
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
Apabila hanya terdapat satu baris kode, blok kode yang ada di dalam if boleh tidak dikurung seperti ini:
if( totalBelanja >= 100_000 ) println("Selamat anda dapat hadiah!")
Perhatikanlah: totalBelanja >= 100_000
ini adalah sebuah
operasi yang akan menghasilkan nilai true
dan false
(boolean).
2. Percabangan if/else
Percabangan if/else memiliki dua blok kode yang akan dieksekusi.
Blok pertama untuk kondisi bernilai true
dan blok kedua (else)
untuk kondisi bernilai false.
Bentuknya seperti ini:
if (kondisi) {
// blok kode yang akan dieksekusi
// jika kondisi bernilai true
} else {
// blok kode yang akan dieksekusi
// jika kondisi bernilai false
}
Contoh:
fun main(args: Array<String>){
val password: String = "kopi"
if (password == "kopi"){
println("Selamat datang bos!")
} else {
println("Siapa kamu? pergi sana!")
}
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
3. Percabangan if/else if/else
Percabangan ini memiliki lebih dari dua blok kode dan kondisi.
Bentuknya seperti ini:
if(kondisiPertama){
// blok kode yang akan dieksekusi
// jika kondisiPertama bernilai true
} else if(kondisiKedua) {
// blok kode yang akan dieksekusi
// jika kondisiKedua bernilai true
} else if(kondisiKetiga){
// blok kode yang akan dieksekusi
// jika kondisi ketiga bernilai true
} else {
// blok kode yang akan dieksekusi
// jika semua kondisi bernilai false
}
Contoh program:
fun main(args: Array<String>){
val nilai: Int = 78
var grade: String = ""
if (nilai >= 90) grade = "A+"
else if (nilai >= 80) grade = "A"
else if (nilai >= 70) grade = "B+"
else if (nilai >= 60) grade = "B"
else if (nilai >= 50) grade = "C+"
else if (nilai >= 40) grade = "C"
else if (nilai >= 30) grade = "D"
else if (nilai >= 20) grade = "E"
else grade = "F"
println("Selamat nilai kamu: $grade")
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
4. Percabangan When
Percabangan when sebenarnya adalah percabangan switch/case. Percabangan when sama seperti percabangan if/else if/else yang memiliki banyak blok dan kondisi.
Bentuknya seperti ini:
when(variabel){
"nilai" -> {
// blok kode yang akan dieksekusi
// jika variabel sama dengan "nilai"
}
222 -> {
// blok kode yang akan dieksekusi
// jika variabel sama dengan 222
}
else {
// blok kode yang akan dieksekusi
// apabila variabel tidak sama dengan
// semua nilai di atas
}
}
Contoh program:
fun main(args: Array<String>){
var x: Int = 4
when (x) {
1 -> print("Senin")
2 -> print("Selasa")
3 -> print("Rabu")
4 -> print("Kamis")
5 -> print("Jum'at")
6 -> print("Sabtu")
7 -> print("Minggu")
else -> {
print("nomer hari salah!")
}
}
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
Pada percabangan when, kita juga bisa mengecek
nilai variabel dengan range (..
).
Contoh program:
fun main(args: Array<String>){
var nilai: Int = 65
var grade: String = ""
when (nilai) {
in 90..100 -> grade = "A+"
in 80..89 -> grade = "A"
in 70..79 -> grade = "B+"
in 60..69 -> grade = "B"
in 50..59 -> grade = "C+"
in 40..49 -> grade = "C"
in 30..39 -> grade = "D"
in 20..29 -> grade = "E"
else -> grade = "F"
}
println("Selamat anda mendapatkan nilai: $grade")
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
Arti tanda titik-titik (..
) pada contoh program di atas adalah range.
Misalkan ada seperti ini:
1..100
Maka artinya itu adalah nilai 1
sampai 100
.
Berikutnya, percabangan when juga bisa tulis seperti ini:
when {
kondisi -> // blok kode yang akan dieksekusi
kondisi2 -> {
// blok kode yang akan dieksekusi jika
// kondisi2 bernilai true
}
else -> // blok else
}
Contoh program:
fun main(args: Array<String>){
var lampu: Int = 1
when {
lampu == 1 -> println("Lampu hijau, jalan!")
lampu == 2 -> println("Lampu kuning, hati-hati!")
lampu == 3 -> println("Lampu merah, berhenti!")
else -> print("lampu konslet!")
}
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
5. Percabangan dengan Operator Ternary
Pada kotlin, operator ternary tidak ada. Sebagai gantinya, kita cukup menggunakan ekspresi if/else saja.
Contoh:
fun main(args: Array<String>){
var menikah: Boolean = false
var status = if (menikah) "menikah" else "single";
println("Status: $status")
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
6. Percabangan Bersarang (Nested)
Percabangan bersarang atau nested adalah percabangan di dalam percabangan.
Contoh:
fun main(args: Array<String>){
var isMember = true
var password = "petanikode"
if(isMember){
if(password == "petanikode"){
println("Selamat datang")
} else {
println("Password salah!")
}
} else {
println("Silakan daftar terlebih dahulu")
}
}
Coba sendiri:
// hapus semua teks ini
// dan ketik ulang kode di atas
Hasilnya:
Apa Selanjutnya?
Kamu sudah belajar dasar-dasar percabangan pada Kotlin. Tentu ini masih belum cukup.
Selanjutnya silakan perbanyak latihan dengan kasus program yang berbeda-beda…
…atau lanjut belajar:
- Perulangan pada Kotlin
- Mengenal List pada Kotlin
- Mengenal Fungsi pada Kotlin
Akhir kata…
Selamat belajar Kotlin.
Referensi: