DEV Community

Cover image for Kotlin: Data Types
Gillar Prasatya
Gillar Prasatya

Posted on • Updated on

Kotlin: Data Types

Beauty Landscape
Untuk membuka tautan, lebih di sarankan --> klik kanan, lalu pilih buka link di tab baru agar tidak menutup artikel ini.

Suatu Data dalam bahasa kotlin dapat memiliki berbagai tipe.

Sebagai contoh, untuk menyelesaikan masalah dalam soal aritmatika ini, Kita menulis ekspresi sebagai berikut:

5.9 + 6
Enter fullscreen mode Exit fullscreen mode

Kita tahu bahwa penambahan angka-angka tersebut menghasilkan angka lain. satu angka bersifat pecahan/float (5.9), yang disebut Double, dan yang lainnya adalah angka bulat (6), yang disebut sebagai Int. pada contoh ekspresi kode diatas, Kita pasti tahu hasil dari penjumlahan tersebut adalah pecahan.

Sebuah Jenis dari suatu Data pada dunia pemrograman juga disebut dengan istilah Data Type. Data Type akan memberi tahu Kotlin bagaimana Kita memperlakukan penggunaan sebuah data. Data Type menyediakan seperangkat nilai dimana suatu ekspresi dapat mengambil dan mengimplementasikan nilai tersebut kedalamnya. Sebuah Data Type mendefinisikan Operasi yang dapat dilakukan pada data, Makna dari data itu sendiri, dan bagaimana nilai dari Data Type tersebut dapat disimpan.

Kotlin menggunakan Data Type untuk memastikan bahwa ekspresi yang Kita gunakan itu benar dan sesuai standar pengoperasian bahasa kotlin. Pada ekspresi di atas tadi, Kotlin membuat nilai baru dengan tipe Double untuk menyimpan hasil penjumlahan 5.9 + 6.

Kotlin mencoba beradaptasi dengan kebutuhan para programmer. Jika Kita meminta kotlin untuk melakukan sesuatu yang melanggar aturan pemrograman pada Data Type di bahasa kotlin, ia akan menghasilkan pesan error. Sebagai contoh, kita coba tambahkan String dan angka pada source-code berikut ini:

// DataTypes/StringPlusNumber.kt

fun main() {

  println("Luna" + 3.8)

}

/* Output:

Luna3.8

*/
Enter fullscreen mode Exit fullscreen mode

Data Type memberi tahu Kotlin cara menggunakan data dengan benar. Dalam hal ini, aturan Data Type memberi tahu Kotlin cara menambahkan angka ke String: dengan menggabungkan dua nilai dan membuat String untuk menyimpan hasilnya.

Sekarang kita coba kalikan String dan Double dengan mengganti + dalam StringPlusNumber.kt menjadi *:

"Sally" * 5.9
Enter fullscreen mode Exit fullscreen mode

Menggabungkan Data Type ini tidak masuk akal bagi Kotlin, sehingga memberi pesan error/kesalahan ketika kita run ekspresi perkalian diatas tadi.

Type Inference:

Type inference adalah suatu kemampuan yang digunakan bahasa Kotlin yang memungkinkan programmer untuk tidak perlu secara eksplisit mendefinisikan tipe data pada variabel. Sebagai gantinya, Kotlin akan secara otomatis mendeteksi tipe data yang digunakan berdasarkan nilai yang diberikan kepada variabel tersebut.

Kita ambil contoh dari menentukan sebuah data-type dengan Type inference:

val identifier = initialization
Enter fullscreen mode Exit fullscreen mode

Kita mulai dengan kata kunci val atau var, diikuti oleh identifier, sama dengan = , dan nilai inisialisasi, contoh penerapannya sebagai berikut:

val n = 1

var p = 1.2
Enter fullscreen mode Exit fullscreen mode

Statically typed:

Tak hanya Type inference saja yg dimiliki kotlin, kotlin juga memiliki kemampuan statically typed. Dalam bahasa Kotlin Statically typed mengindikasikan bahwa suatu variabel perlu mendeklarasikan tipe data-nya sebelum variabel tersebut dapat digunakan. Dengan kata lain, Kita harus secara eksplisit menentukan jenis data yang akan disimpan di dalamnya. Ini adalah kebalikan dari Type inference, di mana tipe data variabel dapat ditentukan secara otomatis berdasarkan nilai yang diberikan kepada kode tersebut. Dengan pendeklarasian secara Statis, Suatu variabel memiliki kejelasan dalam penggunaannya dan membantu mengurangi potensi kesalahan tipe data selama pengembangan, sekaligus membantu mempermudah programmer lain dalam membaca source-code yg kita buat tersebut.

Sebagai contoh, Kita mulai dengan kata kunci val atau var, diikuti oleh identifier, titik dua, jenis, sama dengan = , dan nilai inisialisasi. contoh kodenya adalah seperti berikut:

val n: Int = 1

var p: Double = 1.2
Enter fullscreen mode Exit fullscreen mode

Kita memberi tahu Kotlin bahwa n adalah Int dan p adalah Double, daripada membiarkannya menginferensikan data typenya sendiri.

Berikut beberapa jenis dasar data-type Kotlin:

// DataTypes/Types.kt

fun main() {

  val whole: Int = 11              // [1]

  val fractional: Double = 1.4     // [2]

  val trueOrFalse: Boolean = true  // [3]

  val words: String = "A value"    // [4]

  val character: Char = 'z'        // [5]

  val lines: String = """Triple quotes let

you have many lines

in your string"""                  // [6]

  println(whole)

  println(fractional)

  println(trueOrFalse)

  println(words)

  println(character)

  println(lines)

}

/* Output:

11

1.4

true

A value

z

Triple quotes let

you have many lines

in your string

*/

Enter fullscreen mode Exit fullscreen mode

[1] Data Type Int adalah bilangan bulat, yang berarti hanya dapat menyimpan angka bulat.
[2] Untuk menyimpan angka pecahan, gunakan Double.
[3] Data Type Boolean hanya dapat menyimpan dua nilai khusus, true dan false.
[4] String menyimpan urutan karakter. Kita memberi nilai menggunakan String yang diapit oleh tanda kutip ganda.
[5] Char menyimpan satu karakter.
[6] Jika Kita memiliki banyak baris dan/atau karakter khusus, apit-lah dengan tiga tanda kutip ganda """

Kotlin menggunakan Type inference untuk menentukan makna dari data type campuran. Ketika mencampurkan Int dan Double selama penambahan, contoh ketika Kotlin menentukan jenis data:

// DataTypes/Inference.kt

fun main() {

  val n = 1 + 1.2

  println(n)

}

/* Output:

2.2

*/
Enter fullscreen mode Exit fullscreen mode

Ketika Kita menambahkan Int ke Double menggunakan inferensi tipe, Kotlin menentukan bahwa hasil n adalah Double dan memastikan bahwa itu mengikuti semua aturan untuk Double.

Inferensi tipe pada Kotlin adalah bagian dari strategi Kotlin dalam menyingkat pekerjaan untuk programmer. Jika Kita menghilangkan declaration type, Kotlin biasanya dapat menginfer kode tersebut.

Sumber - Atomic Kotlin Sample

Top comments (0)