Interface Pada Java

Share On :
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

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

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

public void setHrgBarang(float hrgBarang) {
this.hrgBarang = hrgBarang;
}

public int getJmlBarang() {
return jmlBarang;
}

public void setJmlBarang(int jmlBarang) {
this.jmlBarang = jmlBarang;
}
}


0 komentar:

Post a Comment

  • Mahasiswa STMIK Duta Bangsa
  • description
  • description
  • description
  • description
  • description
  • description
  • description

Free Hosting

Free Hosting

My Blog List

A
B
C
     
D
E
F
DuGMp3    
G
H
I
Goo Otomotif HouseofScript  
J
K
L
Java Hotline    
M
N
O

My Games Collection

MeLangKah LeBih MaJu

   
P
Q
R
Pamella Decoration    
S
T
U
Studied WaLL    
V
W
X
     
Y
Z
0-9
     









Join....!


Free Domain

Free Domain

SiNyO. Powered by Blogger.