Untuk membuka tautan, lebih di sarankan --> klik kanan, lalu pilih buka link di tab baru agar tidak menutup artikel ini.
Kali ini kita akan belajar terkait var
dan val
pada bahasa kotlin
Jadi Ketika kita membuat suatu variabel, Kita wajib memutuskan terlebih dahulu apakah suatu variabel tersebut dapat di-assign ulang atau tidak pada saat melakukan penyimpanan data.
Ketika kita membuat identifier variabel untuk merujuk pada elemen di dalam program Kita. Keputusan paling dasar terhadap identifier adalah apakah ia dapat mengubah isinya selama eksekusi program atau ia hanya dapat di-assign sekali saja. Hal ini dikontrol oleh dua kata kunci:
-
var
, singkatan dari variabel, yang berarti Kita dapat mengubah isinya. -
val
, singkatan dari value, yang berarti Kita hanya dapat melakukan inisialisasi saja namun variabel tersebut tidak dapat di-assign ulang.
Cara penulisan var
seperti ini:
var identifier = initialization
Kata kunci var
diikuti dengan identifier, lalu tanda sama dengan =
, dan kemudian nilai yg di inisialisasi. Deklarasi Identifier dimulai dengan huruf atau garis bawah, diikuti oleh huruf, angka, dan atau garis bawah. Huruf besar dan kecil akan dibedakan di dalam kotlin, hal ini disebut dengan case-sensitive (jadi antara thisvalue
dan thisValue
adalah dua hal yg berbeda).
Berikut adalah beberapa definisi var
:
// VarAndVal/Vars.kt
fun main() {
var whole = 13 // [1]
var fractional = 1.8 // [2]
var words = "Kotlin Sangat Cerdas" // [3]
println(whole)
println(fractional)
println(words)
}
Output:
13
1.8
Kotlin Sangat Cerdas
Dalam artikel ini, Kita menandai baris kode dengan nomor yang dikomentari dalam tanda kurung siku, ini ditujukan agar kita dapat merujuk pada urutan contoh-contoh dalam teks seperti ini:
- [1] Buat suatu
var
dengan namawhole
dan simpan 13 di dalamnya. - [2] Simpan "angka pecahan" 1.8 dalam
var
dengan namafractional
. - [3] Simpan beberapa teks (String) dalam
var
dengan namawords
.
Perhatikan: println()
dapat mengambil nilai tunggal apa pun sebagai argumen.
Seperti namanya, var
yg merepresentasikan variabel, nilainya dapat bervariasi. Artinya, Kita dapat mengubah data yang disimpan dalam suatu var
. Istilah umumnya adalah mutable, contoh suatu var
bersifat mutable:
// VarAndVal/AVarIsMutable.kt
fun main() {
var sum = 3
var suml = sum + 9
sum += 5
println(suml)
print(sum)
}
Output:
12
8
Assignment sum = sum + 9
mengambil nilai saat ini dari sum
, lalu menambahkan sembilan, dan meng-assign hasilnya kembali ke sum
.
Assignment sum += 5
berarti sama dengan sum = sum + 5
. Operator +=
mengambil nilai sebelumnya yang disimpan dalam sum
dan menambahkan 5 pada sum
tersebut, kemudian meng-assign hasil baru tersebut kembali ke sum
.
Mengubah nilai yang disimpan dalam suatu var
adalah cara yang berguna untuk menyatakan perubahan. Namun, ketika kompleksitas program meningkat, kode Kita lebih jelas, lebih aman, dan lebih mudah dipahami jika nilai yang direpresentasikan oleh identifier Kita tidak dapat berubah—artinya, mereka tidak dapat di-assign ulang. Kita menentukan identifier yang tidak berubah menggunakan kata kunci val
alih-alih menggunakan var
. Suatu val
hanya dapat di-assign sekali saja pada saat dibuat:
val identifier = initialization
Kata kunci val
berasal dari kata value/nilai dalam bahasa indonesia, namun maksud dari nilai
disini bukan merepresentasikan suatu data yang ditugaskan di dalam variabel, melainkan merujuk kepada sesuatu yang tidak dapat berubah/diubah, maka dari ituval
memiliki sifat immutable. Kebanyakan Programmer Kotlin lebih memilih menggunakan val
daripada var
bila memungkinkan untuk di deklarasikan di semua situasi (tergantung kebutuhan, jika kita ingin agar variabel tersebut tidak dapat diubah setelah dilakukan
Assignment). Contoh pada Vars.kt
dapat ditulis ulang menggunakan val
seperti berikut ini:
// VarAndVal/Vals.kt
fun main() {
val whole = 13
// whole = 23 // Error jika kita me-reassign dengan nilai baru di 23 // [1]
val fractional = 1.3
val words = "Kotlin Realm"
println(whole)
println(fractional)
println(words)
}
Output:
13
1.3
Kotlin Realm
- [1] Setelah Kita menginisialisasi suatu
val
, Kita tidak dapat meng-assign ulangnya. Jika kita mencoba meng-assign ulangwhole
ke angka yang berbeda, Kotlin akan memberikan peringatan error, ia akan memberikan output "Val cannot be reassigned."
Memilih nama yang deskriptif untuk identifier membuat kode Kita lebih mudah dipahami dan seringkali mengurangi kebutuhan untuk pemberian komentar pada source code. Pada Vals.kt
, Kita tidak tahu apa yang whole
wakili. Jika program Kita menyimpan angka 7 untuk mewakili waktu ngeteh, lebih jelas bagi orang lain untuk memahaminya jika Kita menamainya dengan kata teatime
dan lebih mudah dibaca jika itu ditulis menjadi aeperti ini: teaTime
(mengikuti gaya penulisan standar Kotlin, Kita membuat huruf pertama menjadi huruf kecil lalu kata kedua dibedakan dengan awalan huruf kapital).
var
berguna ketika data harus berubah saat program berjalan. Ini terdengar seperti kebutuhan umum, tetapi ternyata dapat dihindari dalam praktiknya. Secara umum, program Kita lebih mudah untuk diperluas dan dipelihara jika Kita menggunakan val
. Namun, dalam keadaan yang jarang terjadi, terlalu kompleks untuk memecahkan masalah hanya menggunakan val
. Untuk alasan itu, Kotlin memberi Kita fleksibilitas dengan penggunaan keyword var
. Namun, seiring berjalannya waktu dengan val
, Kita akan menemukan bahwa Kita hampir tidak pernah membutuhkan var
dan program Kita lebih aman dan lebih dapat diandalkan tanpanya (sekali lagi ini bersifat tentatif merujuk kepada situasi & kondisi tertentu).
Top comments (0)