Variabel #
Dalam Kotlin, variabel digunakan untuk menyimpan data yang dapat digunakan dan dimanipulasi selama eksekusi program. Kotlin mendukung dua jenis variabel utama: val
dan var
. Keduanya memiliki peran dan karakteristik yang berbeda.
val
(Immutable Variable)
#
Variabel yang dideklarasikan dengan val
adalah variabel yang bersifat immutable atau konstan. Setelah diinisialisasi, nilainya tidak dapat diubah.
Deklarasi dan Inisialisasi #
val pi = 3.14
Penjelasan:
val
menunjukkan bahwapi
adalah variabel konstan.- Anda hanya dapat menetapkan nilai satu kali, dan nilai ini tidak dapat diubah setelahnya.
Contoh Penggunaan #
val name = "Alice"
println(name) // Output: Alice
// name = "Bob" // Error: Val cannot be reassigned
var
(Mutable Variable)
#
Variabel yang dideklarasikan dengan var
adalah variabel yang bersifat mutable atau dapat diubah. Anda dapat menetapkan dan mengubah nilainya setelah inisialisasi.
Deklarasi dan Inisialisasi #
var age = 30
Penjelasan:
var
menunjukkan bahwaage
adalah variabel yang nilainya dapat diubah.- Anda dapat mengubah nilai variabel ini di kemudian hari.
Contoh Penggunaan #
var age = 30
println(age) // Output: 30
age = 31
println(age) // Output: 31
Tipe Data dan Inferensi #
Kotlin menggunakan inferensi tipe untuk menentukan tipe data variabel secara otomatis berdasarkan nilai yang diberikan. Namun, Anda juga dapat menentukan tipe data secara eksplisit.
Inferensi Tipe #
val name = "Bob" // Tipe data String diinferensikan secara otomatis
var age = 25 // Tipe data Int diinferensikan secara otomatis
Tipe Data Eksplisit #
val name: String = "Bob"
var age: Int = 25
Variabel Null Safe #
Kotlin mendukung fitur null safety untuk menghindari NullPointerException
. Variabel yang dapat menampung nilai null dideklarasikan dengan menambahkan ?
pada tipe data.
Contoh Variabel Nullable #
var address: String? = null
Penjelasan:
address
dapat menampung nilainull
selain dari nilaiString
.
Penggunaan Variabel Nullable #
var address: String? = "123 Main St"
println(address?.length) // Output: 12 (Jika address tidak null)
address = null
println(address?.length) // Output: null
Variabel dengan Tipe Data Khusus #
-
Array
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
-
List
val names: List<String> = listOf("Alice", "Bob", "Charlie")
-
Map
val map: Map<String, Int> = mapOf("Alice" to 30, "Bob" to 25)
Variabel dalam Fungsi #
Variabel dalam fungsi memiliki cakupan lokal dan hanya dapat diakses di dalam fungsi tersebut.
fun greet() {
val message = "Hello, World!" // Variabel lokal
println(message)
}
Penjelasan:
message
hanya dapat diakses di dalam fungsigreet
dan tidak dapat diakses dari luar fungsi tersebut.
lateinit
dan by lazy
#
Kotlin menyediakan cara untuk menunda inisialisasi variabel dengan lateinit
untuk variabel yang dapat diubah dan by lazy
untuk variabel konstan.
lateinit
#
Digunakan untuk menunda inisialisasi variabel non-nullable.
lateinit var name: String
fun initialize() {
name = "Alice"
}
Penjelasan:
lateinit
memungkinkan Anda untuk menunda inisialisasi variabelname
hingga nanti.
by lazy
#
Digunakan untuk inisialisasi variabel secara malas (lazy initialization).
val pi: Double by lazy {
3.14159
}
Penjelasan:
pi
hanya diinisialisasi saat pertama kali diakses.
Kesimpulan #
Variabel dalam Kotlin memungkinkan Anda menyimpan dan memanipulasi data selama eksekusi program. Dengan menggunakan val
untuk variabel konstan dan var
untuk variabel yang dapat diubah, serta fitur tambahan seperti null safety, lateinit
, dan by lazy
, Anda dapat menulis kode yang aman dan efisien.