Bertahun tahun pemrograman bahasa tingkat tinggi (high level
languange-HLL) telah dikenal luar di lingkungan pemrograman komputer karena
kemudahan dalam pembuatannya. Beberapa tahun terakhir ada dua faktor yang
menjadi perhatian dalam pengembangan program, yaitu : protabilitas dan
pemeliharaan program. Seperti diketahui komputer tidak ‘mengenal’ HLL, sehingga
diperlukan suatu konversi ke dalam bahasa mesin.
Compiler adalah suatu program yang melakukan proses translasi dari
HLL ke dalam bahasa mesin di komputer. Disamping program translasi, compiler
juga mempunyai beberapa fungsi penting, seperti diagnostik, contohnya kemampuan
pendeteksian error/kesalahan. Pelannggaran spesifikasi HLL akan terdeteksi dan
dilaporkan kepada programmer oleh compiler agar seger diperbaiki hingga
mempermudah pembentukan machine language equivalent.
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.
compiler dan interpreter:
Mereka berdua sama seperti mereka mencapai tujuan yang sama, tetapi inheren berbeda tentang bagaimana mereka mencapai tujuan itu. Kode dikompilasi mengambil program (source) ditulis dalam beberapa jenis bahasa pemrograman, dan kemudian akhirnya menerjemahkannya ke dalam kode obyek atau bahasa mesin. Kode dikompilasi melakukan pekerjaan jauh lebih efisien, karena menghasilkan program bahasa mesin lengkap, yang kemudian dapat dieksekusi. Penafsir menerjemahkan instruksi satu per satu waktu, dan kemudian mengeksekusi instruksi tersebut segera. Compiler sendiri merupakan program komputer yang ditulis biasanya dalam beberapa implementasi bahasa.
Mereka berdua sama seperti mereka mencapai tujuan yang sama, tetapi inheren berbeda tentang bagaimana mereka mencapai tujuan itu. Kode dikompilasi mengambil program (source) ditulis dalam beberapa jenis bahasa pemrograman, dan kemudian akhirnya menerjemahkannya ke dalam kode obyek atau bahasa mesin. Kode dikompilasi melakukan pekerjaan jauh lebih efisien, karena menghasilkan program bahasa mesin lengkap, yang kemudian dapat dieksekusi. Penafsir menerjemahkan instruksi satu per satu waktu, dan kemudian mengeksekusi instruksi tersebut segera. Compiler sendiri merupakan program komputer yang ditulis biasanya dalam beberapa implementasi bahasa.
Bagaimana penerjemah berbeda:
Compiler menerjemahkan kode sorce sekaligus.
Interpreter menerjemahkan kode sumber satu baris seluruh pada suatu waktu.
Assembler adalah program utilitas yang digunakan untuk menerjemahkan pernyataan bahasa assembly ke dalam kode mesin komputer target
Perbedaan
COMPILER Dengan 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.
Sedangkan 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.
Untuk lebih jelas
mengenai perbedaan antara Interpreter dengan Compiler, ada baiknya saya
jelaskan lebih terperinci mengenai dua hal ini.
Perbedaan antara
Compiler dengan Interpreter :
1. Jika hendak
menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode 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.
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.
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.
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
Tidak ada komentar:
Posting Komentar