Proses Kompilasi dan Linking Program C

Agar suatu program dapat dimengerti oleh computer, maka program haruslah diterjemahkan kedalam bahasa komputer yaitu kode mesin. Adapun penerjemah yang digunakan bisa berupa Interpreter atau Compiler.

Interpreter adalah suatu jenis penerjemah baris perbaris instruksi untuk setiap saat. Keuntungan pemakaian interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara kaidah dalam program. Sedangkan, kelemahannya menjadi lambat sebab sebelum instruksi dijalankan selalu harus diterjemahkan dulu. Selain itu, saat program dieksekusi, interpreter juga harus berada dalam memori. Jadi memori selalu digunakan baik untuk program maupun interpreter. Disamping itu, program sumber (source code) yaitu program aslinya tidak dapat dirahasiakan.

Compiler adalah suatu jenis penerjemah yang menerjemahkan secara sekaligus seluruh instruksi. Proses kompilasi ini dilakukan sekali saja. Selanjutnya hasil penerjemahan bisa dijalankan secara langsung, tanpa tergantung lagi oleh program sumber maupun kompilernya. Keuntungannya, prose eksekusi dapat berjalan dengan cepat, sebab tak ada lagi proses penerjemahan. Disamping itu, program sumber bisa dirahasikan, sebab yang dieksekusi adalah program yang sudah dalam bentuk kode mesin. Sedangkan kelemahannya proses pembuatan dan pengujian membutuhkan waktu relatif lebih lama, sebab ada waktu untuk mengkompilasi (menerjemahkan) ada pula waktu melakukan proses linking. Perlu diketahui, program akan berhasil dikompilasi hanya jika program tak mengandung kesalahan secara kaidah sama sekali.

Gambar dibawah ini merupkan proses kompilasi –linking dari program C

Proses Kompilasi dan Linking
Proses Kompilasi dan Linking

 Berikut adalah keterangan dari gambar diatas:

  • Pertama-tama program C ditulis dengan menggunakan editor. Program ini disimpan dalam file yang disebut file program sumber (dengan ciri utama memiliki ekstensi .c).
  • File include (umumnya memiliki ekstensi .h, misalnya stdio.h, atau biasa disebut dengan file judul (header file) berisi kode yang akan dilibatkan dalam program (pada program tertentu bisa saja tidak melibatkan file include).
  • Berikutnya, kode dalam file porgam sumber maupun kode pada file include akan dikompilasi oleh compiler menjadi kode objek. Kode objek ini disimpan pada file yang biasanya berekstensi .obj atau .o (bergantung kepada lingkungan/environmentsystem operasi yang dipakai). Kode objek berbentuk kode mesin, oleh karena itu tidak dapat dibaca oleh pemrogram. Akan tetapi kode ini sendiri juga belum bisa dipahami komputer.Supaya bisa dimengerti oleh computer, maka kode objek bersama-sama dengan kode objek yang lain (kalau ada) dan isi file pustaka (library file, yaitu file yang berisi fungsi-fungsi untuk melaksanakan tugas tertentu. File ini disediakan oleh pembuat compiler, biasanya memiliki ekstensi .lib) perlu dikaitkan (linking) dengan menggukana linker, membentuk sebuah progam yang executable, yang biasanya berekstensi .exe

Leave and Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s