Saturday, April 7, 2012

Teknologi Java Apanya Yang Beda


“…Bangsa yang besar adalah bangsa yang selalu mengingat sejarah…” – Bung Karno -
Konon kabarnya ketika Java sedang dibangun, pengembang java terinspirasi ketika dia sedang minum kopi yang biji kopinya berasal dari Jawa (Java) makanya ketika mega proyek pembuatan bahasa pemrograman tersebut berhasil diselesaikan, maka produk tersebut dinamakan Java seperti yang kita kenal sampai sekarang ini. Mungkin para pengembang Java tersebut juga mempunyai hobby suka nongkrong sambil minum kopi seperti saya, hanya saja bedanya ketika mereka lagi nongkrong, mereka terinpirasi untuk menciptakan sesuatu yang hebat, sedangkan jika saya nongkrong biasanya sangat berpotensi untuk sakit perut alias kembung karena kebanyakan minum kopi. Bagaimana dengan anda? Apakah anda termasuk orang yang suka nongkrong juga? Jika anda lagi nongkrong tidak ada salahnya jika anda simak sebentar darimanakah dan bagaimanakah asal-usul Java tersebut dibuat.

A. Sejarah Singkat Java

Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Dikarenakan perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang kokoh. Juga karena manufaktur-manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”.
Kebutuhan untuk fleksibilitas kecil, kokoh dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.
Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal biji kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Untungnya James Gosling itu terinspirasi oleh bijih kopi Jawa, coba seandainya dia terinspirasi dengan tempat biasa kita nongkrong pasti proyek itu dinamakan ”GARDU” atau bisa jadi ”POS KAMLING” atau jangan-jangan malah ”POSYANDU”.

B. Visi Java

Java pertama kali diluncurkan pada tahun 1995 sebagai bahasa pemrograman umum (general purpose programming language) dengan kelebihan bisa dijalankan pada platform apapun dan di web browser sebagai applet. Sejak awal, para pembuat Java telah menanamkan visi mereka ke dalam Java untuk membuat piranti-piranti yang ada di rumah (small embedded customer device) seperti TV, telepon, radio, dan sebagainya supaya dapat berkomunikasi satu sama lain. Tentu saja jalan menuju visi ini tidak mudah untuk ditemukan apalagi untuk ditempuh. Langkah pertama yang diambil oleh Sun Microsystem adalah dengan membuat JVM (Java Virtual Machine) yang kemudian diimplementasikan dalam bentuk JRE (Java Runtime Environment). JVM adalah lingkungan tempat eksekusi program Java berlangsung dimana para objek saling berinteraksi satu dengan yang lainnya. Virtual Machine inilah yang menyebabkan Java mempunyai kemampuan penanganan memori yang lebih baik, keamanan yang lebih tinggi serta portabilitas yang besar.
Apabila kita hanya ingin menjalankan program Java, maka kita cukup memiliki JRE saja. Tapi seandainya kita ingin mengembangkan perangkat lunak sendiri, JRE saja tidak cukup. Untuk lebih meningkatkan produktivitas pengembang perangkat lunak, Sun juga meluncurkan SDK (Standard Development Kit) yang berisi sekumpulan program dan API untuk membuat program aplikasi berbasis Java. Pada tahun 1999 Sun meluncurkan J2EE (Java 2 Enterprise Edition) sebagai framework untuk membuat aplikasi enterprais berskala besar. Pada tahun 2001, Sun meluncurkan J2ME yang kelak menjadi salah satu standar pemrograman di dalam PDA maupun handphone.
Entah siapa orangnya yang kurang kerjaan membuat istilah-istilah yang aneh-aneh dan susah dihafalkan seperti yang tertera pada alenia diatas. Tapi hal ini mau tidak mau harus saya cantumkan agar supaya para pembaca yang budiman tidak bingung ketika membaca istilah-istilah tersebut di buku lain atau ketika browsing di internet. Tapi anda tidak perlu khawatir, jika anda bingung memahami maksud dari alenia diatas, anda cukup melihat dan memahami ilustrasi eksekusi program Java seperti yang terlihat pada gambar disamping ini.

C. Karakteristik Java

Java adalah sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.
Bahasa Java itu sederhana, semudah C dan seampuh C++ hal ini berlawanan dengan anggapan orang-orang bahwa bahasa Java itu sulit untuk dipelajari, Java gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman.
Bahasa Java adalah bahasa pemrograman yang sangat berorientasi pada objek (OOP) dengan implementasi yang sangat baik sehingga kita bukan hanya belajar bagaimana membuat program yang baik (reusable,scalable, dan maintanable) tetapi juga kita belajar bagaimana cara berfikir yang baik untuk mengenali struktur masalah yang sedang kita hadapi dan memecahkannya secara sistematis dengan pola-pola tertentu (patterns)
Bahasa Java dikenal dengan OpenPlatform, Write Once Run Anywhere (WORA), portabel atau multi platform, program yang kita buat dapat dijalankan di Windows, Linux/Unix, Solaris, dan MacIntosh tanpa perlu diubah maupun di kompilasi ulang. Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
Arsitektur Java terkenal kokoh dan didukung oleh komunitas Open Source (ketiga terbesar setelah C dan C++ di SourceForge.net dan implementasi bahasa Java sudah menjadi milik umum). Dalam Java program yang kita buat tidak mudah untuk “hang” karena konflik pada memori biasanya diselesaikan dengan mengumpulkan objek-objek yang sudah tak terpakai lagi secara otomatis oleh garbage collector. Penanganan kesalahan juga dipermudah dalam Java dengan konsep Exception.
Java bukan sekedar bahasa tapi juga platform sekaligus arsitektur. Java mempunyai portabilitas yang sangat tinggi. Ia dapat berada pada smartcard, pager, POS (Point of Service), handphone, PDA, palm, TV, Embedded device (PLC, micro controller), laptop, pc, dan bahkan server). Menyadari akan hal ini (one size doesn’t fit all) Sun membagi arsitektur Java membagi tiga bagian, yaitu:
  • Java 2 Enterprise Edition (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java
  • Java 2 Standar Edition (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus kita sekarang.
  • Java 2 Micro Edition (J2ME) merupakan bagian dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device / mobile device seperti handphone, PDA dsb.

D. Fitur-fitur Utama dalam Java

Java Virtual Machine (JVM)

JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.
Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class. Bytecode adalah serangkaian instruksi mirip dengan instruksi kode mesin (machine code). Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.

Garbage Collection

Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.
Program Java melakukan garbage collection yang berarti program bisa menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.

Code Security

Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrust ed Java Code.
  • Class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas–kelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan.
  • Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
  • Security Management menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Nah…para pembaca yang budiman, bagaimana? Apakah anda masih meragukan kemampuan Java? Melihat dari visi, karakteristik dan fitur-fitur dari Java tersebut seharusnya anda tertarik untuk sekedar mencicipi Java. Sekali lagi jangan sampai anda pusing sendiri dengan istilah-istilah asing yang membingungkan, pokoknya santai ajalah. Jika anda masih bingung silakan disruput dulu kopinya dijamin langsung “mak nyus…”



sumber

0 komentar:

Post a Comment