1.
SEJARAH JAVA
Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick
Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat
konsumer seperti cable TV Box. perangkat tersebut tidak
memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode. Dan
karena manufaktur-manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari
manufaktur manapun. Proyek diberi nama kode ”Green”. 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. 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,
kemudian SUN menggantinya dengan JAVA.
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.4
2. KARAKTERISTIK JAVA
1.
Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan
C++ namun
sintaks
pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang
rumit dan multiple inheritance.
Java juga menggunakan automatic memory
allocation dan memory garbage
collection.
2.
Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang
membuat program
dapat
dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi
objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar
objek-objek tersebut.
3.
Dapat didistribusi dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara
mudah dengan adanya libraries networking
yang terintegrasi pada Java.
4. Interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM).
Hal ini menyebabkan source code Java
yang telah dikompilasi menjadi Java bytecodes
dapat dijalankan pada platform yang berbeda-beda.
5.
Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java
mempunyai kemampuan
mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java
mempunyai runtime-Exception handling untuk
membantu mengatasi error pada pemrograman.
6.
Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan
terdistribusi, Java memiliki
beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk
merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture
Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu
buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8.
Portabel
Source code maupun program Java dapat dengan mudah dibawa
ke platform yang
berbeda-beda tanpa harus dikompilasi ulang.
9.
Performance
Performance pada Java sering dikatakan kurang tinggi.
Namun performance Java
dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise,
Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10.
Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang
dapat melakukan
beberapa pekerjaan secara sekaligus dan simultan.
11.
Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang
dinamis. Perubahan pada suatu class dengan
menambahkan properties ataupun method dapat dilakukan tanpa menggangu program
yang menggunakan class tersebut.
3. FITUR-FITUR JAVA
- Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata yang menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun. 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
Garbage
collection yang berarti program tidak perlu menghapus sendiri objek – objek
yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori
oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang
terdapat pada bahasa yang memungkinkan alokasi dinamis. 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 pemrogram yang mutlak bertanggung jawab akan hal ini.
Hal ini dapat menyulitkan bilamana pemrogram tersebut alpa untuk mengembalikan
blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.
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 Cod yaitu:
1. 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.
2. Bytecode verifier membaca bytecode sebelum dijalankan dan
menjamin bytecode memenuhi
aturan – aturan dasar bahasa Java.
3. Manajemen
keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah
program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan
sistem windowing. Lalu seluruh
proses tersebut selesai dijalankan, barulah kode program di eksekusi.
Java juga
menyediakan beragam teknik pengamanan lain :
1. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
2. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program
bertindak mengganggu media penyimpanan,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.
Tidak ada komentar:
Posting Komentar