Published on

Expert's Corner

Compiler: Pengertian, fase, manfaat, bedanya dengan interpreter, dan 4 contohnya

Anissa Trisdianty

H1_Compiler__Pengertian__fase__manfaat__bedanya_dengan_Interpreter__dan_4_contohnya.jpg

Apakah kamu pernah membayangkan bagaimana cara komputer atau laptop menerjemahkan instruksi dari manusia? Sebenarnya, bahasa manusia atau HLL (High Level Language) tidak bisa langsung bisa dicerna oleh perangkat paling cerdas sekalipun. Untuk dapat berkomunikasi, developer membutuhkan compiler dan interpreter yang bisa mengubah HLL menjadi bahasa mesin.

Baca juga: 12 Bahasa Pemrograman Yang Paling Relevan Untuk Dipelajari 2021

Apa itu compiler?


Compiler adalah program untuk menerjemahkan bahasa instruksi ke bahasa mesin (sumber: pexels)

Bagi sebagian orang, istilah compiler memang tidak begitu familiar. Tapi bagi mereka yang berkutat di bidang pemrograman, istilah ini sudah bukan lagi kosa kata baru. Dikutip dari techopedia.com, compiler atau dalam bahasa Indonesia disebut kompilator merupakan sebuah program yang digunakan untuk menerjemahkan source code yang dibuat oleh programmer menjadi bahasa mesin. Compiler melakukan penggabungan semua bahasa program, lalu menyusunnya kembali menjadi berkas atau file executable yang bisa dicerna oleh prosesor contohnya file .exe.

Baca juga: 7 Tips Belajar Programming Untuk Kamu Yang Pemula

Fase-fase dalam compiler


Compiler memiliki dua fase utama yaitu Fase Analisis dan Fase Sintesis (sumber: commons.wikimedia.org)

Menurut geeksforgeeks.org, ada dua fase utama dalam compiler, yang pada setiap fasenya terbagi atas tahap tertentu. Masing-masing fase mengambil hasil dari output level sebelumnya dan saling terhubung.

1. Fase analisis

Di fase analisis ini, perantara dibuat dari kode sumber berikut:

  • Lexical analyzer berfungsi membagi program menjadi “token”
  • Syntax analyzer berfungsi mengenali “kalimat” dalam program menggunakan sintaks bahasa
  • Semantic analyzer berfungsi menganalisa semantik statis dari setiap konstruksi
  • Intermediate code generator berfungsi menghasilkan kode “abstrak

2. Fase sintesis

Dalam fase sintesis ini, program target yang setara dihasilkan dari representasi setara. Fase ini memiliki dua bagian utama:

  • Code optimizer berfungsi mengoptimalkan kode abstrak
  • Code generator berfungsi menerjemahkan kode perantara abstrak ke dalam instruksi mesin tertentu

Baca juga: 9 Tips Mudah Belajar Coding Untuk Pemula

Manfaat menggunakan compiler


Compiler memiliki banyak manfaat untuk memudahkan kinerja komputasi  (sumber: pexels)

Selain menerjemahkan source code menjadi bahasa yang mudah dieksekusi oleh mesin, compiler memiliki manfaat lain sebagai berikut:

  1. Compiler membantumu memperdalam pemahaman tentang bahasa semantik
  2. Memungkinkan struktur internal dibuat di memori
  3. Compiler memeriksa seluruh program untuk menghindari kesalahan sintaks dan semantik
  4. Membantu kamu menerjemahkan seluruh program ke dalam bahasa lain
  5. Teknik yang digunakan untuk membuat compiler bisa digunakan di program lain
  6. Waktu eksekusi relatif cepat, mempersingkat waktu pengerjaan
  7. Memungkinkan untuk membuat file di hard drive
  8. Compiler memeriksa seluruh program untuk menghindari kesalahan sintaks dan semantik
  9. Bisa dijalankan di mesin manapun, meskipun bukan di tempat pembuatannya
  10. Bisa digunakan untuk memeriksa kesalahan pada tipe data

Baca juga: Belajar Coding Tidak Harus Jadi Programmer

Bedanya compiler dengan interpreter


Compiler dan Interpreter memiliki perbedaan dalam mengeksekusi instruksi (sumber: pexels)

Baik compiler atau interpreter sama-sama menerjemah bahasa HLL (High Level Language) ke dalam bahasa mesin. Namun, keduanya memiliki beberapa perbedaan dalam mengeksekusi perintah.

  • Compiler

Pada compiler, kode sumber akan dikonversi menjadi machine code (membuat berkas executable) sebelum program tersebut dijalankan.

  • Interpreter

Interpreter mengonversi source code menjadi machine code secara langsung ketika program dijalankan.

Perbedaan lebih rinci bisa dilihat melalui tabel geeksforgeeks.org berikut:

Compiler Interpreter
Compiler memindai seluruh program sekaligus Menerjemahkan program per baris pada satu waktu
Saat memindai kode sekaligus, jika terdapat kesalahan ditampilkan di bagian akhir Karena memindai kode per baris, maka kesalahan ditampilkan baris demi baris
Keuntungan utama compiler adalah waktu eksekusinya Karena Interpreter cenderung lambat dalam mengeksekusi kode objek, maka kurang disukai
Mengubah kode sumber menjadi kode objek Tidak mengubah kode sumber menjadi kode objek, melainkan memindai baris demi baris
Tidak memerlukan kode sumber untuk eksekusi berikutnya Membutuhkan kode sumber untuk eksekusi berikutnya

Baca juga: 6 Manfaat Coding Untuk Masa Depanmu

4 Contoh compiler


Compiler memiliki beberapa program sesuai dengan fungsi tertentu (sumber: pexels)

1. Visual Basic

Visual Basic (VB) merupakan pemrograman generasi ketiga dari Microsoft. Sistem ini memungkinkan seorang programmer untuk menggunakan Graphical User Interface/GUI untuk memilih dan memodifikasi bagian kode terpilih dari bahasa pemrograman dasar.

2. C+

C++ merupakan kompiler multiple pass yang dirancang dengan orientasi terhadap pemrograman sistem. C+ ini tertanam pada perangkat lunak yang terbatas sumber daya dan sistem besar, dengan kinerja, efisiensi, dan fleksibilitas penggunaan sebagai sorotan desainnya.

3. Pascal

Pascal merupakan bahasa pemrograman imperatif dan prosedural. Pascal dirancang untuk mendorong praktik pemrograman yang baik menggunakan program terstruktur dan penataan data.

4. Fortran

Fortran termasuk bahasa pemrograman imperatif yang sangat cocok untuk komputasi numerik dan komputasi ilmiah. Bahasa pemrograman ini sudah diaplikasikan selama lebih dari enam dekade di bidang komputasi intensif seperti prediksi cuaca numerik, analisis elemen, dinamika fluida komputasi, geofisika, fisika komputasi, kristalografi, dan kimia komputasi.

Baca juga: Coding Adalah: Pengertian, Manfaat Dan Cara Mulai Belajar Coding

Nah, bagaimana tertarik untuk mempelajari lebih lanjut tentang compiler atau dunia pemrograman?

Di EKRUT Media, kamu bisa menemukan banyak varian artikel yang bisa menambah insight soal dunia digital, media, dan pemrograman. Jika kamu merasa memiliki skills programming yang mumpuni dan siap bekerja, segera daftarkan dirimu di situs talent marketplace seperti EKRUT. Yuk, daftar sekarang di EKRUT!

Bagi kamu yang masih maju mundur menentukan untuk berkarir di dunia pemrograman, mungkin kamu bisa tonton video ini. Semoga menginspirasi, ya!

sign up EKRUT

Rekomendasi Bacaan:

Sumber:

  • geeksforgeeks.org
  • techopedia.com

Tags

Share

Apakah Kamu Sedang Mencari Pekerjaan?

    Already have an account? Login

    Artikel Terkait

    pexels-steve-johnson-13078553.jpg

    Technology

    Animasi: Pengertian, Manfaat, Jenis, dan Contohnya

    Tio Derma

    21 September 2022
    8 min read
    H1.PNG

    Technology

    Apa Itu Twibbonize? Berikut Fungsi dan Panduan Membuatnya 2022

    Mentari Nurmalia

    20 September 2022
    5 min read
    H1.PNG

    Technology

    Apa Itu NoSQL? Berikut Jenis, Bedanya dengan SQL, dan 5 Kelebihannya!

    Mentari Nurmalia

    20 September 2022
    5 min read

    Video