Dalam ilmu komputer dan pemrograman, komentar adalah anotasi, catatan, atau penjelasan yang disisipkan di dalam kode sumber suatu program komputer dengan tujuan untuk mempermudah manusia dalam membaca dan memahami kode tersebut. Komentar sepenuhnya akan diabaikan oleh kompilator maupun interpreter saat proses penerjemahan kode menjadi kode mesin, sehingga tidak akan memengaruhi jalannya eksekusi program, performa sistem, atau ukuran biner akhir dari perangkat lunak.[1]

Penulisan komentar yang baik merupakan salah satu aspek krusial dalam rekayasa perangkat lunak untuk menjaga keterbacaan dan pemeliharaan kode (maintainability) dalam jangka panjang, terutama ketika program tersebut dikembangkan oleh sebuah tim pemrogram secara kolaboratif.

Fungsi dan kegunaan

sunting

Komentar memiliki beberapa fungsi utama dalam siklus pengembangan perangkat lunak:

  • Dokumentasi Kode: Menjelaskan maksud, logika, atau alasan di balik penulisan suatu algoritme yang kompleks, sehingga pemrogram lain tidak perlu menebak alur kerja kode tersebut.
  • Membantu Pengawakutuan (Commenting Out): Mematikan atau menonaktifkan baris kode tertentu secara sementara selama proses pengawakutuan (debugging). Dengan menjadikannya komentar, baris kode tersebut tidak akan dieksekusi oleh mesin tanpa harus menghapusnya secara permanen dari berkas proyek.
  • Pembangkitan Dokumentasi Otomatis: Beberapa bahasa pemrograman mendukung komentar berformat khusus yang dapat diekstrak oleh perkakas bantu eksternal untuk menghasilkan dokumentasi API berbasis HTML secara otomatis. Contoh perkakas ini meliputi Javadoc untuk Java, JSDoc untuk JavaScript, dan *docstrings* untuk Python.
  • Penanda Tugas (Tagging): Digunakan untuk meninggalkan catatan kaki bagi tim pengembang mengenai status pengerjaan kode, seperti menggunakan penanda standardisasi TODO (untuk tugas yang belum selesai) atau FIXME (untuk kode cacat yang harus segera diperbaiki).

Jenis-jenis komentar

sunting

Gaya dan sintaksis penulisan komentar sangat bergantung pada bahasa pemrograman yang digunakan, namun secara umum terbagi menjadi tiga jenis:

Komentar satu baris (Single-line comment)

sunting

Komentar yang hanya berlaku pada satu baris teks tempat tanda komentar tersebut diletakkan. Segala bentuk teks yang ditulis setelah tanda tersebut hingga akhir baris fisik akan dianggap sebagai komentar.

Komentar blok / banyak baris (Block / Multi-line comment)

sunting

Komentar yang digunakan untuk menulis penjelasan panjang yang memakan tempat hingga beberapa baris. Jenis komentar ini membutuhkan tanda pembuka dan tanda penutup yang jelas untuk mengisolasi teks di dalamnya.

Komentar dokumentasi (Documentation comment)

sunting

Jenis komentar blok khusus yang diletakkan tepat sebelum deklarasi fungsi, kelas, atau modul untuk menerangkan parameter masukan, tipe kembalian, dan fungsionalitas komponen tersebut kepada sistem dokumentasi otomatis.

Contoh penerapan

sunting

Berikut adalah contoh penerapan ketiga jenis komentar tersebut di dalam bahasa pemrograman Python:

"""
Komentar Blok / Banyak Baris
Fungsi ini didesain untuk menghitung nilai faktorial
menggunakan pendekatan algoritme rekursif.
"""

def hitung_faktorial(n):
    # Komentar Dokumentasi (Docstring khas Python)
    """
    Menghitung faktorial dari bilangan bulat n.
    :param n: bilangan bulat positif (int)
    :return: hasil faktorial (int)
    """
    
    # KONDISI BATAS: Jika n adalah 0 atau 1, kembalikan nilai 1 (Komentar satu baris)
    if n == 0 or n == 1:
        return 1
    
    # TODO: Tambahkan validasi untuk menangani input bilangan negatif
    
    return n * hitung_faktorial(n - 1) # Melakukan pemanggilan fungsi secara rekursif

Komentar kepala dan aspek hukum

sunting

Dalam pengembangan perangkat lunak profesional dan proyek perangkat lunak sumber terbuka, komentar sering diletakkan di bagian paling atas berkas kode sumber (disebut komentar kepala atau *prologue comment*). Komentar ini tidak menjelaskan logika program, melainkan memuat informasi hukum dan kepemilikan, seperti:

  • Nama pencipta atau pemilik hak cipta proyek.
  • Tanggal pembuatan atau modifikasi berkas.
  • Pernyataan lisensi hukum yang mengikat kode tersebut (misalnya ringkasan ketentuan MIT, Apache, atau GNU GPL).

Risiko keamanan

sunting

Meskipun komentar sangat membantu manusia, keberadaannya di dalam kode sumber dapat menimbulkan risiko keamanan informasi yang serius jika tidak dikelola dengan bijak. Kerentanan ini terdaftar resmi dalam kamus kelemahan umum sebagai **CWE-615** (Inclusion of Sensitive Information in Source Code Comments).[2]

Beberapa kesalahan fatal yang sering dilakukan oleh pemrogram meliputi:

  • Meninggalkan kredensial rahasia: Menuliskan kata sandi, kunci API (API keys), atau token akses di dalam komentar saat fase pengujian dan lupa menghapusnya ketika kode didistribusikan.
  • Membocorkan arsitektur internal: Memberikan penjelasan terlalu mendetail mengenai kelemahan sistem, alamat IP peladen internal, atau struktur basis data yang dapat dieksploitasi oleh peretas jika kode sumber tersebut bocor atau berhasil dibongkar melalui rekayasa balik.

Perbandingan sintaksis

sunting

Tabel di bawah ini menunjukkan variasi tanda sintaksis penulisan komentar pada beberapa bahasa pemrograman dan penanda teks populer:

Bahasa Pemrograman Komentar Satu Baris Komentar Banyak Baris (Blok)
C, C++, Java, JavaScript, Go, PHP, Dart // komentar di sini /* komentar panjang
di sini */
Python, Ruby, Perl # komentar di sini """ komentar blok menggunakan
triple-quotes """
HTML, XML Tidak didukung <!-- komentar di sini -->
SQL -- komentar di sini /* komentar panjang
di sini */
Pascal, Delphi // komentar di sini { komentar di sini } atau
(* komentar di sini *)
CSS Tidak didukung /* komentar di sini */

Praktik terbaik

sunting

Meskipun komentar sangat membantu, penulisan komentar yang buruk justru dapat menurunkan mutu kode sumber. Beberapa praktik terbaik yang disepakati oleh industri meliputi:

  • Jangan menulis komentar yang sudah jelas: Komentar tidak boleh sekadar mengulang apa yang tertulis pada baris logika kode. Sebagai contoh, menulis i = i + 1 // menambah i dengan 1 dianggap sebagai limbah visual (*noise*) karena kodenya sendiri sudah sangat jelas.
  • Tulis kode yang swadokumentasi (Self-documenting code): Sebelum menulis komentar, pemrogram disarankan untuk menggunakan penamaan variabel dan fungsi yang deskriptif. Kode yang bersih sering kali tidak memerlukan banyak komentar karena strukturnya sudah menerangkan maksudnya sendiri secara eksplisit.
  • Perbarui komentar secara berkala: Komentar yang tidak ikut diperbarui ketika logika kode di bawahnya berubah disebut sebagai "komentar usang" (rotten comment). Komentar jenis ini sangat berbahaya karena memberikan informasi yang salah dan menyesatkan bagi pengembang lain.

Lihat pula

sunting

Referensi

sunting
  1. ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009). Introduction to Algorithms (dalam bahasa Inggris) (Edisi 3rd). MIT Press. ISBN 978-0-262-03384-8.
  2. ^ "CWE-615: Inclusion of Sensitive Information in Source Code Comments" (dalam bahasa Inggris). MITRE Corporation. Diakses tanggal 2 Juni 2026.

📚 Artikel Terkait di Wikipedia

Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat

PHP

Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi

Pemrograman

kode sumber dalam satu atau lebih bahasa pemrograman. Para pemrogram umumnya menggunakan bahasa pemrograman tingkat tinggi yang lebih mudah dipahami oleh

Komentar

program komputer Pemrograman komentar, teknik pengembangan perangkat lunak berdasarkan penggunaan tag komentar secara teratur Komentar atau narasi, kata-kata

Scratch (bahasa pemrograman)

adalah sebuah bahasa pemrograman visual berbasis blok untuk para pelajar muda dalam membuat program tanpa harus memikirkan pemrograman tingkat lanjut. Dirancang

Go (bahasa pemrograman)

adalah bahasa pemrograman yang dibuat di Google pada tahun 2009 oleh Robert Griesemer, Rob Pike, dan Ken Thompson. Go adalah bahasa pemrograman sumber terbuka

JavaScript

dimanfaatkan para pemrogram yang non-Java. Maka dikembangkanlah bahasa pemrograman bernama LiveScript untuk mengakomodasi hal tersebut. Bahasa pemrograman inilah

The WONDERfools

para pemeran utama dan pendukungnya. Namun, seri ini mendapat beberapa komentar beragam mengenai tempo awalnya, perubahan nada yang cepat, dan ketegangan