"Welcome To MY Blog

Selasa, 03 Desember 2019

Perbedaan dan Persamaan Java dan Kotlin

Apa sajakah perbedaan dan persamaan pada Java dan Kotlin?

Pada dasarnya, dalam pengembangan aplikasi berbasis Android menggunakan bahasa pemrograman Java. Lalu muncullah Kotlin yang dikembangkan oleh JetBrains. Pada tanggal 7 Mei 2019, Google resmi menggunakan Kotlin untuk pengembangan aplikasi Android.
Kotlin adalah bahasa pemrograman yang baru saja dikenalkan oleh Google pada acara Google I/O 2017. Kotlin dikembangkan oleh JetBrains yang juga mengembangkan IntelliJ dan Android Studio. Kotlin diambil dari nama pulau yang berada di dekat St.Petersburg.

Kotlin diharapkan dapat menggantikan bahasa Java sebagai bahasa pemrograman utama untuk pengembangan aplikasi Android. Untuk menggunakan Kotlin kamu harus menggunakan Android Studio 3.0 ke atas. Perlahan tapi pasti hal tersebut sudah mengarah ke sana. Hal tersebut terjadi karena Oracle mencari segala cara agar Google membayar royalti ke Oracle sebagai pengembang utama Java.


Lalu apa perbedaan Java dengan Kotlin ? Kotlin dipengaruhi oleh bahasa pemrograman Java, Swift, Groovy dan JavaScript. Sedangkan Java sendiri dipengaruhi oleh bahasa Python, C#, PHP, dan Scala. Jika dilihat dengan seksama, baris kode(syntax) Kotlin hampir mirip dengan Swift (Bahasa pemrograman untuk pengembangan aplikasi iOS dan macOS).

Kelebihan Kotlin antara lain memiliki syntax (baris kode) yang rapi dan ringkas, mengurangi boillerplate sehingga cocok bagi kamu yang menginginkan baris kode yang rapi atau clean code. Jika di Java kamu akan terbiasa dengan null pointer exceptions, maka bersyukurlah karena pada Kotlin kamu tidak akan menemukan itu lagi. Kotlin emndukung library yang ada pada Java Virtual Machine (JVM).

Kekurangan Kotlin adalah karena Kotlin masih baru sehingga belum banyak tutorial atau buku untuk belajar bahasa pemrograman kotlin.

Perbedaan Kotlin dengan Java
 
1. Multi Platform
a) Java merupakan bahasa pemrograman inti dari pengembangan Android. 
b) Kotlin bisa dipakai untuk mengembangkan aplikasi di berbagai platform contohnya iOS.  Karena Kotlin dibuat menggunakan bahasa pemrograman Java, Kotlin dapat beroperasi di apapun yang dapat dijalankan menggunakan JVM (Java Virtual Machine).

2. Waktu Kompilasi
a) Java terlihat lebih unggul dalam waktu yang dibutuhkan untuk mengkompilasi source code dalam banyak kasus.
b) Sedangkan kecepatan kompilasi di Kotlin lebih lambat daripada Java.

3. Null Safety
Jika kamu seorang programmer Java, kamu pasti familiar dengan istilah error NullPointerException. Itu adalah sebuah error ketika kode Java dieksekusi, ada pemanggilan objek atau atribut yang belum diinisialisasi. Kotlin sendiri sudah dibuat untuk mengatasi hal tersebut sehingga programmer Kotlin akan aman ketika membuat objek yang bernilai Null. Sedangkan untuk Java, NullSafety hanya ada pada versi 7.

4. Komunitas
Java merupakan bahasa pemrograman yang tergolong tua dan kuat, istilahnya tua tua keladi. Komunitas di Java sendiri tergolong sangat besar karena sudah cukup lama ada dan terus berkembang hingga saat ini. Dibandingkan dengan Kotlin yang baru, komunitasnya sendiri masih tergolong sedikit. Walaupun begitu, sekarang pengembang dan perusahaan sudah mulai ikut juga beralih ke Kotlin untuk mengembangkan Aplikasi Androidnya.
 
5. Penulisan Source Code
Java itu kuat karena penulisan kode nya sangat sensitif dan kode boilerplate yang digunakan bisa sangat banyak. Sedangkan di Kotlin, penulisan kode boilerplate yang dilakukan secara berulang-ulang tidak diperlukan. Sehingga kode yang kita tuliskan akan lebih ringkas dibandingkan saat kita menggunakan Java.


Di Kotlin Ada Beberapa Perbedaan Dengan Java:
 
1. Hello World di Kotlin
    print(“Hello, World!”)
    println(“Hello, World!”)

Beda dengan Java harus Seperti ini:
   System.out.print(“Hello, World!”);
   System.out.println(“Hello, World!”);

2. Variable di kotlin :
    val x: Int
    val y = 1
 
Variabel di Java: 
    final int x;
    final int y = 1;

Jika di Java kita mendeklarasikan variabel sesuai dengan tipe datanya seperti String, int, doube, long, boolean, dll. Nah di Kotlin kita hanya mengenal dua cara untuk deklarasi variabel yaitu var dan val. 
a) var — untuk tipe data yang nilainya berubah-rubah, misal luas
b) val — untuk tipe data yang nilainya tetap (final), misal phi

3. String di kotlin
 
    val text = """
        #First Line
        #Second Line
        #Third Line
    """.trimMargin(#)

String di java : 
     String text = "First Line\n" +
                      "Second Line\n" +
                      "Third Line";
 
4. Method dan Constructor
a) di Java kita mengenal bentuk fungsi dengan nilai kembalian di depan, dan constructor setelahya :
         public Double hitungLuas(Double alas, Double tinggi)
b) di Kotlin akan menjadi 
         fun hitungLuas (alas: Double, tinggi: Double) : Double

5. Inisialisasi dan setter getter

bayangkan kita sudah membuat layout untuk sebuah aplikasi untuk menghitung luas persegi dengan inputan sisi menggunakan EdiText dengan id ed_sisi, kemudian ada Button dengan id btn_hitung, dan TextView dengan id text_hasil. 
a) syntax untuk menghitung luas di java
   EditText sisi = (EditText) findViewById(R.id.ed_sisi);       
   Button tombolHitung = (Button) findViewById(R.id.btn_hitung);
   TextView hasil = (TextView) findViewById(R.id.text_hasil);
   tombolHitung.setOnClickListener(new View.OnClickListener() {
   @Override           
   public void onClick(View v) {             
   Double nilaisisi = Double.parseDouble(sisi.getText().toString());
   Double nilaihasil = nilaisisi * nilaisisi;         
   hasil.setText(nilaihasil.toString));   } 
   });

b)
syntax untuk menghitung luas di kotlin
    btn_hitung.setOnClickListener{  
    var nilaisisi = ed_sisi.text.toString().toDouble()
    var nilaihasil = nilaisisi * nilaisisi      
    ed_hasil.text = nilaihasil.toString
    }
 
Yang paling pertama yaitu di Kotlin kita tak perlu inisialisasi widget dengan findViewById, namun kita bisa memakainya langsung seperti diatas. Kotlin tak mengenal new blablabla, jadi seperti OnClickListener di atas tidak ada

Jadi misal AlertDialog.Builder alert = new AlertDialog.Builder(this) akan menjadi var alert = AlertDialog.Builder(this)

Kotlin tak mengenal set dan get, jadi jika ingin menggunakan tv_hasil.setText(“tes”) bisa menggunakan tv_hasil.text = “tes” dan ed_sisi.getText.toString bisa menggunakan ed_sisi.text.toString
 
 
Sumber :
https://www.google.com/search?client=firefox-b-d&q=java+android
https://blog.teknokrait.com/android/kotlin-vs-java-pilih-mana-untuk-pengembangan-android/
https://medium.com/@arifaizin/yuk-belajar-dasar-kotlin-untuk-android-dan-perbedaannya-dengan-java-13f6c95d0a71

Tidak ada komentar:

Posting Komentar