Mudafiqriyan-MVC DAO Java Desktop

16
Ikatlah Ilmu Dengan Menulisnya Copyright © 2012MudafiqRiyan.Com 1. I I m m p p l l e e m m e e n n t t a a s s i i M M V V C C ( ( M M o o d d e e l l - - V V i i e e w w - - C C o o n n t t r r o o l l l l e e r r ) ) D D e e n n g g a a n n D D A A O O ( ( D D a a t t a a A A c c c c e e s s s s O O b b j j e e c c t t ) ) P P a a d d a a J J a a v v a a D D e e s s k k t t o o p p A A p p p p l l i i c c a a t t i i o o n n Mudafiq R. Pratama [email protected] http://mudafiqriyan.com 1. Dasar Teori MVC merupakan sebuah konsep dalam membangun sebuah aplikasi dengan memisahkan antara data dari tampilan dan aksi pemrosesannya. Model berfungsi sebagai sumber data. View berfungsi sebagai desain interface yang berinteraksi langsung dengan user. Controller berguna sebagai “otak” atau “business logic” yang memproses data yang dilakukan oleh user. Sekilas MVC kelihatannya merepotkan karena kita harus menulis kode lebih banyak tapi keun-tungan-nya adalah kode kita lebih main-tainable karena kita bisa meng-ubah salah satu bagian tanpa harus mengubah bagian yang lain. 2. Peralatan Peralatan yang digunakan penulis: Netbeans 6.9.1 JDK 6 update 24 Database MySQL Lisensi Dokumen: Copyright © 2012 MudafiqRiyan.Com Seluruh dokumen di MudafiqRiyan.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari MudafiqRiyan.Com.

Transcript of Mudafiqriyan-MVC DAO Java Desktop

Page 1: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 1.

IImmpplleemmeennttaassii MMVVCC

((MMooddeell--VViieeww--CCoonnttrroolllleerr)) DDeennggaann

DDAAOO ((DDaattaa AAcccceessss OObbjjeecctt)) PPaaddaa JJaavvaa

DDeesskkttoopp AApppplliiccaattiioonn

Mudafiq R. Pratama [email protected]

http://mudafiqriyan.com

1. Dasar Teori

MVC merupakan sebuah konsep dalam membangun sebuah aplikasi dengan

memisahkan antara data dari tampilan dan aksi pemrosesannya. Model berfungsi

sebagai sumber data. View berfungsi sebagai desain interface yang berinteraksi

langsung dengan user. Controller berguna sebagai “otak” atau “business logic” yang

memproses data yang dilakukan oleh user.

Sekilas MVC kelihatannya merepotkan karena kita harus menulis kode lebih

banyak tapi keun­tungan­nya adalah kode kita lebih main­tainable karena kita bisa

meng­ubah salah satu bagian tanpa harus mengubah bagian yang lain.

2. Peralatan

Peralatan yang digunakan penulis:

Netbeans 6.9.1

JDK 6 update 24

Database MySQL

Lisensi Dokumen: Copyright © 2012 MudafiqRiyan.Com

Seluruh dokumen di MudafiqRiyan.Com dapat digunakan, dimodifikasi dan

disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat

tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang

disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,

kecuali mendapatkan ijin terlebih dahulu dari MudafiqRiyan.Com.

Page 2: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 2.

3. Pembahasan

Pada contoh konsep MVC ini menggunakan studi kasus pembuatan Buku

Telepon dengan database MySQL. Ikuti tahap-demi-tahap dari proses pembuatan Buku

Telepon dengan konsep MVC-DAO dengan fungsi CRUD

(Create-Read-Update-Delete) dan fungsi pencarian.

2.1. Import library MySQL

Klik kanan pada Libraries dari project anda, kemudian pilih “Add Library”

Pilih MySQL JDBC Driver, kemudian tekan tombol “Add Library”. Pada

netbeans telah menyediakan JDBC Driver untuk MySQL, sehingga tidak perlu

meng-import manual menggunakan file .jar.

Page 3: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 3.

Sehingga pada libraries project anda telah tertanam MySQL JDBC Driver,

yang berfungsi sebagai connector Java dan MySQL

2.2. Buatlah package-package untuk model, view, controller, dao, koneksi, dan

main. Yang bertujuan agar lebih terstruktur dalam peng-konsep-an MVC.

Page 4: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 4.

2.3. Membuat Koneksi

Buatlah Java class dengan nama “koneksi.java” dan tempatkan pada package

“koneksi”, kemudian isikan dengan code berikut.

Pada setDatabaseName() merupakan keterangan nama database pada project

BukuTelepon tersebut, yaitu nama databasenya: “buku_telepon”. setUser()

merupakan nama user MySQL yaitu “root”, sedangkan setPassword()

dikosongkan karena MySQL tidak menggunakan password sehingga hanya

ditandai dengan string kosong.

Page 5: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 5.

2.4. Membuat Desain Interface

Buatlah frame desain aplikasi yang ditempatkan pada package “view”

Kemudian tambahkanlah code berikut pada source frame desain tersebut.

Nama seperti txtID, txtNoTelp, buttonInsert, tabelData, dan lain-lain

merupakan nama variabel dari komponen yang ada pada frame tersebut.

Tujuan pembuatan method tersebut, agar komponen di frame dapat dipanggil

dan diterapkan oleh class lain, oleh karena itu dibuat public.

Page 6: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 6.

2.5. Membuat Table Model

Buatlah file “bukutelepon.java” pada package “model” yang berisi method set

dan get

id, nomer, nama, alamat merupakan nama dari attribute yang ada di database.

Fungsi setter and getter tersebut untuk mengambil data dari database dan

memanggilnya, sebagai perantara penyaluran data.

Page 7: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 7.

Kemudian buatlah file “tableModelBukuTelepon.java” pada package “model”

dan isikan dengan code berikut:

Tabel model berguna untuk mengambil data dari database yang akan

ditampilkan pada JTable yang ada di Frame. Data disimpan dalam List. Yang

kemudian dapat dipanggil untuk ditampilkan di JTable.

Page 8: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 8.

2.6. Membuat Fungsi DAO

Data Access Object (DAO) merupakan sebuah object yang menyediakan

sebuah abstract interface terhadap beberapa database atau mekanisme

persistence, menyediakan beberapa operasi tertentu tanpa mengekspos detail

database. Penerapan konsep ini sering disebut dengan separation of

concern dimana setiap kode dipisahkan berdasarkan fungsinya sehingga kode

diatasnya hanya perlu mengetahui secara abstrak cara mengakses data tanpa

perlu mengetahui bagaimana akses ke sumber data diimplementasikan. DAO

sering dikaitkan dengan Java EE dan akses ke relational database melalu

JDBC API, karena memang DAO berasal dari pedoman praktek Sun

Microsystem. Kebanyakan peggunaan DAO adalah satu objek DAO untuk

satu objek entity.

Buatlah Class Interface dengan nama “implementBukuTelepon.java” yang

diletakkan pada package “dao”. Kemudian isikan code berikut:

Terdapat method-method insert, update, delete, dan getALL(), getCarinama().

Method pada class interface digunakan sebagai method inti yang wajib

dideklarasikan oleh subclass yang meng-implement class interface tersebut.

Page 9: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 9.

Buatlah class “daoBukuTelepon.java” pada package “dao” dan isikan dengan

code berikut untuk menampilkan data:

Import beberapa api yang dibutuhkan untuk class dao tersebut.

Class “daoBukuTelepon” meng-implements class interface “implementBukuTelepon”.

Kemudian mendeklarasikan query insert, update, delete, dan select. Constructor

daoBukuTelepon() berisi koneksi database.

Page 10: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 10.

Fungsi untuk insert data ke dalam database.

Fungsi untuk update data ke dalam database

Page 11: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 11.

Fungsi delete data dari database

Fungsi menampilkan data ke tabel

Page 12: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 12.

Fungsi menampilkan data ke tabel berdasarkan pencarian

Page 13: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 13.

2.7. Membuat Controller

Page 14: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 14.

Method-method yang ada di class controller berfungsi sebagai pengendali atau

pemroses data ke frame. Fungsi-fungsi tersebut nantinya akan dipanggil ke

frame atau view. Method isiTable() berfungsi untuk menampilkan data ke

jTable yang ada di frame. isiField() memberikan fungsi menempatkan data

yang dipilih oleh user berdasarkan dari tabel. insert() untuk input data ke

database. update() untuk mengubah data. delete() untuk menghapus data.

isiTableCariNama() menampilkan data ke tabel berdasarkan pencarian user.

carinama() memberikan fungsi pada tombol pencarian.

2.8. Edit Source Desain Frame

Dengan memanggil object controller, kemudian memanggil isi fungsi dari

controller, maka ketika frame di run, maka akan meng-eksekusi fungsi dari

isiTable().

Kemudian beri action atau event handling dari komponen button dan jtabel

Page 15: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 15.

2.9. Fungsi Main

Pada package main, buatlah class “Main.java” yang difungsikan sebagai run

active class.

Sehingga ketika class ini di run, maka yang akan dieksekusi adalah class

FrameTelepon(). Dan pada class “Main” inilah anda bisa memberikan look

and feel.

2.10. Run Main Project

=0=0=0=0=0=0=0=0= Selamat Mencoba =0=0=0=0=0=0=0=0=

Page 16: Mudafiqriyan-MVC DAO Java Desktop

Ikatlah Ilmu Dengan Menulisnya

Copyright © 2012MudafiqRiyan.Com 16.

Biografi Penulis

Mudafiq Riyan Pratama. Adalah seorang anak laki-laki dari

Nurkholis (bapak) dan Susriyanti (ibu) ini terlahir di Jember

pada tanggal 9 Mei 1989. Mengawali pendidikan TK dan SD

di Jenggawah, Jember. Kemudian menempuh SMP di SMPN

6 Jember, yang kemudian dilanjutkan ke SMAN 2 Jember.

Kuliah S1 di Universitas Muhammadiyah Malang dengan

mengambil jurusan Teknik Informatika. Saat itulah penulis

mengawali masuk ke dunia informatika yang sebelumnya

tidak pernah tau tentang dunia tersebut. Saat itulah

ketertarikan dengan informatika makin membesar. Penulis mulai meniti karir di bidang

IT sebagai programmer freelance. Hingga akhirnya saat ini beliau berkarir sebagai

tenaga pengajar (dosen) di Universitas Muhammadiyah Jember.