Monday 22 December 2014

KENAPA JAVA ?

Java memiliki keunggulan yang tidak dipunyai bahasa lain, seperti bersifat multiplatform dan berorientasi pada konsep kelas dan objek murni. Disini akan diungkap mengapa Java dipilih sebagai bahasa pemrograman yang unggul. 

a. Berorientasi pada kelas dan objek murni 
Java membagi program menjadi kelas-kelas dan dari kelas tersebut kita bisa membuat objek atau instance sebagai sesuatu yang unik untuk digunakan sewaktu-waktu. 

b. Bersifat multiplatform dan open-source 
Java memang didesain untuk dapat berjalan di berbagai platform yang berbeda. Dengan adanya sifat ini, sebuah program Java dipercayai dapat didistribusi dengan luas tanpa ada masalah pada sistem operasi. Cara kerjanya sangat simpel, saat program Java dikompilasi, ia tidak langsung dijadikan sebagai program yang siap jalan, melainkan ke kode yang disebut bytecode. Pada saat program dijalankan atau dieksekusi, mesin virtual Java atau JVM yang terinstal akan menerjemahkan bytecode tersebut. Karena hal tersebut, beberapa pihak mempunyai anggapan bahwa Java itu lambat. Namun kini, hal tersebut tidaklah benar. Kita akan membahas hal tersebut di bagian selanjutnya. 

c. Sederhana dan mudah dimengerti 
Bahasa ini sekilas terlihat mirip dengan bahasa leluhurnya seperti C++. Namun, beberapa fiturnya telah diubah untuk memudahkan pemorgraman, seperti pembersihan memori otomatis (garbage collector) dan pengalokasi memori otomatis (memory allocation) dan penghilangan pointer seperti yang ada di C++. 

d. Bersifat multithread 
Java memiliki kemampuan untuk mengerjakan beberapa proses dalam waktu yang sama. Bahkan, sekarang Java 8 yang merupakan versi terbaru mempunyai fitur-fitur yang sangat canggih untuk multithreading, seperti Conccurent Adders, Stamped Lock, dan enhanced parallel sorting. 

e. Pembersihan dan pengalokasian memori otomatis 
Seperti yang tadi dibahas, Java memiliki fitur pembersihan dan pengalokasian memori secara otomatis, sehingga programer Java tidak perlu khawatir dan bingung dalam mengatur memori bagi suatu aplikasi yang akan dibuat. 


Baru-baru ini, Java juga secara resmi meluncukan Java 8 yang mempunyai beberapa fitur canggih dan mempunyai proses yang lebih cepat. Sebagaimana yang tertulis di blog optaplanner.org, Java 8 lebih cepat 20% ketimbang dengan versi sebelumnya, Java 7 yang memang sudah 17% lebih cepat dari Java 6. Walaupun dalam beberapa kasus Java 8 lebih lambat 6% dari Java 7, akan tetapi secara rata-rata Java 8 setidaknya lebih cepat 1% dari Java 7. 

Setelah membahas keunggulannya, tentu tidak adil apabila kita tidak membahas kelemahannya juga. Namun, beberapa pihak diantaranya mengungkap kelemahan Java yang sebenarnya tidak benar. Berikut beberapa kelemahan Java dan cara mengatasinya. 

a. Java itu lambat untuk aplikasi tingkat tinggi 
Java dipercaya sangat lambat untuk aplikasi yang membutuhkan banyak memori atau aplikasi grafis seperti game dan graphics rendering (seperti Photoshop dan Blender) . Namun, hal ini tidaklah benar. Sejak dirilisnya versi 1.4, Java mempunyai kecepatan yang hampir sama dengan C++. Bahkan, Java SE versi 6 lebih cepat sekitar 20 sampai 25 persen dari pendahulunya. 

b. Java mempunyai Memory Leaks 
Memori leaks adalah kesalahan yang dibuat sistem karena tidak adanya lagi ruang memori untuk program yang berjalan. Dalam beberapa kasus, program yang dibuat dengan Java mengalami masalah ini. Namun, hal ini bisa diatasi dengan teknik pemrograman yang baik. 

c. Java tidak mendukung aplikasi game console 
Pernyataan ini kini tidak relevan lagi. Sejak dirilisnya Java SE 6, API (Application Programming Interface) untuk keperluan grafis seperti OpenGL dan DirectX telah didukung. Sebagai buktinya, kini terdapat emulator dan game 3 dimensi yang dibuat dengan Java. 

d. Mudah didekompilasi 
Program Java dianggap mudah diretas untuk diambil source-code nya (kode atau sintaks yang kita ketik saat programming). Ini dapat diatasi dengan menambahkan proteksi pada program tersebut. 

Itulah beberapa kelebihan dan kelemahan Java sebagai bahasa pemrograman. Sebagai programer Java, Anda seharusnya bisa menerima semua hal tersebut. Ini sangatlah penting dalam menentukan tujuan tentang program apa yang ingin Anda buat. Selanjutnya, kita akan memahami bagaimana sebuah program Java bekerja.

0 comments:

Post a Comment