SlideShare a Scribd company logo
• Java Database Connectivity adalah API yang digunakan Java
untuk melakukan koneksi dengan aplikasi lain atau dengan
berbagai macam database.
• JDBC memungkinkan kita untuk membuat aplikasi Java yang
melakukan tiga hal:
1. Konek ke sumber data,
2. Mengirimkan query dan statement ke database
3. Menerima dan mengolah resultset yang diperoleh dari
database.
• application program interface
• a set of routines, protocols, and tools for building software
applications
1. Open a Connection
2. Send a statement
3. Retrieve results
4. Close a connection 1. Create a connection
Session
2. Execute statement
3. Send results
4. Close the session
Java Application
DBMS Engine
Java DB API
Java Application
JDBC Driver Manager
JDBC Net
Driver A
JDBC–ODBC
Bridge B
JDBC Driver C JDBC Driver D
ODBC Driver
Native Driver B
Native Driver C
JDBC Interface
JDBC Driver
Interface
A B DC
Java.sql package
• DriverManager
• Connection
• Statement
• CallableStatement
• PreparedStatement
• Resultset
• ResultSetMetaData
• DatabaseMetatData
Driver Manager
Connection Connection Connection
Statement
Prepared
Statement
ResultSet
Import java.sql;
class SimpleExample {
public static void main(String args[]) {
String url = “jdbc:odbc:mysource”;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection myConnection =
DriverManager.getConnection(url,”Bond”,”TopSecret”);
myConnection.close();
}
catch(java.lang.Exception) {
ex.printStackTrace();
}
}
}
……
String query= “Select name,id,salary FROM employees ORDER By salary”;
Connection myConnection = DriverManager.getConnection(…..);
Statement myStatement = myConnection.createStatement();
ResultSet rs = myStatement.executeQuery(query);
While(rs.next){
String empName = rs.getString(1);
String empId = rs.getString(2);
String empSalary = rs.getString(3);
System.out.println(“Employee ” + empName + “ with id ” + empId
+ “ earns ” + empSalary);
}
myStatement.close();
myConnection.close();
…….
• ResultSet executeQuery()
• For SQL selects
• int executeUpdate()
• For Update,Delete,Insert and Create etc.
• boolean execute()
• For either type
• Returns resultSetisAvailable

Berikut adalah urutan langkah nya :
1. Membuat Project Baru & Package Baru
2. Membuat Database
3. Mapping Database ke Entitas
4. Membuat Koneksi
5. Membuat Service DAO
6. Membuat Fungsi CRUD
7. Membuat Management Transaksi DAO
8. Membuat View
9. Membuat Model
10. Membuat Controller
11. Komunikasikan di View
Akses full source code nya di link ini :
https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC
Akses video tutorial nya di link ini :
TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw
TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g
TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY
TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY
TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc
TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4
TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w
TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I
TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM
TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc
TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E
TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc
1. Buat project baru
2. Buat menjadi 10 package
3. Add library MYSQL JDBC DRIVER
4. Membuat Database : langsung didalam netbeans. Pilih
tab service -> Database -> Klik Kanan -> Connect
5. Create Database -> otomatis dibuatkan jddbc mysql
nya
6. Klik Kanan JDBC database yang sudah dibuat -> execute command
7. Buat Tabel menggunakan command query
8. Execute -> lihat dioutput data sudah berhasil
dibuat
9. Refresh dibagian jdbcmysqlnya, dan table sudah tercipta
10. Buat Representasi dari tabel didatabase yang sudah
dibuat ke package entity
11. Lakukan konsep ORM (Object Relational Mapping)
yaitu mapping tabel dari database ke dalam class
entitiy tersebut. Class pelanggan ini
merepresentasikan data yang ada di tabel identitas.
12. Lalu buat getter setter dari masing-masing atribut yang
sudah dibuat
13. Generated equal & hashcode. (ketik alt+insert). Ceklis all
Disini kita menggunakan konsep COLLECTION.Method equals dan hashcode berperan sangat
penting dalam collection.
1. Method equals digunakan untuk membandingkan dua buah object apakan sama atau tidak
secara logis.
2. Method hashCode akan mengembalikan nilai integer yang unik untuk setiap object yang
berbeda
14. Di dalam Package database, buat class koneksi ke database
15. Lakukan TestKoneksi dengan
masuk ke class Main
lalu panggil method getconnection.
16. Di class pelanggan pada package entity, Buat 2 buah Konstruktor lalu isi menggunakan
value sesuai tabel tanpa id, karena id sudah bersifat auto increment.
17. Buat class Exception Sendiri pada Package Exception untuk handling error . Klik kanan
di package nya -> new -> other -> java -> java exception -> beri nama pelangganException
18. Buat Service DAO didalam package service dalam bentuk interface.
19. Buat Implementasi pelanggan dari DAO pada package implement. Lalu buat class
PelangganDaoImpl
20. Beri implement dari interface PelangganDao.
21. Buat variabel Connection lalu buat konstruktor dari pelangganDaoImpl ini yang berisi
connection
22. Masuk kedalam Class Barbershop Database, pasang method untuk memanggil
pelangganDao. Tujuannya adalah memberi tipe SINGLETON, yaitu objek nya hanya satu
yang bisa diakses oleh semua class. Kita bisa memanggil pelangganDao ini tinggal
memanggil barbershopdatabase.getpelangganDao();
23. INSERT DATA – masuk ke class pelanggan
Dao Impl
i. Buat variabel string query sql insertpelanggan.
ii. Masuk ke method insertpelanggan, pasang try,
catch and finally didalamnya. Agar ketika isi dari
dalam try error, statement tetap bisa di close di
bagian finally nya.
iii. Gunakan code PreparedStatement jangan
Statement. Tujuan untuk menghindari SQL
INJECTION (hacker merubah nama inputan).
iv. Isi statement di masing-masing value yang
diinputkan.
v. Masukkan throw error ke pelanggan exception
vi. Isi bagian finally dengan statement.close();
24. UPDATE DATA – masuk ke class pelanggan
Dao Impl
i. Buat string query untuk update
ii. Masuk ke method update, buat try and
catch, finally
iii. Isi masing-masing value statement
dengan nama variabel yang sesuai
dengan urutan query. Tanda tanya yang
di query akan diubah menjadi bentuk
statment nya
iv. Statement Execute update
v. isi finally. Close statement di finally
25. DELETE DATA – masuk ke class pelanggan
Dao Impl
i. Buat string query untuk delete
ii. Masuk ke method delete, buat try and
catch, finally
iii. Deklarasikan initial preparedstatement
diluar try and catch
iv. Isi variabel statement cukup hanya id
saja
v. Statement execute update
vi. Isi value finally dengan close statement
26. SELECT DATA BY ID PELANGGAN, masuk ke
class pelanggan Dao Impl
i. Buat variabel string query get by id
ii. Pasang try, catch and finally
iii. Masukkan prepared statement
didalam try
iv. Isi value statement dengan setInt(id)
v. Buat result dari hasil executequery
vi. Cek result next (artinya jika ada record)
vii. Panggil model pelanggan, lalu set hasil
result kedalam masing-masing value
dalam model
27. SELECT DATA BY EMAIL, masuk ke class
pelanggan Dao Impl
i. Buat variabel string query get by email
ii. Copy isi method get by id, lalu ganti
parameter int id didalam statement
dengan String email
28. SELECT ALL DATA PELANGGAN,
29. Buat SQL QUERY SELECT all pelanggan
30. Implementasi hasil query kedalam bentuk
arraylist
31. MANAGEMENT TRANSAKSI JDBC
Manajemen Transaksi (transaction management) adalah pengaturan transaksi-transaksi
yang digunakan/diakses oleh suatu aplikasi/sistem. Transaksi adalah sebuah unit eksekusi
dari program yang mengakses dan memungkinkan update berbagai macam tipe data.
Transaksi-transaksi ini perlu diatur untuk mempertahankan ACID (atomicity, consistency,
isolation, and durability).
Properti ACID:
1. Atomicity : transaksi dilakukan sekali dan sifatnya atomik, artinya satu kesatuan tunggal
yang tidak dapat dipisahlaksanakan pekerjaan sampai selesai atau tidak sama sekali.
2. Concistency : jika basis data awalnya dalam keadaan konsisten maka pelaksanaan transaksi
sendirinya juga harus meninggalkan basis data tetap dalam status konsisten
3. Isolation : isolasi memastikan bahwa secara bersamaan eksekusi transaksi terisolasi dari
yang lain
4. Durability : begitu transaksi telah dilaksanakan (di-commit) maka perubahan yang
dilakukan tidak akan hilang dan tetap terjaga (durable), sekalipun ada kegagalan sistem.
31. MANAGEMENT TRANSAKSI JDBC
Implementasi Management transaksi JDBC bisa dilakukan di method yang
berhubungan dengan method yang berhubungan dengan statement ke database.
Kita bisa memasangnya di bagian INSERT, UPDATE, DELETE & SELECT.
i. Masuk ke dalam class pelanggan dao impl
ii. Masuk ke method insert. Sebelum masuk ke statement apapun awali dengan
memanggil connection nya. Connection.setAutoCommit(false);
iii. Setelah semua transaksi selesai, pasang connection.commit();
iv. Pasang di bagian error, pasang kembali try and catch sql exception lalu isi try
dengan connection.rollback(); artinya datanya dikembalikan ke semula
v. Pasang di bagian finally try and catch dan isi try dengan
statement.setAutoCommit(true); kemablikan ke true kembali.
vi. Lakukan hal yang serupa dengan ke dalam method update, delete, dan select.
Perhatikan semua bagian nya agar tidak ada bagian yang terlupakan atau
terlewat.
31. MANAGEMENT TRANSAKSI JDBC
32. TEST PELANGGAN DAO - INSERT, masuk ke class Main.
33. Panggil objek getpelanggan dao class dao dari database barebsershop
34. Panggil objek model pelanggan
35. Isi masing-masing value didalam model, tanpa id karna autoincrement
36. Lihat didatabasenya. Klik kanan di tabel nya -> view data. Datanya sudah masuk
37. TEST PELANGGAN DAO – GET BY ID,
38. TEST PELANGGAN DAO – GET BY email,
39. TEST PELANGGAN DAO - UPDATE,
40. TEST PELANGGAN DAO – SELECT ALL DATA,
41. TEST PELANGGAN DAO – DELETE DATA,
42. MEMBUAT VIEW PELANGGAN BARBERSHOP
43. Pasang getter di setiap variable yang akan digunakan dibawah konstruktor
44. Karena id nya auto increment (tidak dapat diubah), maka ganti properties input nya,
editable = false (uncheck)
45. MEMBUAT MODEL
46. Buat dua buat model yaitu model form inputan pelanggan dan model didalam table
pelanggan.
47. Buat class table model pelanggan.
48. Extend class tersebut ke AbstractTabelModel. Lalu implement method abstract nya.
49. Deklarasikan List Pelanggan
50. Generated Set list
51. Isi getRowCount = panjang row nya
berapa dengan mereturn isi list
52. Isi getColumnCount = panjang
kolomnya berapa dengan jumlah field di
model pelanggan. Yaitu ada 5 field.
53. Isi getValueAt = get valuenya berapa
dengan mereturn setiap indeks didalam
row table
54. Override getColumnName lalu isi
dengan mereturnkan nama field nya
55. Lakukan override lagi dengan method
di dalam list dengan mengoverride
method ADD, GET, REMOVE dan SET
56. Isi method ADD, SET, & REMOVE. Silahkan lebih dipelajari
lebih dalam tentang SWING untuk table ini.
57. Masuk ke pelanggan View, lalu deklarasikan model yang
sudah dibuat. Panggil objek tabelpelangganmodel, lalu set
model tersebut ke dalam variable table view.
58. MEMBUAT MODEL FORM
INPUTAN PELANGGAN
59. Buat class baru dalam package
model dengan nama class
PelangganModel
60. Deklarasi kan variable id, nama,
alamat, telepon, email
61. Buat Getter & setter dari masing-
masing variable
62. Buat listener untuk pelangganModel dengan membuat package baru
yaitu event
63. Buat file interface dari pelanggan
64. Lalu buat method onChange dengan parameter dari model pelanggan,
method onInsert, onUpdate dari entity database pelanggan, method
onDelete yang tidak memiliki parameter karna tidak harus memasukkan
value ke dalam table.
65. Kembali ke class PelangganModel,
Deklarasikan PelangganListener yang telah dibuat
66. Lalu buat getter dan setter dari listener
tersebut
67. Buat method protected fireOnChange.
fireOnInsert, fireOnUpdate & fire OnDelete,, yang
masing-masing diberi validasi tidak kosong untuk
listenernya.
68. Buat aksi dari masing-masing metode insert, update, delete & reset.
69. Untuk method insert, namun yang jadi masalah ketika insert adalah penggunaan
autoincrement di id yang dimana ketika dimasukkan kedalam table, idnya akan
kosong.
70. Buat method update
71. Buat method delete
72. Buat method reset
73. Pasang method onchange disetiap variable Set nya
74. MEMBUAT CONTROLLER, buat file java PelangganController
75. Deklarasikan PelangganModel yang telah dibuat lalu buat setter modelnya
76. Karena ada 4 aksi tombol, maka buat masing-masing methodnya yakni, reset,
insert, update, delete.
77. Isi method reset seperti berikut :
78. Isi Method insert seperti berikut, pasang validasi yang di sesuai kan dengan
aturan bisnisnya ketika membuat table di database.
79. Isi Method update. User harus memilih terlebih dahulu data mana yang didalam
table yang akan diupdate, yang selanjutnya baru bisa di update.
80. Isi Method
delete. User
harus memilih
terlebih dahulu
data mana yang
didalam table
yang akan
dihapus, yang
selanjutnya baru
bisa di delete.
81. KOMUNIKASIKAN MODEL, VIEW DAN CONTROLLERNYA. MASUK KE CLASS
PELANGGANVIEW IMPLEMENT PELANGGANLISTENER NYA, LALU IMPLEMENT ALL
ABSTRACT METHODNYA.
82. Isi method onchange, oninsert,
ondelete, onupdate seperti berikut
83. Ketika data dalam table diklik, maka harus tampil diinputan. Maka tambahkan
implement listselectionlistener dan aksi di konstruktor seperti berikut,
84. Implement abstract method valueChange, lalu isi method seperti berikut,
85. Deklarasikan objek Pelanggan Model & pelanggan controller. Kemudian set
listener di model dan set model di controller
86. Buat aksi di tombol reset, update, delete, dan insertnya dengan memanggil
method controllernya
87. Buat class frame dengan nama
MainViewPelanggan
88. lalu drag pelangganview ke dalam
MainViewPelanggan
89. Compile dulu dengan melakukan clean
and build
90. Lalu setlayoutnya dengan borderlayout
91. Lalu run project
92. Test button reset
93. Test insert data, cek validasi nama, telepon & email.
94. Lakukan insert data, terjadi problem yaitu id nya menjadi null, cara
menghandlenya adalah masuk ke dalam method insert yang ada di class
pelangganDaoImpl, lalu masukkan code berikut,
95. Load data dalam table ketika pertama kali
program dijalankan
96. Masuk ke dalam MainViewPelanggan lalui
Delegate method loadDatabase tersebut.
97. Hapus method main yang ada di
MainViewPelanggan, lalu masuk ke class yang ada di
package edu.rizkiadam.latihanmvcjdbc.main
98. Jalankan program
99. TESTING TAMBAH DATA
100. TESTING UBAH DATA
101. TESTING HAPUS DATA
Akses full source code nya di link ini :
https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC
Akses video tutorial nya di link ini :
TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw
TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g
TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY
TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY
TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc
TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4
TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w
TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I
TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM
TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc
TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E
TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc

More Related Content

What's hot

Stored Procedure
Stored ProcedureStored Procedure
Stored Procedure
Putra Andry
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javanur achlish rosyadi
 
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupLAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
Ibrahim Naki
 
SQL database client server
SQL database client serverSQL database client server
SQL database client server
Desty Yani
 
Part 7 - Mengenal Array di Visual Basic .Net
Part 7 - Mengenal Array di Visual Basic .NetPart 7 - Mengenal Array di Visual Basic .Net
Part 7 - Mengenal Array di Visual Basic .Net
Rolly Yesputra
 
[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java
rizki adam kurniawan
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
rizki adam kurniawan
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
stephan EL'wiin Shaarawy
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
rizki adam kurniawan
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
SMK - Statens Museum for Kunst
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
rizki adam kurniawan
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Debby Ummul
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
Rakhmat Dedi Gunawan
 
Modul Praktek Java OOP
Modul Praktek Java OOP Modul Praktek Java OOP
Modul Praktek Java OOP
Zaenal Arifin
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Shofura Kamal
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Debby Ummul
 
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteTutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
SMK Negeri 6 Malang
 

What's hot (20)

Stored Procedure
Stored ProcedureStored Procedure
Stored Procedure
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman java
 
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupLAPORAN 15 SISTEM OPERASI Manajemen User dan Group
LAPORAN 15 SISTEM OPERASI Manajemen User dan Group
 
SQL database client server
SQL database client serverSQL database client server
SQL database client server
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 
Part 7 - Mengenal Array di Visual Basic .Net
Part 7 - Mengenal Array di Visual Basic .NetPart 7 - Mengenal Array di Visual Basic .Net
Part 7 - Mengenal Array di Visual Basic .Net
 
[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
Modul Praktek Java OOP
Modul Praktek Java OOP Modul Praktek Java OOP
Modul Praktek Java OOP
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
 
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteTutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
 

Similar to [PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC

Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
rahmantoyuri
 
Laporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbcLaporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbc
Devi Apriansyah
 
Tutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web servicesTutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web servicesmuhammad arif nasution
 
Membangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaMembangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaEko Kurniawan Khannedy
 
Jeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic ServletsJeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic ServletsIndividual Consultants
 
Ch7 10 bind
Ch7 10 bindCh7 10 bind
Ch7 10 bind
Abu Geni
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
Saprudin Eskom
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Dimas Prawira
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
Saprudin Eskom
 
INSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGYINSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGY
Veronica Anggraini
 
MVC J2EE using servlet
MVC J2EE using servletMVC J2EE using servlet
MVC J2EE using servlet
Doni Andriansyah
 
Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6
Bowo Prasetyo
 
Jeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced JsfJeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced JsfIndividual Consultants
 
Cara Akses Database Menggunakan ADO.NET
Cara Akses Database Menggunakan ADO.NETCara Akses Database Menggunakan ADO.NET
Cara Akses Database Menggunakan ADO.NET
Veronica Anggraini
 
Membuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-javaMembuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-java
Farichah Riha
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternIndividual Consultants
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpCahya Dwiana SN
 
Mari belajar vue js
Mari belajar vue jsMari belajar vue js
Mari belajar vue js
Teten Nugraha
 
Article Pengenalan Konsep Xml Web Services
Article Pengenalan Konsep Xml Web ServicesArticle Pengenalan Konsep Xml Web Services
Article Pengenalan Konsep Xml Web ServicesFredy Budimansyah
 

Similar to [PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC (20)

Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
 
Laporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbcLaporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbc
 
Tutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web servicesTutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web services
 
Membangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaMembangun aplikasi client server dengan java
Membangun aplikasi client server dengan java
 
Jeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic ServletsJeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic Servlets
 
Ch7 10 bind
Ch7 10 bindCh7 10 bind
Ch7 10 bind
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
INSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGYINSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGY
 
MVC J2EE using servlet
MVC J2EE using servletMVC J2EE using servlet
MVC J2EE using servlet
 
Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6
 
Jeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced JsfJeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced Jsf
 
Cara Akses Database Menggunakan ADO.NET
Cara Akses Database Menggunakan ADO.NETCara Akses Database Menggunakan ADO.NET
Cara Akses Database Menggunakan ADO.NET
 
Membuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-javaMembuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-java
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan php
 
Mari belajar vue js
Mari belajar vue jsMari belajar vue js
Mari belajar vue js
 
Laporan tugas akhir daspro kelompok
Laporan tugas akhir daspro kelompok Laporan tugas akhir daspro kelompok
Laporan tugas akhir daspro kelompok
 
Article Pengenalan Konsep Xml Web Services
Article Pengenalan Konsep Xml Web ServicesArticle Pengenalan Konsep Xml Web Services
Article Pengenalan Konsep Xml Web Services
 

More from rizki adam kurniawan

[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia
rizki adam kurniawan
 
[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak
rizki adam kurniawan
 
[RPL2] Growth Hacking
[RPL2] Growth Hacking[RPL2] Growth Hacking
[RPL2] Growth Hacking
rizki adam kurniawan
 
[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis
rizki adam kurniawan
 
[RPL2] Deployment Diagram
[RPL2] Deployment Diagram[RPL2] Deployment Diagram
[RPL2] Deployment Diagram
rizki adam kurniawan
 
[RPL2] Package Diagram
[RPL2] Package Diagram[RPL2] Package Diagram
[RPL2] Package Diagram
rizki adam kurniawan
 
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
rizki adam kurniawan
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
rizki adam kurniawan
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
rizki adam kurniawan
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android
rizki adam kurniawan
 
[RPL2] Design Sprint
[RPL2] Design Sprint[RPL2] Design Sprint
[RPL2] Design Sprint
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)
rizki adam kurniawan
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
rizki adam kurniawan
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
rizki adam kurniawan
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
rizki adam kurniawan
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
rizki adam kurniawan
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
rizki adam kurniawan
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
rizki adam kurniawan
 

More from rizki adam kurniawan (20)

[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia
 
[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak
 
[RPL2] Growth Hacking
[RPL2] Growth Hacking[RPL2] Growth Hacking
[RPL2] Growth Hacking
 
[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis
 
[RPL2] Deployment Diagram
[RPL2] Deployment Diagram[RPL2] Deployment Diagram
[RPL2] Deployment Diagram
 
[RPL2] Package Diagram
[RPL2] Package Diagram[RPL2] Package Diagram
[RPL2] Package Diagram
 
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android
 
[RPL2] Design Sprint
[RPL2] Design Sprint[RPL2] Design Sprint
[RPL2] Design Sprint
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
 

[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC

  • 1.
  • 2.
  • 3. • Java Database Connectivity adalah API yang digunakan Java untuk melakukan koneksi dengan aplikasi lain atau dengan berbagai macam database. • JDBC memungkinkan kita untuk membuat aplikasi Java yang melakukan tiga hal: 1. Konek ke sumber data, 2. Mengirimkan query dan statement ke database 3. Menerima dan mengolah resultset yang diperoleh dari database.
  • 4. • application program interface • a set of routines, protocols, and tools for building software applications
  • 5. 1. Open a Connection 2. Send a statement 3. Retrieve results 4. Close a connection 1. Create a connection Session 2. Execute statement 3. Send results 4. Close the session Java Application DBMS Engine Java DB API
  • 6. Java Application JDBC Driver Manager JDBC Net Driver A JDBC–ODBC Bridge B JDBC Driver C JDBC Driver D ODBC Driver Native Driver B Native Driver C JDBC Interface JDBC Driver Interface A B DC
  • 7. Java.sql package • DriverManager • Connection • Statement • CallableStatement • PreparedStatement • Resultset • ResultSetMetaData • DatabaseMetatData Driver Manager Connection Connection Connection Statement Prepared Statement ResultSet
  • 8. Import java.sql; class SimpleExample { public static void main(String args[]) { String url = “jdbc:odbc:mysource”; try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Connection myConnection = DriverManager.getConnection(url,”Bond”,”TopSecret”); myConnection.close(); } catch(java.lang.Exception) { ex.printStackTrace(); } } }
  • 9. …… String query= “Select name,id,salary FROM employees ORDER By salary”; Connection myConnection = DriverManager.getConnection(…..); Statement myStatement = myConnection.createStatement(); ResultSet rs = myStatement.executeQuery(query); While(rs.next){ String empName = rs.getString(1); String empId = rs.getString(2); String empSalary = rs.getString(3); System.out.println(“Employee ” + empName + “ with id ” + empId + “ earns ” + empSalary); } myStatement.close(); myConnection.close(); …….
  • 10. • ResultSet executeQuery() • For SQL selects • int executeUpdate() • For Update,Delete,Insert and Create etc. • boolean execute() • For either type • Returns resultSetisAvailable
  • 11.
  • 12.
  • 13.
  • 14. Berikut adalah urutan langkah nya : 1. Membuat Project Baru & Package Baru 2. Membuat Database 3. Mapping Database ke Entitas 4. Membuat Koneksi 5. Membuat Service DAO 6. Membuat Fungsi CRUD 7. Membuat Management Transaksi DAO 8. Membuat View 9. Membuat Model 10. Membuat Controller 11. Komunikasikan di View Akses full source code nya di link ini : https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC Akses video tutorial nya di link ini : TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4 TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc
  • 15.
  • 16. 1. Buat project baru 2. Buat menjadi 10 package 3. Add library MYSQL JDBC DRIVER
  • 17.
  • 18. 4. Membuat Database : langsung didalam netbeans. Pilih tab service -> Database -> Klik Kanan -> Connect 5. Create Database -> otomatis dibuatkan jddbc mysql nya 6. Klik Kanan JDBC database yang sudah dibuat -> execute command
  • 19. 7. Buat Tabel menggunakan command query 8. Execute -> lihat dioutput data sudah berhasil dibuat 9. Refresh dibagian jdbcmysqlnya, dan table sudah tercipta
  • 20.
  • 21. 10. Buat Representasi dari tabel didatabase yang sudah dibuat ke package entity 11. Lakukan konsep ORM (Object Relational Mapping) yaitu mapping tabel dari database ke dalam class entitiy tersebut. Class pelanggan ini merepresentasikan data yang ada di tabel identitas. 12. Lalu buat getter setter dari masing-masing atribut yang sudah dibuat
  • 22. 13. Generated equal & hashcode. (ketik alt+insert). Ceklis all Disini kita menggunakan konsep COLLECTION.Method equals dan hashcode berperan sangat penting dalam collection. 1. Method equals digunakan untuk membandingkan dua buah object apakan sama atau tidak secara logis. 2. Method hashCode akan mengembalikan nilai integer yang unik untuk setiap object yang berbeda
  • 23.
  • 24. 14. Di dalam Package database, buat class koneksi ke database 15. Lakukan TestKoneksi dengan masuk ke class Main lalu panggil method getconnection.
  • 25.
  • 26. 16. Di class pelanggan pada package entity, Buat 2 buah Konstruktor lalu isi menggunakan value sesuai tabel tanpa id, karena id sudah bersifat auto increment. 17. Buat class Exception Sendiri pada Package Exception untuk handling error . Klik kanan di package nya -> new -> other -> java -> java exception -> beri nama pelangganException
  • 27. 18. Buat Service DAO didalam package service dalam bentuk interface.
  • 28. 19. Buat Implementasi pelanggan dari DAO pada package implement. Lalu buat class PelangganDaoImpl 20. Beri implement dari interface PelangganDao. 21. Buat variabel Connection lalu buat konstruktor dari pelangganDaoImpl ini yang berisi connection
  • 29. 22. Masuk kedalam Class Barbershop Database, pasang method untuk memanggil pelangganDao. Tujuannya adalah memberi tipe SINGLETON, yaitu objek nya hanya satu yang bisa diakses oleh semua class. Kita bisa memanggil pelangganDao ini tinggal memanggil barbershopdatabase.getpelangganDao();
  • 30.
  • 31. 23. INSERT DATA – masuk ke class pelanggan Dao Impl i. Buat variabel string query sql insertpelanggan. ii. Masuk ke method insertpelanggan, pasang try, catch and finally didalamnya. Agar ketika isi dari dalam try error, statement tetap bisa di close di bagian finally nya. iii. Gunakan code PreparedStatement jangan Statement. Tujuan untuk menghindari SQL INJECTION (hacker merubah nama inputan). iv. Isi statement di masing-masing value yang diinputkan. v. Masukkan throw error ke pelanggan exception vi. Isi bagian finally dengan statement.close();
  • 32. 24. UPDATE DATA – masuk ke class pelanggan Dao Impl i. Buat string query untuk update ii. Masuk ke method update, buat try and catch, finally iii. Isi masing-masing value statement dengan nama variabel yang sesuai dengan urutan query. Tanda tanya yang di query akan diubah menjadi bentuk statment nya iv. Statement Execute update v. isi finally. Close statement di finally
  • 33. 25. DELETE DATA – masuk ke class pelanggan Dao Impl i. Buat string query untuk delete ii. Masuk ke method delete, buat try and catch, finally iii. Deklarasikan initial preparedstatement diluar try and catch iv. Isi variabel statement cukup hanya id saja v. Statement execute update vi. Isi value finally dengan close statement
  • 34. 26. SELECT DATA BY ID PELANGGAN, masuk ke class pelanggan Dao Impl i. Buat variabel string query get by id ii. Pasang try, catch and finally iii. Masukkan prepared statement didalam try iv. Isi value statement dengan setInt(id) v. Buat result dari hasil executequery vi. Cek result next (artinya jika ada record) vii. Panggil model pelanggan, lalu set hasil result kedalam masing-masing value dalam model
  • 35. 27. SELECT DATA BY EMAIL, masuk ke class pelanggan Dao Impl i. Buat variabel string query get by email ii. Copy isi method get by id, lalu ganti parameter int id didalam statement dengan String email
  • 36. 28. SELECT ALL DATA PELANGGAN, 29. Buat SQL QUERY SELECT all pelanggan 30. Implementasi hasil query kedalam bentuk arraylist
  • 37.
  • 38. 31. MANAGEMENT TRANSAKSI JDBC Manajemen Transaksi (transaction management) adalah pengaturan transaksi-transaksi yang digunakan/diakses oleh suatu aplikasi/sistem. Transaksi adalah sebuah unit eksekusi dari program yang mengakses dan memungkinkan update berbagai macam tipe data. Transaksi-transaksi ini perlu diatur untuk mempertahankan ACID (atomicity, consistency, isolation, and durability). Properti ACID: 1. Atomicity : transaksi dilakukan sekali dan sifatnya atomik, artinya satu kesatuan tunggal yang tidak dapat dipisahlaksanakan pekerjaan sampai selesai atau tidak sama sekali. 2. Concistency : jika basis data awalnya dalam keadaan konsisten maka pelaksanaan transaksi sendirinya juga harus meninggalkan basis data tetap dalam status konsisten 3. Isolation : isolasi memastikan bahwa secara bersamaan eksekusi transaksi terisolasi dari yang lain 4. Durability : begitu transaksi telah dilaksanakan (di-commit) maka perubahan yang dilakukan tidak akan hilang dan tetap terjaga (durable), sekalipun ada kegagalan sistem.
  • 39. 31. MANAGEMENT TRANSAKSI JDBC Implementasi Management transaksi JDBC bisa dilakukan di method yang berhubungan dengan method yang berhubungan dengan statement ke database. Kita bisa memasangnya di bagian INSERT, UPDATE, DELETE & SELECT. i. Masuk ke dalam class pelanggan dao impl ii. Masuk ke method insert. Sebelum masuk ke statement apapun awali dengan memanggil connection nya. Connection.setAutoCommit(false); iii. Setelah semua transaksi selesai, pasang connection.commit(); iv. Pasang di bagian error, pasang kembali try and catch sql exception lalu isi try dengan connection.rollback(); artinya datanya dikembalikan ke semula v. Pasang di bagian finally try and catch dan isi try dengan statement.setAutoCommit(true); kemablikan ke true kembali. vi. Lakukan hal yang serupa dengan ke dalam method update, delete, dan select. Perhatikan semua bagian nya agar tidak ada bagian yang terlupakan atau terlewat.
  • 41.
  • 42. 32. TEST PELANGGAN DAO - INSERT, masuk ke class Main. 33. Panggil objek getpelanggan dao class dao dari database barebsershop 34. Panggil objek model pelanggan 35. Isi masing-masing value didalam model, tanpa id karna autoincrement 36. Lihat didatabasenya. Klik kanan di tabel nya -> view data. Datanya sudah masuk
  • 43.
  • 44. 37. TEST PELANGGAN DAO – GET BY ID,
  • 45. 38. TEST PELANGGAN DAO – GET BY email,
  • 46. 39. TEST PELANGGAN DAO - UPDATE,
  • 47. 40. TEST PELANGGAN DAO – SELECT ALL DATA,
  • 48. 41. TEST PELANGGAN DAO – DELETE DATA,
  • 49.
  • 50. 42. MEMBUAT VIEW PELANGGAN BARBERSHOP
  • 51. 43. Pasang getter di setiap variable yang akan digunakan dibawah konstruktor
  • 52. 44. Karena id nya auto increment (tidak dapat diubah), maka ganti properties input nya, editable = false (uncheck)
  • 53.
  • 54. 45. MEMBUAT MODEL 46. Buat dua buat model yaitu model form inputan pelanggan dan model didalam table pelanggan. 47. Buat class table model pelanggan. 48. Extend class tersebut ke AbstractTabelModel. Lalu implement method abstract nya.
  • 55. 49. Deklarasikan List Pelanggan 50. Generated Set list 51. Isi getRowCount = panjang row nya berapa dengan mereturn isi list 52. Isi getColumnCount = panjang kolomnya berapa dengan jumlah field di model pelanggan. Yaitu ada 5 field. 53. Isi getValueAt = get valuenya berapa dengan mereturn setiap indeks didalam row table
  • 56. 54. Override getColumnName lalu isi dengan mereturnkan nama field nya 55. Lakukan override lagi dengan method di dalam list dengan mengoverride method ADD, GET, REMOVE dan SET
  • 57. 56. Isi method ADD, SET, & REMOVE. Silahkan lebih dipelajari lebih dalam tentang SWING untuk table ini.
  • 58. 57. Masuk ke pelanggan View, lalu deklarasikan model yang sudah dibuat. Panggil objek tabelpelangganmodel, lalu set model tersebut ke dalam variable table view.
  • 59. 58. MEMBUAT MODEL FORM INPUTAN PELANGGAN 59. Buat class baru dalam package model dengan nama class PelangganModel 60. Deklarasi kan variable id, nama, alamat, telepon, email 61. Buat Getter & setter dari masing- masing variable
  • 60. 62. Buat listener untuk pelangganModel dengan membuat package baru yaitu event 63. Buat file interface dari pelanggan 64. Lalu buat method onChange dengan parameter dari model pelanggan, method onInsert, onUpdate dari entity database pelanggan, method onDelete yang tidak memiliki parameter karna tidak harus memasukkan value ke dalam table.
  • 61. 65. Kembali ke class PelangganModel, Deklarasikan PelangganListener yang telah dibuat 66. Lalu buat getter dan setter dari listener tersebut 67. Buat method protected fireOnChange. fireOnInsert, fireOnUpdate & fire OnDelete,, yang masing-masing diberi validasi tidak kosong untuk listenernya.
  • 62. 68. Buat aksi dari masing-masing metode insert, update, delete & reset. 69. Untuk method insert, namun yang jadi masalah ketika insert adalah penggunaan autoincrement di id yang dimana ketika dimasukkan kedalam table, idnya akan kosong.
  • 63. 70. Buat method update 71. Buat method delete
  • 64. 72. Buat method reset 73. Pasang method onchange disetiap variable Set nya
  • 65.
  • 66. 74. MEMBUAT CONTROLLER, buat file java PelangganController 75. Deklarasikan PelangganModel yang telah dibuat lalu buat setter modelnya 76. Karena ada 4 aksi tombol, maka buat masing-masing methodnya yakni, reset, insert, update, delete. 77. Isi method reset seperti berikut :
  • 67. 78. Isi Method insert seperti berikut, pasang validasi yang di sesuai kan dengan aturan bisnisnya ketika membuat table di database.
  • 68. 79. Isi Method update. User harus memilih terlebih dahulu data mana yang didalam table yang akan diupdate, yang selanjutnya baru bisa di update.
  • 69. 80. Isi Method delete. User harus memilih terlebih dahulu data mana yang didalam table yang akan dihapus, yang selanjutnya baru bisa di delete.
  • 70.
  • 71. 81. KOMUNIKASIKAN MODEL, VIEW DAN CONTROLLERNYA. MASUK KE CLASS PELANGGANVIEW IMPLEMENT PELANGGANLISTENER NYA, LALU IMPLEMENT ALL ABSTRACT METHODNYA. 82. Isi method onchange, oninsert, ondelete, onupdate seperti berikut
  • 72. 83. Ketika data dalam table diklik, maka harus tampil diinputan. Maka tambahkan implement listselectionlistener dan aksi di konstruktor seperti berikut, 84. Implement abstract method valueChange, lalu isi method seperti berikut,
  • 73. 85. Deklarasikan objek Pelanggan Model & pelanggan controller. Kemudian set listener di model dan set model di controller
  • 74. 86. Buat aksi di tombol reset, update, delete, dan insertnya dengan memanggil method controllernya
  • 75. 87. Buat class frame dengan nama MainViewPelanggan 88. lalu drag pelangganview ke dalam MainViewPelanggan 89. Compile dulu dengan melakukan clean and build 90. Lalu setlayoutnya dengan borderlayout 91. Lalu run project
  • 76. 92. Test button reset 93. Test insert data, cek validasi nama, telepon & email. 94. Lakukan insert data, terjadi problem yaitu id nya menjadi null, cara menghandlenya adalah masuk ke dalam method insert yang ada di class pelangganDaoImpl, lalu masukkan code berikut,
  • 77. 95. Load data dalam table ketika pertama kali program dijalankan 96. Masuk ke dalam MainViewPelanggan lalui Delegate method loadDatabase tersebut. 97. Hapus method main yang ada di MainViewPelanggan, lalu masuk ke class yang ada di package edu.rizkiadam.latihanmvcjdbc.main 98. Jalankan program
  • 78.
  • 80.
  • 83.
  • 84. Akses full source code nya di link ini : https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC Akses video tutorial nya di link ini : TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4 TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc