PENGENALAN BAHASA JAVA
Tujuan
Pada bab ini akan dibahas secara singkat tentang sejarah JAVA dan definisi
teknologi JAVA. Bab ini juga akan sedikit menyinggung tentang fase – fase dalam program
JAVA.
Sejarah Singkat JAVA
Pada
1991, sekelompok insinyur Sun
dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat
tersebut tidak memiliki
banyak memori, bahasa harus
berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur –
manufaktur berbeda memilih processor yang berbeda
pula, maka bahasa
harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”.
Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap
platform mengantar tim mempelajari implementasi
Pascal yang pernah dicoba. 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.
Karena orang – orang di
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, namun dikarenakan nama Oak sendiri
merupakan nama bahasa pemrograman
yang telah ada sebelumnya, kemudian SUN menggantinya
dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah
kedai kopi kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal
bijih kopi. Akhirnya mereka
sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama
Java.
Produk pertama
proyek Green adalah Star 7 (*7), sebuah kendali
jarak jauh yang sangat cerdas. Dikarenakan pasar masih belum tertarik
dengan produk konsumer
cerdas maka proyek Green harus menemukan pasar lain dari
teknologi yang diciptakan. Pada saat yang sama, implementasi WWW dan Internet
sedang mengalami perkembangan pesat. Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah
menjadi teknologi yang berperan di
web.

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
hierarchie,
dimana
objek adalah satu kesatuan hirarki
pewarisan
8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan
di sebagian JDK 1.4
Teknologi
JAVA
·
Sebuah
Bahasa Pemrograman
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop,
web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat
dijalankan pada berbagai platform sistem
operasi. Perkembangan Java tidak hanya
terfokus oada satu sistem operasi, tetapi dikembangkan untuk
berbagai sistem operasi dan
bersifat open source.
·
Sebuah
Development Environment
Sebagai sebuah
peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun
dokumentasi, paket kelas dan sebagainya.
·
Sebuah
Aplikasi
Aplikasi dengan teknologi Java secara umum adalah aplikasi serbt a guna
yang dapat dijalankan pada seluruh
mesin yang memiliki Java
Runtime Environment (JRE).
·
Sebuah
Deployment Environment
Terdapat dua komponen utama dari
Deployment Environment. Yang pertama
adalah JRE, yang terdapat pada paket J2SDK,
mengandung kelas – kelas untuk semua
paket teknologi Java yang meliputi
kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser
komersial menyediakan
interpreter dan runtime environment dari teknologi Java.
Karakteristik
Java
Berdasarkan white
paper resmi dari
SUN, Java memiliki karakteristik berikut :
1. Sederhana (Simple)
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. Terdistribusi
(Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
libraries
networking yang terintegrasi
pada Java.
4. Interpreted
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. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan
untuk menjaga aplikasi tidak
digunakan untuk merusak system computer yang menjalankan aplikasi
tersebut.
7. Architecture Neutral
Program Java merupakan platform independent.
Program cukup mempunyai satu buah
versi yang dapat dijalankan pada
platform berbeda dengan Java Virtual Machine.
8. Portable
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. Dynamic
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.
Fitur dari JAVA
·
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 pemrogram
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 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.
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 pemrogram 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.
1. 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.
2. Kedua, bytecode verifier membaca bytecode sebelum
dijalankan dan menjamin bytecode memenuhi
aturan – aturan dasar bahasa
Java.
3. 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 :
1. Bahasa dirancang
untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal
operasi pointer. Di tangan pemrogram
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 pemrogram jahat. Pointer
merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. 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, 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.
Fase – fase Pemrograman
JAVA
Gambar dibawah
ini
menjelaskan aliran proses kompilasi dan eksekusi sebuah program Java :

Langkah pertama dalam pembuatan sebuah program berbasis Java
adalah menuliskan kode program pada text editor. Contoh text
editor yang dapat digunakan
antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.
Setelah membuat dan menyimpan kode program, kompilasi file
yang
berisi kode program tersebut dengan menggunakan Java
Compiler. Hasil dari adalah berupa berkas bytecode dengan
ekstensi .class.
Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java
Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.
Proses
|
Tool
|
Hasil
|
Menulis kode program
|
Text editor
|
Berkas berekstensi .java
|
Kompilasi program
|
Java Compiler
|
Berkas berekstensi .class
(Java Bytecodes)
|
Menjalankan program
|
Java Interpreter
|
Program Output
|
Program Java Pertama
public class Latihan1
{
/**
* My first java program
*/
public static void main(String[] args) {
//Menampilkan kata "Selamat
Datang di I-Tech" dilayar
System.out.println("Selamat Datang di I-Tech ");
}
}
Sebelum menjelaskan apa arti dari program tersebut, cobalah untuk menulis program ini didalam file dan kemudian
menjalankannya.
Menggunakan Text editor dan Console
Dalam contoh
ini, kita akan menggunakan text editor untuk
mengedit program Java. Juga membuka terminal window untuk
meng-compile dan meng-execute program Java.
Langkah
1: Memulai text Editor
Langkah 2: Tulislah listing program Java anda dalam
text
editor.

Langkah 3: Simpanlah program Java anda

Program ini akan disimpan dalam file yang bernama
“latihan1.java'', dan disimpan dalam
sebuah folder yang bernama
LatihanJava.
Langkah 4: Meng-compile program
anda
Langkah berikut ini adalah meng-compile program. Untuk melihat isi dari folder tersebut, ketik
dir dan kemudian tekan ENTER. Apa yang akan ditampilkan adalah daftar file-file dan folder
didalamnya.
Disinilah dapat dilihat folder dengan nama "LatihanJava" yang telah
dibuat sebelumnya, dan merupakan tempat dimana kita menyimpan program latihan1.java kita. Kemudian masuklah kedalam direktori tersebut.
Untuk masuk kedalam sebuah direktori, ketiklah
perintah : cd [directory name].
Perintah ''cd'' digunakan untuk merubah
direktori. Dalam hal ini, nama dari
direktori kita adalah LatihanJava, maka kita harus mengetik : cd
LatihanJava.
Setelah berada didalam folder yang berisi program Java, sudah saatnya untuk
memulai meng-compile program Java tersebut.
Sebagai catatan,
bahwa file yang dimaksud
harus ada didalam folder yang dipilih. Periksalah
dengan menjalankan perintah
''dir'' lagi untuk melihat bahwa file
Anda ada didalam folder tersebut.

Untuk meng-compile program Java, gunakanlah perintah
: javac [filename]. Dalam hal ini,
ketik perintah : javac
Latihan1.Java.
Selama peng-compile-an,
javac menambah file kedalam disk yang
disebut
[filename].class,
atau dalam hal
ini, Latihan1.class, yang merupakan kode sebenarnya.
Langkah 5 : Menjalakan Program
Selama proses peng-compile-an, javac menambah
file baru kedalam
disk yang disebut [filename].class, dalam hal ini, Latihan1.class, yang merupakan kode sebenarnya saat ini, dengan perkiraan
tidak ada permasalahan pada saat proses compile
(kita akan menyelidiki dan membahas
permasalahan yang ditemukan selama proses compile,
pada bagian berikutnya), berarti telah siap untuk menjalankan program anda.






0 komentar:
Posting Komentar