Konstanta #
Dalam Kotlin, constant adalah variabel yang nilainya tidak bisa diubah setelah diinisialisasi, dan biasanya digunakan untuk menyimpan nilai-nilai yang tetap (konstan) selama runtime program. Kotlin memiliki beberapa cara untuk mendefinisikan konstanta, yang paling umum adalah dengan menggunakan val
dan const val
. Berikut adalah penjelasan detail tentang penggunaan konstanta dalam Kotlin:
val
Nilai yang Tidak Berubah
#
val
digunakan untuk mendeklarasikan variabel yang bersifat read-only, artinya variabel ini hanya dapat diinisialisasi sekali, dan setelah itu nilainya tidak dapat diubah. Namun, variabel yang dideklarasikan dengan val
bukanlah konstanta sebenarnya karena nilainya dapat dihitung saat runtime, bukan harus diketahui pada saat kompilasi.
Contoh:
val pi = 3.14159
val currentYear = Calendar.getInstance().get(Calendar.YEAR)
pi
adalah contoh nilai yang tetap dan tidak berubah.currentYear
adalah contoh nilai yang dihitung saat runtime, tetapi setelah diinisialisasi, nilainya tidak dapat diubah.
const val
Konstanta Sebenarnya
#
const val
digunakan untuk mendeklarasikan konstanta yang sebenarnya, di mana nilainya harus diketahui pada saat kompilasi. Konstanta yang dideklarasikan dengan const val
harus berupa tipe data primitif atau String
, dan tidak bisa berupa objek atau hasil dari fungsi yang dihitung saat runtime.
Contoh:
const val MAX_USER_COUNT = 100
const val API_URL = "https://api.example.com/"
MAX_USER_COUNT
danAPI_URL
adalah contoh konstanta yang nilainya sudah diketahui pada saat kompilasi dan tidak akan berubah selama runtime.
Perbedaan val
dan const val
#
-
Waktu Penentuan Nilai:
val
: Nilainya ditentukan saat runtime, sehingga bisa berupa hasil perhitungan, seperti tanggal atau waktu saat ini.const val
: Nilainya harus diketahui pada saat kompilasi, sehingga hanya bisa berupa nilai literal atau nilai yang dapat dihitung pada saat kompilasi.
-
Penggunaan:
val
: Digunakan untuk variabel yang nilai tetapnya ditentukan setelah program berjalan.const val
: Digunakan untuk nilai tetap yang harus diketahui pada saat kompilasi dan tidak berubah selama masa hidup program.
Keterbatasan const val
#
const val
hanya dapat digunakan di dalam top-level
atau object
. Ini berarti Anda tidak dapat mendeklarasikan const val
di dalam fungsi atau kelas non-object
.
Contoh:
object Constants {
const val DATABASE_NAME = "MyDatabase"
const val TIMEOUT_DURATION = 5000
}
fun main() {
println(Constants.DATABASE_NAME) // Output: MyDatabase
}
Kesimpulan #
Dalam Kotlin, Anda dapat menggunakan val
untuk mendefinisikan variabel yang tidak dapat diubah setelah diinisialisasi, meskipun nilainya mungkin ditentukan saat runtime. Untuk mendefinisikan konstanta sebenarnya yang nilainya harus diketahui pada saat kompilasi, gunakan const val
. Pemahaman yang baik tentang kapan dan bagaimana menggunakan val
dan const val
akan membantu Anda menulis kode yang lebih aman dan lebih efisien dalam Kotlin.