15 Perbedaan Antara Assembler, Compiler Dan Interpreter

Pada komputer konvensional, penerjemahan program atau kode sumber menjadi objek / kode mesin dilakukan dengan berbagai metode yang meliputi assembler, compiler dan interpreter. Di bawah ini adalah detail mendasar tentang perbedaannya satu sama lain.

Yang Perlu Anda Ketahui Tentang Assembler

Assembler adalah program yang mengambil instruksi atau instruksi komputer dasar dan kemudian mengubahnya menjadi pola bit yang dapat digunakan prosesor komputer untuk melakukan operasi dasarnya. Biasanya, bahasa yang digunakan untuk memprogram assembler disebut sebagai bahasa assembly . Assembler mengubah kode sumber menjadi kode objek terlebih dahulu kemudian mengubah kode objek ke bahasa mesin dengan bantuan program linker.

Detail Tentang Assembler

  1. Assembler mengubah kode sumber yang ditulis dalam bahasa assembly menjadi kode mesin dan kemudian kode mesin tersebut dijalankan oleh komputer.
  2. Assembler mengubah bahasa assembly menjadi bahasa mesin sekaligus.
  3. Ini mengubah kode sumber menjadi objek terlebih dahulu kemudian mengubah kode objek ke bahasa mesin dengan program linker.
  4. Masukan ke assembler adalah kode bahasa assembly.
  5. GAS, GNU adalah contoh assembler.
  6. Pada output assembler adalah kode mesin yang dapat ditemukan kembali yang dihasilkan oleh assembler diwakili oleh kode biner.
  7. Assembler tidak dapat mengubah seluruh kode menjadi bahasa mesin sekaligus.
  8. Assembler kurang cerdas dibandingkan compiler.
  9. Assembler membuat dua fase di atas input yang diberikan fase pertama dan fase kedua.
  10. Sulit untuk men-debug.

Yang Perlu Anda Ketahui Tentang Complier

Complier adalah program komputer yang mengubah kode sumber yang ditulis dalam bahasa pemrograman menjadi bahasa mesin dan kemudian mengeksekusinya. Biasanya, Penyusun membutuhkan waktu karena mereka harus menerjemahkan kode tingkat tinggi ke bahasa mesin tingkat rendah sekaligus dan kemudian menyimpan kode objek yang dapat dieksekusi ke memori. Juga di kompiler, setelah konversi semua kode sekaligus laporan kesalahan untuk seluruh program dibuat.

Kompiler dapat diklasifikasikan berdasarkan fungsi apa yang dijalankannya atau bagaimana ia dibangun. Compiler dapat diklasifikasikan sebagai single-pass, load-and-go, debugging, multi-pass dan optimization.

Kompilasi dilakukan dalam tahapan berikut : penganalisis leksikal, penganalisis sintaks, penganalisis semantik, penghasil kode menengah, pengoptimal kode, tabel simbol, dan penanganan kesalahan.

Detail Tentang Kompiler

  1. Complier mengubah kode program bahasa tingkat tinggi menjadi bahasa mesin dan kemudian mengeksekusinya. Bahasa tingkat tinggi adalah C dan C #
  2. Complier memindai seluruh program terlebih dahulu sebelum menerjemahkan ke dalam kode mesin.
  3. Complier mengambil seluruh program sebagai masukan.
  4. Kode objek perantara dibuat dalam kasus compiler.
  5. Compiler membutuhkan waktu eksekusi yang lebih sedikit jika dibandingkan dengan interpreter.
  6. Contoh Complier termasuk C, COBOL, C #, C ++, dll
  7. Kompiler membutuhkan lebih banyak memori daripada interpreter.
  8. Jika Anda kebetulan membuat modifikasi dalam program, Anda harus mengkompilasi ulang seluruh program, yaitu memindai seluruh program setiap kali setelah modifikasi.
  9. Kompiler lebih cepat jika dibandingkan dengan interpreter.
  10. Biasanya tidak perlu mengkompilasi program setiap kali (jika tidak diubah) pada waktu eksekusi.
  11. Kompilator memberi Anda daftar semua kesalahan setelah kompilasi seluruh program.
  12. Kompilator mengubah seluruh program menjadi kode mesin ketika semua kesalahan dihapus, eksekusi terjadi.
  13. Kompilator lambat untuk debugging karena kesalahan ditampilkan setelah seluruh program diperiksa.
  14. Kode assembly yang dihasilkan oleh compiler adalah kode mesin versi mnemonik.

Yang Perlu Anda Ketahui Tentang Interpreter

Interpreter adalah program komputer yang menerjemahkan instruksi tingkat tinggi ke dalam bentuk perantara dan kemudian mengubah kode perantara itu ke dalam bahasa mesin dan; melakukan tindakan tertentu. Interpreter sering kali digunakan dalam alat pengembangan perangkat lunak sebagai alat debugging karena mereka dapat mengeksekusi satu kode dalam satu waktu. Dalam bahasa Java, compiler dan interpreter bekerja sama untuk menghasilkan kode mesin.

Detail Tentang Interpreter

  1. Interpreter mengubah kode sumber menjadi bentuk perantara dan kemudian mengubah kode perantara itu menjadi bahasa mesin. Kode perantara terlihat sama dengan kode assembler.
  2. Interpreter memindai dan menerjemahkan baris demi baris program ke kode mesin yang setara.
  3. Interpreter menggunakan instruksi tunggal sebagai masukan.
  4. Dalam kasus juru bahasa, Tidak ada kode objek perantara yang dibuat.
  5. Interpreter membutuhkan lebih banyak waktu eksekusi jika dibandingkan dengan compiler.
  6. Contoh Interpreter termasuk Python, Perl, VB, PostScript, LISP dll.
  7. Interpreter membutuhkan lebih sedikit memori jika dibandingkan dengan compiler.
  8. Jika Anda membuat modifikasi dan jika baris tersebut belum dipindai maka tidak perlu mengkompilasi ulang seluruh program.
  9. Interpreter lebih lambat jika dibandingkan dengan kompilator.
  10. Setiap program waktu dipindai dan diterjemahkan pada waktu eksekusi.
  11. Interpreter menghentikan terjemahan pada saat pembuatan kesalahan dan akan melanjutkan ketika kesalahan diselesaikan.
  12. Setiap kali program dijalankan; setiap baris diperiksa kesalahannya dan kemudian diubah menjadi kode mesin yang setara.
  13. Interpreter bagus untuk debugging cepat. Seorang juru bahasa terus menerjemahkan program sampai kesalahan pertama tiba, dalam hal ini berhenti.
  14. Pada keluaran assembler adalah kode mesin yang dapat ditemukan kembali yang dihasilkan oleh assembler yang diwakili oleh kode biner.

Perbedaan Antara Assembler, Compiler Dan Interpreter Dalam Bentuk Tabel

DASAR PERBANDINGAN ASSEMBLER COMPILER
Konversi Assembler mengubah kode assembly menjadi kode mesin. Kompilator mengubah kode sumber yang ditulis oleh pemrogram ke bahasa tingkat mesin.
Memasukkan Assembler memasukkan kode sumber. Input penyusun adalah kode sumber yang telah diproses sebelumnya.
Hasil Keluaran assembler adalah kode biner. Output dari compiler adalah versi mnemonic dari kode mesin.
Contoh GAS
GNU
C
C #
Java
C ++
Debugging Debugging itu sulit. Debugging itu mudah.
Kerja Assembler mengubah kode sumber menjadi kode objek terlebih dahulu kemudian mengubah kode objek ke bahasa mesin dengan bantuan program linker. Complier memindai seluruh program terlebih dahulu sebelum menerjemahkan ke dalam kode mesin.
Intelijen Assembler kurang cerdas dibandingkan kompiler. Compiler lebih pintar dari assembler.
Fase Kerja Assembler membuat pekerjaan dalam dua tahap di atas input yang diberikan. Tahapan tersebut adalah:
Fase Pertama Fase
Kedua
Tahapan kompilasi adalah:
Penganalisis leksikal Penganalisis
sintaks Penganalisis
semantik
Pengoptimal
kode Generator kode
Penangan kesalahan

 

DASAR PERBANDINGAN COMPLIER INTERPRETER
Fungsi Kompilator mengubah kode program bahasa tingkat tinggi menjadi bahasa mesin dan kemudian mengeksekusinya. Interpreter mengubah kode sumber menjadi bentuk perantara dan kemudian mengubah kode perantara itu menjadi bahasa mesin
Memindai Complier memindai seluruh program terlebih dahulu sebelum menerjemahkan ke dalam kode mesin. Interpreter memindai dan menerjemahkan baris demi baris program ke kode mesin yang setara.
Kerja Kompilator mengambil seluruh program sebagai masukan. Interpreter menggunakan instruksi tunggal sebagai masukan.
Pembuatan Kode Kode objek perantara dibuat dalam kasus compiler. Dalam kasus juru bahasa, Tidak ada kode objek perantara yang dibuat.
Waktu pelaksanaan Compiler membutuhkan waktu eksekusi yang lebih sedikit jika dibandingkan dengan interpreter. Interpreter membutuhkan lebih banyak waktu eksekusi jika dibandingkan dengan compiler.
Contoh C
COBOL
C #
C ++, dll
 Python
Perl
VB
PostScript
LISP dll.
Persyaratan Memori Kompiler membutuhkan lebih banyak memori daripada interpreter. Interpreter membutuhkan lebih sedikit memori jika dibandingkan dengan compiler.
Modifikasi Jika Anda kebetulan membuat modifikasi dalam program, Anda harus mengkompilasi ulang seluruh program, yaitu memindai seluruh program setiap kali setelah modifikasi. Jika Anda membuat modifikasi dan jika baris tersebut belum dipindai maka tidak perlu mengkompilasi ulang seluruh program.
Kecepatan Kompiler lebih cepat jika dibandingkan dengan interpreter. Interpreter lebih lambat jika dibandingkan dengan kompilator.
Saat Eksekusi Biasanya tidak perlu mengkompilasi program setiap kali (jika tidak diubah) pada waktu eksekusi. Setiap program waktu dipindai dan diterjemahkan pada waktu eksekusi.
Deteksi Kesalahan Kompilator memberi Anda daftar semua kesalahan setelah kompilasi seluruh program. Interpreter menghentikan terjemahan pada saat pembuatan kesalahan dan akan melanjutkan ketika kesalahan diselesaikan.
Kode Mesin Kompilator mengubah seluruh program menjadi kode mesin ketika semua kesalahan dihapus, eksekusi terjadi. Setiap kali program dijalankan; setiap baris diperiksa kesalahannya dan kemudian diubah menjadi kode mesin yang setara.
Debugging Kompilator lambat untuk debugging karena kesalahan ditampilkan setelah seluruh program diperiksa. Interpreter bagus untuk debugging cepat.
Versi Kode Kode assembly yang dihasilkan oleh compiler adalah kode mesin versi mnemonik. Pada keluaran assembler adalah kode mesin yang dapat ditemukan kembali yang dihasilkan oleh assembler yang diwakili oleh kode biner.

 

Related Posts