Program
komputer merupakan rangkaian instruksi yang akan dijalankan oleh komputer
secara berurutan. Program komputer dibuat oleh seorang atau beberapa programer
menggunakan bahasa pemrograman tertentu.
Bahasa
pemrograman berdasarkan levelnya dibagi menjadi dua golongan, yaitu bahasa
tingkat rendah (low level language)
dan bahasa tingkat tinggi (high level
language). Bahasa yang dimengerti oleh komputer hanyalah bahasa mesin (machine language) yang merupakan bahasa
tingkat rendah. Karena bahasa mesin sangat sulit dipahami, orang lebih suka
menggunakan bahasa tingkat tinggi yang relatif lebih mudah dimengerti untuk
menyusun program komputer. Akan tetapi, bagaimanapun juga program dalam bahasa
tingkat tinggi tersebut tetap harus diterjemahkan ke dalam bahasa mesin agar
dapat dimengerti oleh komputer.
Penerjemahan
(konversi) rangkaian instruksi dalam bahasa tingkat tinggi menjadi instruksi
dalam bahasa mesin memerlukan perangkat lunak yang dikenal dengan istilah
kompiler (compiler) dan interpreter. Kompiler menerjemahkan
program sumber dari bahasa tingkat tinggi ke dalam bahasa mesin. Kode dalam
bahasa mesin hasil penerjemahan ini disebut program objek. Jadi, output dari
proses kompilasi tersebut adalah sebuah program objek.
Interpreter
melakukan hal yang sama dengan kompiler tetapi dengan cara yang sedikit
berbeda. Kompiler menerjemahkan sekalihus seluruh program sumber ke dalam
bahasa mesin, sedangkan interpreter menerjemahkan dan mengeksekusi suatu
instruksi sebelum menerjemahkan dan mengeksekusi instruksi berikutnya.
Interpreter sangat berguna untuk melacak kesalahan penulisan program (debug) karena programer dapat dengan
cepat mengetahui bagian program yang salah dengan melihat pesan kesalahan (error message) yang ditampilkan
interpreter.