02 Basic Syntax Kotlin
02 Basic Syntax Kotlin
Pertemuan 2
Silahkan mencoba belajar sintaks Kotlin tanpa instalasi dengan mengakses situs
https://play.kotlinlang.org/ .
print("Hello ")
print("world!")
println("Hello world!")
println(42)
Komentar
// This is an end-of-line comment
Variabel
1
Praktikum Pemrograman Mobile | Erma Susanti
• Gunakan val untuk variabel yang nilainya tidak pernah berubah. Kita tidak dapat
menetapkan ulang nilai ke variabel yang dideklarasikan menggunakan val.
• Gunakan var untuk variabel yang nilainya dapat berubah.
Pada contoh di bawah, count adalah variabel dari jenis Int yang diberi nilai awal 10:
Int adalah jenis yang merepresentasikan bilangan bulat, salah satu dari berbagai jenis
numerik yang dapat direpresentasikan di Kotlin. Serupa dengan bahasa lain, kita juga
dapat menggunakan Byte, Short, Long, Float, dan Double, bergantung pada data numerik
kita.
Kata kunci var berarti kita dapat menetapkan ulang nilai ke count sesuai kebutuhan.
Misalnya, kita dapat mengubah nilai count dari 10 menjadi 15:
Contoh lain
2
Praktikum Pemrograman Mobile | Erma Susanti
Functions
Di dalam Kotlin function atau yang sering kita sebut sebagai method (dalam Java)
dideklarasikan dengan kata kunci fun. Contoh:
fun sum(a: Int, b: Int): Int {
return a + b
}
class Shape
Properties dari sebuah class dapat daftarkan pada bagian deklarasi atau body.
class Rectangle(var height: Double, var length: Double) {
var perimeter = (height + length) * 2
}
Default constructor dengan parameters didaftarkan pada class declaration yang tersedia secara
otomatis.
val rectangle = Rectangle(5.0, 2.0)
println("The perimeter is ${rectangle.perimeter}")
3
Praktikum Pemrograman Mobile | Erma Susanti
Contoh lain
class Student {
var studentName: String = ""
}
Kotlin memiliki beberapa mekanisme untuk menerapkan logika bersyarat. Yang paling
umum adalah pernyataan if-else. Jika ekspresi yang digabungkan dalam tanda kurung di
samping kata kunci if mengevaluasi ke true, kode dalam cabang tersebut (yaitu, kode
yang langsung diikuti dan digabungkan dengan tanda kurung kurawal) akan dieksekusi.
Jika tidak, kode dalam cabang else yang akan dijalankan.
if (count == 42) {
println("I have the answer.")
} else {
4
Praktikum Pemrograman Mobile | Erma Susanti
Kita dapat merepresentasikan beberapa kondisi menggunakan else if. Hal ini
memungkinkan Kita merepresentasikan logika yang lebih terperinci dan kompleks dalam
pernyataan bersyarat tunggal, seperti yang ditunjukkan dalam contoh berikut:
if (count == 42) {
println("I have the answer.")
} else if (count > 35) {
println("The answer is close.")
} else {
println("The answer eludes me.")
}
Secara implisit, setiap cabang bersyarat menampilkan hasil ekspresi pada baris
terakhirnya, sehingga Kita tidak perlu menggunakan kata kunci return. Karena hasil dari
ketiga cabang berjenis String, hasil dari ekspresi if-else juga berjenis String. Dalam
contoh ini, answerString diberi nilai awal dari hasil ekspresi if-else. Inferensi jenis dapat
digunakan untuk menghapus deklarasi jenis eksplisit untuk answerString, tetapi sering
kali sebaiknya disertakan untuk kejelasan.
5
Praktikum Pemrograman Mobile | Erma Susanti
Setiap cabang dalam ekspresi when direpresentasikan oleh suatu kondisi, tanda panah
(->), dan hasilnya. Jika kondisi di sisi kiri tanda panah mengevaluasi ke true, maka hasil
ekspresi di sisi kanan akan ditampilkan. Perhatikan bahwa eksekusi tidak jatuh dari satu
cabang ke cabang berikutnya. Kode dalam contoh ekspresi when secara fungsional
setara dengan contoh ekspresi dalam contoh sebelumnya, tetapi boleh dibilang lebih
mudah dibaca.
Ekspesi when
fun describe(obj: Any): String =
when (obj) {
1 -> "One"
"Hello" -> "Greeting"
is Long -> "Long"
!is String -> "Not a string"
else -> "Unknown"
}
Perulangan for
val items = listOf("apple", "banana", "kiwifruit")
for (item in items) {
println(item)
}
atau
val items = listOf("apple", "banana", "kiwifruit")
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
Perulangan while
val items = listOf("apple", "banana", "kiwifruit")
6
Praktikum Pemrograman Mobile | Erma Susanti
var index = 0
while (index < items.size) {
println("item at $index is ${items[index]}")
index++
}
Null Safety
Sebagai seorang programmer, terutama yang sering menggunakan bahasa
pemrograman Java, pasti familiar dengan “NullPointerException (NPE)” atau yang sering
disebut dengan “The Billion Dollar Mistake”. NPE kerap mengharuskan kita untuk selalu
mengecek apakah pada suatu objek terdapat potensi null atau tidak.
Pada Kotlin, Anda tidak perlu berurusan lagi dengan masalah NPE ini. Kotlin memiliki
fitur Null Safety sebagai salah satu keunggulannya. Kotlin akan menempatkan Null
Exception pada saat kompilasi dan secara otomatis menangani semua NPE yang biasa
terjadi. Kotlin juga mampu membedakan antara objek yang boleh null atau tidak
boleh null pada saat objek itu dibuat. Dengan demikian bisa dipastikan bahwa Kotlin
aman dari NPE.
Dalam beberapa bahasa, variabel jenis referensi dapat dideklarasikan tanpa memberikan
nilai eksplisit awal. Dalam kasus ini, variabel biasanya berisi nilai null. Secara default,
variabel Kotlin tidak dapat memiliki nilai null. Artinya, contoh berikut tidak valid:
// Fails to compile
val languageName: String = null
Untuk variabel yang memiliki nilai null, jenisnya harus nullable. Kita dapat menentukan
variabel sebagai nullable dengan menambahkan akhiran jenisnya dengan ?, seperti yang
ditunjukkan dalam contoh berikut:
Sumber Pustaka:
https://kotlinlang.org/docs/basic-syntax.html
https://developer.android.com/kotlin/androidbasics