Home > Java > Aplikasi Sederhana dengan Java dan Database MySQL

Aplikasi Sederhana dengan Java dan Database MySQL

December 27, 2011 Leave a comment Go to comments

Pada Blog post kali ini kita akan membuat aplikasi sederhana dengan Java untuk melakukan manipulasi database ( dalam hal ini MySQL ).

Berikut ini langkah langkah dalam membuat aplikasi tersebut.

  • Buat Java project ( File -> New Project, Pada window New Project pilih Categories Java dan Project Java Application dan klik tombol Next.  Set project name dengan nama DbApp dan klik tombol Finish ).
  • Pada Project yang telah terbentuk, pada folder libraries klik kanan -> Add Library ->  pilih MySQL JDBC Driver -> klik tombol Add Library. ( Sekarang MySQL Connector sudah ditambahkan dalam project )
  • Klik kanan folder source package pada project DbApp -> new Java Class.
  • Pada window New Class, ketik Student pada Class Name  kemudian Finish.
  •    Kode pada Student.java sebagai berikut

public class Student {

private int nim;
private String nama;
private String alamat;
private String jurusan;

public Student()
{

}
/**
* @return the nim
*/
public int getNim() {
return nim;
}

/**
* @param nim the nim to set
*/
public void setNim(int nim) {
this.nim = nim;
}

/**
* @return the nama
*/
public String getNama() {
return nama;
}

/**
* @param nama the nama to set
*/
public void setNama(String nama) {
this.nama = nama;
}

/**
* @return the alamat
*/
public String getAlamat() {
return alamat;
}

/**
* @param alamat the alamat to set
*/
public void setAlamat(String alamat) {
this.alamat = alamat;
}

/**
* @return the jurusan
*/
public String getJurusan() {
return jurusan;
}

/**
* @param jurusan the jurusan to set
*/
public void setJurusan(String jurusan) {
this.jurusan = jurusan;
}
}

  • Tambah class lain dengan nama StudentManager, dengan kode pada StudentManager.javasebagai berikut:
    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 Taeyeon
    */
    public class StudentManager {
    Connection conn = null;
    Statement statement = null;public StudentManager ()
    {
    try
    {
    Class.forName(“com.mysql.jdbc.Driver”).newInstance();
    conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/student”, “root”, “”);
    statement=conn.createStatement();
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    }public List getStudents()
    {
    ResultSet rs = null;
    List studentList = new ArrayList();
    try
    {
    rs = statement.executeQuery(“SELECT * FROM tstudent”);
    while(rs.next())
    {
    Student s = new Student();
    s.setNim(rs.getInt(1));
    s.setNama(rs.getString(2));
    s.setAlamat(rs.getString(3));
    s.setJurusan(rs.getString(4));studentList.add(s);
    }
    }
    catch(Exception ex)
    {
    ex.printStackTrace();
    }
    return studentList;
    }public int insertStudent(Student s)
    {
    int result = 0;
    try
    {
    result = statement.executeUpdate(“INSERT INTO tstudent VALUES(‘”+s.getNim()+”‘,'”+ s.getNama()+ “‘,'”+s.getAlamat()+”‘, ‘”+s.getJurusan()+”‘)” );
    }
    catch( Exception ex)
    {
    ex.printStackTrace();
    }
    return result;
    }

    public int deleteStudent( int nimDelete)
    {

    int result = 0;
    try
    {
    result = statement.executeUpdate(“DELETE FROM tstudent WHERE nim= ” +nimDelete+” “);
    }
    catch( Exception ex)
    {
    ex.printStackTrace();
    }
    return result;
    }
    }

  • Selanjutnya kita akan membuat user Interfacenya menggunakan Swing. Tambahkan JFrame Form class dengan Class Name MyWindow dan desain tampilannya menjadi sbb:

User Interface

  • Untuk setiap komponen pada User Interface nama variabel diubah sebagai berikut :

JTextField Nim -> txtNim

JTextField Nama -> txtNama

JTextField Alamat -> txtAlamat

JTextField Jurusan -> txtJurusan

JButton Next -> btnNext

JButton Prev -> btnPrev

JButton Delete -> btnDelete

JButton Save -> btnSave

JButton New -> btnNew

  • Untuk setiap JTextField ubah property SetEditable menjadi false
  • Tambahkan event untuk setiap button pada User Interface

Kode untuk event btnNew sebagai beritkut:

private void btnNewActionPerformed(java.awt.event.ActionEvent evt) {
txtNim.setText(“”);
txtNama.setText(“”);
txtJurusan.setText(“”);
txtAlamat.setText(“”);

txtNim.setEditable(true);
txtNama.setEditable(true);
txtAlamat.setEditable(true);
txtJurusan.setEditable(true);

txtNim.requestFocus();
}

Kode untuk event btnSave sebagai berikut:

private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
Student s = new Student();
s.setNim(Integer.parseInt(txtNim.getText()));
s.setNama(txtNama.getText());
s.setAlamat(txtAlamat.getText());
s.setJurusan(txtJurusan.getText());

if(studentManager.insertStudent(s)> 0) /* Jika insert berhasil, return berupa 1 */
{
loadData();
currentRow = ListStudent.size()-1;
bindData();
JOptionPane.showMessageDialog(this,” Data berhasil disimpan” ,”Informasi”, JOptionPane.INFORMATION_MESSAGE);
txtNim.setEditable(false);
txtNama.setEditable(false);
txtAlamat.setEditable(false);
txtJurusan.setEditable(false);
}
else
{
JOptionPane.showMessageDialog(this,”Data gagal disimpan”,”Informasi”, JOptionPane.INFORMATION_MESSAGE);
}
}

Kode event untuk btnDelete sebagai berikut:

int nimDelete = Integer.parseInt(txtNim.getText());

if(studentManager.deleteStudent(nimDelete)>0)
{
loadData();
currentRow = 0;
bindData();
JOptionPane.showMessageDialog(this,”Data berhasil dihapus”,”Informasi”, JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(this,”Data gagal dihapus”,”Informasi”, JOptionPane.INFORMATION_MESSAGE);
}
}

Kode event untuk btnPrev sebagai berikut:

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

Kode event untuk btnNext sebagai berikut:

private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
if( currentRow < (ListStudent.size()-1) )
{
++currentRow;
}
bindData();
}

  • Tambahkan beberapa variabel dan method pada MyWindow.java

StudentManager studentManager = new StudentManager();
List <Student> ListStudent = new ArrayList <Student>();
int currentRow = 0;

private void loadData()
{ /* Select semua data yang berada di database, simpan di List */
ListStudent = studentManager.getStudents();
}

private void bindData()
{
if(ListStudent.size() >0) /* Jika jumlah element pada List lebih dari 0 */
{
Student s = ListStudent.get(currentRow);
txtNim.setText(s.getNim()+””);
txtNama.setText(s.getNama());
txtJurusan.setText(s.getJurusan());
txtAlamat.setText(s.getAlamat());
}
else
{
currentRow=0;
txtNim.setText(“”);
txtNama.setText(“”);
txtJurusan.setText(“”);
txtAlamat.setText(“”);
}
}

  • Constructor MyWindow diubah sebagai berikut:

public MyWindow() {
initComponents();
loadData(); /* saat program dijalankan, select semua data dari database,     isimpan di List */
bindData(); /*Tampilkan data pada baris pertama */
}

  • Program selesai.

Semoga bermanfaat.😀

Referensi : Dari berbagai sumber.

P.S.

Menggunakan NetBeans 6.9

User pada MySQL : root

password pada MySQL :   ( tidak ada password )

Database pada MySQL : Student dengan 1 buah tabel dengan nama tstudent yang terdiri dari field / kolom yaitu nim ( int ), nama ( varchar ), alamat ( varchar ), jurusan ( varchar ).

Program diatas dapat didownload disini

  1. T R D
    January 15, 2012 at 21:29

    hanksx bro

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: