Interface Pada Java Written by Wawan Hartawan Monday, 03 November 2008 02:52 - Last Updated Monday, 03 November 2008 03:07
Pada proses pengembangan sistem sering kali kita dihadapkan kepada berbagai ragam teknologi atau berbagai jenis teknik pembuatan program. Misalnya dalam membuat apkiakasi kita menggunakan berbagai jenis database dengan gaya pemograman yang berbeda Java memberikan fasilitas untuk menjebatani perbedaan tersebut dengan apa yang di sebut interface
Misalkan dalam membuat sebuat aplikasi besar/ enterprise kita menggunakan berbagai jenis database seperti mysql, oracle dan sebagainya, kemudian dalam pembuatannya melibatkan team yang besar dengan teknik pemograman yang berbeda beda. Tentu saja akan merepotkan untuk melakukan penelusuran jika da masalah dalam salah satu modul yang dibuat
Iterface lebih mempermudah sistem analyst dalam membuat konsep aplikasi, interface mirip dengan pola atau bisa juga disebut cetak biru aplikasi. Cara kerjanya adalah berdasarkan prinsip semua proses yang ada di java harus menggunakan object variabel dari java, jadi yang dikenal adalah object java bukan dari luar, misalnya seperti kita ketahui sql command akan berbeda dari database yang berbeda, bahkan bisa jadi tipe fieldnya juga berbeda. Jadi syarat penggunaan interface harus menyamakan dahulu dengan melakukan Transfer Object(TO) .
Interface tidak berisi perintah kepada system untuk melakukan sesuatu, interface hanya memetakan apa yang harus dikirimkan dan apa yang diharapkan untuk dikembalikan dan seperti yang di sampaikan di atas bahwa yang dikirimkan harus dalam bentuk object java begitu pula yang dikembalikannya.
Interface dalam kehidupan sehari hari ibarat sebuah clausul kontrak, yang berisi pasal pasal, namun pasal pasal tersebut masih kosong dan akan di isi pada saat kontrak tersebut digunakan. Walaupun semua pasal harus tercantum, tidak berarti setiap pasal tersebut harus ada penjelasannya.
Apabila sebuah class java menggunakan interface maka class tersebut meng implementasikan interface. Pada saat class mengimplementasikan interface walaupun semua yang ada di interface harus di cantumkan, namun tidak semuanya harus terisi dengan perintah atau proses. Deklarasi interface harus public, karena memang fungsi class pengguna interface adalah untuk digunakan secara public
1/5
Interface Pada Java Written by Wawan Hartawan Monday, 03 November 2008 02:52 - Last Updated Monday, 03 November 2008 03:07
Contoh interface berisi metode CRUD (create, read, update, delet) Barang public interface BarangInterface { public List
getBarangList(BarangTO barangTO); public int saveBarang(BarangTO barangTO); public int updateBarang(BarangTO barangTO); public BarangTO getBarangByID(String kdBarang); }
Contoh class yang meng implementasikan interface Barang public class BarangDAOMySQL extends CustomerMySQL implements BarangInterface{
public List getBarangList(BarangTO barangTO) { List listBarang=new ArrayList(); Connection conn=getDBConnection(); StringBuffer sql=new StringBuffer(); sql.append("select kd_barang,nm_barang from barang where left(kd_barang,1)='H' "); if(barangTO!=null){ if(!"".equals(barangTO.getKdBarang()) || barangTO.getKdBarang()!=null){ sql.append(" and( kd_barang like concat('%',?,'%') "); sql.append("or nm_barang like concat('%',?,'%')) "); } } try{ PreparedStatement pstmt=conn.prepareStatement(sql.toString()); if(barangTO!=null){ if(!"".equals(barangTO.getKdBarang()) || barangTO.getKdBarang()!=null){ pstmt.setString(1, barangTO.getKdBarang()); pstmt.setString(2, barangTO.getNmBarang()); } } ResultSet rs=pstmt.executeQuery(); while(rs.next()){ barangTO=new BarangTO(); barangTO.setKdBarang(rs.getString("kd_barang")); barangTO.setNmBarang(rs.getString("nm_barang")); listBarang.add(barangTO); } }catch(SQLException ex){ Logger.getLogger(BarangDAOMySQL.class.getName()).log(Level.SEVERE, null, ex); }finally{ try {
2/5
Interface Pada Java Written by Wawan Hartawan Monday, 03 November 2008 02:52 - Last Updated Monday, 03 November 2008 03:07
conn.close(); } catch (SQLException ex) { Logger.getLogger(BarangDAOMySQL.class.getName()).log(Level.SEVERE, null, ex); } } return listBarang; }
public int saveBarang(BarangTO barangTO) { int result=0; Connection conn=getDBConnection(); StringBuffer sql=new StringBuffer(); sql.append("insert into barang (kd_barang,nm_barang,jml_barang) "); sql.append("values (?,?,?) "); try{ PreparedStatement pstmt=conn.prepareStatement(sql.toString()); pstmt.setString(1, barangTO.getKdBarang()); pstmt.setString(2, barangTO.getNmBarang()); pstmt.setInt(3, barangTO.getJmlBarang()); result=pstmt.executeUpdate(); }catch(SQLException ex){ Logger.getLogger(BarangDAOMySQL.class.getName()).log(Level.SEVERE, null, ex); }finally{ try { conn.close(); } catch (SQLException ex) { Logger.getLogger(BarangDAOMySQL.class.getName()).log(Level.SEVERE, null, ex); } } return result; }
public int updateBarang(BarangTO barangTO) { return 0; } public BarangTO getBarangByID(String kdBarang) { return null; } }
3/5
Interface Pada Java Written by Wawan Hartawan Monday, 03 November 2008 02:52 - Last Updated Monday, 03 November 2008 03:07
Transfer object Barang (Beans) public class BarangTO { private String kdBarang; private String nmBarang; private String merkBarang; private float hrgBarang; private int jmlBarang; public String getKdBarang() { return kdBarang; }
public void setKdBarang(String kdBarang) { this.kdBarang = kdBarang; }
public String getNmBarang() { return nmBarang; }
public void setNmBarang(String nmBarang) { this.nmBarang = nmBarang; }
public String getMerkBarang() { return merkBarang; }
public void setMerkBarang(String merkBarang) { this.merkBarang = merkBarang; }
public float getHrgBarang() { return hrgBarang;
4/5
Interface Pada Java Written by Wawan Hartawan Monday, 03 November 2008 02:52 - Last Updated Monday, 03 November 2008 03:07
}
public void setHrgBarang(float hrgBarang) { this.hrgBarang = hrgBarang; }
public int getJmlBarang() { return jmlBarang; }
public void setJmlBarang(int jmlBarang) { this.jmlBarang = jmlBarang; } }
5/5