Archive

Archive for December, 2011

Aplikasi Sederhana dengan Java dan Database MySQL

December 27, 2011 1 comment

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

Advertisements

Selamat Hari Ibu

December 22, 2011 Leave a comment
I Love You, Mom

I Love You, Mom

Terima kasih, Ibu.

Untuk semua kasih sayangmu.

Maaf belum bisa membahagiakanmu.

-Ren-

 

Download Ebook Matlab

December 19, 2011 1 comment

Bagi yang membutuhkan ebook Matlab berbahasa Indonesia, mungkin ebook ini berguna.

Matlab Ebook Berbahasa Indonesia

Menurut saya ebook tersebut cocok bagi yang baru / awal belajar Matlab.  Mungkin setelah membaca ebook ini kita bisa memperdalam ilmu  pemrograman dengan Matlab menggunakan referensi ebook berbahasa Inggris. Dan yang terbaik dari  ebook ini adalah siapapun boleh menyebarluaskanya alias FREE. Karena menurut Penulis ebook ini “Hak Cipta hanya milik Tuhan YME

Semoga bermanfaat. 😀

Download

Menghitung Selisih Dalam Hari Antar Dua Tanggal

December 19, 2011 Leave a comment

Sebentar lagi memasuki tahun baru 2012. Jadi ingin membuat program Java yang berhubungan dengan tanggal / date. Dan akhirnya tentang bagaimana menghitung selisih dalam hari antar dua tanggal.

Berikut ini code-nya dalam Java

import java.util.Calendar;

public class DifferenceDate {
public static void main(String [] args)
    {
    Calendar day_One = Calendar.getInstance();
    Calendar day_Two = Calendar.getInstance();
    day_One.set(1988, 05, 28);
    day_Two.set(2011, 12,19);

    long day_OneInMilli=day_One.getTimeInMillis();
    long day_TwoInMilli = day_Two.getTimeInMillis();

    long differenceInMilli = day_TwoInMilli – day_OneInMilli;
    long result = differenceInMilli / (24 * 60 * 60 * 1000);

    System.out.println(“Selisih dua tanggal tersebut: ” + result + ” hari”);
    }
}

Hasil dari code diatas:

Hasil Run Code

Semoga bermanfaat. 😀

Referensi : Dari berbagai sumber.

A Beautiful Memory From Past

December 9, 2011 Leave a comment
A Beautiful Memory From Past

A Beautiful Memory From Past

A Beautiful memory from past with my high school classmate. It was a really beautiful memory. 😀

How are you , Pal? I  hope you alright wherever you are now.

-Ren-

Categories: Ren's Notes Tags: ,