Dalam sebagian besar bahasa pemrograman, sebuah kode program harus dikompilasi (compile) maupun diterjemahkan (interpret) sehingga dapat dijalankan di dalam sebuah komputer. Software yang digunakan untuk melakukan kompilasi kode program disebut dengan compiler, sedangkan yang digunakan untuk melakukan interpretasi disebut dengan interpreter.
Perbedaan antara compiler dan interpreter adalah terletak pada proses eksekusi kodenya. Compiler akan menerjemahkan isi kode program secara keseluruhan, sedangkan interpreter akan menerjemahkan dengan cara baris dengan baris. Karena proses eksekusinya dilakukan per baris, maka interpreter lebih lambar dibandingkan dengan compiler.
Java menerapkan dua proses di atas. Ini berarti bahwa Java berperan sebagai compiler dan juga sebagai interpreter. Anda bingung? Konsepnya sederhana, mula-mula kode program yang ditulis dengan bahasa Java (berekstensi .java) akan dikompilasi (oleh compiler) menjadi suatu kode objek. Dalam terminologi Java, kode objek ini disebut dengan istilah bytecode. Jadi, dalam Java, hasil akhir programnya akan berupa bytecode (berekstensi .class), bukan file .EXE. Selanjutnya, bytecode akan dieksekusi baris demi baris (oleh interpreter). Dengan demikian, proses kompilasi hanya dilakukan sekali, akan tetapi proses interpret akan dilakukan setiap program dieksekusi.
Berikut ini gambar yang mengilustrasikan konsep pembentukan program di dalam Java:
Proses pembentukan dan eksekusi program di dalam Java |
Bytecode dapat dianggap sebagai sekumpulan perintah dalam bahasa mesin untuk sebuah JVM (Java Virtual Machine). Setiap interpreter Java, baik berupa development tool maupun sebuah web browser, merupakan implementasi dari JVM. Program yang dibuat dengan Java tidak mungkin dapat dijalankan di dalam komputer maupun alat lain yang tidak memiliki JVM.
Dengan adanya konsep bytecode ini, dalam terminologi Java dikenal adanya istilah "write once, run anywhere". Ini berarti bahwa sekali Kita menulis program Java dan melakukan kompilasi terhadapnya, maka bytecode-nya dapat dijalankan di dalam platform manapun selama platform tersebut memiliki JVM.
Sebagai contoh, berikut ini gambar yang akan menunjukkan satu program yang sama tapi dapat dijalankan di dalam platform Windows, Linux, Solaris dan MacOS:
Program Java dapat dieksekusi pada platform yang berbeda |
Posting Komentar untuk "Program di dalam Java: Bytecode"