Skip to content Skip to sidebar Skip to footer

OOP Patern DAO Pada Bahasa Pemrograman Java

OOP Patern DAO Pada Bahasa Pemrograman Java


Assalamu'alaikum wr.wb
Bahasa pemrograman java, memiliki karakteristik tersendiri dalam OOP. Java sendiri memang sudah dibuat khusus untuk OOP sehingga banyak peminat java di seluruh penjuru dunia ini. Dalam hal in, java sudah terkenal denga patern OOPnya. yaitu DAO (Data Access Object). Mungkin beberapa ada yang lebih menggunakan MVC(Model View Controller). Namun yang akan saya bahas saat ini adalah DAO. Meski nantinya akan ada sedikit tambahan mengenai MVC.

Sebagai saran. Untuk mempelajari DAO, sebaiknya kita memahami terlebih dahulu tentang OOP. Apabila ingin memahami OOP, bisa dilihat di artikel yang berjudul Pengertian, Konsep, dan contoh program OOP pada Java. Di artikel tersebut, dibahas mengenai OOP dan beberapa konsep dasar disertai contoh program. Semoga artikel tersebut bermanfaat.




Baca Juga


Pada umumnya, DAO digunakan untuk aplikasi berbasis database. Artinya aplikasi tersebut berfungsi untuk menyimpan data di database. Maka dari itu, DAO sendiri digunakan oleh programmer - programmer di dunia untuk membuat aplikasi dengan tujuan kemanan dan kemudahan. Berikut ini merupakan penjelasan tentang DAO


Pengertian DAO

DAO adalah sebuah object yang menyediakan interface yang abstrak dimana ditujukan untuk aplikasi yang berhubungan dengan database atau mekanisme dalam presistence. DAO menyediakan beberapa operasi yang spesifik tanpa memaparkan rincian database, dan memberikan pemetaan pada aplikasi database. Pola desain ini sangat banyak diterapkan pada bahasa pemrograman Java.

DAO menawarkan perangkat tambahan yang baik dalam proses pengembangan perangkat lunak. Dengan memakai pola ini dapat memberikan ketahanan yang baik kepada aplikasi kita dan menambah fleksibelitas terhadap perubahan. Keuntungan menggunakan DAO adalah relatif sederhana dan memisahkan proses yang terjadi pada aplikasi. Sehingga kode pada aplikasi menjadi lebih terstruktur dan mudah dipahami apabila terjadi kesalahan. Dimana perubahan yang terjadi pada persitence logic tidak akan mempengaruhi DAO yang terdapat pada klien selama interface didefinisikan dengan benar. DAO dapat di implementasikan pada berbagai macam framework seperti hibernet, JPA, dll.


Keuntungan menggunakan DAO

Data Access Object (DAO) memiliki keuntungan apabila kita sebagai programmer menerapkannya pada project yang kita buat. Keuntungan menggunakan DAO antara lain adalah sebagai berikut :
  1. sesuatu yang esensi untuk memecahkan program menjadi kelas-kelas kecil dimana masing-masing kelas tersebut saling berinteraksi denga kelas yang lainnya melalui Interface yang terdefinisi dengan benar. 
  2. Dengan menggunakan metode ini, kesalahan di suatu bagian program dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian lainya, serta bagian program dapat dipahami tanpa harus memahami keseluruhan. 
  3. Dengan menggunakan DAO kita dapat fokus pada pengorganisasian program sebagai kumpulan kelas yang terdefinisi dengan bagus. 
  4. DAO berhubungan dengan pengabstraksian. masing-masing kelas berkorespondensi dengan satu abstraksi dan hanya satu-satunya. 
  5. Dengan menggunakan DAO, kita dapat membangun aplikasi yang komplek menjadi sederhana. Seperti yang dikatakan oleh Myers : "Suatu aksi mempartisi program menjadi komponen-komponen individual dapat mereduksi kompleksitas".


Konsep DAO Pada Java

DAO memiliki konsep tersendiri yang mana konsep tersebut sangat cocok digunakan pada bahasa pemrograman java. Hal ini dikarenakan saat ini java sudah memberikan framework - framework yang memperkuat dan melancarkan DAO ini. DAO memiliki konsep dasar sebagai pedoman utama dalam pembuatan OOP patern ini. Berikut adalah konsep dasar DAO pada bahasa pemrograman Java :
  1. Entitas = Class encapsulation yang berfungsi untuk menampung variabel - variabel yang nantinya dapat diakses oleh class lain.
  2. Interface = Prototype atau template dari sebuat class, dalam hal ini bisa disebut class abstrak.
  3. Implement = Class implementasi atau pendeklarasian dari interface
  4. Factory = pemisah proses pembuatan sebuat object dari object lain.
  5. View = Tampilan output program. Dalam hal ini adalah form.

Itulah beberapa konsep DAO yang harus dipahami. DAO merupakan OOP, sementara OOP sendiri bersifat melempar data dari satu class ke class lain. artinya kelima konsep tersebut nantinya saling berhubungan. Sehingga tidak akan jalan jika salah satunya saja terdapat error program ataupun error logic. Mungkin cukup menyusahkan. Tapi Dengan begitu program akan lebih aman dan lebih teratur.

Oke langsung saja kita mulai tutorial programnya, Berikut ini merupakan tutorial OOP dengan patern DAO menggunakan bahasa pemrograman Java. Dan jangan lupa untuk membuat Class koneksi terlebih dahulu. Anda bisa lihat class koneksi di artikel saya yang berjudul Membangun koneksi database MySQL pada java.

Sebelumnya kita buat prototype suatu tabel terlebih dahulu :

mobil
No. Nama KolomTipe Data
1. id_mobilint
2. nama_mobilvarchar(50)
3. jenis_mobilvarchar(30)
4. warna_mobilvarchar(10)
5. merk_mobilvarchar(30)


1. Entitas
berikut ini adalah entitas berdasarkan tabel diatas.
public class EntitasMobil {
 
 private int id;
 private String nama;
 private String jenis;
 private String merk;
 private String warna;

 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getNama() {
  return nama;
 }
 public void setNama(String nama) {
  this.nama = nama;
 }
 public String getJenis() {
  return jenis;
 }
 public void setJenis(String jenis) {
  this.jenis = jenis;
 }
 public String getMerk() {
  return merk;
 }
 public void setMerk(String merk) {
  this.merk = merk;
 }
 public String getWarna() {
  return warna;
 }
 public void setWarna(String warna) {
  this.warna = warna;
 }
 
}

Pada class entitas, kita mendeklarasikan variabel - variabel yang berguna untuk sebuat tabel. Misal dalam contoh ini saya menggunakan tabel mobil, disana terdapat atribut id, nama, jenis, merk, dan warna. Maka pada entitas saya buat variabel dengan nama tersebut. Hal ini bertujuan agar tidak ada kebingungan dalam menentukan variabel.Karena pada proses CRUD, value yang kita ambil dari variabel pada entitas.


2. Interface
berikut ini adalah Interface berdasarkan tabel diatas.
import java.util.List;

public interface InterfaceMobil {
 
 boolean insertMobil(Mobil m);
 boolean updateMobil(Mobil m);
 boolean deleteMobil( Mobil m);
 List<Mobil> selectMobil();

}

Pada class interface, kita membuat method abstrak untuk CRUD database. Dimana terdapat CRUD yang memiliki tipe data boolean lalu dengan parameter entitas, dan SELECT yang memiliki tipe data List dengan referensi entitas.


3. Implement
berikut ini adalah implement berdasarkan tabel diatas.
import java.util.List;

public class ImplementMobil implements InterfaceMobil {

 @Override
 public boolean insertMobil(Mobil m) {
  // TODO Auto-generated method stub
  return false;
 }

 @Override
 public boolean updateMobil(Mobil m) {
  // TODO Auto-generated method stub
  return false;
 }

 @Override
 public boolean deleteMobil(Mobil m) {
  // TODO Auto-generated method stub
  return false;
 }

 @Override
 public List<Mobil> selectMobil() {
  // TODO Auto-generated method stub
  return null;
 }

}

Class implement merupakan implementasi dari class interface. Dimana method - method yang tersedia merupakan method dari interface, lalu kita taruh perintah disini.


4. Factory
berikut ini adalah factory berdasarkan tabel diatas.
class factory(){
 
 private static InterfaceMobil inMobil;
 
 public static InterfaceMobil getMobil(){
  inMobil = new ImplementMobil();
  return inMobil;
 }
}

Factory sendiri merupakan class yang fungsinya menghubungkan interface dan implement. hal ini bertujuan agar pada program view yang dipanggil adalah interfacenya saja.


5. View
berikut ini adalah view berdasarkan tabel diatas.
class View(){
 private Mobil mobil;
 private InterfaceMobil mobilDAO;
 
 public View(){
  mobill = new Mobil();
  mobilDAO = Factory.getMobil();
 }
}

Class view merupakan tampilan atau frame pada program. Disinilah kita memanggil entitas, interface dan factory. Implement sendiri tidak dipanggil karena sudah diwakilkan oleh Factory.


Penutup

Sepertinya cukup sampai disini saja tutorial yang saya berikan. Disini saya hanya memberikan konsep OOP dengan Patern DAO saja. Terimakasih atas kunjungannya, silahkan tinggalkan jejak di komentar. Assalamu'alaikum wr.wb.


3 comments for "OOP Patern DAO Pada Bahasa Pemrograman Java"