MENGGUNAKAN JDBC
5.1
85
bonus CD buku ini). Program tersebut free jadi Anda tidak usah resah
dengan biaya. Program tersebut juga sudah didukung dengan
PhpMyAdmin sebuah end user database management yang sudah
dikenal luas oleh para pengembang database server oriented/Web
programming.
Pastikan web server dan mysql sudah berjalan. Jika Anda menggunakan Windows XP, lihat dari Control Panel Administrative Tool
Services sehingga muncul jendela semua servis yang sedang
berjalan dalam komputer. Pastikan bahwa Apache2.2 dan mysql
sudah berjalan.
86
2. Jalankan
WebBrowser,
ketikkan
alamat
http://localhost/phpMyAdmin. Anda juga bisa mengganti
localhost dengan nama komputer Anda, sehingga muncul
halaman utama. Perhatikan Gambar 5.3.
3. Buat database baru, dengan cara memasukkan namanya dalam
kotak isian Create new database. Ketikkan latihan_b5, lalu klik
tombol Create seperti pada Gambar 5.3.
87
88
89
5.2
String
String
String
String
host="localhost";
user="root";
password="admin";
db=" latihan_b5";
public KoneksiMysql() {
Connection conn;
Statement st;
ResultSet rs;
int no=0;
try {
90
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://"+ host +"/"+ db
+"?user=" +user+
"&password="+ password);
st = conn.createStatement();
rs = st.executeQuery("Select * from
mahasiswa");
while (rs.next()) {
no=no+1;
System.out.println(no + ")");
System.out.println("No Mhs
:"
rs.getString("no_mhs"));
System.out.println("Nama
:"
rs.getString("nama"));
System.out.println("Alamat
:"
rs.getString(3));
System.out.println("Jurusan
:"
rs.getString(4));
System.out.println("============"
"====================");
}
conn.close();
+
+
+
+
+
}
catch(Exception e) {
System.out.println(
"Pesan kesalahan : "+ e.getMessage());
}
String
String
String
String
host="localhost";
user="root";
password="admin";
db=" latihan_b5";
91
5.3
Design DB Paket
5.3.1 DB.java
Kelas ini adalah abstraksi dari objek tabel fisik dalam sebuah
database. Agar kita bisa melakukan pengambilan data dan melakukan modifikasi terhadap data (tabel) tersebut dengan cepat dan
mudah. Serta tidak mengetikkan program sama secara berulangulang.
Seperti yang kita ketahui sebelumnya bahwa untuk mengambil data
dalam tabel perlu melakukan pengenalan driver database, membuat
statement, kemudian menjalankan query yang disimpan dalam
sebuah recordset (himpunan record). Sehingga setiap kali kita
melakukan operasi baca/tulis, sejumlah perintah program akan kita
tuliskan berulang-ulang. Hal itu tidak salah, tetapi akan lebih baik jika
kita membuat sebuah objek yang bisa menggantikan pekerjaan itu.
Sehingga penulisan kode program akan menjadi sederhana dan
mudah dalam proses pengembangannya. Inilah keuntungannya
pemrograman yang bersifat modular (tersusun atas modul-modul).
5.3.2 DBTable.java
Kelas ini diturunkan dari kelas DB, yang dikhususkan untuk
menangani hubungan dengan sebuah tabel saja. Properti yang
dimilikinya adalah tableName yang menyimpan informasi nama
tabel dalam database yang akan dibaca/ditulis.
93
5.3.3 DBQuery.java
Kelas ini diturunkan dari kelas DB, yang memiliki kemampuan untuk
melakukan pengambilan data melalui query dalam database (bisa
membaca dari beberapa tabel sekaligus, atau hanya beberapa kolom
saja dari total tertentu).
Metode init digunakan untuk menentukan tipe recordset-nya menjadi
readonly (tidak untuk edit), sedangkan makeActive digunakan untuk
mengaktifkan data dalam komponen DBQuery.
5.3.4 DBCombo.java
Kelas ini diturunkan dari kelas DBQuery, yang memiliki kemampuan
untuk melakukan pengambilan data melalui query dan siap untuk
meletakkan data dalam sebuah combobox. Dengan berbagai kondisi
atau pilihan data untuk ditampilkan secara dinamis.
5.3.5 MyModelTable.java
Komponen ini hampir sama dengan DefaultTableModel dalam paket
java.swing.table, yaitu komponen yang mampu menampilkan
tabular data/tabel. Karena kami memang mengembangkan dari
kelas tersebut agar bisa disesuaikan dengan kebutuhan aplikasi yang
kita buat. Selalu gunakan sederhana saja, yaitu: pelajari yang sudah
ditulis pengembang terdahulu, baru dikembangkan semaksimal
mungkin.
Untuk pengembangan, properti yang ditambahkan antara lain
readOnlyCol untuk menyimpan informasi mengenai atribut setiap
kolom dalam tabel, sehingga kita bisa menentukan kolom mana
yang boleh diedit atau mana yang tidak boleh diedit. Sedangkan
method yang ditambahkan antara lain setReadOnlyCol untuk
mengisi properti readOnlyCol.
94
5.3.6 MyTable
Komponen ini adalah sebuah kontainer panel yang memuat kelas
JscrollPanel dan JTable dengan model tabelnya adalah
MyModelTable. Dengan kemampuan khusus, untuk menampilkan
data dari database ke dalam bentuk tabel (tabular data) dibungkus
dalam satu kelas agar memudahkan dalam pengembangan dan
mengurangi kompleksitas program.
5.3.7 Utils
Kelas ini digunakan untuk keperluan yang bersifat umum,
independent dan sering kali digunakan, seperti halnya fungsi-fungsi
standar pada Java. Contohnya fungsi-fungsi bilangan parseInt,
parseDouble dan sebagainya. Di sini akan dibuat dua buah metode
showMessage() untuk menampilkan pesan, dan isNumber() untuk
mengetahui sebuah string tertentu berformat angka atau bukan.
DriverConnection
DB
MyModelTable
DBTable
Utils
MyTable
DBQuery
DBCombo
ooo0ooo
95