Section Artikel
Di Kotlin, jenis variabel ditentukan oleh nilainya:
Contoh
fun main() { val myNum = 2 // Int val myDoubleNum = 5.09 // Double val myLetter = 'y' // Char val myBoolean = true // Boolean val myText = "Future" // String println(myNum) println(myDoubleNum) println(myLetter) println(myBoolean) println(myText) }
Hasil :
2
5.09
y
true
Future
Namun, kita bisa belajar dari tutrial sebelumnya bahwa dimungkinkan untuk menentukan tipe jika kita ingin:
Contoh
fun main() { val myNum: Int = 2 // Int val myDoubleNum: Double = 5.09 // Double val myLetter: Char = 'Y' // Char val myBoolean: Boolean = true // Boolean val myText: String = "Future" // String println(myNum) println(myDoubleNum) println(myLetter) println(myBoolean) println(myText) }
Hasil :
2
5.09
y
true
Future
Terkadang kita harus menentukan jenisnya dan seringkali tidak. Paling penting adalah lebih baik untuk mengetahui apa yang diwakili oleh berbagai jenis tipe data.
Di Kotlin, semuanya adalah objek dalam arti bahwa kita dapat memanggil fungsi dan properti anggota pada variabel apa pun. Beberapa tipe dapat memiliki representasi internal khusus – misalnya, angka, karakter, dan boolean dapat direpresentasikan sebagai nilai primitif saat runtime – tetapi bagi pengguna mereka terlihat seperti kelas biasa.
Tipe data dibagi menjadi beberapa kelompok:
Tipe number dibagi menjadi dua kelompok:
Tipe integer menyimpan bilangan bulat, positif atau negatif (seperti 123 atau -456), tanpa desimal. Jenis yang valid adalah Byte, Short, Int
dan Long
.
Tipe floating point mewakili angka dengan bagian pecahan, yang berisi satu atau lebih desimal. Ada dua jenis: Float
dan Double
.
Jika kamu tidak menentukan tipe untuk variabel numerik, maka akan dikembalikan sebagai Int
untuk bilangan bulat dan Double
untuk bilangan floating point.
Tipe data Byte
dapat menyimpan bilangan bulat dari -128 hingga 127. Ini dapat digunakan sebagai ganti Int
atau tipe integer lainnya untuk menghemat memori jika yakin bahwa nilainya akan berada dalam -128 dan 127:
Contoh
fun main() { val myNum: Byte = 100 println(myNum) }
Hasil :
100
Tipe data Short
dapat menyimpan bilangan bulat dari -32768 hingga 32767:
Contoh
fun main() { val myNum: Short = 5000 println(myNum) }
Hasil :
5000
Tipe data Int
dapat menyimpan bilangan bulat dari -2147483648 hingga 2147483647:
Contoh
fun main() { val myNum: Int = 100000 println(myNum) }
Hasil :
100000
Tipe data Long
dapat menyimpan bilangan bulat dari -9223372036854775808 hingga 9223372036854775808. Tipe ini digunakan ketika Int
tidak cukup besar untuk menyimpan nilai. Secara opsional, kita dapat mengakhiri nilainya dengan “L”:
Contoh
fun main() { val myNum: Long = 15000000000L println(myNum) }
Hasil :
15000000000L
Bilangan bulat adalah Int
selama sampai dengan 2147483647. Jika melebihi itu, dapat didefinisikan sebagai Long
:
Contoh
val myNum1 = 2147483647 // Int val myNum2 = 2147483648 // Long
Hasil :
2147483647
2147483648
Tipe floating point dapat mewakili angka dengan desimal, seperti 9,99 atau 3,14515.
Tipe data Float
dapat menyimpan bilangan pecahan dari 3.4e−038 hingga 3.4e+038.
Catatan : Kamu harus mengakhiri nilainya dengan “F”:
Contoh
fun main() { val myNum: Float = 5.43F println(myNum) }
Hasil :
5.43
Tipe data Double
dapat menyimpan bilangan pecahan dari 1.7e−308 hingga 1.7e+038:
Contoh
fun main() { val myNum: Double = 12.22 println(myNum) }
Hasil :
12.22
Ketepatan nilai floating point menunjukkan berapa banyak digit nilai yang dapat dimiliki setelah titik desimal. Ketepatan Float
hanya enam atau tujuh digit desimal, sedangkan variabel Double
memiliki presisi sekitar 15 digit. Oleh karena itu lebih aman menggunakan Double
untuk sebagian besar perhitungan.
Angka floating point juga bisa menjadi angka ilmiah dengan “e” atau “E” untuk menunjukkan kekuatan 10:
Contoh
fun main() { val myNum1: Float = 35E3F val myNum2: Double = 12E4 println(myNum1) println(myNum2) }
Hasil :
35000.0
120000.0
Tipe data Boolean
hanya dapat mengambil nilai true
atau false
:
Contoh
fun main() { val isKotlinFun: Boolean = true val isFishTasty: Boolean = false println(isKotlinFun) // Outputs true println(isFishTasty) // Outputs false }
Hasil :
true
false
Nilai Boolean sebagian besar digunakan untuk pengujian bersyarat.
Tipe data Char
digunakan untuk menyimpan satu karakter. Nilai char
harus diapit oleh tanda kutip tunggal, seperti ‘A’ atau ‘c’:
Contoh
fun main() { val myGrade: Char = 'D' println(myGrade) }
Hasil :
D
Tidak seperti di Java, kita tidak dapat menggunakan nilai ASCII untuk menampilkan karakter tertentu. Nilai 66 akan menampilkan “D” di Java, tetapi akan menghasilkan kesalahan di Kotlin:
Contoh
val myLetter: Char = 66 println(myLetter) // Error
Hasil :
Error
!
Tipe data String
digunakan untuk menyimpan urutan karakter (teks). Nilai string
harus diapit oleh tanda kutip ganda:
Contoh
fun main() { val myText: String = "Hello World" System.out.println(myText) }
Hasil :
Hello World
Array digunakan untuk menyimpan beberapa nilai dalam satu variabel, alih-alih mendeklarasikan variabel terpisah untuk setiap nilai.
Tipe Conversion adalah ketika kita akan mengonversi nilai dari satu tipe data ke tipe lain.
Di Kotlin, konversi tipe numerik berbeda dari Java. Misalnya, kita tidak bisa mengonversi tipe Int
ke tipe Long
dengan kode berikut:
Contoh
fun main() { val x: Int = 5 val y: Long = x println(y) }
Hasil :
demo_type_conv.kt:3:17: error: type mismatch: inferred type is Int but Long was expected
val y: Long = x
^
Untuk mengonversi tipe data numerik ke tipe lain, kita harus menggunakan salah satu fungsi berikut: toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble()
atau toChar()
:
Contoh
fun main() { val x: Int = 4 val y: Long = x.toLong() println(y) }
Hasil :
4
Kita akan mempelajari beberapa tipe data lebih mendalam pada artikel selanjutnya!