Kode yang baik tidak hanya berbicara kepada kompilator — kode juga harus berbicara kepada pembaca berikutnya. Pada chapter ini kita akan melihat tiga jenis komentar yang didukung Kotlin: komentar satu baris //, komentar multi-baris /* */, serta komentar dokumentasi /** */ (KDoc). Kita juga akan membahas fitur khas Kotlin yaitu komentar blok bersarang (nested block comments) yang membedakannya dari Java.
Komentar Satu Baris // #
Komentar satu baris diawali dengan dua garis miring // dan berlaku hingga akhir baris. Komentar jenis ini cocok untuk penjelasan singkat di samping statement:
// Inisialisasi konfigurasi default
val batasRetry = 3
val pathDatabase = "/data/app.db" // path absolut databaseKompiler Kotlin mengabaikan seluruh teks setelah // hingga newline. Tidak ada sintaks khusus untuk komentar satu baris — cukup tulis // lalu penjelasan.
Komentar Multi-Baris /* */ #
Untuk penjelasan yang lebih panjang, Kotlin menyediakan komentar blok yang dibungkus /* di awal dan */ di akhir:
/*
* Fungsi ini menghitung total belanja berdasarkan harga satuan
* dan jumlah barang. Pajak belum termasuk dalam perhitungan ini.
*/
fun hitungTotal(harga: Int, qty: Int): Int {
return harga * qty
}Konvensi gaya umum memakai tanda bintang di awal setiap baris dalam blok untuk memudahkan pemindai visual. Hal ini tidak diwajibkan — kompilator hanya memeriksa pasangan /* dan */.
Komentar Blok Bersarang (Nested Block Comments) #
Salah satu perbedaan penting antara Kotlin dan Java adalah dukungan terhadap komentar blok bersarang. Kotlin mengizinkan /* di dalam /* */ lain asalkan jumlah /* dan */ seimbang:
/* Komentar luar
/* Komentar dalam */
Lanjutan komentar luar
*/
val x = 42Pada Java, cuplikan di atas akan menyebabkan kompilator mengira komentar berakhir di */ pertama dan baris berikutnya menjadi kode. Kotlin menghitung kedalaman /* dan menutup komentar hanya ketika jumlah */ sama dengan jumlah /*.
Fitur ini bermanfaat saat kita ingin menonaktifkan (comment-out) blok kode yang sudah berisi komentar /* */ tanpa harus mengubahnya. Cukup bungkus seluruh blok dengan /* */ baru.
Komentar Dokumentasi (KDoc) #
KDoc adalah format komentar dokumentasi resmi Kotlin, dibungkus /** */ dengan tanda bintang di awal setiap baris. KDoc dipakai oleh alat Dokka untuk menghasilkan dokumentasi API dalam format HTML.
/**
* Menghitung total harga belanja.
*
* @param harga harga satuan barang, dalam Rupiah.
* @param qty jumlah unit yang dibeli.
* @return total harga sebelum pajak.
*/
fun hitungTotal(harga: Int, qty: Int): Int {
return harga * qty
}Kita akan membahas KDoc secara mendalam — termasuk tag @param, @return, @throws, dan @sample — pada chapter Documentation Comments berikutnya. Untuk sekarang, cukup pahami bahwa /** */ adalah blok khusus yang diperlakukan berbeda dari komentar biasa oleh alat Dokka.
Contoh Lengkap dengan Tiga Jenis Komentar #
Berikut program kecil yang memadukan ketiga jenis komentar:
// Komentar satu baris diawali dengan dua garis miring
/*
* Komentar multi-baris menggunakan pasangan garis miring-bintang.
* Setiap baris di dalamnya bisa ditulis bebas, termasuk dengan
* tanda bintang di awal baris untuk keterbacaan.
*/
/* Kotlin memperbolehkan komentar blok bersarang (nested).
* /* Ini komentar di dalam komentar */
* Hal ini berbeda dengan Java yang tidak mengizinkan nesting.
*/
fun hitungTotal(harga: Int, qty: Int): Int {
// Logika bisnis sederhana: harga kali quantity
return harga * qty
}
fun main() {
// Cetak total belanja Budi
val total = hitungTotal(harga = 5000, qty = 3)
println("Total belanja: $total")
}Output yang Dihasilkan:
Total belanja: 15000Program di atas memperlihatkan tiga jenis komentar berdampingan dalam satu file. Kompilator mengabaikan seluruhnya; hanya function hitungTotal dan main yang menjadi bytecode.
Praktik Penulisan Komentar yang Baik #
Komentar berkualitas menjelaskan mengapa, bukan apa. Kode sudah menjawab apa yang terjadi:
| Praktik buruk | Praktik baik |
|---|---|
i++ // increment i | i++ // maju ke entri berikutnya untuk filtering batch |
// cek null | // skip entri yang tidak punya email karena pipeline下游 butuh email non-null |
// return true | // true bila pengguna memiliki izin admin; false untuk pengguna biasa |
Komentar yang hanya mengulangi kode justru menambah noise dan cepat usang ketika kode berubah. Saat kode diubah tetapi komentar lupa diperbarui, pembaca berikutnya akan bingung. Lebih baik menghapus komentar yang hanya mengulangi kode.
Referensi Lanjutan #
- Kotlin KDoc — panduan resmi KDoc untuk komentar dokumentasi yang mengikuti sintaks Markdown
- Kotlin coding conventions — konvensi penulisan komentar yang dianjurkan Kotlin
Komentar yang baik melengkapi kode tanpa mengganggu. Setelah memahami tiga jenis komentar di Kotlin, kita siap mendalami format khusus KDoc yang menjadi standar dokumentasi API — pembahasan lengkap menanti pada chapter Documentation Comments.