Karakteristik Bahasa Pemrograman Kotlin - hapidzfadli.id
News Update
Loading...

Rabu, 19 Agustus 2020

Karakteristik Bahasa Pemrograman Kotlin


Karakteristik Kotlin - Untuk mempelajari dan memahami bahasa pemrograman lebih mendalam tentunya kita harus terlebih dahulu memahami karakteristik nya. Dalam bahasa kotlin ada beberapa karakteristik yang perlu di pahami, di artikel ini akan di bahasa satu persatu. 

Kotlin merupakan bahasa pemrograman yang praktis, ringkas dan tentunya aman. Kotlin bisa di jalankan di berbagai freamwork dan library Java. Berikut karakteristik kotlin yang banyak di sukai oleh para programer dan developer.

Modern and Concise

Kotlin merupakan bahasa pemrograman yang modern dan ringkas, bisa memangkas kode hingga beberapa baris saja. Hal ini sangat menguntungkan bagi para programer karena dengan kode yang singkat dapat memangkas waktu ketika ditulis maupun dibaca. Semakin singkat sebuah kode maka semakin cepat juga untuk dipahami. Selain dapat memangkas kode fungsi fungi dalam kotlin memiliki kata kunci yang mudah di ingat dan terkesan sederhana.

Perhatikan perbandingan kode kotlin dan java di bawah ini:

Java:

public class SomeClasses{
public static void main(String[] args){
System.out.println("Hello");
}
}


Kotlin:

class SomeClasses{
fun main(){
println("Hello")
}
}


Lihat kode diatas ada beberapa perbedaan dari kedua bahasa tersebut. Dalam bahasa java kita harus menambahkan semicolon atau tanda titik koma (;) di akhir statment, tapi dalam kotlin kita tidak harus menambahkan semicolon disetiap statment, ini membantu para programer ketika sedang menulis kode, karena banyak para programer yang sering lupa menambahkan semicolon di akhir statment. Tapi itu belum seberapa selain kode yang ringkas kotlin juga dibekali dengan beberapa standard library seperti higher-order function, extension function, dll yang nanti kita akan pelajari di artikel selanjutnya.

Pragmatic

Sebuah bahasa pemrograman bisa di katakan pragmatis jika bisa mengatasi masalah masalah dengan praktis. Kotlin di kembangkan oleh tim JetBrians dari permasalahan yang sering di alamai para pengembang tersebut. Dalam setiap perilisanya kotlin selalu memperbaharui fitur-fitur untuk membantu para programer dalam mengatasi masalah secara praktis.

Kotlin di dukung oleh berbagai tools untuk membantu penulisan kode. Tim JetBrians menyediakan IDE IntelliJ IDEA beserta plugin-plugin yang disesuaikan dengan setiap fitur yang ada pada Kotlin.

Safe

Sebauh bahasa pemrograman harus memiliki tingkat keamanan yang tinggi, namun seperti apakah yang di sebuat " Aman " dalam bahasa pemrograman? Apakah “aman” artinya kita bisa membuat aplikasi yang tidak mudah dibobol? Tentu tidak. Ketika seorang programer menuliskan kode akan ada saatnya kode kode yang di tuliskan itu eror atau terdapat masalah. Terdapat berbagai masalah yang sering di alamai oleh para programer seperti proyek tak berhasil di-build, atau bahkan fitur yang tak berfungsi semestinya.

Dengan bejalanya JVM di bawah kotlin, keamanan kotlin lebih terjamin terlebih dalam sisi memori. Kotlin juga menjamin lebih aman dari Bahasa Java. Misalnya ketika programer mendeklarasikan tipe atau argumen kotlin secara otomatis akan menyimpulkan tipe tersebut secara otomatis. Selain itu kotlin juga dapat memeriksa kesalahan ketika proses compilasi sehingga memungkinkan kita untuk mencegah kesalahan tersebut. Dan yang paling di sukai oleh para programer kotlin mampu menghilangkan NullPointerException  yang sering di sebut sebagai “The billion dollar mistake” oleh programer Java. Kotlin menggunakan fitur Null Safety yang membedakan antara object yang boleh null atau tidak boleh null saat object dibuat.

Sebagai contoh: 

var a : String = "Kotlin"
a = null //kompilasi error

Secara default, Kotlin mengasumsikan nilai dari sebuah properti tidak boleh null. Oleh karena itu, kode pada baris kedua akan langsung dianggap eror. Namun seringkali kita tidak bisa menghindari bahwa sebuah data ternyata null, apalagi ketika kita mengkonsumsi data yang didapatkan dari server. Kita pun bisa menetapkan sebuah properti nullable dengan menambahkan tanda (?) pada tipe datanya.

var a : String? = "Kotlin"
a = null //kompilasi error

Sekarang properti a bisa di tetapkan sebagai nullable karena sudah di tambhakan tanda(?).

Statically Typed

Kotlin termasuk ke dalam bahasa pemrograman statically typed. Artinya setiap ekspresi di dalam sebuah program dapat dikenali pada saat kompilasi. Kompiler juga bisa memastikan bahwa semua fungsi yang ingin diakses terdapat pada objek yang digunakan. Hal ini berbeda dengan beberapa bahasa pemrograman lain yang juga berjalan di atas JVM seperti Groovy dan JRuby. Kedua bahasa tersebut termasuk ke dalam bahasa pemrograman dynamically typed.

Di sisi lain, jika dibandingkan dengan Java yang juga merupakan bahasa pemrograman statically typed, Kotlin memungkinkan kita untuk tidak menuliskan tipe variabel secara eksplisit. Ini akan menghindarkan kita dari kesalahan seperti salah menuliskan tipe data atau yang lainnya.

Selama ini, terdapat banyak perdebatan mengenai statically typed atau dynamically typed yang bagus dalam hal produktivitas. Tentunya banyak juga perbedaan pendapat dari para developer. Keduanya memiliki keunggulan masing-masing. Berikut adalah beberapa keunggulan dari bahasa pemrograman statically typed:

Mengakses sesuatu akan lebih cepat karena kita tidak perlu mencari tahu fungsi mana yang perlu dipanggil; 

Karena kompiler menjamin kebenaran program, peluang untuk crash saat runtime akan berkurang;
Pengetikan statis memungkinkan proses refactoring yang lebih mudah, apalagi dengan dukungan tool yang hebat seperti auto complete dan yang lainnya;

Lebih mudah untuk bekerja dengan relasional database dan sistem lain yang juga bergantung pada pengetikan statis.

Free and Open-Sources 

Bagi pegiat open-sources dan developer pada umumnya, hal ini tentunya sangat menguntungkan. Kompiler, library, tools, dan terutama Kotlin itu sendiri bebas untuk diakses gratis. 



Share with your friends

Give us your opinion

Notification
This is just an example, you can fill it later with your own note.
Done