Rabu, 28 Januari 2009

Pengantar JAVA

Pengantar Java E-mail
Ditulis oleh samsul arifin
Java dikembangkan oleh Sun Microsystem dan dirilis untuk pertama kali pada 1995. Java dikembangkan oleh James Gosling dengan tujuan awal untuk menciptakan sebuh virtual machine yang memiliki bahasa mirip dengan C++. Java pada peluncurannya menjanjikan sebuah platform yang memungkinkan permrogram untuk menulis program satu kali dan dapat menjalankannya dimanapun (Write Once, Run Anywhere - WORA).

Mengapa Java?

Paling tidak ada empat keunggulan yang ditawarkan oleh Java

1. Bahasa pemrograman berbasis objek (Object Oriented Programming - OOP)
2. Berjalan pada berbagai macam platform (Platform independent atau platform neutral)
3. Mendukung pemrograman multithreading
4. Class library standard yang lengkap


Bahasa pemrograman berbasis objek

OOP memandang sebuah sistem sebagai interaksi antara objek-objek yang menyusun sistem tersebut. Sebagai contoh, sistem perpustakaan memiliki berbagai macam objek seperti objek pelanggan yang akan meminjam buku dan objek buku yang akan dipinjam. Sistem perpustakaan ini mengandung"interaksi" antara objek pelanggan dan objek buku. OOP adalah paradigma yang hebat dan natural untuk mengembangkan sebuah sistem. OOP akan dibahas lebih mendalam pada pembelajaran-pembelajaran berikutnya.

Berjalan pada berbagai macam platform

Seperti yang dijelaskan sebelumnya, tujuan pertama dari Java adalah menyediakan bahasa pemrograman yang "ditulis sekali, berjalan dimanapun". Java memenuhi misi ini dengan menggunakan Java Vitual Machine (JVM), atau juga dikenal dengan nama Java Runtime Environment (JRE) yang berjalan diatas sistem operasi untuk menjalankan bytecode Java. Proses yang terjadi adalah seperti yang nampak pada gambar dibawah.

Java chart


Program Java dengan file berkekstensi .java di kompile menggunakan kompiler Java (javac) menjadi Java bytecode. Java bytecode ini disimpan dalam sebuah file dengan ekstensi .class. Berikutnya, Java bytecode akan dijalankan oleh JVM yang mana JVM ini berjalan diatas sistem operasi.

Java bytecode yang sama idealnya mampu berjalan pada JVM yang lain tanpa bergantung pada sistem operasi dimana JVM tersebut berada. Pendekatan ini yang memungkinkan Java menjadi bahasa pemrograman yang platform neutral.

Apakah tidak ada kelemahan dengan pendekatan semacam ini? Tentu saja ada beberapa kelemahan, yang paling sering dikeluhkan adalah peformanya yang lambat dibandingkan dengan executable (file dengan ekstensi .exe pada OS Windows), tidak dapat mengakses sistem operasi secara langsung yang menyebabkan kesulitan dalam mengembangkan aplikasi yang "hebat". Sebenarnya adalah solusi yang ditawarkan untuk kelemahan-kelemahan ini, yakni menggunakan Java Native Interface. JNI memungkinkan sebuah program Java, untuk secara langsung berkomunikasi dengan sistem operasi, yang akan meningkatkan performa namun menjadikan aplikasi tersebut tidak platform independence.

Solusi lain yang ditawarkan oleh Java untuk masalah performa aplikasi adalah dalam bentuk Just-In-Time Compiler. Ketika aplikasi dijalankan, JVM menerjemahkan Java bytecode ke instruksi mesin. Ketika kode atau segmen program yang sama ditemui lagi, JVM yang dilengkapi dengan JIT tidak perlu menerjemahkan lagi bytecode tersebut. JVM yang dilengkapi dengan JIT hanya perlu menerjemahkan segmen program yang sama sekali, dan jika segmen program yang sama ditemui lagi, JIT akan merujuk ke instruksi mesin yang sesuai. Kebanyakan JVM sekarang mendukung JIT.


Mendukung pemrograman multithreading

Multithreading dapat dipandang sebagai multitasking pada level aplikasi. Multithreading adalah kemampuan sebuah aplikasi untuk menjalankan beberapa thread secara bersamaan. Jika anda adalah downloader dan mendownload menggunakan download accelerator, maka anda pasti mengerti yang dimaksud disini.

Web browser modern sebenarnya adalah sebuah aplikasi multithreading, ketika web browser membuka sebuah halaman, satu thread akan diluncurkan untuk membuka sebuah gambar, thread yang lain akan diluncurkan untuk membuka gambar yang lain, dan seterusnya. Jadi, untuk melihat sebuah halaman web secara lengkap, kita tidak perlu menunggu masing-masing gambar untuk terbuka secara sempurna. Java mendukung pemrograman multithreading.



Class library standard yang lengkap

Bahasa pemrograman Java melengkapi dirinya dengan banyak library-library class standar yang diperlukan oleh programmer. Library-library ini mendukung algoritma-algoritma standar dan struktur data yang diperlukan untuk mengembangkan sebuah aplikasi. Jika library standar ini tidak cukup, kita dapat selalu mencari library yang kita perlukan di internet. Karena Java adalah sebuah bahasa pemrograman yang digunakan secara luas, menemukan library-library ini bukanlah suatu hal yang sulit.



Teknologi Java
Java menawarkan beraneka ragam teknologi yang dapat dipilih oleh pengembang sistem sesuai kebutuhannya. Java dapat dibagi menjadi 3 besar teknologi, Java Standard Edition (Java SE), Java Micro Edition (Java ME) dan Java Enterprise Edition (Java EE).

Perbedaan utama diantara ketiganya adalah platform dimana aplikasi tersebut akan berada dan target dari aplikasi tersebut. Jika aplikasi yang akan dikembangkan adalah untuk peralatan bergerak, seperti hand phone atau PDA, maka Java ME yang seharusnya digunakan. Jika aplikasi tersebut untuk aplikasi desktop, maka Java SE adalah pilihannya. Untuk aplikasi berskala perusahaan besar, makan Java EE yang sebaiknya digunakan. Pada pembelajaran ini, kita akan memfokuskan diri pada Java SE

Situs Sun Microsystem menawarkan sebuah peta untuk membantu memahami teknologi yang ditawarkan oleh Java, peta tersebut adalah seperti yang nampak pada gambar dibawah, dan anda dapat melihatnya lebih lanjut pada situs Sun di sini. Klik pada gambar peta untuk memperbesar.


Java Techonolgies Map

Tidak ada komentar:

Posting Komentar