260 likes | 436 Views
Pengenalan Bahasa JAVA. Tujuan. Pada akhir pembahasan , diharapkan pembaca dapat : Menjelaskan fitur–fitur teknologi dari Java meliputi Java Virtual Machine (JVM ), garbage collection, dan code security. Menjelaskan perbedaan fase pada pemrograman JAVA. SEJARAH JAVA.
E N D
Tujuan Padaakhirpembahasan, diharapkanpembacadapat: Menjelaskanfitur–fiturteknologidari Java meliputi Java Virtual Machine (JVM), garbage collection, dan code security. Menjelaskanperbedaanfasepadapemrograman JAVA
SEJARAH JAVA Pada 1991, sekelompokinsinyur Sun dipimpinoleh Patrick NaughtondanJames Gosling inginmerancangbahasakomputeruntukperangkatkonsumerseperticable TV Box. Dikarenakanperangkattersebuttidakmemilikibanyakmemori, bahasaharusberukurankecildanmengandungkode yang liat. Jugakarenamanufakturmanufakturberbedamemilihprocessor yang berbeda pula, makabahasaharusbebasdarimanufakturmanapun. Proyekdiberinamakode ”Green”.
CONT’ NiklausWirth, penciptabahasa Pascal telahmerancangbahasaportabel yang menghasilkanintermediate code untukmesinhipotesis. Mesininiseringdisebutdenganmesinmaya(virtual machine). Dan Proyek Green menggunakanmesinmayauntukmengatasiisu utama tentang netral terhadap arsitektur mesin. Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakansintaksdiambildari C++, sertamengadopsiorientasiobjekdanbukanprosedural. Mulanyabahasa yang diciptakandiberinama ”Oak” oleh James Gosling yang mendapatinspirasidarisebuahpohon yang beradapadaseberangkantornya, namundikarenakannama Oak sendirimerupakannamabahasapemrogramanyang telahadasebelumnya, kemudian SUN menggantinyadengan JAVA.
NamaJAVA sendiriterinspirasipadasaatmerekasedangmenikmatisecangkir kopi disebuahkedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkankata JAVA yang mengandungartiasalbijih kopi. Produkpertamaproyek Green adalah Star 7 (*7), sebuahkendalijarakjauhyang sangatcerdas. Dikarenakanpasarmasihbelumtertarikdenganprodukkonsumercerdasmakaproyek Green harusmenemukanpasar lain dariteknologiyang diciptakan. Pada saat yang sama, implementasi WWW dan Internet sedang mengalamiperkembanganpesat. Di lain pihak, anggotadariproyek Green jugamenyadaribahwa Java dapatdigunakanpadapemrograman internet, sehinggapenerapanselanjutnyamengarahmenjaditeknologi yang berperandi web.
Java telahmengakomodasihampirseluruhfiturpentingbahasa–bahasapemrogramanyang adasemenjakperkembangankomputasi modern manusia: Dari SIMULA, bahasapadatahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasainidiadopsibentukan–bentukandasardaripemrogramanberorientasiobjek. Dari LISP – bahasatahun 55-an. Diadopsifasilitasgarbage collection, sertakemampuanuntukmenirugeneric list processing, meskifasilitasinijarangyang memanfaatkannya. Dari Algol – bahasapadatahun 60-an, diambilstrukturkendaliyang dimilikinya.
Dari C++, diadopsisintaks, sebagiansemantiksdanexception handling Dari bahasaAda, diambilstrongly type, dan exception handling. Dari Objective C, diambil fasilitas interface. Dari bahasaSmallTalk, diambilpendekatansingle-root class hiérarchie, dimanaobject adalahsatukesatuanhirarkipewarisan Dari bahasa Eiffel, fasilitasassertion yang mulaiditerapkandisebagian JDK 1.4
ApaituTeknologi JAVA? SebuahBahasaPemrograman Sebagaisebuahbahasapemrograman, Java dapatmembuatseluruhbentukaplikasi, desktop, web danlainnya, sebagaimanadibuatdenganmenggunakanbahasapemrogramankonvensional yang lain. Java adalahbahasapemrograman yang berorientasiobjek (OOP) dandapatdijalankanpadaberbagaiplatform sistemoperasi. Perkembangan Java tidakhanyaterfokuspadasatusistemoperasi, tetapidikembangkanuntukberbagaisistemoperasidanbersifatopen source.
SebuahDevelopment Environment Sebagaisebuahperalatanpembangun, teknologi Java menyediakanbanyaktools : compiler, interpreter, penyusundokumentasi, paketkelasdansebagainya. SebuahAplikasi Aplikasidenganteknologi Java secaraumumadalahaplikasiserbaguna yang dapatdijalankanpadaseluruhmesin yang memilikiJava Runtime Environment (JRE).
SebuahDeployment Environment TerdapatduakomponenutamadariDeployment Environment. Yang pertamaadalahJRE, yang terdapatpadapaket J2SDK, mengandungkelas–kelasuntuksemuapaketteknologiJava yang meliputikelasdasardari Java, komponen GUI dansebagainya. Komponenyang lain terdapatpada Web Browser. Hampirseluruh Web Browser komersialmenyediakaninterpreter dan runtime environment dariteknologi Java.
MengapaMenpeajari JAVA? Berdasarkanwhite paper resmidari SUN, Java memilikikarakteristikberikut : Sederhana Bahasapemrograman Java menggunakansintaksmiripdengan C++ namunsintakspada Java telahbanyakdiperbaikiterutamamenghilangkanpenggunaanpointer yang rumitdanmultiple inheritance. Java jugamenggunakanautomatic memory allocation dan memory garbage collection. Berorientasiobjek (Object Oriented) Java mengunakanpemrogramanberorientasiobjek yang membuatprogram dapatdibuat secara modular dan dapatdipergunakankembali. Pemrogramanberorientasiobjekmemodelkandunianyatakedalamobjekdanmelakukaninteraksiantarobjek-objektersebut.
Dapatdidistribusidenganmudah Java dibuatuntukmembuataplikasiterdistribusisecaramudahdenganadanyalibraries networking yang terintegrasipada Java. Interpreter Program Java dijalankanmenggunakan interpreter yaituJava Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodesdapatdijalankanpada platform yang berbeda-beda. Robust Java mempuyaireliabilitas yang tinggi. Compiler pada Java mempunyaikemampuanmendeteksi error secaralebihtelitidibandingkanbahasapemrogramanlain. Java mempunyairuntime-Exception handling untukmembantumengatasi error padapemrograman.
Aman Sebagaibahasapemrogramanuntukaplikasi internet danterdistribusi, Java memilikibeberapamekanismekeamananuntukmenjagaaplikasitidakdigunakanuntukmerusaksistemkomputer yang menjalankanaplikasitersebut. Architecture Neutral Program Java merupakanplatform independent. Program cukupmempunyaisatubuahversi yang dapatdijalankanpada platform yang berbedadenganJava Virtual Machine.
Portabel Source code maupun program Java dapatdenganmudahdibawakeplatform yang berbeda-bedatanpaharusdikompilasiulang. Performance Performance pada Java seringdikatakankurangtinggi. Namunperformance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakanJust In Time Compilers (JIT).
Multithreaded Java mempunyaikemampuanuntukmembuatsuatu program yang dapatmelakukanbeberapapekerjaansecarasekaligusdansimultan. Dinamis Java didesainuntukdapatdijalankanpadalingkungan yang dinamis. Perubahanpada suatu class dengan menambahkan properties ataupun method dapat dilakukantanpamenggangu program yang menggunakanclass tersebut.
FITUR-FITUR JAVA Java Virtual Machine (JVM) JVM adalahsebuahmesinimajiner (maya) yang bekerjadenganmenyerupaiaplikasipadasebuahmesinnyata. JVM menyediakanspesifikasi hardware danplatform dimanakompilasikode Java terjadi. Spesifikasiinilah yang membuataplikasiberbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikanoleh JVM. Aplikasiprogram Java diciptakandenganfile teksberekstensi .java. Program inidikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecodeadalahserangkaianinstruksiserupainstruksikodemesin.
Garbage Collection Program Java melakukangarbage collection yang berarti program tidakperlumenghapussendiriobjek–objek yang tidakdigunakanlagi. Fasilitasinimengurangibebanpengelolaanmemorioleh programmer danmengurangiataumengeliminasisumberkesalahanterbesar yang terdapatpadabahasa yang memungkinkanalokasidinamis.
Code Security Code Security terimplementasipada Java melaluipenggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untukmelindungisistemdariuntrusted Java Code. • Pertama, class-loader menanganipemuatankelas Java keruntime interpreter. Prosesinimenyediakanpengamanandenganmemisahkankelas– kelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas–kelas yang berasal darilocal disk yang dimuatterlebihdahulu.
Kedua, bytecode verifier membacabytecodesebelumdijalankandanmenjaminbytecodememenuhiaturan–aturandasarbahasaJava. • Ketiga, manajemenkeamananmenanganikeamanantingkataplikasidenganmengendalikanapakah program berhakmengaksessumberdayasepertisistemfile, port jaringan, proseseksternaldansistem windowing. Setelah seluruh proses tersebut selesai dijalankan, barulah kode program dieksekusi.
TINGKAT PENGAMANAN JAVA Java juga menyediakan beragam teknik pengamanan lain : Bahasadirancanguntukmempersuliteksekusikodeperusak. Peniadaanpointer merupakanlangkahbesarpengamanan. Java tidakmengenaloperasi pointer. Java memilikibeberapapengamanterhadapapplet. Untukmencegahprogram bertindakmengganggu media penyimpanan, makaapplet tidakdiperbolehkanmelakukanopen, read ataupun write terhadapberkassecarasembarangan.