Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Materi
MyODBC
MySQL Connector/J
Driver
Connection
Statement
ResultSet
PrepareStatement
Advanced ResultSet
Penerapan Operasi CRUD
Studi kasus Online BookShop
Tujuan Instruksional Khusus
Mahasiswa dapat membangun koneksi aplikasi
Java dengan sumber data yang digunakan untuk
melakukan operasi CRUD.
Java Database Connectivity
JDBC (Java Database Connectivity) merupakan library
yang digunakan untuk mengkoneksikan program Java
dengan DBMS (Database Management System).
Melalui JDBC Anda dapat mengakses data-data pada
DBMS seperti MySQL, Oracle, Microsoft ODBC dan
DBMS lainnya.
Pembahasan pada materi ini menggunakan DBMS
MySQL.
MyODBC
Connector/ODBC is a standardized database driver
Windows, Linux, Mac OS X, and Unix platforms.
MyODBC merupakan driver untuk menghubungkan
atau sebagai jembatan/penerjemah antara aplikasi
dengan database engine (MySQL), sehingga aplikasi
tersebut dapat mengakses sebuah database.
Dapat di download pada URL :
http://www.mysql.com/downloads/connector/odbc/
MySQL Connector/J
Standardized database driver for Java platforms and
development.
Untuk menghubungkan antara Java dan MySQL
membutuhkan sebuah library yang bernama
MySQLConnector/J.
Dapat di download pada URL :
http://www.mysql.com/downloads/connector/j/
MySQL Connector/J
Untuk memudahkan pengembangan aplikasi-aplikasi
Java, sebaiknya menggunakan IDE untuk Java seperti
NetBeans atau Eclipse.
Untuk memasukkan library
MySQLConnector/J ke sebuah
project pada NetBeans, adalah
dengan cara mengklik kanan
pada paket Libraries, lalu pilih
Add Library …
MySQL Connector/J
Pilih MySQL
JDBC Driver
Lalu tekan
tombol Add
Library
MySQL Connector/J
Hasilnya sbb :
Library MySQL
JDBC Driver sudah
ditambahkan
Driver
Untuk membuat koneksi dari Java ke MySQL
memerlukan class yang bernama Driver.
Setiap connector (yang digunakan
MySQLConnectorJava) memiliki Driver masingmasing yang selalu mengimplementasi class Driver
yang terdapat pada paket “java.sql”.
Untuk mengecek keberadaan Driver dalam
MySQLConnectorJava gunakan perintah seperti ini :
Class.forName(“nama driver").newInstance();
Driver
Berikut adalah program untuk mendeteksi Driver
yang digunakan :
OUTPUT
Connection
Untuk menghubungkan Java dan MySQL Anda harus
membuat koneksi melalui class Connection yang
terdapat dalam paket “java.sql”.
Dan untuk membuat koneksi, perlu diketahui nama
host, port, nama database, username dan password
yang akan digunakan untuk koneksi MySQL.
Cara membuat koneksi :
Connection koneksi = DriverManager.getConnection(
"jdbc:mysql://host:port/database", "username",
"password");
Statement
Statement digunakan untuk mengeksekusi perintah-
perintah SQL seperti seperti INSERT, UPDATE,
SELECT dan DELETE.
Statement merupakan class yang terdapat dalam paket
“java.sql” .
Untuk membuat Statement Anda dapat melakukan
koneksi terlebih dahulu menggunakan class
Connection :
Connection kon = DriverManager.getConnection(.....);
Statement statement = kon.createStatement();
OUTPUT
Statement
Untuk lebih memahami penggunaan Statement dalam
program maka siapkan terlebih dahulu tabel dan form
seperti berikut ini :
tUser
txtUserID
txtPassword
cmdSimpan
cmdUpdate
cmdHapus
cmdClose
Catatan : DBMS yang digunakan adalah MySQL dan
IDE yang digunakan adalah NetBeans 7.0
Statement - Insert
Melalui Statement Anda dapat melakukan proses
Insert. Lihat potongan kode program berikut ini:
Statement - Delete
Melalui Statement Anda dapat melakukan proses
Delete. Lihat potongan kode program berikut ini:
Statement - Update
Melalui Statement Anda dapat melakukan proses
Update. Lihat potongan kode program berikut ini:
ResultSet
SELECT merupakan perintah yang menghasilkan
kumpulan data dalam tabel yang ada dalam database.
Untuk mendapatkannya maka dibutuhkan bantuan
class yang bernama ResultSet yang terdapat pada paket
java.sql.
Untuk mendapatkan record dalam ResultSet Anda
dapat menggunakan metode next() untuk mengecek
apakah ada record lagi setelah record ini dan prev()
untuk mengecek apakah ada record sebelum record
yang saat ini terseleksi.
ResultSet
Perhatikan potongan kode berikut:
Koneksi objKoneksi = new Koneksi();
Connection kon = objKoneksi.bukaKoneksi();
Statement stat = kon.createStatement();
String query = "Select * from tUser";
ResultSet data = stat.executeQuery(query);
boolean ketemu = false;
while(data.next()) {
//Proses
}
PrepareStatement
Selain Statement dalam JDBC kita juga mengenal
PrepareStatement yang gunanya hampir sama dengan
Statement, namun perbedaannya PrepareStatement
memiliki fasilitas untuk mempermudah proses
INSERT, UPDATE, DELETE. Untuk membuat
PrepareStatement kita bisa membuatnya lewat
Connection :
Connection koneksi = DriverManager.getConnection(...);
PreparedStatement prepare =
koneksi.prepareStatement("PERINTAH SQL...");
PrepareStatement (lanjutan)
Berbeda dengan Statement, pada PrepareStatement
kita harus menuliskan perintah SQL dengan ‘?’ jika
kita akan mengubah data tersebut :
Connection koneksi = DriverManager.getConnection(...);
PreparedStatement prepare = koneksi
.prepareStatement(" INSERT INTO tUser "
+ " (UserID, Password) VALUES (?, ?)");
PrepareStatement (lanjutan)
Selanjutnya Anda dapat mengubahnya dengan
menset tanda ‘?’ dalam perintah tersebut sesuai
dengan tipe datanya menggunakan metode
set[TipeData](int index, TipeData nilai).
Kemudian gunakan metode executeUpdate() untuk
mengeksekusi seluruh perintahnya.
Contoh tabel tPenulis:
Insert Data
Update Data
Delete Data
View Data
Advanced ResultSet
Selain Statement dan PrepareStatement, ternyata
ResultSet juga bisa kita gunakan untuk menambah
data, namun untuk membuat sebuah ResultSet yang
dapat mengubah data kita harus membuat Statement
yang berbeda dari Biasanya :
Connection koneksi = DriverManager.getConnection(...);
Statement statement = koneksi.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet result = statement.executeQuery("SELECT ...");
Advanced ResultSet (lanjutan)
Sebelum menambahkan data Anda perlu memanggil
metode moveToInsertRow(), dan untuk menambah
atau mengubah data Anda bisa menggunakan metode
update[TipeData](int indexAtribut, TipeData nilai)
dan setelah proses berakhir gunakan metode
insertRow() untuk memasukkan data yang tadi
dimasukkan.
Insert Data
Update Data
Berbeda dengan Statement dan PrepareStatement,
dalam ResultSet, Anda harus tahu lokasi baris / record
yang akan kita ubah.
Untuk mengubah data Anda harus menentukan dulu
record yang akan kita ubah dengan metode
absolute(int indexRecord) milik ResultSet.
Seperti proses INSERT untuk proses UPDATE Anda
juga menggunakan metode update[TipeData](int
indexAtribut, TipeData nilai) dan harus diakhiri
dengan metode updateRow().
Update Data
Delete Data
Studi Kasus BookShop
Buat database dengan nama dbBookShop
Desain tabel-tabel seperti berikut :
1. Tabel untuk menampung kategori buku : tKategori
2. Tabel Penulis Buku : tBuku
3. Tabel untuk Penerbit Buku : tPenerbit
4. Tabel Buku : tBuku
5. Tabel Order Buku : tOrder
6. Tabel Order Detail : tOrdetail
Studi Kasus BookShop
Tabel tKategori :
Tabel tPenulis :
Studi Kasus BookShop
Tabel tPenerbit :
Tabel tBuku :
Studi Kasus BookShop
Tabel tOrder :
Tabel tOrdetail :
Desain User Interface
Desain User Interfase sesuai dengan tabel-tabel di atas
Sebagai contoh desain UI untuk menginputkan data
Penulis Buku seperti berikut ini :
JTextField
JRadioButton
JTextArea
JButton
Variable Name
txtKode
txtNama
txtEmail
male
female
txtAlamat
cmdSimpan
cmdUpdate
cmdHapus
cmdClose
Agar lebih jelas
perhatikan
pada bagian
Member View
(NetBeans)
yang
menunjukkan
variable name
dari masingmasing
komponen UI
Methods
Methodmethod dan
Handler Object
pada class
FormPenulis
Cara kerja Program
Form Pertama kali di
jalankan
Setelah data di inputkan
Cara kerja Program
Setelah menekan tombol
Simpan
Kembali seperti semula
setelah menekan tombol OK
pada kotak dialog Message
Data tersimpan ke tabel
tPenulis
Catatan:
Untuk menyederhanakan program
maka alamat, kota dan kode pos
digabung pada field alamat
KodeProgram – Simpan Data
KodeProgram – Update Data
KodeProgram – Hapus Data
KodeProgram – Update Data
KodeProgram – Cari Data
KodeProgram – Cari Data
KodeProgram – Methods
Tabel Transaksi
Form Input data
buku melibatkan
tabel :
tKategori
tPenulis
tPenerbit
Tabel Transaksi
Nama-nama
penulis yang di
ambil dari tabel
tPenulis
KodeProgram – Menampilkan data dari tabel tPenulis