Rabu, 08 Januari 2014

MEMBUAT INPUT DATA PADA NETBEANS



MEMBUAT INPUT DATA PADA NETBEANS
Sebelum kita menginput data ke dalam sebuah tabel, pastikan dulu anda sudah membuat database dan sebuah tabel. Pada project kali ini buat lah sebuah database dengan nama mahasiswa dan satu buah tabel dengan nama siswa.
Npm (Varchar,10) PK
Nama (Varchar,25)
Jurusan (Varchar,25)
Telp (Varchar,13)

Tambahkan sebuah class dengan nama mahasiswa, desain form seperti dibawah ini:


Tuliskan koding dibawah ini :
package prjakademik;
import java.awt.HeadlessException;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
/**
 *
 * @author Rui
 */
public final class mahasiswa extends javax.swing.JFrame {
   public Connection conn;
   public Statement cn;
    /**
     * Creates new form mahasiswa
     */
    public mahasiswa() {
        initComponents();
        bersih();
        tampildata();
        jComboBox1.addItem("-- PILIH --");
        jComboBox1.addItem("Sistem Informasi");
        jComboBox1.addItem("Teknik Informatika");
        jComboBox1.addItem("Manajemen Informatika");
     
    }

Tambahkan sebuah method di class mahasiswa dengan nama koneksi, fungsinya untuk mengkoneksikan ke database yang kita bikin tadi.
    public void koneksi(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mahasiswa","root","");
            cn=conn.createStatement();
        } catch(ClassNotFoundException | SQLException e) {
            JOptionPane.showMessageDialog(null, "koneksi gagal....");
            System.out.println(e.getMessage());
        }
    }
 
//  method bersih
    public void bersih(){
        jTextField1.setText("");
        jTextField2.setText("");
        jTextField3.setText("");
        jComboBox1.setSelectedItem("-- PILIH --");
    }
 
 // method tampil data
    public void tampildata(){
        DefaultTableModel tblmhs = new DefaultTableModel();
        tblmhs.addColumn("Npm");
        tblmhs.addColumn("Nama");
        tblmhs.addColumn("Jurusan");
        tblmhs.addColumn("Telp");
     
        try{
            koneksi();
            String sql="Select * from siswa order by npm asc";
            ResultSet rs=cn.executeQuery(sql);
            while (rs.next())
            {
                tblmhs.addRow(new Object[]{
                rs.getString(1),
                rs.getString(2),
                rs.getString(3),
                rs.getString(4)
            });
            }
            jTable1.setModel(tblmhs);
        } catch (Exception e) {
          JOptionPane.showMessageDialog(null,"Ada Kesalahan....");
        }
    }
 
 
Coding  pada tombol simpan….
Double klik tombol simpan atau klik kanan-event-actionperfomed dan ketikkan koding dibawah ini :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        // button simpan
        try{
            koneksi();
            String sql="Insert into siswa values('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+jComboBox1.getSelectedItem()+"','"+jTextField3.getText()+"')";
            cn.executeUpdate(sql);
            conn.close();
            tampildata();
            bersih();
            JOptionPane.showMessageDialog(null, "Data berhasil di simpan");
        } catch (SQLException | HeadlessException e) {
            JOptionPane.showMessageDialog(null, "Proses penyimpanan gagal/koneksi gagal..");
            System.out.println(e.getMessage());
            JOptionPane.showMessageDialog(null,"No Npm : "+jTextField1.getText()+" sudah ada...!!!");
            System.out.println(e.getMessage());
            bersih();
        }
        jComboBox1.setSelectedItem("-- PILIH --");
    }                                      

Coding pada tombol edit….
 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        // button edit
        try{
         
            koneksi();
            String sql="Update siswa set nama='"+jTextField2.getText()+"',"+"jurusan='"+jComboBox1.getSelectedItem()+"',"+"telp='"+jTextField3.getText()+"'"+"where npm='"+jTextField1.getText()+"'";
            cn.executeUpdate(sql);
            conn.close();
            tampildata();
            bersih();
            JOptionPane.showMessageDialog(null,"Data berhasil di rubah");
         
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Proses update gagal/koneksi gagal...");
            System.out.println(e.getMessage());
        }
        jTextField1.setEnabled(true);
        jButton1.setEnabled(true);
        jComboBox1.setSelectedItem("-- PILIH --");
    }                                      

Coding pada tombol hapus….
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        // button hapus
        try{
         
            koneksi();
            String sql="delete from siswa where npm='"+jTextField1.getText()+"'";
            cn.executeUpdate(sql);
            conn.close();
            tampildata();
            bersih();
            JOptionPane.showMessageDialog(null,"Data berhasil di hapus");
         
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Proses hapus gagal/koneksi gagal...");
            System.out.println(e.getMessage());
         
        }
        jTextField1.setEnabled(true);
        jButton1.setEnabled(true);
        jComboBox1.setSelectedItem("-- PILIH --");
    }                                      

Coding pada tombol baru…
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        bersih();
        jTextField1.setEnabled(true);
        jButton1.setEnabled(true);
        jComboBox1.setSelectedItem("-- Pilih --");
    }

Coding pada tombol keluar....
 private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        // button keluar
        System.exit(0);
    }

Pada tabel klik kanan event-mouse-mouse clicked dan masukkan koding berikut :
    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                  
        // TODO add your handling code here:
        int table=jTable1.getSelectedRow();
        //mengambil data dari table
        String a=jTable1.getValueAt(table, 0).toString();
        String b=jTable1.getValueAt(table,1).toString();
        String c=jTable1.getValueAt(table,2).toString();
        String d=jTable1.getValueAt(table, 3).toString();
     
        jTextField1.setText(a);
        jTextField2.setText(b);
        jComboBox1.setSelectedItem(c);
        jTextField3.setText(d);
        jTextField1.setEnabled(false);
        jTextField2.requestFocus();
        jButton1.setEnabled(false);
    }

Senin, 06 Januari 2014

MEMBUAT KONEKSI NETBEANS KE DATABASE

MEMBUAT KONEKSI NETBEANS KE DATABASE
Secara umum koneksi ke database yaitu merupakan bagaimana cara kita agar database yang kita bikin sebelumnya bisa tersambung dengan project yang kita bikin di netbeans.berikut ini cara untuk mengkoneksikan database dengan project yang kita bikin :

I. mengaktifkan driver JDBC
   Class.forName("com.mysql.jdbc.driver");

   Apabila Clashpatnya sudah di setting, bisa langsung dengan perintah :
   Class.forName("jdbc.driver");

II.membuat koneksi
   langkah berikutnya adalah melakukan koneksi ke database, berikut perintahnya :
   Connection con = DriverManager.getConnection(url, usr, pwd);

   Keterangan :
   - con adalah variabel bertipe Connection
   - url adalah informasi jenis database + host database + nama database
   - usr adalah username untuk koneksi ke database
   - pwd adalah password untuk masuk ke database


dibawah ini contoh koding untuk koneksi ke database :

public class KoneksiDB {

    /**
     * @param args the command line arguments
     */
 
    Connection connection = null;
 
    public void sambungkanDatabase(
            String namaServer, String namaDatabase,
            String username, String password
            ) throws SQLException {
        try {         
            String driverName="com.mysql.jdbc.Driver";
            Class.forName(driverName);
            String url="jdbc:mysql://"+ namaServer + "/" + namaDatabase;
         
            connection= DriverManager.getConnection(url, username, password);
            JOptionPane.showMessageDialog(null,"Koneksi ke database tersambung....");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    public static void main(String[] args) throws SQLException {
        // TODO code application logic here
        KoneksiDB kd= new KoneksiDB();
        kd.sambungkanDatabase("localhost", "mahasiswa", "root", "");
    }
}


pada class koneksiDB diatas namaServer, namaDatabase, username dan password merupakan variabel yang bertipe string.
pada try...catch, coding ini fungsinya untuk penanganan kalo terjadi kesalahan pada pengcodingan. sama juga seperti throws exception jadi cara kerjanya program yang diperkirakan terjadi kesalahan di taruh di try,, seterusnya catch berfungsi untuk meletakkan listing program untuk menangani kesalahan pada program yang ada di block try.

pada bentuk lain yaitu :
public static void main(String[] args) throws SQLException {
        // TODO code application logic here
        KoneksiDB kd= new KoneksiDB();
        kd.sambungkanDatabase("localhost", "mahasiswa", "root", "");
    }
}

sama dengan fungsi try..catch yakni menangani kesalahan pada coding sebelumnya dan menjalankan coding throw exception...
Jika klausa throws digunakan, maka subrutin lain yang memanggil subrutin kita akan bertanggung jawab menangani pengecualian tersebut. Jika kita tidak menangani pengecualian tersebut dengan cara-cara di atas, maka java akan menganggap sebagai kesalahan coding.