Pengenalan Bahasa JAVA
Latar Belakang
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.
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 hiérarchie,
dimana objek adalah satu
kesatuan hirarki pewarisan
8. Dari bahasa Eiffel, fasilitas
assertion yang mulai diterapkan di sebagian JDK
1.4
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 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 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.
Sebagian
Fitur dari JAVA
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 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.
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.
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.
4.
Fase – fase Pemrograman 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
|
Menjalankan Program JAVA
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
anda.
Langkah 1:
Memulai Text Editor
Untuk memulai text editor di linux , klik pada
Applications->Accessories->Text Editor.
Langkah 2:
Membuka Terminal
Untuk membuka terminal di linux, klik pada
Applications-> Accessories-> Terminal.
Langkah 3: Tulislah listing program Java
anda dalam text editor.
Langkah 4: Simpanlah program Java anda
Program ini akan disimpan dalam
file yang bernama ''Hello.java'', dan disimpan dalam
sebuah folder yang bernama
MYJAVAPROGRAMS.
Untuk membuka Save dialog
box, klik pada File menu yang terdapat pada menubar dan
kemudian klik save.
Klik pada tombol browse,
kemudian klik tombol Create Folder.
Nama folder baru, MYJAVAPROGRAMS. Sekarang, klik pada folder MYJAVAPROGRAMS untuk mengetahui isi folder yang ada didalamnya. Anda akan melihat gambar yang ditampilkan seperti berikut ini setelah anda klik pada folder tersebut. Untuk saat ini folder tersebut harus kosong sampai terbuatnya folder baru dan kita akan menyimpan semuanya didalam folder tersebut.
Saat ini, dalam pilihan textbox,
ketiklah nama file dari program anda, yaitu ''Hello.java'',
kemudian klik pada tombol SAVE.
Sekarang anda telah menyimpan
file anda, ingatlah cara bagaimana nama frame dapat
berubah dari ''Untitled Document
1 (modified) – gedit'' menjadi "Hello.java
(~/MYJAVAPROGRAMS) – gedit".
Jika anda ingin melakukan perubahan pada file anda, anda hanya perlu
mengeditnya, kemudian menyimpannya kembali dengan mengklik pada File->Save.
Langkah 5:
Meng-compile program anda
Langkah berikut ini adalah meng-compile
program Anda. Masuklah ke Terminal Window yang telah kita buka sebelumnya.
Ketika anda membuka terminal
window, terminal tersebut menampilkan window yang
disebut sebagai home folder Anda.
Untuk melihat isi dari folder tersebut, ketik ls dan
kemudian tekan ENTER. Apa yang
akan anda temukan adalah daftar file-file dan folder didalamnya.
Disinilah Anda dapat melihat
folder dengan nama "MYJAVAPROGRAMS" yang telah kita buat sebelumnya,
dan merupakan tempat dimana kita menyimpan program Hello.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
MYJAVAPROGRAM, maka anda harus mengetik : cd MYJAVAPROGRAMS.
Setelah berada didalam folder
yang berisi program Java Anda, sudah saatnya untuk
memulai meng-compile program Java
tersebut. Sebagai catatan, bahwa file yang Anda
maksud harus ada didalam folder
yang Anda pilih. Periksalah dengan menjalankan
perintah ''ls'' lagi untuk
melihat bahwa file Anda ada didalam folder tersebut.
Untuk meng-compile program Java,
gunakanlah perintah : javac [filename]. Dalam hal ini, Anda mengetikan
perintah : javac Hello.Java.
Selama peng-compile-an, javac
menambah file kedalam disk yang disebut
[filename].class,
atau
dalam hal ini, Hello.class, yang merupakan kode sebenarnya.
Langkah 6 :
Menjalakan Program
Selama proses peng-compile-an,
javac menambah file baru kedalam disk yang disebut
[filename].class, dalam hal ini,
Hello.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.
Untuk menjalankan program Java
Anda, dengan mengetikan perintah : java [filename
without the
extension],
maka dalam hal ini, Anda mengetikkan perintah : java Hello.
Sekarang Anda dapat melihat
dilayar bahwa anda telah menjalankan program Java
pertama Anda, yang menampilkan
pesan, ''Hello world!''.
Errors
Apa yang telah ditunjukan sejauh
ini adalah program Java dimana kita tidak menemukan berbagai masalah dalam
proses compiling maupun pada saat menjalankannya.
Bagaimanapun juga, hal ini tidak
selalu terjadi. Seperti yang telah kita diskusikan pada bagian pertama dari
latihan ini, biasanya kita juga akan menemukan permasalahan selama proses
berlangsung.
Seperti yang
telah didiskusikan sebelumnya, ada 2 macam error. Pertama adalah
compile-time
error atau yang disebut juga sebagai syntax error. Kedua adalah runtime errors.
Syntax Errors
Syntax errors biasanya terjadi
karena kesalahan penulisan. Mungkin Anda kekurangan
sebuah perintah di Java atau lupa
untuk menulis tanda titik-koma pada akhir
pernyataan. Java mencoba untuk
mengisolasi error tersebut dengan cara menunjukkan
baris dari kode dan terlebih
dahulu menunjuk karakter yang salah dalam baris tersebut.
Bagaimanapun juga, error belum
tentu berada pada titik yang ditunjuk.
Kesalahan umum lainnya adalah
dalam kapitalisasi, ejaan, penggunaan dari karakter
khusus yang tidak benar, dan
penghilangan dari pemberian tanda baca yang
sebenarnya.
Mari kita mengambil contoh, pada
program Hello.java kita, dimana dengan sengaja kita
hilangkan titik-koma pada akhir
pernyataan dan juga mencoba untuk mengetikkan ejaan yang salah pada sebuah
perintah.
Pesan error yang pertama
memberitahu bahwa diprogram anda terdapat error pada
baris 6. Hal itu menunjuk pada
kata setelah static, dimana seharusnya dieja sebagai
static.
Pesan error yang kedua
memberitahukan bahwa pada program tersebut kehilangan titikkoma setelah
pernyataan anda.
Jika anda menemukan banyak pesan
error, cobalah untuk mengoreksi kesalahan yang
pertama pada daftar error satu
per satu, dan mencoba untuk meng-compile-nya
kembali. Dengan melakukan hal
tersebut maka, dapat mengurangi total error yang ada.
Run-time Errors
Run-time error merupakan error
yang tidak akan ditampilkan sampai anda menjalankan program anda. Bahkan
program yang dicompile dengan sukses dapat menampilkan jawaban yang salah jika
programmer belum berpikir sampai struktur dan proses logis dari program
tersebut.
Sumber : J.E.N.I e-Book
No comments:
Post a Comment