Contoh 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 code) 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

sunting

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)

sunting

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)

sunting

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

sunting

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

sunting

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

sunting

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.

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.

📚 Artikel Terkait di Wikipedia

Pemortaan

INTCODE interpreter. Richards & Whitby-Strevens 1984, hlm. 136. §7.4.3 Example gives an example translation of a BCPL program into INTCODE for the interpreter

Java (platform perangkat lunak)

sebagian besar implementasi dari tersedia di bawah GNU General Public License (GPL). Terbaru versi Java 8, hanya didukung (misalnya dengan pembaruan keamanan)

Bahasa pemrograman domain khusus

kegunaan yang tepat.[butuh rujukan] DSL yang diimplementasikan melalui interpreter atau compiler independen dikenal sebagai Bahasa Domain Khusus Eksternal

Sejarah bahasa pemrograman

hlm. 3. Diakses tanggal 2015-05-04. Edinburgh LCF, including the ML interpreter, was implemented in Lisp. "TIOBE Index, Top 100 programming languages