Program yang Anda gunakan, entah sebagai program aplikasi maupun program sistem, sebenarnya dibuat dengan menggunakan bahasa pemrogra...
Program yang Anda gunakan, entah sebagai program aplikasi maupun program sistem, sebenarnya dibuat dengan menggunakan bahasa pemrograman. Sebagai contoh, sistem operasi Linux dibuat dengan menggunakan bahasa C.
Sesudah dibuat dengan menggunakan bahasa pemrograman, kode sumber perlu diterjemahkan menjadi kode mesin yang berupa deretan angka 1 dan 0. hal ini perlu dilakukan mengingat komputer hanya mengenal kode biner. Berkas yang berisi kode mesin inilah yang Anda instal pada komputer Anda, sedangkan kode sumbernya dipegang oleh pembuatnya.
Umumnya program dibuat dengan bahasa pemrograman yang mudah dipahami oleh manusia. Biasanya menggunakan kata-kata bahasa Inggris; misalnya “IF” untuk menyatakan “jika” dan “AND” untuk menyatakan “dan”.
Penerjemahan bahasa pemrograman dibedakan menjadi assembler, kompiler dan interpreter.
Assembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (Assembly) ke dalam bahsa mesin.
Kompiler adalah program penerjemah yang mengonversi semua koe sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek yang bisa dijalankan oleh komputer. Perlu diketahui, proses untuk melakukan penerjemahan ini biasa disebut kompilasi. Bahasa seperti COBOL dan C menggunakan kompiler.
Interpreter adalah program yang menerjemahkan per satu intruksi dalam kode sumber dan kemudian segera menjalankan instruksi yang telah diterjemahkan tersebut. Bahasa seperti BASIC pada awalnya menggunakan interpreter (misalnya BASICA). Namun, belakangan muncul BASIC yang menggunakan kompiler (misalnya Turbo BASIC).
Berikut adalah sketsa perbedaan cara kerja kompiler dan interpreter:
Berikut keunggulan dan kelemahan penggunaan masing-masing:
Keunggulan menggunakan kompiler:
- pengerjaan instruksi dilakukan dengan sangat cepat karena setelah kode objek terbentuk tak perlu lagi adanya penerjemahan, mengingat komputer dapat memahami kode objek secara langsung
- kode objek dapat didistribusikan ke komputer lain tanpa perlu menyertakan kode sumber dan kompiler, sehingga kerahasiaan kode sumber terjamin
Adapun kelemahannya yaitu seluruh kode sumber harus benar secara sintaks agar program bisa diuji.
Keunggulan menggunakan interpreter yaitu mudah menemukan kesalahan apabila program menghasilkan sesuatu yang dianggap salah. Namun hal ini juga sekaligus menjadikan kelemahan interpreter:
- kode sumber harus selalu tersedia sehingga tidak dimungkinkan untuk merahasiakan kode sumber
- kecepatan eksekusi menjadi lambat karena setiap kali instruksi akan dijalankan perlu diterjemahkan dulu
Namun pada saat ini ada kecenderungan untuk menggabungkan kedua pendekatan penerjemahan tersebut. Kalaupada umumnya kode objek hasil bentukan kompiler disimpan dalam hard disk, maka beberapa perangkat lunak tidak melakukan hal seperti itu. Dalam hal ini kode sumber tetap diperlukan, tetapi sebelum instruksi dijalankan, seluruh instruksi diterjemahkan terlebih dulu menjadi kode objek yang disimpan dalam memori utama. Pendekatan seperti ini dilakukan misalnya pada PHP (bahasa pemrograman di lingkungan Web, yang dipakai untuk membentuk halaman Web yang bersifat dinamis).