Materi yang ada pada slide ini berisi :
TEORI :
APA ITU JDBC
APA ITU API
GAMBARAN DB API
ARSITEKTUR JDBC
JDBC INTERFACE CLASS
PRAKTIK :
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
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
DDL
DML
LATIHAN
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
DEFINISI GUI
SWING
HIRARKI JAVA SWING CLASS
KOMPONEN SWING
CONTAINER CLASS
JAVA LAYOUT MANAGER
JAVA SWING COMPONENT
DRAG N DROP
TUGAS INDIVIDU
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Praktek – Method, String & Array
Hackanton materi kemarin 15 menit
Apa itu Method?
Method tanpa nilai balik (Teori & Praktik)
Method dengan nilai balik (Teori & Praktik)
Fungsi String
Array Sederhana (Teori & Praktik)
Array Dua dimensi (Teori & Praktik)
Latihan 2 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
DDL
DML
LATIHAN
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
DEFINISI GUI
SWING
HIRARKI JAVA SWING CLASS
KOMPONEN SWING
CONTAINER CLASS
JAVA LAYOUT MANAGER
JAVA SWING COMPONENT
DRAG N DROP
TUGAS INDIVIDU
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Praktek – Method, String & Array
Hackanton materi kemarin 15 menit
Apa itu Method?
Method tanpa nilai balik (Teori & Praktik)
Method dengan nilai balik (Teori & Praktik)
Fungsi String
Array Sederhana (Teori & Praktik)
Array Dua dimensi (Teori & Praktik)
Latihan 2 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupIbrahim Naki
Perintah di atas perintah groupadd <nama> adalah perintah untuk membuat sebuah group, yang kemudian akan di beri user-user. Sedangkan untuk mengetahui apakan group tersebut telah selesai di buat, maka kita bisa lihat dengan menggunakan perintah cat /etc/group
Materi yang ada pada slide ini berisi :
Apa itu java?
Teknologi Java
Tools Java
Instalasi Java
Tipe data dasar dijava
Aturan penamaan di java
Pengaturan tampilan isi variabel
Operator di java
Latihan Pertemuan 1 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Definisi Interface
Perbedaan interface dengan class
Format interface
Perancangan
Studi Kasus
Multiple interface
Latihan 6 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Pengenalan pemrograman berbasis OO
Teori enkapsulasi
Teori pewarisan
Teori polimorpisme
Praktik implementasi kelas di java
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Netbeans Theme
Package (Teori & Praktik)
Implementasi Enkapsulasi & instansiasi Objek (Teori & Praktik)
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Modul untuk Praktikum Pengolahan Database di Java dengan menggunakan konsep OOP Mata Pelajaran Pemrograman Internet dengan Java-JSP SMK Telkom Sandhy Putra Malang
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Debby Ummul
Modul ini berisi materi praktikum tentang pembuatan aplikasi CRUD perpustakaan. Sebenarnya ini adalah edisi revisi dari modul sebelumnya yaitu Chapter 11. hehe....
Bahasa yang digunakan masih sama yaitu menggunakan bahasa Java
LAPORAN 15 SISTEM OPERASI Manajemen User dan GroupIbrahim Naki
Perintah di atas perintah groupadd <nama> adalah perintah untuk membuat sebuah group, yang kemudian akan di beri user-user. Sedangkan untuk mengetahui apakan group tersebut telah selesai di buat, maka kita bisa lihat dengan menggunakan perintah cat /etc/group
Materi yang ada pada slide ini berisi :
Apa itu java?
Teknologi Java
Tools Java
Instalasi Java
Tipe data dasar dijava
Aturan penamaan di java
Pengaturan tampilan isi variabel
Operator di java
Latihan Pertemuan 1 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Definisi Interface
Perbedaan interface dengan class
Format interface
Perancangan
Studi Kasus
Multiple interface
Latihan 6 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Pengenalan pemrograman berbasis OO
Teori enkapsulasi
Teori pewarisan
Teori polimorpisme
Praktik implementasi kelas di java
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Netbeans Theme
Package (Teori & Praktik)
Implementasi Enkapsulasi & instansiasi Objek (Teori & Praktik)
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Modul untuk Praktikum Pengolahan Database di Java dengan menggunakan konsep OOP Mata Pelajaran Pemrograman Internet dengan Java-JSP SMK Telkom Sandhy Putra Malang
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Debby Ummul
Modul ini berisi materi praktikum tentang pembuatan aplikasi CRUD perpustakaan. Sebenarnya ini adalah edisi revisi dari modul sebelumnya yaitu Chapter 11. hehe....
Bahasa yang digunakan masih sama yaitu menggunakan bahasa Java
ADO merupakan singkatan dari Active X Data Object yang dipakai untuk mengaskes data dalam suatu database seperti SQL Server, MS Access, Oracle ataupu file seperti file MS Excel. Didalam teknologi.NET, ADO classic berkembang menjadi ADO.NET dengan beberapa perubahan seperti perubahan object recordset dalam ADO menjadi beberpa object dalam ADO.NET dan lainnya . Ado.Net merupakan teknologi pengaksesan data universal yang terbaru berdasarkan prinsip tanpa koneksi yang dirancang untuk memprmudah batasan koneksi,ketika kita membuat aplikasi terdistribusi,aplikasi hanya terhubung kedatabase beberapa saat guna mengakse atau mengupdate data yang ada di server,lalu diputus. Akses Data di ADO.NET bergantung pada dua komponen: Penyedia DataSet dan Data.Dataset adalah, diputus dalam memori representasi data. Hal ini dapat dianggap sebagai salinan lokal dari bagian yang relevan dari database. DataSet adalah bertahan dalam memori dan data di dalamnya dapat dimanipulasi dan diperbarui independen dari database. Ketika penggunaan DataSet ini selesai, perubahan dapat dilakukan kembali ke pusat database untuk memperbarui. Data dalam DataSet dapat dimuat dari sumber data yang valid seperti database server Microsoft SQL, Oracle atau database dari database Microsoft Access
MVC J2EE Using Servlet merupakan tugas kuliah untuk mata kuliah OOP (Object Oriented Programming). Aplikasi ini menghasilkan sebuah aplikasi yang dijalankan melalui browser.
ADO.NET adalah teknologi akses data dari Microsoft .Net Framework. Yang menyediakan komunikasi antara sistem relasional dan non-relasional melalui seperangkat komponen. ADO.NET terdiri dari serangkaian Objek yang mengekspos layanan akses data ke lingkungan NET. ADO.NET dibangun untuk arsitektur terputus, sehingga memungkinkan benar-benar terputus dengan sumber data dapat dilakukan manipulasi melalui Objek Dataset, yang benar-benar independen dari Sumber Data(database). Dua komponen kunci dari ADO.NET adalah Data Providers dan DataSet. Di dalam .Net Framework terdapat tiga Penyedia untuk Akses Data. Yaitu Microsoft SQL Server Data Provider, OLEDB Data Provider dan ODBC Data Providers. SQL Server menggunakan obyek SqlConnection, OLEDB menggunakan Objek OleDbConnection dan ODBC menggunakan OdbcConnection.
Materi yang ada pada slide ini berisi :
1.Why project fail
2.Boss vs Leader
3.Management SDM Proyek
4.Conflict Management
5.Hippocrates Galenus
6.DISC Model
7.PERMA Model
8.GAMES
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Background testing
Issue
Testing technique
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Asumsi & Validasi
Lingkup Growth Hacking
Engine of Growth #1: Stickiness / Retention
Engine of Growth #2: Viralty
Engine of Growth #3: Paid Acquisition
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan Umum Bisnis Model
Bisnis Model Canvas
Komponen Pada Model Bisnis Canvas
Revenue Model
Market Analysis
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Deployment Diagram
Notasi, Semantik dan Stereotype pada Deployment Diagram
Contoh Kasus Deployment Diagram
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Package Diagram
Notasi, Semantik dan Stereotype pada Packages Diagram
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan Umum Sequence Diagram
Penjelasan Notasi, Semantic, dan Stereotype Umum Sequence Diagram
Konsep Time
Konsep Events, Sinyal, dan Pesan
Konsep Activation Bars
Konsep Nested Message
Hubungan Use Case Diagram, Kelas Diagram, dan Sequence Diagram
Konsep Sequence Fragment
Studi Kasus
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan Umum Relasi Kelas
Penjelasan Derajat Relasi Kelas
Konsep dan Simulasi Relasi Kelas Dependency
Konsep dan Simulasi Relasi Kelas Association
Konsep dan Simulasi Relasi Kelas Aggregation
Konsep dan Simulasi Relasi Kelas Composition
Konsep Relasi Kelas Generalisasi (Inheritance)
Penjelasan Konsep MVC
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Class Diagram
Hubungan OOAD dengan OOP
Konsep Objek dan Kelas
Konsep dan Simulasi Enkapsulasi
Konsep dan Simulasi Pewarisan
Konsep dan Simulasi Polimorphisme
Penjelasan Konsep Abstraksi Pada OOAD dan OOP
Penjelasan Konsep Generic
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Error & Exception
Penanganan Exception
Penanganan Exception satu catch
Penanganan Exception banyak catch
Penanganan Exception finally
Membuat Exception Sendiri
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Apa itu generic programming
Konsep tipe object
Konsep Tag generic<E>
Collection
Iterator
Arraylist
LinkedList
Stack
PriorityQueue
HashMap
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Android version
Platform architecture
App Component
Kotlin
Struktur Project
Activity Lifecycle
Melempar Nilai
Layouting LinearLayout
Layouting RelativeLayout
Look And Feel
Custom Buttom
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
What is design sprint?
Sprint master
Sprint planning
Design Sprint method teory
Monday : Understand & Define
Tuesday : Diverge
Wednesday : Decide
Thursday : Prototype
Friday : Validate
Case Study
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
PERKENALAN & INSTALASI XAMPP
ABSTRAKSI DATA
TYPE DATA
KELOMPOK PERNYATAAN MYSQL
DDL
DML
LATIHAN
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Idea Validation
Product Documentation
Team Management
User Interface & Social Media
Asset & Warna
Tools Design
Usability Test Design
Coding Java Desktop
Coding Java Web
Coding Java Android
Evaluasi & Maintain Software
Pengembangan Bisnis Software
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan umum activity diagram
Notasi & semantic
Starting activity
Activity & action
Activity frame
Decisions & merge
Fork & join
Time event
Activity partition (swimlanes)
Subactivity
Objects
Signalconnector
Expansion regions
Interrupt
Ending activity
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Review OOP Concept
Latar belakang adanya abstrak
Definisi Kelas Abstrak
Format sintaks
Menurunkan kelas abstract
Method abstrak
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Implementasi Polimorphism
Overloading method VS Overriding Method
Ad Hoc & Subtyping Polimorphism
Latihan 5 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Inheritance (Pewarisan)
Hak akses protected
Override Method
Override Constructor
Kata kunci super
Kata kunci final
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Implementasi Konstruktor dan Destruktor
Overloading method
Latihan 4 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
[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
10. • ResultSet executeQuery()
• For SQL selects
• int executeUpdate()
• For Update,Delete,Insert and Create etc.
• boolean execute()
• For either type
• Returns resultSetisAvailable
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.
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
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.
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
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