Selasa, 21 Agustus 2012

JAVA

Your Survival Kit in Mastering Java

A. Sekilas mengenai teknologi Java

Globalisasi informasi dan konvergensi dari berbagai disiplin ilmu pengetahuan sekarang ini menyebabkan manusia mampu merealisasikan mimpi-mimpi generasi masa lalu. Perangkat keras yang lebih baik --dengan masih mematuhi hukum Moore yang menyatakan bahwa kapasitas microprosessor berlipat dua dengan harga setengahnya setiap 18 bulan --, perangkat lunak yang lebih besar dan kompleks --sekaligus juga mudah dipakai, lebih handal, bahkan gratis untuk Open Source software--, perkembangan jaringan baik itu Internet maupun wireless network dalam fase inflasioner dengan beraneka ragam perangkat keras dan lunak di dalamnya. Semua hal tadi menyebabkan kita harus berhenti untuk berfikir dan merenung sejenak bagaimana kita bisa mengelola kompleksitas yang tinggi dan perubahan yang cepat tersebut.
Mengapa kita perlu belajar bahasa Java?
a)Visi Java.
   Java pertama kali diluncurkan pada tahun 1995 sebagai bahasa pemrograman umum (general purpose programming language) dengan kelebihan dia bisa dijalankan 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, maka untuk lebih meningkatkan produktivitas pengembang perangkat lunak, Sun juga meluncurkan SDK (Standard Development Kit) yang berisi kakas 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 standar pemrograman di dalam PDA maupun handphone. Komunitas OpenSource sendiri mempunyai platform yang disebut dengan Jini untuk merealisasikan visi awal dari Java.
b)Karakteristik Java
• Sederhana, semudah C dan seampuh C++: berlawanan dengan anggapan orang-orang bahwa bahasa Java sulit untuk dipelajari, Java gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman tapi belum terlalu terikat pada paradigma pemrograman prosedural. Tentu saja ini berarti bahwa kita harus siap mempelajari salah satu teknologi yang berkembang paling cepat di dunia dalam dua tahun terakhir ini dengan banyak membaca tentunya baik dari buku maupun melalui web.
• Murni berorientasi 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.

Bahasa berorientasi objek biasanya mempunyai ciri-ciri sebagai berikut:
o Abstraksi yang baik untuk memudahkan pemahaman dan komunikasi.
o Enkapsulasi: penyembunyian informasi dari pihak-pihak yang tidak memerlukannya sehingga kompleksitas tetpa tertangani dengan baik.
o Pewarisan dan polymorphism, teknik yang menyebabkan objek menjadi modular dan mudah untuk dicopot dan dipasang objek yang lain
o Komposisi dan Interface, berguna untuk membuat tingkat kopling yang lebih rendah dan struktur hirarki objek-objek yang rapih sehingga kita bisa mengintegrasikan komponen-komponen untuk membuat sistem yang besar.
• 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. Java adalah juga bahasa yang paling sesuai digunakan bersama dengan XML yang membuat data menjadi portabel, ini karena kelahiran XML tidak terlepas dari dukungan parser-parser berbahasa Java. Selain itu Java turut serta dalam mengkonvergenkan protokol menjadi Open protokol yaitu IP (Internet Protocol) terutama dalam Micro Java
• Arsitekturnya yang kokoh dan pemrograman yang aman didukung oleh komunitas Open Source (kedua terbesar setelah 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 adanya Exception.
• 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:
1. Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java
2. Standar Java (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, danmerupakan fokus kita sekarang.
3. Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device / mobile device
 • Fitur-fitur utama yang lain:
o Mendukung multi-threading
o Selalu memeriksa tipe object pada saat run-time
o Mempunyai automatic garbage collection untuk membersihkan objek yang tidak terpakai dari memori
o Mendukung exception sebagai salah satu cara penanganan kesalahan
o Dapat diperluas secara dinamis
Gambar di bawah ini adalah contoh dari peralatan J2ME sekarang(2002) yang mempunyai JVM di dalamnya sehingga kita dapat membuat dan menjalankan program Java di dalamnya dan berkomunikasi dengan peralatan lain. Bayangkan bagaimana asyiknya jika kita bisa memrogram sendiri peralatan elektronik yang kita miliki. Bayangkan juga bagaimana perkembangan peralatan-peralatan tersebut lima sampai sepuluh tahun kedepan kelak.

0 komentar:

Posting Komentar