Tutorial Membuat Aplikasi CRUD Sederhana dengan Java

Tutorial Membuat Aplikasi CRUD Sederhana dengan Java

0 12

CRUD merupakan akronim dari Create , Read , Update ,Delete. Di tutorial ini kita akan membuat aplikasi CRUD dengan bahasa pemrogramn java yang sangat-sangat sederhana.

Nah langsung saja di persiapkan senjatanya :
1. Netbeans 6.9 (versi lebih baru juga tidak mengapa).
2. PHPMyadmin.

dah cuma itu saja..

Cara-caranya mudah sekali, berikut urutannya :
1. Buat database dengan nama pejabat.
2. Buat tabel data_pejabat trus isinya no dan nama no pake int aja jadiin primary key, trus nama pake varchar
3. Buka editor netbeans. Kalo lom punya install dulu.
4. Buat project baru , nama terserah yang jelas pilih java aplication, lalu setting koneksi database nya. klik kanan service –>database–>klik kanan create connection.

Membuat Koneksi MySql dengan Netbeans

5. Buat kelas untuk entitas (entity) dengan nama pejabat.

package entity;

/**
*
* @author suryono
*/
public class Pejabat {
//variabel yang ada untuk entitas sama dengan yang di database
private int no;
private String jeneng;
//getter untuk nama
public String getJeneng() {
return jeneng;
}
//setter untuk nama
public void setJeneng(String jeneng) {
this.jeneng = jeneng;
}

 public int getNo() {
return no;
}

 public void setNo(int no) {
this.no = no;
}
 

}

6. Buat kelas untuk model nya

package model;

import entity.Pejabat;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
*
* @author suryono
*/
//berguna untuk menampung data dari database terus ditampilkan ke tabel
public class TabelModelPejabat extends AbstractTableModel {

List
list;

 public TabelModelPejabat(List
list) {
this.list = list;
}

public Pejabat get(int row){
return list.get(row);
}
//mendapatkan jumlah baris
public int getRowCount() {
return list.size();
}
//mendapatkan jumlah kolom
public int getColumnCount() {
return 2;
}
//mendapatkan no dan nama
public Object getValueAt(int rowIndex, int columnIndex) {

 switch (columnIndex) {
case 0: return list.get(rowIndex).getNo();
case 1: return list.get(rowIndex).getJeneng();
default: return null;

 }
}
//untuk memberi nama kolom di tabel
@Override
public String getColumnName(int column) {
switch (column) {
case 0: return "No Penjahat";
case 1: return "Nama Penjahat";
default : return null;

 }

 }

}

 

7. Buat DAO (Data Access Object) nya letakkan di package model caranya : klik kanan project –> java class

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package model;

import entity.Pejabat;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;

/**
*
* @author suryono
*/
//class untuk koneksi ke database
public class DaoPejabat {
//url ke database

 private String url = "jdbc:mysql://localhost:3306/pejabat";
//username database
private String username = "root";
//password database
private String password = "root";
//variabel untuk membuat koneksi
private Connection con;
//untuk mendapatkan array dari pejabat
private List
list;

 public DaoPejabat() {
try {
try {
//mengenalkan driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException ex) {
JOptionPane.showMessageDialog(null, "kesalahan " + ex);
} catch (IllegalAccessException ex) {
JOptionPane.showMessageDialog(null, "kesalahan : " + ex);
}
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "kesalahan : " + ex);
}
}

 public DaoPejabat(Connection con) {
this.con = con;
}
//method untuk koneksi database

 public void connect() throws SQLException {
this.con = DriverManager.getConnection(url, username, password);
}
//method untuk menutup koneksi ke database

 public void disconnect() throws SQLException {
this.con.close();
}
//method mendapatkan data dari database pejabat dalam bentuk array

 public List
read() {
try {
//membuat statement
Statement st = con.createStatement();
String sql = "SELECT * FROM data_pejabat";
//mendapatkan data dari tabel dalam bentuk result set
ResultSet rs = st.executeQuery(sql);
list = new ArrayList
();
while (rs.next()) {
Pejabat pj = new Pejabat();
pj.setNo(rs.getInt("no"));
pj.setJeneng(rs.getString("nama"));
list.add(pj);
}

 } catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
return list;

 }
//method untuk insert ke database

 public void insert(Pejabat pj) {
try {
String sql = "INSERT INTO data_pejabat VALUES(?,?)";
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setInt(1, pj.getNo());
ps.setString(2, pj.getJeneng());
ps.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
}
//method untuk update ke database

 public void update(int no, Pejabat pj) {
try {
String sql = "UPDATE data_pejabat set no=?, nama=? WHERE no=?";
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setInt(1, pj.getNo());
ps.setString(2, pj.getJeneng());
ps.setInt(3, no);
ps.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}

 }
//method untuk delete database

 public void delete(int no) {
try {
String sql = "DELETE from data_pejabat WHERE no=?";
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setInt(1, no);
ps.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}

 }
//method untuk pencarian

 public List
read(int no) {
try {
Statement st = con.createStatement();
String sql = "SELECT * FROM data_pejabat WHERE no like?";
list = new ArrayList
();
PreparedStatement ps = this.con.prepareStatement(sql);
ps.setString(1, "%" + no + "%");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Pejabat pj = new Pejabat();
pj.setNo(rs.getInt("no"));
pj.setJeneng(rs.getString("nama"));
list.add(pj);

 }

 } catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "kesalahan pada dao : " + ex);
}
return list;
}
}

 

8. Buat tampilannya

Desain Tampilan CRUD

9. Tinggal koding dalemannya

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* PejabatView.java
*
* Created on Aug 5, 2010, 6:15:32 AM
*/
package view;

import entity.Pejabat;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.TableModel;
import model.DaoPejabat;
import model.TabelModelPejabat;

/**
*
* @author suryono
*/
public class PejabatView extends javax.swing.JFrame {
//membuat object dari DaoPejabat untuk koneksi ke database
DaoPejabat dao = new DaoPejabat();
Pejabat pj;
//   TabelModelPejabat tmp ;
//
//    public TabelModelPejabat getTmp() {
//        return tmp;
//    }

 /** Creates new form PejabatView */
public PejabatView() {
try {

 initComponents();
dao.connect();
List
list = new ArrayList
();
list = dao.read();
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);

 } catch (SQLException ex) {
Logger.getLogger(PejabatView.class.getName()).log(Level.SEVERE, null, ex);
}
}

 private void btnInsertActionPerformed(java.awt.event.ActionEvent evt) {/
try {
pj = new Pejabat();
//mendapatkan no dan nama dari view
pj.setNo(Integer.parseInt(txtNo.getText()));
pj.setJeneng(txtNama.getText());
dao.connect();
dao.insert(pj);
List
list = new ArrayList
();
//membaca datanya ke list
list = dao.read();
//menampilkan data ke tabel
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
dao.disconnect();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "no tidak boleh sama ");
}

 }

 private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try {
int noBaris = tabelPejabat.getSelectedRow();
//jika baris tidak di klik
if (noBaris < 0) {
return;
}

 if (JOptionPane.showConfirmDialog(this, "Yakin menghapus data", "Peringatan", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
return ;
}
//mendapatkan nilai no dari tabel yang di klik
Object index = tabelPejabat.getValueAt(noBaris, 0);
dao.connect();
dao.delete(Integer.parseInt(String.valueOf(index)));
List
list = new ArrayList
();
list = dao.read();
//menampilkan data ke tabel
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
dao.disconnect();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Kesalahan : " + ex);
}
}

 private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {
try {
int baris = tabelPejabat.getSelectedRow();
Object indek = tabelPejabat.getValueAt(baris, 0);
int nilaiIndek = Integer.parseInt(String.valueOf(indek));
dao.connect();
pj = new Pejabat();
pj.setNo(Integer.parseInt(txtNo.getText()));
pj.setJeneng(txtNama.getText());
pj.setNo(nilaiIndek);

dao.update(Integer.parseInt(txtNo.getText()), pj);
List
list = new ArrayList
();
list = dao.read();
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
dao.disconnect();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Kesalahan : " + ex);
}
}

 private void btnCariActionPerformed(java.awt.event.ActionEvent evt) {
try {
//mendapatkan nilai dari yang dicari
int cari = Integer.parseInt(txtCari.getText());
List
list = new ArrayList
();
list = new ArrayList
();
dao.connect();
list = dao.read(cari);
//menampilkan yang dicari
TableModel tableModel = new TabelModelPejabat(list);
tabelPejabat.setModel(tableModel);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Kesalahan : " + ex);
}
}
//mengisikan data dari tabel ke textno dan textnama
private void tabelPejabatMouseClicked(java.awt.event.MouseEvent evt) {
int selected = tabelPejabat.getSelectedRow();
if (selected < 0) {
JOptionPane.showMessageDialog(this, "Klik row tabel");
} else {
Object noBaris = tabelPejabat.getValueAt(selected, 0);
txtNo.setText(noBaris.toString());
txtNama.setText((String) tabelPejabat.getValueAt(selected, 1));
}

}

 /**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

 public void run() {
new PejabatView().setVisible(true);

 }
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnCari;
private javax.swing.JButton btnDelete;
private javax.swing.JButton btnInsert;
private javax.swing.JButton btnUpdate;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField3;
private javax.swing.JTable tabelPejabat;
private javax.swing.JTextField txtCari;
private javax.swing.JTextField txtNama;
private javax.swing.JTextField txtNo;
// End of variables declaration//GEN-END:variables
}

10. Tinggal masukkan mysql jdbc driver-nya trus di jalankan..

Hasil Akhir Aplikasi CRUD dengan Java

Maap kalo masih berantakan .. ini pertama kali posting pake code java. Jika mau download source code nya disini. Saran dan masukan bisa ditinggalkan pada komentar. :)

SIMILAR ARTICLES

0 6

0 8

NO COMMENTS

Leave a Reply