logo
Christmemory

Software Developer

Belajar Tipe Data di Kotlin

March 17, 2021

Apa saja tipe data pada kotlin?

Character, String, Array, Numbers, Boolean

Bagaimana menginisialisasi variabel pada kotlin?

Dengan menggunakan keyword var atau val

// Struktur inisialisasi
var identifier: Type = initialization

// Contoh inisialisasi variabel
var city: String = "Purwakarta"

Bedanya var dan val?

var dapat di reassign, sedangkan val tidak

Lebih lanjut?

Tipe data menentukan operasi apa yang bisa dilakukan pada data tersebut

Tipe Data Characters

Terdapat dua tipe data yang bisa kita gunakan, yaitu Characters dan String. Untuke mendefinisikan nilainya dapat ditaru di dalam kutip tunggak ”

val character = 'A'
val character: Char = 'ABC' // Will be error because Char only have 1 character

Kita dapat melakukan operasi increment (++) dan decrement (—) pada tipe data char

fun main() {
    var vocal = 'A'

    println("Vocal " + vocal++)
    println("Vocal " + vocal++)
    println("Vocal " + vocal++)
    println("Vocal " + vocal--)
    println("Vocal " + vocal--)
}

/*

Output :
A
B
C
D
C

*/

Tipe Data String

Pada dasarnya String merupakan sekumpulan karakter berbentuk array sehingga kita dapat mendapatkan karakter tunggal dengan mudah dengan memanfaatkan indexing

fun main() {
    val text = "Test"
    val firstChar = text[0]

    print("Krakter pertama dari $text yaitu $firstChar")
}
/*
    output: Karakter pertama dari test yaitu T
*/

Selain itu kita juga dapat melakukan iterasi pada char dalam string menggunakan for loop.

Tipe Data Array

Array memungkinkan kita menyimpan beberapa data dalam sebuah variabel. Array pada kotlin dapat didefinisikan dengan cara berikut

// Dapat memasukkan data yang memiliki tipe data sama
val array = arrayOf(1, 3, 5, 7)

// Dapat juga menambahkan tipe data berbeda
val mixArray = arrayOf(1, 2, 3, 4, "Chimemoo", false)

Selain itu juga dapat membuat array dengan tipe data primitif yaitu:

  • intArrayOf() : IntArray
  • booleanArrayOf() : BooleanArray
  • charArrayOf() : CharArray
  • longArrayOf() : LongArray
  • shortArrayOf() : ShortArray
  • byteArrayOf() : ByteArray

Selain menggunakan fungsi arrayOf kita (juga dapat menggunakan kelas Array

val intArray = Array(4, { i -> i * i }) // [0, 1, 4, 9]

Pada kode di atas kita menentukan angka 4 sebagai size Array. Fungsi lambda di atas ada dua. Pertama, untuk mengambil indeks Array yang akan digunakan sebagai argumen.

Tipe Data Numbers

Pada kotlin terdapat beberapa tipe bawaan yang merepresentasikan tipe data Number yaitu Double, Long, Int, Short, Byte. Setiap data memiliki satuan bit berbeda-beda.

  • Int (32 Bit) : menyimpan data dari range -2^31 sampai +s^31-1
  • Long (64 Bit): range -2^63 sampai +2^63-1
  • Short (16 Bit)
  • Double (64 Bit)
fun main() {
    val byteNumber: Byte = 0b11010010
    val intNumber = 100
    val longNumber: Long = 100
    val longNumber2 = 100L
    val shortNumber: Short = 10
    val doubleNumber = 1.3
}

Melakukan konversi

fun main() {
    val byteNumber: Byte = 1
    val intNumber: Int = byteNumber.toInt()
}

Menuliskan readable numerik

fun main() {
    val readableNumber = 1_000_000
    print(readableNumber) // output 1000000
}

Nullable Types

Dengan menggunakan Kotlin kita bisa dimudahkan utuk menghindari terjadinya NullPointerException yang sering terjadi ada java.

// Contoh eror
val text: String = null // compile time error

// Contoh untuk mengatasi nilai null
val text: String? = null

Dengan menambahkan tanda tanya setelah tipe data yang ditentukan, kotlin akan memahami bahwa variabel tersebut bertipe data string tapi bisa juga null.

Safe Calls Operator (?)

Seperti javascript, kotlin memiliki Safe calls operator untuk menghindari aplikasi error karena data yang tersimpan bernilai null, contoh

val text: String? = null
text?.length

Kompiler kotlin akan langsung melewatkan baris text?.length jika nilainya null

Elvis Operator (?:)

Kita dapat menetapkan default number jika variabel bernilai null

val text: String? = null
val textLength = text?.length ?: 7