Java berdiri atas prakarsa dari James Gosling, Patrick
Naughton, Cris Wwarth, Ed Frank, dan Mike Sheridan yang berasal dari
Microsystems Inc pada tahun 1991. Mereka membutuhkan lebih dari 18 bulan untuk
membuat versi pertamanya. Bahasa ini pada awalnya disebut
“Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah
dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara
pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995,
banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy,
Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan
kontributor kunci yang mematangkan prototipe aslinya.
DEFINISI UMUM JAVA
Java adalah bahasa pemrograman yang dapat dijalankan di
berbagai komputer
termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling
saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle
dan dirilis tahun 1996.
Bahasa ini banyak mengadopsi sintak yang terdapat pada C dan C++ namun
dengan sintak.
Model objek yang lebih sederhana serta
dukungan program yang minimal. Aplikasi-aplikasi berbasis java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa
pemrograman yang bersifat umum/non-spesifik (general purpose), dan
secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal
mungkin.
Karena
fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa
platform sistem operasi yang berbeda, java dikenal pula
dengan slogannya, "Tulis sekali,
jalankan di mana pun".
A.
EVOLUSI JAVA
Dengan
munculnya browser-browser baru, standar HTML pun mulai terkenal, DOM menjadi
lebih lengkap fiturnya walaupun kegunaanya berbeda antar browser. Semakin
banyak hal yang bisa dilakukan javascript, kebutuhan cross platfrom pun akhirnya
muncul akibat berkurangnya monopoli browser. Pustaka dan framework javascript
pun banyak lahir. Tidak hanya menjawab kebutuhan cross platform, pustaka ini
juga berusaha menambahkan fitur yang hilang lewat javascript itu sendiri.
Misalnya struktur class, variabel privat dan publik, pemanggilan fungsi secara
asinkron, emulasi threading, dan masih banyak lagi.
Tidak hanya
populer dari segi klien, karakteristik Javascript rupanya juga diinginkan dari
segi server (Jaxer). Dan bahkan kini sudah
berevolusi menjadi platform, bukan hanya bahasa pelengkap. Banyak pihak yang
kini menawarkan platform dengan dukungan javascript, bahkan ada yang dengan
penuh mendukung javascript saja. Berikut ini contoh-contohnya platform
javascript :
1. Appjet
Layanan ini bekerja
seperti yang dilakukan Google lewat Google App Engine. Jika GAE hanya mendukung
python maka Appjet hanya mendukung javascript.
2. TitaniumApp
Layanan ini
banyak mencontoh Adobe AIR dengan memberikan SDK Opensource yang bisa dipakai
untuk membuat dekstop, web dan mobile app dengan mudah lewat HTML, CSS dan
javascript API. Saat ini layanan ini belum lengkap, tetapi akan tetap menarik
karena akan berbeda dengan yang ada di ADOBE AIR.
B.
EDISI JAVA
Banyak dari bahasa
pemrograman modern berdiri diatas sebuah kelas yang sudah ada untuk mendukung kinerjanya.
Pada bahasa pemrograman java, kelompok-kelompok kelas yang berhubungan dengan
fungsi java dimasukan ke dalam satu paket, bervariasi sesuai dengan edisi Java.
Masing-masing paket digunakan dengan tujuan tertentu, baik untuk applet,
aplikasi standar, Skala Enterprise dan produk konsumer.
Java merupakan
bahasa yang bisa dijalankan di semua platform, di beragam lingkungan :
Internet, Consumer electronic product dan Computer applications. Java Platform
tersedia dalam tiga edisi untuk keperluan yang berbeda yaitu :
a.
Java 2
Standard Edition (J2SE)
b.
Java 2
Enterprise Edition (J2EE)
c.
Java 2 Micro
Edition (J2ME)
Pada perkembangan
Enterprise application kita menggunakan banyak paket. Pada Consumer Electronic
Product, hanya sedikit bahasa yang digunakan. Masing-masing edisi berisi Java 2
Software Development Kit (SDK) untuk mengembangkan aplikasi dan Java 2 RunTime
Environment untuk menjalankan aplikasi.
J2EE berisi
paket-paket yang ada di dalam Standart Edition ditambah dengan paket-paket
untuk mendukung pengembangan Enterprise JavaBeans, Java Servelt, JavaServer
Pages dan kendali transaksi yang felksibel.
Micro Edition
(J2ME) The Java 2 Platform, Micro Editions (J2ME) untuk banyak barang
electronic product, seperti pager, smart card, cellphone, handheld PDA dan
set-top box.
C.
FITUR-FITUR JAVA
1. Aksesibilitas
dari berbagai lokasi di dunia
Java
adalah bahasa pemrograman yang ditujukan untuk internet, sehingga Java dapat
diaskes melalui world wide web (WWW) dan dapat diakses dari lokasi manapun di
seluruh dunia. maka mempermudah pengguna
diseluruh dunia, mereka hanya membutuhkan akses internet agar dapat mengakses
Java.
2. Sistem yang bebas virus
Java bersifat strong type-checking pada komputer pengguna, perubahan
pada program akan ditandai sebagai error dan program tidak akan bisa
dijalankan. Type checking adalah sistem pengecekan dimana kode akan dicek
apakah terdapat perubahan dalam kode asli. Jika virus mengubah kode tersebut,
maka program tidak akan dijalankan. Sehingga komputer aman dari serangan virus.
3. Aplikasi yang cocok dengan berbagai platform:
Java adalah bahasa pemrograman yang dapat digunakan diberbagai platform
(Platform Independent Application). Java compiler mengkompile java code menjadi
intermediate bytecode yang dapat dibaca oleh JVM (Java Virtual Machine). Java
Interpreter pada browser yang mendukung Java dapat mengeksekusi bytekode ini.
4. Java 2D/3D
Menyediakan sekumpulan API yang
digunakan untuk membangun grafik 2D/3D.
5.Java Server
Page.
Berkembang dari Java Servlet yang
dipakai untuk mengganti aplikasi CGI, JSP yang mirip ASP dan PHP merupakan
alternatif untuk solusi aplikasi internet.
6.Java Native Interface
Menyediakan sekumpulan API yang
digunakan untuk mengakses fungsi – fungsi di library yang
dibuat dari bahasa penrograman lain.
7. Java Sound
Menyediakan sekumpulan API yang
digunakan untuk memanipulaisi Sound.
8. Java Interface Definition Language + COBRA(Common
Object Request Broker)
Java IDL menyediakan dukungan Java
untuk implementasi COBRA yang merupakan model distributed Object untuk solusi
aplikasi besar di dunia networking.
9. Java Card
Digunakan pada aplikasi smart card .
10. Java
Telephony API
Menyediakan sekumpulan API untuk
memanfaatkan peralatan telephony, sehingga cocok untuk aplikasi Computer
Telephony Integration yang diperlukan seperti Automatic Call Distribution,
PC-PBX dan lain sebagainya.
11. Bahasa
Berorientasi Objek
Meskipun Java dipengaruhi bahasa-bahasa yang lalu,
namun Bahasa Java bukan turunan langsung dari bahasa manapun, dan juga tidak
dirancang untuk kompatibel secara kode sumber dengan bahasa-bahasa sebelumnya.
Bahasa Java secara menyeluruh baru.
12.
Bahasa
Statically Typed
Seluruh objek dalam program harus dideklarasikan lebih
dahulu sebelum digunakan. Ini memungkinkan kompiler Java menentukan dan melaporkan
terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal
untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variable bertipe
integer dengan variable bertipe string). Kelebihan
lain dari fitur ini adalah kode program dapat dioptimasi untuk menghasilkan program
berkinerja tinggi.
13. Bahasa
Dikompilasi
Sebelum menjalankan program di bahasa Java, program
dikompilasi menggunakan Java compiler. Kompilasi akan menghasilkan file
bytecode yang sama fungsinya dengan file kode mesin dan dapat
dieksekusi disemua Java Interpreter. Java Interpreter membaca
file “bytecode” dan menerjemahkan perintah “bytecode” menjadi
perintah-perintah bahasa mesin yang dapat dieksekusi.
14. Bahasa
yang Aman
Salah satu prinsip kunci pembuatan Java adalah
keselamatan dan keamanan. Bahasa Java (implementasinya) telah memperoleh
pengalaman aspek keamanan dari Java Applet.
15. Bahasa
Independen terhadap Platform
Platform independence adalah kemampuan program bekerja di
sistem operasi atau sistem komputer berbeda. Bahasa Java merupakan bahasa yang
secara sempurna tidak bergantung pada platform. Tipe variabel Java
mempunyai ukuran yang sama di semua platform sehingga variabel bertipe integer
(int, long) berukuran sama tidak peduli dimana program Java dikompilasi.
16. Bahasa Multithreading
Thread adalah untuk menyatakan program komputer melakukan
lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk
menulis program multithread, program mempunyai lebih dari satu thread
eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa
tugas secara baik. Semua aplikasi pasti sedikitnya mempunyai satu thread yang
merepresentasikan jalur utama eskekusi.
17. Bahasa yang Didukung Garbage Collector
Program Java melakukan garbage collection yang
berarti pemrogram tidak perlu menghapus sendiri objek-objek yang tidak
digunakan lagi. Fasilitas ini mengurangi beban pengelolan memori oleh pemrogram
dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di
bahasa yang memungkinkan kesalahan alokasi dinamis.
18. Bahasa
yang Mampu Diperluas
Program Java mendukung native method, yaitu
fungsi ditulis di bahasa lain, biasanya C atau C++. Dukungan native method
memungkinkan pemrogram menulis fungsi yang dapat dieksekusi lebih cepat
dibanding fungsi ekivalen di Java. Native method secara dinamis akan di-link
ke program Java, yaitu diasosiasikan dengan program saat jalan. Bahasa
mempunyai banyak fitur modern yang bagus untuk pengelolaan sistem
kompleks.
D.
BAGIAN-BAGIAN JAVA
Code dibawah ini adalah salah satu satu contoh bagian-bagian java dengan
isi (“My Name Is Pramudya”)
public class Hello {
public static
void main(String[] args) {
System.out.println("My Name Is Pramudya");
}
}
- public class Hello{ :
Menyatakan bahwa class Hello memiliki akses public, fungsi class sendiri yaitu
menyatakan bahwa semua statment harus
berada didalam class ini, dan kata Hello merupakan nama file itu sendiri yaitu
"HelloJava". tanda "{" menandakan awal dari blok statment
yang nanti diakhiri dengan "}".
- public static void
main(String[] args){ :
Menandakan
suatu method dalam class Hello, method ini adalah titik awal dari suatu
program, dan biasanya baris ini selalu ada dan sama disemua program Java yang
akan dibuat.
- System,.out.prinln(“My Name Is Pramudya”);:
Pada baris
ini digunakan untuk menampilkan string “My Name Is Pramudya”, sedangkan
System.out.println menandakan perintah mencetak suatu sting/text dan akhiri
dengan [Enter] tapi jika tidak ingin diakhiri dengan enter bisa menggunakan
perintah System.out.print(“My Name Is Pramudya”); sedangkan “:” adalah penanda
dari akhir statment.
E.
SECURITY
JAVA
Java
dirancang dengan dengan prinsip keselamatan dan keamanaan, sehingga java tidak
pernah memiliki fasilitas dan keamanan yang tidak aman yang perlu ditangani
secara khusus. Oleh sebab itu, program
Java tidak dapat memanggil fungsi-fungsi global dan memperoleh akses ke
berbagai sumber dalam sistem karena ada sejumlah pengawasan yang dilakukan oleh
program Java yang tidak dapat dilakukan oleh sistem lain.
F. DAFTAR PUSTAKA
-
Hariyanto,
Bambang “Esensi-esensi Bahasa Pemrograman Java”, Cetakan kedua Penerbit
INFORMATIKA, Bandung:2005.