Bagian 2 – Seri Lanjutan Belajar Kotlin

Belajar Kotlin

Halo programmer, berjumpa kembali ditutorial kotlin. Pada tutorial kali kita akan melanjutkan pembahasan sebelumya di Bagian 1 – Berkenalan dan Membuat Project Hello Kotlin. Secara garis besar yang akan kita bahas pada tutorial kali ini yaitu:

  • Operator pada kotlin
  • Type & Conversion
  • Flow Control
  • Comments
  • Input & Output
  • Kotlin Function

Untuk mempersingkat waktu mari kita langsung bahas poin-poin yang sudah kita sebutkan di atas.

1. Operator Pada Kotlin

Operator merupakan suatu simbol yang sering dan biasa  digunakan untuk melakukan operasi perhitungan. Sebagai contoh simbol (+) digunakan untuk menjumlahkan, dan simbol (–) digunakan untuk pengurangan dan pada saat melakukan operasi perhitungan simbol itu disebut sebagai operand.

Di bawah ini adalah tabel dari beberapa simbol Arithmetic Operators yang bisa di gunakan pada Kotlin.

Simbol Operator

Keterangan

+

Digunakan untuk operasi Penjumlahan

Digunakan untuk operasi Pengurangan

*

Digunakan untuk operasi Perkalian

/

Digunakan untuk operasi Pembagian

%

Digunakan untuk operasi Modulus (Sisa Hasil Bagi)

 

Berikut ini contoh penggunaan dari Arithmetic Operator :

Jika dijalankan maka akan menghasilkan sebagai berikut :

Untuk simbol (+) selain digunakan untuk operator penjumlahan juga digunakan untuk menghubungkan nilai string. Berikut ini contohnya :

Setalah dijalankan maka hasilnya seperti berikut :

Sebenarnya masih banyak lagi operator dan cara penggunaannya dan di bawah ini adalah tabel dari beberapa cara penggunaannya.

Ekspresi

Persamaan

Penjelasan

a += b

a = a + b

a + b dan ditampung di variable a kembali

a -= b

a = a – b

a – b dan ditampung di variable a kembali

a *= b

a = a * b

a * b dan ditampung di variable a kembali

a /= b

a = a / b

a / b dan ditampung di variable a kembali

a %= b

a = a % b

a % b dan ditampung di variable a kembali

 

Silahkan coba Intelij Idea seperti sebelumnya. Selain operator yang telah kita bahas di atas, ada beberapa operator yang juga sering kita gunakan, antara lain yaitu:

Operator

Keterangan

Penggunaan

Penjelasan

+

Bukan penjumlahan yaitu symbol plus, untuk memberi nilai plus pada suatu value/nilai

+a

Jika nilai a = -5, maka akan berubah menjadi +5

Bukan pengurangan yaitu symbol minus, untuk memberi nilai minus pada suatu value/nilai

-a

Jika nilai a = +7, maka akan berubah menjadi -7

!

NOT (Kebalikan dari nilai sebelumnya, biasa digunakan untuk Type Boolean)

!a

Jika nilai a = true, maka akan berubah menjadi false

++

Increment : Menambahkan dengan nilai 1

++a

Jika nilai a = 6, maka akan ditambah 1 (a = 6 + 1)

Decrement : Mengurangi dengan nilai 1

–a

Jika nilai a = 6, maka akan dikurang 1 (a = 6 – 1)

 

Selain operator yang digunakan untuk operasi perhitungan ada juga operator yang bisa kita gunakan untuk perbandingan. Berikut beberapa operator tersebut:

 

Operator

Keterangan

Penggunaan

Lebih Besar

a > b

Lebih Kecil

a < b

>=

Lebih Besar sama dengan

a >= b

<=

Lebih Kecil sama dengan

a <= b

==

Sama dengan

a == b

!=

Tidak Sama Dengan

a != b

Berikut ini beberapa operator yang bisa digunakan di kotlin, lebih jelasnya silahkan lihat di Documentation dari Kotlin dan untuk yang belum ada contohnya silahkan dicoba sendiri. Selanjutnya kita akan membahas tentang Type & Conversion.



 

2. Type & Conversion Pada Kotlin

Pada kotlin kita tidak bisa mengkonversi secara nilai numerik dari suatu type ke suatu type lain yang sama-sama numerik, contoh dari type int ke tipe long, meskipun type long lebih besar dari int tidak seperti halnya dengan Java.

 

Ilustratsi pada Java :

int angka1 = 13;

long angka2 = angka2;

 

hal di atas bisa dilakukan jika kita menggunakan Java, tapi tidak dengan kotlin, kita tidak bisa melakukan operasi sebagai berikut:

val angka1: Int = 13

val angka2: Long = angka1

jika kode program di atas kita tulis di editor maka akan merah dan error type mismatch. Maka yang perlu kita lakukan adalah mengubahnya seperti berikut :

val angka1: Int = 13

val angka2: Long = angka1.toLong()

 

jika kita menggunakan perintah toLong() maka kode di atas tidak akan error. Berikut ini beberapa perintah konversi yang bisa kita gunakan :

  • toByte()
  • toShort()
  • toInt()
  • toLong()
  • toFloat()
  • toDouble()
  • toChar()

Catatan: kita tidak bisa mengubah tipe Boolean.

Contoh program :

Hasilnya :

Demikian penjelasan untuk Type & Conversion, Silahkan dicoba untuk perintah konversi yang lainnya. Selanjutnya kita akan membahas tentang Flow Control.

 

3. Flow Control di Kotlin

Ada beberapa hal yang perlu kita tahu mengenai Flow Control, Secara garis besar yaitu (Percabangan dan Perulangan), mari kita mulai.

  • Ekspresi IF

Seperti halnya bahasa pemrograman yang lain, maka pada Kotlin juga terdapat percabangan dengan Ekspresi IF, secara klasik struktur dari IF sendiri adalah berikut :

If (kondisi yang dicari) {

// Aksi yang diinginkan jika sesuai

} else {

// Aksi yang diinginkan jika tidak sesuai

}

contoh program :

Maka hasilnya adalah Negatif.

Contoh di atas merupakan cara lama dari suatu Ekspresi IF, jika kita menggunakan Kotlin kita bisa melakukannya seperti berikut:

Atau jika hanya memiliki satu bari aksi kita bisa menggunakannya menjadi satu baris program seperti berikut :

Atau kita juga bisa menggunakan Else If seperti halnya bahasa lain jika memang memiliki beberapa kondisi yang perlu kita seleksi seperti berikut :

Silahkan dicoba, dan dikreasikan lagi.

 

  • Ekspresi When

Selanjutnya kita akan membahas salah satu Ekspresi dari percabangan juga seperti IF sebelumnya yaitu When. Jika pada java kita biasa dengan Switch, maka pada Kotlin kita bisa menggunakan When Langsung saja kita coba kode program di bawah ini:

fun main(args: Array<String>) {

    val a = 12
    val b = 5

    println("Silahkan Masukkan Salah satu Simbol Berikut (+, -, * or /) : ")
    val operator = readLine() // perintah untuk membaca masukkan Keyboard

    val hasil = when (operator) {
        "+" -> a + b
        "-" -> a - b
        "*" -> a * b
        "/" -> a / b
        else -> "Operator ( $operator ) Tidak Terdapat Pada List."
    }

    println("Hasil = $hasil")
}

Hasilnya akan seperti berikut :

Berikut ini contoh program lainnya :

fun main(args: Array<String>) {

    val a = 23
    val b = 7

    println("A = $a")
    println("B = $b")
    println("Silahlakan pilih operasi Yang di inginkan, untuk melakukan perhitungan nilai di atas :")

    println("List Operator ( +, -, * or / )")
    val operator = readLine()

    when (operator) {
        "+" -> println("$a + $b = ${a + b}")
        "-" -> println("$a - $b = ${a - b}")
        "*" -> println("$a * $b = ${a * b}")
        "/" -> println("$a / $b = ${a / b}")
        else -> println("Operator ( $operator ) Tidak Ada Di List")
    }
}

Jika dijalankan maka hasilnya sebagai berikut :

Silahkan coba untuk melakukan seleksi lainnya.

 

  • While Loop

Selanjutnya kita akan membahas salah satu ekspresi dari perulangan yaitu While. Loop sendiri merupakan suatu perintah yang digunakan untuk mengulang blok kode tertemtu atau perintah tertentu yang kita ingin ulangi. Sebagai contoh kita ingin melakukan perintah println(“Hello”) sebanyak 10 kali, jika tidak menggunakan Loop maka kita akan menuliskan perintah tersebut sebanyak sepuluh kali (10 baris program), tetapi dengan menggunakan Loop kita hanya perlu menuliskan beberapa baris program saja. Secara umum seperti halnya dibahasa pemrograman lainnya, struktur dari while kurang lebih seperti berikut:

While (kondisi){

// Baris Program yang ingin dilakukan perulangan

}

Berikut ini contoh program sederhan dari penggunaan while :

fun main(args: Array<String>) {

    var i = 1

    // Kondisi yang di tentukan adala i harus kurang atau sama dengan 13
    // Berarti nilai i Tidak boleh lebih dari 13
    while (i <= 13) {
        println("Baris ke ==> $i")
        ++i // variable i akan terus di increment / di tambah 1 jika i masih belum mencapai 13
    }
}

Hasil dari program di atas akan menghasilkan seperti berikut :

Baris ke ==> 1

Baris ke ==> 2

Baris ke ==> 3

Baris ke ==> 4

Baris ke ==> 5

Baris ke ==> 6

Baris ke ==> 7

Baris ke ==> 8

Baris ke ==> 9

Baris ke ==> 10

Baris ke ==> 11

Baris ke ==> 12

Baris ke ==> 13

Atau kita bisa menggunakan sedikit dengan Arithmetic seperti contoh berikut ini:

fun main(args: Array<String>) {

    var hasil = 0
    var i = 100

    while (i != 0) {
        hasil += i     // hasil = hasil + i;
        --i            // setelah itu i akan di kurang 1
    }
    println("Hasil = $hasil")
}

Hasilnya akan seperti berikut :

Hasil = 5050

Selain While ada juga perintah yang mirip dengan While hanya saja kondisi dan aksinya dibalik yaitu do while, jika pada While kita menentukan Kondisi terlebih dahulu, maka berbeda dengan Do while. Pada do while kita melakukan aksi terlebih dahulu baru kita lihat kondisinya. Kurang lebih seperti berikut ini strukturnya :

do {

// aksi atau baris program yang ingin dilakukan perulangan

} while (kondisi)

 

kondisi tersebut untuk menentukan peulangannya terus dilanjut atau harus berhenti. Berikut ini contoh sederhana dari penggunakan do while :

fun main(args: Array<String>) {

    var i = 1

    do {
        println("Baris ke ==> $i")
        ++i // variable i akan terus di increment / di tambah 1 jika i masih belum mencapai 13

    } while (i <= 13)
}

Hasil dari program di atas akan seperti  berikut:

Baris ke ==> 1

Baris ke ==> 2

Baris ke ==> 3

Baris ke ==> 4

Baris ke ==> 5

Baris ke ==> 6

Baris ke ==> 7

Baris ke ==> 8

Baris ke ==> 9

Baris ke ==> 10

Baris ke ==> 11

Baris ke ==> 12

Baris ke ==> 13

Untuk lebih memahaminya silahkan dicoba-coba. Selanjutnya kita akan membahas For Loop.

 

  • For Loop

Pada perintah For Loop tidak jauh berbeda dengan while dan while do, sama-sama akan melakukan perulangan baris program tertentu, hanya saja berbeda pada struktur dan penentuan kondisi. Secara umum berikut ini struktur dari perulangn For Loop:

For (kondisi){
// baris program yang akan dilakukan perulangan
}

langsung saja kita lakukan percobaan dengan contoh program sederhana seperti di bawah ini:

fun main(args: Array<String>) {

    for (i in 1..5) {
        println(i)
    }
}

Hasil dari program di atas adalah seperti berikut :

1

2

3

4

5

Atau kita bisa menyingkatnya hanya menjadi satu baris program karena hanya terdapat satu bari program yang dilakukan perulangan:

fun main(args: Array<String>) {
    for (i in 1..5) println(i)
}

Hasilnya akan sama seperti yang di atas. Untuk lebih memahami berikut ini ada contoh program dengan beberapa kondisi For :

fun main(args: Array<String>) {

    print("for (i in 1..5) print(i) = ")
    for (i in 1..5) print(i)

    println()

    print("for (i in 5..1) print(i) = ")
    for (i in 5..1) print(i)     // tidak ada yang dicetak

    println()

    print("for (i in 5 downTo 1) print(i) = ")
    for (i in 5 downTo 1) print(i)

    println()

    print("for (i in 1..4 step 2) print(i) = ")
    for (i in 1..5 step 2) print(i)

    println()

    print("for (i in 4 downTo 1 step 2) print(i) = ")
    for (i in 5 downTo 1 step 2) print(i)
}

Hasil dari program tersebut adalah seperti berikut ini:

for (i in 1..5) print(i) = 12345

for (i in 5..1) print(i) =

for (i in 5 downTo 1) print(i) = 54321

for (i in 1..4 step 2) print(i) = 135

for (i in 4 downTo 1 step 2) print(i) = 531

atau kita bisa menggunakan variable array sebagai kondisi, seperti berikut:

fun main(args: Array<String>) {

    var hoby = arrayOf("Badminton", "Sepak Bola", "Tenis", "Basket", "Voly")

    for (item in hoby)
        println(item)
}

Hasilnya akan seperti berikut :

Badminton

Sepak Bola

Tenis

Basket

Voly

Selain array di atas kita juga bisa menggunakan String seperti contoh berikut:

fun main(args: Array<String>) {

    var text= "Kotlin"

    for (huruf in text) {
        println(huruf)
    }
}

Hasilnya akan seperti berikut ini:

 

 

 

 

 

 

  • Break

Selanjutnya kita akan membahas tentang perintah break, tidak jauh berbeda dengan arti katanya yaitu “Berhenti”, jadi perintah break ini digunakan untuk berhenti di tengah process tanpa harus melihat kondisi yang ditetapkan sebelumnya, misal pada perintah perulangan kita akan melakukan perulangan sebanyak 10 kali, tapi kita melakukan memberi kondisi break ketika baru 5 kali perulangan maka perulangan selanjutnya tidak akan dilakukan meski belum mencapai 10. Agar lebih jelas nya silahkan coba program berikut ini:

fun main(args: Array<String>) {

    var i = 0

    while (i <= 10){
        println("Baris ke ==> $i") // perintah untuk mencetak baris ke index
        if (i == 6) break // kita melakukan break ketika i =6, maka 7 -10 tidak akan muncul
        i++
    }

}

Hasilnya akan seperti berikut ini:

 

 

 

 

Jika kita perhatikan harusnya program akan melakuan cetak sampai dengan Bari ke ==> 10, tetapi karena kita melakukan break di kondisi i = 6 maka perulangan akan berhenti di kondisi i = 6 atau Baris ke ==> 6.

Silahkan kalian coba dengan beberapa kondisi dan gabungkan dengan contoh sebelumnya.

 

  • Continue

Selanjutnya kita akan membahas perintah continue, jika pada break dia akan berhenti dikondisi tertentu, maka continue akan melewati kode program dikondisi tertentu, lebih jelas nya silahkan coba program di bawah ini:

fun main(args: Array<String>) {

    for (i in 1..10){
        if (i == 5 || i == 7) {
            continue
        }
        println("Baris ke ==> $i")
    }
}

hasil dari program di atas adalah seperti berikut:

 

 

 

 

Jika kita perhatikan maka hasil Baris ke ==> 5 dan Baris ke ==> 7 tidak kita temukan, karena telah kita lewati dengan perintah continue. Jadi ketika kondisi i = 5 atau i = 7 kode program println(“Baris ke == > $i”) tidak akan dieksekusi.

Lebih jelas dan paham silahkan lakukan coba-coba untuk perintah ini dan kombinasi dengan break.


4. Menggunakan Comments / Komentar di Kotlin

Untuk pembahasan mengenai comment pada Kotlin mungkin tidak akan terlalu panjang karena secara tidak langsung kita telah sering menggunakan perintah comment ini. Untuk menggunakan comment kita bisa melakukannya dengan 2 cara yaitu dengan perintah  “//” seperti yang biasa kita gunakan, atau bisa juga dengan /* ….. */ perintah ini biasa digunakan jika comment lebih dari satu baris. Sebagai contoh silahkan perhatikan baris program di bawah :

fun main(args: Array<String>) {

    // Perintah Comment Satu Baris
    println("Hello, World!")

    /* Jika perintah Ini.
     * Biasa kita gunakan untuk comment lebih dari satu baris.
     */
}

 

5. Input & Output di Kotlin

Pada pembahasan kali ini kita akan membahas tentang input dan output di kotlin. Sebenarnya di tutorial sebelumnya kita sering menggunakan input dan output. Untuk Output biasa kita gunakan dengan perintah print() atau println(), apa perbedaan println() dan print()? Jika kita menggunakan println() maka program selanjutnya akan di cetak di baris selanjutnya,  sedangkan print() akan dicetak menjadi satu baris saja. Silahkan coba kode program berikut :

fun main(args : Array<String>) {
    println("1. println ");
    println("2. println ");

    print("1. print ");
    print("2. print");
}

Hasilnya akan seperti berikut :

  1. println
  2. println
  3. print 2. Print

Sedangkan untuk Input, kita bisa menggunakan perintah readline() yang sebelumnya kita gunakan untuk membaca masukkan dari keyboard. Sebagai contoh silahkan perhatikan kode program berikut ini :

fun main(args: Array<String>) {
    print("Masukkan Teks: ")

    val stringInput = readLine()!!
    println("Kamu Menuliskan : $stringInput")
}

Hasilnya akan sebagai berikut:

Muhammad Yusuf

Konten developer untuk Mobile Development

all author posts