Tuesday 30 June 2015

Tombol Tambah, Edit, Hapus Menggunakan NetBeans Dan MySql

11 comments
Sudah lama saya tidak posting maklum lagi banyak tugas dikampus.heheh.. 10000x..
Kali ini saya akan coba untuk memberikan tutorial sederhana menggunakan Java NetBeans yaitu membuat tombol Tambah, Edit, dan Hapus. Sebelumnya saya sudah banyak membahas tentang aplikasi java NetBeans disini namun hanya berbentuk consol belum berbasis dekstop, kali ini saya akan membuat yang berbasis dekstop. ok langsung saja gan..

1. Pertama buka program NetBeans agan, disini saya menggunakan NetBeans versi 7.2.1. beda versi tidak apa gan.
2. Setelah itu buat project baru dengan cara file>New Project (Ctr+Shift+N)
3. Pilih Categories : Java dan Project : Java Application , Kemudian "Next"

4. Beri nama misalkan "Sederhana" dan hapus centang pada bagian "Create main Class" lalu Finish.

5. Kemudian pada bagian libraries klik kanan pilih"Add Library" dan akan muncul jendela library, cari dan pilih "My SQL JDBC Driver" lalu tekan "Add Library"

6. Kemudian klik kanan pada source packages, pilih new > jFrame Form. Berinama misalnya "Utama" dan Finish.

7. Untuk mempermudah penataan letak kita bisa klik kanan pada form kosong pilih "Set Layout>Absolute Layout"

8. Tambahkan 4 buah tombol(jButton), 4 buah textbox(jTextField), 4 buah label(jLabel) dan 1 buah Tabel(jTable) yang ada di palette swing controls.

9. Atur Propertiesnya sperti berikut :

Swing Controls
Properties
Value
jLabel1
jLabel2
jLabel3
jLabel4
Text
Text
Text
Text
NIM
Nama
Alamat
Tanggal Lahir
jTextField1
jTextField2
jTextField3
jTextField4
enabled
enabled
enabled
enabled
Hilangkan centang
Hilangkan centang
Hilangkan centang
Hilangkan centang
jButton1
jButton2
jButton3
jButton4
Text
Text
Text
Text
Tambah
Edit
Hapus
Batal


10. Setelah itu kita buat java class koneksinya untuk mengkoneksikan ke database. klik kanan pada source packages, pilih new >Java Class. berinama "koneksi" dan Finish

11. Copy scrip ini di atas "public class koneksi {"
import com.mysql.jdbc.Driver;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


12. Copy scrip ini di bawah "public class koneksi {"
private static Connection koneksi;
   
    public static Connection GetConnection() throws SQLException{
        if (koneksi == null){
            new Driver();
            koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/akademik","root","");
        }
        return koneksi;
    } 

 
13. Setelah selesai, kembali ke Utama.java pilih sourch, masukkan scrip ini diatas tulisan "public class Utama extends javax.swing.JFrame {"


import com.mysql.jdbc.Statement;
import com.sun.imageio.stream.StreamCloser;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
import javax.swing.table.DefaultTableModel;


14. Dan ini di bawah tulisan "public class Utama extends javax.swing.JFrame {"
 private void datatable() {
        DefaultTableModel tbl = new DefaultTableModel();
        tbl.addColumn("NIM");
        tbl.addColumn("Nama");
        tbl.addColumn("Alamat");
        tbl.addColumn("Tanggal Lahir");
        jTable1.setModel(tbl);
        try {
            Statement statement = (Statement) koneksi.GetConnection().createStatement();
            ResultSet res = statement.executeQuery("select * from mhs");
            while (res.next())
            {
               tbl.addRow(new Object[] {
                    res.getString("nim"),
                    res.getString("nama"),
                    res.getString("alamat"),
                    res.getString("tanggal_lahir"),
                });
                jTable1.setModel(tbl);
            }
        }catch (Exception e){
            JOptionPane.showMessageDialog(rootPane, "salah");
        }
    }
   
    private void clear(){
        jTextField1.setText("");
        jTextField2.setText("");
        jTextField3.setText("");
        jTextField4.setText("");
    }
   
    private void enabled(){
        jTextField1.enable(true);
        jTextField2.enable(true);
        jTextField3.enable(true);
        jTextField4.enable(true);
        jTextField1.requestFocus();
    }
   
    private void desabled(){
        jTextField1.enable(false);
        jTextField2.enable(false);
        jTextField3.enable(false);
        jTextField4.enable(false);

    }


15. Kembali ke form desain kemudian klik dua kali tombol tambah, masukkan script ini
         if (jButton1.getText() == "Tambah"){
            enabled();
            clear();
            jButton1.setText("Simpan");
            jButton2.setEnabled(false);
            jButton3.setEnabled(false);
        }else {
            String nim = jTextField1.getText();
            String nama = jTextField2.getText();
            String alamat = jTextField3.getText();
            String ttl = jTextField4.getText();

            try {
                Statement statement = (Statement) koneksi.GetConnection().createStatement();
                statement.executeUpdate("insert into mhs values ('"+nim+"','"+nama+"','"+alamat+"','"+ttl+"');");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data berhasil disimpan");
                datatable();
                clear();
                desabled();
                jButton1.setText("Tambah");
                jButton2.setEnabled(true);
                jButton3.setEnabled(true);
            }catch (Exception t){
                JOptionPane.showMessageDialog(null, "Data gagal disimpan");
            }
        }


16. Kembali ke form desain kemudian klik dua kali tombol Edit, masukkan script ini
        if (jButton2.getText() == "Edit"){
            enabled();
            jTextField1.enable(false);
            jButton2.setText("Simpan");
            jButton1.setEnabled(false);
            jButton3.setEnabled(false);
            jTextField1.requestFocus();
        }else {
            String nim = jTextField1.getText();
            String nama = jTextField2.getText();
            String alamat = jTextField3.getText();
            String ttl = jTextField4.getText();

            try {
                Statement statement = (Statement) koneksi.GetConnection().createStatement();
                statement.executeUpdate("UPDATE mhs " + "SET " + "nama = '" +nama+ "'," + "alamat = '" +alamat+ "'," + "tanggal_lahir = '" +ttl+ "'" + "WHERE " + "nim = '" +nim+ "';");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data berhasil rubah");
                clear();
                desabled();
                jButton2.setText("Edit");
                jButton1.setEnabled(true);
                jButton3.setEnabled(true);
            }catch (Exception t){
                JOptionPane.showMessageDialog(null, "Data gagal disimpan");
            }
            datatable();
        }

17. Kembali ke form desain kemudian klik dua kali tombol Hapus, masukkan script ini
        String nim = jTextField1.getText();
        try {
            Statement statement = (Statement) koneksi.GetConnection().createStatement();
            statement.executeUpdate("delete from mhs where nim= ('"+nim+"');");
            clear();
            desabled();
            datatable();
            JOptionPane.showMessageDialog(null, "Data berhasil dihapus");
        }catch (Exception t) {
            JOptionPane.showMessageDialog(null, "Data gaagl dihapus");
        }


18. Kembali ke form desain kemudian klik dua kali tombol Batal, masukkan script ini
        {
            clear();
            desabled();
            jButton1.setText("Tambah");
            jButton2.setText("Edit");
            jButton1.setEnabled(true);
            jButton2.setEnabled(true);
            jButton3.setEnabled(true);
        }


19. Terakhir kembali ke form desain, klik kanan pada tabel pilih "Events>Mouse>Mouse Clicked. isikan scrip dibawah ini
        int row = jTable1.getSelectedRow();
        jTextField1.setText((String)jTable1.getValueAt(row, 0));
        jTextField2.setText((String)jTable1.getValueAt(row, 1));
        jTextField3.setText((String)jTable1.getValueAt(row, 2));
        jTextField4.setText((String)jTable1.getValueAt(row, 3)); 


20. Kemudian coba RUN Project dengan menekan (F6).

Sekian dulu untuk Trik dan Tutorial sederhana ini. Semoga bisa membantu.
Terimakasih.

NB : Kritik dan Saran bisa di komentar. 
If You Enjoyed This, Take 5 Seconds To Share It

11 comments:

  1. cara manual kodingan untuk menambahkan action pada tombol yang kita buat gimana ya gan? misalnya pada tombol angka di aplikasi kalkulator...

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. ini coding buat datatable nya mana yaa

    ReplyDelete
  4. keren tutorialnya,,,, sangat membantu,,, saran : mungkin bisa ditambahkan gambar screenshot agar lebih mempermudah lagi.
    terima kasih.

    ReplyDelete
  5. Biar tabelnya auto load pas di-run, gimana ya gan? Makasih...

    ReplyDelete
  6. Minta saran ni bgaimna cara menambah kan auto tanggal di project?

    ReplyDelete
  7. MAu nanya itu "mhs" apaan ya? Dan itu dimana?

    ReplyDelete

ADS