Belajar Bahasa Pemrograman Kotlin mudah

Belajar Kotlin Control Flow (If , When, for, while) [part 3]

Jika kalian sudah pernah belajar bahasa pemrograman lainnya, mungkin sudah tidak asing lagi dengan percabangan kondisi, perulangan seperti yang sudah saya tulis pada judul.

Tiap bahasa pemrograman mungkin agak berbeda cara penulisannya tapi pada dasarnya sama saja, buat kalian yang sudah pernah belajar java cara penulisannya kurang lebih atau bahkan sama dengan java. Ok langsung aja kita coba satu per satu Control Flow pada bahasa Kotlin.

If

If dalam bahasa indonesia “jika” bisa kita gunakan saat ingin menentukan suatu kondisi percabangan, contoh pada kotlin seperti berikut :

fun main(){
    val nama1:String = "Rifa"
    var sambutan:String ?=null //value tidak ada / berisikan null

    if(sambutan != null){ //menentukan sebuah keputusan
        print(sambutan)
    }
    println(nama1)
}

>> Rifa

Apakah Coding diatas muncul seperti itu ?, kita lihat pada kondisi if diatas kita menyatakan suatu kondisi “Jika variabel sambutan tidak null/kosong” alias ada isinya maka cetak variabel sambutan.

Berhubung variabel “sambutan” sengaja kita kosongkan maka dari itu coding di atas hanya mencetak variabel nama1.

Lantas jika variabel tersebut ada isinya bakal seperti apa ? coba kalian isi variabel sambutan dengan sesuatu atau coba contoh berikut :

fun main(){
    val nama1:String = "Rifa"
    var sambutan:String ?=null //value tidak ada / berisikan null

    sambutan = "Halo nama saya " //mengisi variabel yang sebelumnya kosong
    
    if(sambutan != null){
        print(sambutan)
    }
    println(nama1)
}

Bagaimana?, apakah setelah program dijalankan masih mencetak nama “Rifa”.

Bisa juga penulisan if dibuat singkat menjadi satu baris seperti berikut :

val nama:String = "Andi"
var sapaan:String ?=null //value tidak ada / berisikan null

fun main(){

    val CetakSapaan = if(sapaan != null) sapaan else "Hai"
    println(CetakSapaan)
    println(nama)
}

If….Else

if..else Sama seperti if namun kondisi ini diakhiri else yang berisikan perintah lanjutan jika kondisi if tidak terpenuhi, hmmm … mungkin akan lebih mudah kalau kita lihat Coding :

fun main(){
    val nama1:String = "Rifa"
    var sambutan:String ?=null //value tidak ada / berisikan null

    if(sambutan != null){
        print(sambutan)
    }else{
        print("Hai ") //jika kondisi if tdk terpenuhi, cetak String ini
    }
    println(nama1)
}

Nah kita lihat kembali Coding diatas pada kondisi if ditentukan bahwa “Jika variabel sambutan tidak kosong alias ada isinya maka cetak sambutan” berhubung valuenya kosong yang berarti kondisi if tidak terpenuhi maka terlemparlah ke kondisi else yang berisi perintah cetak kata “Hai”.

Sederhananya sih mungkin bisa kita ibaratkan seperti ini “Jika Rencana A gagal jalankan Rencana B” kira-kira seperti itu.

When

When salah satu control flow pada kotlin yang sangat mirip dengan penggunaan switch case pada bahasa pemrograman java, jika belum familiar dengan switch case coba deh googling dulu gimana sih bentuk switch itu.

Kalau sudah lihat-lihat seperti apa switch case itu langsung aja cobain Coding berikut dengan gaya penulisan Kotlin :

fun main() {
    print("Masukkan Angka (antara 1 - 3 ) : ")
    val nomer = readLine()!!.toIntOrNull() //membaca integer dari input user

    when (nomer) {
        1 -> println("Kamu menginput angka satu")
        2 -> println("Kamu menginput angka dua")
        3 -> println("Kamu menginput angka tiga")

        else -> { // jika kondisi tidak ada yang terpenuhi
            println("Angka lebih dari 3")
        }
    }
}

Atau Variasi contoh lainnya

fun main() {
    print("Masukkan Angka (antara 1 - 3 ) : ")

    val inputNo = readLine()!! //menangkap inputan user
    var nomer: Int? = inputNo.toIntOrNull() //merubah String ke integer dan akan menghasilkan "null" jika berisikan String

        when (nomer) {
            in 1..3 -> println("Kamu menginput angka $inputNo")// "in" untuk memberi jarak yang ditentukan
            !in 1..3 -> println("Kamu menginput diluar angka 1 sd 3")// "!in" berada di luar jarak yang ditentukan
            null -> println ("Harap Masukkan Angka!!")
            else -> { // jika kondisi tidak ada yang terpenuhi
                print("Ada kesalahan ?")
            }
        }
    }

readLine()!! = untuk membaca inputan user
toIntOrNull() = untuk merubah String ke Integer dan menghasilkan Null jika berisikan String

For

For atau lebih sering kita kenal dengan perulangan for ini bisa digunakan untuk mengulang suatu kondisi (Looping) , cara penulisan for pada kotlin juga lebih ringkas dari java atau bahasa lainnya yang serupa, contohnya seperti berikut :

fun main() {
    for (ulang in 1..3){
        println("halo ini angka ke $ulang")
    }
}

Hasil :
>> halo ini angka ke 1
>> halo ini angka ke 2
>> halo ini angka ke 3

Contoh lainnya bisa dikombinasikan dengan penggunaan untuk membaca isi array pada kotlin, berikut :

fun main() {
    val isi_array = arrayOf("a", "b", "c")
    for (i in isi_array .indices) {
        println(isi_array [i])
    }
}

While, do While

Kemudian yang terakhir ada penggunaan while dan do while pada kotlin, untuk penulisannya tidak terlalu jauh berbeda dengan gaya penulisan java atau bahasa lainnya.

Perbedaan while dan do while hanya terletak di pengeksekusian coding yang mana :

~> while akan mengecek kondisi terlebih dahulu lalu dieksekusi

fun main(){
    var x:Int = 1 //nilai awal 1

    while (x <= 5) { //saat nilai x belum mencapai 5 jalankan fungsi
        println(x)
        x=x+1 //setelah sekali jalan variabel x ditambah 1 dst
    }
}

~> do while mengeksekusi baris coding terlebih dahulu lalu mengecek kondisi kemudian.

fun main() {
    var daya: Int = 5 //nilai awal

    //coding while
    while (daya > 0) {
        println("baterai anda sisa $daya %, nyalakan ponsel")
        daya=daya-1 //setelah sekali jalan kurangkan 1 dst
    }

    //coding do while
   do {
       println("")
       println("nyalakan ponsel")
   }while (daya > 0)
}

>> baterai anda sisa 5 %, nyalakan ponsel
>> baterai anda sisa 4 %, nyalakan ponsel
>> baterai anda sisa 3 %, nyalakan ponsel
>> baterai anda sisa 2 %, nyalakan ponsel
>> baterai anda sisa 1 %, nyalakan ponsel
>>
>> nyalakan ponsel

Jika Coding di atas di jalankan maka kurang lebih akan seperti itu, sudah ketemu bedanya ?, kalau belum coba rubah variabel daya diatas dengan angka 0 (nol). kelihatan ?

Kesimpulan : do while akan selalu mengecek kondisi terlebih dahulu baru menjalankan baris kodenya, kebalikannya do while bisa dibilang jalan dulu baris kodenya baru ngecek kondisinya belakangan.

Leave a Reply

Your email address will not be published. Required fields are marked *