Anda di halaman 1dari 32

BAB 2

LANDASAN TEORI

2.1 Teknologi Java

Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu
bahasa pemrograman, dan sekaligus suatu platform. Sebagai bahasa pemrograman,
Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah dipelajari,
terutama bagi programmer yang telah mengenal C/C++. Java merupakan bahasa
pemrograman berorientasi objek yang merupakan paradigma pemrograman masa
depan. Sebagai bahasa pemrograman Java dirancang menjadi handal dan aman. Java
juga dirancang agar dapat dijalankan di semua platform, dan juga dirancang untuk
menghasilkan aplikasi-aplikasi dengan performansi yang terbaik, seperti aplikasi
database Oracle 8i/9i yang core-nya dibangun menggunakan bahasa pemrograman
Java. Sedangkan Java bersifat neutral architecture, karena Java Compiler yang
digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan
kode yang netral terhadap semua arsitektur perangkat keras.
Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu:
1. Java Virtual Machine (JVM)
2. Java Application Programming Interface (Java API)
Sun membagi arsitektur Java membagi tiga bagian, yaitu:
1. J2EE (Java 2 Enterprise Edition)
2. J2SE (Java 2 Second Edition)
3. J2ME (Java 2 Micro Edition)

Universitas Sumatera Utara

2.1.1 J2EE (Java 2 Enterprise Edition)

J2EE adalah kelompok dari beberapa API (Application Programming Interface) dari
Java dan teknologi selain Java. J2EE dirancang untuk membuat aplikasi yang rumit.
J2EE sering dianggap sebagai middle-ware atau teknologi yang berjalan di server,
namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga
mencakup teknologi yang dapat digunakan disemua lapisan dari sebuah sistem
informasi.
Implementasi J2EE menyediakan kelas dasar dan API dari Java yang
mendukung pengembangan dan rutin standard untuk aplikasi client maupun server,
termasuk aplikasi yang berjalan di web browser. untuk aplikasi berbasis web, aplikasi
sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi.

2.1.2 J2SE (Java 2 Standard Edition)

Aplikasi yang dibuat dan dikembangkan penulis dalam penulisan ini menggunakan
bahasa pemrograman berbasis Java 2 Standard Edition (lebih dikenal dengan J2SE).
Pada bagian ini, penulis akan menjelaskan dasar-dasar J2SE, meliputi pengenalan
J2SE dan komponen pada J2SE. Berikut adalah penjelasannya:
J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman Java
untuk aplikasi desktop yang merupakan object-oriented programming. Pada J2SE,
terdiri dari dua buah produk yang dikeluarkan untuk membantu dalam membuat
aplikasi tanpa tergantung dari platform yang digunakan, yaitu:
1. Java SE Runtime Environment (JRE)
Java Runtime Environment (JRE) menyediakan perpustakaan, Java Virtual
Machine (JVM), dan komponen lain untuk menjalankan applet dan aplikasi

Universitas Sumatera Utara

yang ditulis dengan bahasa pemrograman Java. Selain itu, terdapat dua buah
kunci teknologi yang merupakan bagian dari JRE, yaitu: d Plug-in, yang
memungkinkan menjalankan applet di browser populer dan Java Web Start,
yang menyebarkan aplikasi mandiri melalui jaringan. JRE tidak mengandung
utilitas seperti compiler atau debugger untuk mengembangkan applet dan
aplikasi.
2. Java Development Kit (JDK)
Java Development Kit (JDK) merupakan perangkat lunak yang digunakan
untuk menajemen dan membangun berbagai aplikasi Java. JDK merupakan
superset dari JRE, berisikan segala sesuatu yang ada di JRE ditambahkan
compiler dan debugger yang diperlukan untuk mengembangkan applet dan
aplikasi.
Pada JDK, terdapat berbagai tools yang digunakan untuk membangun aplikasi
Java. Tools tersebut digambarkan dengan diagram berikut:

Gambar 2.1 Tools Dasar JDK

Universitas Sumatera Utara

Bahasa pemrograman Java menyediakan library-library standar yang telah dicompile dan dapat langsung digunakan dalam implementasi pembuatan sebuah
aplikasi. Pada library, terdapat berbagai macam class yang dapat digunakan dan telah
dikelompokkan ke dalam package. Package yang tersedia dalam J2SE akan
dijabarkan pada tabel berikut:
Tabel 2.1 Tabel Package pada J2SE
Package
Language

Nama Package
java.lang

Untilities

java.until

I/O

java.io

Text

java.text

Math

java.math

AWT

java.awt

Swing

java.swing

Javax
Applet
Beans
Reflection

Javax
java.applet
java.beans
java.lang.reflect

SQL

java.sql

RMI

java.rmi

Networking

java.net

Security

java.security

Keterangan
Class-class utama yang merupakan inti
dari bahasa Java
Class-class yang mendukung utilitas
struktur Java
Class-class yang mendukung berbagai
macam tipe input dan output
Class yang mendukung lokalisasi
penanganan teks, tanggal, bilangan, dan
message
Class untuk melakukan perhitungan
aritmatik arbitrary-precesion, baik
integer atau floating point
Class untuk perancangan user-interface
dan event-handling
Class untuk membuat berbagai
komponen dalam Java yang
bertingkahlaku sama dengan berbagai
platform
Perluasan dari bahasa Java
Class untuk membuat applet
Class untuk membuat Java Beans
Class untuk memperoleh informasi runtime
Class untuk mendukung akses dan
pengolahan data dalam database
Class untuk mendukung distributed
programming
Class untuk mendukung dalam
membangun aplikasi jaringan
Class untuk mendukungkeamanan
kriptografi

Universitas Sumatera Utara

10

2.1.3 J2ME ( Java 2 Micro Editon)

J2ME adalah lingkungan pengembangan yang dirancang untuk meletakan perangkat


lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika
perangkat lunak berfungsi baik pada sebuah perangkat, maka belum tentu juga
berfungsi baik pada perangkat yang lainnya.
J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat
komputasi selain perangkat komputer desktop yang biasanya lebih kecil dibandingkan
perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager,
personal digital assistants (PDA) dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua librabry yang ada pada
J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa library khusus
yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat seperti pada Gambar 2.2.

Gambar 2.2 Arsitektur J2ME

2.1.4 GUI (Graphical User Interface)

Class dapat digambarkan sebagai cetakan untuk membuat object dengan karakteristik
sesuai yang dimiliki oleh class tersebut. Class menyediakan kemampuan bagi
objectobject yang dibangun dari class tersebut. Class dapat dipandang sebagai
gambaran umum dari sebuah object, sedangkan bentuk aktual object dalam Java
disebut instance. Analoginya, andaikan Class sebagai gambar rancangan sebuah

Universitas Sumatera Utara

11

gedung, maka instance adalah gedung yang telah dibangun berdasarkan rancangan
tersebut. Jadi sebenarnya tidak ada perbedaan antara Object dan Instance, hanya saja
object merupakan definisi umum sedangkan instance merupakan sebutan bagi object
yang nyata terlihat. Keduanya mengacu pada benda yang sama.
Dalam Java, class dikelompokkan berdasarkan fungsi umumnya, misalkan
untuk membuat program berbasis GUI (Graphical User Interface), atau fungsi
lainnya. Kelompok class ini disebut class library. Pemrograman tidak perlu repot
membuat class library, karena development kit yang ada telah membuat library
sedemikian rupa, sehingga mudah digunakan. Misalnya library java.awt untuk
memprograman GUI. Dengan adanya program berbasis grafis ini, mengolah database
akan menjadi lebih mudah, disamping tampilannya lebih menarik. Beberapa bagian
dasar GUI adalah:
1. JLabel
JLabel namaLabel = new JLabel(label)
Sama seperti namanya, class ini akan membuat suatu label pada sebuah
window.
2. JTextField
JTextField namaText = new JTextField(jumlah_karakter_max);\
JTextField adalah suatu class yang akan memudahkan dalam membentuk
isian text pada suatu frame.
3. JButton
JButton namaButton = new JButton(label_pada_button);
JButton adalah suatu class yang akan membantu membentuk objek tombol.
4. JFrame

Universitas Sumatera Utara

12

JFrame sebenarnya adalah suatu class yang disediakan untuk memudahkan


dalam membuat suatu window.
5. JInternalFrame
Sama halnya dengan JFrame, JInternalFrame akan membantu dalam
membuat window. Bedanya JInternalFrame akan berada didalam suatu
window lainnya, jadi tidak dapat berdiri sendiri seperti JFrame.
6. JMenu
JMenu akan membuat objek menu bar pada sebuah frame.
7. ActionListener
ActionListener bukan merupakan suatu objek, melainkan sebuah class
yang akan menampung aksi-aksi dari sebuah objek (yang banyak dipakai
disini adalah tombol). Aksi-aksi itu akan ditampung dalam sebuah metode
bernama ActionPerformed. Jadi bila menggunakan ActionListener, maka
harus menyertakan metode ActionPerformed pada class tersebut.
8. Container
Container.setLayout(new GridLayout(jumlah_baris, jumlah_kolom));
Container akan membantu dalam mengatur penempatan objek seperti text,
label,ataupun tombol. Ada banyak cara yang disediakan untuk mengatur
penempatan objek. GridLayout akan membagi sebuah window menjadi
beberapa baris dan kolom sesuai yang masukkan pada saat setLayout. Dan
penempatan objeknya dimulai dari kiri atas lalu kekanan.

Empat hal utama untuk membangun program berbasis GUI menggunakan swing,
yaitu:

Universitas Sumatera Utara

13

1. Menciptakan dan konfigurasi component Untuk menciptakan component GUI


sama seperti membuat object lain dalam Java, dengan menjalankan
constructor.

Setiap

component

dapat

dilihat

karakteristiknya

dalam

dokumentasi Java.
2. Menambahkan component pada container Setiap component dalam Java harus
diletakkan

didalam

container.

Container

dalam

Java

terdapat

di

java.awt.Container. Container yang sering digunakan yaitu JFrame dan


JDialog. Untuk program berbasis web, dapat menggunakan container Applet
dalam class java.applet.Applet. Ketiga container tersebut merupakan top levelcontainer, yaitu container dasar yang menjadi tempat dasar bagi component
dan container yang lain. Selain tiga di atas masih ada beberapa container lain
seperti JPanel.
3. Mengatur tata letak component Setelah meletakkan component dalam
container, maka component dapat diatur ukuran dan tata letaknya. Selain itu
dapat juga diatur warna dan bentuknya. Untuk mengatur layout, object yang
digunakan yaitu LayoutManager.
4. Menangani kejadian (event-handling) yang dihasilkan oleh component
Component seringkali mengalami kejadian seperti button diklik, frame digeser,
dan lain sebagainya. Kejadian merupakan hasil interaksi user dan program.
Kejadian ini lebih lanjut disebut dengan event. Agar program dapat merespon
event, maka perlu adanya event-listener.

Universitas Sumatera Utara

14

2.2 Download

Download merupakan proses transmisi atau pemindahan sebuah file dari suatu sistem
komputer ke sistem komputer lainnya yang saling terhubung didalam sebuah jaringan,
baik dalam LAN maupun internet.
Logikanya, Download sama seperti copy-paste pada sebuah direktori ke
direktori lain dimana file yang berada pada direktori asal ditransfer ke direktori tujuan
tanpa menghapus file asal tersebut. Bedanya Download dilakukan dari sebuah
jaringan dimana ada user yang meminta atau request sebuah file dari komputer lain
yang menjadi server yang kemudian file tersebut dikirim dan ditampilkan pada
komputer user.
Pada saat download sering terjadi perbedaan waktu, hal itu karena dipengaruhi
oleh faktor kecepatan koneksi internet dan besarnya file yang di-download.
Didunia maya, ada beberapa proses download misalnya saja file transfer
protocol (FTP) atau proses download di-internet yang membutuhkan komputer server
atau host dan client dimana file yang dapat di-download harus terlebih dahulu diupload ke server baru kemudian komputer client dapat merequest file tersebut dan
terjadilah proses download.
Kemudian ada juga yang disebut dengan peer-to-peer yaitu jaringan yang tidak
membutuhkan server. File tersebut di-download dari komputer yang terhubung dalam
jaringan tersebut secara langsung tanpa perantara server. Biasanya cara ini digunakan
untuk file-file yang besar

yang tidak mungkin diupload dan untuk itu

mendownloadnya akan diperlukan software khusus yang akan penulis rancang ditugas
akhir ini yang diberi nama JAVA DOWNLOADER.

Universitas Sumatera Utara

15

2.3 Bahasa Pemrograman Java

Java adalah bahasa pemrograman yang dapat dijalankan diberbagai komputer


termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan dirilis tahun
1995. Java berbeda dengan JavaScript. JavaScript adalah bahasa scripting yang
digunakan oleh web browser.

2.3.1 Sejarah Perkembangan Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama
18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum
menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton,
Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari
Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh
Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road
di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan
sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah
peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang
ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik
ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan
kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju, jumlah karyawan meningkat dalam
waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan
pemakaian Internet sebagai medium yang menjembatani kerja dan ide diantara

Universitas Sumatera Utara

16

mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai
hanya dikalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk
membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film
1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama
menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi
1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada
surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di
sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric
Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen,
membentuk Netscape. Nama Oak, di ambil dari pohon oak yang tumbuh di depan
jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak di pakai
untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan
merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama
ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan
Gosling. Konon kopi ini berasal dari Pulau Java. Jadi nama bahasa pemrograman Java
tidak lain berasal dari kata Java (bahasa Inggris untuk Java adalah Java).

2.3.2 Kelebihan Pemrograman Java

Java memiliki beberapa kelebihan dibandingkan dengan bahasa pemrograman lainnya.


Adapun kelebihan tersebut di antaranya:
1. Sederhana dan Ampuh

Universitas Sumatera Utara

17

Java dirancang untuk mudah dipelajari, terutama bagi programmer yang telah
mengenal C/C++ akan mudah sekali untuk berpindah ke Java. Pemakai dapat
belajar membuat program dengan Java secara cepat jika telah memahami
konsep dasar pemrograman berorientasi objek. Java member programmer
kemampuan untuk menuangkan semua ide, karena bahasa pemrograman ini
bukan merupakan scripting language (bahasa naskah) yang menghilangkan
kemampuan programmer untuk berinovasi, tetapi dengan cara berorientasi
objek yang mudah dan jelas.
1. Aman
Java dirancang sebagai bahasa pemrograman yang handal dan aman. Aplikasiaplikasi yang dibangun dengan bahasa Java sangat handal dengan manajemen
memori yang bagus. Aplikasi Java juga dikenal sangat secure, yaitu kasuskasus seperti buffer everflow yang umumnya menjadi lubang keamanan
aplikasi-aplikasi berbasis C/C++ tidak terjadi di Java, karena pengaturan
keamanannya yang bagus.
2. Berorientasi-Objek
Java merupakan bahasa pemrograman berorientasi objek dan bukan turunan
langsung dari bahasa pemrograman manapun, juga sama sekali tida kompetibel
dengan semuanya. Java memiliki keseimbangan, menyediakan mekanisme
peng-class-an sederhana, dengan model antar muka dinamik yang intuitif
hanya jika diperlukan.
3. Kokoh
Kesalahan sering terjadi pada saat kompilasi karena Java merupakan bahasa
pemrograman yang sensitif dalam hal deklarasi dan tipe data. Oleh karena hal
tersebut, Java memiliki batasan agar dapat menemukan kesalahan lebih cepat

Universitas Sumatera Utara

18

saat mengembangkan program yaitu dengan langsung memeriksa program saat


ditulis, dan sekali lagi ketika program di jalankan. Hal ini akan lebih
menghemat waktu jika dibandingkan dengan keharusan menjalankan program
terlebih dahulu dan memeriksa semua bagian program untuk melihat
ketidakcocokan dinamis selama program berjalan.
4. Interaktif
Java memiliki kemampuan yang memungkinkan program melakukan beberapa
hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan
terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan
memungkinkan programmer untuk memikirkan pembuatan perilaku khusus,
tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman
global yang mengatur perulangan kejadian.
5. Netral Terhadap Berbagai Arsitektur
Java memiliki kemampuan yang memungkinkan program melakukan beberapa
hal pada saat bersamaan, tanpa harus kesulitan menangani proses yang akan
terjadi selanjutnya. Jalinan program-program Java yang mudah digunakan
memungkinkan programmer untuk memikirkan pembuatan perilaku khusus,
tanpa harus mengintegrasikan perilaku tersebut dengan model pemrograman
global yang mengatur perulangan kejadian.
6. Terinterpretasi dan Berkinerja-Tinggi
Java dirancang untuk tetap berkinerja baik pada CPU yang tidak terlalu kuat.
Walaupun Java merupakan bahasa terinterpretasi, kode-kode Java telah
dirancang dengan hati-hati sehingga mudah diterjemahkan ke dalam bahasa
asli suatu mesin untuk menghasilkan kinerja yang tinggi. Java dilengkapi
keajaiban lintas-platform yang luar biasa dengan kompilasi ke dalam

Universitas Sumatera Utara

19

representasi langsung yang disebut kode-byte Java (Java byte-code), yang


dapat diterjemahkan oleh sistem manapun yang memilki program Java
didalamnya. Sebagai sebuah platform, Java terdiri atas dua bagian utama,
yakni :
a. Java virtual machine (jvm)
b. Java application programming interface (Java api)
7. Multiplatform
Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/ sistem
operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja.
Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan
dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa
mesin/bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform
tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java
dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas
Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft
Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem
operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari
situs Java) untuk menginterpretasikan bytecode tersebut.
8. Perpustakaan Kelas yang Lengkap
Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program
program yang disertakan dalam pemrograman Java) yang sangat memudahkan
dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java
yang besar yang terus menerus membuat perpustakaan-perpustakaan baru
untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

Universitas Sumatera Utara

20

9. Bergaya C++
Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java sendiri
memiliki sintaks seperti bahasa pemrograman C++, dengan tambahan yang
sangat istimewa yaitu komentar yang nantinya digunakan untuk menciptakan
dokumentasi secara otomatis oleh suatu aplikasi yang disebut javadoc,
sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini
pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang
pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai
berpindah dengan mengajarkan Java kepada murid-murid yang baru karena
lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang
bukan mengambil jurusan komputer.
10. Pengumpulan sampah otomatis
Memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram
tidak perlu melakukan pengaturan memori secara langsung (seperti halnya
dalam bahasa C++ yang dipakai secara luas). Serupa dengan C, java
mengalokasikan operator baru untuk mengalokasikan memori pada heap untuk
objek baru.

2.3.3 Kekurangan Pemrograman Java

Adapun kekurangan pemrograman Java, yaitu:


1. Tulis sekali, perbaiki di mana saja
Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan
platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang
tidak berfungsi pada Mac OS X.
2. Mudah didekompilasi

Universitas Sumatera Utara

21

Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber.
Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan
banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan
tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan
demikian, algoritma yang digunakan program akan lebih sulit disembunyikan
dan mudah dibajak/direverse-engineer.
3. Penggunaan memori yang banyak
Penggunaan memori untuk program berbasis Java jauh lebih besar daripada
bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih
spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan
masalah bagi pihak yang menggunakan teknologi terbaru (karena trend
memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang
masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

2.3.4 Contoh Pemrograman Java

Contoh program Hello World yang ditulis menggunakan bahasa pemrograman Java
adalah sebagai berikut:
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello, world!");
}
}

Kode program tersebut dituliskan pada sebuah text editor seperti JCreator
serta disimpan dengan ekstensi *.Java (contoh: HelloWorld.Java) pada direkori
D:/area_Java dan outputnya jika dijalankan di command prompt windows adalah
sebagai berikut:

Universitas Sumatera Utara

22

Gambar 2.3 Hasil Program dengan Menggunakan Java

2.4 Tahapan Kompilasi Java

Adapun tahapan kompilasi Java sebagai berikut:


1. Tulis/Ubah
Pemrogram menulis program dan menyimpannya di media dalam bentuk
berkas '.Java'.
2. Kompilasi
Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas
'.class'.
3. Muat
Pemuat kelas memuat bytecodes ke memori.
4. Verifikasi
Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan
Java.
5. Jalankan
Penerjemah menerjemahkan bytecodes ke bahasa mesin dan memilih mana
yang tidak bisa di pakai.

Universitas Sumatera Utara

23

2.5 Swing

Java Swing merupakan library Java yang digunakan untuk menciptakan Graphic User
Interface (GUI) yang berbasis cross platform atau OS independent. User interface
yang dibangun dengan Java swing dapat dijalankan pada sistem operasi apa saja yang
mendukung Java dengan tampilan yang relatif sama, bahkandapat menyerupai user
interface Windows XP, Mac OS atau Linux.

2.5.1 Sejarah Swing

Internet Foundation Classes (IFC) merupakan library grafik untuk Java yang
dikeluarkan pertama kali oleh Netscape Comminication Corporation pada 16
Desember 1996. Pada 2 April 1997, Sun Microsystems dan Netscape Comminication
Corporation menggabungkan IFC dengan teknologi lain untuk membangun Java
Foundation Classes.
Swing diperkenalkan sebagai mekanime yang dapat dilihat dan dirasakan tiaptiap komponen dalam sebuah aplikasi tanpa membuat perubahan pada substansi dalam
pengkodean dari aplikasi. Perkenalan tersebut didukung dengan pluggabke kook and
feel yang membuat komponen swing dapat digunakan dalam berbagai platform. Pada
dasarnya, swing merupakan library yang terpisah. Namun, sejak Java Standard
Edition 1.2 dipublikasikan, swing sudah termasuk ke dalam bagian J2SE.

2.5.2 Arsitektur Swing

Swing merupakan platform-independent, Model View Controller framework untuk


Java yang mengikuti model pemrograman tunggal. Arsitekturdari swing terdiri dari:
1. Platform Independence

Universitas Sumatera Utara

24

Swing dapat digunakan diberbagai platform seperti Windows OS, Mac OS,
dan Linux karena ekspresi Java dan implementasinya hamper sama untuk
berbagai platform.
2. Extensible
Swing merupakan arsitektur terpartisi, yang memungkinkan untuk penggunaan
implementasi berbagai framework interface tertentu. Pengguna dapat
menyediakan

kustom

implementasi

sendiri

dari

komponen

untuk

menggantikan implementasi default. Secara umum, pengguna Swing dapat


menambahkan framework dengan memperluas framework yang sudah ada dan
menyediakan implementasi alternatif komponen inti. Swing juga merupakan
framework berbasis komponen, dimana komponen Swing adalah komponen
Java Beans yang kompatibel dengan spesifikasi Java Beans Component
Architecture.
3. Customizable
Atas dasar model program rendering dari framework Swing, kendali atas
rincian rendering komponen dimungkinkan dalam Swing. Representasi visual
dari komponen Swing pada umumnya berupa satu set standar elemen.
Pengguna program biasanya menyesuaikan komponen Swing standar dengan
menetapkan beberapa elemen untuk membuat visualisasi kontrol GUI yang
unik.
4. Configurable
Swing bergantung pada mekanisme runtime dan pola komposisi tidak
langsung untuk merespon perubahan pengaturan secara run-time. Contohnya
aplikasi berbasis Swing dapat mengubah tampilan pada saat run-time, dimana

Universitas Sumatera Utara

25

pengguna dapat memberikan tampilan mereka sendiri dan diimplementasikan


tanpa perubahan apapun pada kode program.
5. Loosely-Coupled and MVC
Pustaka Swing memanfaatkan pola model/view/controller(mvc) desain
perangkat lunak yang secara konseptual pasangan data yang dilihat dari
kontrol interface pengguna melalui yang dilihat. Karena hal tersebut,
komponen Swing dikaitkan model dan programmer dapat menggunakan
berbagai macam implementasi atau menyediakan sendiri implementasi
tersebut. Penggunaan framework Swing tidak memerlukan penciptaan model,
karena telah tersedia satu set implementasi yang transparan secara default,
yang terkait dengan kelas Jcomponent di perpustakaan Swing. Komponen
yang kompleks mungkin memerlukan implementasi model disekitar data
spesifik aplikasi seperti: tabel dan pohon.

2.5.3 Komponen Dasar Swing

Secara umum, komponen swing terdiri dari lima bagian yang sering digunakan, yaitu:
1. Top-level Container
Merupakan container dasar dimana komponen lainnya diletakkan. Toplevel
Container ini terdiri dari Frame, Dialog, dan Applet yang diimplementasikan
dalam class JFrame, JDialog, dan JApplet.
2. Intermediate Container
Merupakan komponen perantara untuk peletakkan komponen lainnya, yaitu
class JPanel.

Universitas Sumatera Utara

26

3. Atomic Container
Merupakan komponen yang memiliki fungsi spesifik dan biasanya user
berinteraksi langsung dengan jenis komponen ini. Komponen ini terdiri dari:
JButton, JTextField, dan JTextArea.
4. Layout Manager
Layout Manager berfungsi untuk mengatur posisi dari komponen yang
diletakkan pada container. Terdapat lima macam layout, yaitu: class
BorderLayout, Boxlayout, FlowLayout, GridBagLayout, dan GridLayout.
5. Event Handling
Event Handling berfungsi untuk menangani event yang dilakukan user,
misalnya menekan tombol, mengklik mouse, dan lain sebagainya.

2.6 AWT

AWT atau Abstract Window Toolkit adalah salah satu platformindependent Java untuk
windowing, graphics, dan user-interface widget toolkit. Saat ini, AWT sudah termasuk
ke dalam bagian dari Java Foundation Classes (JFC), yaitu standar API untuk
pemrograman Java berbasis GUI. AWT merupakan GUI toolkit untuk beberapa profil
Java ME, seperti konfigurasi alat yang terhubung meliputi Java runtimes pada mobile
telephone untuk mendukung AWT.

2.6.1 Sejarah AWT

Ketika Java pertama kali dirilis oleh Sun Microsystems pada tahun 1995, komponen
AWT memberikan tingkat abstraksi yang tipis yang mendasari interface pengguna.
Contohnya, menciptakan checkbox AWT akan menyebabkan pemanggilan langsung
subroutine yang mendasari pembuatan checkbox. Program GUI yang ditulis dengan

Universitas Sumatera Utara

27

menggunakan AWT tampak seperti aplikasi asli ketika dijalankan pada sistem operasi
yang menjalankan aplikasi tersebut.
Dalam J2SE 1.2, komponen AWT sebagian besar digantikan dari toolkit
Swing. Selain menyediakan satu set komponen UI, Swing menarik komponen
sendiri(dengan menggunakan Java 2D untuk memanggil ke subroutine tingkat rendah
dalam subsistem grafis lokal) bukan mengandalkan modul pengguna tingkat tinggi
interface sistem operasi. Swing menyediakan pilihan baik menggunakan sistem
tampilan dan nuansa menggunakan platform asli tampilan dan nuansa atau platformsilang yang terlihat pada semua platform. Namun, Swing bergantung pada AWT
untuk tampilan interface untuk sistem windowing asli.

2.6.2 Arsitektur AWT

AWT menyediakan dua tingkat API, yaitu:


1. Interface umum antara Java dengan sistem asli, digunakan untuk windowing,
manajer layout. API ini merupakan inti dari pemrograman Java GUI dan juga
digunakan oleh Swing dan Java 2D yang berisi:
a. Interface antara sistem windowing asli dan aplikasi Java.
b. Inti dari event subsistem GUI.
c. Beberapa manajer layout.
d. Interface untuk perangkat input seperti mouse dan keyboard.
e. Paket java.awt.datatransfer untuk digunakan dengan clipboard dan Drag
and Drop.
2. Satu set dasar komponen GUI seperti button, textbox, dan menu yang juga
menyediakan interface dasar AWT, yang memungkinkan librari render

Universitas Sumatera Utara

28

dikompilasi ke kode asli untuk langsung menarik ke AWT canvas permukaan


objek gambar.
AWT juga membuat beberapa fungsionalitas tinggti yang tersedia untuk aplikasi,
seperti:
1. Akses ke sistem tray pada sistem pendukung.
2. Kemampuan untuk meluncurkan beberapa aplikasi dekstop seperti browser
web dan klien email dari aplikasi.
Baik AWT ataupun Swing secara inheren aman, karena kode yang meng-update
GUI harus dijalankan pada thread event pengirim. Kegagalan untuk melakukan hal ini
dapat menyebabkan kondisi kebuntuan atau ras. Untuk mengatasi masalah ini, kelas
utilitas bernama SwingWorker memungkinkan aplikasi untuk melakukan tugas-tugas
yang memakan waktu mengikuti acara-interaksi pengguna di thread acara pengirim.

2.7 Koneksi Database Java

Koneksi database Java sering disebut sebagai JDBC, adalah sebuah application
programming interface (API) untuk bahasa pemrograman Java yang mendefinisikan
bagaimana klien dapat mengakses database. Ini menyediakan metode untuk query dan
meng-update data dalam database. JDBC berorientasi pada database relasional.
Sebuah jembatan JDBC-ke-ODBC memungkinkan sambungan ke sumber data ODBC
dapat diakses dalam lingkungan host JVM.

Universitas Sumatera Utara

29

Gambar 2.4 Skema koneksi database Java

2.8 Database MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa
Inggris: database management system) atau DBMS yang multithread, multi-user,
dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL
tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License
(GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di
mana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, di mana perangkat lunak
dikembangkan oleh komunitas umum dan hak cipta untuk kode sumber dimiliki oleh
penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan
komersial Swedia MySQL AB, di mana memegang hak cipta hampir atas semua kode
sumbernya sehingga pengguna dapat mengunduh software ini dan memakainya secara
gratis.

Universitas Sumatera Utara

30

2.8.1 Perkembangan Database MySQL

MySQL merupakan hasil buah pikiran dari Michael Monty Widenius, David
Axmark dan Allan Larsson yang dimulai pada tahun 1995. Mereka kemudian
mendirikan perusahaan bernama MySQL AB di Swedia. Tujuan awal ditulisnya
program ini adalah untuk mengembangkan aplikasi web yang akan digunakan oleh
salah satu klien MySQL AB.
MySQL versi 1.0 dirilis pada Mei 1996 dan penggunaannya hanya terbatas di
kalangan intern saja. Pada bulan Oktober 1996, MySQL versi 3.11.0 dirilis ke
masyarakat luas di bawah lisensi Terbuka Tapi Terbatas. Barulah pada bulan Juni
2000, MySQL AB mengumumkan bahwa mulai MySQL versi 3.23.19 diterapkan
sebagai GPL (General Public License). Dengan lisensi ini, maka Siapa pun boleh
melihat program aslinya dan menggunakan program eksekusinya dengan cuma-cuma.
Dan bila ingin memodifikasi pada program aslinya, maka program modifikasi tersebut
harus dilepas di bawah lisensi GPL juga.
Hingga kini MySQL terus berkembang dengan berbagai penyempurnaan
sehingga dirilis MySQL versi 5.0.21 pada bulan Mei 2006, yang

semula

untuk

melakukan administrasi dalam basis data MySQL, dengan menggunakan modul yang
berupa Command Prompt (perintah: mysql dan mysqladmin). Saat ini dapat dirancang
sebuah database melalui modul berbasis grafik GUI (Graphical User Interface) seperti
PhpMyAdmin dan MySQL Query Browser Tools.

2.8.2 Perintah Dasar Database MySQL

Dalam menjalan MySQL diperlukan berbagai perintah untuk membuat suatu database,
berikut ini disebutkan beberapa perintah dasar dalam menggunakan MySQL. Untuk

Universitas Sumatera Utara

31

menjalankan MySQL pertama kali cukup dengan mengetikkan mysql pada Command
Prompt. Perintah-perintahnya adalah sebagai berikut :
1. Menampilkan database : SHOW DATABASE;
2. Membuat database baru : CREATE DATABASE database;
3. Memilih database yang akan digunakan : USE database;
4. Menampilkan tabel : SHOW TABLE;
5. Membuat tabel baru : CREATE TABLE tabel (field spesifikasi_field,...);
6. Menampilkan struktur tabel : SHOW COLUMNS FROM tabel atau
DESCRIBE tabel;
7. Mengubah struktur tabel : ALTER TABLE tabel Jenis_Pengubahan;
8. Mengisikan data : INSERT INTO table(kolom1, ) VALUES (data_kolom1,
); atau INSERT INTO table SET kolom1 = data_kolom1, ;
9. Menampilkan data : SELECT kolom FROM tabel WHERE kriteria ORDER
BY kolom atau SELECT * FROM tabel;
10. Mengubah data : UPDATE tabel SET kolom = pengubahan_data WHERE
kriteria;
11. Menampilkan data dengan kriteria tertentu : SELECT kolom1,... FROM table
WHERE kriteria;
12. Menghapus data : DELETE FROM tabel WHERE kriteria;
13. Menghapus tabel : DROP tabel;
14. Menghapus database : DROP database;
15. Keluar dari MySQL : QUIT; atau EXIT;

Universitas Sumatera Utara

32

2.9 NetBeans IDE 6.8

Penulisan menggunakan Text Editor NetBeans IDE 6.8 untuk membuat kode sumber
dapat dilihat pada Gambar 2.5.

Gambar 2.5 NetBeans IDE 6.8

2.9.1 Langkah Awal Menjalankan Aplikasi NetBeans IDE 6.8

Langkah-langkah dalam menjalankan Aplikasi NetBeans IDE 6.8 sebagai erikut:


1. Klik tombol start pada bagian Taskbar.
2. Pilih menu Programs dan pilih Netbeans, kemudian klik Netbeans.
3. Setelah itu pilih New Project seperti Gambar 2.6.

Universitas Sumatera Utara

33

Gambar 2.6 New Project Netbeans IDE 6.8


4. Kemudian pilih Java pada Categories dan pilih Java Application pada Projects.
Lalu Klik Next.
5. Kemudian akan Muncul Tampilan sebagai berikut.

Gambar 2.7 New Java Application


6. Kemudian isi project name dengan nama file yang diinginkan. Kemudian klik
Finis.
7. Untuk membuat form pada netbeans klik kanan pada Source Packages, pilih
New Jframe Form. Akan tampil gambar dibawah ini.

Universitas Sumatera Utara

34

Gambar 2.8 New JFrame Form


8. Kemudian isi Class name-nya lalu klik Finish.
9. Setelah klik Finish akan muncul tampilan seperti dibawah ini. Selanjutnya
silahkan membuat Aplikasi yang diinginkan.

Gambar 2.9 Layar Project NetBeans IDE 6.8


IDE merupakan sebuah lingkungan dimana semua tombol perintah yang diperlukan
untuk mendesign aplikasi, menjalankan dan menguji sebuah aplikasi disajikan dengan
baik untuk memudahkan pengembangan program.

Universitas Sumatera Utara

35

2.9.2 Komponen NetBeans 6.8

1. Main Windows
Jendela utama ini bagian dari IDE yang mempunyai fungsi yang sama dengan
semua fungsi utama dari program aplikasi Windows lainnya. Jendela utama
Netbeans terbagi menjadi tiga bagian, berupa Main Menu, Toolbar dan
Component Pallete.
2. Toolbar
Netbeans Netbeans memiliki beberapa toolbar yang masing-masing memiliki
perbedaan fungsi dan setiap tombol pada bagian toolbar berfungsi sebagai
pengganti suatu menu perintah yang sering digunakan. Toolbar sering disebut
juga dengan Speedbar. Toolbar terletak pada bagian bawah baris menu. Pada
kondisi default Netbeans memiliki beberapa bagian toolbar, antara lain : Build
Main Project, Clean and Build Main Project, Run Main Project, Debug Main
Project, dan Profile Main Project.
3. Component Palette
Component Pallete berisi kumpulan ikon yang melambangkan komponenkomponen yang terdapat pada VCL (Visual Component Library), pada
Component Pallete akan ditemukan beberapa page control, seperti Swing
Containers, Swing Controls, Swing Menus, Swing Windows, AWT, Beans,
dan Java Persistence.

Universitas Sumatera Utara

36

Gambar 2.10 Component Palette


4. From Designer
Form Designer merupakan suatu objek yang dapat dipakai sebagai tempat
untuk merancang program aplikasi. Form berbentuk sebuah meja kerja yang
dapat diisi dengan komponen-komponen yang diambil dari Component
Pallete.

Gambar 2.11 Form Kerja NetBeans IDE 6.8

Universitas Sumatera Utara

37

5. Source Editor
Source Editor merupakan tempat untuk menuliskan kode program. Pada
bagian ini dapat dituliskan pernyataan-pernyataan dalam Object Java.
Keuntungan bagi pemakai Netbeans adalah bahwa tidak perlu menuliskan
kode-kode sumber, karena Netbeans telah menyediakan kerangka penulisan
sebuah program seperti yang tampak pada Gambar 2.12

Gambar 2.12 Source Editor


6. Object Inspektor
Object Inspector digunakan untuk mengubah properti atau karakteristik dari
sebuah komponen. Object Inspector terdiri dari dua tab, yaitu Properties dan
Events seperti yang tampak pada Gambar 2.13.

Gambar 2.13 Inspector

Universitas Sumatera Utara

Anda mungkin juga menyukai