Binar Academy – Aplikasi dan situs web tentunya dibuat menggunakan serangkaian kode. Kamu tentu sudah tahu tentang hal ini, bukan? Kode tersebut bisa berubah menjadi aplikasi dan web dengan baik berkat compiler loh. Compiler menjadi tools penting yang digunakan oleh developer.
Lalu, apakah pengertian compiler dan bagaimana cara kerjanya? Simak penjelasan selengkapnya di bawah ini.
Compiler adalah sebuah program khusus yang dipakai untuk melakukan konversi kode ke dalam bentuk natural language processing supaya komputer dapat memahaminya. Proses konversi yang berlangsung ini dikenal dengan istilah compilation.
Dalam proses tersebut, compiler bertugas untuk mengeksekusi kode dan mengubahnya menjadi sinyal biner yang dibutuhkan dalam processor, terutama di unit logika aritmatika (ALU).
Terdapat dua jenis compiler yang umumnya dipakai oleh developer, yaitu:
Di atas sudah disebutkan bahwa compiler bertugas untuk menerjemahkan kode. Namun compiler juga punya tugas lain seperti:
Sebelum membahas lebih jauh tentang compiler, sebaiknya kamu pahami terlebih dahulu bagaimana cara hardware memahami kode atau bahasa pemrograman.
Bahasa pemrograman disebut high level programming language (HLL). Bahasa ini cenderung lebih mudah dipahami manusia karena bahasanya lebih familiar.
Sayangnya, HLL tidak bisa dimengerti oleh komputer atau mesin. Oleh sebab itu diperlukan langkah di bawah ini supaya mesin bisa memahami kode.
Di tahap ini, compiler menghapus semua kode berisi instruksi #include kemudian menambahkan inklusi file. Setelah itu, #define juga digantikan dengan ekspansi makro. Hasil dari proses tersebut dinamakan assembly language. Bahasa ini ada di antara HLL dan biner.
Assembly language adalah perantara yang dapat mengkombinasikan perintah mesin serta beberapa data yang akan berguna di proses berikutnya.
Semua platform hardware memiliki assembler yang berbeda. Fungsi dari assembler adalah mengubah kode assembly language menjadi bahasa mesin.
File yang dihasilkan oleh assembler disebut sebagai file objek. File tersebut adalah hasil gabungan antara instruksi mesin dengan data yang diperlukan untuk menyimpan perintah atau instruksi ke dalam memori.
Interpreter berguna untuk melakukan penerjemahan dari HLL menjadi bahasa mesin. Namun interpreter berbeda dengan compiler. Interpreter memerlukan waktu lebih lama untuk menerjemahkan kode karena prosesnya dilakukan pada satu waktu.
Relocatable machine code dapat dijalankan kapan pun sesuai kebutuhan. Proses ini menghasilkan alamat di dalam program yang akan bekerja sama untuk menggerakkan program.
Linker atau loader berguna untuk menggabungkan semua file objek menjadi satu file yang bisa dieksekusi. Peran linker sangat penting untuk menyatukan file yang dikompilasi oleh assembler.
Linker bertugas untuk menemukan modul, memanggilnya ke dalam program, dan menemukan lokasi untuk menyimpan semua modul tersebut.
Dalam compiler terdapat dua fase utama, yaitu fase analisis dan fase sintesis.
Fase analisis atau representasi, dibuat sebagai perantara dari sumber kode berikut:
Ketika memasuki fase sintesis, target program yang selevel dibuat dari analisis perantara yang terbagi kedalam dua fase.
Selain kegunaan utama untuk menerjemahkan HLL menjadi bahasa mesin dalam pembuatan aplikasi atau web, ada banyak manfaat lain yang bisa dirasakan saat menggunakan compiler, diantaranya:
Kesimpulannya, dengan memahami compiler akan sangat membantu kamu dalam pengembangan aplikasi atau web. Compiler juga menjadi tools penting yang digunakan oleh developer dalam kesehariannya. Setelah mengenal tools ini dengan baik, kamu akan mengembangkan beragam aplikasi dan web dengan lebih efisien. Jadi apakah kamu sudah siap untuk menjadi developer? yuk pelajari terus skill kamu untuk menggunakan tools compiler ini ya!