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:
- Compiler membantumu memperdalam pemahaman tentang bahasa semantik
- Memungkinkan struktur internal dibuat di memori
- Compiler memeriksa seluruh program untuk menghindari kesalahan sintaks dan semantik
- Membantu kamu menerjemahkan seluruh program ke dalam bahasa lain
- Teknik yang digunakan untuk membuat compiler bisa digunakan di program lain
- Waktu eksekusi relatif cepat, mempersingkat waktu pengerjaan
- Memungkinkan untuk membuat file di hard drive
- Compiler memeriksa seluruh program untuk menghindari kesalahan sintaks dan semantik
- Bisa dijalankan di mesin manapun, meskipun bukan di tempat pembuatannya
- 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!
Rekomendasi Bacaan:
- 5 Cara Mempercepat Jaringan Wifi agar WFH Tetap Aman
- 5 Rekomendasi Coworking Space Bandung yang Nyaman
- 7 Situs Free Footage Terbaik dan Terlengkap untuk Konten Video
Sumber:
- geeksforgeeks.org
- techopedia.com