Compiler dan Interpreter

Penjelasan Compiler dan Interpreter

Ada dua cara untuk menterjemahkan source code yang sudah kita buat kedalam bahasa mesin agar agar bisa di jalankan di komputer. Ada source code yang kita compile dengan sesuatu yang namanya compiler ada juga yang kita terjemahkan atau Interpretasi menggunakan Interpreter.

Sebetulnya kita tidak perlu khawatir akan ke dua hal ini. karena masing-masing bahasa pemograman sudah melakukan cara untuk al tersebut dan pada umumnya dilakukannya secara otomatis atau berjalan secara otomatis. Akan tetapi alangkah baiknya kita mengetahui cara kerja atau metode bahasa pemograman yang kita gunakan ini.

Kita akan bahas dulu apa itu Compiler dan apa itu Interpreter dilihat dari cara kerjanya

Apa Itu Compiler ?

Compiler adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain. (Wikipedia)

Terlepas dari pengertiannya yang demikian relatif luas dari wikipedia tersebut, istilah Compiler biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa PascalC++BASICFORTRANVisual BasicVisual C#JavaxBase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara

Bagaimana Cara Kerja Compiler ?

Cara kerja Compiler

Misalkan Ada si A dan si B, si A ini membuat program untuk diberikan kepada si B. Setelah si A selesai ngoding dan sudah mencobanya di laptopnya sendiri, sekarang si A akan memberikan program hasil buatannya itu kepada si B. Tetapi sebelum memberikan program yang dibuatnya kepada si B, si A ini harus mengcompile terlebih dahulu sebelum programnya dikasih ke si B. Karena kalau tidak tidak di compile programnya tidak akan berjalan di laptop si B. jadi source code nya arus di compile terlebi dahulu menggunakan compiler dan hasil dari compile nya akan menghasilkan file baru, dan file inilah yang akan diberikan ke si B. Hasil Compilenya biasanya dinamakan file executable atau program yang sudah bisa di eksekusi atau kalian pasti sering melihat file yang berekstensi .exe.

Setela program executable nya diberikan ke si B, si B tinggal instal dan menjalankan promnya. jadi tidak perlu memiliki compiler dan source codenya tetap ada di si A, si B tidak akan perna melihat source code nya. mudah-mudahan penjelsan nya ngga bikin bingung yah.

Apa Itu Intepreter ?

perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman. (Wikipedia)

dari pengertiannya yang relatif luas dari wikipedia tersebut, istilah Interpreter biasa digunakan untuk bahasa pemograman Web Based seperti JavaScript.

Bagaimana Cara Kerja Interpreter ?

Cara kerja Interpreter

Ilustrasi nya kita mabil saja dari kasus compiler di atas. dimana si A membuat source code (program) untuk si B, tetapi kali ini si A akan menduplikat source code nya untuk diberikan kepada si B. nanti si B harus menggunakan Interpreter untuk menerjemahkan source code/program dari si A, lalu si B akan menjalankan interpreternya sekaligus menjalankan programnya. jadi Interpreter ini berjalan real time pada saat menjalankan source code nya baris per baris

Contoh yang sering kita alami walaupun kita belum pernah ngoding misalnya ketika kita membuka sebuah website di browser kesayangan kita. Hampir semua website di jaman modern ini sudah memiliki code javascript didalamnya . ketika sebuah website kita akses, sebenernya ada interpreter didalam web browser yang berguna untuk menerjemahkan javascript

jadi itulah definisi, cara kerja dan perbedaan antara Compiler dan Interpreter

Lebih Baik Compiler Atau Interpreter ?

Untuk membandingan mana yang lebih antara keduanya. mari simak kelebihan dan kekurangannya masing masing

Kelebihan compiler :

  • Siap untuk dijalankan
  • Programnya lebih cepat
  • source code nya cenderung lebih aman

Kelemahan Compiler :

  • Tidak lintas platform

Maksudnya adalah program yang sudah di buat si A tadi tidak bisa multiple operating system (OS), atau tidak support untuk bisa berjalan di berbagai macam OS. Karena source code yang si A compile itu hanya bisa berjalan sesuai dengan OS yang si A gunakan. Bahkan ketika Prosessor si A dan si B berbeda, ada kemungkinan programnya tidak bisa berjalan di komputer si B

  • Tidak Fleksible

Karena ketika kita melakukan kesalahan, kita arus mengcompile ulang kembali source code nya dan mengintal ulang file executable nya di komputer lain

Kelebihan Interpreter:

  • Lintas Platform
  • Fleksible
  • Mudah untuk di uji

Kekurangan Interpreter :

  • Butuh Interpreter

Ketika akan menjalankan programnya, user membutuhkan Interpreter. Seperti contohnya untuk JavaScript ini. User membutuhkan web browser untuk bisa menjalankan program yang sudah dibuat menggunakan JavaScript

  • Lebih lambat

Kenapa lebih lambat ? karena seperti penjelasan di atas, source code nya perlu di interpretasikan/di terjemahkan terlebih dahulu sebelum program itu berjalan. walaupun proses interpretasi nya berjalan secara otomatis

  • source code mudah di akses

Karena yang kita diberikan ke user adala source code, jadi source code nya mudah di askses oleh orang lain tanpa kita ketahui

Untuk kesimpulannya silahkan lihat tabel berikut ini

Compiler Vs Interpreter

Dan ada pula bahasa pemograman yang menggabungkan Compiler dan Interpreter ini. Namanya adalah Hybrid atau sering juga disebut Intermediate Language. Jadi Hybrid ini menggabungkan kelebihan Compiler dan kelebihan Interpreter

Untuk Hybrid sendiri tidak akan saya bahas di tulisan kali ini, karena sesuai dengan judulnya, kita hanya membahas Compiler dan Interpreter. Jadi itu saja yang bisa share kali ini. Mudah-mudahan mudah dimengerti dan bermanfaat untuk kita semua.

“keep coding, and stay feel hungry” 🙂

Share Artikel Ini Kuy