Senin, 19 Desember 2011

Tutorial Java – Perkembangan Teknologi Java

1. Adopsi Bahasa Java

Java merupakan suatu bahasa pemrograman yang berorientasi Objek atau sering disebut OOP (Object Oriented Programming). Java memudahkan programmer untuk melakukan porting ke suatu arsitektur/platform yang mana Java mempunyai slogan “Write Once Run Any Where“. Maksudnya, bahwa ketika menulis program dengan Java di Windows, dan program yang dibuat dapat dijalankan pada berbagai platform seperti Linux, FreeBSD dan keluarga Unix hanya dengan menggunakan Java Virtual Machine (JVM). Untuk itu java dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.

Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa
pemrograman konvensional yang lain. Untuk memudahkan dalam menulis program java, sebaiknya diinstall terlebih dahulu IDE (Interface Development Environment) seperti NetBeans atau JCreator. Anda juga dapat mendownload paket Java yang dibundel dengan NetBeans. IDE adalah sebuah peralatan dalam pemrograman yang diintegrasikan ke dalam aplikasi software yang mendukung pembangunan GUI, teks atau penulisan kode.

Java telah mengakomodasi hampir seluruh fitur penting bahasa–bahasa
pemrograman yang ada semenjak perkembangan komputasi modern manusia :

  1. Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi
    Java sekaligus C++. Dari bahasa ini diadopsi bentukan–bentukan dasar dari
    pemrograman berorientasi objek.
  2. Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta
    kemampuan untuk meniru generic list processing, meski fasilitas ini jarang
    yang memanfaatkannya.
  3. Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang
    dimilikinya.
  4. Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling
  5. Dari bahasa Ada, diambil strongly type, dan exception handling.
  6. Dari Objective C, diambil fasilitas interface.
  7. Dari bahasa SmallTalk, diambil pendekatan single-root class hiérarchie,
    dimana object adalah satu kesatuan hirarki pewarisan
  8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK

1. Platform Java

Java Platform adalah sebuah platform software yang berbeda dari berbagai platform lainnya seperti Microsoft Windows, Macintosh, OS / 2, UNIX dan NetWare,. Namun dirancang untuk menghasilkan dan berjalan sangat interaktif, dinamis, dan applet yang aman dan aplikasi-aplikasi pada sistem jaringan komputer. Java Platform berada di atas sistem operasi ini. Aplikasi yang ditulis dalam bahasa Java untuk mengkompilasi arsitektur netral JVM (Java Virtual Machine) bytecodes, yang tidak sekedar kode mesin normal. Selanjutnya interpreter java menterjemahkan kedalam kode eksekusi. Keuntungan utama dari pendekatan ini adalah agar memungkinkan untuk menjalankan aplikasi Java pada sistem apapun, selama masih menerapkan sistem JVM.

Gambar . Platform Java

Java Platform ini terdiri dari dua bagian utama, yaitu Java Virtual Machine (JVM) dan Java API, seperti yang ditunjukkan dalam Gambar 1.1 diatas.

  1. Sebagai Mesin Virtual. Java Virtual Machine (JVM) adalah suatu mesin virtaul yang menginterpretasikan bytecode-bytecode java ke dalam bahasa mesin. Bytecode java adalah adalah file hasil kompilasi kode java (ekstension filenya adalah .class). Jika sutu program java bernama ContohJava.java dikompilasi maka hasilnya adalah ContohJava.class (inilah yang disebut bytecode java). Sebenernya paradigma pemrogramman dengan cara menginterpretasikan kode (dalam java adalah bytecode) menurut para ahli kurang bagus dari sisi performance (kecepatan). Tapi JVM mencoba mengatasi masalah ini dengan menerapkan teknik just in time (JIT) compilation yaitu java bytecode langsung dikompilasi menjadi bahasa mesin untuk kode-kode program yang dijalankan secara berulang-ulang. Program Java dieksekusi dalam JVM daripada dijalankan langsung pada sistem operasi (native operating systems), program di-interpreted oleh JVM untuk native operating systems. Hal tersebut membuat program yang ditulis dengan bahasa Java dapat berjalan dari satu platform ke platform lainnya. Dengan kata lain kita dapat membuat program di Solaris, Linux, Macintosh, atau Windows, dan dapat dijalankan pada server atau platform yang lain. JVM ada dalem paket yang disebut JRE ( Java Run Time Environtment), yaitu paket lingkungan yang dibutuhkan ketika menjalankan aplikasi java. JRE inilah yang menterjemahkan Byte code hasil kompilasi ,menjadi native pada platform yang akan menjalankan aplikasi kita. Pada JRE inilah bersifat spesifik platform sehingga terdapat : jre untuk linux, jre untuk windows dan sebagainya. Salah satu komponen penting dari JRE adalah JVM (Java Virtual Machine).
  2. Application Programming Interface (API). Adalah sekumpulan (libraries) komponen software (kelas-kelas dan interface-interface java) siap pakai yang memiliki berbagai kegunaan dan kemampuan yang berbeda-beda. Sekumpulan kelas-kelas dan interface-interface yang saling berkaitan diorganisasikan dalam suatu library. Library ini dikenal dengan sebutan package (paket). Paket inilah untuk menambahkan fungsionalitas yang sudah dibuat dan dapat dirubah, sehingga menghemat waktu coding.

Berikut adalah kumpulan library dasar di java :

  • java.lang : adalah paket yang berisi kelas-kelas elemen dasar (untuk melakukan pemrogramman). Jika kita menggunakan kelas-kelas ini dalam kode kita tidak perlu melakukan import lagi.
  • java.io : adalah paket yang berisi kelas-kelas untuk melakukan manipulasi masukan dan keluaran (input dan output) termasuk penanganan masalah file.
  • java.util : adalah paket yang berisi kelas-kelas pelengkap seperti kelas struktur data dan kelas penanggalan.
  • java.net : adalah paket yang berisi kelas-kelas yang memungkinkan komputer saling berinteraksi dengan komputer yang lainnya melalui jaringan TCP/IP.
  • java.awt : adalah paket yang berisi kelas-kelas yang memungkin programmer untuk membuat aplikasi dengan antarmuka grafis, Graphical User Interface (GUI).
  • Java.awt.peer : merupakan paket yang berisi keseluruhan definisi interfece. Setiap antarmuka java.awt.peer berkaitan dengan salah satu atau java.awt Komponen MenuComponent kelas. The interface dalam paket ini menentukan metode yang harus didukung oleh komponen GUI pada platform tertentu.
  • java.applet : adalah paket yang berisi kelas-kelas yang memungkin programmer untuk membuat antarmuka (applet) yang interaktif di web.Semua program yang ditulis dalam java pasti memanfaatkan API Java ini.

Disamping itu, satu hal yang sangat penting, Java merupakan Bahasa Pemrograman. Sebagai suatu bahasa pemrogramman, java memiliki sintak (dalam bahasa manusia adalah kosa kata, grammer dan kalimat) yang mirip dengan bahasa C. Paradigma pemrogrammannya adalah object oriented programmin (OOP) atau pemrogramman berorientasi objek. Penekanannya bukan pada alur (struktur) tapi pada objek, properti dan state-state yang dimiliki oleh objek tersebut. Di sini Java hadir untuk mengatasi kendala-kendala (kompleksitas) bahasa pendahulunya dan menghilangkan hambatan antar sistem operasi. Java memiliki jargon yang sangat terkenal yaitu write once run anywhere (WORA).

Gambar . Persepsi Platform Java

Sehingga sebagian fitur dari java yang penting diuraikan seperti berikut ini :

  • 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 atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. 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 tidak perlu 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 untrusted Java Code.
    • Pertama, 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. Hal ini membatasi aplikasi Trojan karena kelas–kelas yang berasal dari local disk yang dimuat terlebih dahulu.
    • Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan
      menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.

o Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi. Java juga menyediakan beragam teknik pengamanan lain :

  • Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
  • Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.

Sebuah standar aplikasi java sudah dibundel dalam sebuah paket pada Java SDK. Terdapat beberapa platform SDK yang digunakan dalam pemrograman java seperti:

  • J2EE ( Java 2 Enterprise Edition). J2EE merupakan teknologi program java yang sudah diterapkan pada aplikasi computer server. Java EE biasanya sudah dibundel pada paket development tools maupun application server yang kita gunakan. Netbeans, Sun Java Creator atau Eclipse bisa secara paket menyertakannya. J2EE ini bias mendapatkannya di http://java.sun.com/javaee/. Paket ini terdiri dari application server, dan teknologi JavaServerPages (JSP). IDE J2EE akan berjalan bersama dengan IDE J2SE.
  • J2SE ( Java 2 Standart Edition). J2SE merupakan teknologi program java yang pada umumnya digunakan untuk computer desktop/PC. Aplikasi ini bisa didapatkan http://java.sun.com/javase/, kit ini sangat dibutuhkan untuk menghasilkan semua aplikasi, kecuali yang dirancang khusus untuk perlengkapan konsumen (consumer devices) digunakan Java Platform Micro Edition (Java ME). Java SE terdiri dari kompiler, runtime environment, dan core API.
  • J2ME ( Java 2 Micro/Mobile Edition). J2ME merupakan teknologi program java yang diterapkan pada aplikasi mobile seperti pada handphone dan PDA. Paket ini bisa didapatkannya di http://java.sun.com/javame/. Jadi jika ingin menghasilkan program untuk Palm Pilots, screen phones, dan consumer device yang lainnya maka J2ME sangat tepat. Java ME menyediakan tools untuk compiling, deployment, dan konfigurasi alat (device configuration), dan API yang dikhususkan untuk setiap device.
  • Java Card. Merupakan teknologi pemrograman java yang diimplementasikan untuk kebutuhan desain peralatan elektronik yang memiliki sangat sedikit memori, misalnya smart card, dan ATM.
  • JavaFX Script Technology. Merupakan teknologi java yang digunakan untuk aplikasi scripting yang sangat produktif, yang memungkinkan pembuat content (content developers) untuk membuat media yang kaya dan content untuk deployment pada Java environments.. Bisa didapatkannya di https://openjfx.dev.java.net/.

Berikut ini adalah gambar platform IDE java :

Gambar Platform IDE java 2

0 komentar:

Posting Komentar

Featured

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best WordPress Web Hosting