Pengenalan Pemrograman 1 1
BAB 2
Pe nge na la n Ba ha sa JAV A
2 .1 Tu j u a n
Pada bab ini akan dibahas secara singkat t ent ang sej arah JAVA dan definisi t eknologi JAVA. Bab ini juga akan sedikit m enyinggung t ent ang fase–fase dalam program JAVA.
Pada akhir pem bahasan, diharapkan pem baca dapat :
1. Menj elaskan fit ur–fit ur t eknologi dari Java m eliput i Java Virt ual Machine ( JVM) , garbage collect ion, dan code securit y.
2. Menj elaskan perbedaan fase pada pem rogram an JAVA
2 .2 La t a r Be la k a ng Ba h a sa JAVA
bebas dari m anufakt ur m anapun. Proyek diberi nam a kode ”Green” .Pengenalan Pemrograman 1 2 Produk pert am a proyek Green adalah St ar 7 (* 7) , sebuah kendali j arak j auh yang sangat cerdas. Dikarenakan pasar m asih belum t ert arik dengan produk konsum er cerdas m aka proyek Green harus m enem ukan pasar lain dari t eknologi yang dicipt akan. Pada saat yang sam a, im plem ent asi WWW dan I nt ernet sedang m engalam i perkem bangan pesat . Di lain pihak, anggot a dari proyek Green juga m enyadari bahwa Java dapat digunakan pada pem rogram an int ernet , sehingga penerapan selanj ut nya m engarah m enj adi t eknologi yang berperan di web.
Java t elah m engakom odasi ham pir seluruh fit ur pent ing bahasa–bahasa pem rogram an yang ada sem enj ak perkem bangan kom put asi m odern m anusia :
1. Dari SI MULA, bahasa pada t ahun 65- an, bahasa yang paling m em pengaruhi Java sekaligus C+ + . Dari bahasa ini diadopsi bent ukan–bent ukan dasar dari pem rogram an berorient asi obj ek.
2. Dari LI SP – bahasa t ahun 55- an. Diadopsi fasilit as garbage collect ion, sert a kem am puan unt uk m eniru generic list processing, m eski fasilit as ini j arang yang m em anfaat kannya.
3. Dari Algol – bahasa pada t ahun 60- an, diam bil st rukt ur kendali yang dim ilikinya.
4. Dari C+ + , diadopsi sint aks, sebagian sem ant iks dan except ion handling
5. Dari bahasa Ada, diam bil st rongly t ype, dan except ion handling. 6. Dari Obj ect ive C, diam bil fasilit as int erface.
7. Dari bahasa Sm allTalk, diam bil pendekat an single- root class hiérarchie,
dim ana obj ect adalah sat u kesat uan hirarki pewarisan
8. Dari bahasa Eiffel, fasilit as assert ion yang m ulai dit erapkan di sebagian JDK 1.4
Pengenalan Pemrograman 1 3
2 .2 .2 Apa it u Te k n ologi JAVA?
2 .2 .2 .1 Se bua h Ba ha sa Pe m r ogr a m a n
Sebagai sebuah bahasa pem rogram an, Java dapat m em buat seluruh bent uk aplikasi,
deskt op, web dan lainnya, sebagaim ana dibuat dengan m enggunakan bahasa pem rogram an konvensional yang lain.
Java adalah bahasa pem rogram an yang berorient asi obj ek ( OOP) dan dapat dij alankan pada berbagai plat form sist em operasi. Perkem bangan Java t idak hanya t erfokus pada sat u sist em operasi, t et api dikem bangkan unt uk berbagai sist em operasi dan bersifat open source.
2 .2 .2 .2 Se bua h De ve lopm e n t En vironm en t
Sebagai sebuah peralat an pem bangun, t eknologi Java m enyediakan banyak t ools :
com piler, int erpret er, penyusun dokum ent asi, paket kelas dan sebagainya.
2 .2 .2 .3 Se bua h Aplik a si
Aplikasi dengan t eknologi Java secara um um adalah aplikasi serba guna yang dapat dij alankan pada seluruh m esin yang m em iliki Java Runt im e Environm ent ( JRE) .
2 .2 .2 .4 Se bua h De ploym e nt En vir on m e n t
Pengenalan Pemrograman 1 4
libraries net working yang t erint egrasi pada Java. 4. I nt erpret er
Program Java dij alankan m enggunakan int erpret er yait u Java Virt ual Machine
( JVM) . Hal ini m enyebabkan source code Java yang t elah dikom pilasi m enj adi Java byt ecodes dapat dij alankan pada plat form yang berbeda- beda.
Pengenalan Pemrograman 1 5 10. Mult it hreaded
Java m em punyai kem am puan unt uk m em buat suat u program yang dapat m elakukan beberapa pekerj aan secara sekaligus dan sim ult an.
11. Dinam is
Java didesain unt uk dapat dij alankan pada lingkungan yang dinam is. Perubahan pada suat u class dengan m enam bahkan propert ies at aupun m et hod dapat dilakukan t anpa m enggangu program yang m enggunakan class t ersebut .
2 .2 .4 Se ba gia n Fit u r da r i JAVA
2 .2 .4 .1 Ja va Virt u a l M a chine ( JVM )
JVM adalah sebuah m esin im aj iner ( m aya) yang bekerj a dengan m enyerupai aplikasi pada sebuah m esin nyat a. JVM m enyediakan spesifikasi hardware dan plat form dim ana kom pilasi kode Java t erj adi. Spesifikasi inilah yang m em buat aplikasi berbasis Java m enj adi bebas dari plat form m anapun karena proses kom pilasi diselesaikan oleh JVM.
Aplikasi program Java dicipt akan dengan file t eks berekst ensi .j ava. Program ini dikom pilasi m enghasilkan sat u berkas byt ecode berekst ensi .class at au lebih.
Byt ecode adalah serangkaian inst ruksi serupa inst ruksi kode m esin. Perbedaannya adalah kode m esin harus dij alankan pada sist em kom put er dim ana kom pilasi dit uj ukan, sem ent ara byt ecode berj alan pada j ava int erpret er yang t ersedia di sem ua plat form sist em kom put er dan sist em operasi.
2 .2 .4 .2 Ga r ba ge Colle ct ion
Banyak bahasa pem rogam an lain yang m engij inkan seorang program m er m engalokasikan m em ori pada saat dij alankan. Nam un, set elah m enggunakan alokasi m em ori t ersebut , harus t erdapat cara unt uk m enem pat kan kem bali blok m em ori t ersebut supaya program lain dapat m enggunakannya. Dalam C, C+ + dan bahasa lainnya, adalah program m er yang m ut lak bert anggung j awab akan hal ini. Hal ini dapat m enyulit kan bilam ana program m er t ersebut alpa unt uk m engem balikan blok m em ori sehingga m enyebabkan sit uasi yang dikenal dengan nam a m em ory leaks.
Pengenalan Pemrograman 1 6
2 .2 .4 .3 Code Se cu r it y
Code Securit y t erim plem ent asi pada Java m elalui penggunaan Java Runt im e Environm ent ( JRE) . Java m enggunakan m odel pengam anan 3 lapis unt uk m elindungi sist em dari unt rust ed Java Code.
1. Pert am a, class-loader m enangani pem uat an kelas Java ke runt im e int erpret er. Proses ini m enyediakan pengam anan dengan m em isahkan kelas– kelas yang berasal dari local disk dengan kelas–kelas yang diam bil dari j aringan. Hal ini m em bat asi aplikasi Troj an karena kelas–kelas yang berasal dari local disk yang dim uat t erlebih dahulu.
2. Kedua, byt ecode verifier m em baca byt ecode sebelum dij alankan dan m enj am in byt ecode m em enuhi at uran–at uran dasar bahasa Java.
3. Ket iga, m anaj em en keam anan m enangani keam anan t ingkat aplikasi dengan m engendalikan apakah program berhak m engakses sum ber daya sepert i sist em file, port j aringan, proses ekst ernal dan sist em windowing.
Set elah seluruh proses t ersebut selesai dij alankan, barulah kode program di eksekusi.
Java j uga m enyediakan beragam t eknik pengam anan lain :
1. Bahasa dirancang unt uk m em persulit eksekusi kode perusak. Peniadaan
point er m erupakan langkah besar pengam anan. Java t idak m engenal operasi
point er. Di t angan program m er handal, operasi point er m erupakan hal yang luar biasa unt uk opt im asi dan pem buat an program yang efisien sert a m engagum kan. Nam un m ode ini dapat m enj adi pet aka di hadapan program m er j ahat . Point er m erupakan sarana luar biasa unt uk pengaksesan t ak diot orisasi. Dengan peniadaan operasi point er, Java dapat m enj adi bahasa yang lebih am an.
Pengenalan Pemrograman 1 7
2 .2 .5 Fa se – fa se Pe m r ogr a m a n JAVA
Gam bar dibawah ini m enj elaskan aliran proses kom pilasi dan eksekusi sebuah program Java :
Gam bar 2.1: Fase dari sebuah Program Jav a
Langkah pert am a dalam pem buat an sebuah program berbasis Java adalah m enuliskan kode program pada t ext edit or. Cont oh t ext edit or yang dapat digunakan ant ara lain : not epad, vi, em acs dan lain sebagainya. Kode program yang dibuat kem udian t ersim pan dalam sebuah berkas berekst ensi .j ava.
Set elah m em buat dan m enyim pan kode program , kom pilasi file yang berisi kode program t ersebut dengan m enggunakan Java Com piler. Hasil dari kom pilasi berupa berkas byt ecode dengan ekst ensi .class.
Berkas yang m engandung byt ecode t ersebut kem udian akan dikonversikan oleh Java I nt erpret er m enj adi bahasa m esin sesuai dengan j enis dan plat form yang digunakan.