Jumat, 30 Maret 2012

Kelebihan, Karakteristik dan Kekurangan Java


Sintaks bahasa yang digunakan dalam Java merupakan pengembangan dari bahasa C/C++. Hal ini dilakukan karena bahasa C/C++ merupakan bahasa pemrograman yang telah dikenal oleh banyak pemrogram sehingga mempelajari Java seharusnya bukan merupakan sesuatu yang sulit. Selain itu, bahasa C/C++ juga telah dikenal sebagai bahasa yang handal, bahkan dapat dikatakan era pemrograman modern dimulai oleh bahasa C yang kemudian diteruskan oleh C++ dengan paradigma pemrograman berorientasi objeknya yang terkenal. Segala kelebihan bahasa C/C++ inilah yang dikembangkan lebih lanjut di dalam bahasa Java.
            Berikut ini adalah beberapa kelebihan dari bahasa Java dibandingkan dengan bahasa pemrograman lainnya:
  •      Bersifat portable dan platform independent. Program Java yang ditulis akan dapat dieksekusi di platform manapun tanpa memerlukan kompilasi ulang (portable) asalkan Java Virtual Machine untuk platform tersebut tersedia.
  •      Memiliki garbage collection yang dapat mendealokasi memori secara otomatis. Tidak perlu secara eksplisit membebaskan suatu lokasi memori yang dipakai karena ini akan dilakukan secara otomatis oleh Java.
  •    Menghilangkan pewarisan berganda yang terdapat pada C++. Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak mengakibatkan kerugian daripada keuntungan. Java telah didesain sedemikian rupa sehingga teknik ini tidak akan diperlukan dalam pembuatan program apapun.
  •      Mengurangi pointer aritmatik. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan, untuk mengurangi dan menghilangkan kemungkinan kesalahan seperti ini, penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
  •      Mengurangi kerancuan antara pemberian nilai pada conditional statement. Contohnya, pada penggunaan tanda = dengan „== pada kondisi If.


Selain itu para perancang Java sendiri telah merangkum beberapa karakteristik dari bahasa Java yang telah dikembangkan, dimana karakteristik inilah yang membuat Java menjadi seperti apa yang dikenal sekarang ini sehingga dapat dikatakan sebagai ciri khas dari Java itu sendiri :

Berorientasi objek, Java telah menerapkan konsep pemrograman berorientasi objek yang modern dalam implementasinya. Artinya semua aspek yang terdapat di Java adalah objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut objek. Hal ini sangat memudahkan pemrogram untuk merancang, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir.

  •       Robust, Java mendorong pemrograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki run-time checking.

  •       Portable, program Java dapat dieksekusi di platform manapun selama tersedia JVM untuk platform tersebut.

  •       Multithreading, Java mendukung penggunaan multithreading yang telah terintegrasi secara langsung dalam bahasa Java.

  •       Dinamis, program Java dapat melakukan suatu tindakan yang ditentukan pada saat eksekusi program dan bukan pada saat kompilasi.

  •              Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari.

  •       Terdistribusi, Java dirancang untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.

  •      Aman, aplikasi yang dibuat dengan bahasa Java dapat dipastikan keamanannya terutama untuk aplikasi internet.

  •        Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu.

  •     Interpreted, aplikasi Java dapat dieksekusi pada platform yang berbeda-beda dengan melakukan interpretasi pada bytecode.

  •        Berkinerja tinggi, bytecode Java telah sangat teroptimasi sehingga eksekusi program dapat dilakukan secara cepat sekalipun dilakukan dengan cara interpretasi terhadap bytecode.

Berikut ini beberapa kekurangan yang terdapat pada bahasa Java, diantaranya adalah :
  • Tulis sekali, perbaiki di mana saja. Masih ada beberapa hal yang tidak kompatibel antara   platform satu dengan platform lainnya. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  •  Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Hal ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti beberapa nama kelas, metode dan tipe data. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya, seperti C/C++ dan Pascal (lebih spesifik lagi, yaitu Delphi dan Object Pascal). Biasanya hal ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

Tidak ada komentar:

Posting Komentar