Compiler Adalah : Cara Kerja, Fungsi dan Contohnya!

Compiler Adalah : Cara Kerja, Fungsi dan Contohnya!
Avatar for Titis Nur Pratomo
  • September 12, 2023

Compiler adalah hal yang sangat penting yang perlu diketahui dan dipahami oleh setiap pengembang web. Kompiler memungkinkan pemrogram memberikan instruksi komputer yang mudah dimengerti. Jika Anda ingin menjadi seorang programmer, Anda harus memiliki pemahaman menyeluruh tentang alat yang satu ini sehingga Anda dapat meningkatkan kualitas penulisan kode Anda dan bekerja lebih efektif dengan program komputer. 

Apa Itu Compiler?

Compiler adalah program khusus yang menerjemahkan source code bahasa pemrograman kedalam machine code, bytecode atau bahasa pemrograman lain. Source code biasanya ditulis dalam bahasa tingkat tinggi yang dapat dibaca manusia seperti Java atau C++. seorang programmer menulis source code dalam code editor dan menyimpan source code ke satu atau lebih file text. Compiler mendukung bahasa pemrograman untuk membaca, menganalisa, dan menerjemahkannya kedalam format yang sesuai untuk platform target.

Compiler yang menerjemahkan source code ke machine code menargetkan sistem operasi dan arsitektur komputer tertentu. Jenis output ini terkadang disebut sebagai object code. Beberapa compiler dapat menerjemahkan source code ke bytecode alih – alih machine code. Bytecode, adalah bahasa perantara yang dapat dijalankan pada platform sistem apapun yang menjalankan Java Virtual Machine (JVM) atau bytecode interpreter. 

Lalu, apa bedanya dengan interpreter? Interpreter adalah jenis program komputer yang digunakan untuk mengubah pernyataan program tingkat tinggi menjadi kode mesin. Baik interpreter maupun kompiler mengubah program tingkat tinggi menjadi kode mesin; Namun, interpreter mengkonversi kode ketika program dijalankan, sementara kompiler mengkonversi kode sebelum program dijalankan. Selanjutnya, kompiler paling cocok untuk bahasa pemrograman C dan C ++, sementara interpreter lebih baik untuk lingkungan web yang membutuhkan waktu muat cepat.

Baca Juga:   Mengenal Apa itu DNS Server

Cara Kerja Compiler

Proses kompilasi kode melibatkan beberapa tahapan. Compiler menganalisis kode sumber dan memecahnya menjadi instruksi individual yang dapat dipahami komputer. Dengan kata lain, compiler mengubah kode program yang dapat dibaca manusia menjadi nol dan satu.

1. Analisis Leksikal

Tahapan pertama, compiler melakukan analisis leksikal dimana ia memecah source code menjadi urutan token yang mewakili elemen individual dari program seperti keywords, operators, dan identifiers.

2. Analisis Sintaksis dan Semantik

Selanjutnya, compiler melakukan analisis sintaksis. Pada fase ini, ia memeriksa source code untuk setiap kesalahan sintaks dan memastikan bahwa ia mengikuti aturan dan konvensi khusus bahasa yang benar. Jika terjadi kesalahan, compiler melempar kesalahan dan menghentikan kompilasi.

Setelah kode secara sintaksis sudah benar, compiler melakukan analisis semantik pada kode yang diuraikan untuk menemukan artinya. Compiler memeriksa logical error seperti ketidakcocokan jenis, variabel yang tidak dideklarasikan, dan penggunaan operation yang salah.

3. Optimasi

Setelah compiler berhasil mengurai dan memeriksa source code untuk mengetahui adanya errors, ia menjalankan pengoptimalan tingkat rendah pada kode untuk meningkatkan kinerjanya. Ini dapat melibatkan pengurangan jumlah memori yang digunakan program atau mengoptimalkan kode untuk kecepatan dengan mengatur ulang instruksi atau menghilangkan operasi yang tidak perlu.

4. Pembuatan Kode

Tahapan terakhir adalah pembuatan kode, dimana compiler menerjemahkan source code menjadi kode yang dapat dibaca mesin. Code generator membuat assembly language code, yang kemudian akan diterjemahkan menjadi kode biner yang dapat dibaca oleh komputer.

Fungsi Compiler

Secara umum, tujuan kompiler adalah agar komputer dapat mengeksekusi kode program yang ditulis oleh pemrogram. Lihat beberapa fungsi compiler untuk detailnya:

  • Kurangi risiko kesalahan program dengan memeriksa kesalahan sintaksis atau logika dalam kode sumber program Anda. 
  • Untuk mengubah kode sumber suatu program menjadi bentuk kode mesin yang lebih efisien untuk dijalankan di komputer. 
  • Menyediakan fitur debugging yang membantu pemrogram menemukan dan memperbaiki bug dalam program komputer. 
  • Mendukung pengembangan perangkat lunak lintas platform. Kompiler mengubah program menjadi kode mesin lain sehingga dapat dijalankan pada platform lain. 
  • Mempercepat proses kompilasi menggunakan teknik kompilasi inkremental yang hanya mengubah bagian kode yang diubah. 
  • Meningkatkan kinerja program komputer dengan mengoptimalkan keluaran instruksi bahasa mesin. 
  • Pastikan keamanan program dengan memvalidasi kode untuk kerentanan.
Baca Juga:   Apa itu Incognito? Pengertian, Fungsi, & Cara Menggunakannya

Jenis-Jenis Compiler

Cross Compiler

Program yang dikompilasi berjalan pada komputer yang memiliki sistem operasi atau CPU yang berbeda dari yang dijalankan compiler. Ini mampu membuat kode untuk platform selain yang dijalankan compiler.

Source to Source Compiler

Jenis compiler ini juga dikenal sebagai transcompiler. Ini menerjemahkan source code yang ditulis dalam satu bahasa pemrograman ke dalam source code pemrograman lain

Just In Time (JIT) Compiler

Compiler ini adalah compiler yang menunda kompilasi hingga runtime. Compiler ini digunakan untuk bahasa seperti Python dan JavaScript, dan umumnya berjalan didalam interpreter.

Bytecode Compiler

Compiler ini digunakan untuk bahasa pemrograman Python dan java untuk mengkompilasi source code untuk merakit machine language teoretis, seperti bahasa Prolog yang digunakan dalam kecerdasan buatan (AI) dan linguistik komputasi. Bahasa tersebut digunakan untuk berbagai aplikasi seperti pembuktian teorema, perencanaan otomatis, dan type systems.

Hardware Compiler

Hardware compiler juga disebut sintetic tool, memerlukan input dalam hardware description language dan menawarkan output dalam bentuk konfigurasi hardware. Biasanya, hardware compiler digunakan untuk perangkat keras komputer tingkat rendah seperti application specific integrated circuits (ASIC) atau field programming gate array (FPGA).

Binary Compiler

Compiler ini menerima file biner sebagai input, menerapkan optimasi dan transformasi, serta memberikan output dalam bentuk biner yang dapat dieksekusi. File biner berisi data biner yang dapat ditafsirkan oleh CPU. binary compiler membuat file yang da

Contoh Compiler

Sebuah sistem komputer mungkin memiliki banyak kompiler yang mampu berjalan dalam berbagai bahasa tingkat tinggi. Beberapa compiler yang banyak digunakan adalah:

  • C – Tiny C Compiler, Turbo C,  Clang, GCC, Portable C Compiler
  • C++ – GCC, Dev C++, Clang, Code Black, Intel C++ 
  • JAVA – Eclipse IDE, IntelliJ IDEA,  BlueJ, NetBeans, JDeveloper 
  • Kotlin – Eclipse IDE, IntelliJ IDEA
  • Python – CPython, Wing, JPython, Spyder
  • JavaScript – Atom IDE,  WebStorm, Komodo Edit, Visual Studio Code
Baca Juga:   Pengertian Server dan Jenisnya

Tertarik Menggunakan VPS teknologi terbaik dari Nevacloud?

Compiler adalah perangkat lunak yang mengubah kode bahasa tingkat tinggi menjadi kode mesin yang dapat dijalankan di komputer dan perangkat serupa. Hal ini memungkinkan pengembang untuk menulis kode dalam bahasa pemrograman tingkat tinggi, memastikan kode mereka benar dan efisien, dan mengembangkan perangkat lunak untuk berbagai platform dan arsitektur. Memahami kompiler sangat penting bagi pemrogram yang ingin mengembangkan perangkat lunak yang efisien, andal, dan terukur.

Hasil akhir dari proses kompilasi dapat berupa aplikasi desktop, mobile, atau bahkan web. Jika itu aplikasi web, jangan lupa untuk menguploadnya ke server VPS Anda agar dapat diakses oleh banyak orang. Namun perhatikan terlebih dahulu kualitas VPS yang Anda gunakan.

Tidak perlu bingung untuk mencari VPS dengan teknologi terbaik namun dengan harga yang ramah di kantong. Nevacloud menyediakan layanan VPS murah terbaik yang sesuai dengan beragam kebutuhan anda. Yuk kunjungi Nevacloud dan dapatkan VPS terbaikmu sekarang juga!

Avatar for Titis Nur Pratomo

About Author

Titis Nur Pratomo

SEO Specialist at Deneva | Helping Increase Business Visibility in Search Engine | SEO & WordPress Enthusiast