Part 2 — Kotlin Data Types and Null Reference Handling
Kotlin Series
- Part 1 — Introduction to Kotlin
- Part 2 — Kotlin Data Types and Null Reference Handling
- Part 3 — Kotlin Lambda Expressions, Collection and Generics
- Part 4 — Kotlin File IO
Variable Declaration
Kotlin menggunakan type inference yaitu dimana ketika dia mendeklarasikan variabel tanpa mendefinisikan tipe datanya, compiler akan secara otomatis mendefinisikan tipe datanya berdasarkan value yang di assign. Dan proses ini dilakukan saat compile time dan bukan runtime. Kotlin sendiri mendefinisikan tipe data secara statis (Statically typed). Ada 2 cara dalam mendeklarasikan variabel yaitu :
// deklarasi immutable variabel
val number = 10
// deklarasi mutable variabel
var number = 10
Ada 2 cara dalam mendeklarasikan tipe data variabel yaitu :
// deklarasi variabel dengan mengassign value
val number = 10
// deklarasi varaibel dengan mendefinisikan tipe data
val number: Int
Di kotlin variabel sebisa mungkin di buat val, jika dibutuhkan untuk di ubah baru diganti menjadi var.
Type Alias
Kotlin support type alias atau membuat alias dari tipe data yang sudah ada.
class Employee(var name: String, val id : Int)
typealias EmployeeSet = Set<Employee>
fun main(args : Array<String>){
val employees: EmployeeSet
}
Dari code di atas bisa dilihat deklarasi dan penggunaanEmployeeSet
yang merupakan alias dari Set of Employee.
Equality
Kotlin support equality untuk membandingkan 2 variable, diantaranya adalah reference equality, value equality dan not equality.
val employeeOne = Employee("Mary", 1)
val employeeTwo = Employee("John", 2)
val employeeThree = Employee("John", 2)
// reference equality
println(employeeOne === employeeTwo)
println(employeeTwo === employeeThree)
// value equality
println(employeeOne == employeeTwo)
println(employeeTwo == employeeThree)
// not equality
println(employeeTwo != employeeThree)
println(employeeTwo !== employeeThree)
Bits Operator / Operator Gerbang Logika
Kotlin support operasi gerbang logika, diantaranya adalah or, and dan xor.
val a = true
val b = false
println(a or b)
println(a and b)
println(a xor b)
Smart Casting
Jika suatu variable bertipe data tertentu di pass ke variable dengan tipe Any
, kita bisa secara langsung mengubah tipe datanya dengan menggunakan as
tanpa harus melakukan pengecekan tipe data.
// deklarasi something sebagai any, dimana value nya berasal dari
// employee yang bertipe data employee
var something: Any = employeeThree
if (something is Employee) { //pengecekan tipe data something
val newEmployee = something as Employee // smart casting employee
something = employeeOne
println(something.name)
}
String Template
Untuk menulis variabel pada string bisa menggunakan tag $
val change = 4.22
println("Your change is $change")
Kita bisa juga melakukan perhitungan aritmatik saat melakukan print string
val numerator = 10.99
val denominator = 20.00
println("The value of $numerator divided by $denominator is ${numerator/denominator}")
Untuk mengakses variabel dari sebuah object bisa menggunakan ${}
println("The employee's id is ${employee1.id}")
Triple Quoted String
Secara default ketika mendefinisikan string symbol seperti \ akan diproses kedalam fungsi tertentu seperti new line (\n) dll. Untuk menghindari hal tersebut kita bisa menggunakan triple quoted string
val nurseryRhyme = """
$eggName Dumpty sat on the wall
|$eggName Dumpty had a great fall
|All the king's horses and all the king's men
|Couldn't put $eggName together again.
""".trimMargin()
Kotlin REPL (Read Eval Print Loop)
Kotlin REPL adalah console yang dapat menjalankan kode kode kotlin, cara kerjanya sama dengan kotlin playground.
Array
Array di kotlin dapat dideklarasikan sebagai berikut
// deklarasi array
val names = arrayOf("John", "Jane", "Jill", "Joe")
val longs1 = arrayOf(1L, 2L, 3L)
val longs3 = arrayOf(1, 2, 3, 4)
Kesimpulan
- Variable: Kotlin menggunakan type inference untuk mendeklarasikan variabel, yang memungkinkan compiler secara otomatis menentukan tipe data berdasarkan nilai yang diberikan. Ada dua cara untuk mendeklarasikan variabel, yaitu dengan menggunakan
val
untuk variabel yang tidak dapat diubah (immutable) danvar
untuk variabel yang dapat diubah (mutable). Kotlin juga mendukung deklarasi tipe data eksplisit untuk variabel. - Type Alias: Kotlin mendukung type alias, yang memungkinkan pembuatan alias dari tipe data yang sudah ada, sehingga memudahkan dalam penggunaannya.
- Equality: Kotlin mendukung beberapa jenis perbandingan antara dua variabel, termasuk reference equality, value equality, dan not equality, yang memudahkan dalam pembandingan variabel.
- Bits Operator / Operator Gerbang Logika: Kotlin mendukung operasi gerbang logika seperti OR, AND, dan XOR, yang berguna dalam operasi logika.
- Smart Casting: Kotlin memiliki fitur smart casting, yang memungkinkan konversi tipe data secara langsung ketika sebuah variabel bertipe
Any
di-pass ke variabel dengan tipe data tertentu. - String Template: Kotlin mendukung string template, yang memungkinkan penulisan variabel dalam string dengan menggunakan tag
$
, serta melakukan perhitungan aritmatik saat print string. - Triple Quoted String: Kotlin mendukung triple quoted string, yang memungkinkan penulisan string tanpa harus menghindari karakter khusus seperti
\
. - Kotlin REPL (Read Eval Print Loop): Kotlin memiliki REPL yang memungkinkan pengguna untuk menjalankan kode Kotlin secara interaktif, mirip dengan Kotlin Playground.
- Array: Array di Kotlin dapat dideklarasikan dengan berbagai cara sesuai kebutuhan, yang memungkinkan pembuatan array dengan elemen-elemen yang berbeda.
🔔 Jika anda menyukai artikel ini, silahkan subscribe agar anda bisa mendapatkan notifikasi jika ada artikel baru atau anda bisa melihat artikel yang telah dipublikasikan disini. 🚀
📝 Jika ada pertanyaan atau saran, anda bisa menulisnya di kolom komentar atau mengirim pesan lewat Medium.
Thank you for your support! 🌟