Bagi
anda yang kini sedang menempuh mata kuliah dengan jurusan Informatika
atau hanya sekedar ingin belajar tentang pemrograman maka anda sebaiknya
terlebih dahulu mengenal apa itu bahasa pemrograman dan jenis bahasa
pemrograman apa saja yang digunakan saat ini.
Salah
satu bahasa pemrograman yang digunakan oleh orang-orang saat ini adalah
bahasa pemrograman Java yang mana bahasa pemrograman Java merupakan
karya Sun Microsystem Inc. Rilis resmi level beta dilakukan pada November 1995. Dua bulan berikutnya Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun.
Sebelum
kita membahas lebih dalam lagi mengenai bahasa pemrograman Java
sebaiknya anda mengetahui beberapa hal penting mengenai Java
diantaranya: Evolusi Java, Edisi Java, Fitur Java, Bagian-bagian Java
dan Security Java yang akan kita bahas secara satu persatu di bawah ini.
1. Evolusi Java
Berbicara
masalah Evolusi atau Perubahan pada Java maka kita akan mendapati bahwa
ternyata telah memiliki banyak sekali perubahan yang mana berawal pada
tahun 1996, Sun mengeluarkan JSDK (Java Software Development Kit). Kemudian secara berturut-turut sebagai berikut ini:
- Versi 1.02 yang mendukung konektivitas basis data dan objek-objek tersebar.
- Versi 1.1 pada tahun 1997 ditambahkan model kejadian (event model) yang handa, Internationalization, dan model komponen JavaBeans.
- Versi 1.2, dirilis pada tahun 1998 mempunyai banyak peningkatan diantaranya user interface toolkit “Swing” yang memungkinkan pemrogram membuat aplikasi berbasis GUI yang sepenuhnya portable. Sejak ini disebut sebagai Java 2.
- Versi 1.3 dirilis tahun 2000, dengan banyak peningkatan. Dan versi 1.4 ditambahkan fasilitas asersi untuk dukungan design-by-contrack.
- Versi 1.5 ditambahkan fitur-fitur baru di level bahasa di antaranya generic (parameterized types), enumeration, dan metadata. Versi ini disebut JDK 5.
- Versi 1.5 ditambahkan lightweight database system yaitu Derby. Derby merupakan hasil pengembangan dari proyek basis data Apache. Derby mulanya merupakan CloudSpace dari IBM.
Pengembangan Java bukan hanya ditujukan untuk pemrograman applet di web browser menjadi bahasa pemrograman pengembangan aneka ragama aplikasi, mulai dari yang berjalan di handheld devices seperti handphone, PDA (Personal Digital Assitant) sampai skala enterprise di beragam komputer server.
2. Edisi Java
Dengan perkembangan Java yang kini telah menjadi bahasa untuk pengembangan aplikasi skala enterprise berbasis jaringan besar maka Java pun dapat dijalankan di sembarang platform, di beragam lingkungan: internet, consumer, electronic, products, dan computer applications. The Java 2 platform tersedia dalam tiga edisi untuk keperluan berbeda berikut:
a. Standart Edition (J2SE)
Edisi
ini mendukung konektivitas basis data, rancangan antarmuka pemakai,
masukan/keluaran, dan pemrograman jaringan dan termasuk sebagai
paket-paket dasar Java.
b. Enterprise Edition (J2EE)
Edisi ini menyediakan kakas untuk membangun dan menjalankan multifier enterprise applications. J2EE, berisi paket-paket di J2SE ditambah paket-paket untuk mendukung pengembangan Enterprise JavaBeans, Jva Servlets, JavaServer Page, XML, dan kendali transaksi yang fleksibel.
c. Micro Edition (J2ME)
Edisi ini digunakan untuk beragam consumer electronic product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box. J2ME menyediakan bahasa Java yang sama, unggul dalam portabilitas, kemampuan dijalankan di mana pun dan safe network delivery seperti J2SE dan J2EE. J2ME menggunakan sekumpulan paket lebih kecil. J2ME berisi subset paket J2EE ditambah paket spesifik Micro Edition javac.microedition.io. Aplikasi J2ME dapat diskala agar juga dapat bekerja dengan J2SE dan J2EE.
3. Fitur-fitur Java
Sebagai
bahasa pemrograman, bahasa java memiliki fitur penting dalam pembuatan
berbagai jenis aplikasi. Adapun fitur-fitur Java adalah sebagai berikut:
1. 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.
2. 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.
3. 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.
a. 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.
b. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
c. 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.
4. Bagian-bagian Java
Seperti
yang kita ketahui bahwa Java telah begitu banyak perkembangan yang mana
dari tahun ke tahun terdapat versi berbeda-beda yang tentunya memiliki
banyak peningkatan dibandingkan dengan versi terdahulunya dan salah satu
versi Java yang terkenal yakni JDK (Java Development Kit). Adapun
bagian Java dari versi ini adalah sebagai berikut:
- Kompilator (javac)
- Interpreter program Java (java)
- Applet viewer (appletviewer)
- Debugger (jdb)
- Class file disassembler (javap)
- Header and stub file generator (javah)
- Documentation generator (javadoc)
- Applet demo
- Kode sumber Java API
5. Security Java
Salah satu keunggulan dari Java ialah bisa dilihat dari segi keamanannya karena telah memperoleh pengalaman aspek keamanan dari Java applet.
Java menggunakan model pengamanan tiga lapis untuk melindungi system dari untrusted Java code.
- Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java.
- Class loader, menangani pembuatan kelas Java ke runtime interpreter.
- Manajer kemanan menangani kemanan tingkat aplikasi dengan mengendalikan apakah sebuah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Sumber:
- Dr. Bambang Hariyanto “esensi-esensi bahasa pemrogaram Java” revisi ketiga.