Yuk, Berkenalan dengan Compiler, Pengubah Kode Menjadi Program Komputer

Diperbarui 10 Des 2020 - Dibaca 7 mnt

Isi Artikel

    Sebuah website dibangun atas susunan kode tertentu. Lalu, bagaimana kode tersebut berubah menjadi website yang dapat bekerja dengan baik? Tools yang digunakan para developer untuk mengubahnya adalah compiler.

    Seperti apa cara compiler mengubah kode yang disusun agar dapat dipahami oleh komputer? Apa saja jenis compiler yang bisa digunakan oleh developer?

    Yuk, simak selengkapnya dalam artikel berikut.

    Baca Juga: Apa Itu Bahasa Pemrograman Python?

    Apa Itu Compiler?

    Compiler adalah sebuah program yang digunakan untuk mengonversi kode yang ditulis dalam natural language processing agar dapat dipahami oleh komputer.

    Technopedia menyebut bahwa proses konversi ini sebagai compilating. Pada proses ini, compiler mengeksekusi kode yang menunjukkan kapan sinyal tinggi dan rendah biner diperlukan dalam unit logika aritmatika prosesor.

    Terdapat dua jenis compiler yang umum digunakan oleh web developer.

    • Cross compiler yang berjalan pada mesin ‘A’ dan menghasilkan kode untuk mesin lain ‘B’. Compiler ini mampu membuat kode untuk platform berbeda selain platform yang dijalankan.
    • Source-to-source compiler atau disebut juga transcompiler, yaitu compiler yang menerjemahkan kode sumber yang ditulis dalam satu bahasa pemograman menjadi kode sumber bahasa pemrograman lain.

    Meskipun tugas utama compiler adalah mengonversi kode, ada beberapa tugas lain yang juga dijalankan. Berikut di antaranya.

    • Memecah program sumber menjadi beberapa bagian dan menerapkan struktur tata bahasa padanya.
    • Membangun program target yang diinginkan dari representasi perantara dan membuat tabel simbol.
    • Mengompilasi kode sumber dan mendeteksi kesalahan di dalamnya.
    • Mengelola ruang penyimpanan semua variabel dan kode.
    • Melakukan dukungan untuk kompilasi terpisah.
    • Membaca dan menganalisis seluruh program untuk kemudian diterjemahkan ke dalam padanan semantik.
    • Menerjemahkan kode sumber ke dalam kode objek sesuai dengan jenis mesin yang digunakan.

    Langkah-Langkah Language Processing System

    Sebelum memahami compiler lebih jauh, kamu perlu memahami bagaimana proses hardware memahami sebuah bahasa.

    Hardware dapat memahami sebuah bahasa pemograman yang disebut sebagai high-level programming language (HLL).

    HLL diterapkan pada program yang berisi arahan #define atau #include seperti #include atau #define

    HLL cenderung lebih dekat dengan bahasa manusia namun sulit dimengerti oleh mesin.

    Sehingga, program dengan bahasa ini perlu melalui serangkaian transformasi agar dapat dengan mudah digunakan mesin.

    Di sinilah peran dari language processing system.

    © Geeksforgeeks.com

    Berikut langkah-langkahnya yang dilansir dari Geeks for Geeks.

    1. Pre-processor

    Pada proses pre-processorcompiler akan menghapus semua kode yang berisi arahan #include dengan menambahkan file bernama file inclusion.

    Selain itu, kode dengan arahan #define akan diganti dengan macro expansion.

    Proses ini berhubungan dengan pemrosesan makro, augmentasi, ekstensi bahasa, dan sebagainya.

    Hasil dari proses compiler ini adalah assembly language. Bahasa ini tidak dalam format biner atau HLL.

    Bahasa ini merupakan perantara yang mengombinasikan instruksi mesin dan beberapa data berguna lainnya yang diperlukan untuk langkah selanjutnya.

    2. Assembler

    Setiap platform memiliki assembler. Sayangnya, setiap hardware dan operating system memiliki assembler yang berbeda.

    Assembler menerjemahkan kode dalam assembly language menjadi sebuah bahasa yang dipahami oleh mesin.

    Hasil dari assembler disebut sebagai file objek yang merupakan gabungan dari instruksi mesin serta data yang dibutuhkan untuk menyimpan instruksi tersebut dalam memori.

    3. Interpreter

    Interpreter mengubah HLL menjadi bahasa yang dapat dimengerti oleh mesin.

    Berbeda dengan compiler, interpreter menerjemahkan program satu pernyataan pada satu waktu. Sehingga waktu yang dibutuhkan oleh interpreter jauh lebih lama jika dibandingkan dengan compiler.

    4. Relocatable machine code

    Relocatable machine code bisa dijalankan kapan saja. Alamat dalam program akan terbentuk sedemikian rupa untuk bekerjasama dengan pergerakan program.

    5. Linker

    Linker membantumu menggabungkan berbagai file objek untuk membuat file yang dapat dieksekusi.

    Semua file ini mungkin telah dikompilasi dengan assembler terpisah. Tugas utama linker adalah mencari modul yang dipanggil dalam program dan menemukan lokasi memori tempat semua modul disimpan.

    Baca Juga: Mengenal JavaScript, Bahasa Pemrograman yang Mudah Digunakan

    Fase-Fase dalam Compiler

    © Geeksforgeeks.com

    Berikut adalah dua fase utama yang dilalui dalam proses compiler.

    1. Fase analisis

    Pada fase representasi, perantara dibuat dari kode sumber berikut.

    • Lexical analyzer yang membagi program dalam bentuk “token”.
    • Syntax analyzer, berfungsi mengenali “kalimat” dalam program menggunakan sintaks bahasa
    • Semantic analyzer, bertugas memeriksa semantik statis dari setiap konstruksi.
    • Intermediate code generator, yaitu generator menghasilkan kode “abstrak”.

    2. Fase sintesis

    Ketika memasuki fase sintesis, program target yang setara dibuat dari representasi perantara. Terdapat dua bagian dalam fase ini.

    • Code optimizer, bertugas mengoptimasi kode abstrak yang dihasilkan intermediate code generator.
    • Code generator, yang menerjemahkan kode dari intermediate code generator menjadi instruksi mesin yang spesifik.

    Manfaat Menggunakan Compiler

    Compiler adalah sebuah perangkat yang bermanfaat untuk menerjemahkan kode sehingga program dapat berjalan dengan baik.

    Selain itu, kamu bisa mendapatkan keuntungan-keuntungan berikut ketika menggunakan compiler.

    • Compiler memverifikasi seluruh program, jadi tidak ada kesalahan sintaks atau semantik.
    • File yang dapat dieksekusi dioptimalkan oleh compiler, sehingga dieksekusi lebih cepat.
    • Memungkinkanmu membuat struktur internal dalam memori.
    • Kamu tidak perlu menjalankan program pada mesin yang sama dengan yang dibangunnya.
    • Kamu bisa menerhemahkan seluruh program dalam bahasa lain.
    • Dapat membuat file ke dalam disk.
    • Menautkan file ke dalam format yang dapat dieksekusi.
    • Memeriksa kesalahan sintaks dan tipe data.
    • Membantumu meningkatkan pemahamanmu tentang bahasa semantik.
    • Membantu menangani masalah kinerja bahasa.
    • Teknik yang digunakan untuk membuat compiler dapat digunakan untuk program lain.

    Baca Juga: Kenalan sama Kotlin, Bahasa Pemrograman Android yang Mudah Dipahami

    Itulah informasi lengkap tentang compiler yang harus kamu ketahui. Perannya pun sangatlah penting dalam keberhasil sebuah website diluncurkan.

    Apakah kamu tertarik untuk mengetahui lebih jauh tentang dunia IT? Kamu bisa mendapatkan berbagai artikel IT terbaik lainnya melalui newsletter Glints.

    Setiap minggunya, Glints akan mengirimkan artikel-artikel pilihan langsung ke inbox email kamu.

    Yuk, daftar sekarang untuk dapatkan newsletter mingguan dari Glints!

    Seberapa bermanfaat artikel ini?

    Klik salah satu bintang untuk menilai.

    Nilai rata-rata 4.3 / 5. Jumlah vote: 4

    Belum ada penilaian, jadi yang pertama menilai artikel ini.

    We are sorry that this post was not useful for you!

    Let us improve this post!

    Tell us how we can improve this post?


    Comments are closed.

    Artikel Terkait