logo blog

pengenalan java (part 1)

 PENGENALAN JAVA


1.1 Pendahuluan
1.1.1 Sejarah
Pada tahun 1991 bahasa java lahir dari the green project yang dikerjakan oleh sekelompok insinyur dari Sun Microsystem, Inc., yang dipimpin oleh Patrick Naughton dan James Gosling. Proyek ini ditujukan untuk merancang bahasa untuk perangkat konsumer seperti cable TV box. Para perancang ini ingin menciptakan sebuah bahasa pemrograman yang dapat dijalankan pada semua peralatan yang tidak tergantung oleh platform yang digunakan oleh peralatan tersebut.
Karena orang-orang yang bekerja dalam proyek Green memiliki dasar bahasa C++ maka kebanyakan sintaksnya diambil dari C++ serta mengadopsi orientasi obyek bukan prosedural. Pada mulanya, James Gosling memberi nama bahasa pemrogramannya dengan “Oak”, setelah terinspirasi dari pohon yang berada di seberang kantornya. Kemudian diganti dengan “Java”, karena sudah ada bahasa pemrograman dengan nama Oak. Nama Java terinspirasi ketika mereka sedang minum kopi di sebuah kedai kopi, kemudian salah satu diantara mereka menyebut nama Java yang mengandung arti asal dari biji kopi.
Salah satu hasil dari green project adalah maskot java yang dibuat oleh Joe Palrang dan diberi nama Duke (gambar 1.1).

 Gambar 1.1. Duke, Maskot Java


Produk pertama proyek Green adalah “*7” (Star Seven), yaitu sebuah kendali jarak jauh yang cerdas. Karena pasar belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada waktu itu perkembangan internet sedang pesat, maka proyek Green lebih diarahkan ke teknologi internet. Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi Java. Setelah itu diikuti diikuti IBM, Symantec dan Microsoft.
Pada awal tahun 1996, Sun secara resmi merilis versi awal Java, sehingga muncul JDK 1.1 (Java Development Kit versi 1.1), kemudian muncul Java 2 yang dilengkapi Swing, yaitu teknologi GUI (Graphical User Interface) yang dapat menghasilkan aplikasi desktop.


Pada tahun 1998 – 1999 lahirlah teknologi java berbasis enterprise yang disebut J2EE (Java 2 Enterprise Edition) yang diawali dengan servlet dan EJB kemudian diikuti JSP. Java juga menjadi lebih cepat populer di lingkungan server side dikarenakan kelebihanya di lingkungan network dan terdistribusi serta kemampuan multithreading. Selain itu java juga mengembangkan J2ME (Java 2 Micro Edition) yang dapat menghasilkan aplikasi mobile baik games maupun software yang dapat dijalankan di peralatan mobile seperti ponsel. 


1.1.2 Karakteristik
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
a. Sederhana
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.

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

c. Dapat didistribusi dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.

d. Interpreter
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.

e. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

f. Aman
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.

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

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

i. 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).

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

k. Dinamis
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.

1.1.3 Sistem Kerja
Java merupakan bahasa pemrograman yang terdiri dari compiler dan interpreter, compiler menerjemahkan kode sumber program java menjadi bytecode. Untuk menjalankan bytecode hasil compiler diperlukan java interpreter, sehingga menjadikan java dapat dijalankan di berbagai platform. Java interpreter dapat dijalankan langsung dari command prompt; atau applet viewer atau web browser (untuk applet).
Kelemahan adalah kecepatan eksekusi program akan lebih lambat dari program biasa karena program bytecode harus diterjemahkan terlebih dahulu oleh interpreter, kemudian dijalankan pada hardware.
Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program Java :

Langkah pertama dalam membuat sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian disimpan dalam sebuah berkas berekstensi .java.
Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa berkas bytecode dengan ekstensi .class.
Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.




1.1.4 Teknologi
Teknologi java merupakan sebuah bahasa pemrograman dan platform. Bahasa pemrograman java merupakan bahasa tingkat tinggi yang memiliki berbagai karakteristik seperti yang telah dijelaskan sebelumnya.
Platform adalah lingkungan perangkat keras atau lunak dimana program berjalan. Kita sudah mengenal beberapa platform yang paling populer seperti Microsoft Windows, Linux, Solaris OS, dan Mac OS. Kebanyakan platform dapat digambarkan sebagai kombinasi dari sistem operasi dan perangkat keras yang mendasarinya. Platform Java berbeda dari platform lainnya, karena hanya merupakan platform perangkat lunak yang berjalan di atas platform hardware lainnya.
Java platform terdiri dari dua komponen, yaitu Java Virtual Machine (JVM) dan Aplication Programming Interface (API).

Secara garis besan teknologi Java terbagai menjadi beberapa bagian yaitu seperti di bawah ini :
a. J2SE (2 Platform Standard Edition)
Teknologi Java ini dirancang untuk membuat aplikasi yang berjalan pada PC dan workstation yang berada pada platform Windows, Linux, Macintos. J2SE terbagi menjadi dua bagian besar yaitu J2SE Core dan J2SE Desktop.
J2SE Core digunakan untuk teknologi security, debugging, database dan sebagainya. Sedangkan teknologi J2SE Desktop meliputi beberapa teknologi yaitu JRE (Java Runtime Environment), JFC (Java Foundation Classes), Java Sound API dan sebagainya.

b. J2EE (2 Platform Enterprise Edition)
Teknologi Java ini digunakan untuk pengembangan aplikasi-aplikasi enterprise, meliputi beberapa teknologi yaitu JSP (Java Server Pages), Java Servlet, CORBA (untuk aplikasi terdistribusi) dan sebagainya.

c. J2ME (Java 2 Platform Micro Edition)
Teknologi Java ini digunakan untuk pengembangan sistem mikro dan sistem embedded seperti handphone, PDA dan lain sebagainya. Meliputi dua bagian besar yaitu CLDC (MIDP, BlueTooth dan lainnya) dan CDC Technology (JDBC/teknologi database dan RMI).

d. Java Web Services
Merupakan aplikasi web berbasis enterprise dengan standar XML dan protokol tertentu untuk bertukar data dengan klien. Teknologi ini meliputi beberapa API yang dirancang untuk bekerja dengan XML seperti Java API for XML Based RPC (JAX-RPC), Java API for XML Based Messaging (JAXM), Java API for XML Processing (JAXP) dan Java API for XML Binding (JAXB).

Penjelasan lebih lanjut tentang komponen-komponen yang ada di beberapa edisi Java adalah sebagai berikut :
A. Untuk tipe JSE (Java Standard Edition) JavaBeans : salah satu arsitektur J2SE untuk aplikasi web. Komponen software yang dapat dimanipulasi secara visual pada sebuah tool visual. JFC (Java Foundation Classes) : bagian dari library Java yang didasarkan pada platform Java untuk mengembangkan aplikasi GUI (Graphical User Interface). JFC dapat digunakan untuk grafik 2D, image, format dan printing teks dengan bantuan AWT (Abstract Window Toolkit), Swing, dan Java 2D. Dengan bantuan input method framework, teknologi JFC akan mempersiapkan aplikasi yang dapat diakses semua pengguna di seluruh dunia dengan bahasa yang berbeda. Fitur drag and drop akan menjadikan JFC dapat mendukung transfer data dengan aplikasi Java yang lain. Java Help : platform independent dan salah satu fitur dalam sistem yang menawarkan fasilitas help secara otomatis. API JavaHelp 2.0 sangat berguna untuk membuat dokumentasi online dan memberikan informasi secara online pada para pengguna. Java Web Start : salah satu framework dalam Java yang membantu memulai aplikasi secara langsung dari internet dengan menggunakan web browser. Seperti telah diketahui bahwa Java applet dapat berjalan di browser dan selain itu juga dapat berjalan di Java Web Start. Versi pertama dari Java Web Start mulai dikenalkan pada tahun 2001. Mulai dengan release J2SE 1.4 Java Web Start disertakan dengan Java Runtime Environment, sehingga tidak perlu melakukan instalasi terpisah. JDBC (Java Database Connectivity) : merupakan API (Application Programming Interface) dan bagian dari Java Standard Edition yang digunakan untuk akses data dari database. JMF (Java Media Framework) : merupakan API yang menjadikan pengembang Java untuk memproses dan menambahkan sumber audio-video ke aplikasi Java dan applet. Fitur ini berguna untuk pengembangan multimedia untuk capture, playback dan transcode format media yang berbeda.

B. Untuk tipe JEE (Java Enterprise Edition) EJB (Enterprise JavaBeans): platform Java untuk sisi server digunakan untuk aplikasi enterprise. Dengan menggunakan teknologi ini akan membantu membuat aplikasi yang kecil, mudah didistribusikan dan aman. Java Mail : teknologi API Java Mail akan membantu membuat aplikasi mail dan pesan juga didukung platform dan protokol yang independent. Teknologi ini berada pada platform JSE dan JEE. Java Mail menggunakan platform ekstensibel untuk mentransfer semua jenis Multimedia Internet Mail Extension (MIME). Java Message Services (JMS): digunakan untuk mengirim pesan antar pengguna aplikasi. Fasilitas ini merupakan tool untuk membuat aplikasi enterprise. JMS API merupakan kombinasi teknologi Java dengan tool pesan untuk membuat aplikasi berdasar pesan pendek. Ada dua model yang digunakan yaitu model Point-to-Point dan model Publishing and Subscribing. Java Server Pages (JSP) : membantu para pengembang web dalam mengembangkan dan memperbaiki isi web dalam format seperti HTML dan XML. Dengan bantuan JSP, akan lebih mudah dalam membangun aplikasi web di server. Teknologi ini menggunakan tag HTML dan XML yang memberikan solusi logic untuk isi web. Terdapat pemisahan antara interface dan isi satu sama lain, sehingga akan mempermudah designer mengubah layout tanpa mengubah isi web secara keseluruhan. Java Servlets : mempermudah pengembang menambah isi ke web server dengan menggunakan platform Java. Fitur ini menambah fungsi dari web server. Servlets menyediakan platform independent dan komponen berdasarkan aplikasi web tanpa adanya program CGI.

C. Jenis JME (Java Mobile Edition) Connected Limited Device Configuration (CLDC) : konfigurasi dari Java Micro Edition. CLDC memberikan gambaran kemampuan JVM, inti dari kumpulan API untuk alat-alat seperti pager dan mobile phone. Ada dua versi CLDC yaitu versi 1.0 yang di keluarkan pada tahun 2000 yang dikenal sebagai Java Specification Request (JSR) 30. Versi selanjutnya adalah 1.1 atau JSR 139. CLDC dan MIDP (Mobile Information Device Profile) menyediakan aplikasi dengan platform Java berjalan pada peripheral dengan power-supply yang minim. MIDP (Mobile Information Device Profile) : salah satu konfigurasi pada Java Micro Edition yang biasanya digabungkan dengan CLDC, menyediakan lingkungan java Runtime Environment untuk variasi peralatan mobile dan PDA (Personal Digital Assistance). Dengan bantuan MlDP, pengembang Java dapat membuat aplikasi yang dapat di distribusikan secara mobile dalam waktu yang singkat. Fungsi yang mendukung antara lain user interface, koneksi jaringan data penyimpanan dan proses aplikasi secara keseluruhan. Ada dua versi MIDP yaitu yang pertama MIDP 2.0 atau JSR 118 dan yang kedua MIDP 1.0 atau JSR 37. CDC (Connected Device Configuration) : standar kerangka kerja dari teknologi Java yang digunakan untuk membangun dan mendistribusikan aplikasi Java yang dapat di-sharing dalam jaringan yang luas dan alat seperti pager, mobile phones, set top box, PDA. Ada dua versi yang tersedia yaitu yang pertama CDC 1.0 atau JSR 36 dan yang kedua CDC 1.1 (JSR 218).

Lihat pengenalan java part 2




Artikel Terbaru :
Next
« Prev Post
Previous
Next Post »

Copyright © 2016. puzzpa - All Rights Reserved | Template Created by Kompi Ajaib Proudly powered by Blogger