Friday, February 6, 2015

Pengantar Java Native Inteface (JNI)

Postingan ini akan memberikan beberapa patah kalimat untuk pengenalan mengenai Java Native Interface (JNI). JNI adalah sebuah native programming interface buat java. Dengan JNI ini, program-program dalam bahasa java yang berjalan pada Java Virtual Machine (JVM) dapat berinteraksi dengan program yang ditulis dengan bahasa programming lain, misalnya C, C++, dan assembly. Keuntungan utama dari JNI yaitu tidak ada batasan untuk implementasi JVM, sehingga vendor-vendor JVM dapat menambahkan fitur-fitur baru pada JVM tanpa mempengaruhi part lain dalam JVM yang telah dibuat oleh programmer java ataupun vendor-vendor JVM lainnya.

Eeem... Mungkin selama ini kita dapat membuat aplikasi dengan hanya menggunakan bahasa java saja, tetapi pada kondisi tertentu bahasa java tidak dapat memenuhi aplikasi yang akan kita buat karena mungkin harus mengakses hardware dari suatu perangkat. Nah disini kan berarti kita butuh bahasa C atau assembly untuk pengaksesan hardware yang menggunakan JNI untuk berinteraksi dengan bahasa java. Selain itu, boleh jadi kita telah membuat suatu program dalam bentuk dll, dan terlihat membutuhkan waktu untuk menulis kembali program tersebut dalam bahasa java, nah disini juga JNI dapat digunakan. So secara ringkas, dengan membuat JNI kita dapat menggunakan native methods untuk beberapa hal yaitu :
  • Membuat, mengamati, dan mengupdate object-object java termasuk array dan string-nya
  • Memanggil methods java
  • Catch dan throws beberapa eksepsi
  • Meload kelas dan mengambil informasi dari kelas tersebut
  • Melakukan runtime checking
Beberapa hal yang perlu diperhatikan untuk membuat native method yaitu:
  1. Binary compatibility. Maksudnya para programmer harus menjaga hanya satu versi saja native method yang digunakan untuk suatu platform. Nah karena cuma satu versi saja berarti native methodnya menjadi jelas. Tentunya dibutuhkan diskusi oleh semua pihak untuk membuat native method seperti ini.
  2. Efisiensy.
  3. Functionality. Paling tidak native method dapat menggunakan beberapa fitur internal dari JVM untuk menyelesaikan task tertentu.
Saat ini ada beberapa native method interface yang sering digunakan yaitu
  • JDK 1.0 Native Method Inteface
  • Java Runtime Interface
  • Jaw Native Interface and Java/COM Inteface
  • Netscape JRI

Rufus

Rufus adalah program yang digunakan untuk membuat bootable usb untuk OS windows ataupun untuk linux. Rufus juga adalah program yang open source. Source codenyad dapat di download menggunakan git command :
Keunggulan dari rufus adalah kecepatan. Jadi rufus ini boleh dikatakan ampir 2 kali lebih cepat dibanding program usb bootable yang lain seperti UNetbooting, Universal USB Installer atau Windows 7 USB download tool. Perbandingannya bisa lihat pada gambar di bawah :
Ok... Rufus terbaru dapat di download dari halaman webnya langsung di sini, atau kalu mau lansung download untuk versi 1.4.12 (release tanggal 09-11-2014) disini aja. Setelah didownload, kita langsung pake, tanpa perlu di install :
Nah.. pas mau masukin file iso-nya bisa langsung klik icon panah di atas, abis itu cari file isonya :

Terus tinggal tekan "Open"....
Setelah itu tinggal tekan tombol "Start",
Nah...data yang ada di flashdisknya akan kehapus semua,sow.. tekan "OK" aja,....
Abis itu tunggu prosesnya sampe selese.....

Setelah selesai, silahkan tutup aplikasinya... Daaan... Bootable USBnya siap digunakan... Jangan lupan pas booting, masuk ke boot option menu (PC tekan F12, klu laptop Compaq tekan F9, yah tergantung pake apa), dan pilih opsi "USB-FDD", jika ternyata g' booting ke USB-nya, atur konfigurasi bios PC/laptopnya untuk bagian booting.... OK..... jadi kita g' usah repot-repot ngeburning file iso lagi ke DVD/CD untuk instalasi windows atapun linux hehehehe....


sekian... semonga bermanfaat.....

*JuMat CeRiA.... :D