Mengenal Apa itu Compiler Secara Lengkap dan Perbedaannya Dengan Interpreter
Pernahkah Anda bertanya-tanya, bagaimana cara komputer menerjemahkan instruksi manusia?
Program komputer merupakan serangkaian instruksi yang ditulis dalam bentuk code untuk melakukan suatu fungsi spesifik pada komputer. Umumnya, penulisan program komputer ditulis menggunakan High Level Language (HLL) atau bahasa manusia.
Namun, sejatinya program komputer tidak bisa langsung mencerna bahasa manusia tersebut. Komputer hanya memahami program yang ditulis dalam angka 0 dan 1 dalam biner, yang disebut dengan kode mesin. Maka dari itu, agar dapat berkomunikasi, developer membutuhkan compiler dan interpreter untuk mengubah HLL menjadi bahasa mesin.
Nah, apa itu compiler? Apa perbedaan compiler dengan interpreter? Yuk, simak penjelasan berikut.
Apa itu Compiler dan Apa Perbedaannya Dengan Interpreter
Mengenal Apa itu Compiler
Apa itu compiler? Compiler atau kompilator adalah program komputer yang digunakan untuk menerjemahkan source code yang dibuat oleh programmer, menjadi bahasa mesin. Sederhananya, compiler ini berfungsi untuk menerjemahkan source code menjadi file yang dapat dijalankan komputer. Program ini akan menggabungkan semua bahasa pemrograman, kemudian menyusunnya kembali menjadi file executable yang bisa diserap oleh prosesor, seperti file .exe.
Compiler memiliki dua fase utama, yaitu fase yang pertama fase analisis dan fase kedua fase sintesis.
Fase Analisis
- Lexical analyzer berfungsi membagi program dalam bentuk “token”;
- Syntax analyzer berfungsi mengenali “kalimat” dalam program menggunakan sintaks bahasa;
- Semantic analyzer memeriksa semantik statis dari setiap konstruksi;
- Intermediate code generator berfungsi menghasilkan kode “abstrak”.
Fase Sintesis
- Code optimizer berfungsi mengoptimasi kode abstrak yang dihasilkan code generator;
- Code generator menerjemahkan kode dari intermediate code generator menjadi instruksi mesin yang spesifik.
Manfaat Compiler
Selain menerjemahkan source code, compiler juga memiliki beberapa manfaat lainnya, yaitu :
- Compiler memverifikasi seluruh program, sehingga tidak ada kesalahan sintaks atau semantik;
- Memungkinkan membuat struktur internal dalam memori;
- Teknik membuat compiler dapat digunakan di program lain;
- Waktu pengerjaan jauh lebih singkat karena waktu eksekusi relatif cepat;
- Membantu menerjemahkan seluruh program ke dalam bahasa lain;
- Dapat membuat file di hard drive;
- Meningkatkan pemahaman tentang bahasa semantik.
Perbedaan Compiler dengan Interpreter
Meskipun sama-sama bermanfaat untuk menerjemahkan bahasa HLL ke dalam bahasa mesin. Namun, dalam eksekusi perintah keduanya memiliki beberapa perbedaan.
Pada compiler, kode sumber akan dikonversi menjadi machine code sebelum program tersebut dijalankan. Sementara, interpreter mengkonversi source code menjadi machine code secara langsung ketika program dijalankan.
Berikut beberapa perbedaan lain antara compiler dan interpreter :
Compiler
- Memindai seluruh program dan menerjemahkannya secara keseluruhan ke dalam machine code.
- Membutuhkan banyak waktu untuk menganalisis kode sumber, namun waktu eksekusi relatif cepat.
- Membutuhkan lebih banyak memori, karena menghasilkan kode objek menengah yang membutuhkan tautan lebih lanjut.
- Menampilkan kesalahan hanya setelah memindai seluruh program;
Interpreter
- Menerjemahkan satu pernyataan satu per satu.
- Membutuhkan sedikit waktu untuk menganalisis kode sumber, namun waktu eksekusi lebih lambat.
- Memori lebih efisien karena tidak ada kode objek.
- Terus menerjemahkan program sampai kesalahan pertama terpenuhi. Dengan begitu debugging mudah dilakukan.
Baca Juga: 6 Manfaat Coding yang Perlu di Ketahui Oleh Programmer Untuk Perkembangan Karir
[fusion_builder_container hundred_percent=”no” hundred_percent_height=”no” hundred_percent_height_scroll=”no” hundred_percent_height_center_content=”yes” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” status=”published” publish_date=”” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” enable_mobile=”no” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” video_preview_image=”” border_size=”” border_color=”” border_style=”solid” margin_top=”” margin_bottom=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=””][fusion_builder_row][fusion_builder_column type=”1_1″ spacing=”” center_content=”yes” link=”” target=”_self” min_height=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_image_id=”” background_color=”” background_image=”” background_position=”left top” undefined=”” background_repeat=”no-repeat” hover_type=”none” border_size=”0″ border_color=”” border_style=”solid” border_position=”all” border_radius_top_left=”” border_radius_top_right=”” border_radius_bottom_left=”” border_radius_bottom_right=”” box_shadow=”no” box_shadow_vertical=”” box_shadow_horizontal=”” box_shadow_blur=”0″ box_shadow_spread=”0″ box_shadow_color=”” box_shadow_style=”” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” margin_top=”” margin_bottom=”” animation_type=”” animation_direction=”left” animation_speed=”0.3″ animation_offset=”” last=”no”][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”default” rule_size=”” rule_color=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=””]
Klik dibawah ini untuk informasi tentang IT Training dan Info Loker seputar IT
⇓
[/fusion_text][fusion_button link=”https://api.whatsapp.com/send?phone=62816999735″ text_transform=”uppercase” title=”” target=”_self” link_attributes=”” alignment=”center” modal=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” color=”default” button_gradient_top_color=”” button_gradient_bottom_color=”” button_gradient_top_color_hover=”” button_gradient_bottom_color_hover=”” accent_color=”” accent_hover_color=”” type=”” bevel_color=”” border_width=”” size=”” stretch=”default” shape=”” icon=”fa-whatsapp fab” icon_position=”left” icon_divider=”no” animation_type=”fade” animation_direction=”static” animation_speed=”0.3″ animation_offset=””]Hubungi Kami[/fusion_button][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]