Kotlin merupakan bahasa pemrograman yang dikembangkan oleh Jetbrains yang didesain dapat sebagai bahasa yang cross-platform, statically typed, general-purpose dengan type inference sehingga bisa berjalan di JVM (Java Virtual Machine), dan juga bisa di compile ke JavaScript, dan Machine Code (lewat LLVM).

Pada tahun 2019, Google mengumumkan bahwa bahasa pemrograman Kotlin menjadi bahasa yang lebih utama untuk pengembangan aplikasi Android(Sumber). Jadi tidak ada salahnya jika kita belajar bahasa Kotlin ini.

Menurut situs resminya, kotlin memiliki kelebihan dibanding dengan Java, yaitu:

  • Ringkas : Mengurangi Kode boilerplate
/*
 Membuat POJO (Plain Old Java Object) dengan getter, setter, hashCode(), toString(), dan copy() dengan satu baris.
*/

data class Pelanggan(val nama: String, val email: String, val umur: Int)

//Memfilter list dengan menggunakan Lambda Expression

val bilanganPositif = list.filter {it > 0}

//Kalau butuh singelton, buat Object

object IniSingleton{
    val namaWebsite: String = "Belajar Informatika"
}

  • Aman: Menghindari error seperi NullPointerException.
/*
 Menghilangkan The Billion Dollar Mistake: NullPointerException
*/
var output : String
outpur = null // Error ketika compile

// Melindungi kamu bekerja dengan nullable secara salah
val nama: String? = null
print(nama.length()) // Compile Error

//Bisa AutoCasting 
fun hitungJumlah(obj: Any){
    if(obj is Invoice){
        obj.hitungJumlah()
    }
}

  • Berjalan Dimana Saja: Bisa berjalan di JVM, Android, Browser, dan Native.

/*
 Bisa pakai library yang sudah ada di JVM. 100% Interoperable, termasuk SAM support.
*/

import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers

Flowable
    .fromCallable {
        Thread.sleep(1000) //  Meniru Komputasi Tinggi
        "Done"
    }
    .subscribeOn(Schedulers.io())
    .observeOn(Schedulers.single())
    .subscribe(::println, Throwable::printStackTrace)

// Target JVM atau Javascript.

import kotlin.browser.window

fun onLoad() {
    window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}
  • Tools Friendly: Didukung oleh banyak tools seperti Intellij IDEA, Eclipse, Android Studio, atau Compiler CLI

Gimana, kayaknya lebih enak pakai Kotlin kan. Nah, ayo kita mulai belajar bahasa ini.

Instalasi

Untuk instalasi, kamu bisa install kotlin CLI atau ngoding lewat IDE officialnya, Intellij IDEA.
Untuk instalasi CLI, kamu bisa menggunakan SDKMAN yang sudah kita jelaskan di artikel Install JDK dan SDK dengan 1 Perintah, atau dengan mendownload dari halaman Github nya.

//Dengan SDKMAN
sdk install kotlin

//Untuk MacOS lewat Homebrew
brew update
brew install kotlin

//untuk pengguna windows lewat Chocolatey
choco install kotlinc
Install Kotlin dengan SDKMAN

Ngoding Pertama

Untuk kodingan pertama, kita akan membuat aplikasi Hello World.

Hello World

Semua program Kotlin, seperti Java, dimulai dengan method main. Berikut contoh program sederhana Hello World.

fun main(args: Array<String>){
	println("Hello World!")
}

kemudian letakkan script tersebut ke dalam file dengan nama Main.kt (namanya bebas aja). Untuk compiling menggunakan CLI, kamu bisa jalankan perintah ini.

kotlinc Main.kt -include-runtime -d Main.jar
Compile Main.kt menjadi Main.jar
Mengompile Kotlin

Lalu jalankan dengan perintah

java -jar Main.jar
Tada, Program dijalankan.

Hello World dengan Object

Kamu bisa menggunakan object untuk menampung method main di program kotlin.

object App{
	@JvmStatic fun main(args: Array<String>{
    	println("Hello Object")
    }
}

Selain args bertipe Array, kamu bisa juga menggunakan vararg untuk parameter method main nya.

fun main(vararg args: String){
	println("Hello World")
}

Oke, demikian penjelasan untuk Hello World di Seri Belajar Kotlin ini. Untuk selanjutnya kita akan membahas dasar-dasar kotlin. Jangan lupa bagikan artikel ini dan tinggalkan komentar di bawah ya.

Belajar Kotlin: #2 Tipe Data, Variabel, dan Inisialisasi
Kita akan membahas tentang Tipe Data, Variabel, dan Inisialisasi.
Featured Image Background : Background vector created by Harryarts - www.freepik.com