·
Pengertian Compiler
Compiler adalah suatu program yang menerjemahkan
bahasa program ( source code) kedalam bahasa objek (obyek code). Compiler
menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian
menyusunnya kembali.
Komplier 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. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
Komplier 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. Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
Tahap Kompilasi:
- Pertama source code (program yang ditulis) dibaca kememori computer).
- Source code tersebut diubah menjadi objek code (bahasa Assembly).
- Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.
·
Pengertian 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.
PERBEDAAN
ANTARA COMPILER DAN INTERPRETER
- Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber.
- Jika dengan compiler, 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 (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.
- Pada compiler 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.
- Interpreter menterjemahkan baris per baris. Sedangkan compiler, menterjemahkan seluruh instruksi sekaligus. Selanjutnya hasil terjemahan (setelah melalui tahapan lain) bisa dijalankan secara langsung, tanpa tergantung lagi oleh program sumber atau compiler-nya.
- Pada interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara kaidah dalam program. Sedangkan 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 kaidah sama sekali.
- Pada interpreter, kecepatannya menjadi lambat sebab sebelum suatu instruksi dijalankan selalu harus diterjemahkan terlebih dahulu. Selain itu, saat program dieksekusi, interpreter juga harus selalu berada dalam memori. Jadi memori selalu digunakan baik untuk program maupun interpreter. Sedangkan pada compiler, proses eksekusi dapat berjalan dengan cepat, sebab tak ada lagi proses penerjemahan.
- Pada interpreter, kode program tidak dapat dirahasiakan. Sedangkan pada compiler, kode program bisa dirahasiakan, sebab yang dieksekusi adalah program yang dalam bentuk kode mesin.
Tidak ada komentar:
Posting Komentar