Selasa, 28 Februari 2017

Java (Tulis Sekali, Jalankan Dimanapun)



a.    Pengertian Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek.  Kehadiran bahasa pemrograman ini banyak dipengaruhi oleh bahasa pemrograman sebelumnya yakni C dan C++.
Program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package).
Java merupakan bahasa pemrograman yang multi platform dan multi device (tidak memiliki ketergantungan dengan platform). Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-spesifik.

b.    Sejarah Java
Java merupakan suatu software bahasa pemrograman yang dikembangkan sebagai komponen utama platform Java oleh Sun Microsystems yang diluncurkan pada tahun 1995.
Java diciptakan oleh James Gosling, developer dari Sun Microsystems pada tahun 1991. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. Sebagai bahasa pemrograman yang berorientasi objek, Java menggunakan kelas untuk membentuk suatu objek. Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan dari awal tahun 1991 hingga musim panas 1992. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Proyek mereka bernamakan Oak. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja “Bapak Java”, James Gosling. Nama Oak ini tidak dipakai untuk versi rilis Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi “Java”. Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Slogan Java adalah “Tulis sekali, jalankan di manapun”. Sekarang ini Java menjadi sebuah bahasa pemrograman yang populer dan dimanfaatkan secara luas untuk pengembangan perangkat lunak. Kebanyakan perangkat lunak yang menggunakan Java adalah ponsel feature dan ponsel pintar atau smartphone.

c.    Karakteristik Java 
Terdapat beberapa karakteristik dari Java, diantaranya yaitu:
1. Sederhana (Simple)
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection. Contoh :
- Explicit pointer manipulationImplicit type casting
- Structures atau union
- Operator overloading
- Templates
- Header files
- Multiple inheritance

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

3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. 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.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handlinguntuk membantu mengatasi error pada pemrograman.

6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.

8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).

10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

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

d.  Keunggulan dan Kelemahan Java



Terdapat beberapa kelebihan yang dimiliki Java dibanding dengan bahasa pemrograman yang lain, yaitu:


a.    Multiplatform
b.    (Object Oriented Programming - Pemrogram Berorientasi Objek)
c.    Perpustakaan Kelas yang Lengkap
Walaupun memiliki banyak kelebihan, namun Java juga memiliki beberapa kelemahan.   Diantaranya  :
a.    Tulis sekali, perbaiki 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.
b.    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. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak / direverse-engineer.
c.    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, Delphi dan Object Pascal). Biasanya 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.
d.   Proses Compile, program Java har.