Kode sumberContoh kode sumber Java dengan komentar prolog ditandai dengan huruf merah, komentar dalam baris dengan hijau, dan kode program dengan warna biru.
Dalam ilmu komputer, kode sumber (bahasa Inggris:source codecode: en is deprecated ) atau kode program adalah rangkaian pernyataan, instruksi, atau deklarasi tertulis yang disusun menggunakan bahasa pemrograman komputer dan didesain agar dapat dibaca serta dipahami oleh manusia.
Kode sumber merupakan cetak biru dasar dari sebuah perangkat lunak. Kode ini biasanya disimpan dalam satu atau beberapa berkas teks terstruktur, diatur dalam sebuah repositori proyek, atau ditampilkan dalam bentuk cuplikan kode (code snippet) untuk keperluan edukasi di dalam buku dan media cetak lainnya.
Pemrosesan dan eksekusi
Prosesor komputer tidak dapat mengeksekusi kode sumber secara langsung karena sirkuit digital komputer hanya memahami kode mesin biner (angka 0 dan 1). Oleh karena itu, kode sumber harus dijembatani melalui dua metode pemrosesan utama sebelum program dapat berjalan:[1]
Kompilasi (Compilation)
Kode sumber secara keseluruhan dipindai dan diterjemahkan oleh sebuah kompilator menjadi berkas biner mandiri berwujud kode objek atau kode mesin. Berkas hasil kompilasi inilah (seperti berkas berformat `.exe` pada Windows) yang nantinya dieksekusi oleh pengguna. Contoh bahasa yang menggunakan metode ini adalah C, C++, dan Go.
Interpretasi (Interpretation)
Kode sumber tidak diubah menjadi berkas biner mandiri, melainkan dibaca, divalidasi, dan dieksekusi baris demi baris secara langsung saat program dijalankan dengan bantuan program perantara yang disebut interpreter. Contoh bahasa yang menerapkan metode ini adalah Python, JavaScript, dan PHP.
Ada pula bahasa pemrograman modern seperti Java dan C# yang menggabungkan kedua teknik tersebut; kode sumber dikompilasi terlebih dahulu menjadi kode biner antara (bytecode), lalu dijalankan menggunakan *interpreter* khusus di dalam mesin virtual.
Komponen kode sumber
Sebuah kode sumber yang utuh umumnya tidak hanya berisi perintah logika, melainkan tersusun atas beberapa komponen fundamental berikut:
Perintah Logika (Statements): Instruksi terstruktur yang memerintahkan komputer untuk melakukan tindakan tertentu, seperti kalkulasi matematika, percabangan kondisi (if/else), atau perulangan (for/while).
Deklarasi: Pengenalan identitas komponen baru kepada sistem, seperti pembuatan nama variabel, konstanta, fungsi, atau struktur objek (class).
Komentar: Teks tambahan yang ditulis oleh pemrogram untuk memberikan penjelasan mengenai alur atau maksud dari kode tersebut. Komentar diabaikan sepenuhnya oleh kompilator maupun *interpreter*, sehingga murni berfungsi sebagai dokumentasi bagi manusia.
Keterbacaan dan pemeliharaan
Mengingat perangkat lunak terus berkembang, kode sumber dituntut untuk memiliki keterbacaan yang tinggi agar mudah dipelihara (maintainability) dan dikembangkan oleh tim pengembang yang berbeda. Di dalam industri rekayasa perangkat lunak, terdapat konvensi ketat yang mengatur tata cara penulisan kode sumber, seperti:
Gaya Pemrograman (Style Guide): Aturan tertulis mengenai standarisasi jarak spasi, indentasi tab, dan tata cara penamaan variabel.
Refaktorisasi Kode (Refactoring): Proses menulis ulang dan merapikan struktur internal kode sumber yang sudah ada agar menjadi lebih efisien dan bersih tanpa mengubah perilaku luaran program.
Aspek hukum dan distribusi
Bagaimana sebuah kode sumber didistribusikan kepada publik diatur secara ketat melalui lisensi hukum:
Perangkat lunak sumber terbuka (Open Source): Kode sumber bersifat bebas, transparan, dan dapat diakses, dimodifikasi, serta didistribusikan ulang oleh siapa saja (contoh lisensi: MIT, GNU GPL).
Perangkat lunak tertutup / Berpemilik (Proprietary): Kode sumber bersifat rahasia milik perusahaan atau penciptanya. Pengguna hanya diberikan izin untuk mengeksekusi berkas binernya saja tanpa hak untuk mengintip atau membongkar kode sumber aslinya.
↑Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009). Introduction to Algorithms (dalam bahasa Inggris) (Edisi 3rd). MIT Press. ISBN978-0-262-03384-8.