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 Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, 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

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.

Aplikasi Hybrid adalah aplikasi mobile yang dibuat menggunakan bahasa pemrograman web dengan bantuan SDK native dari platform Android, iOS, dan lainnya. Jika kita ingin membuat aplikasi mobile yang nantinya bisa berjalan di berbagai platform maka kita bisa memilih aplikasi hybrid.

Supaya lebih jelas contohnya begini.

  • Kita ingin membuat aplikasi kamus yang bisa berjalan di Smartphone Android dan iPhone, maka solusinya kita membuatnya dengan cara hybrid (menggunakan bahasa pemrograman web).

Bahasa Pemrograman yang digunakan

Inilah beberapa bahasa pemrograman yang bisa kita pakai untuk membuat aplikasi hybrid.

  • JavaScript : Bahasa pemrograman Javascript pada tahun lalu menduduki peringkat pertama sebagai bahasa pemrograman yang banyak digunakan oleh para developer web ataupun mobile. Kita bisa membuat aplikasi mobile cross platform dengan bantuan framework javascript seperti ReactNative dan NativeScript.

  • Dart : Google lah yang mengembangkan bahasa pemrograman ini. Dart bisa kita pakai untuk membuat aplikasi berbasis web dan mobile. Untuk mobile sendiri Dart bisa digunakan untuk pengembangan aplikasi android dan ios dengan bantuan flutter.

  • HTML dan CSS : Digunakan untuk membangun UI/ UX aplikasi hybrid.

Tools untuk Membuat Aplikasi Hybrid

  • Ionic : Salah satu framework yang bisa membantu kita untuk merancang aplikasi hybrid menggunakan AngularJS, HTML5, dan CSS. Beberapa komponen yang tersedia pada ionic yaitu : button, card, form, tabs, dan lain sebagainya.

  • Cordova/ Phonegap : Cordova memiliki fungsi yang sama seperti ionic. Adobe adalah perusahaan Induk dari Cordova. Kita memerlukan JDK dan juga ADT untuk mengembangkan aplikasi mobile menggunakan Cordova.

  • Xamarin : Adalah tools yang bisa kita gunakan untuk membuat aplikasi lintas platform menggunakan bahasa pemrograman C#.

  • Flutter : Ini adalah framework yang cukup populer dan didukung oleh Google. Dengan Flutter kita bisa membuat mobile app berbasis Android dan iOS menggunakan bahasa pemrograman Dart.

Kekurangan dan Kelebihan

Beberapa kelebihan dan kekurangan dari Aplikasi Hybrid yaitu :


Materi cukup kalian baca dengan seksama atau mau dicatat juga boleh. Jangan malas untuk membaca atau mencatat ya...

Ada tugas untuk kalian. Klik tombol dibawah ini