[ HTML ] [ Java ] [ Bahasa C ]


Senin, Mei 03, 2021

Platform Independent Java

Makna dari platform Java yang independent adalah source code dapat dijalankan pada semua jenis operating system. Java merupakan sebuah program yang diketik menggunakan bahasa pemrograman atau bahasa yang dapat dipahami manusia adalah bahasa yang didalamnya mengandung kata, ungkapan, dan lain sebagainya. Namun demikian, bahasa yang dibuat oleh manusia tersebut tidaklah dapat dipahami oleh mesin. Agar source code yang dibuat dapat dipahami oleh mesin, maka bahasa tersebut haruslah diterjemahkan ke dalam bahasa mesin atau machine level language. Kompilator berperan dalam menerjemahkan source code ke dalam bahasa mesin. Kode yang dapat dieksekusi ini dapat berupa urutan instruksi mesin yang dapat dieksekusi oleh CPU secara langsung, atau mungkin merupakan representasi perantara yang ditafsirkan oleh mesin virtual. Java mengenal representasi perantara ini dengan nama Java Byte Code.

Tahapan proses eksekusi program Java:
satu, dimanapun program Java dibuat, proses kompilasi akan dilakukan oleh Javac.
dua, Hasil kompilasi dari Javac adalah .class file atau bytecode dan bukan machine native code (tidak seperti pada kompilator C).
tiga, Bytecode yang telah di-generate hasilnya bukanlah kode yang sudah siap dieksekusi (dijalankan). Dan juga, yang menjalankan program yang telah di-generate adalah interpreter atau JVM.
empat, Hasil dari program yang telah dijalankan adalah berupa output seperti diperlihatkan pada gambar 1.


Pada bahasa pemrograman C atau C++ kompilator meng-generate program .exe untuk jenis OS tertentu yang sifatnya dependent. Ketika program yang telah dikompilasi pada satu OS tertentu dijalankan pada OS jenis lain,  maka program tersebut tidak akan dapat dijalankan, dengan kata lain hasil dari kompilasi hanya bisa berjalan hanya pada satu jenis OS tertentu saja.

Java adalah platform yang independent namun JVM adalah platform yang dependent
Poin utama pada paragraf ini adalah proses kerja JVM bergantung pada jenis sistem operasi (Operating System). Ketika telah menjalankan JVM pada Mac OX, maka untuk dapat menjalankan JVM tersebut pada jenis OS yang lain seperti Windows, maka dibutuhkan jenis JVM yang lain pula. Hal ini bisa dibuktikan dengan cara melakukan download JVM untuk Mac OS dan hasil download tersebut di instal pada OS Windows.

Point Penting :
satu, Bahasa pemrograman Java yang berfungsi membuat platform independent adalah Bytecode.
dua, Kemampun platform independent yang dimiliki Java menambah fitur kemampuan yang dimiliki oleh bahasa pemrograman Java yang disebut dengan portabilitas. Setiap sistem memiliki jenis JVM-nya masing-masing yang sudah terinstal otomatis ketika JDK diinstal pada sistem komputer tersebut. Setiap OS memiliki JVM terpisah yang mampu membaca .class file atau byte code.
tiga, Hal terakhir yang perlu diperhatikan adalah meskipun Java adalah platform bahasa pemrograman yang bersifat independent, tetapi JVM adalah platform yang dependent.

5 komentar:

  1. Apa yang dimaksud dengan platform-independent pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Arti dari platform-independent adalah kode program yang dikompilasi pada Java (kode byte) dapat berjalan pula ada semua sistem operasi lain.

      Hapus
  2. Kompilator Java mengubah kode yang ditulis oleh pengembang menjadi bytecode. Bytecode inilah yang akan digunakan oleh JVM dan akan diubah menjadi bahasa lain yang dapat dimengerti oleh mesin yang menjalankan program Java.

    BalasHapus
  3. Java adalah platform independen karena kode program yang dibuat dapat dijalankan pada JVM, bukan pada platform yang langsung mendasarinya.

    Saat melakukan kompilasi kode program Java dengan javac, maka akan didapatkan class java yang berisi bytecode yang dijalankan pada JVM, berbeda dengan bahasa non-platform lain yang dapat langsung dikompilasi ke kode mesin untuk platfom tertentu.

    JVM diimplementasikan pada banyak platform dan dapat memberikan file class yang sama untuk menjalankan kode program tanpa melakukan kompilasi ulang untuk masing-masing platform.

    Aspek lain dari kemandirian platform Java adalah bagaimana program tersebut dapat membungkus system library pada setiap platform dalam API-nya sendiri, guna memungkinkan melakukan suatu tindakan yang sama pada masing-masing platform tanpa perlu menulis kode program yang sedikit perbeda untuk setiap platform.

    Misalnya, setiap platform dekstop memiliki cara yang berbeda untuk membuat suatu windows. Pada Java, programmer cukup memanggil JFrame().setVisible dan akan mendapatkan windows yang setara untuk masing-masing dari program. Jika mencoba untuk membuat sebuah windows pada Bahasa C, maka programmer perlu menulis kode program yang berbeda untuk setiap platform dan kemudian melakukan kompilasi program untuk setiap platform.

    Hal tersebut berbeda dengan Java, dimana tidak terjadi pemisahan pada setiap platform yang akan digunakan. Contoh, jalur file yang masig menggunakan karakter pemisah berbeda antara Windos dan Linux, dimana kode program yang harus ditulis pada kedua platform tersebut adalah berbeda, namun tidak demikian jika kode program tersebut dibuat dengan menggunakan bahasa pemrograman Java.

    BalasHapus
  4. Bahasa platform independen berarti setelah dilakukan kompilasi pada bahasa program, maka program tersebut dapat dijalankan pada platform lain apapun (OS) yang akan digunakan.

    Java merupakan platform independen. Karena kompilator Java dapat mengubah kode sumber program menjadi bytecode, yang merupakan bahasa tingkat menengah. Bytecode yang telah dibuat selanjutnya dapat dijalankan pada semua jenis sistem operasi (OS) yang didalamnya menggunakan JVM.

    Pada kenyataannya, tidak ada yang namanya platform yang sempurna. Selalu terdapat batasan pada setiap platform tertentu yang tidak dapat diabaikan kekurangannya. Contoh, seperti penggunaan nama file yang panjang ukurannya masih terbatas, atau RAM yang tersedia pada sistem untuk menjalankan suatu aplikasi spesifikasinya masih berbeda-beda. Tidak peduli seberapa banyak dilakukan percobaan untuk membuat suatu platform yang sempurna, kode program yang telah dibuat tersebut tetap akan mengalami keterbatasan pada suatu platform yang memiliki batasan aturan yang ketat. Kerkadang pula, pada saat pengembangan seorang programmer kadang tanpa sadar menciptakan bug yang bisa jadi hanya terjadi pada platform tertentu saja tanda diketahui. Jadi, meskipun secara teori program yang dibuat sudah 100% portabel, programmer tetap harus melakukan pengujian pada berbagai platform yang akan digunakan, guna memastikan program yang telah dibuat tersebut tidak akan mengalami bug yang tidak terduga atau tidak terdeteksi.

    Jika diukur secara keseluruha, Java mungkin adalah salah satu bahasa pemrograman yang paling mendekati kata independent pada pengoperasiannya, tetapi sepertia yang dilihat, masih cukup banyak sekali pekerjaan khusus terkait platform yang harus dilakukan perbaikan dan pengembangan yang lebih baik lagi.

    BalasHapus

Respon komentar 7 x 24 jam, so please be patient :D