Java lahir pada tahun 1991 untuk mengatasi kelemahan C++. Java memiliki fitur seperti Java Virtual Machine, garbage collection, dan code security yang membuatnya dapat berjalan di berbagai platform. Salah satu keunggulan Java adalah portabilitasnya sehingga program dapat berjalan di HP, PDA, dan peralatan lain yang mendukung Java Virtual Machine.
1. • Java lahir pada tahun 1991 karena ketidakpuasan seorang
insiyur di SUN Micro System bernama James Gosling. Ia tidak
puas dengan compiler C++ (yang ia gunakan untuk membuat
software yang di-embet pada peralatan elektronik) karena
dinilai terlalu banyak menghasilkan bug, berbiaya besar dan
sangat tergantung terhadap platform. gosling merasa perlu
membuat compiler baru sebagai solusi terhadap sejumlah
kelemahan pada C++ tersebut. Compiler baru tersebut diberi
nama dengan Oak. Compiler ini mirip dengan C++ tetapi
dengan sejumlah pengurangan fitur yang dianggap kurang
menguntungkan dalam pengembangan, seperti
multipelinheritance, konversi tipe secara
otomatis, penggunaan pointer dan managemen memori. Pada
tahun 1994, Oak diubah namanya menjadi Java. Pada era
ini, Java divisikan sebagai bahasa yang memiliki dukungan
baik terhadap web.
2.
3. • Sun mendefinisikan 3 (tiga) edisi java, yaitu :
• 1. J2ME (Java Micro Edition)
• Edisi ini ditunjukan bagi lingkungan dengan sumber daya
terbatas, seperti smartcard, ponsel, dan PDA.
• 2.
J2SE (Java 2 Standard Edition)
• Edisi ini ditunjukan bagi lingkungan workstation, seperti
pembuatan aplikasi-aplikasi desktop.
• 3.
J2EE (Java 2 Enterprise Edition)
• Edisi ini ditunjukan bagi lingkungan Internet atau aplikasi
terdistribusi dalam skala besar.
4. • Java memiliki karakteristik berikut :
• 1. Berorientasi objek (Object Oriented)
• Java mengunakan pemrograman berorientasi objek yang membuat
program dapat dibuat secara modular dan dapat dipergunakan
kembali. Pemrograman berorientasi objek memodelkan dunia nyata
kedalam objek dan melakukan interaksi antar objek-objek tersebut.
• 2.. Terdistribusi (Distributed)
• Java dibuat untuk membuat aplikasi terdistribusi secara mudah
dengan adanya libraries networking yang terintegrasi pada Java.
• 3. Interpreted
• Program Java dijalankan menggunakan interpreter yaitu Java Virtual
Machine (JVM). Hal ini menyebabkan source code Java yang telah
dikompilasi menjadi Java bytecodes dapat dijalankan pada platform
yang berbeda-beda.
• 4. Robust
• Java mempuyai reliabilitas yang tinggi. Compiler pada Java
mempunyai kemampuan mendeteksi error secara lebih teliti
dibandingkan bahasa pemrograman lain. Java mempunyai runtimeException handling untuk membantu mengatasi error pada
pemrograman.
• 5. Secure
• Sebagai bahasa pemrograman untuk aplikasi internet dan
terdistribusi, Java memiliki beberapa mekanisme keamanan untuk
menjaga aplikasi tidak digunakan untuk merusak sistem komputer
5. • 6. Architecture Neutral
• Program Java merupakan platform independent. Program cukup
mempunyai satu buah versi yang dapat dijalankan pada platform
berbeda dengan Java Virtual Machine.
• 7. Portable
• Source code maupun program Java dapat dengan mudah dibawa ke
platform yang berbeda-beda tanpa harus dikompilasi ulang.
• 8. Multithreaded
• Java mempunyai kemampuan untuk membuat suatu program yang
dapat melakukan beberapa pekerjaan secara sekaligus dan
simultan.
• 9. Dynamic
• Java didesain untuk dapat dijalankan pada lingkungan yang dinamis.
Perubahan pada suatu class dengan menambahkan properties
ataupun method dapat dilakukan tanpa menggangu program yang
menggunakan class tersebut.
6. beberapa tingkat bahasa pemrograman, antara lain :
• Bahasa tingkat rendah (low-level language), misalnya
bahasa mesin, dan assembler.
• Bahasa tingkat menengah (medin-level
language), misalnya bahasa C / C++, Foltran.
• Bahasa tingakat tinggi (high-level lanuage), misalnya
bahasa pascal.
• Bahasa tingkat lebih tinggi (higher-level
language), misalnya bahasa Java, DotNet.
7. • Garbage Colletion
Program Java melakukan garbage collection yang berarti
program tidak perlu menghapus sendiri obyek-obyek yang
tidak perlu digunakan lagi. Fasilitas ini mengurangi beban
pengelolaan memori oleh pemrogram dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang terdapat
pada bahasa yang memungkinkan alokasi dinamis.
• Code Security
Code Security terimplementasi pada Java melalui
pengguanan Java Runtime Environment (JRE). Java
menggunakan model pengamanan 3 lapis untuk
melindungi sistem dari untrusted Java Code.
8. Kelebihan JAVA
• Multiplatform. Kelebihan utama dari Java ialah dapat
dijalankan di beberapa sistem operasi komputer, sesuai
dengan prinsip tulis sekali, jalankan di mana saja. Dengan
kelebihan ini pemrogram cukup menulis sebuah program Java
dan dikompilasi (diubah, dari bahasa yang dimengerti manusia
menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat
dijalankan di atas beberapa platform tanpa perubahan.
• OOP (Object Oriented Programming - Pemrogram
Berorientasi Objek) yang artinya semua aspek yang terdapat
di Java adalah Objek. Kelebihan ini menjadikan Java sebagai
salah satu bahasa pemograman termudah, bahkan untuk
fungsi fungsi yang advance seperti komunikasi antara
komputer sekalipun.
• Perpustakaan Kelas Yang Lengkap, Java terkenal dengan
kelengkapan library/perpustakaan (kumpulan program
program yang disertakan dalam pemrograman java) yang
sangat memudahkan dalam penggunaan oleh para
pemrogram untuk membangun aplikasinya.
9. • Java bersifat multithread Multithreading adalah kemampuan suatu
program komputer untuk mengerjakan beberapa proses dalam suatu
waktu. Thread dalam Java memiliki kemampuan untuk
memanfaatkan kelebihan multi prosessor apabila sistem operasi yang
digunakan mendukung multi prosessor. Dapat didistribusi dengan
mudah
• Java memiliki library rutin yang lengkap untuk dirangkai pada
protocol TCP/IP (seperti HTTP dan FTP) dengan mudah.
Kemampuan networking Java lebih kuat dan lebih mudah
digunakan. Java memudahkan tugas pemrograman jaringan
yang sulit seperti membuka dan mengakses sebuah soket
koneksi. Java juga mamudahkan pembuatan CGI (Common
Gateway Interface).
• Bersifat dinamis Java dirancang untuk beradaptasi dengan
lingkungan yang sedang berkembang. Java bersifat dinamis
dalam tahap linking. Class yang ada dapat di link sebatas
yang diperlukan, apabila diperlukan modul kode yang baru
dapat di link dari beberapa sumber, bahkan dari sumber dalam
jaringan Internet.
10. • Kekurangan JAVA
• J2ME : membuat aplikasi J2ME adalah sebuah proses yang sangat
susah, kita harus develop aplikasi sendiri, dengan API sendiri untuk
setiap handset, secara dukungan handset atas J2ME tidak ada yang
sama.
• SWING : Sangat lambat, API nya membingungkan, dan tampilanya
sangat berbeda dengan environment yang ada. Coba aja, bikin
aplikasi di Swing untuk membuat tray icon di windows.
• XML : kalau anda membuat aplikasi J2EE,anda harus selalu ngedit
file bla2.xml, ini menambah waktu pengerjaan.
• Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang
tidak kompatibel antara platform satu dengan platform lain. 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. Ini dimungkinkan karena kode
jadi Java merupakan bytecode yang menyimpan banyak atribut
bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe
data. Dengan demikian, algoritma yang digunakan program akan
lebih sulit disembunyikan dan mudah dibajak.
11. KESIMPULAN
Di dalam pemrograman java terdapat beberapa fitur. Adapun
fitur itu meliputi Java Virtual Machine (JVM), Garbage Colletion
dan Code Security. Java Virtual Machine (JVM) adalah sebuah
mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi
pada sebuah mesin nyata. garbage collection yang berarti
program tidak perlu menghapus sendiri obyek-obyek yang tidak
perlu digunakan lagi. Sedangkan Code Security Code Security
terimplementasi pada Java melalui pengguanan Java Runtime
Environment (JRE). Java menggunakan model pengamanan 3
lapis untuk melindungi sistem dari untrusted Java Code yaitu
class-loader, bytecode veryfier, manajemen keamanan.
Yang menarik adalah bahwa Java bisa digunakan untuk
membuat program yang dapat berjalan di atas HP, PDA, dan
peralatan yang dilengkapi dengan Java Virtual Machine (JVM).
Java juga lebih mudah dan Java sangat membantu terutama jika
anda mengembangkan sofware berskala
besar, multiplafform, dan mulitiinteerface. Ini dikarenakan Java
memiliki standar yang komperhensif, integral dan jauh lebih
terorganisasi dibanding bahasa pemrograman lain.