Variabel adalah wadah nilai selama program berjalan. Kotlin membagi variabel menjadi dua: immutable (val) dan mutable (var). Section ini membahas keduanya beserta tipe data bawaan.
Pelajari perbedaan val (immutable) dan var (mutable) di Kotlin, mengapa val lebih disarankan, serta perbedaan antara imutabilitas compile-time dan runtime.
Buka → # Deklarasi dan InisialisasiPelajari pola deklarasi variabel di Kotlin: val dengan tipe eksplisit, lateinit var, lazy init, dan pola deklarasi dulu lalu inisialisasi sesuai kondisi.
Buka → # Type InferencePelajari bagaimana kompilator Kotlin menyimpulkan tipe variabel dari nilai literal, kapan menambah tipe eksplisit, dan batasan type inference.
Buka → # Primitive Types vs Reference TypesPelajari bagaimana Kotlin menyembunyikan primitive types di JVM, kapan kompilator memakai primitive atau boxed reference, serta dampak nullabilitas terhadap representasi tipe.
Buka → # NumbersPelajari enam tipe angka bawaan Kotlin (Byte, Short, Int, Long, Float, Double), literal underscore, literal hex dan biner, serta kapan memilih masing-masing tipe.
Buka → # Integer TypesPelajari empat tipe integer signed (Byte, Short, Int, Long) beserta rentang dan perilaku overflow, serta pengenalan tipe unsigned UByte, UShort, UInt, ULong.
Buka → # Floating-Point TypesPelajari tipe Float (32 bit) dan Double (64 bit) di Kotlin, representasi IEEE 754, jebakan presisi 0.1+0.2, serta nilai khusus NaN dan Infinity.
Buka → # BooleanPelajari tipe Boolean di Kotlin, operator logika (&&, ||, !), short-circuit evaluation, serta tipe nullable Boolean? dan idiom elvis operator.
Buka → # CharPelajari tipe Char di Kotlin, literal karakter seperti 'A', '\n', '\u03A9', akses ke kode Unicode melalui .code, dan mengapa Char tidak dapat dipakai sebagai Int langsung.
Buka → # StringPelajari tipe String di Kotlin, pengindeksan, length, string template $x dan ${expr}, multiline raw string """...""", serta method umum seperti trimMargin dan trimIndent.
Buka → # Unsigned Integer TypesPelajari tipe unsigned Kotlin (UByte, UShort, UInt, ULong), suffix literal u/U, use case seperti bit mask dan ukuran file, serta konversi antara signed dan unsigned.
Buka → # Any, Unit, dan NothingPelajari tipe khusus Kotlin: Any (akar non-nullable), Unit (tipe dengan satu nilai, padanan void), Nothing (tipe yang tidak pernah mengembalikan nilai), dan Nothing? untuk nullable never.
Buka → # Type ConversionPelajari konversi tipe eksplisit di Kotlin melalui method toInt, toLong, toDouble, toString; mengapa tidak ada konversi implisit, serta perilaku truncation dan wrap-around.
Buka → # Type AliasesPelajari cara menyederhanakan tipe kompleks dengan typealias di Kotlin, contoh typealias untuk List, Pair, function type, dan tipe generik, serta kapan menggunakan alias.
Buka → # Konstanta dengan const valPelajari deklarasi konstanta compile-time dengan const val di Kotlin, syarat tipe (String atau primitive), penempatan top-level atau di object, dan perbedaan dengan val runtime.
Buka → # Scope dan LifetimePelajari scope variabel di Kotlin: block scope, inner shadowing, loop variable scope, scope function run { }, serta lifetime variabel setelah blok berakhir.
Buka → # Naming ConventionsPelajari konvensi penamaan variabel di Kotlin: camelCase untuk variabel dan function, PascalCase untuk class dan interface, UPPER_SNAKE_CASE untuk konstanta, serta backing field dengan underscore.
Buka →