Tulisan ini untuk melanjutkan tulisan saya sebelumnya “
Manipulasi MySQL dengan Netbeans“. Saya merasa perlu menunjukan mudahnya untuk membuat aplikasi database sederhana menggunakan Netbeans. Berikut langkah-langkahnyaPra-syarat: Baca posting saya tentang
Manipulasi MySQL dengan Netbeans
- Pada Netbeans IDE pilih menu File-New Project…
- Pada Window New Project pilih Categories General dan Project Java Application, kemudian pilih Next.
- Buatlah project di Netbeans dengan nama misalnya dbapp, kemudian pilih Finish
- Pada project yang telah terbentuk, klik kanan pada Libraries pilih Add Jar/Folder…
- Carilah lokasi MySQL Connector
- MySQL Connector sudah ditambahkan ke project.
- Sampai disini kita sudah siap untuk membuat aplikasinya. Klik kanan pada nama proejct dbapp, pilih New-Java Class…
- Pada window New Class, ketik Person pada Class Name dan db.app pada Package kemudian Finish.
- Ubahlah source Person.java menjadi sbb:
package db.app;
public class Person {
private int id;
private String nama;
private String alamat;
private String telp;
/** Creates a new instance of Person */
public Person() {
}
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 getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
public String getTelp() {
return telp;
}
public void setTelp(String telp) {
this.telp = telp;
}
}
- Tambahkan lagi Class lain dengan nama PersonManager, dan ubahlah sourcenya menjadi sbb:
package db.app;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author hendro
*/
public class PersonManager {
Connection con = null;
Statement st = null;
String url = “jdbc:mysql://localhost:3306/dbtest”;
String user = “tes”;
String pass = “tes”;
/** Creates a new instance of PersonManager */
public PersonManager() {
try{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
con = DriverManager.getConnection(url,user,pass);
st=con.createStatement();
}catch(Exception ex){
ex.printStackTrace();
}
}
public List
getPersons(){
ResultSet rs = null;
List
persons = new ArrayList
();
try{
rs = st.executeQuery(“SELECT ID,NAMA,ALAMAT,TELP FROM tperson”);
while(rs.next()){
Person p = new Person();
p.setId(rs.getInt(1));
p.setNama(rs.getString(2));
p.setAlamat(rs.getString(3));
p.setTelp(rs.getString(4));
persons.add(p);
}
}catch(Exception ex){
ex.printStackTrace();
}
return persons;
}
public int insert(Person p){
int result = 0;
try{
result = st.executeUpdate(“INSERT INTO tperson(id,nama,alamat,telp) ” +
“VALUES(“+p.getId()+”,’”+p.getNama()+”‘,’”+p.getAlamat()+”‘,” +
“‘”+p.getTelp()+”‘)”);
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
public int delete(Person p){
int result = 0;
try{
result = st.executeUpdate(“DELETE FROM tperson WHERE ID=”+p.getId()+”");
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
}
- Selanjutnya kita akan membuat user Interfacenya menggunakan Swing (Netbean matisse). Tambahkan JFrame Form… dengan Class Name MyWindow dan desainlah tampilannya menjadi sbb:
- Silahkan baca tulisan saya sebelumnya tentang Membangun GUI dengan Netbeans
- Untuk masing-masing component pada Form di atas diganti namanya menjadi sbb. Untuk mengganti nama masing-masing component klik kanan pada component yang diinginkan.
- text ID –> txtId
- text NAMA –> txtNama
- text ALAMAT –> txtAlamat
- text TELP –> txtTelp
- Tombol << –> btnPrev
- Tombol >> –> btnNext
- Tombol Baru –> btnNew
- Tombol Simpan –>btnSave
- Tombol Hapus–> btnDelete
- Untuk setiap Text yang ada atur property Editablenya menjadi false (dengan melepas centangan pada Propertiesbar).
- Selanjutnya tambahkan event untuk masing-masing tombol (Baca tulisan saya mengenai Membangun GUI dengan Netbeans)
- Berikut kode pada Tombol btnNew
private void btnNewActionPerformed(java.awt.event.ActionEvent evt) {
txtId.setText("");
txtNama.setText("");
txtAlamat.setText("");
txtTelp.setText("");
txtId.setEditable(true);
txtNama.setEditable(true);
txtAlamat.setEditable(true);
txtTelp.setEditable(true);
txtId.requestFocus();
}
- Selanjutnya untuk tombol btnSave
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
Person p = new Person();
p.setId(Integer.parseInt(txtId.getText()));
p.setNama(txtNama.getText());
p.setAlamat(txtAlamat.getText());
p.setTelp(txtTelp.getText());
if(pmgr.insert(p)>0){
loadData();
currentRow = persons.size()-1;
bindData();
JOptionPane.showMessageDialog(this,"Data berhasil disimpan","Informasi",
JOptionPane.INFORMATION_MESSAGE);
txtId.setEditable(false);
txtNama.setEditable(false);
txtAlamat.setEditable(false);
txtTelp.setEditable(false);
}else{
JOptionPane.showMessageDialog(this,"Data gagal disimpan","Informasi",
JOptionPane.INFORMATION_MESSAGE);
}
}
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
Person p = persons.get(currentRow);
if(pmgr.delete(p)>0){
loadData();
currentRow = currentRow-1;
bindData();
JOptionPane.showMessageDialog(this,"Data berhasil dihapus","Informasi",
JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(this,"Data gagal dihapus","Informasi",
JOptionPane.INFORMATION_MESSAGE);
}
}
private void btnPrevActionPerformed(java.awt.event.ActionEvent evt) {
if(currentRow>0){
--currentRow;
}
bindData();
}
private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
if(currentRow
++currentRow;
}
bindData();
}
- Kemudian tambahkan beberapa variabel berikut pada Class MyWindow.java
PersonManager pmgr = new PersonManager();
List<Person> persons = new ArrayList<Person>();
int currentRow = 0;
- Dan tambahkan 2 method berikut pada Class MyWindow.java
private void loadData(){
persons = pmgr.getPersons();
}
private void bindData(){
if(persons.size()>0){
Person p = persons.get(currentRow);
txtId.setText(p.getId()+"");
txtNama.setText(p.getNama());
txtAlamat.setText(p.getAlamat());
txtTelp.setText(p.getTelp());
}else{
currentRow = 0;
txtId.setText("");
txtNama.setText("");
txtAlamat.setText("");
txtTelp.setText("");
}
}
- Dan yang terakhir ubahlah Constructor Calss MyWindow.java menjadi
public MyWindow() {
initComponents();
loadData();
bindData();
}
- Sampai disini kita sudah menyelesaikan aplikasi database sederhana ini, silahkan dicoba untuk dijalankan.
Selamat Mencoba dan semoga sukses kawan