Walaupun penulisan program dengan bahasa simbolik lebih mudah dibandingkan dengan menulis program dengan bahasa mesin, tetapi masih tetap sulit, dikar
Gambar oleh Mudassar Iqbal dari Pixabay |
COMPILER
Compiler dan Interpreter - Language Software - Walaupun penulisan program dengan bahasa simbolik lebih mudah dibandingkan dengan menulis program dengan bahasa mesin, tetapi masih tetap sulit, dikarenakan hal-hal sebagai berikut ini:
- Penulis program harus mengetahui susunan serta fungsi dari masing-masing register di processor.
- Harus mengetahui dengan persis cara alokasi memori komputer yang dipergunakan.
- Harus mengetahui fungsi-fungsi yang disediakan oleh OS dan lain sebagainya.
Bahasa assembly masih merupakan bahasa yang dekat dengan mesin, sehingga tetap masih sulit. Untuk mengatasi hal ini, telah dikembangkan suatu bahasa yang lebih dekat dengan pemakai komputer, yaitu bahasa tingkat tinggi (high level language). Source program yang ditulis dengan bahasa tingkat tinggi, harus diterjemahkan menjadi program bahasa mesin dengan suatu program penterjemah, yaitu compiler dan interpreter. Bahasa tingkat tinggi yan gsifatnya compiler diantaranya adalah FORTRAN, COBOL, PASCAL dan C language. Sedang yang bersifat interpreter adalah BASIC.
Sama dengan bahasa assembly, source program yang ditulis dengna bahasa tingkat tinggi dapat dibuat dengan menggunakan program text editor atau pun program paket pengolah kata. Sebagai contoh source program yang ditulis dengan bahasa tingkat tinggi Microsoft FORTRAN sebagai berikut:
C Cetak tulisan SAYA KOMPUTER di layar
C dengan nama executable program CONTOH4.EXE
Wwrite (*,10)
10 FORMAT ('SAYA KOMPUTER')
END
Misalnya source program ini telah disimpan di file dengna nama CONTOH4.FOR (extension .FOR menunjukkan source program dalam bahasa FORTRAN) di drive B:. Source program ini perlu diterjemahkan ke bahasa mesin menjadi object proram. Untuk keperluan ini, maka dapat dipergunakan program compiler.
Disamping akan dihasilkan object program, pada proses ini bila terjadi kesalahan di dalam penulisan source program, juga akan ditampilkan daftar dari kesalahan-kesalahannya. Dari daftar kesalahan yang terjadi, source program harus dibetulkan terlebih dahulu, dapat menggunakan text editor dan proses ini diulangi kembali sampai source program bebas dari kesalahan-kesalahan.
Proses kompilasi ini dapat dilakukan dengan menggunakan FORTRAN compiler sebagai berikut ini:
C>f1 /c Fpi contoh4.for
Microsoft (R) FORTRAN Optimizing Compiler Version 4.00
Copyright (C) Microsoft, Corp 1987. All rights reserved.
Contoh4.for
C>
Sama dengan program assembly, object program ini perlu dirubah menjadi executable program, yaitu dengan cara:
C>link
Microsoft () Overlay Linker Version 3.55
Copyright () Microsoft Corp 1984, 1985, 1986. All rights reserved.
Object Modules [.OBJ]: contoh4
Run File [CONTOH4.EXE] :
List File [NUL.MAP] :
Libraries [.LIB] :
C>
Hasil dari proses lingage ini akan didapatkan executable program dengan nama CONTOH4.EXE di drive C:. Untuk menjalankan program ini dapat dilakukan:
C>contoh4
SAYA KOMPUTER
C>
INTERPRETER
Interpreter juga merupakan programuntuk menterjemahkan program yang ditulis dengan bahasa tingkat tinggi menjadi bahasa mesin. Perbedaan interpreter dengan compiler adalah sebagai berikut ini:
COMPILER | INTERPRETER |
---|---|
Menterjemahkan secara keseluruhan sekaligus, jadi source program sudah harus ditulis dengan lengkap terlebih dahulu. | menterjemahkan instruksi per instruksi dan langsung dikerjakan sehingga source program tidak harus ditulis secara lengkap terlebih dahulu. |
Bila terjadi kesalahan kompilasi, maka source program harus dibetulkan dan proses kompilasi diulangi kembali | Bila terjadi kesalahan interpretasi, dapat langsung dibetulkan secara interaktif |
Dihasilkan object program. | Tidak dihasilkan object program. |
Dihasilkan executable program, sehingga dapat dijalankan di keadaan prompt sistem operasi. | Tidak dihasilkan executable program, karena langsung dijalankan pada saat proses interpretasi. |
Proses kompilasi lama, karena sekaligus menterjemahkan seluruh instruksi program. | Proses interpretasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakan dan langsung dapat dilihat hasilnya. |
Proses pengerjaan program lebih cepat, karena executable program sudah dalam bahasa mesin. | Proses pengerjaan program lebih lambat, karena setiap instruksi dikerjakan, harus diinterpretasikan ulang kembali, disebabkan tidak dihasilkan executable program. |
Source program sudah tidak dipergunakan lagi untuk pengerjaan program, karena executable program sudah dalam bahasa mesin. | Source program terus dipergunakan, karena tidak dihasilkan executable program. |
Keamanan dari program lebih terjamin, karena yang dipergunakan executable program yang sudah dalam bahasa mesin, relatif sulit untuk dirubah dan ditiru. | Keamanan dari program kurang terjamin, karena yang selalu dipergunakan adalah source program yang masih dalam bahasa tingkat tinggi, relatif mudah dirubah dan ditiru. |
Secara analogi, misalnya anda akan berkomunikasi dengan orang yang bisu dan tuli yang diibaratkan sebagai komputer. Kalau anda akan bertatap muka langsung untuk berkomunikasi, maka harus menggunakan bahasa isyarat yang relatif sulit untuk mereka yang belum biasa. Bahasa isyarat ini diibaratkan dengan bahasa mesin. Untuk mempermudah komunikasi tanpa menggunakan bahasa isyarat, dapat dipergunakan seorang penterjemah yang khusus. Anda dapat menggunakan bahasa sehari-hari yang relatif leibh mudah dan penterjemah akan menterjamahkan bahasa awam sehari-hari anda menjadi bahasa isyarat untuk orang bisu tuli yang anda ajak berkomunikasi. Bahasa awam sehari-hari ini diibaratkan bahasa komputer tingkat tinggi. Penterjemah diibaratkan sebagai compiler atau interpreter tergantung dari cara menterjemahkannya.
Kalau anda sekaligus memberikan semua bahan yang ingin dikomunikasikan kepada penterjemah dan penterjemah sekaligus menampung secara keseluruhan untuk diterjemahkan ke dalam bahasa isyarat dan mengkomunikasikannya kepada orang bisu tuli tersebut dan secara keseluruhan juga memberikan hasilnya kepada anda, maka penterjemah itu dapat dikatakan sebagai compiler.
Kalau anda memberikan sebagian-sebagian bahan yang ingin dikomunikasikan kepada penterjemah dan setiap bagian yang diterima oleh penterjemah langsung diterjemahkan ke dalam bahsa isyarat, langsung dikomunikasikan dan hasil komunikasi langsung diberikan kepada anda, demikian seterusnya sampai semua bahan yang akan dikomunikasikan, maka penterjemah itu dapat dikatakan sebagai interpreter.
Analogi yang lainnya, misalnya anda akan menterjemahkan sebuah buku teks dalam bahasa Inggris ke dalam bahasa Indonesia. Buki teks dalam bahasa Inggris tersebut diibaratkan sebagai source program. Dan untuk keperluan anda menggunakan jasa penterjemah. Kalau keseluruhan satu buku anda berikan kepada penterjemah dan anda menunggu hasil dari terjemahan seluruh isi buku tersebut secara keselruuhan, maka penterjemah tersebut dapat dikatakan sebagai compiler. Dalam hal ini anda mendapatkan hasil terjemahan yang tertulis dalam bahasa Indonesia. Hasil terjemahan ini diibaratkan sebagai executable program. Tetapi bila setiap kalimat dalam buku tersebut anda bacakan kepada penterjemah dan penterjemah langsung menterjemahkannya untuk anda, maka penterjemah tersebut dikatakan sebagai interpreter. Dalam hal ini anda tidak mendapatkan hasil terjemahan ke dalam bahasa Indonesia secara tertulis.
Bahasa BASIC merupakan contoh bahasa yang menggunakan interpreter. Sebagai contoh disini akan diperguanakn bahasa BASICA (BASIC Advanced, bahasa BASIC buatan pabrik Microsoft pada komputer IBM PC)
Untuk membuat source program dalam bahasa BASIC, maka interpreter BASIC harus diambil terlebih dahulu dari disk, sebagai berikut:
A>basica
Yang selanjutnya akan tampak:
The IBM Personal Computer Basic
Version A3. 30 Copyright IBM Corp. 1981, 1982, 1983, 1984, 1985, 1986, 1987 60225 Bytes free
Ok
Tanda "Ok" menunjukkan interpreter BASIC siap untuk menerima perintah atau anda sudah dapat menuliskan program dalam bahasa BASIC sekarang, sebagai berikut:
10 REM * Cetak tulisan SAYA KOMPUTER di layar
20 REM dengan namam source program CONTOH5.BAS *
30 PRINT "SAYA KOMPUTER"
Bila program ini dijalankan, maka tiap-tiap instruksi di dalam program akan langsung diterjemahkan ke dalam bahasa mesin dan langsung diproses, dengan perintah:
RUN
SAYA KOMPUTER
OK
Jadi disini tidak diperlukan suatu proses khusus untuk menterjemahkannya. Berbeda dengan car compiler, source program yang akan dikompilasi sudah dibuat terlebih dahulu dan sudah disimpan di dalam suatu file. Untuk cara interpreter bahasa BASIC ini, program yang anda ketik dan sudah dijalankan tersebut, masih belum disimpan di file. Bila ingin disimpan di file, dapat dilakukan perintah:
SAYA "B:CONTOH5.BAS"
Ok
Maka sekarang, soruce program tersebut telah tersimpan di file dengan nama CONTOH5.BAS (extension BAS menunjukkan program dalam bahasa BASIC) di drive B:.
Hartono, Jogiyanto. 2000. Pengenalan Komputer. Yogyakarta: ANDI.
KOMENTAR