Kesalahan kaprah tentang compile
Sebenarnya ini bukanlah suatu hal yang besar. Saya sendiri pun sering melakukan kesalahan kaprah mengenai compile. Ini sama seperti kesalahan kaprah di masyarakat yang umum seperti berat dan massa. Walaupun begitu saya coba untuk membahas sedikit mengenai masalah tersebut.
Biasanya seseorang sering mengatakan, “Eh programnya dicompile lalu dijalankan dong” atau “Programnya ga bisa jalan nih, mungkin kamu compile nya salah“. Penggunaan kata compiled di sini menunjukkan bahwa seakan-akan untuk bisa menjalankan sebuah program harus di-compile terlebih dahulu. Tidak salah memang, tapi juga tidak 100% benar.
Dalam pembuatan sebuah executable program dari program yang kita tulis biasanya kita harus melewati 2 fase terlebih dahulu secara general. Keduanya yaitu : fase compilation dan fase linking. Fase compilation memproses source code kita melalui berbagai tahap lagi yang mana tergantung pada compiler masing-masing bahasa. Tapi intinya fase compilation mengubah source code kita menjadi sebuah object module. Object module merupakan sebuah kumpulan bahasa mesin yang masih belum bisa dieksekusi. Dari sini kita tahu bahwa fase compilation tidak menghasilkan sebuah executable melainkan hanya menghasilkan object module dari source code kita.
Fase kedua setelah fase compile adalah fase linking. Jika fase compilation telah menghasilkan object module, maka tugas fase linking adalah menghubungkan semua object module yang ada dan membentuk sebuah executable program. Itu secara general yang dilakukan di dalam fase linking. Memang masih banyak tahap lagi dalam fase linking seperti mencari fungsi dan variabel dalam library yang ada dan menghubungkan 2 object module yang berbeda dalam satu proyek.
Mungkin lebih cocok dikatakan “Eh programnya dibuild lalu dijalankan dong” atau versi lebih panjang “Eh programnya dicompile dan dilink lalu dijalankan dong“. Agak terasa kaku tapi itulah kalimat yang benar. Sama kaku nya seperti kita keluar ke pasar dan menanyakan “Bu berapa massa mangga ini?” he he he….
Hardy Huang
Bagus bgt mas,
saya suka dengan tulisan2 seperti ini,
sangat membantu bagi orang2 awam yang ingin belajar pemrograman seperti saya…
istilah2 spt itu memang sulit dipahami, namun lebih mudah dengan tulisan yang jelas seperti yang mas tampilkan ini, terimakasih.
bagus mas, istilah2 yang salah kaprah begini malah banyak sekali didalam kehidupan sehari2.
bahkan saia pernah liat dibungkus makanan, disitu ditulis “tanpa bahan kimia”. heu2, lucu kan?