Modul 1 Pengenalan Java
Modul 1 Pengenalan Java
Pertemuan I
PENGENALAN JAVA
1.1 Pendahuluan
1.1.1 Sejarah
Pada tahun 1991 bahasa java lahir dari the green project yang dikerjakan oleh
sekelompok insinyur dari Sun Microsystem, Inc., yang dipimpin oleh Patrick Naughton dan
James Gosling. Proyek ini ditujukan untuk merancang bahasa untuk perangkat konsumer
seperti cable TV box. Para perancang ini ingin menciptakan sebuah bahasa pemrograman
yang dapat dijalankan pada semua peralatan yang tidak tergantung oleh platform yang
digunakan oleh peralatan tersebut.
Karena orang-orang yang bekerja dalam proyek Green memiliki dasar bahasa C++
maka kebanyakan sintaksnya diambil dari C++ serta mengadopsi orientasi obyek bukan
prosedural. Pada mulanya, James Gosling memberi nama bahasa pemrogramannya
dengan “Oak”, setelah terinspirasi dari pohon yang berada di seberang kantornya.
Kemudian diganti dengan “Java”, karena sudah ada bahasa pemrograman dengan nama
Oak. Nama Java terinspirasi ketika mereka sedang minum kopi di sebuah kedai kopi,
kemudian salah satu diantara mereka menyebut nama Java yang mengandung arti asal
dari biji kopi.
Salah satu hasil dari green project adalah maskot java yang dibuat oleh Joe Palrang
dan diberi nama Duke (gambar 1.1).
Produk pertama proyek Green adalah “*7” (Star Seven), yaitu sebuah kendali jarak
jauh yang cerdas. Karena pasar belum tertarik dengan produk konsumer cerdas maka
proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada waktu itu
perkembangan internet sedang pesat, maka proyek Green lebih diarahkan ke teknologi
internet. Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi
Java. Setelah itu diikuti diikuti IBM, Symantec dan Microsoft.
Pada awal tahun 1996, Sun secara resmi merilis versi awal Java, sehingga muncul
JDK 1.1 (Java Development Kit versi 1.1), kemudian muncul Java 2 yang dilengkapi Swing,
yaitu teknologi GUI (Graphical User Interface) yang dapat menghasilkan aplikasi desktop.
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Pada tahun 1998 – 1999 lahirlah teknologi java berbasis enterprise yang disebut
J2EE (Java 2 Enterprise Edition) yang diawali dengan servlet dan EJB kemudian diikuti JSP.
Java juga menjadi lebih cepat populer di lingkungan server side dikarenakan kelebihanya
di lingkungan network dan terdistribusi serta kemampuan multithreading. Selain itu java
juga mengembangkan J2ME (Java 2 Micro Edition) yang dapat menghasilkan aplikasi
mobile baik games maupun software yang dapat dijalankan di peralatan mobile seperti
ponsel.
Gambar 1.2. Logo Java (Merek dagang dari Sun Microsystems, Inc)
1.1.2 Karakteristik
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
a. Sederhana
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.
b. 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.
c. Dapat didistribusi dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
libraries networking yang terintegrasi pada Java.
d. Interpreter
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.
e. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai
kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
page 3 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
1.1.4 Teknologi
Teknologi java merupakan sebuah bahasa pemrograman dan platform. Bahasa
pemrograman java merupakan bahasa tingkat tinggi yang memiliki berbagai karakteristik
seperti yang telah dijelaskan sebelumnya.
Platform adalah lingkungan perangkat keras atau lunak dimana program berjalan.
Kita sudah mengenal beberapa platform yang paling populer seperti Microsoft Windows,
Linux, Solaris OS, dan Mac OS. Kebanyakan platform dapat digambarkan sebagai
kombinasi dari sistem operasi dan perangkat keras yang mendasarinya. Platform Java
berbeda dari platform lainnya, karena hanya merupakan platform perangkat lunak yang
berjalan di atas platform hardware lainnya.
Java platform terdiri dari dua komponen, yaitu Java Virtual Machine (JVM) dan
Aplication Programming Interface (API).
page 4 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Secara garis besan teknologi Java terbagai menjadi beberapa bagian yaitu seperti di
bawah ini :
a. J2SE (2 Platform Standard Edition)
Teknologi Java ini dirancang untuk membuat aplikasi yang berjalan pada PC dan
workstation yang berada pada platform Windows, Linux, Macintos. J2SE terbagi
menjadi dua bagian besar yaitu J2SE Core dan J2SE Desktop.
J2SE Core digunakan untuk teknologi security, debugging, database dan
sebagainya. Sedangkan teknologi J2SE Desktop meliputi beberapa teknologi yaitu
JRE (Java Runtime Environment), JFC (Java Foundation Classes), Java Sound API
dan sebagainya.
b. J2EE (2 Platform Enterprise Edition)
Teknologi Java ini digunakan untuk pengembangan aplikasi-aplikasi enterprise,
meliputi beberapa teknologi yaitu JSP (Java Server Pages), Java Servlet, CORBA
(untuk aplikasi terdistribusi) dan sebagainya.
c. J2ME (Java 2 Platform Micro Edition)
Teknologi Java ini digunakan untuk pengembangan sistem mikro dan sistem
embedded seperti handphone, PDA dan lain sebagainya. Meliputi dua bagian
besar yaitu CLDC (MIDP, BlueTooth dan lainnya) dan CDC Technology
(JDBC/teknologi database dan RMI).
d. Java Web Services
Merupakan aplikasi web berbasis enterprise dengan standar XML dan protokol
tertentu untuk bertukar data dengan klien. Teknologi ini meliputi beberapa API
yang dirancang untuk bekerja dengan XML seperti Java API for XML Based RPC
(JAX-RPC), Java API for XML Based Messaging (JAXM), Java API for XML
Processing (JAXP) dan Java API for XML Binding (JAXB).
page 5 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Start mulai dikenalkan pada tahun 2001. Mulai dengan release J2SE 1.4 Java
Web Start disertakan dengan Java Runtime Environment, sehingga tidak perlu
melakukan instalasi terpisah.
• JDBC (Java Database Connectivity) : merupakan API (Application Programming
Interface) dan bagian dari Java Standard Edition yang digunakan untuk akses
data dari database.
• JMF (Java Media Framework) : merupakan API yang menjadikan pengembang
Java untuk memproses dan menambahkan sumber audio-video ke aplikasi
Java dan applet. Fitur ini berguna untuk pengembangan multimedia untuk
capture, playback dan transcode format media yang berbeda.
page 6 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
lingkungan java Runtime Environment untuk variasi peralatan mobile dan PDA
(Personal Digital Assistance). Dengan bantuan MlDP, pengembang Java dapat
membuat aplikasi yang dapat di distribusikan secara mobile dalam waktu yang
singkat. Fungsi yang mendukung antara lain user interface, koneksi jaringan
data penyimpanan dan proses aplikasi secara keseluruhan. Ada dua versi
MIDP yaitu yang pertama MIDP 2.0 atau JSR 118 dan yang kedua MIDP 1.0
atau JSR 37.
• CDC (Connected Device Configuration) : standar kerangka kerja dari teknologi
Java yang digunakan untuk membangun dan mendistribusikan aplikasi Java
yang dapat di-sharing dalam jaringan yang luas dan alat seperti pager, mobile
phones, set top box, PDA. Ada dua versi yang tersedia yaitu yang pertama CDC
1.0 atau JSR 36 dan yang kedua CDC 1.1 (JSR 218).
1.1.5 Arsitektur
Seperti gambar diatas, lapisan terbawah adalah system operasi yang menjalankan
Java Virtual Machine (JVM), diatasnya terdapat Core APIs (Application Programming
Interfaces) dan integration APIs yang menyediakan kumpulan library.
Lapisan berikutnya adalah Swing dan AWT (Abstract Windowing Toolkit) untuk
membuat tampilan aplikasi yang bagus. Lapisan selanjutnya adalah utilitas untuk
menjalankan aplikasi pada lingkungan desktop. Lapisan teratas adalah utilitas yang
digunakan oleh para programmer untuk pengembangan, kompilasi, debug dan membuat
dokumentasi program.
Beberapa fitur yang ditawarkan Java API (Application Programming Interface)
antara lain sebagai berikut :
a. Applet
Program Java yang dapat berjalan di atas browser, yang dapat membuat
halaman HTML lebih dinamis dan menarik.
page 7 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
b. Java Networking
Sekumpulan API (Application Programming Interface) yang menyediakan fungsi–
fungsi untuk aplikasi–aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP,
IP Adrress dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP
(Internet Control Message Protocol) dikarenakan alasan sekuriti dan pada kondisi
umum hanya administrator (root) yang bisa memanfaatkan protokol ICMP.
c. Java Database Connectivity (JDBC)
JDBC menyediakan sekumpulan API yang dapat digunakan untuk mengakses
database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.
d. Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi
Java baik secara high level atau low level, seperti public/private key management
dan certificates.
e. Java Swing
Java Swing menyediakan sekumpulan API untuk membangun aplikasi–aplikasi
GUI (Graphical User Interface) dan model GUI yang diinginkan bisa bermacam–
macam, bisa model Java, model Motif/CDE atau model yang dependent terhadap
platform yang digunakan.
f. Java RMI
Java RMI (Remote Method Invocation) menyediakan sekumpulan API untuk
membangun aplikasi–aplikasi Java yang mirip dengan model RPC (Remote
Procedure Call), jadi objek-objek java bisa dipanggil secara remote pada jaringan.
g. Java 2D/3D
Java 2D/3D menyediakan sekumpulan API untuk membangun grafik – grafik
2D/3D yang menarik dan juga akses ke printer.
h. Java Server Pages
Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi–
aplikasi CGI, JSP (Java Server Pages) yang mirip ASP dan PHP merupakan
alternatif terbaik untuk solusi aplikasi Internet.
i. JNI (Java Native Interface)
JNI menyediakan sekumpulan API yang digunakan untuk mengakses fungsi–
fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman
yang lain seperti C, C++, dan Basic.
j. Java Sound
Java Sound menyediakan sekumpulan API untuk manipulasi sound.
k. Java IDL + CORBA
Java IDL (Interface Definition Language) menyediakan dukungan Java untuk
implementasi CORBA (Common Object Request Broker) yang merupakan model
distributed-Object untuk solusi aplikasi besar di dunia networking.
l. Java Card
Java Card utamanya digunakan untuk aplikasi–aplikasi pada smart card, yang
sederhana wujudnya seperti SIM Card pada handphone.
m. JTAPI (Java Telephony API)
Java Telepony API menyediakan sekumpulan API untuk memanfaatkan devices–
devices telepony, sehingga akan cocok untuk aplikasi–aplikasi CTI (Computer
Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call
Distribution), PCPBX dan lainnya.
page 8 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
b. Garbage Collection
Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer
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 programmer yang mutlak bertanggung jawab akan hal ini.
Hal ini dapat menyulitkan bilamana programmer 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 programmer dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang
memungkinkan alokasi dinamis.
c. 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.
• 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.
• Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan
menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
• 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.
page 9 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
page 10 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Pilih fitur yang akan di-install sesuai kebutuhan dan tentukan tujuan hasil instalasi,
kemudian pilih tombol Next >.
page 11 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Pada saat menginstall JDK, kita juga harus menginstall JRE (Java Runtime
Environment) yang akan kita butuhkan ketika menjalankan program yang kita buat.
Tentukan tujuan instalasi JRE 7, kemudin pilih tombol Next >.
page 12 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Agar file-file JDK hasil instalasi dapat dipanggil dari folder mana saja maka setting
Path harus diarahkan ke folder JDK-nya. Untuk windows XP, klik menu Start, pilih Control
Panel, pilih System, pilih Tab Advanced, sehingga tampil seperti gambar 1.13 berikut ini :
page 13 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
page 14 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Klik Tombol New dan isikan PATH pada Variable Name dan folder BIN dari JDK yang
telah diinstall (C:\Program Files\Java\jdk1.7.0\bin) pada Variable Value. Setelah selesai
jalankan command promt dan ketik PATH, jika folder JDK sudah tampil maka setting path
selesai. Jika belum tampil, restart komputernya terlebih dulu.
Jika ingin melakukan setting path dari command prompt, dapat menggunakan
pernyataan berikut ini :
1.2.2 Kompilator
Untuk mengkompilasi kode sumber java menjadi kelas bytecode menggunakan
program javac.exe. Kode sumber java berekstensi .java, sedangkan kompilator javac
menghasilkan file bytecode dengan ekstensi .class. Kompilator menghasilkan satu file
class untuk tiap kelas yang didefinisikan di file sumber. Sehingga dimungkinkan dalam
satu file sumber java ketika dikompilasi menghasilkan lebih dari satu file class.
Sintaks untuk menggunakan kompilator adalah :
page 15 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
1.2.3 Interpreter
Interpreter merupakan modul utama sistem java yang digunakan aplikasi java.
Interpreter digunakan untuk menjalankan program bytecode java. Interpreter bertindak
sebagai tool baris perintah untuk menjalankan program java non-grafis. Untuk program
grafis memerlukan tampilan yang didukung browser dan sistem operasi.
Sintaks untuk menggunakan interpreter adalah :
page 16 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
dan metode publik (public method) di kelas. Class file disassemble berguna ketika kita
tidak mempunyai kode sumber dari kelas. Dengan demikian, kita dapat mengetahui data
dan metode publik sehingga kita dapat menggunakannya.
Sintaks untuk menggunakan Java Class File Disassembler adalah :
1.2.9 Demo
JDK juga berisi beragam contoh program java, semuanya disertai kode sumber.
page 17 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
TestHello.java
public class TestHello {
public static void main (String args[]) {
System.out.println("Hello, Test Program Java Mode Teks :)");
}
}
Untuk editornya dapat menggunakan notepad, vi atau text editor lainnya, kemudian
simpan dengan nama TestHello.java (huruf besar/kecil harus sama dengan yang
ditulis pada nama class). Untuk mengkompilasi gunakan perintah :
Javac TestHello.java
Jika tidak ada kesalahan, berarti aplikasi JDK sudah terinstall dan sintak dalam
program tidak ada kesalahan. Untuk menjalankan gunakan perintah :
Java TestHello
TestGUI.java
import javax.swing.*;
class TestGUI{
public static void main (String args[]){
JOptionPane.showMessageDialog(null, "Membuat program java sangat
mudah ! :)");
}
}
page 18 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
TestApplet.java
import java.awt.Graphics;
import javax.swing.JApplet;
import java.awt.Color;
Kemudian buat file HTML untuk memproses program java applet yang telah dibuat :
TestApplet.html
<html>
<p> Ini adalah file html yang disisipi Applet Java </p>
<applet code="TestApplet.class" height=200 width=320>
No Java?!
</applet>
</html>
page 19 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
page 20 of 21
Modul Pemrograman I (Pertemuan I) Universitas Pamulang
Referensi :
page 21 of 21