Monday, 6 October 2014

JAVA PROGRAMMING

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.



Lihatlah pesan error yang ditampilkan setelah peng-compile-an program dijalankan.
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