Anda di halaman 1dari 113

Bahasa Pemrograman 1 Dengan Java

Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 1 Dari 113 Halaman

NIM : …………………………………………………………………….......
Nama : ………………………………………………………………………...
Kelompok : ………………………………………………………….......................

JAVA
AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER
PAKARTI LUHUR
SEPTEMBER 2008

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 2 Dari 113 Halaman

Daftar Isi
Pendahuluan – Sekilas Mengenai Pemrograman Java
Pertemuan I – Pengenalan Program Java (1)
Pertemuan II – Pengenalan Program Java (2)
Pertemuan III – Struktur Kontrol
Pertemuan IV – Tipe Data Primitif dan String
Pertemuan V – Method
Pertemuan VI – Array
Pertemuan VII – Kelas Dalam Java (1)
Pertemuan VIII – Kelas Dalam Java (2)
Pertemua IX – Packages
Pertemuan X – Inheritance (1)
Pertemuan XI – Inheritance (2)
Pertemuan XII – Polymorphisme
Pertemuan XIII – Database dan SQL
Pertemuan XIV – Arsitektur Aplikasi Database dan JDBC API

Pendahuluan
[ SEKILAS MENGENAI PEMROGRAMAN JAVA ]

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 3 Dari 113 Halaman

Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior
maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui pembahasan konsep model
perancangan dan petunjuk sederhana penggunaannya.
Apakah Java?
Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak
tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang
agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan
arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan
portabel.
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 di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di
kalangan 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,
diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja ―bapak java‖, James Gosling. Nama Oak ini tidak
dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut,
sehingga diambil nama penggantinya menjadi ―Java‖. Nama ini diambil dari kopi murni yang digiling langsung dari biji
kopi (kopi tubruk) kesukaan Gosling.

Platform Independent
Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan
antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 4 Dari 113 Halaman

mencapai tujuan Java sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan oleh berbagai
jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari
program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang
konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika Anda ingin
mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi
prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class.
Bytecode tersebut dapat langsung Anda eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine
(JVM) sebagai interpreter terhadap bytecode tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan menerjemahkan
bytecode program Java dan mengeksekusinya, sehingga secara konsep bisa dianggap sebagai sebuah interpreter.
Proses pengeksekusian program Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java
yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM di sana.
Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh
Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri
sering juga disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java
Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java
dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. Namun untuk
mengeksekusi applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload JRE karena browser
yang Java-enabled telah memiliki JVM sendiri.

Library
Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat
mempermudah Anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain
user interface, kriptografi, jaringan, suara, database, dan lain-lain.

Object Oriented
Java adalah bahasa pemrograman berorientasi objek. Object Oriented Programming (OOP) secara
gamblang adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 5 Dari 113 Halaman

pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat
mengoptimalkan teknik pemrograman berorientasi objek.
Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++
namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini
mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer
berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas
library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai
penggunaan library-library tersebut.

Pengenalan Object Oriented Programming


Object Oriented Programming (OOP) dapat diartikan beberapa macam antara lain :
- Suatu teknik atau cara untuk membuat program (perangkat lunak) objek.
- Pemrograman yang dibangun dengan cara membungkus (enkapsulasi) komponennya menjadi kelompok data dan
fungsi yang dapat mewarisi atribut dan sifat dari komponen lainnya, dan komponen-komponen tersebut dapat
berinteraksi satu sama lainnya.
- Pemrograman yang didasarkan pada objek-objek, yaitu suatu unit terkecil dari program yang mengandung data
dan fungsi yang bekerja atas objek tersebut.
Perangkat lunak objek merupakan perangkat lunak yang dibangun dari kelas-kelas dan objek-objek yang
saling berinteraksi satu sama lainnya. Kelas adalah deskripsi statis dari sesuatu objek-objek yang memiliki
karakteristik yang sama. Objek adalah sesuatu yang diinstansiasi dari kelas.
Karakteristik OOP antara lain :
- Abstraksi.
- Enkapsulasi.
- Pewarisan (Inheritance).
- Polymorphisme.
- Komunikasi antar Objek.
- Reusability (dapat dipergunakan berkali-kali).
Berberapa bentuk OOP antara lain :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 6 Dari 113 Halaman

- OOP dengan ADT (Abstract Data Type)


- OOP dengan Inheritance dan Polymorphism
- OOP Client-Supplier
- OOP dengan Genericity
- OOP Concurrent
Macam-macam bahasa OOP antara lain :
- Bahasa OOP Murni adalah bahasa yang mengharuskan program betul-betul ditulis dari objek – objek saja.
Contoh: Eiffel, SmallTalk, Java, dsb.
- Bahasa OOP Hybrid adalah bahasa yang masih memungkinkan penulisan program mencampuradukkan objek
dengan fungsi dan type lainnya di luar objek. Contoh: C++, PHP 4, Delphi

Mengapa OOP dibutuhkan ?


- Sudut pandang pembuatan program selaras dengan realitas dunia nyata.
- Kemudahan pengembangan.

- Kecepatan pengembangan.
- Peningkatan produktivitas.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 7 Dari 113 Halaman

Perbandingan antara OOP dengan Procedural

Sistem
Akademik

Dekomposisi berdasarkan objek atau konsep Dekomposisi berdasarkan fungsi atau proses

Dosen Jadwal Kuliah Konteks

Kontrak Pengambilan
Mahasiswa Penjadwalan Penilaian
Kuliah Kuliah
Metodologi Berorientasi Objek Metodologi Berorientasi Fungsi

Memulai Pemrograman Java


Untuk membuat program Java, seperti telah disebutkan sebelumnya, Anda membutuhkan JDK. Proses
instalasi JDK tersebut sangat mudah dan tidak membutuhkan pengetahuan tertentu. Namun untuk menggunakannya
Anda perlu melakukan beberapa penyesuaian dengan sistem operasi Anda. Umumnya yang perlu Anda lakukan adalah
memasukkan path ke direktori JDK Anda ke setting path pada sistem operasi Anda. Misalkan direktori JDK Anda
adalah C:\jdk1.4 maka pada Windows 98 Anda cukup menambahkan baris perintah SET PATH=C:\jdk1.4\bin pada file
autoexec.bat Anda. Untuk Windows NT/2000/XP Anda cukup menambahkan direktori C:\jdk1.4\bin pada variabel path
di System Environment. Caranya: klik kanan ikon My Computer, pilih Properties. Kemudian pilih tab Advanced. Lalu klik
tombol Environment Variables, cari variabel path, kemudian tambahkan path direktori JDK Anda ke dalam variabel
tersebut. Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk Anda) ke file profile Anda. Untuk
mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS Command Prompt). Jika perintah
tersebut sudah dikenali maka program java atau javac akan menampilkan sintaks penggunaan. Untuk kemudahan dan
berbagai fasilitas tambahan Anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java
seperti Visual Café dari Symantec atau JBuilder dari Borland.
Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah program Java sederhana adalah:

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 8 Dari 113 Halaman

 Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi .java dan case
sensitive.
 Mengkompile source code dengan perintah javac. Misalnya: javac HelloWorld.java. Jika berhasil, hasilnya adalah
file bytecode berakhiran .class.
 Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa
ekstensi .class.
Contoh: java HelloWorld.
Source Code
Berikut kode untuk HelloWorld.java:

public class HelloWorld


{
public static void main(String[] args)
{
System.out.println(‖Apa Kabar Dunia?‖);
}
}
Dan ini sebuah contoh lain, yaitu applet sederhana untuk menampilkan teks di applet. Sebutlah file ini bernama
HelloWorldApplet.java:
import java.awt.Graphics;
public class HelloWorldApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawString(‖Apa Kabar Dunia?‖, 5, 25);
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 9 Dari 113 Halaman

Secara gamblang dapat diperhatikan bahwa struktur kedua program sangat mirip, dan hanya berbeda
dalam konteks eksekusi. Kedua program ini akan dibahas lebih lanjut setelah kita membahas cara mengkompile dan
mengeksekusi program tersebut.
Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus memperhatikan penggunaan
huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu,
sehingga Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris asal Anda tidak lupa
membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. Namun dianjurkan Anda
mengikuti layout seperti pada contoh agar program Anda mudah dibaca dan dimengerti.
Kompilasi
Setelah kedua file disave dengan nama HelloWorld.java dan HelloWorldApplet.java, kita akan mengkompile
kedua program tersebut dengan perintah:
prompt> javac HelloWorld.java
prompt> javac HelloWorldApplet.java
Perlu diperhatikan bahwa direktori aktif Anda saat ini adalah direktori tempat Anda meletakkan file-file program
tersebut. Anda tetap dapat mengkompile program Anda dari direktori berbeda dengan perintah:
prompt> javac (direktori program)/namafile.java.
Setelah perintah ini selesai, Anda akan melihat bahwa telah tercipta dua buah file .class, yaitu bytecode
hasil kompilasi source code kita.
Sintaks Program
Sekarang kita akan mencoba membahas elemen-elemen dalam kedua source code tersebut.
Pada awal Listing 2 kita menemukan perintah import. Pada tahap awal ini Anda perlu mengetahui bahwa pernyataan
tersebut hanya berfungsi mempermudah penulisan metode atau dalam bahasa pemrograman lain disebut prosedur
atau fungsi. Jadi Anda hanya perlu menulis Graphics sebagai pengganti java.awt.Graphics, karena kita telah
mengimpor java.awt.Graphics.
Kemudian di masing-masing listing terdapat pernyataan public class. Pernyataan ini adalah pernyataan
pembuka sebuah kelas. Kelas sendiri digunakan untuk menciptakan objek. Ingat bahwa Java berorientasi objek. Kata
public di depannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain. Untuk saat ini anggaplah
objek sebagai suatu item yang dapat dimanipulasi oleh sebuah program. Dalam Listing 2 terdapat tambahan kata

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 10 Dari 113 Halaman

extends. Hal ini berarti kelas yang kita buat akan mewarisi sifat-sifat dari kelas yang kita extends. Dengan kata lain
kita menjadikan kelas yang kita extends sebagai himpunan bagian dari kelas kita buat.
Kemudian kita menemukan baris pernyataan public static void main(String[] args) dan public void
paint(Graphics g). Keduanya adalah pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan
pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Keduanya sebenarnya mempunyai fungsi yang sama
namun dalam konteks yang berbeda. Dalam setiap aplikasi harus ada sebuah metode yang bernama main yang akan
dieksekusi pertama kali saat program tersebut dieksekusi. Sementara dalam applet, metode yang pertama kali akan
dieksekusi ketika applet diload adalah paint. Kata public di depannya mempunyai fungsi yang sama dengan kata public
yang ada di depan baris permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain seperti private dan
protect yang akan kita bahas nanti.
Pada Listing 1 terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main
tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri
sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi, parameternya adalah selalu String[] args,
di mana args hanyalah sebuah nama dari objek array dari String. Array ini nantinya akan berisi parameter-
parameter yang diberikan user sebagai argumen command line. Sementara Anda tidak perlu mengerti mengenai
parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian.
Kemudian di dalam kedua metode pada kedua listing tersebut, kita menemukan sebuah pernyataan. Anda
tentu dapat saja meletakkan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah
metode dipisahkan oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing ternyata
memanggil sebuah metode lain yaitu metode println dan paint. Tentunya dapat Anda perhatikan bahwa untu k
memanggil sebuah metode diperlukan tiga komponen yaitu:
 Objek yang ingin kita pakai. Dalam hal ini objek System.out dan Graphics g.
 Nama metode yang ingin kita pakai. Dalam hal ini println dan paint.
 Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu
parameter.
Dalam Listing 1, pernyataan System.out.println(‖Apa Kabar Dunia?‖); berarti carilah objek out dalam kelas
System kemudian panggil metode println dari objek out dengan parameter berupa string ―Apa Kabar Dunia?‖. Sedang

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 11 Dari 113 Halaman

dalam Listing 2, pernyataan g.drawString(‖Apa Kabar Dunia?‖, 5, 25); berarti carilah objek g kemudian panggil
metode drawString pada objek g dengan parameter ―Apa Kabar Dunia?‖, 5, 25);.

Eksekusi
Setelah selesai membahas sintaks dasar Java dalam kedua listing, selanjutnya kita akan mencoba mengeksekusi
kedua program ini. Untuk program pertama yang berupa aplikasi biasa, kita tinggal mengetikkan perintah java
HelloWorld pada prompt dan pesan Apa Kabar Dunia? akan tampil di layar (atau mungkin di tempat lain, bergantung
sistem operasi Anda). Sedangkan untuk applet kita mesti membuat sebuah file HTML sebagai pembungkus—atau
pemanggilnya. Berikut diberikan contoh file HTML untuk membungkus applet yang kita buat.
<HTML>
<HEAD>
<TITLE>Coba Applet</TITLE>
</HEAD>
<BODY>
<APPLET CODE=‖HelloWorldApplet.class‖ WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>
Beri nama helloword.html dan simpanlah di direktori yang sama dengan lokasi file-file .java dan .class
sebelumnya. Untuk mengeksekusi applet kita cukup membuka file HTML tersebut di browser yang Java-enabled atau
mengetikkan perintah appletviewer namafile.html di prompt.
Penutup
Untuk saat ini Anda telah mempunyai gambaran tentang bagaimana proses pembuatan program Java secara
sederhana dalam bentuk aplikasi biasa atau applet. Anda juga dapat mencoba mengembangkan program sederhana
tersebut sesuai dengan keinginan Anda berdasarkan hal-hal yang sudah Anda ketahui. Konsep dasar yang sudah Anda
dapatkan akan dikembangkan lebih lanjut dalam topik-topik tutorial selanjutnya. Selamat mencoba!

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 12 Dari 113 Halaman

Pertemuan I
[ PENGENALAN PEMROGRAMAN JAVA (1) ]
Materi :
1. Pengenalan Lingkungan Java.
2. Java API Package / Java Class Library.
3. Membuat program masukan dan keluaran sederhana.
4. Tipe data.
5. Operator aritmatika.
6. Operator increment & decrement.
7. Operator relasi.
8. Operator logika,

Program Java umumnya dikerjakan dalam 5 tahapan


1. Edit.
Programmer menulis program dan menyimpannya dalam disk atau media penyimpanan.
2. Compile.
Compiler membentuk bytecodes dari program.
3. Load.
Class loader meload bytecodes ke memori.
4. Verify.
Verifier memastikan bytecodes tidak mengganggu sistem security Java.
5. Execute.
Enterpreter menerjemahkan bytecodes ke dalam bahasa mesin.

Sebelum membuat Program Java :


 Setiap program Java harus memiliki paling sedikit satu user-defined class,

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 13 Dari 113 Halaman

 Keyword class diikuti oleh nama class,


 Java membedakan antara huruf besar dan huruf kecil (case sensitive).
 Ketika menyimpan program, nama file program harus sama dengan nama class dengan menambahkan ekstensi
java ( .java ).
 Aplikasi Java berisi satu atau beberapa method.
 Method dapat menjalankan task dan mengembalikan informasi.
 Void berarti method tidak mengembalikan informasi.
 Paling sedikit harus ada satu method main.
 Setiap perintah harus diakhiri dengan tanda titik koma ( ; ).

Hello.java
Program Java Pertamaku.

class Hello{
public static void main(String[]args){
System.out.println(―Hello,my name is Java. Piye kabare mas..?‖);
}
}

Catatan : Ketik program di atas dengan Editor seperti JCreator, Notepad, EditPlus, Edit, dsb dan simpan dengan
nama file “Hello.java”.

Mengompile Program Java dengan JCreator, pilih menu :


Build  Compile File.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 14 Dari 113 Halaman

Jika proses Compile berhasil maka akan ditampilkan :

Menjalankan (Run) Program Java dengan JCreator, pilih menu :


Build  Execute File.

Dan akan menghasilkan output program ‖Hello.java‖ adalah sbb :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 15 Dari 113 Halaman

Variabel Dalam Java.


Program penggunaan Variabel dalam Java

class Variabel
{
public static void main(String[]args)
{
System.out.println("\nContoh Penggunaan Variabel\n");
//ini salah satu contoh variabel di dalam java
int nilai = 12;
char karakter = 'b';
String tulisan = "i love Java";
Float pecahan = new Float(14.353);
Double pecah = new Double(pecahan.toString());

System.out.println("variabel int = "+nilai);


System.out.println("variabel char = "+karakter);
System.out.println("variabel double = "+pecah);
System.out.println("Pecahan = "+pecahan.toString());
System.out.println("Maximal float = "+pecahan.MAX_VALUE);
System.out.println("Minimal float = "+pecahan.MIN_VALUE);

System.out.println("Maximal double = "+pecah.MAX_VALUE);


System.out.println("Minimal double = "+pecah.MIN_VALUE);
}
}

Soal dan Latihan


Buatlah program dalam Java untuk mencari Range Minimal dan Maximal dari tipe data sbb :
 byte
 short
 int

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 16 Dari 113 Halaman

 long
 char
 float
 double

Pertemuan II
[ PENGENALAN PEMROGRAMAN JAVA (2) ]
Materi :
9. Pengenalan lingkungan Java.
10. Java API Package / Java Class Library.
11. Membuat program masukan dan keluaran sederhana.
12. Tipe data.
13. Operator aritmatika.
14. Operator increment & decrement.
15. Operator relasi.
16. Operator logika.

Operator Aritmatika dan Relasi.


Aritmatika.java
Program Operator Aritmatika dalam Java.
class Aritmatika{
public static void main(String[]args){
int X = 15;
int Y = 4;
System.out.println(―Nilai X+Y = ―+(X+Y));
System.out.println(‖Nilai X-Y = ‖+(X-Y));
System.out.println(‖Nilai X/Y = ‖+(X/Y));
System.out.println(‖Nilai X*Y = ‖+(X*Y));
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 17 Dari 113 Halaman

Modulus.java
Program Operator Modulus dalam Java.
class Modulus{
public static void main(String[]args){
int bilangan = 25;
System.out.println(―Hasil ‖+bilangan+‖ %4 = ―+(bilangan%4));
System.out.println(―Hasil ‖+bilangan+‖ %9 = ―+(bilangan%9));
System.out.println(―Hasil ‖+bilangan+‖ %13 = ―+(bilangan%13));
System.out.println(―Hasil ‖+bilangan+‖ %40 = ―+(bilangan%40));
}
}

Diskriminan.java
Program Java menghitung nilai Diskriminan suatu persamaan kuadrat.
class Diskriminan{
public static void main(String[]args){
Increment.java int a = new Integer(1);
int b = new Integer(3);
int c = new Integer(-4);
int D;
//mencari nilai Diskriminan
D = ((b.intValue()*b.intValue())-(4*a.intValue()*c.intValue()));
System.out.println(―Nilai Determinan Dari Persamaan Kuadrat : ‖);
System.out.println(―a = ‖+a.intValue());
System.out.println(―b = ‖+b.intValue());
System.out.println(―c = ‖+c.intValue());
System.out.println(―Adalah ‖+D);
}
}

Increment.java
Program untuk Operator Increment variabel dalam Java.
class Increment{
public static void main(String[]args){
int a = 4;
System.out.println(―Nilai a = ‖+a);
System.out.println(―Nilai a menjadi ‖+(a++));
System.out.println(―Nilai a menjadi ‖+(++a));
}
}

Relasi.java
Program untuk Operator Relasi dalam Java.
class Relasi{
public static void main(String[]args){
int a = 10;
int b = 4;
System.out.println(―Relasional‖);
BAHASA PEMROGRAMAN 1
System.out.println(―a > b ‖+(a>b));
System.out.println(―a < b ‖+( a<b)); JILID PERTAMA
System.out.println(―a = b ‖+( a==b));
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 18 Dari 113 Halaman

Program Input
Input.java
Program menginput String dan bilangan dalam Java.
import java.io;

class Input{
public static void main(String[]args) throws IOException{

//metode untuk mengakses String (BuffereadReader)

String coba;
Input2.java System.out.println(‖Inputkan String : ‖);
BufferedReader tulis = new BufferedReader(new InputStreamReader(System.in));
coba = tulis.readLine();
System.out.println(―String Yang Diinputkan : ―+coba);

System.out.println(‖Inputkan Integer : ‖);


int data = (new Integer(new
BufferedReader(newInputStreamReader(System.in))).readLine().intValue());

System.out.println(―Integer Yang Diinputkan : ―+data);

//metode untuk mengakses String(DataInputStream)


System.out.println(‖Inputkan Sebuah String : ‖);
DataInputStream masukkan = (new DataInputStream(System.in));
String cobaah = new String(masukkan.readLine());
System.out.println(‖String Yang Diinputkan : ‖+cobaah);
}
}

Input2.java

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 19 Dari 113 Halaman

Program Inputan menggunakan Java Swing


class Input2{
public static void main(String[]args){
//metode mengakses String(JOptionPane)
String masukan1 = ―‖;
masukan1 = JOptionPane.showInputDialog(―Inputkan String : ―);
System.out.println(‖Inputkan String : ‖+masukan1);
JoptionPane.showMessageDialog(null,masukkan1);
}
}

Soal dan Latihan


1. Diketahui :
A = X+Y-2/2+Z;
B = X+(Y-2)/(2+Z);
Buktikan dengan Program bahwa A berbeda dengan B !
2. Buat program java untuk menghitung Luas Permukaan dan Volume suatu Bola !
3. Buat program java untuk menginput dan menampilkan nim, nama, dan nilai mahasiswa !

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 20 Dari 113 Halaman

Pertemuan III
[ STRUKTUR KONTROL ]
Materi :
1. Struktur kontrol if.
2. Struktur kontrol if – else.
3. Operator kondisi (?:).
4. Struktur kontrol switch.
5. Struktur kontrol for.
6. Struktur kontrol while.
7. Perintah break & continue.

Struktur Kontrol if dan if – else


CariGrade.java
Program mencari grade nilai menggunakan struktur kontrol if – else
import java.io;

class CariGrade{
void cariGrade(int data){
if(data >= 80){
System.out.println(―Grade A‖);
}
else{
If(data >= 70 && data < 80){
System.out.println(―Grade B‖);
}
else{
BAHASA PEMROGRAMAN 1
if(data >= 60 && data < 70){
System.out.println(‖Grade C‖);
} JILID PERTAMA
else{
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 21 Dari 113 Halaman

public static void main(String[]args){


System.out.println(―Program untuk menghitung Grade\n‖);
int nilai;
BufferedReader ano = new BufferedReader(new InputStreamReader(System.in));

try{
System.out.println(―Inputkan Nilai Anda : ―);
nilai = new Integer(ano.readLine()).intValue();

//cara menciptakan sebuah object


CariGrade coba = new CariGrade();

//cara mengakses fungsi dari sebuah object


Coba.cariGrade(nilai);
}catch(Exception e){
System.out.println(‖Salah Memasukkan Data..!!!‖);
}
}
}

CekBilangan.java
Program memeriksa bilangan yang diinputkan, Ganjil atau Genap
import java.io;

class CekBilangan{
//fungsi Absolut
//untuk mencari nilai absolut dari suatu bilangan
int Absolut(int bil){
if(bil < 0){
bil = bil*(-1);
}
return bil;
}

//fungsi Ganjil
//untuk memriksa bilangan Ganjil
boolean Ganjil(int bil){
if(bil%2 == 1){
return true;
}else{
return false;
BAHASA PEMROGRAMAN 1
} JILID PERTAMA
}
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 22 Dari 113 Halaman

boolean Genap(int bil){


if(bil%2 == 0){
return true;
}else{
return false;
}
}

public static void main(String[]args){


System.out.println(―Program Untuk Memeriksa Bilangan Genap atau Ganjil\n‖);
//input bilangan
int bilangan;
BufferedReader buffy = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println(―Inputkan Bilangan : ―);
bilangan = new Integer(buffy.readLine()).intValue();

System.out.println(bilangan+‖ Termasuk Bilangan Ganjil Atau Genap..?‖);

//buat object baru


CekBilangan cek = new CekBilangan();

//cari nilai absolut dari bilangan


bilangan = cek.Absolut(bilangan);

//periksa bilangan yang diinputkan


if(cek.Ganjil(bilangan)){
System.out.println(‖Bilangan Ganjil ...!!!‖);
}

if(cek.Genap(bilangan)){
System.out.println(‖Bilangan Genap ...!!!‖);
}
}catch(Exception error){
System.out.println(‖Anda Salah Inputkan Data ... !!!‖);
}
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 23 Dari 113 Halaman

Operator Kondisi (?;)


Kondisi.java
Program menggunakan bentuk kondisi (?;)
class Kondisi{
void tampil_true(){
System.out.println(―Kondisi benar‖);
}
void tampil_false(){
System.out.println(―Kondisi salah‖);
}

public static void main(String[]args){


Kondisi benar = new Kondisi();
boolean kondisi;
int a, b;
a = 5;
b = 7;

//operator ? - > (kondisi) ? jika benar : jika salah


kondisi = (a < b)?true:false;

if(kondisi){
benar.tampil_true();
}else{
benar.tampil_false();
}
}

Struktur Kondisi Switch – case

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 24 Dari 113 Halaman

HariNanIndah.java
Program mengecek nama hari menggunakan struktur kondisi switch-case
import java.io.*;

class HariNanIndah{
public static void main(String[]args){
System.out.println(―Program Untuk Menampilkan Nama Hari‖);
int pilihan;
BufferedReader masukan = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println(―\nInputkan Pilihan Hari [1 .. 7] : ―);
pilihan = new Integer(masukan.readLine()).intValue();

System.out.println(―\n‖);

Switch(pilihan){

case 1 :
System.out.println(‖Hari Senin‖);
System.out.println(‖Java is funny‖);
break;
case 2 :
System.out.println(‖Hari Selasa‖);
System.out.println(‖Java is my honey‖);
break;
case 3 :
System.out.println(‖Hari Rabu‖);
System.out.println(‖Java is sweety‖);
break;
case 4 :
System.out.println(‖Hari Kamis‖);
System.out.println(‖Java is beauty‖);
break;
case 5 :
System.out.println(‖Hari Jum‘at‖);
System.out.println(‖Java is easy‖);
break;
case 6 :
System.out.println(‖Hari Sabtu‖);
System.out.println(‖Java is my friend‖);
break;
case 7 :
System.out.println(‖Hari Minggu‖);
System.out.println(‖Java is free‖);
break;
default :
System.out.println(‖Inputan Salah..‖);
}
}catch(Exception e){
System.out.println(‖Inputan Salah...‖);
System.exit(0);
}
}
}
BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 25 Dari 113 Halaman

Struktur Kontrol Perulangan for, while, dan do-while


ForWhile.java
class ForWhile{
public static void main(String[]args){
int i;

//perulangan for
for(i=0;i<5;i++){
System.out.println(―Hello.. Welcome to My Java, Apa Obsesimu…?‖);
}
System.out.println(―\n‖);

//perulangan while
i=0;
while(i < 5){
System.out.println(―Java, Bikin Hidup Lebih Hidup.‖);
i++;
System.out.println(―\n‖);
}
//perulangan do-while
i = 0;
do{
System.out.println(―Java, Tulis Sekali Running Dimana Saja..‖);
i++;
}
while(i < 5){
System.out.println(‖Java Platform Yang Independent..‖);
i++;
}
}

WhileTest.java
Program menampilkan bilangan random atau acak.
public class WhileTest{
public static void main(String[]args){
double r = 0;
while(r < 0.99d){
r.Math.random();
System.out.println(r);
}
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 26 Dari 113 Halaman

Break dan Continue


BreakNews.java
Program penggunaan perintah break dan continue dalam Java
class BreakNews{
public static void main(String[]args){
for(int i=0;i<10;i++){
if(i==5){
continue;
}
System.out.println(―Isi Dari Variabel I Yang Ke : ―+i);
if(i==8){
break;
}
}
}
}

Soal dan Latihan


1. Tampilkan 10 deret bilangan, serta hitung berapa banyak bilangan genapnya dan berapa banyak bilangan
ganjilnya
1 2 3 4 5 6 7 8 9 10
2. Buatlah Program Java untuk menampilkan tanggal sekarang dengan format Indonesia.
Misalnya : 15 Maret 2008.
3. Buatlah program untuk mencetak tampilan sbb ! Gunakan perulangan atau array !
*
**
***
4. Input sebuah nama, dan cetak nama tsb sebanyak karakternya :
Contoh Layout :
Input Nama Anda : Badrus
Cetak perulangan nama :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 27 Dari 113 Halaman

Badrus
Badrus
Badrus
Badrus
Badrus
Badrus

Input Nama Anda : Zaman


Cetak perulangan nama :
Zaman
Zaman
Zaman
Zaman
Zaman
Zaman
Zaman
Zaman
5. Input tiga buah bilangan dan buat fungsi untuk mencari nilai maksimal (bilangan terbesar) dari 3 bilangan yang
diinputkan tersebut !
Contoh Layout :
Inputkan 3 Buah Bilangan :
Bilangan 1 : 10
Bilangan 2 : 14
Bilangan 3 : 4

Bilangan Terbesarnya : 14

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 28 Dari 113 Halaman

Pertemuan IV
[ STRING ]
Materi :
1. Kelas String.
2. Kelas StringBuffer.
3. Kelas Character.

KelasString.java
Program Kelas String dalam Java
import java.lang.Character;
import java.lang.String;
import java.lang.StringBuffer;

class KelasString{
public static void main(String[]args){
//cara pengaksesan variabel/object String.
String java1 = new String(―JAVA IS FUNNY‖);
String java2 = new String(―Java is Easy‖;
System.out.println(―Isi Variabel Java1 : ―+java1.toLowerCase());
System.out.println(‖Isi Variabel Java2 : ‖+java2.toUpperCase());
System.out.println(‖Isi Variabel Java2 : ‖+java2.replace(‘A‘,‘#‘));
System.out.println(‖Karakter Ketiga Java : ‖+java2.charAt(2));

BAHASA PEMROGRAMAN 1
System.out.println(‖--------------------------------------------------\n‖);
JILID PERTAMA
//cara pengaksesan variabel/object String
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 29 Dari 113 Halaman

PanjangString.java
Program menghitung panjang String dalam Java
class PanjangString{
public static void main(String[]args){
String s1 = ―Tulis Sekali Running Dimana Saja..‖);
String s2 = new String(―I Live in Java‖);
int panjang;

panjang = s1.length();
System.out.println(―Panjang String \‖‖+s1+‖\‖=‖+panjang);

panjang = s2.length();
System.out.println(―Panjang String \‖‖+s2+‖\‖=‖+panjang);
}
}

Substring.java
Program contoh penggunaan substring dalam Java
class Substring{
public static void main(String[]args){
String str = new String(―Jang Nara‖);
//Substring(awal,akhir);
System.out.println(―Jang Nara - > Substring(2) : ―+str.substring(2));
System.out.println(―Jang Nara - > Substring(2,3) : ―+str.substring(5,9));

//Contoh lain pemakaian metode dalam objek String


System.out.println(―Sahabat(4) = ‖+‖Sahabat‖.substring(4));
BAHASA PEMROGRAMAN 1
System.out.println(―Sahabat(2,4) = ‖+‖Sahabat‖.substring(2,4));
} JILID PERTAMA
}
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 30 Dari 113 Halaman

AwalAkhir.java
Program untuk memeriksa awal dan akhir suatu String
class AwalAkhir{
public static void main(String[]args){
String str = new String(―Utada Hikaru‖);
//Apakah str diawali dengan … ?
System.out.println(―String str = ―+str);
System.out.println(―String diawali dengan ‗Ut‘ ?‖+str.startsWith(―Ut‖));
System.out.println(―String diawali dengan ‗Ut‘ ?‖+str.startsWith(―ut‖));
//Apakah str diakhiri dengan … ?
System.out.println(―String diakhiri dengan ‗Ru‘ ?‖+str.endsWith(―Ru‖));
System.out.println(―String diakhiri dengan ‗ru‘ ?‖+str.endsWith(―ru‖));
}
}

Trims.java
Program untuk menghilangkan Whitespace di akhir dan awal String

class Trims{
public static void main(String[]args){
String str = ― Jang Nara‖;
String str2 = ―Utada Hikaru ‖;
System.out.println(―String str = ―‖+str+‖‖\‖‖);
System.out.println(―String trim(str) = \‖‖+str.trim() +‖\‖‖);
System.out.println(―String str2 = \‖‖+str2 +‖\‖‖);
System.out.println(―String trim(str2) = \‖‖+str2.trim() + ―\‖‖);
}
}

Karakter.java
Program penggunaan fungsi – fungsi Karakter dalam Java
import java.io.*;

class Karakter{
public static void main(String[]args){
BufferedReader Tanya;
char apa;
try{
System.out.println(―Inputkan Sebuah Karakter..‖);
tanya = new BufferedReader(new InputStreamReader(System.in));
apa = (Tanya.readLine()).charAt(0);

//isDigit() BAHASA PEMROGRAMAN 1


if(Character.isDigit(apa)){
System.out.println(―Karakter Digit‖); JILID PERTAMA
}
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 31 Dari 113 Halaman

Ascii.java
Program menampilkan kode ASCII
class Ascii{
public static void main(String[]args){
int i = 0;
char c;
for(i=0;i<256;i++){
c=(char)I; //konversi dari integer ke char
System.out.println(i+‖\t‖+c);
}
}
}

Format.java
String dan Number Format
import java.text.DecimalFormat;

class Format{
public static void main(String[]args){
DecimalFormat myformat = new DecimalFormat(―0.0000‖);
for(int i = 1;i <=10;i++){
System.out.println(myformat.format(1.0/i));
}
}
} BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 32 Dari 113 Halaman

Soal dan Latihan


1. Inputkan nama dan tampilkan nama yang diinput secara terbalik !
Contoh Layout :
Inputkan Nama : Badrus Zaman
Nama Anda jika dibalik : namaZ surdaB
2. Inputkan sebuah nama dan periksa ada berapa huruf ‘a‘ dalam nama tersebut.
Contoh Layout :
Inputkan Nama Anda : Badrus Zaman
Jumlah huruf a : 3

Inputkan Nama Anda : Reza Sulistiyawan


Jumlah huruf a : 3
3. Inputkan sebuah karakter dan periksa apakah karakter yang diinputkan termasuk vokal (a, i, u, e, o) atau
karakter konsonan !
Contoh Layout :
Input sebuah karakter : u
U termasuk Vokal.

Input sebuah karakter : m


M termasuk Konsonan.
4. Input sebuah nim, dan ganti semua digit ‘1‘ menjadi ‘*‘.
Contoh Layout :
Input NIM Anda : 0211500049
Nim Anda Menjadi : 02**50049

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 33 Dari 113 Halaman

5. Buat Program untuk menginput sebuah nama dan tampilkan nama tersebut dengan format ‖ Title Case‖,
dimana semua huruf dijadikan Kapital.
Contoh Layout :
Input Nama Anda : Badrus Zaman
Nama Anda : BADRUS ZAMAN

Input Nama Anda : Reza Sulistiyawan


Nama Anda : REZA SULISTIYAWAN
6. Buat Program untuk menginput sebuah nama dan tampilkan nama tersebut dengan format ‖ Title Case‖,
dimana semua huruf dijadikan Kecil.
Contoh Layout :
Input Nama Anda : Badrus Zaman
Nama Anda : badrus zaman

Input Nama Anda : Reza Sulistiyawan


Nama Anda : reza sulistiyawan
Pertemuan V
[ METHOD ]
Materi :
1. Deklarasi metoda.
2. Konversi argumen.
3. Lingkup deklarasi.
4. Overload metoda.
5. Rekursif.

Deklarasi sebuah Method


public, private, protected, package.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 34 Dari 113 Halaman

static.
abstract.
final.
native.
synchronized.
<return><nama_method>(parameter)
throws exception

Contoh :
public double luas(int panjang, int lebar);

Aritmatika.java
Program Aritmatika sederhana.
import java.io.*;

class Aritmatika{
public static void main(String[]args){
int tambah(int a, int b){
return(a+b);
}
int kurang(int a, int b){
return(a-b);
}
int kali(int a, int b){
return(a*b);
}
int bagi(int a, int b){
return(a/b);
}
int modulus(int a, int b){
return(a%b);
}

//fungsi main
public static void main(String[]args){
int x = 0, y = 0;
BAHASA PEMROGRAMAN 1
Aritmatika hitung = new Aritmatika();
JILID PERTAMA
BufferedReader input;
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 35 Dari 113 Halaman

cariNilai.java
Program mencari grade dengan fungsi (method) Nilai()
import java.io.*;

class cariNilai{
public static void main(String[]args){
//ini adalah deklarasi fungsi cari nilai
char Nilai(int data){
char coba = ‗E‘;
if(data>=0){
coba = ‗E‘;
}
if(data>45){
coba = ‗D‘;
}
if(data>55){
coba = ‗C‘;
}
if(data>70){
coba = ‗B‘;
}
if(data>80){
coba = ‗A‘;
} BAHASA PEMROGRAMAN 1
return coba;
} JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 36 Dari 113 Halaman

Overloading.java
Program penerapan Overloading Fungsi dalam Java

class OverLoading{
int tambah(int A){
return A;
}
int tambah(int A, int B){
return(A+B);
}
int tambah(int A, int B, int C){
return(A+B+C);
}
int tambah(int A, int B, int C, int D){
return(A+B+C+D);
}
public static void main(String[]args){
int X = 0;
OverLoading coba = new OverLoading();
X = coba.tambah(12);
System.out.println(―\nMenggunakan 1 Buah Parameter : ―+X);
BAHASA PEMROGRAMAN 1
X = coba.tambah(12,13);
System.out.println(―\nMenggunakan 1 Buah Parameter : ―+X); JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 37 Dari 113 Halaman

Faktorial.java
Program untuk menghitung nilai faktorial dengan rekursif
class Faktorial{
long factorial(int data){
if(data <= 1){
data = 1;
return(data);
}else{
return(data * factorial(data-1));
}
}
}

class Rekursif{
public static void main(String[]args){
long data = 0;
Faktorial coba = new Faktorial();

class Rekursif{
public static void main(String[]args){
long data = 0;
Faktorial coba = new Faktorial();

data = coba.faktorial(5);
System.out.prinln(‖Nilai Faktorial = ‖+data);
}
}

Tanggal.java
Menampilkan tanggal dalam Java
import java.util.Date;
import java.text.SimpleDateFormat;

class Tanggal{
public static void main(String[]args){
BAHASA PEMROGRAMAN 1
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat(‖dd MM yyyy hh:mm:ss‖);
JILID PERTAMA
String s = format.format(date);
System.out.println(s);
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 38 Dari 113 Halaman

Soal dan Latihan


1. Inputkan panjang rusuk sebuah kubus dan buat method untuk menghitung volume kubus tersebut !
Contoh Layout :
Input Data Kubus (dalam cm) :
Panjang Rusuk : 4
Volume Kubus : 64 cm kubik.
2. Input dua buah bilangan ke dalam variabel x dan y, dan buat method untuk menukar posisi dua bilangan tersebut
!
Contoh Layout :
Penukaran bilangan :
Input bilangan pertama : 5
Input nilangan kedua : 10
Nilai variabel X = 5
Nilai variabel Y = 10

Setelah penukaran
Nilai variabel X = 10
Nilai variabel Y = 5

3. Buat method untuk mencetak n bilangan ganjil pertama, dimana n diinputkan oleh user !
Contoh Layout :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 39 Dari 113 Halaman

Cetak bilangan ganjil


Input n : 10
Deret bilangan ganjil : 1 3 5 7 9 11 13 15 17 19

Input n : 8
Deret bilangan ganjil : 1 3 5 7 9 11 13 15

4. Input sebuah bilangan integer dan periksa bilangan tersebut apakah merupakan bilangan kelipatan 3 atau
bukan. Jika kelipatan 3 cetak keluaran ‖Kelipatan 3‖, dan jika bukan cetak ‖Bukan Kelipatan 3‖ !
Contoh Layout :
Input sebuah bilangan integer : 12
12 termasuk Kelipatan 3

Input sebuah bilangan integer : 10


10 bukan termasuk Kelipatan 3

Try It Your Self !


/*TextClock.java—Uses Timer, Calender, JTextField.
Enhancements : center, leading zeros, uneditable, 12 jam, alarm, timer
*/

import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar; //hanya butuh class ini saja

//////////////////// TextClock
public class TextClock{
//================================================================main
public static void main(String[]args){
JFrame clock = new TextClockWindow();
clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
clock.setVisible(true);
}//end main
}//end class TextClock

/////////////////////TextClockWindow
class TextClockWindow extends JFrame{
//================================instances variables
BAHASA PEMROGRAMAN 1
private JTextField timeField; //set by timerListener
//======================================constructor JILID PERTAMA
public TextClockWindow(){
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 40 Dari 113 Halaman

Pertemuan VI
[ ARRAY ]
Materi :
1. Konsep array.
2. Mendeklarasikan array dimensi satu.
3. Mengolah array dimensi satu.
4. Mendeklarasikan array dimensi dua.
5. Mengolah array dimensi dua.

Array1D.java

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 41 Dari 113 Halaman

Program Array Satu Dimensi dalam Java


class Array1D{
public static void main(String[]args){
int[]tweety = new int[5];
double[]mickey = new double[5];
String[]goku = new String[5];

for(int i=0 ; i<5 ; i++){


tweety[i] = i+3;
mickey[i] = i+2.5;
goku[i] = ―String ―+(i*2);
}
for(int i=0 ; i<5 ; i++){
System.out.println(‖Tweety = ‖+tweety[i], ―Mickey = ―+mickey[i], ―Goku =
―+goku[i]+‖  index ke [ ―+i+‖]‖);
}
}
}

Array2D.java
Program Array Dua Dimensi bertipe String
class Array2D{
public static void main(String[]args){
//pendeklarasian array matrix dengan String
String[][]arrNama = {
{―Anky‖,‖Dwi‖,‖Didik‖},{―Edwin‖,‖Misgy‖,‖Bewok‖},
{―‖Pepi‖,‖Etex‖,‖Tea-tea‖}};

//menampilkan matrix array


for(int i=0 ; i<3 ; i++){
for(int j=0 ; j<3 ; j++){
System.out.println(arrNama[i][j]);
System.out.println(― ―);
}
System.out.println(―\n‖);
}
System.out.println(―\n\n‖);
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 42 Dari 113 Halaman

Matriks.java
Program untuk menginput dan menampilkan sebuah matrix dua dimensi
import java.io.*;

class Matriks{
public static void main(String[]args){
int[][]M = new int[3][4];
int i, j;

//input matriks
BufferedReader isi;
System.out.println(‖Input Elemen Matriks M[3][4]‖);
try{
isi = new BufferedReader(new InputStreamReader(System.in));
for(i=0 ; i<3 ; i++){
for(j=0 ; j<4 ; j++){
System.out.println(‖M[‖+i+‖][‖+j+‖] = ‖);
M[i][j] = new Integer(isi.readLine()).intValue();
}
System.out.println(‖\n‖);
}
}catch(Exception e){
System.out.println(‖Inputan Berupa Integer Saja...‖);
}
//tampilkan isi Matriks
System.out.println(‖Isi Matriks M‖);
for(i=0 ; i<3 ; i++){
for(j=0 ; j<4 ; j++){
System.out.println(M[i][j]+‖ ‖);
}
System.out.println(‖ ‖);
}}}

KirimArray.java
Program pengiriman sebuah array ke dalam fungsi (method) dalam Java
class KirimArray{
//fungsi untuk menerima array String
void kalimat(String nama[]){
for(int i=0 ; i<nama.length ; i++){
System.out.println(nama[i]);
}
System.out.println(‖\n\n‖);
}

//fungsi untuk menerima array int


void nilai(int[]nil){
for(int i=0 ; i<nil.length ; i++){
System.out.println(nil[i]);
}
System.out.println(‖\n\n‖);
}

//fungsi main
public static void main(String[]args){
KirimArray coba = new KirimArray();
int[]data = {1,2,3,4,5,6,7};
BAHASA PEMROGRAMAN 1
String data1[] = {‖Java‖,‖Is‖,‖Funny‖}; JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 43 Dari 113 Halaman

ArrSort.java
Program mengurutkan isi suatu Array
import java.util.*;

class ArrSort{
public static void main(String[]args){
Double[]da = {new Double(3.1), new Double(99), new Double(-66)};
System.out.print(da);
}
private static void print(Object[]oa){
for(int i=0 ; i<oa.length ; i++){
System.out.println(oa[i]+‖ ―);
}
System.out.println(― ―);
}
}

Soal dan Latihan


1. Buat program untuk menghitung penjumlahan dua buah matriks bujur sangkar dengan ordo 3 x 3 dimana m
diinput dari keyboard !
Contoh Layout :
Input ordo matriks : 3
Input elemen matriks A
A[0,0] = 1
A[0,1] = -2

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 44 Dari 113 Halaman

A[0,2] = 0
A[1,0] = 3
A[1,1] = -1
A[1,2] = 2
A[2,0] = 1
A[2,1] = 2
A[2,2] = 4

Input elemen matriks B


B[0,0] = 2
B[0,1] = 0
B[0,2] = 4
B[1,0] = 2
B[1,1] = 4
B[1,2] = -2
B[2,0] = 3
B[2,1] = -4
B[2,2] = -3

Hasil Penjumlahan Matriks A dan B :


3 -2 4
5 3 0
4 -2 1

2. Inputkan NIM, tentukan dan tampilkan jurusan mahasiswa berdasarkan digit ke-3 dan ke-4 !
Contoh Layout :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 45 Dari 113 Halaman

Input NIM Anda : 0711300000


Jurusan Anda : Manajemen Informatika
Inpit NIM Anda : 0712300000
Jurusan Anda : Komputerisasi Akuntansi
3. Input elemen sebuah matriks Mx berordo 3 x 4 dan hiting rata – rata baris kedua !
Contoh Layout :
Input elemen matriks 3 x 4 :
A[0,0] = 1
A[0,1] = -2
A[0,2] = 5
A[0,3] = 3
A[1,0] = 3
A[1,1] = -1
A[1,2] = 2
A[1,3] = 2
A[2,0] = 1
A[2,1] = -6
A[2,2] = 1
A[2,3] = 8
Rata – rata matriks baris kedua adalah : 1.50
Pertemuan VII
[ KELAS DALAM JAVA (1) ]
Materi :
1. Konsep kelas.
2. Membuat Kelas.
3. Lingkup kelas.
4. Akses ke anggota kelas.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 46 Dari 113 Halaman

5. Mereferensikan objek menggunakan perintah this.


6. Konstruktor.
7. Overload konstruktor.

Kelas.java
Pembentukan Kelas dalam Java.
import java.io.*;

class Kelas{ //ini adalah deklarasi kelas


void taimpil(){ //deklarasi fungsi
System.out.println(‖Hello Semuanya.....‖);
}
public static void main(String[]args){ //pendeklarasian fungsi utama
//pembuatan objek harus disertakan dengan nama konstruktornya
Kelas AC = new Kelas();
AC.tampil(); //penggunaan fungsi yang ada di dalam kelasnya
}
}

BudiLuhur.java
Konstruktor dalam Java
class Conan{
BudiLuhur(){
System.out.println(‖Constructor class Budi Luhur datang membawa pesan...‖);
}

void PakartiLuhur(){
System.out.println(‖\nPakarti Luhur menyambut kedatangan dan menerima pesan dari
Budi Luhur...‖);
}
public static void main(String[]args){
BudiLuhur data = new BudiLuhur();
data.PakartiLuhur();
KelasInggris.java }
}
Ada yang aneh .. ?
class Inggris{
public double x, y; //public attributes
private int size; //private attribute

public Inggris(){ //constructor untuk inisialisasi attributes


x = 0.0; //harus memiliki nama yang sama sebagai kelas
y = 0.0;
size = 1;
}
public double getSize(){ //accessor method
return size;
}
public void setSize(int newSize){ //mutator method
size = newSize;
}
} BAHASA PEMROGRAMAN 1
JILID PERTAMA
public class KelasInggris{
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 47 Dari 113 Halaman

OverCon.java
class OverCon{
//deklarasi konstruktor & overloading konstruktor
OverCon(){
System.out.println(‖Kontruktor 1 Di Jalankan‖);
}
OverCon(int a, int b){
System.out.println(‖Konstruktor 2 Di Jalankan ‖);
System.out.println(‖Hasil Penjumlahan : ‖+(a+b)+‖\n\n‖);
}
OverCon(int a, int b, int c){
System.out.println(‖Konstruktor 3 Dijalankan : ‖);
System.out.println(‖Hasil Penjumlahan ‖+(a+b+c)+‖\n\n‖);
}
//fungsi main
public static void main(String[]args){
//pembuatan Objek dan pemberian parameter dan konstruktor
OverCon satu = new OverCon();
OverCon dua = new OverCon(4,9);
OverCon tiga = new OverCon(2,3,4);
}
}
Mahasiswa.java
Mereferensikan objek menggunakan perintah this
public class Mahasiswa{
private String nim, nama;

Mahasiswa(){
this.nim = ‖0711300000‖;
this.nama = ‖Anky‖;
}
//bedakan nim dengan this.nim
void cetakMahasiswa(String nim){
System.out.println(‖Data Mahasiswa : ‖);
System.out.println(‖NIM : ‖+nim);
System.out.println(‖NIM : ‖+this.nim);
System.out.println(‖Nama : ‖+this.nama);
} BAHASA PEMROGRAMAN 1
public static void main(String[]args){ JILID PERTAMA
Mahasiswa apl = new Mahasiswa();
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 48 Dari 113 Halaman

Soal dan Latihan


Soal 1 :
Bentuklah kode program yang merepresentasikan permasalahan berikut ini :
Misal diketahui berbagai jenis pohon.
- Setiap pohon mempunyai akar, daun, batang.
- Setiap pohon dapat tumbuh, berbunga.
- Pohon mangga merupakan salah satu jenis pohon yang dapat berbuah mangga.
- Pohon jambu (merupakan salah satu jenis pohon yang dapat berbuah jambu.

Petunjuk :
- Pohon (super class)
- PohonMangga (sub class) dengan method tambahan berbuah dan attribute buah = jambu.
 Buat class bernama Pohon. Dengan attribute : akar, batang, daun, dan method tumbuh, berbunga.
 Buat class bernam PohonMangga yang inherit Pohon dengan method tambahan berbuah dan attribute buah =
mangga.
 Buat class bernama PohonJambu yang inherit Pohon dengan method tambahan berbuah dan attribute buah =
Jambu.
Soal 2 :
Buatlah sebuah kelas yang apabila diberi inputan bilangan integer akan menampilkan jumlah kedua bilangan tersebut,
apabila diberi input dua String akan menampilkan sambungan kedua String tersebut.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 49 Dari 113 Halaman

Soal 3 :
Buatlah sebuah kelas yang terdiri dari method hitung() dan method tampil(). Method tampil() digunakan untuk
menampilkan hasil perhitungan. Overload method hitung(). Jika method hitung menerima 2 parameter, jumlahkan
keduanya. Jika method hitung() menerima 3 parameter, kalikan ketiganya. Dan jika method hitung() menerima 4
parameter, hitung rata – ratanya.

Pertemuan VIII
[ MIDTEST ]

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 50 Dari 113 Halaman

Pertemuan IX
[ KELAS DALAM JAVA (2) ]
Materi :
1. Composition.
2. Garbage collector.
3. Static class member.
4. Final instance variabel.

Final.java
Hubungan Bapak, Anak, dan Final
class Bapak{
final void tampil(){ //ini tidak dapat di overriding
System.out.println(―void tampil pada Kelas Bapak‖);
}
} BAHASA PEMROGRAMAN 1
JILID PERTAMA
class Anak extends Bapak{
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 51 Dari 113 Halaman

Buah_mangga.java
Composition dalam Java
//Composition adalah suatu metode yag mirip dengan Inheritance
//Cuma bedanya Composition dengan Inheritance adalah
//kalau Inheritance menggunakan pewarisan pada subclass-nya.
//tapi kalau Composition dengan menggunakan metode penciptaan objek di lain Class.
//sehingga konsepnya mirip dengan Inheritance.

class Buah{
String buah1;

Buah(String buah){
System.out.println(‖Konstruktor Pada Kelas Buah‖);
buah1 = buah;
}

void informasi(){
System.out.println(‖Ini adalah Buah : <‖+buah1+‖>‖);
System.out.println(‖<‖+buah1+‖>Mengandung Banyak Vitamin‖);
}
}

class Mangga{
Mangga(){ BAHASA PEMROGRAMAN 1
System.out.println(‖Konstruktor Pada Kelas Mangga‖);
} JILID PERTAMA
//ini adalah objek yang diciptakan dari Kelas Buah
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 52 Dari 113 Halaman

Bath.java
Composition dalam Java
class Soap{
private String s;

Soap(){
System.out.println(‖Soap()‖);
s = new String(‖Constructed‖);
}

public String toString(){


return s;
}
}

class Bath{
private String
//inisialisasi pada point definisi:
s1 = new String(‖Happy‖);
s2 = ‖Happy‖;
s3, s4;
Soap castille;
int i;
float toy; BAHASA PEMROGRAMAN 1
Bath(){ JILID PERTAMA
System.out.println(―Di Dalam Bath()‖);
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 53 Dari 113 Halaman

Pertemuan X
[ PACKAGES ]
Materi :
1. Membuat packages.
2. Akses ke packages.

Konsep Package
Package digunakan untukmengelompokkan class – class. Secara teknis pengelompokkan ini diwujudkan
dengan membuat struktur direktory untuk menyimpan class – class hasil compilasi file – file java tersebut.
Untuk mendeklarasikan sebuah package, digunakan bentuk sbb :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 54 Dari 113 Halaman

package <nama_package>;
Nama.java
Membuat package
package javaz.paket;

import java.io.*;

public class Nama{


private String nama;

//public
public void InputNama(){
BufferedReader input;
try{
System.out.println(―Input Nama Anda : ―);
input = new BufferedReader(new InputStreamReader(System.in));
nama = input.readLine();
}catch(Exception e){
System.out.println(―Error Inputan‖);
}
}

public void ubahNama(String NamaBatu){


nama = NamaBaru;
}

public void tampilNama(){


System.out.println(‖Nama Anda Adalah : ‖+nama);
}
}

SiapaNama.java
Mengakses packages
import javaz.paket.Nama;

class Siapa{
public static void main(String[]args){
Nama data = new Nama();

data.inputNama();
data.tampilNama();

data.UbahNama(―Badrus Zaman‖);
data.tampilNama();
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 55 Dari 113 Halaman

Pertemuan XI
[ INHERITANCE (1) ]
Materi :
1. Konsep Inheritance.
2. Protected Member.
3. Hubungan Antara Superclass dan Subclass.

Konsep Inheritance.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 56 Dari 113 Halaman

Inheritance adalah sebuah teknik untuk membuat sebuah objek yang menurunkan data dan prsedur yang
dimiliki oleh objek lain. Objek yang ada terlebih dahulu disebut superclass. Sedangkan objek yang lain disebut
dubclass.
TurunanBapak.java
Program Penurunan Sederhana
class Bapak{
int i, j;

void tampil_ij(){
System.out.println(‖Nilai i = ‖+i);
System.out.println(‖Nilai j = ‖+j);
}
}

class Anak extends Bapak{


void tampil_k(){
System.out.println(‖Nilai k = ‖+k);
}

void jumlah_ijk(){
System.out.println(‖Jumlah i+j+k = ‖+(i+j+k));
}
}

class TurunanBapak{
public static void main(String[]args){
Bapak John = new Bapak();
Anak.Irene = new Anak();

John.i = 12;
John.j = 16;
System.out.println(―Class Bapak Adalah Super Class Dari Class Anak..‖);

John.tampil_ij();

Irene.i = 10;
Irene.j = 20;
Irene.k = 11;
System.out.println(―\nClass Bapak Adalah Super Class Dari Class Anak…‖);

Irene.tampil_ij();
Irene.tampil_k();
Irene.jumlah_ijk();
}
}

TurunanOrang.java
Program Penurunan Orang
class Orang{
private String jenis_rambut, warna_rambut, mata;

Orang(){
this.jenis_rambut = ―Pirang‖;
this.warna_kulit = ―Putih‖;
BAHASA PEMROGRAMAN 1
this.mata = ―Hitam‖; JILID PERTAMA
}
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 57 Dari 113 Halaman

SapiMamat.java
Program Inheritance dan Protected Variabel
class Sapi{
private double harga, jumlah;
protected double total;

Sapi(){
System.out.println(―Konstruktor Kelas Sapi..‖);
}

void hargaTotal(double hrg, double jml){


this.harga = hrg;
this.jumlah = jml;
this.total = hrg*jml;
}

void tampil(){
System.out.println(―Harga Sapi : ―+this.harga);
System.out.println(―Jumlah Sapi : ―+this.jumlah);
System.out.println(―Total Harga : ―+this.total);
}
BAHASA PEMROGRAMAN 1
double getHarga(){ JILID PERTAMA
return this.harga;
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 58 Dari 113 Halaman

class SapiMamat{
public static void main(String[]args){
double harga = 100000;
int jumlah = 3;
String type = ―Alabama‖;

System.out.println(―< ---- Konstruktor Yang Dijalankan ---- >\n‖);


SapiJantan coba = new SapiJantan(harga, jumlah, tipe);

//ini adalah function yang ada pada Kelas Sapi


System.out.println(‖\n\nFungsi Tampil() Pada Kelas Sapi..‖);
coba.tampil();

//ini adalah function yang ada pada Kelas SapiJantan


System.out.println(‖\nFungsi Tampil 1 Pada Kelas SapiJantan ...‖);
coba.tampil1();

System.out.println(‖\n‖);
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 59 Dari 113 Halaman

Pertemuan XII
[ INHERITANCE (2) ]
Materi :
1. Hubungan antara objek – objek dalam turunan.
2. Nested class (Class di dalam Class).

Konsep Inheritance

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 60 Dari 113 Halaman

Inheritance adalah sebuah teknik untuk membuat sebuah objek yang menurunkan data dan prosedur yang
dimiliki oleh objek lain. Objek yang ada terlebih dahulu disebut super class. Sedangkan objek yang diturunkan darinya
disebut sub class.

TurunanAyam.java
Hubungan antara objek dalam turunan.
import java.io.*;

class IndukAyam{
private int nilai;
private String nim, nama;

protected void inputData(){


BufferedReader input;
try{
System.out.println(―\nNilai : ―);
input = new BufferedReader(new InputStreamReader(System.in));
nilai = new Integer(input.readLine()).intValue();

//input nim
System.out.println(―\nNim : ―);
nim = input.readLine();
System.out.println(―\nNama : ―);
nama = input.readLine();
}catch(Exception e){
System.out.println(―Error I/O…‖);
}
}

protected void tampilData(){


System.out.println(‖NIM : ‖+this.nim);
System.out.println(―Nama : ―+this.nama);
System.out.println(‖Nilai : ‖+this.nilai);
}
}
class AnakAyam extends IndukAyam{
String kelompok;

AnakAyam(String kel){
super.inputData();
kelompok = kel;
}

void tampil(){
super.tampilData();
System.out.println(―Kelompok : ―+kelompok);
}
}

class TurunanAyam{
public static void main(String[]args){
AnakAyam nakal = new AnakAyam(―AB‖);
System.out.println();
nakal.tampil();
}
}
BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 61 Dari 113 Halaman

NestedClass.java
Program Class Bersusun (Class Di dalam Class)
class NestedClass{ //Kelas paling atas
class KelasDalam{ //Kelas yang ada di dalam (inner Class)
String fungsi1(){ ..fungsi inner Class
return ‖Ini Adalah Fungsi 1 Pada Kelas Dalam ...‖;
}
String fungsi2(){
Return ‖Ini Adalah Fungsi 2 Pada Kelas Dalam ...‖;
}
}
KelasDalam coba; //instansiasi KelasDalam (Pembuatan Objek Baru)

NestedClass(){ //Konstruktor pada Kelas NestedClass


coba = new KelasDalam();
}

void tampilkan(){
System.out.println(‖coba.fungsi1());
System.out.println(‖coba.fungsi2());
}

public static void main(String[]args){


NestedClass obj = new NestedClass();
obj.tampilkan();
}
}

Pertemuan XIII
[ POLYMORPHISME ]
Materi :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 62 Dari 113 Halaman

1. Konsep Polymorphisme.
2. Implementasi Polymorphisme.
3. Inheritance.

Konsep Polymorphisme
Polymorphisme adalah sebuah teknik yang memperbolehkan sebuah objek memiliki beragam implementasi/

PolyMorpotter.java
Polymorphisme dalam Film
class Film{
void satu(){ }
void dua(){ }
}

class HarryPotter extends Film{


void satu(){
System.out.println(―Harry‖);
}
void dua(){
System.out.println(―Ronald‖);
}
void tiga(){
System.out.println(―Hermione‖);
}
}

class Matrix extends Film{


void satu(){
System.out.println(―Morpheus‖);
}
void dua(){
System.out.println(―Neo‖);
}
void tiga(){
System.out.println(―Trinity‖);
}
}

class PolyMorpotter{
public static void main(String[]args){
Film[]pemain = new Film[2];

pemain[0] = new HarryPotter();


pemain[1] = new Matrix();

System.out.println(―Harry Potter :The Prisonner Of Azkaban‖);


pemain[0].satu();
pemain[0].dua();
pemain[0].tiga();

System.out.println(―The Matrix : Reloaded‖);


BAHASA PEMROGRAMAN 1
pemain[1].satu();
pemain[2].dua(); JILID PERTAMA
pemain[3].tiga();
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 63 Dari 113 Halaman

PolyLagu.java
Polymorphisme dalam Lagu
class Lagu{
void satu(){}
void dua(){}
}

class Indonesia extends Lagu{


void satu(){
System.out.println(―D‘Massive : Cinta Ini Membunuhku‖);
}
void dua(){
System.out.println(―Padi : Harmony‖);
}
}

class Barat extends Lagu{


void satu(){
System.out.println(―Greenday : American Idiot‖);
}
void dua(){
System.out.println(―Goo Goo Dolls : Iris‖);
}
}

class Dangdut extends Lagu{


void satu(){
System.out.println(―Alam : Mbah Dukun‖);
}
void dua(){
System.out.println(―Trio Macan : SMS‖);
}
}

class PolySong{
public static Lagu acak(){
switch((int)(Math.random()*3)){
case 1 : return new Indonesia();
case 2 : return new Barat();
case 3 : return new Dangdut();
default: return new Dangdut();
}
}

public static void main(String[]args){


Lagu[]judul = new Lagu[5];
BAHASA PEMROGRAMAN 1
JILID PERTAMA
for(int i=0 ; i<judul.length ; i++){
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 64 Dari 113 Halaman

Pertemuan XIV

[ DATABASE DAN SQL ]


Database

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 65 Dari 113 Halaman

Database dan teknologi database memiliki pengaruh yang besar terhadap perkembangan penggunaan
komputer. Dapat dikatakan bahwa database memainkan peranan yang penting pada hampir disegala bidang yang
menggunakan komputer, seperti bisnis, electronic commerce (e-commerce), enginereeng, kesehatan, hukum,
edukasi, dan masih banyak lagi.
Database adalah sekumpulan data yang saling berhubungan. Data adalah fakta yang dapat ditangkap dan
dapat direkam dan memiliki arti secara implisit. Sebagai contoh nama, nomor telepon, dan alamat dari orang yang
anda kenal. Anda dapat merekam data tersebut pada buku alamat atau anda simpan pada hard drive dengan
menggunakan komputer dan software aplikasi seperti microsoft excel. Kumpulan data yang berhubungan dan
memiliki arti secara implisit di atas disebut database.
Database Management System (DBMS) adalah sekumpulan program yang memungkinkan pengguna untuk
membuat dan memelihara suatu database. Dengan kata lain, DBMS merupakan general-purpose softwaware system
yang memfasilitasi proses – proses seperti pendefinisian, pembuatan, manipulasi, dan sharing database antara
berbagai pengguna dan aplikasi. Beberapa fungsi penting lainnya yang disediakan oleh DBMS adalah keamanan dan
pemeliharaan.
Database system tidak hanya berupa database itu sendiri tetapi juga terdiri dari definisi atau deskripsi
struktur dan batasan – batasan (constraints) dari database. Definisi disimpan pada katalog DBMS, yang berisi
informasi seperti struktur setiap file, tipe dan format penyimpanan dari setiap data dan berbagai batasan terhadap
data tersebut. Informasi yang disimpan pada katalog DBMS disebut juga meta – data, yang mejelaskan struktur
utama database. Gambar mengenai database system dapat dilihat seperti pada gambar di bawah ini :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 66 Dari 113 Halaman

Users / Programmers

Application Programs / Queries

Application Programs / Queries

Software to Proccess Queries /


Programs

Software to Proccess Stored Data

Stored Database
Definision (Meta – Stored Database
Data)

Gambar : Simplikasi lingkungan database system

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 67 Dari 113 Halaman

Pertemuan XV
[ ARSITEKTUR APLIKASI DATABASE DAN JDBC API ]
Arsitektur Aplikasi Database
Aplikasi – aplikasi database terdiri dari beberapa fungsi, seperti :
 Database Management System (DBMS).
 Application Logic (business rules).
 Presentation Logic (Interface).

Pada arsitektur client server fungsi – fungsi tersebut dapat diletakkan antara client dan server dalam beberapa
cara. Berikut ini merupakan 2 arsitektur client – server yang mungkin untuk sesuatu aplikasi database :
Arsitektur Two-Tier.
Pada Arsitektur two-tier seperti terlihat pada gambar di bawah ini, Application Logic data database driver
terletak di sisi client sedangkan DBMS terletak di sisi server. Aplikasi seperti ini dapat diimplementasikan dengan
menggunakan Applet, dimana business rules terdapat dalam kode applet sama seperti database driver (yang berisi
kode untuk berinteraksi dengan DBMS pada sisi server).

Tier 1 Tier 2

Driver dan Application


Logic Database Server
Gambar : Arsitektur Two-Tier

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 68 Dari 113 Halaman

Arsitektur di atas dikenal dengan fat-client architecture, dimana kode dan pemrosesan banyak dilakukan
disisi client. Database driver dapat diinstalasi terlebih dahulu atau di download melalui applet.

Arsitektur Three-Tier.
Pada arsitektur three-tier seperti terlihat pada gambar di bawah ini hanya presentation logic atau
interface yang terletak disisi client. Aplication logic atau business rules terletak disisi server sedangkan DBMS dapat
diletakkan disisi server atau di komputer ketiga.

Tier 1 Tier 2 Tier 3

Driver dan Application Driver dan Application


Logic Logic Database Server

Gambar : Arsitektur Three-Tier

Arsitektur di atas sering dikenal sebagai thin client, dimana kode dan pemrosesan disisi client lebih sedikit
dibandingkan disisi server. Contoh penggunaan arsitektur thin-client HTML, sedangkan business logic pada servlet
yang menghubungkan ke database system pada server.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 69 Dari 113 Halaman

SQL
SQL (dibaca ‖ess-que-el‖) merupakan singkatan dari Structure Query Language. SQL digunakan untuk
berkomunikasi dengan suatu database. Berdasarkan ANSI (American National Standards Institute ), SQL merupakan
bahasa standar untuk relational database management system. Pernyataan – pernyataan SQL digunakan untuk
melakukan fungsi – fungsi seperti update data pada database, atau pengambilan data dari database. Beberapa
Relational DBMS yang menggunakan SQL, antara lain : Oracle, Sybase, Microsoft SQL Server, Access, Ingre, MySQL,
Postgre dan masih banyak lagi. Meskipun hampir semua DBMS menggunakan SQL, banyak DBMS yang memiliki
tambahan kemampuan dalam SQL-nya dan biasanya digunakan khusus untuk DBMS tersebut.
SQL memiliki beberapa versi antara lain : SQL 1 atau dikenal dengan SQL-86, SQL 2 atau sering dikenal
dengan SQL-92 , dan SQL 3 atau yang dikenal dengan SQL-99.

Kategori Pernyataan SQL


Pernyataan – pernyataan SQL dapat dibagi mejadi 2 kategori, yaitu pernyataan – pernyataan Data
Manipulation Language (DML) dan Data Definition Language (DDL). Pernyataan – pernyataan DML berkaitan dengan
data, baik pengambilan atau pemodifikasian data supaya tetap up-to-date. Sedangkan pernyataan – pernyataan DDL
berkaitan dengan pembuatan atau pengubahan tabel dan objek – objek database lainnya seperti view dan index.
Berikut ini merupakan pernyataan – pernyataan DML, antara lain :
 Select.
Digunakan untuk query dan menampilkan data dari sebuah database. Pernyataan SELECT menspesifikasikan kolom
mana yang termasuk dalam result set (hasi query). Pernyataan SELECT ini merupakan pernyataan yang paling sering
digunakan dalam aplikasi –aplikasi database.
 Insert.
Digunakan untuk mengisi tabel yang baru dibuat atau menambahkan baris/record baru pada tabel yang sudah dibuat.
 Update.
Digunakan untuk mengubah nilai dari suatu kolom atau sekumpulan baris dari sebuah tabel.
 Delete.
Digunakan untuk menghapus sebuah baris tertentu atau sekumpulan baris dari sebuah tabel.
Berikut ini merupakan pernyataan – pernyataan DDL, antara lain :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 70 Dari 113 Halaman

 CREATE TABLE.
Digunakan untuk membuat tabel dengan nama kolom yang ditentukan oleh pengguna. Pengguna juga perlu
mendefinisikan tipe data untuk setiap kolom. Tipe – tipe data tersebuat sangat bervariasi, setiap DBMS memiliki tipe
data yang berbeda dengan DBMS lainnya. Dengan demikian pengguna perlu mengetahui terlebih dahulu tipe data yang
didukung oleh DBMS tersebut.
 DROP TABLE.
Digunakan untuk menghapus semua baris / record dan menghapus definisi tabel dari database.
 ALTER TABLE.
Digunakan untuk menambah atau menghapus sebuah kolom dari suatu tabel.

Pernyataan – Pernyataan SQL.


Sebuah sistem database relational terdiri dari satu atau lebih objek yang disebut tabel. Data atau informasi
disimpan pada tabel – tabel tersebut. Tabel secara unik diidentifikasikan dengan nama tabel beserta kolom dan
barisnya. Kolom terdiri dari nama kolom, tipe data dan attribut – attribut lainnya. Baris terdiri dari record – record
atau data dari kolom – kolom. Berikut ini contoh tabel yang diberi nama ‘Pegawai‘, terdiri dari kolom no_id,
nm_depan, nm_belakang,umur,kota,propinsi. Baris berisi data untuk tabel tersebut, seperti terlihat pada tabel di
bawah ini :
Tabel : Tabel Pegawai
no_id nm_depan nm_belakang umur kota Propinsi
99980 John Jones 45 Jaksel Jakarta
99982 Mary Jones 25 Jaksel Jakarta
88232 Eric Edwards 32 Bogor Jabar
88233 Mary Ann Edwards 32 Jaktim Jakarta
98002 Ginger Howell 42 Jakpus Jakarta
22322 Gus Gray 35 Bekasi Jabar
32326 Mary Ann May 52 Bandung Jabar
92003 Gus Smith 30 Jaktim Jakarta
32327 Erica Williams 60 Bogor Jabar

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 71 Dari 113 Halaman

Pada bagian selanjutnya akan dibahas pernyataan – pernyataan SQL secara ringkas sebagai dasar atau
mengingatkan kembali mengenai bagaimana menuliskan pernyataan – pernyataan SQL. Untuk pernyataan SQL secara
mendetail, anda dapat membaca buku – buku atau referensi – referensi mengenai SQL.

Membuat Tabel.
Pernyataan CREATE TABLE digunakan untuk membuat sebuah tabel baru. Berikut ini merupakan bentuk
pernyataan sederhana CREATE TABLE :
CREATE TABLE <namatabel>
(,kolom1> <tipedata>, <kolom2> <tipedata>,
…………………………………………………………………………………………………….
<kolomN> <tipedata> [<batasan>]);

Bentuk pernyataan CREATE TABLE jika kita menggunakan batasan (constraints) :


CREATE TABLE <namatabel>
(,kolom1> <tipedata>, <kolom2> <tipedata> [<batasan>],
…………………………………………………………………………………………………….
<kolomN> <tipedata> [<batasan>]);

[ ] = optional

Contoh :
CREATE TABLE pegawai
(,no_id INT (5), nm_depan VarChar (15), nm_belakang VarChar (20),umur INT (3),kota
VarChar (30),propinsi VarChar (20));
…………………………………………………………………………………………………….
<kolomN> <tipedata> [<batasan>]);

Untuk membuat sebuah tabel baru, ketikkan CREATE TABLE diikuti dengan nama tabel, tanda ‘( ‘, diikuti nama
kolompertama, tipe data dan batasannya jika ada, lanjutkan untuk kolom berikutnya, tanda ‘) ‘ dan ditutup dengan
tanda ‘; ‘ biasanya banyak digunakan untuk menutup pernyataan SQL dibanyak DBMS. Pada materi kuliah ini, penulis
menggunakan tanda ‗: ‗ disetiap akhir pernyataan SQL. Untuk lebih jelasnya lihat dokumentasi DBMS anda.
Nama tabel dan kolom harus diikuti dengan huruf, angka, atau underscore ‘_ ‘ dengan panjang tidak lebih
dari 64 karakter (untuk MySQL). Tidak boleh menggunakan reserved keywords sebagai nama tabel atau kolom
(seperti, ‖select‖,‖create‖,‖insert‖, dan sebagainya).

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 72 Dari 113 Halaman

Tipe – tipe data menentukan tipe data apa yang digunakan untuk kolom tertentu. Jika nama kolomnya
‖nm_belakang‖, digunakan untuk menyimpan nama – nama, maka kolom tersebut seharusnya memiliki tipe data
‖VarChar‖ (variable-length character). Tabel berikut merupakan tipe – tipe data yang sering digunakan :
Tipe – tipe Data SQL yang sering digunakan
Tipe Data Deskripsi
Char (ukuran) String karakter dengan panjang tetap.
VarChar (ukuran) String karakter dengan panjang bervariasi tapi panjang maksimal sesuai yang ditetapkan.
Numeric (ukuran) Angka dengn maksimal digit sesuai yang ditetapkan.
Integer Angka berupa integer.
Date Tanggal.
Time Waktu / jam.

Ketika tabel dibuat, biasanya satu atau lebih kolom memiliki batasan – batasan tertentu. Suatu batasan
biasanya berupa aturan yang terkait dengan kolom tersebut, data yang dimasukkan ke dalam kolom harus sesuai
dengan aturan tersebut. Sebagai contoh, batasan ‖unique‖ menentukan bahwa tidak boleh ada dua record yang
memiliki nilai sama. Ada dua batasan lagi yang sering digunakan seperti ‖not null‖ menentukan bahwa kolom tidak
dapat bernilai kosong atau null dan ‖primary key‖ menentukan identifikasi unik untuk setiap record / baris dalam
sebuah tabel. Sebagai contoh, pernyataan di bawah ini akan membuat tabel pegawai seperti pada tabel di bawah ini :
CREATE TABLE pegawai
(no_id number (5) UNIQUE NOT NULL,
nm_depan VarChar (15),
nm_belakang VarChar(20),
umur integer (3),
kota VarChar (30),
propinsi VarChar (20),
PRIMARY KEY (no_id));

Menghapus Tabel.
Pernyataan DROP TABLE digunakan untuk menghapus sebuah tabel dan seluruh record pada tabel tersebut.
Untuk menghapus tabel secara menyeluruh termasuk semua record-nya, tulis DROP TABLE diikuti dengan nama tabel.
Berikut ini merupakan bentuk pernyataan DROP TABLE.
DROP TABLE <namatabel>;

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 73 Dari 113 Halaman

Pernyataan DROP TABLE digunakan untuk menghapus sebuah tabel dan seluruh record pada tabel tersebut.
Untuk menghapus tabel secara menyeluruh termasuk semua record-nya, tulis DROP TABLE diikuti dengan nama tabel.
Berikut ini merupakan bentuk pernyataan DROP TABLE.
DROP TABLE pegawai;

Modifikasi Struktur Tabel.


Untuk memodifikasi struktur dari suatu tabel, kita dapat menggunakan pernyataan ALTER TABLE.
Pernyataan ALTER TABLE dapat digunakan untuk menambah dan menghapus kolom maupun batasan – batasannya
(constraints). Berikut ini merupakan bentuk pernyataan ALTER TABLE.
ALTER TABLE <namatabel>
ADD (,kolom> <tipedata> [, ……]
| DROP <kolom> [, ……..];

Sebagai contoh, untuk menambah kolom kode_pos pada tabel pegawai, kita dapat menuliskan pernyataan berikut :
ALTER TABLE pegawai ADD kode_pos Char (5);

Untuk menghapus kolom propinsi pada tabel pegawai, kita dapat menuliskan pernyataan sebagai berikut :
ALTER TABLE pegawai DROP propinsi;

Menambah Data.
Pernyataan INSERT digunakan untuk menambah atau menyisipkan data atau record pada suatu tabel. Untuk
menambahkan record ke dalam suatu tabel, tuliskan INSERT INTO diikuti dengan nama tabel, tanda ‘( ‘, nama kolom –
kolom dipisahkan dengan tanda koma, tanda ‘( ‘, diikuti keyword VALUE, tanda ‘( ‘, nilai – nilai data dan ditutup tanda
‘( ‘. Nilai yang dimasukkan akan disimpan sesuai dengan urutan nama kolomnya. Data yang berupa String ditulis
dengan menambahkan tanda petik satu didepan dan diakhir, contoh ‘test‘.
INSERT INTO <namatabel>
(kolom1>,<kolom2>,......,<kolomN>)
VALUES
(<nilai1>,<nilai2>,..........,<nilaiN>);

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 74 Dari 113 Halaman

Contoh :
INSERT INTO pegawai
(no_id, nm_depan, nm_belakang, umur, kota, propinsi)
VALUES
(99023, ‘Agus‘, ‘Maulana‘, 45, ‘Jaksel‘, ‘Jakarta‘);

Mengambil Data.
Pernyataan SELECT digunakan untuk mengambil data tertentu yang sesuai dengan kriteria yang ditentukan.
Berikut ini merupakan bentuk sederhana dari pernyataan SELECT :
SELECT <kolom1> [,<kolom2>,...]
FROM <namatabel>
[WHERE <kondisi>];

[ ] = Optional

Berikut ini merupakan bentuk lengkap dari pernyataan SELECT :


SELECT [ALL | DISTINCT ] <kolom1> [, <kolom2>]
FROM <tabel1>[, <tabel2>]
[WHERE <kondisi>]
[GROUP BY <daftar kolom>]
[HAVING <kondisi>]
[ORDER BY <daftar kolom> [ASC | DESC] ]

[ ] = Optional

Nama – nama kolom setelah keyword SELECT menentukan kolom – kolom yang akan dikembalikan sebagai hasil. Untuk
memilih semua kolom, kita dapat menggunakan ALL atau ‖(*)‖. Nama tabel setelah keyword FROM menentukan tabel
mana yang akan diambil datanya. Klausa WHERE bersifat optional, digunakan untuk menentukan nilai data mana yang
akan diambil berdasarkan kriteria yang ditentukan.
Pemilihan kondisi yang digunakan pada klausa WHERE, antara lain :
= Sama dengan ....
> Lebih besar dari ....
< Lebih kecil dari ......

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 75 Dari 113 Halaman

>= Lebih besar dari atau sama dengan ......


<= Lebih kecil dari atau sama dengan .....
< > atau ! = Tidak sama dengan ......
LIKE Pattern matching

LIKE merupakan operator pattern matching yang dapat digunakan pada pemilihan kondisi. LIKE merupakan
operator yang powerful, memungkinkan kita untuk memilih kolom – kolom yang sesuai. Tanda ‖%‖ dapat digunakan
untuk mencocokkan semua kemungkinan karakter yang mungkin ada sebelum atau sesudah karakter tertentu.
Sebagai contoh :
SELECT nama_depan, nama_belakang, kota
FROM pegawai
WHERE nama_depan LIKE ‘Er%‘;

Pernyataan di atas akan mengambil kolom nm_depan, nm_belakang, dan kota dari tabel pegawai yang nm_depan-nya
mempunyai dua karakter awal Er.
Atau kita dapat menuliskan :
SELECT nm_depan, nm_belakang
FROM pegawai
WHERE nm_belakang LIKE ‘%s‘;

Pernyataan di atas akan mengambil kolom nm_depan, nm_belakang dari tabel pegawai yang nm_belakang-nya
diakhiri dengan karakter s.
SELECT * FROM pegawai
WHERE nm_depan = ‗Eric‘;

Pernyataan di atas hanya mengambil semua kolom dari tabel pegawai yang nm_depan-nya Eric.
SELECT nm_belakang, kota, umur
FROM pegawai
WHERE umur > 30;

Pernyataan di atas akan mengambil kolom nm_belakang, kota, umur dari tabel pegawai yang umur-nya lebih dari 30.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 76 Dari 113 Halaman

Keyword ALL dan DISTINCT digunakan untuk memilih semua (default) atau ‖distinct‖ record yang unik pada
hasil query. DISTINCT akan menghilangkan duplikasi record pada kolom yang ditentukan setelah pernyataan SELECT.
Sebagai contoh, pernyataan di bawah ini akan menghasilkan record yang unik pada kolom umur dari tabel pegawai.
SELECT DISTINTC umur
FROM pegawai;

ALL akan menampilkan semua record pada kolom tertentu termasuk duplikasi-nya. Secara default keyword ALL
digunakan pada pernyataan SELECT.
Fungsi aggregate digunakan untuk melakukan perhitungan terhadap hasil query yang berupa numerik dari
pernyataan SELECT. Fungsi ini pada dasarnya menyimpulkan hasil dari query pada kolom tertentu. Fungsi ini dapat
digunakan secara langsung atau bersama klausa GROUP BY. Fungsi – fungsi aggregate dapat dilihat pada tabel di
bawah ini :
Fungsi Keterangan
MIN Mengembalikan nilai terkecil pada suatu kolom.
MAX Mengembalikan nilai terbesar pada suatu kolom.
SUM Mengembalikan jumlah nilai numerik pada suatu kolom.
AVG Mengembalikan nilai rata – rata pada suatu kolom.
COUNT Mengembalikan jumlah total nilai pada suatu kolom.
COUNT (*) Mengembalikan jumlah baris pada suatu tabel.

Berikut ini merupakan pernyataan yang akan mengembalikan satu hasil berupa rata umur dari tabel pegawai.
SELECT AVG (umur)
FROM pegawai;

Untuk menampilkan jumlah record yang ada pada tabel pegawai, kita dapat menuliskan pernyataan seperti di bawah
ini.
SELECT COUNT (*)
FROM pegawai;

Kalusa GROUP BY digunakan untuk mengambil semua record yang berisi data pada kolom tertentu dan
memungkinkan penggunaan fungsi aggregate pada satu atau lebih kolom.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 77 Dari 113 Halaman

Sebagai contoh, untuk menampilkan daftar umur yang tertinggi disetiap kota, kita dapat menuliskan
pernyataan sebagai berikut :
SELECT MAX (umur), kota
FROM pegawai
GROUP BY kota;

Klausa HAVING memungkinkan kita untuk menentukan kondisi pada record disetiap group, dengan kata lain
record mana yang harus dipilih berdasarkan kondisi yang kita tentukan. Kalusa HAVING digunakan bersama klausa
GROUP BY.
Sebagai contoh, untuk menampilkan umur rata-rata dari pegawai disetiap kota yang umurnya diatas 30,
kita dapat menulis pernyataan sebagai berikut :
SELECT kota, AVG (umur)
FROM pegawai
GROUP BY kota
HAVING umur > 30;

Klausa ORDER BY digunakan untuk menampilkan hasil query dengan urutan tertentu (baik menaik atau
menurun). Keyword ASC digunakan untuk menampilkan hasil query dengan urutan menaik dan merupakan pilihan
default. ASC digunakan untuk menampilkan hasil query dengan urutan menaik dan merupakan pilihan default.
Keyword DESC digunakan untuk menampilkan hasil query dengan urutan menurun.
Sebagai contoh, untuk menampilkan daftar nm_depan, nm_belakang, umur, dan kota dari tabel pegawai
dengan urutan menaik berdasarkan nm_depan-nya, kita dapat menuliskan pernyataan sebagai berikut :
SELECT nm_depan, nm_belakang, umur, kota
FROM pegawai
ORDER BY nm_depan ASC;

Kita dapat mengurutkan berdasarkan beberapa kolom dengan memisahkan kolom – kolom tersebut dengan
tanda koma. Sebagai contoh, untuk menampilkan daftar nm_depan, nm_belakang, umur, dan kota dari tabel pegawai
dengan urutan menurun berdasarkan nm_depan dan nm_belakang-nya dapat menuliskan pernyataan sebagai berikut:
SELECT nm_depan, nm_belakang, umur, kota
FROM pegawai
ORDER BY nm_depan DESC;

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 78 Dari 113 Halaman

Meng-update Data.
Pernyataan UPDATE digunakan untuk meng-update atau merubah record yang sesuai dengan kriteria yang
telah ditentukan. Berikut ini merupakan bentuk pernyataan UPDATE.
UPDATE <namatabel>
SET <namakolom1> = <nilaibaru1>[ , <namakolom2> = <nilaibaru2> …. ]
[WHERE <namakolom> OPERATOR <nilai>
[and | or <namakolom> OPERATOR <nilai>] ] ;

[ ] = Optional

Sebagai contoh, pernyataan di bawah ini akan merubah kolom umur menjadi umur+1 pada tabel pegawai
yang nm_depan-nya Mary dan nm_belakang-nya Williams.
UPDATE pegawai
SET umur = umur+1
WHERE nm_depan = ‗Mary‘ AND nm_belakang = ‗williams‘;

Menghapus Data.
Pernyataan DELETE digunakan untuk menghapus record atau baris dari suatu tabel. Berikut ini merupakan
bentuk pernyataan DELETE.
DELETE FROM <namatabel>
WHERE <namakolom> OPERATOR <nilai>
[and | or <namakolom> OPERATOR <nilai>];

[ ] = Optional

Untuk menghapus record/baris dari suatu tabel, tulis ‖DELETE FROM‖ diikuti dengan nama tabel dan klausa
WHERE yang berisi kondisi/kriteria untuk menhapus.
CATATAN :
Jika klausa WHERE tidak disertakan, maka semua record pada tabel
tersebut akan dihapus.

Sebagai contoh, pernyataan di bawah ini akan menghapus record dari tabel pegawai yang nm_depan-nya
Mike atau Eric.
DELETE FROM pegawai
WHERE nm_depan = ‗Mike‘ OR nm_depan = ‗Eric‘;

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 79 Dari 113 Halaman

Menggabungkan Tabel.
Kita dapat menggabungkan dua atau lebih tabel dalam satu hasil query dengan menggunakan pernyataan
SELECT. Kita dapat mengenalinya pada pernyataan SELECT, jika setelah keyword FROM ada lebih dari satu tabel. Kita
dapat menggabungkan tabel pegawai dengan tabel gaji.
no_id gaji Tunjangan
99980 700000 70000
99982 750000 75000
88232 800000 80000
88233 600000 60000
98002 500000 50000
92001 850000 85000
22322 900000 90000
32326 650000 65000
92003 750000 75000
32327 700000 70000

Sebagai contoh, untuk menampilkan daftar nm_depan, nm_belakang,gaji, dan tunjangan dari tabel pegawai
dan gaji, kita dapat menuliskan pernyataan berikut :
SELECT pegawai.nm_depan, pegawai.nm_belakang, gaji.gaji, gaji.tunjangan
FROM pegawai, gaji
WHERE pegawai.no_id = gaji.no_id;

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 80 Dari 113 Halaman

JDBC API
Apa itu JDBC API ?
JDBC merupakan singkatan dari Java Database Connectivity. JDBC API merupakan Java API (Application
Programming Interface) untuk mengakses secara virtual berbagai jenis tabular data. JDBC API terdiri dari
sekumpulan class dan interface yang ditulis dalam bahasa pemrograman Java yang menyediakan standar API
sebagai tools dalam mengembangkan database dan memberikan kemudahan bagi pengembang untuk membuat
aplikasi – aplikasi database yang sepenuhnya dalam bahasa pemrograman Java.
JDBC API memberikan kemudahan untuk mengirim pernyataan – pernyataan SQL ke relational DBMS dan
mendukung penuh fitur – fitur SQL. JDBC API juga dapat berinteraksi dengan berbagai macam sumber data, seperti
file – file yang berisi tabular data.
Keuntungan dari JDBC API adalah sebuah aplikasi dapat mengakses secara virtual berbagai sumber data
dan dapat berjalan pada berbagai platform dengan Java Virtual Machine. Dengan kata lain, dengan JDBC API, kita
tidak perlu membuat satu program untuk mengakses database Microsoft SQL atau database lainnya. Cukup satu
program menggunakan JDBC API untuk mengakses berbagai jenis atau sumber data. Kombinasi dari platform Java
dan JDBC API memungkinkan pemrograman untuk melakukan ‖write once and run anywhere TM‖.

JDBC API memungkinkan untuk melakukan tiga hal, yaitu :


 Membangun koneksi dengan database atau berbagai jenis sumber datab tabular data.
 Mengirim pernyataan – pernyataan SQL.
 Memproses hasil.

JDBC 3.0 API terdiri dari dua package, yaitu :


1. java.sql package, merupakan core package dari JDBC API.
2. javax.sql package, merupakan package tambahan untuk menambahkan kemampuan server – side dari JDBC
API.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 81 Dari 113 Halaman

Arsitektur Two – Tier dan Three – Tier.


JDBC API mendukung kedua arsitektur two – tier dan three – tier untuk mengakses database. Gambar di
bawah ini menggambarkan arsitektur two – tier untuk mengakses database.
Pada arsitektur two – tier, sebuah Java applet atau aplikasi berinteraksi langsung ke sumber data. JDBC
driver dibutuhkan untuk dapat berkomunikasi dengan sumber data tertentu yang akan diakses. Perintah – perintah
dari pengguna dikirim dari database atau sumber data lainnya dan hasilnya dikirim kembali ke pengguna. Sumber
data dapat terletak pada komputer lain yang terkoneksi melalui jaringan. Jaringan dapat berupa intranet atau
internet.
Java
JavaApplication
Application
Client
ClientMachine
Machine
JDBC
JDBC

DBMS––Proprietary
DBMS ProprietaryProtocol
Protocol

Database
DatabaseServer
Server
Database

Gambar : Arsitektur Two-Tier


Pada arsitektur three – tier, perintah – perintah dikirim ke layanan ‖middle – tier‖ yang kemudian
mengirimkan perintah tersebut ke sumber data. Sumber data memproses perintah dan mengirimkan hasilnya ke
middle – tier, kemudian mengirimkan kembali ke pengguna. Gambar di bawah ini menggambarkan arsitektur three –
tier untuk mengakses database.
Arsitektur three – tier sangat menarik karena dengan middle – tier memungkinkan untuk mengontrol akses
dan menyederhanakan deployment aplikasi. Pada beberapa kasus, arsitektur three – tier dapat memberikan
keuntungan dari sisi kemampuan. Middle – tier biasanya ditulis dengan bahasa pemrograman seperti C atau C++,
yang memiliki kemampuan yang tinggi dan cepat.
Java
JavaApplet
Appletatau Client
HTML
atau ClientMachine
MachineGUI
GUI
HTMLBrowser
Browser

RMI,
RMI,HTTP,
HTTP,CORBA,
CORBA,dan dan
panggilan
panggilanlainnya
lainnya

Application
ApplicationServer
Server Server
ServerMachine
Machine
(Business
(BusinessLogic)
Logic)
JDBC
JDBC

DBMS–
DBMS –Proprietary
ProprietaryProtocol
Protocol

Database
DatabaseServer
Server
Database

Gambar : Arsitektur Three-Tier

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 82 Dari 113 Halaman

JDBC Product Framework.


Sun Microsystems menyediakan framework dari produk – produk komponen JDBC, antara lain :
 JDBC driver manager (termasuk sebagai bagian dari Java 2 Platform).
 JDBC – ODBC bridge (disertai pada Java 2 Platform untuk versi Solaris dan Windows).
 JDBC API Test Suite (tersedia di website JDBC).

JDBC drivermanager class merupakan backbone dari arsitektur JDBC dan memiliki fungsi utama
engkoneksikan aplikasi – aplikasi Java dengan JDBC driver yang sesuai.
JDBC – ODBC bridge driver memungkinkan ODBC driver digunakan sebagai JDBC driver. Hal ini
diimplementasikan sebagai salah satu cara untuk mendapatkan teknologi JDBC secara cepat atau menyediakan cara
untuk mengakses sumber data yang tidak memiliki JDBC driver.
JDBC API Test Suite ditujukan untuk pengembang driver. Test Suite berupa test untuk kompabilitas J2EE
dan mengindikasikan apabila sebuah driver kompatibel dengan produk – produk lain yang sesuai dengan spesifikasi
J2EE.

Arsitektur JDBC.
JDBC API terdiri dari 2 kumpulan interface utama, yaitu :
JDBC API untuk pengembang aplikasi dan JDBC driver terbagi menjadi 4 kategori yang digabung menjadi satu.
Aplikasi dan applet dapat mengakses melalui JDBC API dengan menggunakan pure Java JDBC technology-base
driver, seperti terlihat pada gambar di bawah ini

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 83 Dari 113 Halaman

Java Applet atau


Application

JDBC API

JDBC Driver atau


Data Source Object

Pure Java Pure Java


JDBC Driver JDBC Driver

DB Middleware

Database Database
Server Server

Gambar : Koneksi database menggunakan pure Java JDBC Driver

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 84 Dari 113 Halaman

Aplikasi Java juga dapat mengakses database melalui JDBC API dengan menggunakan ODBC driver dan
database client library, seperti terlihat pada gambar di bawah ini :

Java Applet atau


Application

JDBC API

JDBC Driver atau


Data Source Object

JDBC-ODBC Partial Java


Bridge Driver JDBC Driver

ODBC DB Client Lib


DB Client Lib

Database Database
Server Server

Gambar : Koneksi database menggunakan ODBC Driver dan Database Client Library

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 85 Dari 113 Halaman

Berdasarkan kedua arsitektur di atas, maka JDBC Driver dapat dibagi 4 tipe, yaitu :
 Tipe 1 : JDBC – ODBC Bridge dan ODBC Driver.
Kombinasi ini menyediakan akses JDBC melalui ODBC driver. ODBC berupa binary code dan pada banyak kasus
database client code harus diload pada setiap komputer client yang menggunakan JDBC – ODBC bridge. JDBC –
ODBC bridge cocok untuk kebutuhan eksperimen dan untuk situasi dimana tidak ada JDBC driver. Ilustrasi tipe 1
ini dapat dilihat pada gambar Koneksi database menggunakan pure Java JDBC Driver.
 Tipe 2 : Native API partly Java technology – enabled driver. Tipe ini mengkonversi perintah JDBC ke dalam
perintah pada client API untuk DBMS tertentu. Seperti pada tipe 1, tipe ini membutuhkan beberapa binary code
yang harus diload pada setiap komputer client. Ilustrasi tipe 2 ini dapat dilihat pada gambar di atas.
 Tipe 3 : Pure Java Driver for Database Middleware.
Tipe ini mengkonversi perintah JDBC ke dalam middleware vendor‘s protocol, yang kemudian diterjemahkan ke
DBMS protocol oleh middleware server. Middleware menyediakan konektifitas ke banyak database yang berbeda.
Ilustrasi tipe 2 ini dapat dilihat pada gambar di atas.
 Tipe 4 : Direct-to-Database Pure Java Driver.
Tipe ini mengkonversi perintah JDBC ke dalam Network Protocol yang digunakan langsung oleh DBMS,
memungkinkan koneksi langsung dari komputer client ke DBMS Server dan merupakan solusi yang praktis untuk
akses melalui intranet. Ilustrasi tipe 4 ini dapat dilihat pada gambar di atas.

Pada materi ini hanya menggunakan driver tipe 1 (JDBC – ODBC Bridge dan ODBC Driver) dan tipe 4
(Direct-to-Database Pure Java Driver).

Membangun Database
Sebelum kita mulai pemrograman aplikasi database dengan Java, ada beberapa hal yang harus
dipersiapkan terlebih dahulu, antara lan :
1. Platform Java, termasuk JDBC API.
Jika anda belum memiliki Java 2 Platform Standard Edition Development Kits (JDK), anda dapat menginstall JDK.
Pada materi ini menggunakan JDK versi 1.4 atau JDK versi 1.4 keatas dan untuk melihat versi terbaru dari Java 2
Platform, anda dapat melihat di alamat http://java.sun.com/products/JDK/CurrentRelease.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 86 Dari 113 Halaman

2. DBMS.
Jika anda belum memiliki sebuah DBMS, install-lah MySQL. Pada materi ini menggunakan MySQL versi 4.
3. JDBC Driver.
Install-lah JDBC driver untuk MySQL atau letakkan MySQL Connector pada path J2SDK yaitu pada path :
C:\j2sdk1.4.2_05\jre\lib\ext, pada materi ini menggunakan MySQL Connector/J 3.1.11.
4. ODBC Driver.
Pada materi ini tidak diharuskan meng-install ODBC Driver untuk MySQL, sebab dengan MySQL Connector pun
cukup untuk mengkoneksikan program Java dengan MySQL Server. Terkecuali kita ingin mengkoneksikan
program Java dengan DBMS atau DBMS Server lainnya.

Membuat Database
Buatlah sebuah database dengan nama ‘tokomajalah‘ dengan menggunakan pernyataan MySQL command
line. Jalankan command prompt dan ketiklah C:\mysql\bin\mysql –u –root –p (secara default MySQL terinstall di
C:\mysql) atau ketiklah C:\Program Files\xampp\mysql\bin\mysql –u –root –p (apabila menggunakan xampp,
secara default xampp terinstall di C:\Program Files\xampp\mysql), kemudian ketiklah password anda untuk login ke
MySQL Server atau gunakanlah MySQL-Front atau MySQL-Yog sebagai interface GUI untuk berinteraksi dengan MySQL
Server.

Membangun Koneksi
Pertama kali kita perlu membangun sebuah koneksi ke DBMS atau sumber data yang akan digunakan. Untuk
membangun koneksi kita perlu melakukan dua hal : me-load JDBC Driver dan membuat koneksi.

Me-load JDBC Driver


Untuk me-load JDBC Driver yang akan digunakan, sangat mudah. Pada materi ini kita hanya menggunakan
beberapa cara :
1. Menggunakan ODBC.
Open Database Connectivity (ODBC) merupakan interface berbasis C untuk database engines berbasis SQL.
ODBC menyediakan interface yang konsisten untuk berkomunikasi dengan database dan untuk mengakses

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 87 Dari 113 Halaman

database metadata (informasi mengenai database system, yang berkaitan dengan bagaimana data disimpan dan
bagaimana memanipulasinya). Setiap pengembang DBMS menyediakan driver tertentu untuk berkomunikasi ke
DBMS-nya.
Jika kita ingin menggunakan ODBC untuk koneksi ke DBMS, maka kita menggunakan JDBC-ODBC Bridge Driver.
Untuk me-load, kita dapat menuliskan sebagai berikut :
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);

2. Menggunakan MySQL Connector /J 3.1.11.


MySQL menyediakan aplikasi client untuk koneksi ke MySQL Server yang dikembangkan dengan bahasa
pemrograman Java melalui JDBC Driver, yang disebut MySQL Connector/J. MySQL Connector/J merupakan
JDBC-3.1.11 driver tipe 4 yang artinya driver tersebut dibuat dengan bahasa pemrograman Java murni yang
mengimplementasikan spesifikasi JDBC versi 3.0 dan dapat berkomunikasi langsung dengan MySQL Server
menggunakan protokol MySQL.
Untuk me-load driver-nya, kita dapat menuliskan sebagai berikut :
Class.forName(―com.mysql.jdbc.driver‖).newInstance();

3. Menggunakan driver lain.


Jika anda menggunakan driver lain, bacalah dokumentasi driver tersebut untuk penggunaan class-nya. Sebagai
contoh, jika nama class-nya jdbc.DriverX, maka anda dapat menuliskan sebagai berikut :
Class.forName(―com.mysql.jdbc.driverX‖);

Setelah kita me-load driver, maka kita dapat membangun koneksi dengan DBMS.
Membuat Koneksi.
Untuk membuat koneksi, kita dapat melakukan dengan beberapa cara :
1. Menggunakan ODBC.
Jika kita ingin menggunakan ODBC, kita perlu membuat ODBC Data Source Name (DSN).
Secara umum untuk membuat koneksi dengan ODBC dapat dituliskan sebagai berikut :

Connection con = DriverManager.getConnection(


ulr, ―my_username‖, ―my_password‖);

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 88 Dari 113 Halaman

Jika kita menggunakan JDBC-ODBC Bridge Driver dan nama ODBC data source adalah ‘tokomajalah‘, maka
JDBC url ditulis sebagai berikut :
String url = ―jdbc:odbc:tokomajalah‖;
Connection con = DriverManager.getConnection(
ulr, ―root‖, ―‖);

2. Menggunakan MySQL Connector /J 3.1.11.


Secara umum untuk membuat koneksi dengan MySQL Connector /J 3.1.11, dapat dituliskan sebagai berikut :
Connection con = DriverManager.getConnection(
―jdbc:mysql://nama_server_or_IP[:no_port]/”+
Nama_database?user=my_username&‖+
―password=my_password‖);

Sebagai contoh, jika nama server ‘localhost‘, menggunakan standard port MySQL Server 3306, database yang
akan diakses adalah ‘tokomajalah‘, username dan password untuk login ke MySQL ‘root‘ dan ‘‘, maka kita dapat
menuliskan sebagai berikut :
Connection con = DriverManager.getConnection(
―jdbc:mysql:/localhost/”+
tokomajalah?user=root&‖+
―password= ‖);

3. Menggunakan Driver Lain.


Jika anda menggunakan JDBC Driver, bacalah dokumentasi driver tersebut untuk penulisan JDBC url-nya.

Untuk memudahkan membangun koneksi ke DBMS, anda dapat menggunakan template di bawah ini :
Template untuk koneksi ke DBMS menggunakan ODBC.
/*
 Template koneksi dengan ODBC
 @author anky
*/

import java.sql.*;

public class nama_class{


public static void main(String[]args){
String url = ―jdbc:odbc:DataSourceName‖;
Connection con;

ty{
//me-load driver
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(java.lang.ClassNotFoundException e){
System.err.print(―Class Tidak Ditemukan : ―);

}
BAHASA PEMROGRAMAN 1
System.err.println(e.getMessage());

try{ JILID PERTAMA


//membuat koneksi
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 89 Dari 113 Halaman

Lanjutannya
Template untuk koneksi ke DBMS menggunakan MySQL Connector /J 3.1.11.

/*
*Template untuk koneksi ke DBMS menggunakan MySQL Connector /J 3.1.11@author anky
*/

import java.sql.*;

public class nama_class{


public static void main(String[]args){
String url = ―jdbc:mysql://nama_server_or_IP[:no_port]/‖+
nama_database?user=my_username&password=my_password‖;
Connection con;
try{
//me-load driver
Class.forName(―com.mysql.jdbc.Driver‖).newInstance();
}catch(Exception e){
System.err.println(―e.getMessage());
}
try{
//membuat koneksi
con = DriverManager.getConnection(url);

//lakukan sesuatu dengan koneksi


………………….
………………….
BAHASA PEMROGRAMAN 1
JILID PERTAMA
//menutup koneksi
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 90 Dari 113 Halaman

CATATAN :
Jika anda menjalankan program Java yang menggunakan MySQL Connector
/J3.1.11 terdapat kesalahn seperti berikut :
com.mysql.jdbc.Driver
SQLException : No suitable driver

Ini artinya program Java tidak dapat menemukan driver tersebut, cobalah
untuk menset mysql-connector-java-3.1.11-bin.jar pada Java CLASSPATH.
C:\>set CLASSPATH=folder_mysql-connector-java-3.1.11;

Untuk lebih jelasnya anda dapat melihat dokumentasi Java mengenai


Membuat Tabel.
bagaimana menset CLASSPATH.
Mari kita membuat tabel – tabel yang dibutuhkan sebagai contoh. Tabel MAJALAH berisi informasi mengenai
majalah – majalah yang terjual di suatu toko, seperti nama majalah, jumlah majalah terjual dalam seminggu, dan
jumlah total majalah terjual saat ini. Secara lengkap tabel MAJALAH dapat dilihat seperti pada tabel di bawah ini :
MJH_ID NAMA_MJH PEN_ID HARGA TERJUAL TOTAL
10 Java Mania 101 7000 0 0
11 Tren Ponsel 49 8000 0 0
12 Sistem Informasi 150 9000 0 0
13 Java Tips 101 8000 0 0
14 Tren Komputer 49 9000 0 0
Tabel Majalah

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 91 Dari 113 Halaman

Kolom MJH_ID menyimpan data nomor identifikasi dari majalah yang memiliki tipe data Integer. Kolom NAMA_MJH
menyimpan data nama majalah dengan tipe data VarChar dan memiliki panjang maksimal 32 karakter. Kolom PEN_ID
menyimpan data identifikasi penerbit yang memiliki tipe data Integer. Kolom HARGA menyimpan data harga majalah
dengan tipe data DECIMAL. Kolom TERJUAL menyimpan data jumlah penjualan majalah dalam seminggu yang memiliki
tipe data Integer. Kolom terakhir, TOTAL menyimpan data jumlah total majalah yang terjual.
Tabel kedua adalah PENERBIT yang berisi informasi mengenai setiap penerbit. Secara lengkap tabel
PENERBIT dapat dilihat seperti pada tabel di bawah ini :
PEN_ID NAMA_PEN JALAN KOTA PROPINSI KODE_POS
101 Media Javatindo Harsono RM No. 70 Jakarta DKI Jakarta 12550
49 Komputindo Media Mandiri Petogokan II Blok A No. 38 Jakarta DKI Jakarta 12440
150 Pustaka Mediatama Ir. H. Juanda No. 10 Bogor Jawa Barat 17442
Table Penerbit
Kolom PEN_ID menyimpan data nomor identifikasi penerbit dengan tipe data Integer. Kolom NAMA_PEN
menyimpan data nama penerbit yang memiliki tipe data VarChar dengan panjang maksimal 40 karakter. Kolom JALAN
menyimpan data nama jalan lokasi penerbit yang memiliki tipe data VarChar dengan panjang maksimal 30 karakter.
Kolom KOTA menyimpan data nama kota lokasi penerbit yang memiliki tipe data VarChar dengan panjang maksimal
20. Kolom PROPINSI menyimpan data nama propinsi lokasi penerbit yang memiliki tipe data VarChar dengan panjang
maksimal 20. Kolom KODE_POS menyimpan data kode pos lokasi penerbit yang memiliki tipe data CHAR dengan
panjang maksimal 5 karakter.
Tabel MAJALAH dan tabel tabel PENERBIT memiliki satu kolom yang sama, yaitu PEN_ID. Kolom PEN_ID
merupakan primary key pada tabel PENERBIT sedangkan pada tabel MAJALAH kolom PEN_ID merupakan foreign key.
Pernyataan SQL yang digunakan untuk membuat tabel MAJALAH dan tabel PENERBIT, sebagai berikut :
CREATE TABLE majalah
(mjh_id Integer, nama_mjh VarChar(32), pen_id Integer, harga Decimal, terjual Integer, total Integer);

CREATE TABLE penerbit


(pen_id Integer, nama_pen VarChar(40), jalan VarChar(30), kota VarChar(20), propinsi VarChar(20),
kode_pos Char(5));

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 92 Dari 113 Halaman

Untuk membuat tabel kita harus membuat JDBC Statement terlebih dahulu. Objek Statement adalah objek yang
digunakan untuk mengirim pernyataan SQL ke DBMS. Untuk membuat objek statement, kita memerlukan sebuah
koneksi yang aktif. Contoh berikut, kita menggunakan objek Connection con untuk membuat objek Statement stmt.
Statement stmt = con.CreateStatement();

Setelah objek Statement terbentuk, maka kita dapat menjalankannya dengan pernyataan SQL dengan metode
ExecuteUpdate. Metode ExecuteUpdate digunakan karena pernyataan SQL yang akan digunakan untuk membuat tabel
merupakan pernyataan DDL (Data Definition Language). Pernyataan SQL seperti CREATE, DROP, dan ALTER merupakan
pernyataan – pernyataan DDL dan dijalankan dengan metode ExecuteUpdate. Sebagai contoh, potongan program di
bawah ini merupakan pernyataan SQL untuk membuat tabel MAJALAH
String createString = ‖create table majalah ‖+
‖(mjh_id Integer, ‖+nama_mjh VarChar(32), pen_id Integer, harga Decimal, terjual Integer, total Integer)‖;
Atau kita dapat menuliskannya, sebagai berikut :
stmt.executeUpdate(createString);
stmt.executeUpdate(create table majalah ‖+
‖(mjh_id Integer, nama_mjh VarChar(32), pen_id Integer, harga Decimal, terjual Integer, total Integer‖));

CATATAN :
Untuk pernyataan SQL pada program Java, kita tidak perlu menambahkan
tanda ‗;‘ diakhir pernyataan. Walaupun pada MySQL setiap pernyataan
SQL harus diakhiri dengan tanda ‗;‘. Penambahan tanda ‗;‘ akan dilakukan
secara otomatis oleh JDBC API.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 93 Dari 113 Halaman

Di bawah ini merupakan listing program BuatTabelMajalah.java untuk membuat tabel majalah.
/*
*BuatTabelMajalah.java@author anky
*/

import java.sql.*;

public class BuatTabelMajalah{


public static void main(String[]args){
String url = ―jdbc:odbc:tokomajalah‖;
Connection con;
String createString;

createString = ―create table majalah ―+


―(mjh_id Integer, nama_mjh VarChar(32), pen_id Integer, harga Decimal, ―+
―terjual Integer, total Integer)‖;

Statement stm;
try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(java.lang.ClassNotFoundException e){
System.err.print(―Class.NotFoundException : ―);
System.err.println(e.getMessage());
}
try{
con = DriverManager.getConnection(url, ―root‖,‖‖);
stmt = con.createStatement();
stmt.executeUpdate(createString);
stmt.close();

con.close();

System.out.println(―Tabel Majalah Berhasil Dibuat….‖);


}catch(SQLException ex){
System.err.println(―SQLException : ―+ex.getMessage());
}
}
}

di bawah ini merupakan listing program BuatTabelPenerbit.java untuk membuat tabel


penerbit.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 94 Dari 113 Halaman

/*
*BuatTabelPenerbit.java@author anky
*/

import java.sql.*;

public class BuatTabelMajalah{


public static void main(String[]args){
String url = ―jdbc:odbc:tokomajalah‖;
Connection con;
String createString;

createString = ―create table penerbit ―+


―(pen_id Integer, nama_pen VarChar(40), jalan VarChar(30), ―+
―kota VarChar(20), propinsi VarChar(20), kode_pos Char(5))‖;

Statement stm;
try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(java.lang.ClassNotFoundException e){
System.err.print(―Class.NotFoundException : ―);
System.err.println(e.getMessage());
}
try{
con = DriverManager.getConnection(url, ―root‖,‖‖);
stmt = con.createStatement();
stmt.executeUpdate(createString);
stmt.close();

con.close();

System.out.println(―Tabel Penerbit Berhasil Dibuat….‖);


}catch(SQLException ex){
System.err.println(―SQLException : ―+ex.getMessage());
}
}
}

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 95 Dari 113 Halaman

Menampilkan Struktur Tabel


Kita dapat mengambil informasi dari duatu tabel, seperti nama, tipe data, ukuran kolom, atau memeriksa
apakah kolom tersebut boleh diisi nilai null atau tidak. Sebagai contoh, potongan program di bawah ini akan
mengambil informasi dari suatu tabel.

try{
Statement select = con.createStatement();
ResultSet result = select.executeQuery(query);

//mengambil informasi dari hasil query


ResultSetMetaData meta = result.getMetaData();

//mengambil nama tabel


String namaTabel = meta.getTableName(1);

//mengambil jumlah total kolom dari tabel


int columns = meta.getColumnCount();

String namaKolom, tipeData;


int ukuranKolom, nullable;
for(int i=1;i<=columns;i++) {
//mengambil nama/label dari kolom
namaKolom = meta.getColumnLabel(i);

//mengambil tipe data dari kolom


tipeData = meta.getColumnTypeName(i);

//mengambil ukuran dari kolom


ukuranKolom = meta.getColumnDisplaySize(i);

//memeriksa apakah kolom tsb boleh berisi null


//jika nilainya 1 berarti boleh (nullabel), jika 0 berarti tidak boleh (not null).

nullable = meta.isNullable(i);
}
select.close();
}catch(Exception e){
e.printStackTrace();
}
……………..

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 96 Dari 113 Halaman

Di bawah ini merupakan listing program StrukturTabel.java untuk menampilkan struktur dari tabel majalah dan
penerbit.

/*
*StrukturTabel.java@author anky
*/

import java.sql.*;

public class StrukturTabel{


public static void getRsMetaData(Connection con, String query){
try{
Statement select = con.createStatement();
ResultSet result = select.executeQuery(query);
ResultSetMetaData meta = result.getMetaData();

System.out.println(―Tabel ―+meta.getTableName(1));
System.out.println(―KOLOM―+‖\t Tipe‖+‖\t UKURAN‖+‖\t isNullable‖);

int columns = meta.getColumnCount();


for(int i=1;i<=columns;i++){
//mencetak nama, tipe, dan ukuran kolom
System.out.print(―meta.getColumnLabel(i)+―\t‖
+meta.getColumnTypeName(i)+‖\t‖
+meta.getColumnDisplaySize(i));

//memeriksa apakah kolom boleh berisi Null


if(meta.isNullable(i) == ResultSetMetaData.columnNullable)
System.out.println(―\t TRUE‖);
else
System.out.println(―\t FALSE‖);
}
//mencetak jumlah total kolom
System.out.println(―Total Kolom : ―+column+‖\n‖);
Select.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[]args){
String url = ―jdbc:odbc:tokomajalah‖;
String username = ―root‖;
String password = ―‖;
Connection con;

try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(Exception e){
System.out.println(―Gagal Me-load JDBC/ODBC Driver‖);
return;
}
try{
con = DriverManager.getConnection(url, username, password);
BAHASA PEMROGRAMAN 1
getRsMetaData(con, ―Select * from majalah‖);
System.out.println(); JILID PERTAMA
getRsMetaData(con, ―select * from penerbit‖);
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 97 Dari 113 Halaman

}catch(Exception e){
e.printStackTrace();
}
}
}

Jika program di atas dijalankan, maka akan terlihat tampilan seperti berikut :
Table majalah
KOLOM TIPE UKURAN IsNULLABLE
mjh_id Integer 11 True
nama_mjh VarChar 32 True
pen_id Integer 11 True
harga Decimal 10 True
terjual Integer 11 True
total Integer 11 True
Total kolom : 6

Table penerbit
KOLOM TIPE UKURAN IsNULLABLE
pen_id Integer 11 True
nama_pen VarChar 40 True
jalan VarChar 30 True
kota VarChar 20 True
propinsi VarChar 20 True
kode_pos Char 5 True
Total kolom : 6

Menghapus Tabel

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 98 Dari 113 Halaman

Untuk menghapus table, kita dapat menggunakan pernyataan SQL DROP TABLE. Untuk menghapus sebuah
tabel secara keseluruhan termasuk semua baris/record di dalamnya, kita dapat memberikan pernyataan DROP
TABLE diikuti dengan nama tabelnya. DROP TABLE berbeda dengan menghapus semua baris pada suatu tabel.
Menghapus semua baris suatu tabel tidak menghapus definisi tabel. Sedangkan DROP TABLE, akan menhapus semua
baris dan definisi tabel dari database. Potongan program berikut digunakan untuk menghapus tabel dengan nama
temp.
try{
Connection con = DriverManager.getConnection( …);
Statement stmt = con.createStatement();

//menghapus tabel
Stmt.executeUpdate(―drop table temp‖);

stmt.close();
con.close();
}catch(SQLException ex){
……..
}

Listing program HapusTabel.java di bawah ini, memberikan contoh bagaimana membuat tabel temp, menampilkan
strukturnya dan menghapus kembali tabel tersebut.
/*
*HapusTabel.java@author anky
*/

import java.sql.*;

public class HapusTabel{


public static void getRsMetaData(Connection con, String query){
try{
Statement select = con.createStatement();
ResultSet result = select.executeQuery(query);
ResultSetMetaData meta = result.getMetaData();

System.out.println(―Tabel ―+meta.getTableName(1));
System.out.println(―KOLOM‖+‖\t ―TIPE‖+‖\t UKURAN‖+
―\t isNullable‖);
int columns = meta.getColumnCount();
for(int i=1;i<=columns;i++){
System.out.print(―meta.getColumnLabel(i)+―\t‖
+meta.getColumnTypeName(i)+‖\t‖
+meta.getColumnDisplaySize(i));

if(meta.isNullable(i) == ResultSetMetaData.columnNullabel)
System.out.println(―\t TRUE‖);
else
System.out.println(―\t FALSE‖);
}
System.out.println(―Total kolom : ―+columns+‖\n‖);
select.close();
}catch(Exception e){ BAHASA PEMROGRAMAN 1
System.out.println(e.getMessage()); JILID PERTAMA
}
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 99 Dari 113 Halaman

public static void main(String[]args){


String url = ―jdbc:odbc:tokomajalah‖;
String username = ―root‖;
String password = ―‖;
Connection con;
String query;

try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(Exception e){
System.out.println(―Gagal Me-load JDBC/ODBC Driver‖);
return;
}
}

try{
con = DriverManager.getConnction(url, username, password);

//menampilkan struktur tabel temp


geRSMetaData(con, ―select * from temp‖);

//menghapus tabel temp


query = ―drop table temp‖;
select.executeUpdate(query);

//menampilkan kembali struktur tabel setelah dihapus


getRSMetaData(con, ―select * from temp‖);
con.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}

Jika HapusTabel.java dijalankan, maka akan terlihat tampilan seperti berikut :


Tabel temp
Kolom Tipe Ukuran isNullable
ID Integer 11 TRUE
Nama VarChar 10 TRUE
Total Kolom : 2

[ MySQL ] [ ODBC 3.51 Driver] [mysqld-4.0.12-nt ]


Table ‗tokomajalah‘ doesn‘t exist

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 100 Dari 113 Halaman

Pesan kesalahan Table ‗tokomajalah.temp‘ doesn‘t exist terjadi karena tabel temp telah dihapus.
Modifikasi Tabel.
Definisi dari suatu tabel dapat dimodifikasi, kita dapat menambah atau menghapus kolom, mengubah
definisi dari kolom, mengubah definisi dari kolom, dan menambah atau menghapus batasan – batasan (constraints )
dari suatu tabel. Kita dapat melakukannya dengan pernyataan SQL ALTER TABLE. Sebagai contoh, menambahkan
kolom NO_TEL pada tabel penerbit, kita dapat menggunakan pernyataan berikut :
Connection con = DriverManager.getConnection(…);
Statement stmt = con.createStatement();
String
Untuk alterQ = kolom
menghapus ―alter kode_pos
table penerbit add no_tel
pada tabel VarChar(10)‖;
penerbit, kita dapat menggunakan pernyataan berikut :
Stmt.executeUpdate(alterQ);
Connection con = DriverManager.getConnection(…);
Statement stmt = con.createStatement();
String alterQ = ―alter table penerbit drop kode_pos‖;
Stmt.executeUpdate(alterQ);
Listing program ModifikasiTabel.java di bawah ini, memberikan contoh bagaimana memodifikasi tabel penerbit.
/*
*ModifikasiTabel.java@author anky
*/

import java.sql.*;

public class ModifikasiTabel{


public static void getRsMetaData(Connection con, String query){
try{
Statement select = con.createStatement();
ResultSet result = select.executeQuery(query);
ResultSetMetaData meta = result.getMetaData();

System.out.println(―Tabel ―+meta.getTableName(1));
System.out.println(―KOLOM‖+‖\t ―TIPE‖+‖\t UKURAN‖+
―\t isNullable‖);
int columns = meta.getColumnCount();
for(int i=1;i<=columns;i++){
System.out.print(―meta.getColumnLabel(i)+―\t‖
+meta.getColumnTypeName(i)+‖\t‖
+meta.getColumnDisplaySize(i));

if(meta.isNullable(i) == ResultSetMetaData.columnNullabel)
System.out.println(―\t TRUE‖);
else
System.out.println(―\t FALSE‖);
}
System.out.println(―Total kolom : ―+columns+‖\n‖);
select.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
BAHASA PEMROGRAMAN 1
public static void main(String[]args){ JILID PERTAMA
String url = ―jdbc:odbc:tokomajalah‖;
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 101 Dari 113 Halaman

Jika ModifikasiTabel.java dijalankan, maka akan terlihat tampilan seperti berikut :


Struktur tabel sebelum ditambahkan kolom no_tel

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 102 Dari 113 Halaman

Tabel Penerbit
KOLOM TIPE UKURAN isNULLABLE
pen_id Integer 11 TRUE
nama_pen VarChar 40 TRUE
jalan VarChar 30 TRUE
kota VarChar 20 TRUE
propinsi VarChar 20 TRUE
kode_pos VarChar 5 TRUE
Total Kolom : 6

Struktur tabel setelah ditambahkan kolom no_tel


Tabel Penerbit
KOLOM TIPE UKURAN isNULLABLE
pen_id Integer 11 TRUE
nama_pen VarChar 40 TRUE
jalan VarChar 30 TRUE
kota VarChar 20 TRUE
propinsi VarChar 20 TRUE
kode_pos VarChar 5 TRUE
no_tel VarChar 10 TRUE
Total Kolom : 7

Struktur tabel setelah kolom no_tel dihapus


Tabel Penerbit
KOLOM TIPE UKURAN isNULLABLE
pen_id Integer 11 TRUE
nama_pen VarChar 40 TRUE
jalan VarChar 30 TRUE
kota VarChar 20 TRUE
propinsi VarChar 20 TRUE
kode_pos VarChar 5 TRUE
Total Kolom : 6

Manipulasi Database

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 103 Dari 113 Halaman

1. Menambah Data.
Pada tulisan sebelumnya telah dibahas bagaimana membuat tabel majalah dengan menentukan nama kolom –
kolomnya dan tipe – tipe data untuk kolom tersebut. Kita hanya membuat struktur tabelnya saja, tabel tersebut
belum berisi data apapun. Kita akan memasukkan data ke dalam tabel tersebut satu per satu dengan memberikan
data yang akan disimpan disetiap kolomnya. Nilai – nilai yang akan dimasukkan berurutan sesuai dengan urutan
kolom – kolom saat tabel tersebut dibuat.
Potongan program berikut akan menambahkan satu baris/record dengan nilai 10 pada kolom terjual dan 0 pada
kolom total. Kita akan membuat objek Statement dan menggunakan methode executeUpdate untuk menjalankannya.
Connection con = DriverManager.getConnection(…);
Statement stmt = con.createStatement();
stmt.executeUpdate(insert into majalah ―+
―values (10, ‗Java Mania‘, ‗101, 7000, 0, 0);‖ );

Potongan program berikut akan menambahkan record selanjutnya ke dalam tabel majalah. Kita tidak perlu membuat
kembali objek Statement stmt.
stmt.executeUpdate(―insert into majalah values (11, ‗Tren Ponsel‘, 49, 8000, 0, 0));
stmt.executeUpdate(―insert into majalah values(12, ‗Sistem Informasi‘, 150, 9000, 0, 0)‖);
stmt.executeUpdate(―insert into majalah values(13, ‗Java Tips‘, 101, 8000, 0, 0)‖);
stmt.executeUpdate(―insert into majalah values(14, ‗Tren Komputer‘, 49, 9000, 0, 0)‖);

Listing program MenambahData.java di bawah ini, memberikan contoh bagaimana memasukkan/menambah data
pada tabel majalah dan tabel penerbit.
/*
*MenambahData.java@author anky
*/

import java.sql.*;

public class MenambahData{


public static void main(String[]args){
String url = ―jdbc:odbc:tokomajalah‖;
Connection con;
Statement stmt;
String query;
ResultSet rs;
int jumlahRecord;

try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
catch(java.lang.ClassNotFoundException
} e){
System.err.print(―ClassNotFoundException : ―);
System.err.println(e.getMessage());
}
try{
con = DriverManager.getConnection(url, ―root‖, ―‖);
BAHASA PEMROGRAMAN 1
stmt = con.createStatement();
JILID PERTAMA
//menghitung jumlah record
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 104 Dari 113 Halaman

//menghitung jumlah record


rs = stmt.executeQuery(query);
rs.next();
jumlahRecord = rs.getInt(1);
System.out.println(―Tabel penerbit setelah ditambah...‖);
System.out.println(‖Jumlah Record = ‖+jumlahRecord);
BAHASA PEMROGRAMAN 1
stmt.close(); JILID PERTAMA
con.close();
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 105 Dari 113 Halaman

Jika program MenambahData.java dijalankan, akan menampilkan hasil seperti berikut :


Tabel majalah sebelum ditambah
Jumlah record = 0
Tabel majalah setelah ditambah
Jumlah record = 5
Tabel penerbit sebelum ditambah
Jumlah record = 0
Tabel penerbit setelah ditambah
Jumlah record = 3

Mengambil Data
Setelah kita memasukkan atau menambah data pada tabel kita dapat mengambil data dari tabel tersebut.
Untuk mengambil data dari tabel tersebut. Untuk mengambil data dari tabel, kita dapat menggunakan pernyataan
SELECT, kemudian mengirim ke database melalui program Java.
JDBC API mengembalikan hasil query dalam bentuk objek ResultSet, oleh karena itu kita perlu membuat
instance dari kelas ResultSet untuk menampung hasil query. Potongan program berikut merupakan contoh deklarasi
objek ResultSet rs dan mengirimkan sebuah query.
ResultSet rs = stmt.executeQuery(―select nama_mjh, harga from majalah‖);

Variabel rs berisi hasil query, untuk mengakses nama majalah dan harganya, kita perlu menuju ke setiap
baris dan mengambil nilai-nya sesuai dengan tipe datanya. Method next digunakan untuk menggerakkan yang disebut

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 106 Dari 113 Halaman

penunjuk (cursor) ke baris selanjutnya dan membuat baris tersebut menjadi baris yang dapat dioperasikan ( current
row). Posisi awal cursor berada di atas baris pertama dari objek ResultSet. Pemanggilan method next digunakan
untuk menggerakkan cursor ke baris pertama dan membuatnya menjadi current row. Pemanggilan selanjutnya, akan
menggerak cursor satu baris ke baris selanjutnya. Method ini dapat digunakan pada pernyataan WHILE, karena akan
mengembalikan nilai true selama cursor berada pada baris yang benar. Ketika cursor berada diakhir baris, method
next akan mengembalikan nilai false sehingga akan keluar dari looping WHILE.
Untuk mengambil nilai data yang sesuai dengan nilai pada setiap kolom tabel, kita dapat menggunakan
method getXXX (sebagai contoh, getInt, getString, getDouble, dan sebagainya). JDBC API menawarkan 2 cara untuk
mengidentifikasikan kolom yang digunakan oleh method getXXX untuk mengambil sebuah nilai. Cara pertama adalah
dengan memberikan nama kolomnya, yang kedua adalah dengan memberikan indeks dari kolomnya.
Potongan program berikut ini merupakan contoh untuk mengambil nilai dari kolom nama_mjh dan harga
dari tabel majalah.
String query = ―select nama_mjh, harga from majalah‖;
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while(rs.next()){
String nama = rs.getString(―nama_mjh‖);
int harga = rs.getInt(‖harga‖);
System.out.println(nama + ‖ ‖ + harga);
}

Atau kita dapat menuliskan seperti berikut :


String query = ―select nama_mjh, harga from majalah‖;
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while(rs.next()){
String nama = rs.getString(1);
int harga = rs.getInt(2);
System.out.println(nama + ‖ ‖ + harga);
}

JDBC Driver harus mengkonversi antara tipe data pada database dan tipe data yang sesuai pada Java
untuk setiap method getXXX. JDBC Driver tidak memperbolehkan kita melakukan konversi yang tidak benar (sebagai

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 107 Dari 113 Halaman

contoh, dari String ke Integer), tetapi memungkinkan kita untuk mengkonversi semua tipe data pada database
menjadi String. Pada tabel di bawah ini merupakan konversi tipe data yang sering digunakan.
Tabel : Konversi tipe data yang sering digunakan
Java Method SQL Type
getInt INTEGER
getLong BIG INT
getFloat REAL
getDouble FLOAT
getBignum DECIMAL
getBoolean BIT
getString VARCHAR
getString CHAR
getDate DATE
getTime TIME
getTimeStamp TIME STAMP
getObject Any type

Sebagai contoh, untuk mendapatkan ResultSet yang berisi record – record dari nama dan tanggal, kita
dapat menggunakan method getString dan getDate.
Listing program MengambilData.java di bawah ini memberikan contoh bagaimana menampilkan daftar nama
majalah, nama penerbit, dan harganya dari tabel majalah dan penerbit diurutkan berdasarkan nama majalah.
/*
*MengambilData.java@author anky
*/

import java.sql.*;

public class MengambilData{


public static void main(String[]args){
String url = ―jdbc:odbc:tokomajalah‖;
String username = ―root‖;
String password = ―‖;
Connection con;
Statement stmt;
String query;
String namaMajalah, namaPenerbit;
int harga, jmlMajalah;

try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(java.lang.ClassNotFoundException e){
System.err.print(―ClassNotFoundException : ―);
System.err.println(e.getMessage());
}
try{
con = DriverManager.getConnection(url, username, password);
BAHASA PEMROGRAMAN 1
stmt = con.createStatement();
JILID PERTAMA
//query untuk menampilkan nama majalah, nama penerbit, dan harganya
query = ‖select nama_mjh, nama_pen, harga from majalah, penerbit‖+
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 108 Dari 113 Halaman

Jika program MengambilData.java dijalankan, maka akan menampilkan hasil sebagai berikut :
DAFTAR MAJALAH DI TOKO MAJALAH

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 109 Dari 113 Halaman

________________________________________________________________________________________
Majalah : Java Mania
Penerbit : Media Javatindo
Harga : Rp. 7000,-

Majalah : Java Tips


Penerbit : Media Javatindo
Harga : Rp. 8000,-

Majalah : Sistem Informasi


Penerbit : Pustaka Mediatama
Harga : Rp. 9000,-

Majalah : Tren Ponsel


Penerbit : Komputindo Media Mandiri
Harga : Rp. 8000,-
______________________________________________________________________________________________________
Total Majalah = 5 Buah

Menghapus Data.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 110 Dari 113 Halaman

Untuk menghapus data pada sebuah tabel, kita dapat menggunakan pernyataan SQL DELETE FROM dan
mengirmkan ke database melalui JDBC API. Potongan program berikut merupakan contoh menghapus record pada
tabel penerbit yang memiliki nomor identifikasi penerbit (pen_id) 200.
Connection con = DriverManager.getConnection(…);
Statement stmt = con.createStatement();
stmt.executeUpdate(―delete from penerbit where pen_id = ‗200‘ ―);

CATATAN :
Hati – hati dalam penggunaan perintah SQL DELETE FROM, sertakanlah
keyword WHERE untuk memilih record – record mana yang akan dihapus.
Jika keyword WHERE tidak disertakan, maka akan menghapus semua
record pada tabel tersebut…!!!!

Listing program MenghapusData.java merupakan contoh lengkap bagaimana menghapus record dari tabel penerbit.
/*
*MenghapusData.java@author anky
*/

import java.sql.*;

public class MenghapusData{


public static void main(String[]args){
String url = ―jdbc:odbc:tokomajalah‖;
String username = ―root‖;
String password = ―‖;
Connection con;
Statement stmt;
String query;
ResultSet rs;
int jumlahRecord;

try{
Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖);
}catch(java.lang.ClassNotFoundExcepton e){
System.err.print(―ClassNotFoundException : ―+e.getMessage());
}

try{
con = DriverManager.getConnection(url, username, password);
stmt = con.createStatement();

//menambah data pada tabel penerbit


stmt.executeUpdate(‖insert into penerbit ‖+
BAHASA PEMROGRAMAN 1
―values (200, ‗MediaJava Indonesia‘,‘Taman Sari No. 70‘, ‗Bandung‘, ―+
―‘Jawa Barat‘, ‗22550‘)‖); JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 111 Dari 113 Halaman

Jika program MenghapusData.java dijalankan, maka akan menghasilkan tampilan seperti berikut :

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 112 Dari 113 Halaman

Tabel Penerbit Sebelum Dihapus...


Pen_ID Nama Penerbit
101 Media Javatindo
49 Komputindo Media Mandiri
150 Pustaka Mediatama
200 MediaJava Indonesia

Tabel Penerbit Setelah Dihapus…


Pen_ID Nama Penerbit
101 Media Javatindo
49 Komputindo Media Mandiri
150 Pustaka Mediatama

Meng-update Data.
Untuk meng-update kolom pada suatu tabel, kita dapat menggunakan pernyataan SQL UPDATE dan
mengirimkannya ke database. Potongan program berikut akan meng-update satu record pada tabel majalah yang
kolom nama_mjh-nya ‘Java Mania‘ dengan mengisi nilai 75 pada kolom terjual.
String updateString = ―update majalah ―+
―set terjual = 75 ―+
―where nama_mjh = ‗Java Mania‘ ―;
stmt.executeUpdate(updateString);

Program MengupdateData.java merupakan contoh program lengkap yang akan meng-update record pada
tabel majalah yang nama_mjh-nya ‘Java Mania‘ dengan merubah nilai 75 pada kolom terjual dan kemudian
menambahkan kolom total dengan kolom terjual.

BAHASA PEMROGRAMAN 1
JILID PERTAMA
Bahasa Pemrograman 1 Dengan Java
Oleh : Badrus Zaman Sapto Mardi Putro, S.Kom

Halaman 113 Dari 113 Halaman

2.

Pertemuan XVI
[ FINAL ]

BAHASA PEMROGRAMAN 1
JILID PERTAMA

Anda mungkin juga menyukai