Perbedaan Compiler dan Interpreter – ketika kamu menulis kode program atau source code, kemudian menjalankannya, maka akan terjadi proses konversi.
Proses konversi tersebut dibedakan menjadi dua, yaitu compile dan interpret. Untuk mengubah source code menjadi kode mesin, kita memerlukan kedua proses konversi tersebut. Nah, pada artikel kali ini, kita akan membahas mengenai perbedaan compiler dan interpreter.
Pengertian Compiler
Compiler adalah penerjemah bahasa yang mengubah program tingkat tinggi menjadi kode mesin yang bisa dimengerti oleh mesin. Dalam proses ini, compiler mengubah seluruh program menjadi kode mesin pada suatu waktu. Jika ada kesalahan sintaksis atau semantik, kompilator akan menunjukkan pesan error dan mengharuskan untuk memperbaikinya terlebih dulu.
Untuk lebih jelas memahami apa itu compiler, silahkan baca terlebih dahulu pengertian compiler.
Pengertian Interpreter
Interpreter juga menerjemahkan bahasa yang mengubah program tingkat tinggi menjadi kode mesin. Tidak seperti compiler, interpreter mengkonversi kode sumber ke kode mesin baris demi baris. Waktu pemindaian relatif lebih rendah, namun waktu eksekusi keseluruhan lebih tinggi.
Untuk lebih jelas memahami apa itu interpreter, silahkan baca terlebih dahulu pengertian interpreter.
Perbedaan Compiler dan Interpreter
Berikut ini adalah beberapa perbedaan mendasar antara compiler dan interpreter yang dapat membantu kamu memahami lebih dalam. Simak perbedaannya pada tabel dibawah ini.
Compiler | Interpreter | |
---|---|---|
Penggunaan | Source code telah dikonversi menjadi machine code. Sehingga waktu eksekusi program akan lebih singkat. | Lebih mudah digunakan untuk pemula yang baru belajar. |
Hasil keluaran | Menghasilkan program luaran atau berkas executable. Contoh nya seperti .exe yang dapat dijalankan secara independen. | Tidak menghasilkan program luaran atau berkas executable. Jika ingin menjalankan program, maka harus melibatkan source code secara langsung selama proses eksekusi. |
Efektivitas | Hasil kompilasi dari source code akan berjalan lebih cepat. | Berjalan lebih lambat ketika di eksekusi. |
Platform | Spesifik ke platform tertentu, misal hasil kompilasi berupa berkas .exe tidak dapat dijalankan di Mac begitu pula sebaliknya. | Cross platform. Bisa dijalankan di banyak platform asalkan memiliki interpreter yang sesuai. |
Alur pembacaan | Apabila terdapat kesalahan penulisan kode, maka compiler akan menampilkan pesan eror. Selain itu, program tidak akan berjalan atau tidak menghasilkan berkas executable apabila kesalahan kodenya belum diperbaiki. Misalnya ada kode salah di baris ke-5, maka harus diperbaiki dulu agar program bisa berjalan. | Membaca satu per-satu baris kode yang ada. Jika terdapat kode yang salah maka interpreter akan menampilkan pesan eror dan harus diperbaiki untuk melanjutkan eksekusi baris selanjutnya. Misalnya terdapat eror baris ke-5, maka masih bisa berjalan karena baris pertama sampai keempat tidak ada eror. |
Bahasa pemrograman | Bahasa pemrograman yang memerlukan compiler seperti C, C#, C++, Swift, Java. | Bahasa pemrograman yang memerlukan interpreter seperti Javascript, Python, PHP, Ruby. |