dibimbing.id - Compiler Adalah: Pengertian, Fungsi, Fase, Jenis, & Contoh

Compiler Adalah: Pengertian, Fungsi, Fase, Jenis, & Contoh

Siti Khadijah Azzukhruf Firdausi

•

30 January 2024

•

593

Image Banner

Dalam web development, pemahaman tentang compiler adalah kunci utama untuk membuat situs yang berkinerja tinggi dan efisien. Pasalnya, compiler adalah program yang bisa mengubah skrip dalam bahasa pemrograman menjadi kode mesin.


Dengan compiler, situs akan berjalan dengan lancar di berbagai perangkat. Pelajari lengkapnya di bawah ini!


Apa yang Dimaksud dengan Compiler?


Secara garis besar, compiler adalah sebuah program yang memiliki peran sebagai penerjemah. Tujuannya adalah untuk memastikan perintah dalam bahasa pemrograman bisa diubah dan dijalankan oleh prosesor komputer.


Compiler menerjemahkan skrip yang ditulis oleh programmer dalam bahasa pemrograman menjadi kode mesin. Kode mesin adalah bahasa yang bisa dipahami dan dijalankan oleh komputer. 


Pada intinya, compiler memungkinkan programmer untuk menulis perintah dengan cara mudah dan aksesibel. Lalu, compiler juga memastikan skripnya bisa berjalan baik di perangkat komputer.


Apa Fungsi Utama dari Compiler?


Compiler adalah program yang memainkan peran penting dalam development. Berikut adalah beberapa fungsi utamanya:


1. Menerjemahkan Kode


Pertama, fungsi complier adalah untuk menerjemahkan skrip dari bahasa pemrograman menjadi kode mesin yang bisa dijalankan komputer. Hal tersebut membuat programmer dapat menulis kode dalam bahasa yang lebih mudah.


2. Mengoptimasi Kode


Berikutnya, fungsi complier adalah untuk mengoptimasi kode. Artinya, complier bisa memperbaiki dan mengubah kode agar lebih efisien.


Optimasi tersebut mencakup pengurangan waktu eksekusi program, penggunaan memori, atau identifikasi bagian kode yang redundan. Dengan begitu, program bisa dijalankan dengan lebih cepat dan efisien.


3.  Mendeteksi dan Penanganan Kesalahan


Terakhir, fungsinya adalah untuk mendeteksi dan penanganan kesalahan. Selama proses kompilasi, complier juga bertugas untuk memeriksa kesalahan dalam kode sumber.


Kesalahan tersebut bisa berkaitan dengan sintaks, semantik, atau kesalahan logis lainnya. Dengan compiler, kesalahan bisa terdeteksi. 


Compiler juga akan membantu identifikasi dan memperbaiki masalah tersebut. Oleh sebab itu, compiler juga mempermudah proses debugging.


Baca Juga: 10 Langkah Praktis Cara Belajar Coding Pemula




Fase-Fase dalam Compiler


Ada dua tahap dalam compiling yang dilakukan oleh compiler. Tahapan tersebut meliputi fase analisis dan sintesis. Berikut adalah penjelasannya:


1. Fase Analisis


Pertama, fase compiler adalah analisis. Fase analisis seringkali disebut sebagai front-end dari compiler. Hal ini mencakup pemecahan dan pemeriksaan kode sumber guna pahami struktur maknanya.


Tujuan dari fase analisis adalah untuk memastikan bahwa kode sumber mengikuti aturan bahasa pemrograman secara sintaksis dan semantik. Selain itu, fase ini seringkali menangani deteksi dan pelaporan kesalahan dalam kode sumber.


Fase Analisis terpecah menjadi beberapa sub-fase sebagai berikut:

  • Analisis Leksikal: Fase ini memecah teks kode sumber menjadi token. Token adalah unit dasar yang membentuk bahasa. Contohnya adalah kata kunci, operator, literal, dan pengenal.

  • Analisis Sintaksis: Fase ini melakukan analisis sintaksis setelah token dibentuk. Hal ini mencakup pengaturan token-token ke dalam struktur pohon yang menunjukkan hirarki gramatikal. Tujuannya adalah untuk memahami elemen kode terkait.

  • Analisis Semantik: Fase ini adalah tahapan saat compiler memeriksa makna dan logika kode. 


2. Fase Sintesis


Kedua adalah fase sintesis. Fase ini merupakan back-end dari complier. Pada tahapan ini, kode output akan dihasilkan dan dioptimasi. Hal ini mencakup:


  • Generasi Kode Intermediate: Tahapan ini mengubah struktur teranalisis menjadi bentuk kode perantara. Pada tahap ini, kode sudah mulai dekat ke machine code tapi masih abstrak.

  • Optimasi Kode: Tahapan ini berfokus pada peningkatan efisiensi kode intermediate. Mulai dari segi waktu eksekusi hingga penggunaan sumber daya.

  • Generasi Kode Target: Fase ini melibatkan konversi kode intermediate menjadi machine code untuk platform atau hardware target. Ini merupakan tahap akhir di mana output siap dijalankan.


Jenis-Jenis Compiler


Compiler dapat diklasifikasikan berdasarkan beberapa kriteria. Hal tersebut mencakup bahasa pemrograman yang didukung, platform target, dan metodologi kompilasi. Berikut adalah beberapa jenisnya yang umum:


1. Language-Specific Compilers


Pertama, jenis compiler adalah language-specific yang dirancang untuk bahasa pemrograman tertentu. Contoh bahasanya adalah C, C++, Java, atau Python. 


Karena mereka memiliki fitur dan struktur sintaksis unik, maka compiler khusus dibutuhkan untuk menerjemahkannya.


Baca Juga: Front End Developer VS UI/UX, Apa Perbedaannya?


2. Cross-Compilers


Berikutnya adalah cross-compilers. Jenis ini digunakan untuk mengkompilasi kode bagi platform atau arsitektur yang berbeda dari sistem tempat complier dijalankan.


Jenis ini bisa digunakan pada pengembangan aplikasi untuk sistem atau hardware yang berbeda dari komputer developer.


3. Source-to-Source Compilers (Transpillers)


Lalu, jenis compiler adalah source-to-source yang mengubah kode dari satu bahasa pemrograman ke yang lainnya. Hal ini biasa digunakan dalam web development. Contohnya mengubah TypeScript ke JavaScript.


4. Bootstrap Compilers


Setelah itu, jenis lainnya adalah bootstrap compiler. Ini merupakan compiler dengan bahasa pemrograman sama seperti yang ingin dikompilasi.


5. Hardware Compilers


Terakhir, jenis compiler adalah hardware. Ini digunakan untuk kompilasi deskripsi bahasa rangkaian elektronik ke dalam bentuk yang dapat diimplementasikan pada hardware


Contoh hardware-nya adalah FPGA (Field-Programmable Gate Array) atau ASIC (Application-Specific Integrated Circuit).


Contoh Compiler


Ada beberapa contoh compiler yang bisa digunakan dalam berbagai bahasa pemrograman dan platform. Berikut adalah beberapa contohnya:


1. GCC (GNU Compiler Collection)


Pertama adalah GCC atau GNU Compiler Collection yang sangat populer. Compiler ini populer karena ia mendukung banyak bahasa pemrograman.


Beberapa bahasa pemrograman yang didukung adalah C, C++, Objective-C, Fortran, Ada, dan GO. Hal ini digunakan di berbagai sistem operasi seperti Linux dan Unix.


Baca Juga: 12 Langkah Praktis Cara Menjadi Web Developer


2. Clang


Berikutnya, contoh compiler adalah Clang. Compiler ini sering digunakan sebagai bagian dari LLVM(Low Level Virtual Machine) project


Clang adalah compiler untuk bahasa C, C++, Objective-C. Selain itu, Clang juga dikenal dengan kecepatan kompilasinya.


3. Microsoft Visual C++ Compiler


Terakhir adalah Microsoft Visual C++ Compiler. Ini merupakan bagian dari Visual Studio yang digunakan dalam pengembangan software untuk Windows.


Demikian pembahasan mengenai compiler yang mencakup pengertian hingga contohnya. Dapat disimpulkan bahwa compiler adalah program untuk mengubah instruksi menjadi kode yang dapat dipahami oleh komputer.


Dalam web development, compiler juga juga membantu dalam optimasi dan debugging kode JavaScript atau bahasa lain yang digunakan.


Selain pemahaman soal compiler, ada keterampilan lain yang harus dikuasai dalam web development. Bagi Sobat MinDi yang tertarik untuk mempelajarinya, MinDi rekomendasikan kamu untuk ikut Bootcamp Frontend Web Development Dibimbing.


Program ini cocok banget buat kamu yang baru mulai atau mau beralih karir. Di sini, kamu bakal dibimbing sampai jadi! Mulai dari pembelajaran yang beginner-friendly hingga praktik dengan real-case project.


Yuk, segera gabung dan bangun karir yang lebih baik bersama Dibimbing.id!



Share

Author Image

Siti Khadijah Azzukhruf Firdausi

Khadijah adalah SEO Content Writer di Dibimbing dengan pengalaman menulis konten selama kurang lebih setahun. Sebagai lulusan Bahasa dan Sastra Inggris yang berminat tinggi di digital marketing, Khadijah aktif berbagi pandangan tentang industri ini. Berbagai topik yang dieksplorasinya mencakup digital marketing, project management, data science, web development, dan career preparation.

Hi!👋

Kalau kamu butuh bantuan,

hubungi kami via WhatsApp ya!