Komentar (pemrograman)

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

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

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)

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)

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)

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

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

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

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

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

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

Referensi

  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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.