Apa Itu Compiler? Fungsi, Jenis, Fase dan Contoh

Apa Itu Compiler? Fungsi, Jenis, Fase dan Contoh

Suatu web tercipta karena terdapat kode-kode khusus yang disusun. Kemudian, bagaimana kode-kode tersebut diubah menjadi website yang biasa kita gunakan? Tools yang digunakan untuk mengubah kode tersebut adalah Compiler.

Compiler adalah tool penting dalam pengembangan aplikasi dan program komputer. Dengan compiler, perintah dari programmer bisa dijalankan oleh komputer.

Seperti apa cara compiler mengubah kode yang disusun sehingga komputer dapat memahaminya. Baca artikel ini untuk mengetahui apa itu compiler, fungsi, jenis, fase dan contohnya disini!

Apa Itu Compiler?

Compiler adalah sebuah program komputer yang digunakan untuk menerjemahkan kode sumber (source code) program dalam bahasa pemrograman tingkat tinggi (high level language) menjadi kode objek atau bahasa mesin (machine language) yang dimengerti komputer untuk kemudian dieksekusi. Compiler dapat melakukan beberapa langkah cara, seperti analisis sintaksis, analisis semantik, optimasi kode, serta pembuatan kode objek. Compiler dapat digunakan untuk berbagai bahasa pemrograman, seperti C, C++, Java, dan Python.

Fungsi Compiler

Seperti yang sudah dijelaskan sebelumnya bahwa compiler adalah sebuah program komputer yang bisa digunakan untuk menerjemahkan kode sumber (source code) program dalam bahasa pemrograman tingkat tinggi (high level language) menjadi kode objek atau bahasa mesin (machine language) yang dimengerti komputer. Tidak hanya itu, berikut adalah beberapa fungsi dari compiler:

  1. Memeriksa kesalahan sintaks dan semantik
    Compiler memeriksa kesalahan sintaks serta semantik dalam kode sumber untuk mengurangi resiko program yang tidak bekerja dengan baik.

  2. Optimasi Kode
    Compiler melakukan optimasi kepada kode abstrak atau kode antara untuk meningkatkan kinerja program, mengurangi baris kode, serta memperbaiki masalah keamanan.

  3. Meningkatkan Performa Program
    Program yang dibuat dengan memakai compiler mempunyai performa yang lebih tinggi dari program yang terbuat dengan memakai interpreter. Hal ini karena kode mesin yang dihasilkan oleh compiler lebih efisien daripada kode yang dihasilkan oleh interpreter.

  4. Memudahkan Proses Debugging
    Debugging adalah proses untuk menemukan dan memperbaiki kesalahan dalam program. Proses debugging menjadi lebih mudah dengan memakai compiler. Hal ini karena compiler dapat menghasilkan pesan kesalahan yang lebih informatif.

Jenis Compiler

Jenis-jenis compiler yang umum digunakan antara lain:

  1. Cross Compiler
    Compiler ini menghasilkan kode abstrak untuk sistem operasi yang berbeda dari platform induk compiler. Compiler jenis ini sering dipakai untuk membuat cross-platform software.

  2. Native Compiler
    Compiler ini menghasilkan kode mesin yang langsung dapat dijalankan oleh komputer. Compiler jenis ini biasanya digunakan untuk membuat aplikasi desktop ataupun server.

  3. Just-In-Time (JIT) Compiler
    Compiler ini melakukan kompilasi kode pada saat program dijalankan. Compiler jenis ini biasanya digunakan pada bahasa pemrograman yang menggunakan virtual machine, seperti Java dan .NET

  4. Source-to-Source Compiler
    Compiler ini menghasilkan kode sumber dalam bahasa pemrograman lain. Compiler jenis ini biasanya digunakan untuk mengubah kode sumber dari satu bahasa pemrograman ke bahasa pemrograman lain.

  5. Incremental Compiler
    Compiler ini hanya mengompilasi bagian kode yang berubah, sehingga mempercepat proses kompilasi pada program yang besar.Interpreted Compiler
    Compiler ini menerjemahkan kode sumber menjadi kode mesin secara langsung saat program dijalankan. Compiler jenis ini biasanya digunakan pada bahasa pemrograman yang tidak memerlukan kompilasi sebelum program dijalankan, seperti Python.

Fase-fase dalam Compiler

Compiler memiliki dua fase utama, yaitu fase analisis dan fase sintesis. Berikut adalah beberapa fase dalam proses compiler:

  1. Fase Analisis
    Fase analisis melibatkan beberapa tahap, seperti:
    • Penganalisa Leksikal, berfungsi membaca kode sumber dan membagi program dalam bentuk "token".
    • Penganalisa Sintaks, berfungsi mengenali "kalimat" dalam program menggunakan sintaks bahasa.
    • Penganalisa Semantik, berfungsi memeriksa kesalahan semantik dalam kode sumber untuk mengurangi risiko program yang tidak bekerja dengan baik.

  2. Fase Sintesis
    Fase sintesis melibatkan beberapa tahap, seperti:
    • Code Optimizer, befungsi mengoptimalkan kode abstrak yang dihasilkan dari proses, sementara code generator menerjemahkan intermediate code generator menjadi instruksi mesin yang lebih spesifik.
    • Code Generator, berfungsi menerjemahkan kode dari intermediate code generator menjadi instruksi mesin yang spesifik.

Contoh Compiler dalam Bahasa Pemrograman

Berikut adalah beberapa contoh compiler dalam bahasa pemrograman:

  1. C++: GCC (GNU Compiler Collection) dan LLVM adalah contoh compiler untuk bahasa pemrograman C++.
  2. Java: Oracle JDK (Java Development Kit), Open JDK, dan IBM SDK adalah contoh compiler untuk bahasa pemrograman Java.
  3. Python: Python adalah bahasa pemrograman yang umum digunakan untuk membuat aplikasi web dan aplikasi desktop. Compiler untuk Python adalah CPython, Jython, dan PyPy.
  4. Visual Basic: Visual Basic adalah bahasa pemrograman yang umum digunakan untuk membuat aplikasi desktop. Compiler untuk Visual Basic adalah Visual Basic Compiler.
Hubungi via WhatsApp Live Chat