26 January 2008

JAVA LECTURE X

APLIKASI DATABASE SEDERHANA MENGGUNAKAN NETBEAN DAN MYSQL

1. Pada Netbeans IDE pilih menu File-New Project…

2. Pada Window New Project pilih Categories General dan Project Java Application, kemudian pilih Next.

3. Buatlah project di Netbeans dengan nama misalnya dbapp, kemudian pilih Finish
set as main project sama create main project jangan di centang.

4. Pada project yang telah terbentuk, klik kanan pada Libraries pilih Add Jar/Folder…

5. Carilah lokasi MySQL Connector

6. Sampai disini kita sudah siap untuk membuat aplikasinya. Klik kanan pada nama project dbapp,
pilih New-Java Class…

7. Pada window New Class, ketik Person pada Class Name dan db.app pada Package kemudian Finish.

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

9. 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 tanker
*/

public class PersonManager {
Connection con = null;
Statement st = null;
String url = "jdbc:mysql://localhost:3306/javadb";
String user = "root";
String pass = ".....";

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

10. Selanjutnya kita akan membuat user Interfacenya menggunakan Swing (Netbean matisse).
Tambahkan JFrame Form… dengan Class Name MyWindow dan desainlah tampilannya menjadi sbb:
Photobucket

11. 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

12. Untuk setiap Text yang ada atur property Editablenya menjadi false
(dengan melepas centangan pada Propertiesbar).

13. Selanjutnya tambahkan event untuk masing-masing tombol dengan cara
klik kanan pada tombol pilih events dan kemudian pilih action dan
pilih actionperformed dan kemudian copykan kode berikut ke dalam
tombol btnNew

txtId.setText("");
txtNama.setText("");
txtAlamat.setText("");
txtTelp.setText("");
txtId.setEditable(true);
txtNama.setEditable(true);
txtAlamat.setEditable(true);
txtTelp.setEditable(true);
txtId.requestFocus();

14. untuk tombol btnSave
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);

15. untuk tombol btnDelete
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);

16. untuk tombol btnPrev
if(currentRow>0){
-–currentRow;
}
bindData();

17. untuk tombol btnNext
++currentRow;
bindData();

18. Kemudian tambahkan beberapa variabel berikut pada Class MyWindow.java
public class MyWindow extends javax.swing.JFrame {
PersonManager pmgr = new PersonManager();
List persons = new ArrayList();
int currentRow = 0;

19. 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("");
}
}

20. Dan yang terakhir ubahlah Constructor Class MyWindow.java menjadi
public MyWindow() {
initComponents();
loadData();
bindData();
}

21. Aplikasi database sederhana sudah selesai dibuat terimakasih banyak
untuk first uploader database sederhana ini. selamat mencoba ^ ^

No comments: