Say Hi Kotlin, Android !

Bahasa baru untuk kita semua

Arie Ridwan
GITS Indonesia
3 min readSep 23, 2016

--

Article Title

Hi semua, setelah sekian lama vacum akhirnya saya kembali lagi menulis seri Android dan kali ini saya akan membahas suatu hal yang sebenarnya sudah lama tetapi belum banyak yang mengetahuinya, salah satu bahasa pemrograman untuk Android yang kekinian, yaitu Kotlin. Kotlin adalah suatu bahasa pemrograman statis untuk JVM, Android dan browser. Kotlin merupakan bahasa pemrograman dari JetBrains yang menggabungkan fitur yang ditemukan di Scala, Groovy, C# dan lain-lain. Tidak dibutuhkan IDE lain untuk memprogramnya, cukup dengan Android Studio.

Lalu kenapa saya mengatakan bahwa ini adalah bahasa kekinian ?

Karena Kotlin merupakan bahasa pemrogaman yang berorientasi objek dengan fungsionalitas yang modern, bahasa dengan sintaks yang jauh lebih ringkas dari Java. Dalam implementasinya, coding di Kotlin terasa mirip seperti pemrograman Scala. Salah satu yang paling umum adalah, tidak menggunakan semicolon (titik koma), sama halnya seperti Swift. Kotlin hadir dengan ukuran runtime dan stdlib file yang kecil , ini merupakan hal yang baik untuk membuat APK karena memungkinkan kita untuk menulis kode yang modern dari JVM tanpa mendapatkan ukuran file APK besar.

Kenapa kita harus memilih Kotlin ?

Ringkas
Secara drastisme mengurangi jumlah boilerplate code yang Anda tulis.

Aman
Hindari seluruh kesalahan pada class seperti null pointer exception.

Serba guna
Membangun aplikasi server-side, aplikasi Android atau kodingan front-end yang berjalan di browser.

Dapat digunakan di Java

Coba semua kerangka kerja yang ada dari perpustakaan JVM dengan 100% interoperabilitas dengan Java.

Sebelum memulainya di Android, saya sangat menyarankan kalian untuk mempelajari terlebih dahulu gaya coding dari Kotlin ini di halaman resminya di sini. Saat ini mungkin telah banyak tutorial yang bertebaran di internet tentang cara mengkonfigurasikan Kotlin di Android Studio, tetapi banyak yang mengalami kegagalan karena cara yang dilakukan sedikit rumit. Nah di sini saya akan menggunakan metode yang paling mudah, yaitu dengan memanfaatkan plugin di Android Studio. Artikel ini dibuat tanpa gambar dengan harapan pembaca bisa mempraktikan sendiri. Simak tutorialnya berikut ini :

Konfigurasi Kotlin di Android Studio

  1. Langkah pertama tentunya membuat project baru di Android Studio seperti biasa. Tidak ada yang spesial di sini, hanya buat project baru dengan empty activity. Setelah semuanya siap, cari plugin Kotlinnya dengan cara klik File > Settings > Plugin >Browse Repository
  2. Lalu ketikan “Kotlin” dan pilih plugin dengan title Kotlin dan subtitle LANGUAGES. Bisa kita lihat bahwa di sana terdapat plugin lain, tetapi kita hanya membutuhkan plugin Kotlin saja untuk mengitegerasikan dengan Android Studio. Lalu pilih Install, kemudian setelah selesai maka pilih restart.
  3. Setelah itu, lalau tekan Shift 2x pada keyboard, lalu ketikan “Convert java to kotlin” dan pilih. Atau bisa dengan menekan Ctrl+Alt+Shift+K dari keyboard.
  4. Dan lihatlah yang terjadi, sekarang sintaks kita berubah menjadi Kotlin. Tetapi aplikasi ini masih belum bisa dijalankan dikarenakan belum dikonfigurasikan di file gradlenya. Caranya tekan Shift 2x pada keyboard, lalu ketikan “Configure kotlin” dan pilih “Configure Kotlin in project”.

Contoh implementasi Kotlin dalam project sample

Rubah file activity_main.xml dengan :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="id.arieridwan.androidkotlin.MainActivity"
android:orientation="vertical">


<EditText
android:id="@+id/txtNama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords|textPersonName"
android:ems="10"
android:hint="Tulis nama Anda" />

<Button
android:id="@+id/btnSubmit"
android:text="SUBMIT"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:textColor="@android:color/white"
android:layout_marginTop="10dp" />
</LinearLayout>

Bisa dilihat bahwa kita telah membuat 1 buah EditText dan 1 buah Button dengan nama txtNama dan btnSubmit.

Masukan kode di bawah ini pada MainActivity.kt :

package id.arieridwan.androidkotlin

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textNama = findViewById(R.id.txtNama) as EditText
val buttonSubmit = findViewById(R.id.btnSubmit) as Button
buttonSubmit.setOnClickListener {
Toast.makeText(this,"Hi dude i'm " + textNama.text,Toast.LENGTH_SHORT).show()
}
}
}

Bisa kita lihat di sana cara inisialisasi variablenya berbeda dengan java dan lihatlah tidak ada semicolon di sana. Untuk memanggil onClick cukup dengan printah tersebut saja, terkecuali kita membutuhkan view pada saat onClick. Seperti contohnya misal kita akan menggukan SnackBar, seperti yang kita ketahui SnackBar membutuhkan view. Yang harus kita lakukan adalah sebagai berikut :

buttonSubmit.setOnClickListener {
view -> Snackbar.make(view,"Hi dude, i'm " + textNama.text,Snackbar.LENGTH_LONG).show()
}

Bagaimana mudah bukan ?

Demikianlah catatan seri Android kali ini, semoga bermanfaat dan nantikan catatan — catatan saya berikutnya. Untuk contoh aplikasi Kotlin ini dapat kalian unduh di repository saya di :

Jika ada kesulitan dalam konfigurasinya, kalian dapat menghubungi saya di semua social media saya.

https://twitter.com/arieridwan8

--

--

Arie Ridwan
GITS Indonesia

Software Engineer (mostly) in Mobile. Currently based in Berlin exploring music tech and creative coding