Selasa, 29 Maret 2011

Interpreter VS Compiler

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.


Compiler adalah program sistem yang juga berfungsi sebagai penterjemah kode program ke dalam bahasa mesin agar bisa dijalankan oleh mesin. Perbedaannya dengan interpreter adalah compiler mengeksekusi seluruh instruksi dalam program sekaligus.


Perbedaannya secara terperinci :

  • 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 compilernya.
  • 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.
Contoh bahasa pemrograman yang menggunakan compiler adalah Visual Basic, Fortran, Cobol, Pascal, C, dlsb. Sedangkan yang menggunakan interpreter yaitu PHP, ASP, Perl, Python (nih sejenis ular apa bahasa pemrograman ? haha), dlsb.

Tidak ada komentar:

Posting Komentar