Senin

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

  • Untuk tombol btnDelete

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

  • Untuk tombol btnPrev

private void btnPrevActionPerformed(java.awt.event.ActionEvent evt) {
if(currentRow>0){
--currentRow;
}
bindData();
}

  • Untuk tombol btnNext

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




Subscribe to RSS Feed Follow me on Twitter!