DAO design pattern diimplementasi dengan beberapa langkah, yaitu :

dokumen-dokumen yang mirip
IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN

Pengenalan APLIKASI DATABASE

TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)

1. Buka kembali project yang telah dibuat pada latihan 2 (project akademik)

Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE

Koneksi Java GUI-Database

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

3. Atur agar Layout dari FormDataMahasiswa menjadi BorderLayout

- Menuliskan business logic dari aplikasi untuk mengakses data source

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56

STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO

- Menuliskan business logic dari aplikasi untuk mengakses data source

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

1. Silahkan anda buka project dari modul 4 anda yang sudah anda selesaikan 2. Tambahkan 1 buah view dengan nama FormMain

KONEKSI NETBEANS DENGAN DATABASE SQLITE

visit :

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Pemrograman Database Java

1. Buat tampilan menggunakan seperti ini dan simpan dalam class MainFrame.java

KONEKSI KE DATABASE DENGAN JDBC

Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC)

JAVA non OOP/IMW/PAGI. 1. Buat Database dengan Ms.Access dengan nama database perpustakaan.mdb 2. Buat tabel barang dengan struktur sbb:

Firma Firmansyah Adi B. Resume Web Service

Tutorial Java Desktop 3 Melakukan Pengambilan data pada JavaDB

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

uri=" prefix="logic"%>

Java Database Connectivity (JDBC)

Mudafiq R. Pratama

FAKULTAS TEKNOLOGI INFORMASI UNISKA. Modul NetBeans 8.1. Disusun oleh: Mirza Yogy Kurniawan. Modul Praktek NetBeans 8.1 Studi Kasus Perpustakaan

Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran

Langkah-Langkah Pemrograman JDBC MENGIMPOR PACKAGE JAVA.SQL MEMANGGIL DRIVER JDBC

Java Database Connectivity (JDBC) (Minggu 5 Praktikum II)

Tutorial Java Desktop 4 Menampilkan Data dengan Form TextField

BAB II MICROSOFT VISUAL STUDIO

Mudafiq R. Pratama

TABEL. Tabel Halaman 25

IMPLEMENTASI PEMROGRAMAN VISUAL BASIC DENGAN DATABASE ACCESS

MODUL I PENGENALAN MYSQL

Menampilkan Data/Tabel MySQL di Ms.Access

Praktikum 6a Melakukan koneksi dengan basis data

Tahap Instalasi PostgreSQL di Windows

KONEKSI KE DATABASE DENGAN JDBC 2

E-trik Ajax. Database MySQL. Dedi Alnas

IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.

Disini kita akan bahas cara koneksi antara Database MySQL dengan VB.Net 2010, semoga dengan ini E-book ini bisa ingat sepanjang jaman ya ^ ^

AKSES DATABASE MENGGUNAKAN JDBC

Manipulasi Database Dengan Netbeans

TUGAS FRAMEWORK 2 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA MOCHAMMAD ANNAS FAHRUDIN

Mengatur MDI Child dalam jendela MDI Form Membuat Garis Pemisah antar Menu Melakukan Koding terhadap Menu

Mengkoneksikan Java Netbeans dengan Database di MySQL via XAMPP

Isi Data Source Name seperti gambar diatas: Kemudian pilih database dengan meng klik tombol select, tampil seperti gambar diatas:

Koneksi Java ke MySQL Database. Edi Sugiarto, S.Kom, M.Kom

d. Primary Key Primary key atau unique key adalah suatu nilai di basis data yang digunakan untuk mengidentifikasi keunikan baris-baris di dalam tabel.

Lampiran Utama. a. Struktur Organisasi. Factory Manager. Vice Factory Manager. Non Produksi. Produksi. Dept. Power. Dept Greyee. Dept.

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

MODUL PRAKTIKUM KE 9

BAB 10 NETBEANS DATABASE

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

P10 Database SQL Server 2008

MEMBUAT LAPORAN DI JAVA DENGAN MENGGUNAKAN IREPORT

MODUL 4 INTERNET PROGRAMMING DATABASE

SMK BHAKTI NUSANTARA BOJA

ADODC. Gambar 5.1. ADODC

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

Menginstall MYSQL SERVER 5.6 pada Windows 8. Sebelum nya download sql offline installer pada link ini (windows 8 32 bit Support)

Pembuatan Report menggunakan JasperReports dan ireport

Koneksi Visual Basic, MySQL (ODBC) dan Crystal Report

Masukkan connector tersebut ke dalam direktori pada tempat jdk di-instal dengan path

Tutorial Java Desktop 1 Membuat Database dengan JavaDB bawaan Netbeans

Crystal Reports (Bagian 2)

MODUL PRAKTIKUM 03 MENGENAL MEMBUAT TABEL

Arsitektur Aplikasi Perangkat Enterprise JDBC. Antonius Rachmat C, S.Kom, M.Cs

Cara Mudah Membuat Aplikasi Windows dengan Microsoft Visual C++

LAPORAN MATA KULIAH PERANCANGAN SISTEM BERBASIS JAVA

MEMBUAT BASIS DATA DAN TABEL, DAN MENGISI DATA PADA POSTGRESQL

INSTALLATION CHECKING


TUGAS UTS PEMROGRAMAN JAVA

TUGAS AKHIR PEMOGRAMAN VISUAL APLIKASI PETERNAKAN AYAM BERBASIS JAVA DI PETERNAKAN AYAM MANDIRI

1. LifeLine Sequence Diagram dibuat dengan banyak lifeline. Setiap lifeline mendapatkan tempat sendiri sendiri. Beberapa jenis lifeline antara lain

Koneksi Sederhana Database dengan C# (Lihat, Tambah, dan Hapus Data)

Bab Hasil Pembuatan Aplikasi

Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Gambar 4.1 Gambar Use Case Diagram

Merancang Project. Form Module Class Module Report. Form 1, Form 2, Minimarket (NamaProject) Gambar 4.1 Flowchart Project Sistem Informasi Minimarket

BAB IV HASIL DAN PEMBAHASAN

Membuat Aplikasi Database dengan Netbeans

PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN DB Designer PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN MYSQL

Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5)

Koneksi Database BAB 1

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

A. Cara Membuat Database & Table di MySQL Server

Gambar ini menunjukkan informasi pemilihan folder untuk melakukan instalasi software XAMPP.

MODUL 8 Mengoperasikan Perangkat Lunak Basis Data

Transkripsi:

MODUL 3 IMPLEMENTASI DAO Teori Singkat DAO merupakan design pattern berkaitan dengan database access. DAO memisahkan persistence logic dari business atau presentation logic. DAO merupakan representasi fisik dan relasi antara object dari database. DAO design pattern diimplementasi dengan beberapa langkah, yaitu : - Mendefinisikan interface DAO - Menulis implementasi dari interface DAO - Menuliskan business logic dari aplikasi untuk mengakses data source Latihan 3 A. Database Disini kita akan menggunakan database MySQL. Ikuti langkah berikut 1. Jalankan XAMPP Control Panel 2. Pastikan MySql pada komputer anda statusnya sudah running, apabila belum tekan tombol Start Apabila statusnya tidak dapat berubah menjadi running, silahkan tanyakan ke Asisten

3. Buka netbeans anda 4. Pilih menu Window Services atau klik Services di dekat Projects, pastikan anda mendapatkan tampilan seperti berikut ini 5. Klik kanan pada Databases Register MySQL Server 6. Setelah muncul window berikut, pastikan isi dari textfield sama dengan gambar, beri tanda check pada Save Password kemudian klik OK

7. Maka anda akan mendapatkan database baru pada Tree Databases anda seperti gambar berikut 8. Klik kanan seperti gambar kemudian pilih Connect sesudah itu klik Refresh 9. Anda akan mendapatkan database pada Tree Databases anda, klik kanan seperti pada gambar kemudian pilih Create Database 10. Pada new Database name beri nama akademik kemudian OK

11. Anda akan mendapatkan node ke database yang baru saja anda buat 12. Pilih database akademik, klik kanan pada Tables kemudian pilih Create Table 13. Maka akan muncul window berikut 14. Pada Table name beri nama Mahasiswa 15. Klik Add column untuk menambahkan kolom

16. Atur agar tabel mahasiswa, kolom dan properti dari kolom sama dengan tabel dibawah ini Name Type Size Primary Key Unique Null nim char 10 check check Uncheck nama varchar 150 uncheck uncheck Uncheck kelas char 1 uncheck uncheck check jurusan varchar 100 uncheck uncheck check jenis_kelamin bit uncheck uncheck check 17. Apabila anda sudah menambahkan semua kolom, klik OK, maka anda akan mendapatkan tampilan sebagai berikut 18. Klik kanan pada tabel Mahasiswa View Data

19. Klik pada icon seperti gambar 20. Tambahkan seperti data di gambar Apabila sudah maka klik OK B. Aplikasi Pada latihan ini kita akan menggunakan latihan pada modul 2 untuk menggambarkan penggunaan konsep MVC dan konsep DAO. 1. Buka project latihan2 melalui File Open Project 2. Tambahkan paket dao yang merupakan subpaket dari paket latihan2

3. Buatlah 1 buah interface dengan nama DaoMahasiswa.java di paket dao 4. Tambahkan library JDBC MySQL untuk koneksi ke database MySQL, dengan cara klik kanan libraries Add Library 5. Apabila muncul tampilan berikut, klik Import

6. Silahkan anda cari MySQL JDBC Driver kemudian klik Import Library 7. Setelah itu klik AddLibrary 8. Maka anda akan memiliki tampilan seperti berikut

9. Buatlah 1 buah kelas dengan nama DaoFactory.java di paket dao 10. Pada kelas DaoFactory.java, tambahkan kode program yang dicetak tebal, kode program tersebut adalah kode program yang digunakan untuk mengkonfigurasi koneksi. Kode program ini juga memastikan bahwa selama program berjalan hanya terdapat 1 buah koneksi ke database dan 1 buah objek daofactory, tidak lebih. public class DaoFactory { private static DaoFactory daofactory; public static DaoFactory create() { if (daofactory == null) { daofactory = new DaoFactory(); return daofactory; private Connection connection; private DaoFactory() { try { //tentukan driver jdbc yang digunakan Class.forName("com.mysql.jdbc.Driver"); //tentukan koneksi url yang digunakan String url = "jdbc:mysql://localhost:3306/akademik"; //buat objek koneksi connection = DriverManager.getConnection(url, "root", ""); catch (SQLException ex) { Logger.getLogger(DaoFactory.class.getName()).log(Level.SEVERE, null, ex); catch (ClassNotFoundException ex) { Logger.getLogger(DaoFactory.class.getName()).log(Level.SEVERE, null, ex); 11. 12. Apabila anda sulit memahami kata kata pada nomor 11 yang dicetak hijau, jangan anda hiraukan kode program yang dicetak hijau tersebut, yang perlu anda ingat dan paling penting adalah kode program yang tadi anda tulis itu akan membuat koneksi ke database MySQL dengan alamat server di localhost, port 3306, database akademik, user root dan password kosong.

13. Tambahkan import berikut import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; import java.util.logging.level; import java.util.logging.logger; 14. Pada kelas DaoMahasiswa, tambahkan kode program yang dicetak tebal public interface DaoMahasiswa { public int insertmahasiswa(mhs mhs); public boolean deletemahasiswa(mhs mhs); public Mhs findbyid(string id); public boolean updatemahasiswa(mhs mhs); public Mhs[] getallmahasiswa(); 15. Buatlah kelas pada paket dao dengan nama MahasiswaImpl 16. Tambahkan kode program yang dicetak tebal public class MahasiswaImpl implements DaoMahasiswa { 17. Ketika muncul seperti gambar berikut, klik pada gambar yang dipanah kemudian pilih Implements all abstract methods 18. Tambahkan import berikut import java.sql.connection; import java.sql.resultset; import java.sql.sqlexception; import java.util.arraylist; import java.util.list; import java.util.logging.level; import java.util.logging.logger; import latihan2.model.mhs;

19. Tambahkan kode program yang ditebali public class MahasiswaImpl implements DaoMahasiswa { private Connection c; protected MahasiswaImpl(Connection c) { this.c = c; public int insertmahasiswa(mhs mhs) { throw new UnsupportedOperationException("Not supported yet."); public boolean deletemahasiswa(mhs mhs) { throw new UnsupportedOperationException("Not supported yet."); public Mhs findbyid(string id) { throw new UnsupportedOperationException("Not supported yet."); public boolean updatemahasiswa(mhs mhs) { throw new UnsupportedOperationException("Not supported yet."); public Mhs[] getallmahasiswa() { throw new UnsupportedOperationException("Not supported yet."); 20. Cari method findbyid yang memiliki parameter id dengan tipe String, kemudian tambahkan kode program yang ditebali public Mhs findbyid(string id) { Mhs mahasiswa = null; String sql = "select nim,nama,kelas,jurusan,jenis_kelamin from mahasiswa "; sql += " where nim='" + id + "'"; try { ResultSet rs = c.createstatement().executequery(sql); if (rs.next()) { mahasiswa = new Mhs(rs.getString("nim"), rs.getstring("nama")); mahasiswa.setkelas(rs.getstring("kelas")); mahasiswa.setjurusan(rs.getstring("jurusan")); mahasiswa.setjeniskelamin(rs.getboolean("jenis_kelamin")); catch (SQLException ex) { Logger.getLogger(MahasiswaImpl.class.getName()).log(Level.SEVERE, null, ex); return mahasiswa;

21. Cari method updatemahasiswa yang memiliki parameter mhs dengan tipe Mhs, kemudian tambahkan kode program yang ditebali public boolean updatemahasiswa(mhs mhs) { String sql = "update mahasiswa set "; sql += "nama='" + mhs.getnama() + "',kelas='" + mhs.getkelas() + "',"; sql += "jurusan='" + mhs.getjurusan() + "',"; if (mhs.getjeniskelamin()) { sql += "jenis_kelamin=1 "; else { sql += "jenis_kelamin=0 "; sql += "where nim='" + mhs.getnim() + "'"; try { c.createstatement().executeupdate(sql); return true; catch (SQLException ex) { Logger.getLogger(MahasiswaImpl.class.getName()).log(Level.SEVERE, null, ex); return false; 1. Cari method getallmahasiswa yang tidak memiliki parameter, kemudian tambahkan kode program yang ditebali public Mhs[] getallmahasiswa() { List<Mhs> lstmhs = new ArrayList<Mhs>(); String sql = "select nim,nama,kelas,jurusan,jenis_kelamin from mahasiswa "; try { ResultSet rs = c.createstatement().executequery(sql); while (rs.next()) { Mhs mahasiswa = new Mhs(rs.getString("nim"), rs.getstring("nama")); mahasiswa.setkelas(rs.getstring("kelas")); mahasiswa.setjurusan(rs.getstring("jurusan")); mahasiswa.setjeniskelamin(rs.getboolean("jenis_kelamin")); lstmhs.add(mahasiswa); catch (SQLException ex) { Logger.getLogger(MahasiswaImpl.class.getName()).log(Level.SEVERE, null, ex); return lstmhs.toarray(new Mhs[lstMhs.size()]);

2. Tambahkan kode program yang ditebali di kelas DaoFactory.java private DaoFactory() { try { //tentukan driver jdbc yang digunakan Class.forName("com.mysql.jdbc.Driver"); //tentukan koneksi url yang digunakan String url = "jdbc:mysql://localhost:3306/akademik"; //buat objek koneksi connection = DriverManager.getConnection(url, "root", ""); catch (SQLException ex) { Logger.getLogger(DaoFactory.class.getName()).log(Level.SEVERE, null, ex); catch (ClassNotFoundException ex) { Logger.getLogger(DaoFactory.class.getName()).log(Level.SEVERE, null, ex); private MahasiswaImpl mahasiswaimpl; public MahasiswaImpl getmahasiswadao() { if (mahasiswaimpl == null) { mahasiswaimpl = new MahasiswaImpl(connection); return mahasiswaimpl; 3. Tambahkan kode program yang dicetak tebal pada FormMhs.java public JTextField gettxtnim() { return txtnim; public void refresh(mhs mhs) { txtnim.settext(mhs.getnim()); txtnama.settext(mhs.getnama()); txtjurusan.settext(mhs.getjurusan()); txtkelas.settext(mhs.getkelas()); rblakilaki.setselected(mhs.getjeniskelamin()); 4. Deklarasikan objek mahasiswaimpl menjadi field dari kelas MhsController.java private MahasiswaImpl mahasiswaimpl;

5. Ubah agar konstruktor dari kelas MhsController.java anda sama dengan kode program berikut public MhsController(FormDokumenMhs formdokumenmhs, FormMhs formmhs) { this.formdokumenmhs = formdokumenmhs; this.formmhs = formmhs; mahasiswaimpl = DaoFactory.create().getMahasiswaDao(); // mhs = new Mhs("10.10.1010", "Testing"); mhs = mahasiswaimpl.findbyid("10.10.1010"); formdokumenmhs.refresh(mhs); formmhs.refresh(mhs); 6. Tambahkan kode program yang ditebali pada method updatemhs yang terdapat di kelas MhsController.java public void updatemhs() { mhs.setnim(formmhs.gettxtnim().gettext()); mhs.setnama(formmhs.gettxtnama().gettext()); mhs.setjurusan(formmhs.gettxtjurusan().gettext()); mhs.setjeniskelamin(formmhs.getrblakilaki().isselected()); mhs.setkelas(formmhs.gettxtkelas().gettext()); if (mahasiswaimpl.updatemahasiswa(mhs)) { formdokumenmhs.refresh(mhs); 7. Jalankan program anda, semoga tidak ada error