Skip to content Skip to sidebar Skip to footer

Penjelasan Implement Pada OOP Java



Assalamu'alaikum wr.wb.
Beberapa waktu yang lalu, saya telah membahas mengenai OOP pada java. Pada artikel tersebut saya membahas tentang entitas, interface, implement dan factory, yang kemudian dipanggil ke view. Namun artikel yang saya buat sebelumnya hanyalah penjelasan DAO saja. Dan untuk implement belum dijelaskan secara rinci. Oleh karena itu pada kesempatan ini saya akan membahas tentang penjelasan implement pada OOP bahasa pemrograman java.

Pada artikel ini saya mencoba untuk memberikan penjelasan mengenai implement yang mana merupakan salah satu dari konsep OOP dengan patern DAO. Beberapa programmer mungkin merasa bingung dengan implement. Karena implement inilah yang merupakan penghubung antara CRUD dan program. Di DAO, semu proses yang berhubungan dengan database diletakkan di implement. Hal ini bertujuan agar program terlihat lebih rapi sehingga para developer mampu mengembangkan program dengan cara membedakan kelompok class dengan masing - masing kegunaannya.




Baca Juga


Seperti yang saya jelaskan sebelumnya, Artikel ini adalah lanjutan dari OOP Patern DAO Pada Java. Jadi bagi yang belum membaca, silahkan baca artikel tersebut. Selain itu, saya juga memberikan contoh dengan tabel yang saya tunjukkan di artikel tersebut. Dengan kata lain, untuk program entitas, interface dan factory saya anggap sudah dibuat di artikel sebelumnya.

Oke langsung saja, sebelum memulainya, simak dulu baik - baik artikel yang saya bahas tentang membangun koneksi database. Karena class koneksi tersebut sangat berpengaruh pada implement. Di implement ini method - method dari koneksi dibutuhkan.. Berikut merupakan tutorial implement pada java.

Pada artikel sebelumnya saya sudah membuat contoh implement secara menyeluruh. hanya saja belum diberikan codingannya. Untuk mengingatkan kembali. Saya buat lagi dibawah ini.

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;
 }

}

Kita bisa lihat pada script diatas, Terdapat komentar yang bertuliskan "TODO Auto-generated method stub". Disitulah kita mengettikan perintah - perintah CRUD. Berikutnya saya pisah satu persatu yang dikelompokkan sesuai dengan method yang ada.

Kita perlu mengimport entitas di class implement.
import Mobil;


Script diatas untuk mengimport entitas Mobil. Nama class tersebut adalah Mobil. Letakkan script di biagian paling atas. Kita perlu mengimport class Mobil karena class tersebut adalah class penghubung antara implement dan view yang nantinya data yang dikirimkan ke implement dikirim melalui class entitas.

Berikut ini adalah contoh program CRUD pada Java.

Pertama, kita buat variabel - variabel yang dibutuhkan dibawah nama class
private final Koneksi db;
private ResultSet res;
private String query;

Penjelasan program :
  • kita memanggil class koneksi dengan object db, lalu kita buat final. Artinya class tersebut tidak dapat diturunkan di class lain.
  • Resultset adalah fungsi untuk menghubungkan ke database.
  • String query berfungsi untuk menentukan query MySQL.

Variabel - variabel diatas dibutuhkan untuk menjangkau database. dengan variabel tersebut, kita dapat menentukan apa yang akan dilakukan oleh program ketika kita mengakses database.

Selanjutnya, kita buat constructor pada implement. Seperti pada artikel tentang konsep OOP java. Contstructor adalah yang diaktifkan pertama kali ketika class dipanggil. Berikut ini merupakan constructor pada class implementMobil 


public ImplementMobil(){
  db = new Koneksi();
 }

Dengan constructor diatas, artinya ketika kita memanggil implement, kita juga memanggil class koneksi secara bersamaan. Hal tersebut bertujuan agar kita tidak selalu mengetikkan koneksi di tiap method. Dengan constructor diatas, kita dapat meringkas program setidaknya satu baris.

Dibawah ini merupakan method dari implement beserta programnya :


1. INSERT


public boolean insertMobil(Mobil m) {
  query = "INSERT INTO mobil (nama_mobil, jenis_mobil, warna_mobil, merk_mobil) "
  +"VALUES('"+m.getNama_mobil+"','"+m.getJenis_mobil+"','"+m.getWarna_mobil+"','"+m.getMerk_mobil+"')";
        return db.runQuerySQL(query);
 }

Penjelasan program :
  • pada variabel queri diisi dengan perintah untuk menginput data mobil
  • runQuerySQL merupakan method dari class koneksi yang berfungsi untuk mengeksekusi query CRUD



2. UPDATE


public boolean updateMobil(Mobil m) {
  query = "UPDATE mobil SET nama_mobil = '"+m.getNama_mobil()+"' , "
  +"jenis_mobil = '"+m.getJenis_mobil()+"'"
  +", warna_mobil = '"+m.getWarna_mobil()+"' "
  +", merk_mobil =  '"+m.getMerk_mobil()+"'"
  +"WHERE id_mobil = '"+m.getId_mobil()+"'";
        return db.runQuerySQL(query);
 }

Penjelasan program :
  • pada variabel queri diisi dengan perintah untuk mengubah data mobil
  • runQuerySQL merupakan method dari class koneksi yang berfungsi untuk mengeksekusi query CRUD


3. DELETE


public boolean deleteMobil(Mobil m) {
  query = "DELETE FROM mobil "
  +"WHERE id_mobil = '"+m.getId_mobil+"'";
        return db.runQuerySQL(query);
 }

Penjelasan program :
  • pada variabel queri diisi dengan perintah untuk menghapus data mobil
  • runQuerySQL merupakan method dari class koneksi yang berfungsi untuk mengeksekusi query CRUD


4. SELECT


public List<Mobil> selectMobil() {
        query = "SELECT * FROM mobil";
        List<Mobil> list = new ArrayList<>();
        res = db.getRs(query);
        try {
            while(res.next()){
                Mobil m = new Mobil();
                m.setNama_mobil.setId(res.getInt(1));
                m.setJenis_mobil(res.getString(2));
                m.setWarna_mobil(res.getString(3));
  m.setMerk_mobil(res.getString(4));
                list.add(mobil);
            }
        } catch (Exception e) {
            System.out.println("Tampil Mobil Error "+e);
            StoreErrorMessage.storeErrMsg("Tampil Mobil Error "+e);
        }
        return list;
 }

Penjelasan Program :
  • Variabel query berisi perintah SELECT untuk menampilkan data mobil
  • db.getRs merupakan method dari class koneksi yang berfungsi untuk mengeksekusi perintah SELECT
  • while(rs.next()) artinya terjadi perulangan ketika data dari tabel mobil masih terbaca (Dalam hal ini tiap data dalam tabel dibaca per baris)
  • didalam perulangan merupakan perintah untuk menambahkan data ke list


5. Tampilan Class Implement Secara Keseluruhan

Setelah kita memahami baik - baik tentang kegunaan method masing - masing di implement, sekarang saya akan menunjukkan tampilan program secara keseluruhan dimana semua program diatas digabung menjadi satu. Berikut ini merupakan tampilannya :

import java.util.List;
import Mobil;

public class ImplementMobil implements InterfaceMobil {
 
 private final Koneksi db;
    private ResultSet res;
    private String query;
 
 public ImplementMobil(){
  db = new Koneksi();
 }

 @Override
 public boolean insertMobil(Mobil m) {
  query = "INSERT INTO mobil (nama_mobil, jenis_mobil, warna_mobil, merk_mobil) "
  +"VALUES('"+m.getNama_mobil+"','"+m.getJenis_mobil+"','"+m.getWarna_mobil+"','"+m.getMerk_mobil+"')";
        return db.runQuerySQL(query);
 }

 @Override
 public boolean updateMobil(Mobil m) {
  query = "UPDATE mobil SET nama_mobil = '"+m.getNama_mobil()+"' , "
  +"jenis_mobil = '"+m.getJenis_mobil()+"'"
  +", warna_mobil = '"+m.getWarna_mobil()+"' "
  +", merk_mobil =  '"+m.getMerk_mobil()+"'"
  +"WHERE id_mobil = '"+m.getId_mobil()+"'";
        return db.runQuerySQL(query);
 }

 @Override
 public boolean deleteMobil(Mobil m) {
  query = "DELETE FROM mobil "
  +"WHERE id_mobil = '"+m.getId_mobil+"'";
        return db.runQuerySQL(query);
 }

 @Override
 public List<Mobil> selectMobil() {
  query = "SELECT * FROM mobil";
        List<Mobil> list = new ArrayList<>();
        res = db.getRs(query);
        try {
            while(res.next()){
                Mobil m = new Mobil();
                m.setNama_mobil.setId(res.getInt(1));
                m.setJenis_mobil(res.getString(2));
                m.setWarna_mobil(res.getString(3));
    m.setMerk_mobil(res.getString(4));
                list.add(mobil);
            }
        } catch (Exception e) {
            System.out.println("Tampil Mobil Error "+e);
            StoreErrorMessage.storeErrMsg("Tampil Mobil Error "+e);
        }
        return list;
 }

}


Class implement diatas berfungsi untuk memberikan perintah dari program ke database. Maka dari itu, implement merupakan konsep terpenting dalam OOP dengan partern DAO. Jadi tidak heran jika pada class implement, terdapat banyak sekali perintah - perintah yang dibutuhkan. Disinilah otak dari program itu sendiri.


Penutup

Demikian tutorial yang dapat saya berikan. Semoga dengan artikel ini, anda dapat memahami tentang implement secara menyeluruh. Sebenarnya masih banyak lagi contoh yang tidak saya berikan di artikel ini. Namun jika saya memberikan contoh tersebut, kemungkinan program akan semakin membingungkan dan akhirnya keluar dari tujuan. Semoga artikel ini bermanfaat, Jika ada tambahan, silahkan tinggalkan jejak di komentar, Assalamu'alaikum wr.wb.


1 comment for "Penjelasan Implement Pada OOP Java"

  1. Hi, Really great effort. Everyone must read this article. Thanks for sharing.

    ReplyDelete