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.

# val vs var

Pelajari perbedaan val (immutable) dan var (mutable) di Kotlin, mengapa val lebih disarankan, serta perbedaan antara imutabilitas compile-time dan runtime.

Buka →
# Deklarasi dan Inisialisasi

Pelajari pola deklarasi variabel di Kotlin: val dengan tipe eksplisit, lateinit var, lazy init, dan pola deklarasi dulu lalu inisialisasi sesuai kondisi.

Buka →
# Type Inference

Pelajari bagaimana kompilator Kotlin menyimpulkan tipe variabel dari nilai literal, kapan menambah tipe eksplisit, dan batasan type inference.

Buka →
# Primitive Types vs Reference Types

Pelajari bagaimana Kotlin menyembunyikan primitive types di JVM, kapan kompilator memakai primitive atau boxed reference, serta dampak nullabilitas terhadap representasi tipe.

Buka →
# Numbers

Pelajari 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 Types

Pelajari empat tipe integer signed (Byte, Short, Int, Long) beserta rentang dan perilaku overflow, serta pengenalan tipe unsigned UByte, UShort, UInt, ULong.

Buka →
# Floating-Point Types

Pelajari 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 →
# Boolean

Pelajari tipe Boolean di Kotlin, operator logika (&&, ||, !), short-circuit evaluation, serta tipe nullable Boolean? dan idiom elvis operator.

Buka →
# Char

Pelajari 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 →
# String

Pelajari tipe String di Kotlin, pengindeksan, length, string template $x dan ${expr}, multiline raw string """...""", serta method umum seperti trimMargin dan trimIndent.

Buka →
# Unsigned Integer Types

Pelajari 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 Nothing

Pelajari 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 Conversion

Pelajari konversi tipe eksplisit di Kotlin melalui method toInt, toLong, toDouble, toString; mengapa tidak ada konversi implisit, serta perilaku truncation dan wrap-around.

Buka →
# Type Aliases

Pelajari 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 val

Pelajari 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 Lifetime

Pelajari scope variabel di Kotlin: block scope, inner shadowing, loop variable scope, scope function run { }, serta lifetime variabel setelah blok berakhir.

Buka →
# Naming Conventions

Pelajari 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 →