Interpreter vs Kompiler

Uploaded by ZakaFahmi

January 16, 2023

Interpreter vs Kompiler

 

Bahasa pemrograman adalah sebuah instruksi atau perintah agar komputer menjalankan suatu proses yang kita mau. Bahasa pemrograman memiliki beberapa tingkatan. Dimulai dari tingkat bawah yaitu bahasa mesin, bahasa tingkat rendah, bahasa menengah, dan bahasa tingkat tinggi. Kebanyakan penulisan kode program pada komputer menggunakan bahasa tingkat tinggi yang sama seperti bahasa natural pada manusia. Karena sejatinya komputer hanya mengerti program yang ditulis ke dalam angka 1 dan 0 yang biasa disebut bilangan biner atau bahasa mesin. Untuk memudahkan berkomunikasi dengan komputer, programmer menggunakan kompiler dan interpreter sebagai penerjemah bahasa tingkat tinggi ke bahasa mesin. Lalu apa sih kompiler dan interpreter itu? Apa saja perbedannya? Mana yang lebih bagus? Mari kita bahas.

Pengertian Kompiler

Kompiler 

Kompiler merupakan sebuah alat yang digunakan untuk menerjemahkan source code menjadi sebuah file yang bisa dijalankan oleh komputer atau excecutable. Singkatnya kompiler digunakan untuk menerjemahkan source code yang telah dibuat menjadi sebuah file sendiri dan dapat dijalankan. Namun, file tersebut sudah dalam bentuk yang berbeda dan sudah tidak dalam bentuk kode lagi. 

Kompiler memiliki 2 fase dalam proses penerjamahan atau kompilasi yaitu fase analisis dan fase sintesis

Fase Analisis

Pada fase ini tahap demi tahap kompiler menganalisis kode untuk mengenali kode agar dapat dikompilasi ke dalam sebuah file. Berikut adalah tahap-tahap dalam fase analisis:

1.Lexical Analyzer

   Dalam tahap ini kompiler membagi program dan membentuknya menjadi token

2.Syntax Analyzer

    Selanjutnya kompiler  mengenali kalimat dalam program menggunakan sintaks bahasa yang  

    telah diketahuinya

3.Semantic Analyzer

    Kompiler memeriksa dari semantic statis dan kontruksi yang telah diberikan oleh 

   programmer ke dalam sebuah kode program agar dapat dijalankan sesuai intruksinya

Baca juga :   Transformasi Sumber Daya Melalui Literasi  Teknologi di Sulawesi Tenggara

4.Intermediate Analyzer

    Yang terakhir generator kode pada kompiler akan menghasilkan kode abstrak 

Fase Sintesis

Pada fase sintesis proses kompilai memiliki 2 tahap bagian utama, yaitu:

1.Code optimizer

Pada tahap ini kompiler berfungsi untuk mengoptimalkan kode abstrak yang dihasilkan dari tahap intermediate code generator

2.Code generator

Selanjutnya pada tahap ini, kompiler menerjemahkan kode dari intermediate code generator menjadi perintah dalam bahasa mesin yang lebih spesifik lagi.

Jenis-jenis kompiler

Kompiler memiliki 2 jenis yang umumnya digunakan oleh programmer yaitu cross compiler dan source-to-source.

Cross Compiler

Kompiler jenis ini membuat kode yang dikompilasi dapat dijalankan di berbagai platform, artinya kode yang dijalankan di komputer A dapat dijalankan pada komputer B.

Source to source

Source to source atau transcompiler, merupakan kompiler yang menerjemahkan kode sumber yang ditulis ke dalam satu bahasa pemrograman ke bahasa pemrograman yang lain.

 

Tugas Kompiler

Selain untuk menerjemahkan bahasa pemrograman tingkat tinggi ke dalam bahasa mesin, ada beberapa tugas lain yang dijalankan oleh kompiler, di antaranya :

*Memecah kode sumber menjadi beberapa bagian dan menerapkan struktur bahasa pada kode 

  sumber

*Kompilasi kode pada program dan mendeteksi kesalahan pada kode

*Mengelola ruang penyimpanan dari semua variable dan semua kode yang terdapat di program

*Menerjemakan kode sumber ke dalam objek sesuai dengan jenis mesin yang digunakan pada

  komputer

 

Manfaat Kompiler 

 

Kompiler memiliki beberapa manfaat yang dapat kita memudahkan programmer dalam membuat program. Berikut adalah manfaat kompiler :

 

*Dapat membuat file dan memasukkan ke dalam disk

*Memeriksa kesalah pada sintaks dan tipe data pada kode sumber

*File pada kode sumber dioptimalkan oleh kompiler dan dieksekusi secara cepat

Baca juga :   AI dalam Kehidupan Sehari-hari: Solusi Masa Depan atau Ancaman Baru?

*Bisa menerjemahkan kode sumber ke dalam bahasa pemrograman yang lain

*Memabantu programmer dalam meningkatkan  pemahaman terhadap bahasa semantic

*Membantu programmer untuk mengangani masalah kinerja pada bahasa pemrograman

*Membuat struktur internal pada memori

*Bisa menjalakan kode sumber pada mesin yang berbeda

Bahasa Pemrograman Yang Menggunakan Kompiler

Berikut adalah bahasa pemrograman yang menggunakan kompiler sebagai penerjemah 

  • Bahasa Pemrograman C++
  • Bahasa Pemrograman C
  • Bahasa Pemrograman Fortran
  • Bahasa Pemrograman Cobol
  • Bahasa Pemrograman Pascal
  • Bahasa Pemrograman Objective-C

 

Kelebihan dan Kekurangan

Apapun yang ada di dunia pasti memiliki kelebihan dan kekurangan, termasuk juga kompiler.

Berikut kelebihan dan kekurangan pada kompiler:

  • Siap untuk dijalankan
  • Lebih cepat
  • Kode sumber tidak terlihat

 

Kekurangan

  • Tidak lintas platform
  • Tidak fleksibel
  • Langkah tambahan

 

Interpreter 

Interpreter adalah sebuah program untuk menerjemahkan kode bahasa pemrograman yang ditulis ke bahasa tingkat tinggi ke dalam bahasa mesin. Namun, interpreter tidak mengubah kode sumber menjadi kode abstrak. Ketika melakukan penerjemahan interpreter menggunakan beberapa strategi, yaitu:

1.Melakukan eksekusi secara langsung terhadap kode sumber bahasa pemrograman

2.Melakukan eksekusi kepada  kode yang sudah dikompilasi sebelumnya oleh kompiler di mana kode tersebut merupakan termasuk ke dalam system penerjemah

3.Menerjemahkan kode sumber ke dalam p-code dan selanjutnya kode akan dieksekusi

 

Bahasa  Yang Menggunakan Interpreter

Berikut adalah bahasa pemrograman yang termasuk ke dalam bahasa pemrograman berbasis interpreter :

  • Bahasa Pemrograman Javascript
  • Bahasa Pemrograman PHP
  • Bahasa Pemrograman Java
  • Bahasa Pemrograman Ruby
  • Bahasa Pemrograman PERL

Kelebihan dan Kekurangan

Berikut adalah kelebihan dan kekurangan dari interperter

Kelebihan

  • Lintas Platform
  • Fleksibel
  • Mudah untuk diuji

Kekurangan

  • Butuh Interpreter
  • Lebih lambat
  • Source code mudah diakses

Perbedaan Kompiler dan Interpreter

Baca juga :   BANJIR RAWAN TERJADI, INDONESIA PERLU PERAN TEKNOLOGI 

Kompiler

  • Membaca seluruh kode kemudian menerjemahkan menjadi bahasa mesin
  • Membutuhkan waktu yang lebih banyak untuk menganalisa
  • Menghasilkan intermediate object code dan lebih banyak memerlukan memory
  • Dapat menjalankan sebuah program tanpa kode sumber, karena telah dikompilasi menjadi sebuah file

Interpreter

  • Menerjemahkan kode sumber untuk 1 statement dalam 1 waktu
  • Membutuhkan waktu yang sedikit untuk menganalisa
  • Tidak ada intermediate object yang dihasilkan
  • Butuh kode sumber untuk menjalankan program

Kesimpulan

Kompiler dan interpreter sama-sama bagus untuk digunakan, karena akan memudahkan programmer dalam membuat program di mana ke dua alat tersebut memiliki fitur-fitur yang membantu programmer. Ke duanya tidak ada yang lebih bagu. sama-sama memiliki kelebihan dan kekurangan. Bagus atau tidaknya tergantung kebutuhan kita, ingin membuat program seperti apa baru nanti disesuaikan.

Karya : Rama

Email : rama21010ti@student.nurulfikri.ac.id

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *