Komentar adalah teks yang kita sisipkan di dalam kode sumber untuk dibaca oleh manusia, tetapi diabaikan sepenuhnya oleh compiler. Komentar yang baik menjelaskan mengapa suatu keputusan diambil, bukan sekadar mengulang apa yang sudah jelas dari kode. Pada Chapter ini kita akan mempelajari dua gaya komentar di C, cara penempatan komentar yang efektif, serta beberapa kebiasaan yang sebaiknya kita hindari.

Dua Gaya Komentar di C #

Bahasa C mendukung dua gaya komentar. Gaya pertama diwariskan dari standar C89 dan diawali dengan /* serta diakhiri dengan */. Gaya kedua diperkenalkan pada standar C99 dengan tanda // dan berlaku sampai akhir baris. Kedua gaya ini dapat dipakai bergantian dalam file yang sama.

c
#include <stdio.h>

int main(void) {
    // Menyapa pengguna
    printf("Halo!\n");

    /* Menghitung luas persegi panjang */
    int panjang = 5;
    int lebar = 3;
    int luas = panjang * lebar; /* panjang x lebar */
    printf("Luas: %d\n", luas);
    return 0;
}

Output yang Dihasilkan:

text
Halo!
Luas: 15

Mari kita telaah baris-baris kode di atas:

  1. Baris 4 (// Menyapa pengguna): komentar gaya C99 — compiler mengabaikan semua karakter mulai dari // sampai akhir baris.
  2. Baris 7 (/* Menghitung luas persegi panjang */): komentar gaya C89 — compiler mengabaikan semua karakter antara /* dan */, termasuk jika komentar ini berlanjut ke beberapa baris.
  3. Baris 10 (/* panjang x lebar */ di akhir baris): komentar gaya C89 yang diletakkan setelah statement. Komentar ini mengomentari statement di baris yang sama tanpa mengganggu compiler.

Perhatikan bahwa printf dan perhitungan luas tetap dieksekusi persis seperti jika komentar tidak ada. Compiler membuang komentar pada tahap preprocessing, sebelum kode diterjemahkan menjadi object file.

Komentar Blok untuk Dokumentasi Fungsi #

Komentar gaya /* ... */ cocok dipakai untuk dokumentasi yang panjang karena dapat menjangkau beberapa baris. Banyak proyek menggunakan konvensi komentar blok dengan tanda bintang * di awal setiap baris agar dokumentasi terbaca seperti paragraf yang rapi.

c
#include <stdio.h>

/*
 * Program: hitung rata-rata
 * Penulis: Tim Tutorial C
 * Deskripsi: menerima tiga nilai, lalu
 *            mencetak rata-ratanya.
 */
int main(void) {
    int a = 70;
    int b = 85;
    int c = 90;
    int total = a + b + c;  // jumlahkan ketiganya
    double rata = total / 3.0;
    printf("Rata-rata: %.2f\n", rata);
    return 0;
}

Output yang Dihasilkan:

text
Rata-rata: 81.67

Pada contoh di atas, komentar blok di awal main berfungsi sebagai ringkasan tujuan program. Komentar // jumlahkan ketiganya di akhir baris menjelaskan tujuan statement tersebut tanpa memerlukan baris terpisah. Pemilihan gaya komentar pada akhirnya adalah soal keterbacaan — tidak ada perbedaan perilaku program antara dua gaya tersebut.

Komentar untuk Menonaktifkan Kode Sementara #

Saat men-debug atau bereksperimen, kita sering ingin menonaktifkan beberapa baris kode tanpa menghapusnya. Komentar adalah cara cepat untuk melakukannya.

c
#include <stdio.h>

int main(void) {
    int harga = 15000;
    int jumlah = 4;
    // int total = harga * jumlah;  // dipakai saat diskon 0%
    int total = harga * jumlah * 90 / 100;  // diskon 10%
    printf("Total: %d\n", total);
    return 0;
}

Output yang Dihasilkan:

text
Total: 54000

Pada contoh di atas, baris int total = harga * jumlah; diawali tanda // sehingga compiler mengabaikannya. Baris berikutnya yang menerapkan diskon 10% menjadi statement aktif yang dipakai program. Catatan // dipakai saat diskon 0% memberitahu pembaca kode kapan baris yang lama sebaiknya dipakai ulang.

Kebiasaan Komentar yang Sebaiknya Dihindari #

Beberapa kebiasaan menulis komentar justru menambah kebisingan tanpa manfaat:

  • Komentar yang mengulang kode — misalnya int umur = 25; // menyimpan umur jelas tidak menambah informasi.
  • Komentar yang berbohong — misalnya // selalu positif pada variabel yang ternyata bisa bernilai negatif. Komentar yang salah lebih buruk daripada tidak ada komentar sama sekali.
  • Komentar di dalam ekspresi kompleks — bila kode butuh komentar panjang untuk menjelaskan satu baris, pertimbangkan untuk memecah baris itu menjadi beberapa statement dengan nama variabel yang jelas.
  • Blok komentar besar yang menutupi kode — gunakan include guard atau #if 0 ... #endif untuk menonaktifkan banyak baris sekaligus.

Komentar terbaik adalah yang menjelaskan mengapa kode ditulis seperti itu: alasan bisnis, batasan platform, atau jebakan yang sudah diketahui. Bila kode sudah jelas dari nama variabel dan struktur fungsi, komentar tidak perlu dipaksakan.