Interpreter dan Compiler
INTERPRETER adalah perangkat lunak yang mampu mengeksekusi
code program (yang ditulis oleh Programmer) lalu diterjemahkan ke dalam
bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh Programmer tersebut.
Perintah-perintah yang dibuat oleh Programmer tersebut dieksekusi baris demi
baris, sambil mengikuti logika yang terdapat di dalam kode tersebut. Proses ini
sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung
berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses
penterjemahan dilaksanakan sebelum program tersebut dieksekusi.COMPILER sendiri adalah program sistem yang digunakan sebagai alat bantu dalam pemrogaman. Perangkat lunak yang melakukan proses penterjemahan code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin dilaksanakan dengan proses Assembler yang berbeda.
Perbedaan antara
COMPILER dengan INTERPRETER :
1. Jika hendak
menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode
sumber. Kalau interpreter butuh kode sumber.
sumber. Kalau interpreter butuh kode sumber.
2. Jika dengan kompiler,
maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam
2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode
objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode
objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
3. JIka compiler
membutuhkan linker untuk menggabungkan kode objek dengan berbagai
macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau
interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam
library.
macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau
interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam
library.
4. Interpreter cocok
untuk membuat / menguji coba modul ( sub-routine / program-program
kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil,
maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library
yang diperlukan.
kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil,
maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library
yang diperlukan.
5. Pada kompiler bisa
dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan.
Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi
untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa
dioptimasikan.
Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi
untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa
dioptimasikan.
Author by : Marwan Saputra
