Belajar Dasar Kotlin: Variabel dan Tipe Data Dasar
Dalam membuat program kita akan menginginkan untuk menyimpan suatu data. Untuk melakukan itu kalian akan membutuhkan suatu Variabel.
Variabel
Variabel dalam pemrograman adalah lokasi memori yang digunakan untuk menyimpan data (nilai). Kotlin merupakan bahasa pemrograman statically typed, sehingga suatu variabel hanya bisa menyimpan satu jenis data saja.
Keyword val
dan var
merupakan keyword yang digunakan untuk mendeklarasikan variabel.
Contohnya seperti berikut:
val bulan: Int = 11
var tahun: Int = 2021
Tipe data kedua variabel di atas adalah Int
. Penjelasan lebih lanjut tentang Int
akan ada di
bawah.
Identifier/nama dari variabel pertama adalah bulan
dan nama dari variabel kedua adalah tahun
.
Pada Kotlin nama variabel case sensitive. Nama variabel di Kotlin di sarankan menggunakan
camelCase
.
Nilai awal dari variabel pertama adalah 11
dan nilai awal variabel kedua adalah 2021
. Nilai awal
dari sebuah variabel harus merupakan ekspresi. Ekspresi adalah kode apa pun yang dapat menghasilkan
nilai.
Perbedaan variabel yang di deklarasikan dengan val
dan var
adalah seperti di bawah ini.
- Variabel yang dibuat dengan
val
adalah immutable variable atau variabel yang nilainya tidak dapat diubah setelah nilainya ditentukan. - Variabel yang dibuat dengan
var
adalah mutable variable atau variabel yang nilainya dapat di ubah-ubah.
Saat suatu variabel dideklarasikan tanpa ditentukan tipe datanya, maka tipe data variabel akan ditentukan berdasarkan tipe data dari nilai awal (type inference). Jadi, dalam kasus ini nilai awal harus ditentukan.
val bulan = 11 // Tipe data Int
var tahun = 2021 // Tipe data Int
Saat suatu variabel dideklarasikan tanpa ditentukan nilai awal, maka nilai dari variabel harus ditentukan sebelum digunakan. Dalam kasus ini, tipe data harus ditentukan.
var bulan: Int
Nama variabel dapat digunakan untuk mengakses nilai dari variabel tersebut.
println(tahun)
Kode di atas mencetak nilai yang disimpan variabel umur
.
Nama variabel juga dapat digunakan untuk mengubah/menentukan nilai dari variabel.
tinggi = 170
Ingat, variabel val
nilainya tidak dapat diubah setelah ditentukan nilainya. Kode seperti berikut
pasti akan menghasilkan error val cannot be reassigned
.
val bulan = 11
bulan = 9
Namun, kode seperti berikut tidak akan menghasilkan error, karena variabel val
di bawah belum
ditentukan nilanya, sehingga nilainya masih dapat ditentukan.
val bulan: Int
bulan = 9
Tipe Data Dasar
Berikut ini merupakan tipe data dasar pada bahasa Kotlin yang sering digunakan.
Angka
Pada Kotlin ada beberapa jenis tipe data bilangan bulat berdasarkan jumlah bitnya, yaitu:
- Byte (8 bit)
- Short (16 bit)
- Int (32 bit)
- Long (64 bit)
Tipe data Int
merupakan tipe data bilangan bulat yang paling sering digunakan. Bilangan bulat yang
berakhiran L
akan bertipe data Long. Jika tipe data bilangan bulat tidak ditentukan, maka tipe
datanya Int.
val byte: Byte = 2
val short: Short = 150
val int: Int = 24
val int2 = 110
val long: Long = 110
val long2 = 110L
Bilangan desimal (floating point) mempunyai 2 jenis tipe data, yaitu:
- Float (32 bit)
- Double (64 bit)
Bilangan desimal (yang mempunyai titik) akan mempunyai tipe data Double
. Bilangan bertipe data
Float dapat dibuat dengan menambahkan akhiran F
atau f
ke angka.
val float = 1.4F
val double = 20.4
Setiap tipe data di atas memiliki nilai minimal dan maksimal yang berbeda-beda. Setiap tipe data di
atas memiliki properti MIN_VALUE
yang berisi nilai minimal dan properti MAX_VALUE
yang berisi
nilai maksimal.
println(Long.MIN_VALUE)
println(Long.MAX_VALUE)
Kita bisa menggunakan garis bawah di antara angka, agar angka lebih mudah dibaca. Compiler akan mengabaikan garis bawah di antara angka.
val nominalUang = 1_000_000_000_000
val panjang = 20_000f
Boolean
Tipe data Boolean
merupakan tipe data yang hanya bisa bernilai true
atau false
. Boolean
biasanya digunakan untuk kondisional/percabangan.
val boolean1: Boolean = false
val boolean2 = true
Char
Tipe data Char
merepresentasikan karakter dan dapat dibuat dengan tanda petik tunggal (''
).
Karakter special dapat dimasukkan ke Char dengan mengescapenya menggunakan tanda \
, contohnya:
\n
untuk baris baru dan \'
untuk tanda petik tunggal.
val char: Char = 'a'
val charEscaped = '\''
String
String
merupakan tipe data yang mewakilkan kumpulan karakter atau teks. String dapat dibuat dengan
menggunakan tanda petik (""
). Karakter special dapat dimasukkan ke String dengan mengescapenya
menggunakan tanda \
.
val string: String = "Rizal"
val escapedString = "Saya bernama \"Rizal\" \n Umur saya 12"
println(escapedString)
/*
Output:
Saya bernama "Rizal"
Umur saya 12
*/
Pada kondisi tertentu kita akan menambahkan banyak karakter spesial, pada kondisi tersebut
menggunakan Raw String akan cukup membantu. Karakter spesial dapat dimasukkan ke Raw String
tanpa perlu diescape menggunakan tanda \
. Raw String dapat dibuat dengan menggunakan petik 3
(""""""
).
val rawString = """ Saya bernama
"Rizal"
Umur saya 12
""".trimIndent()
println(rawString)
/*
Output:
Saya bernama
"Rizal"
Umur saya 12
*/
Fungsi trimIndent
digunakan untuk menghapus indentasi/tab pada String.
Property length
pada String digunakan untuk mendapatkan jumlah karakter.
val string = "Rizal"
println(string.length) // 5
Suatu saat kita akan butuh memasukkan nilai variabel ke String, dalam kasus ini String Template akan
cukup membantu. String template memungkinkan kita memasukkan nilai ekspresi atau variabel ke dalam
String. Untuk memasukkan variabel ke String, gunakan $
kemudian diikuti nama variabel. Untuk
memasukkan nilai expression gunakan ${}
dan masukkan ekspresi ke {}
.
val name = "Rizal"
println("Saya bernama $name") // Saya bernama Rizal
println("Nama saya berjumlah ${name.length} karakter") // Nama saya berjumlah 5 karakter
Array
Array merupakan tipe data yang digunakan untuk menampung kumpulan data. Array dibuat dengan
arrayOf
.
val bahasa: Array<String> = arrayOf("Kotlin", "Swift", "Dart")
val angka: Array<Int> = arrayOf(1, 2, 3)
val provinsi = arrayOf("Jawa Timur", "Jawa Tengah", "Jawa Barat")
Tipe data Array<String>
maksudnya adalah array yang menampung data bertipe String
. Array<Int>
berarti array yang menampung data bertipe Int
.
Konversi Tipe Data
Suatu nilai dengan tipe data tertentu dapat diubah menjadi tipe data lainnya.
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
toString(): String
String
tidak mendukungtoChar()
.
val numberStr = "245"// Bertipe data String
val number = numberStr.toInt() // 245, Bertipe data Int
val numberShort = number.toShort() // 245, Bertipe data Short