Tips & Trik Teknologi

Pentingnya Memberikan Komentar yang baik dan benar pada Source Code

15 Juni 2025 22:29 WIB

by Khoirul Roziq

Halo, teman-teman developer! Pernah nggak kalian membuka kode yang kalian tulis beberapa bulan lalu, lalu berpikir, "Apa maksud kode ini ya? Kok dulu nulisnya seperti ini?" Atau mungkin rekan kerja kalian bertanya, "Fungsi ini buat apa, sih? Kok agak membingungkan?"

Nah, di sinilah pentingnya komentar dalam kode. Komentar itu seperti catatan kecil yang membantu kita (dan orang lain) memahami alur program tanpa harus menebak-nebak.

Mari kita bahas:
✔ Kenapa komentar itu penting?
✔ Bagaimana cara menulis komentar yang baik?
✔ Contoh komentar yang efektif

Kenapa Komentar Itu Penting?

  1. Bantu Diri Sendiri di Masa Depan

    • Kode yang sekarang terlihat jelas, bisa jadi membingungkan beberapa bulan lagi. Komentar membantu mengingatkan "kenapa dulu saya menulis seperti ini?"

  2. Mempermudah Kolaborasi

    • Ketika bekerja dalam tim, komentar membantu rekan lain memahami logika kode tanpa harus bertanya berulang kali.

  3. Dokumentasi yang Lebih Baik

    • Beberapa tools seperti Javadoc atau Doxygen bisa menghasilkan dokumentasi otomatis dari komentar.

  4. Menghindari Kesalahan

    • Kadang kita menulis kode dengan logika khusus. Komentar bisa menjelaskan "Jangan diubah bagian ini karena..." sehingga tidak terjadi kesalahan tak terduga.

Cara Menulis Komentar yang Baik

1. Gunakan Bahasa yang Jelas dan Sopan

  • ❎ Kurang baik// ini buat ngitung

  • ✅ Lebih baik// Menghitung total harga setelah diskon

2. Jelaskan "Mengapa", Bukan Hanya "Apa"

  • ❎ Hanya menjelaskan apa yang dilakukan:

    x += 1  # Increment x
  • ✅ Jelaskan mengapa:

    x += 1  # Menambah counter karena user menyelesaikan langkah

3. Hindari Komentar yang Tidak Perlu

  • ❎ Terlalu berlebihan:

    let name = "John";  // Assign "John" ke variabel name

    (Ini sudah jelas dari kodenya sendiri.)

4. Gunakan Komentar untuk Logika yang Rumit

  • Contoh:

    # Rumus diskon: 
    # - 10% jika pembelian > 500rb
    # - 5% jika member aktif
    if total > 500000 and is_member:
        discount = 0.15  # Gabungan diskon 10% + 5%

5. Update Komentar Jika Kode Berubah

  • Jangan biarkan komentar usang yang tidak sesuai dengan kode saat ini.

Contoh Komentar yang Efektif

1. Komentar Satu Baris

// Validasi email format
if (!email.includes("@")) {
    throw new Error("Email tidak valid");
}

2. Komentar Multi-Baris

"""
Fungsi ini menghitung rata-rata nilai siswa.
- Parameter: list_nilai (array angka)
- Return: float (rata-rata)
- Contoh: hitung_rata([80, 90, 85]) => 85
"""
def hitung_rata(list_nilai):
    return sum(list_nilai) / len(list_nilai)

3. Komentar di Atas Fungsi (Docstring)

/**
 * Mengonversi suhu dari Celsius ke Fahrenheit.
 * @param celsius Suhu dalam Celsius
 * @return Suhu dalam Fahrenheit
 */
public double celsiusToFahrenheit(double celsius) {
    return (celsius * 9/5) + 32;
}

Teknik Pemberian Komentar Sesuai Bahasa Pemrograman

Selain prinsip umum pemberian komentar, setiap bahasa pemrograman memiliki konvensi dan sintaks khusus untuk komentar. Berikut panduannya:

1. JavaScript / TypeScript

Gunakan JSDoc untuk dokumentasi fungsi

/**
 * Menghitung diskon berdasarkan harga dan status member
 * @param {number} harga - Harga awal
 * @param {boolean} isMember - Status membership
 * @returns {number} Besar diskon
 */
function hitungDiskon(harga, isMember) {
  return isMember ? harga * 0.1 : 0; // 10% diskon jika member
}

Aturan:

  • Komentar satu baris: //

  • Multi-baris: /* ... */

  • Dokumentasi fungsi: /** ... */ (standar JSDoc)

2. Python

Gunakan docstring (PEP 257)

def hitung_rata(data):
    """
    Menghitung rata-rata dari list angka.
    
    Args:
        data (list): List berisi angka
        
    Returns:
        float: Nilai rata-rata
    """
    return sum(data) / len(data)
Aturan:
  • Docstring: """ ... """ (untuk modul, fungsi, kelas)

  • Komentar singkat: #

3. Java

Gunakan JavaDoc

/**
 * Konversi suhu Celsius ke Fahrenheit
 * @param celsius Suhu dalam Celsius
 * @return Suhu dalam Fahrenheit
 */
public double konversiSuhu(double celsius) {
    return (celsius * 9/5) + 32;
}

Aturan:

  • Dokumentasi: /** ... */

  • Komentar biasa: // atau /* ... */

4. C/C++

Komentar untuk penjelasan kompleks

/*
 * Algoritma QuickSort
 * - Pilih pivot
 * - Partisi array
 * - Rekursif sort
 */
void quickSort(int arr[], int low, int high) {
    // Base case
    if (low < high) {
        int pi = partition(arr, low, high);
        quickSort(arr, low, pi - 1);  // Sort kiri pivot
        quickSort(arr, pi + 1, high); // Sort kanan pivot
    }
}

Aturan:

  • Dokumentasi: /** ... */ (Doxygen)

  • Komentar: // atau /* ... */

5. PHP

DocBlock untuk dokumentasi

/**
 * Validasi email
 * @param string $email Alamat email
 * @return bool True jika valid
 */
function validateEmail($email) {
    return filter_var($email, FILTER_VALIDATE_EMAIL);
}

Aturan:

  • DocBlock: /** ... */

  • Komentar singkat: // atau #

6. HTML

Komentar untuk penanda section

<!-- Header Section -->
<header>
    <h1>Judul Website</h1>
</header>

<!-- Konten Utama -->
<main>
    <p>Paragraf konten...</p>
</main>

Aturan:

  • Hanya mendukung <!-- ... -->

7. CSS

Komentar untuk grouping

/* ===== HEADER STYLE ===== */
.header {
    font-size: 2em;
}

/* Tombol utama */
.btn-primary {
    background: blue;
}

Aturan:

  • Hanya /* ... */

Kesimpulan

Memberi komentar pada kode itu seperti memberi petunjuk bagi diri sendiri dan orang lain. Dengan komentar yang jelas:
✔ Kode lebih mudah dipahami
✔ Kolaborasi tim lebih lancar
✔ Maintenance jadi lebih mudah

Setiap bahasa punya gaya komentar yang optimal:

  • JavaScript/Python/Java: Fokus pada dokumentasi fungsi (/** ... */""" ... """)

  • C/PHP: Gabungkan penjelasan algoritma + DocBlock

  • HTML/CSS: Gunakan untuk penanda section

Tips Terakhir:

"Tulis komentar seolah pembacanya adalah dirimu di masa depan yang sudah lupa semua logika kode ini."

Dengan komentar yang sesuai konvensi bahasa, kode jadi lebih mudah dipahami dan dikelola!