PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... •...
-
Upload
phungduong -
Category
Documents
-
view
214 -
download
0
Transcript of PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... •...
![Page 1: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/1.jpg)
JDBC
Imam Fahrur Rozi
![Page 2: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/2.jpg)
Pokok Bahasan
• Pengantar JDBC • Langkah Penggunaan JDBC
![Page 3: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/3.jpg)
Pengantar JDBC
![Page 4: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/4.jpg)
JDBC
• Java Data Base Conec;vity • JDBC menyediakan library yang digunakan untuk mengakses RDBMS
• Class-‐class dari JDBC ada di dalam paket java.sql
![Page 5: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/5.jpg)
Arsitektur JDBC
• JDBC support baik arsitektur 2 ;er ataupun 3 ;er dalam hal akses database
• Pada aplikasi 2 ;er, aplikasi Java akan berkomunikasi langsung dengan database menggunakan JDBC
• Letak database server bisa di mesin lokal atau di remote yang terhubung melalui jaringan
![Page 6: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/6.jpg)
Arsitektur JDBC
• Pada aplikasi 3 ;er, aplikasi Java akan berkomunikasi dengan database melalu middle +er.
• Middle Tier yang akan melanjutkan perintah atau permintaan dari aplikasi ke database.
• Data hasil eksekusi perintah di database akan dikirimkan kembali ke middle ;er, dan oleh middle ;er akan dikirimkan kembali ke aplikasi
![Page 7: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/7.jpg)
JDBC Driver
• JDBC terdiri dari 2 bagian: – JDBC API: merupakan sekumpulan Java Class yang tergabung dalam JDBC
– JDBC Driver Manager, yang akan berkomunikasi dengan driver dari vendor database( driver yang akan melakukan komunikasi yang sesungguhnya dengan database)
![Page 8: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/8.jpg)
Langkah Penggunaan JDBC
![Page 9: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/9.jpg)
Langkah Penggunaan JDBC
• Load Driver • Definisikan URL untuk koneksi • Buat koneksi • Buat objek Statement • Eksekusi query • Proses hasil eksekusi query • Tutup koneksi
![Page 10: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/10.jpg)
Langkah 1: Load Driver
• Tidak diperlukan pada Java 6, ar;nya pada Java 6 dan versi setelahnya, driver akan ter-‐load secara otoma;s
• Diperlukan pada Java 5 dan versi-‐versi sebelumnya
![Page 11: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/11.jpg)
Langkah 2: Definisikan URL Koneksi • Format URL koneksi utk Derby database (Embedded Database) – Apache Derby (dikenal dg Java DB) merupakan database yang ter-‐embed dalam JVM atau masuk dalam bundle Java 6
– Format koneksi “jdbc:derby:dbName”
• Format URL koneksi untuk DB non-‐embedded “jdbc:vendorName//dbhostname:port//dbName”
:
![Page 12: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/12.jpg)
Langkah 3: Buat koneksi • Cara membuat object connec+on:
• [op;onal] Jika ingin melihat info tentang DBMS yang digunakan
![Page 13: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/13.jpg)
Langkah 4: Buat Objek Statement
• Objek Statement digunakan untuk mengirimkan perintah atau query yang akan dieksekusi oleh DBMS
• Beberapa ;pe Statement: – Statement – PreparedStatement – CallableStatement
![Page 14: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/14.jpg)
Langkah 5: Eksekusi Query • Eksekusi query: – statement.executeQuery(“SELECT…..FROM…”);
• Akan menghasilkan objek ResultSet yang berisi data hasil query
– statement.executeUpdate(“UPDATE….”); – statement.executeUpdate(“INSERT…..”); – statement.executeUpdate(“DELETE….”); – statement.execute(“CREATE TABLE….”); – statement.execute(“DROP TABLE….”);
• Contoh:
![Page 15: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/15.jpg)
Langkah 6: Proses hasil • Beberapa method/operasi pen+ng dari objek ResultSet antara lain: – resultSet.next()
• Mengambil data pada record/row selanjutnya. Jika ;dak ada data selanjutnya, maka akan menghasilkan false.
– resultSet.getString(“columnName”) • Mengambil nilai String yang tersimpan dalam nama kolom yang disebutkan. Berlaku juga untuk getInt, getDouble, getBlob, dsb.
– resultSet.getString(columnIndex) • Mengambil nilai String yang tersimpan dalam nomor indeks dari suatu kolom. Indeks pertama (untuk kolom pertama) adalah 1 (BUKAN 0)
– resultSet.beforeFirst() • Untuk meletakkan cursor sebelum record/row pertama
– resultSet.absolute(rowNum) • Untuk meletakan cursor pada row yang diberikan. Row pertama adalah 1
![Page 16: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/16.jpg)
Langkah 6: Proses hasil • Contoh: – ResultSet resultSet = connec+on.executeQuery(“SELECT first, last, address FROM biodata WHERE …..”);
• Menggunakan nama kolom/field
• Menggunakan indeks kolom/field
![Page 17: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/17.jpg)
Langkah 7: Tutup Koneksi • Ke;ka operasi database sudah selesai semua dan ;dak dibutuhkan lagi, maka TUTUP KONEKSI ke DB tersebut. Jika masih diperlukan untuk mengakses database tersebut, maka lebih baik jangan tutup dulu koneksi tsb. Karena mengirimkan perintah query ke objek connec+on yang sudah terbuat dan terbuka, akan lebih efek+f daripada harus membuat objek connec+on baru lagi.
• Contoh:
![Page 18: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/18.jpg)
PreparedStatement CallableStatement
![Page 19: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/19.jpg)
• Baik PreparedStatement maupun CallableStatement merupakan bentuk yang lebih khusus dari Statement
![Page 20: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/20.jpg)
PreparedStatement
• Digunakan ke;ka ada perintah SQL yang sama, dilakukan secara berulang kali, dengan nilai yang berbeda. Misal, perintah SQL untuk INSERT banyak data, sebenarnya secara perintah SQL sama, tetapi nilai yang akan di-‐insert berbeda-‐beda.
• PreparedStatement bisa menerima input data (parameter) saat run;me, dimana data tsb yang akan diolah dalam perintah SQL
![Page 21: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/21.jpg)
Statement vs PreparedStatement
• Untuk Statement, ke;ka pembuatan objek Statement, ;dak diberikan perintah SQL. Perintah SQL baru akan diberikan saat eksekusi.
Statement st = conn.createStatement(); st.executeUpdate(perintahQuery);
![Page 22: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/22.jpg)
Statement vs PreparedStatement
• Untuk PreparedStatement, ke;ka pembuatan objek PreparedStatement, sekaligus diberikan perintah SQL.
PreparedStatement pst = conn.prepareStatement(perintahQuery);
![Page 23: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/23.jpg)
Contoh Penggunaan PreparedStatement String sql = “INSERT INTO tbCar (idCar,name,prodYear,km) VALUES (?,?,?,?)”; PreparedStatement pst = conn.prepareStatement(sql); pst.setString(1,”c01” ); pst.setString(2,”Blazer” ); pst.setInt(3,2000 ); pst.setInt(4,50000); pst.executeUpdate(); ////////////////////////////// pst.setString(1,”c02” ); pst.setString(2,”Audi” ); pst.setInt(3,2010 ); pst.setInt(4,500); pst.executeUpdate();
Tempat paremeter
Mengisi/melewatkan nilai paremeter
![Page 24: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/24.jpg)
CallableStatement
• Digunakan untuk pemanggilan Stored Procedure yang ada dalam database
• CallableStatement juga bisa menerima input data (parameter) saat run;me.
![Page 25: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/25.jpg)
Contoh CallableStatement
DELIMITER // CREATE PROCEDURE proc() BEGIN
SELECT * FROM emp; END; DELIMITER ;
![Page 26: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/26.jpg)
Contoh CallableStatement CallableStatement cstmt = conn.prepareCall(“{call proc}”); ResultSet rs = cstmt.executeQuery(); …..dst…..
![Page 27: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/27.jpg)
Fitur lanjut JDBC
![Page 28: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/28.jpg)
Transac;ons • Secara default, setelah JDBC mengirimkan perintah ke database dan database telah mengeksekusinya, maka secara otoma;s perubahan yang terjadi akan langsung berpengaruh ke database yang bersangkutan (AUTO COMMIT)
• Jika ingin menon-‐ak;nan fitur Ato Commit, gunakan method:
• Panggil method commit(), untuk menerapkan perubahan yang dihasilkan terhadap database
• Gunakan method rollback(), jika terjadi error ke;ka eksekusi dan ;dak menerapkan perubahan ke database
![Page 29: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/29.jpg)
Transac;ons: Contoh
![Page 30: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/30.jpg)
Contoh Kasus
![Page 31: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/31.jpg)
1. Buat Database di MySQL
• Buat database RentCarDB create database RentCarDB;
![Page 32: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/32.jpg)
2. Buat Tabel tbCar
• Seleksi database RentCarDB use RentCarDB;
• Buat tabel create table tbCar ( idCar varchar(20) primary key, name varchar(25), prodYear int, km int );
![Page 33: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/33.jpg)
3. Buat JFrame Form
• Buat window dengan menggunakan JFrame Form dengan nama RentCarForm
• Berikan +tle berupa Rent Car Form
![Page 34: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/34.jpg)
4. Buat Form Input Data
![Page 35: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/35.jpg)
5. Buat Form Browse Data
![Page 36: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/36.jpg)
6. Tambahkan Atribut Connec;on dan Statement
Dari proses penambahan atribut Connec;on dan Statement, akan membutuhkan import class Connec+on dan Statement yang ada dalam paket java.sql.
![Page 37: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/37.jpg)
7. Tambahkan Library MySQL JDBC Driver ke Project • Klik kanan pada Libraries, dan pilih Add Library
• PilihMySQL JDBC Driver
![Page 38: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/38.jpg)
8. Inisialisasi Koneksi ke DB
• Lakukan di dalam konstruktor
![Page 39: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/39.jpg)
![Page 40: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/40.jpg)
9. Buat Operasi Insert
• Double klik tombol Submit
![Page 41: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/41.jpg)
10. Buat Operasi Browse • Double klik tombol Browse
![Page 42: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/42.jpg)
Your Turn ….
• Buat Event Handler untuk tombol Reset dan Delete
![Page 43: PengantarJDBC · • JDBC menyediakan$library$yang$digunakan$ untuk$mengakses$RDBMS$ ... • Pada$aplikasi3er,$ aplikasi$ Java akan$berkomunikasi$ dengan$database$melalu$](https://reader036.fdokumen.com/reader036/viewer/2022070616/5d1c878088c99382368c5d71/html5/thumbnails/43.jpg)
END