Compiler vs interpreter
a.
Compiler
Compiler adalah suatu program yang menerjemahkan bahasa
program (source code) kedalam bahasa objek (obyek code). Compiler
juga berfungsi sebagai penterjemah kode program ke dalam bahasa
mesin agar bisa dijalankan oleh mesin. Compiler memerlukan waktu
untuk membuat suatu program dapat di eksekusi oleh computer,
program yang dieksekusi oleh compiler adalah dapat berjalan lebih
cepat disbanding program yang diperoduksi oleh interpreter, disamping
itu juga bersifat independen.
Tahap compiler :
1. Source code (program yang ditulis) dibaca ke memori computer.
2. Source code tersebut diubah menjadi objek code (bahasa
assembly).
3. Objek code di hubungkan dengan liberary yang dibutuhkan untuk
membentuk file yang bisa dieksekusi.
b. Interpreter
Interpreter adalah Perangkat lunak yang mampu mengeksekusi
code program (yang ditulis oleh programmer) lalu menterjemahkannya
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. Interpreter atau dalam bahasa Indonesia dikenal sebagai
Juru bahasa berbeda dengan translator atau penterjemah dalam segi
media yang dipakai untuk menerjemahkan. Interpreter akan
menterjemahkan bahasa sumber ke dalam bahasa sasaran secara
langsung atau orally, sementara translator akan menerjemahkan
bahasa sumber ke bahasa sasaran secara tertulis. Java dijalankan
menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini
menyebabkan source code Java yang telah dikompilasi menjadi Java
bytecodes dapat dijalankan pada platform yang berbeda-beda.
c. Perbedaan compiler dengan interpreter
Jika hendak menjalankan program hasil kompilasi dapat dilakukan
tanpa butuh kode sumber. Kalau interpreter butuh kode sumber.
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.
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.
Interpreter cocok untuk membuat / menguji coba modul ( subroutine / program-program kecil ). Maka compiler agak repot karena
Input
panjang, lebar
Luas
5*3
15
Stop
2. Pseudocode
Start
Input
panjang, lebar, tinggi
Luas
5*4*2
40
Stop
\
2. Pseudocode
Start
Input panjang, lebar, tinggi
Set myAnswer 5*4*2
Output 40
Stop
c. Menghitung gaji
1. Flowchart
Start
Input
Gaji, Total penjualan
barang, komisi
Gaji bersih
Rp. 13.000.000,00 +
(10*50.000,00)
Hasil
Rp. 13.500.000,00
Stop
2. Pseudocode
Start
Input Gaji , total penjualan barang, komisi
Set myAnswer Rp. 13.000.000,00 + (10*50.000,00)
Output Rp. 13.500.000,00
Stop
Compiler adalah program sistem yang juga berfungsi sebagai penterjemah kode program ke
atau compilernya.
pada compiler, proses pembuatan dan pengujian membutuhkan waktu relatif lebih lama, sebab
ada waktu untuk mengkompilasi (menerjemahkan) dan ada pula waktu untuk melakukan proses
linking. Program akan berhasil dikompilasi hanya jika program tak mengandung kesalahan secara
penerjemahan.
pada compiler, kode program bisa dirahasiakan, sebab yang dieksekusi adalah program yang
Interpreter adalah program sistem yang berfungsi sebagai penterjemah kode program yang
dibuat oleh programmer ke dalam bahasa mesin.
Interpreter mengeksesusi perintah baris demi baris dengan mengikuti logika yang ada.
Pada interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun
selalu berada dalam memori. Jadi memori selalu digunakan baik untuk program maupun interpreter.
Pada interpreter, kode program tidak dapat dirahasiakan.
Contoh bahasa pemrograman yang menggunakan interpreter yaitu PHP, ASP, Perl, dan msh byk
lagi.