Android Kotlin #3: Dasar Kotlin Cepat – Variable, Fungsi, dan Kelas


Android Kotlin #3: Dasar Kotlin Cepat – Variable, Fungsi, dan Kelas

Halo lagi, calon developer aplikasi Android! 👋

Di artikel sebelumnya kita sudah berhasil membuat aplikasi "Hello World" dan mengenal struktur folder Android. Tapi aplikasi kita masih diam saja, cuma nampilin teks. Supaya aplikasi bisa berpikir dan bergerak, kita perlu belajar bahasa pemrogramannya, yaitu Kotlin. Anggap saja Kotlin ini adalah bahasa yang digunakan Android Studio untuk ngobrol dengan HP.

🤣 Kenapa Kotlin disebut bahasa yang ramah? Karena dia punya banyak fitur yang manis (syntactic sugar)! 😆

Di artikel ini kita akan belajar 3 hal dasar yang paling sering dipakai: variable (tempat nyimpen data), fungsi (perintah untuk melakukan sesuatu), dan kelas (cetakan untuk membuat benda). Siap? Yuk!

1. Variable – Kotak Penyimpanan

Variable itu seperti kotak atau ember tempat kita menyimpan sesuatu. Di Kotlin, ada dua jenis kotak: val dan var.

  • val (value) – kotak yang sekali diisi, tidak bisa diubah. Isinya tetap. Cocok untuk data yang tidak berubah, seperti nama tempat wisata.
  • var (variable) – kotak yang isinya bisa diganti. Bisa diisi ulang dengan nilai baru. Cocok untuk data yang berubah, seperti jumlah pengunjung.

Cara buat variable di Kotlin gampang banget:

// val (tetap)
val namaTempat = "Pantai Kuta"
val tahunDitemukan = 1930

// var (bisa diubah)
var jumlahPengunjung = 1500
jumlahPengunjung = 2000  // bisa diubah

Kotlin pinter banget, dia bisa nebak tipe data dari isinya. Misal "Pantai Kuta" pasti teks (String), 1930 pasti angka bulat (Int). Tapi kalau mau jelas, kita bisa tulis tipenya:

val namaTempat: String = "Pantai Kuta"
val tahunDitemukan: Int = 1930
var jumlahPengunjung: Int = 1500

Tipe Data Sederhana

  • String – teks, pakai tanda petik. Contoh: "Hello", "Wisata".
  • Int – bilangan bulat. Contoh: 10, -5, 0.
  • Double – bilangan desimal. Contoh: 3.14, 15000.50 (harga tiket).
  • Boolean – true/false. Contoh: true, false (apakah buka? ya/tidak).
💡 Kalau mau gabung teks dengan angka, bisa pakai template string dengan tanda $. Contoh: "Harga tiket: $hargaTiket".

2. Null Safety – Menghindari Error Kosong

Di Kotlin, secara default variable tidak boleh kosong (null). Ini untuk mencegah error yang sering terjadi di bahasa lain. Tapi kadang kita memang butuh variable yang bisa kosong, misalnya karena data dari API belum tentu ada. Caranya, tambahkan tanda tanya (?) setelah tipe data.

var deskripsi: String? = null  // boleh kosong
deskripsi = "Pantai yang indah" // bisa diisi

Kalau mau akses variable yang mungkin null, kita harus aman. Bisa pakai ?. (safe call) atau !! (non-null assertion) kalau yakin tidak null. Tapi hati-hati, !! bisa bikin error kalau ternyata null. Lebih aman pakai ?.

println(deskripsi?.length)  // kalau null, hasilnya null, tidak error

3. Fungsi – Mesin Penghasil Aksi

Fungsi itu seperti mesin yang bisa kita suruh melakukan sesuatu. Di Kotlin, kita buat fungsi dengan kata kunci fun.

Contoh fungsi sederhana yang cuma nampilin teks:

fun sapa() {
    println("Halo, selamat datang di aplikasi wisata!")
}

Untuk menjalankannya, kita panggil namanya: sapa().

Fungsi juga bisa menerima masukan (parameter) dan mengembalikan keluaran (return).

// Fungsi dengan parameter
fun sapaUser(nama: String) {
    println("Halo, $nama!")
}

// Fungsi dengan return
fun hitungTotal(harga: Double, jumlah: Int): Double {
    return harga * jumlah
}

Kalau fungsinya cuma satu baris, bisa disingkat dengan single-expression function:

fun hitungTotal(harga: Double, jumlah: Int): Double = harga * jumlah

Keren kan? Singkat kayak ucapan anak milenial.

4. Kelas – Cetakan untuk Benda

Kelas itu seperti cetakan kue. Dari satu cetakan, kita bisa bikin banyak kue dengan bentuk yang sama. Di aplikasi kita nanti, kita akan punya banyak kategori wisata, banyak tempat wisata. Daripada bikin variable satu-satu, kita bikin cetakannya (kelas).

Contoh kelas sederhana untuk kategori wisata:

class KategoriWisata {
    var id: Int = 0
    var nama: String = ""
    var deskripsi: String? = null
}

Tapi itu masih panjang. Kotlin punya cara cepat dengan primary constructor:

class KategoriWisata(var id: Int, var nama: String, var deskripsi: String?)

Dengan begitu, kita bisa langsung membuat objek (kue) dari kelas itu:

val kategori1 = KategoriWisata(1, "Pantai", "Wisata tepi laut")
val kategori2 = KategoriWisata(2, "Gunung", "Pendakian")

Kita bisa mengakses propertinya dengan titik:

println(kategori1.nama)  // output: Pantai
kategori1.deskripsi = "Pantai dengan pasir putih"  // mengubah deskripsi

Data Class – Cetakan Spesial

Kotlin punya fitur keren namanya data class. Ini adalah kelas yang memang dirancang untuk menyimpan data. Dia otomatis menyediakan fungsi-fungsi seperti toString(), equals(), copy(). Cocok banget untuk model data dari API.

data class KategoriWisata(
    val id: Int,
    val nama: String,
    val deskripsi: String?
)

Perhatikan: kita pakai val di constructor, artinya propertinya tidak bisa diubah (immutable). Ini baik untuk menjaga data tetap konsisten. Nanti di aplikasi kita akan sering pakai data class seperti ini.

5. Contoh Nyata: Model Kategori Wisata

Ingat API kita sebelumnya? Dia mengirim data kategori seperti ini:

{
    "id": 1,
    "nama": "Pantai",
    "deskripsi": "Wisata tepi laut dengan pasir putih"
}

Di Kotlin, kita bisa buat data class yang persis seperti itu:

data class KategoriWisata(
    val id: Int,
    val nama: String,
    val deskripsi: String?
)

Nanti kita bisa mengubah JSON menjadi objek Kotlin dengan mudah (pake library seperti Retrofit). Tapi itu nanti. Sekarang kita sudah punya cetakannya.

6. Coba Praktik di Project

Buka project WisataApp yang sudah kita buat. Di file MainActivity.kt, coba tambahkan kode berikut di dalam class MainActivity (setelah onCreate atau di dalam onCreate).

// Membuat data class di dalam file yang sama (atau di file terpisah)
data class KategoriWisata(val id: Int, val nama: String, val deskripsi: String?)

// Di dalam onCreate, setelah setContentView
val kategori = KategoriWisata(1, "Pantai", "Pantai indah")
println("Kategori: ${kategori.nama}")

Jalankan aplikasi. Memang tidak ada yang berubah di layar, karena kita cuma nulis ke console (log). Tapi di jendela Logcat di Android Studio, kamu bisa lihat outputnya. Cari tab Logcat di bagian bawah, filter dengan System.out atau package name kamu. Akan muncul teks "Kategori: Pantai".

Selamat! Kamu baru saja membuat objek dari kelas buatan sendiri.

💡 Logcat itu seperti CCTV yang merekam semua yang terjadi di aplikasi. Bisa untuk debugging.

Rangkuman Singkat

  • val untuk variable tetap, var untuk variable bisa diubah.
  • Tipe data umum: String, Int, Double, Boolean.
  • Null safety: ? untuk boleh null, ?. untuk akses aman.
  • Fungsi: fun + nama + parameter + return type.
  • Kelas: cetakan untuk objek. Bisa pakai data class untuk model data.

Selanjutnya?

Di artikel berikutnya (Android Kotlin #4: Membuat UI Sederhana dengan XML), kita akan kembali ke tampilan. Kita akan belajar membuat beberapa komponen UI seperti TextView, Button, dan EditText, serta menangani klik tombol. Sampai jumpa!

😎 Kalau ada yang bingung, ingat: Kotlin itu sahabatmu. Dia nggak akan marah kalau kamu salah, tapi dia akan kasih tahu lewat error. Jangan takut error, itu tanda kamu sedang belajar!

Ditulis oleh Kakak programmer yang dulu juga sering bingung bedain val dan var. Kalau ada pertanyaan, tulis di komentar ya!

Lebih baru Lebih lama

نموذج الاتصال