Apakah perbedaan antara "Compiler" dan "Interpreter"?

Apakah Perbedaan Antara “Compiler” dan “Interpreter”?

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.

Tahap Kompilasi:

  1. Pertama source code (program yang ditulis) dibaca kememori 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.

Sedangkan 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 adalah suatu program komputer yang mengubah source code dalam bahasa pemrograman ke dalam bahasa mesin. Penterjemahan source code dengan compiler dilakukan dengan 2 tahapan. Tahap pertama adalah parsing, yaitu pembuatan kode objek. Tahap kedua adalah linking, yaitu penggabungan kode objek dengan library (perpustakaan).

Interpeter adalah suatu program yang metnerjemahkan instruksi dalam bahasa tingkat tinggi ke dalam bahasa tingkat menengah. Pertama, intrepeter akan mengeksekusi source code yang dibuat oleh programmer, kemudian intrepeter menterjemahkan source code tersebut ke dalam bahasa mesin. Setelah source code diterjemahkan, mesin dapat memahami instruksi yang diberikan sehingga mesin akan melakukan instruksi tersebut.

Perbedaan antara compiler dan interpeter adalah sebagai berikut :

  1. Interpreter menterjemahkan baris per baris. Sedangkan compiler, menterjemahkan seluruh instruksi sekaligus. Selanjutnya hasil terjemahan bisa dijalankan secara langsung, tanpa tergantung lagi oleh program sumber atau compilernya.

  2. 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.

  3. Compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Sedangkan interpreter tidak butuh linker untuk menggabungkan kode objek.

  4. Pada interpreter, kode program tidak dapat dirahasiakan. Sedangkan pada compiler, kode program bisa dirahasiakan, sebab yang dieksekusi adalah program yang dalam bentuk kode mesin.

  5. Bahasa pemrograman yang menggunakan compiler adalah Visual Basic, Fortran, Cobol, Pascal, dan C. Sedangkan bahasa pemrograman yang menggunakan interpreter yaitu PHP, ASP, dan Perl.

Compiler dan Interpreter adalah sama mempunyai fungsi untuk mengeksekusi kode program (yang dibuat oleh program) kemudian menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh oleh programmer tersebut.

Seperti yang kita ketahui, mesin misalnya mesin komputer hanya mengenal bilangan biner yang lebih dikenal dengan bahasa mesin. Contohnya adalah “011001011101”. Compiler dan intrepreter sendiri adalah penerjemah dari bahasa bahasa tingkat tinggi (misalnya C++, Java, Visual Basic ) ke bahasa tingkat rendah (bahasa mesin).

Compiler

Compiler


Compiler 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. Jadi jika di dalam program ada error, maka program tersebut sama sekali tidak menghasilkan output. Program hanya menghasilkan output jika keseluruhan kode program telah benar.

Interpreter

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.

Apa perbedaan antara Compiler dan Interpreter?

Berikut saya lampirkan perbedaan antara compiler dan interpreter dalam sebuah tabel yang saya crop dari Ms. Excel, dengan harapan agar dapat lebih dimengerti dan dipahami:

Compiler & Interpreter 1
Compiler & Interpreter 2

:grinning:
Sumber:

Perbedaan Compiler dengan Interpreter
Compiler vs Interpreter
Interpreter dan Compiler