Apa itu Kotlin?
Kotlin adalah bahasa pemrograman open-source yang dikembangkan oleh JetBrains untuk berbagai platform. Tapi, bahasa pemrograman ini semakin populer digunakan untuk membangun aplikasi Android.
Bahasa Kotlin berjalan pada platform Java Virtual Machine (JVM), sebuah platform yang memungkinkan komputer menjalankan kode berbasis Java, atau kode dari bahasa lain yang dikompilasi (compile) menggunakan Java.
Artinya, Kotlin bisa menerapkan mekanisme compile pada Java. Bagi yang belum tahu, Java adalah bahasa yang bisa dipakai untuk menulis kode lalu menjalankannya di platform yang mendukung (Write Once Run Anywhere).
Bahkan, Kotlin juga bisa digunakan bersama dengan Java. Dengan kata lain, Anda bisa menggunakan Kotlin dan Java sekaligus untuk membangun satu aplikasi Android.
Contohnya, Anda bisa menggunakan Kotlin untuk membuat satu halaman aplikasi, sementara halaman lainnya ditulis menggunakan Java. Kedua bahasa tersebut tidak akan bentrok satu sama lain karena menghasilkan output file yang sama.
Nah, bahasa pemrograman Kotlin tergolong bahasa yang diketik secara statis (statically typed). Artinya, semua variabel yang dimasukkan ke dalam program harus dikenalkan terlebih dahulu apa jenisnya.
Dengan begitu, error yang terjadi saat menulis kode (coding) dapat terdeteksi saat itu juga. Sehingga pada saat proses compile, program sudah benar-benar bersih dari error.
Itu dia penjelasan tentang pengertian Kotlin. Sekarang, mari pelajari sejarah perkembangan Kotlin hingga sepopuler sekarang.
Sejarah Perkembangan Kotlin
Kotlin dibuat oleh JetBrains pada tahun 2011. Awalnya, Dimitry Jemerov selaku pimpinan JetBrains melihat bahwa kebanyakan bahasa pemrograman, seperti Java, punya aturan coding yang rumit.
Yang terjadi, pengembang perlu menulis beberapa baris kode hanya untuk membuat satu perintah sederhana. Hal ini tentu kurang efisien, karena waktu untuk membangun aplikasi jadi lebih lama.
Nah, karena Java punya keunggulan pada ekosistemnya yang luas, tercetus ide untuk membuat bahasa pemrograman yang lebih ringkas, tapi bisa menggunakan semua ekosistem milik Java.
Dari situlah lahir bahasa pemrograman Kotlin.
Pada tahun 2012, JetBrains mengubah status bahasa Kotlin menjadi open-source di bawah lisensi Apache 2. Artinya, Kotlin bisa digunakan gratis dan dikembangkan dengan bebas.
Setelah itu, banyak perusahaan besar yang memutuskan menggunakan bahasa pemrograman Kotlin. Beberapa diantaranya adalah Atlassian, Pinterest, dan Uber.
Kotlin pun terus berkembang pesat, terutama setelah Google pada 2017 memberi dukungan kelas pertama (first-class support). Bahkan, di 2019 Google memprioritaskan Kotlin sebagai bahasa pemrograman utama untuk Android dibanding bahasa pemrograman C++ atau Java.
Popularitas bahasa pemrograman Kotlin semakin meroket dan 70% aplikasi teratas Google Play Store dibangun menggunakan Kotlin, termasuk aplikasi Google sendiri seperti Maps dan Drive.
Fungsi Kotlin
Sebagai bahasa pemrograman, fungsi Kotlin adalah membuat aplikasi Android agar dapat berjalan dengan lancar. Tapi, fungsi Kotlin sebenarnya tidak hanya sebatas itu.
Kotlin juga bisa digunakan untuk membuat aplikasi iOS dan web-based karena merupakan bahasa pemrograman multiplatform. Contoh aplikasi yang dibangun menggunakan Kotlin adalah Netflix (iOS), dan Data2viz serta Barclay’s Bank (web based).
Hal ini menguntungkan pengembang, karena mereka tidak perlu menggunakan bahasa pemrograman berbeda untuk membuat aplikasi di berbagai platform.
Kenapa Memilih Kotlin?
Ada beberapa alasan kenapa Anda harus memilih bahasa Kotlin untuk membangun aplikasi Android, antara lain:
- Dukungan Resmi Google – Kotlin didukung penuh oleh Google. Mulai dari penambahan fitur, peningkatan kinerja, hingga pengamanan sistem.
- Kemudahan untuk belajar – Kotlin adalah bahasa pemrograman yang mudah dipelajari, lewat aturan penulisan kode yang ringkas. Apalagi, tersedia banyak kursus dari Google untuk mempelajarinya, mulai dari tingkat pemula sampai mahir.
- Ekosistem multiplatform – Dengan ekosistem multiplatform, Kotlin memudahkan Anda tidak hanya membangun aplikasi berbasis Android, tapi juga aplikasi pada platform lain tanpa menemui kendala berarti.
Nah, tiga alasan di atas seharusnya membuat Anda yakin untuk memilih Kotlin. Jika masih belum yakin, yuk simak penjelasan tentang kelebihan Kotlin pada bagian berikutnya.
Kelebihan Kotlin
Setelah paham apa itu Kotlin, sejarah, hingga fungsinya, berikut ini kami sajikan beberapa kelebihan yang dimiliki bahasa Kotlin:
1. Ekspresif dan Ringkas
Kotlin adalah bahasa pemrograman yang ekspresif. Artinya setiap perintah yang akan digunakan harus dikenalkan atau dideklarasikan terlebih dahulu.
Selain untuk meminimalisir terjadinya error, hal ini akan mempermudah pengembang memperbarui aplikasi yang sudah dirilis. Contohnya, saat menambah fitur-fitur baru.
Selain ekspresif, Kotlin juga merupakan bahasa yang ringkas. Faktanya, Kotlin punya 40% baris kode lebih sedikit dibandingkan Java untuk satu perintah sama. Contohnya pada gambar berikut:
Dengan kode Kotlin yang ringkas, waktu untuk membangun aplikasi lebih singkat dan ukuran aplikasi jadi lebih kecil.
2. Kode yang Lebih Aman
Aplikasi berbasis Kotlin punya kemungkinan error 20% lebih rendah, berkat adanya mekanisme yang melindungi kode dari error Null Pointer Exception (NPE). Cara kerjanya dengan memastikan setiap variabel harus memiliki nilai awal, contohnya:
Bagaimana jika Anda ingin tetap punya variabel bernilai null? Tenang, Kotlin juga punya solusinya kok lewat fungsi bernama Nullable. Artinya, variabel bernilai null harus dideklarasikan dengan menambahkan akhiran ‘?’ seperti pada contoh berikut:
Sedangkan di beberapa bahasa lain, setiap variabel dapat dideklarasikan tanpa harus memiliki nilai awal. Jika tidak hati-hati, aplikasi dapat berisi error yang tak terdeteksi yang menyebabkan terjadinya force-close saat sudah digunakan oleh pengguna.
3. Bisa Digunakan Bersama dengan Java
Kotlin dapat digunakan bersama dengan Java karena kedua bahasa tersebut bisa saling berkomunikasi dan bertukar informasi. Contohnya untuk bertukar fungsi, kelas, ataupun variabel.
Hal ini dapat terjadi karena Kotlin dan Java sama-sama berjalan di atas platform JVM. Kedua bahasa pemrograman akan menghasilkan file berjenis byte-code pada proses compiling.
Dengan struktur file byte-code yang identik, kalau Anda terlanjur membangun aplikasi dengan Java, Anda bisa tetap menggunakan Kotlin dengan mudah.
4. Serentak dan Terstruktur
Bahasa Kotlin punya ciri khas yaitu serentak dan terstruktur, Artinya, dua kode yang dieksekusi tidak pada waktu yang sama (asinkron) tetap memiliki hasil akhir struktur yang sama persis.
Nah, hal tersebut bisa terjadi berkat fitur bernama Coroutine. Coroutine adalah pola desain serentak untuk menyederhanakan eksekusi kode secara asinkron. Keberadaan Coroutine punya manfaat terhadap aplikasi yang dihasilkan, yaitu:
- Ringan – Coroutine dapat meringankan beban kerja sistem dengan mengeliminasi perintah yang menyebabkan aplikasi menjadi tidak responsif.
- Minim Kebocoran Memori – Penyederhanaan kode pada Coroutine dapat meminimalisir penggunaan memori berlebih pada sistem.
- Dukungan Pembatalan – Coroutine mendukung pembatalan otomatis jika sistem mengalami kendala atau sedang tidak responsif.
- Integrasi Jetpack – Coroutine dapat menggunakan library Jetpack menyediakan banyak ekstensi pendukung.
Hasilnya, aplikasi Android yang dihasilkan akan lebih responsif, minim bug, serta tidak memakai terlalu banyak RAM ketika digunakan pengguna.
Kekurangan Kotlin
Sebelum menggunakan Kotlin, pastikan Anda telah mempertimbangkan beberapa kekurangan Kotlin berikut:
1. Kecepatan Compile Tidak Stabil
Kecepatan proses compile pada Kotlin tidak stabil. Kadang cepat, kadang lambat, bahkan bisa lebih lambat dari Java.
Dari sebuah uji coba, terlihat Kotlin cenderung lebih cepat jika digunakan untuk proses compile berjenis incremental build. Namun, kecepatannya menurun ketika harus melakukan compile jenis clean build.
Kelemahan ini patut dipertimbangkan karena kecepatan compile punya peranan vital, terutama saat membangun beberapa aplikasi sekaligus.
2. Minim Komunitas dan Pengembang
Kotlin adalah bahasa pemrograman baru, sehingga belum memiliki komunitas yang luas. Jika mengalami error tertentu, Anda mungkin akan kesulitan mencari bantuan dari komunitas sebagai solusinya.
Selain itu, jumlah pengembang aktif Kotlin baru sekitar 5 juta orang, tak sebesar Java yang sudah mencapai 8 juta orang. Jadi, ketika Anda ingin membangun aplikasi berskala besar, pilihan orang yang bisa diajak bekerja sama dalam tim akan terbatas.
Nah, bicara Kotlin pasti tidak lengkap tanpa menyinggung Java. Tapi, apa perbedaan Kotlin dan Java sebenarnya? Jawabannya ada pada poin selanjutnya.
Perbedaan Kotlin dan Java
Sebagai sesama bahasa pemrograman untuk Android, apa saja perbedaan Kotlin dengan Java? Untuk lebih mudahnya simak tabel berikut:
Perbandingan | Kotlin | Java |
Penulisan kode | Simpel, membutuhkan lebih sedikit baris kode untuk menulis satu perintah sederhana | Rumit, membutuhkan beberapa baris kode hanya untuk menulis satu perintah sederhana |
Keamanan Kode | Sangat aman dari error karena harus mendeklarasikan variabel dengan value | Kurang aman dari error karena bisa mendeklarasikan variabel tanpa value |
Dukungan Android Studio 3.0 | Mendukung semua fungsi Android Studio tanpa memasang plugin tambahan | Mendukung semua fungsi Android Studio hanya jika memasang plugin tambahan |
Performa aplikasi | Sangat cepat berkat dukungan fitur Coroutine | Tidak secepat Kotlin karena kurang mendukung Coroutine |
Biaya pengembangan | Murah karena waktu pengembangan yang lebih singkat | Mahal karena waktu pengembangan yang lebih lama |
Dukungan untuk arsitektur kompleks | Kurang mendukung karena ekosistem yang masih berkembang | Sangat mendukung karena ekosistem yang sangat besar |
Popularitas | Hanya populer sebagai bahasa pemrograman khusus Android | Sangat populer sebagai bahasa pemrograman untuk berbagai platform |
Dukungan komunitas | Forum komunitas masih minim | Forum komunitas tersedia di berbagai portal |
Dokumentasi | Dokumentasi masih sedikit, kebanyakan dari website resmi | Dokumentasi melimpah, dari website resmi hingga website pihak ketiga |
Kotlin lebih unggul dalam proses pengembangan aplikasi yang lebih cepat, serta kualitas aplikasi yang dihasilkan. Sedangkan Java unggul dalam hal dukungan komunitas dan ekosistem yang lebih besar.
Nantinya, kalau Kotlin punya ekosistem dan komunitas yang lebih luas, bisa saja akan lebih hebat dari Java. Itu bukan hal yang mustahil mengingat komitmen Google untuk mendukung pengembangan Kotlin di masa depan.