Jumat, 29 Juni 2012

Bahasa Pemrograman Java

Java adalah bahasa pemrograman Object-oriented yang dibuat dan diperkenalkan pertama kali oleh sebuah tim Sun Microsystem yang dipimpin oleh Patrick Naughton dan James Gosling pada tahun 1991 dengan code name Oak. Pada tahun 1995 Sun mengubah nama Oak tersebut manjadi Java. Ide pertama kali kenapa Java dibuat adalah karena adanya motivasi untuk membuat sebuah bahasa pemrograman yang bersifat portable dan platform independent (tidak tergantung pada mesin atau sistem operasi) yang dapat digunakan untuk membuat peranti lunak yang dapat ditanamkan (embedded) pada berbagai macam peralatan elektronik konsumer biasa, seperti microwave, remote control, telepon seluler, card reader, dan sebagainya. Seperti yang telah diketahui, peralatan elektronik konsumer ini dapat menggunakan berbagai macam CPU (Central Processing Unit) yang berbeda-beda yang digunakan sebagai controller.Ini mengakibatkan pembuatan peranti lunak untuk setiap peralatan elektronik ini menjadi sulit dan mahal. Karena alasan inilah maka muncul suatu ide yang kemudian mendasari dan melahirkan apa yang sekarang dikenal sebagai Java.
Hingga saat ini bahasa pemrograman Java terus mengalami peningkatan.Mula-mula diproduksi Java 1, yaitu biasa disebut dengan JDK (Java Development Kit).Pada perkembangan selanjutnya Sun Microsystem memperkenalkan Java versi 1.2 atau yang lebih dikenal dengan Java 2 yang terdiri dari JDK dan JRE (Java Runtime Environtment).Java berdiri di atas sebuah mesin interpreter yang di beri namaJava Virtual Machine (JVM). JVM inilah yang akan membaca bytecodedalam dokumen .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut sebagai bahasa pemrograman yang portablekarena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Platform Java terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin Java dan sebuah compiler, debugger dan tools lain yang dipaket dalam Java Development Kit (JDK). Java 2 adalah generasi yang sekarang sedang berkembang dari platform Java. Agar sebuah program Java dapat dijalankan, maka dokumen dengan ekstensi .java harus dikompilasi menjadi dokumen bytecode. Untuk menjalankan bytecodetersebut dibutuhkan JRE yang memungkinkan pengguna untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi.
Saat ini distribusi Java dan classpendukungnya dibagi dalam tiga bagian yang masing-masing memiliki konsentrasi tersendiri, yaitu:
1. Java 2 Enterprise Edition (J2EE), untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada lingkungan enterprise.
2. Java 2 Standard Edition (J2SE), untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada lingkungan desktop.
3. Java 2 Micro Edition (J2ME), untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada beberapa perangkat seperti telepon seluler, PDA (Personal Digital Assistant) dan Pocket PC.

Kelebihan 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.

Kelebihan bahasa pemrograman Java dibandingkan dengan bahasa pemrograman lain, yaitu :
1. 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.
2. 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.
3. 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.
4. 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.
5. Mengurangi kerancuan antara pemberian nilai pada conditional statement. Contohnya, pada penggunaan tanda‟=‟ dengan „==‟ pada kondisi If.

Kekurangan yang terdapat pada bahasa Java, yaitu :
1.      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.
2.      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.
3.      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