Kamis, 16 Januari 2014

JAVA DATABASE CONECTIVITY



Buatlah sebuah database pada Ms. Acsess dengan nama database pratikum dan buatlah tabel dengan nama tabel mahasiswa yang terdiri dari tiga field, yaitu nim, nama, alamat yang semuanya pertipe text.  Seperti yang terlihat pada gambar berikut ini :


Setelah itu aktifkan Data Sources (ODBC) pada computer dengan cara : pilih start >control panel > Performance and Maintenance > Administrative Tools >Data Sources (ODBC) > pilih pada User DSN > pilihlah Driver yang bernama Microsoft Access Driver (*.mdb, *.accdb) > add > pada Data Sources name ketikkan mahasiswa > select> pada drives pilihlah folder dimana database tersebut disimpan > ok>ok>ok.
Ketikanlah kode program dibawah ini untuk membuat cobadatabase:
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class CobaDatabase {
public static void main (String[] args) {
DBMahasiswa  mahasiswa= new DBMahasiswa ();
    }
}

class DBMahasiswa extends JFrame implements ActionListener {
final JLabel lNim, lNama, lAlamat;
final JTextField Nim, Nama, Alamat;
final JButton btnSave, btnHapus;
final JPanel panel1, panel2;

public DBMahasiswa () {
setTitle ("Coba Database");
lNim = new JLabel("Nim : ");
lNama = new JLabel("Nama : ");
lAlamat = new JLabel ("Alamat : ");
Nim = new JTextField(15);
Nama = new JTextField(20);
Alamat = new JTextField(50);
btnSave = new JButton("SIMPAN");
btnSave.addActionListener(this);
btnHapus = new JButton("HAPUS");
btnHapus.addActionListener(this);
        panel1 = new JPanel(new GridLayout(3,1));
        panel2 = new JPanel(new GridLayout(3,1));

setLayout(new BorderLayout());
add(panel1, "West");
panel1.add(lNim);
panel1.add(lNama);
panel1.add(lAlamat);
add(panel2, "East");
panel2.add(Nim);
panel2.add(Nama);
panel2.add(Alamat);
add(btnSave, "South");
add(btnHapus, "North");
pack();
setDefaultCloseOperation(3);
setVisible(true);
    }

public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==btnSave) {
        String sql = "insert into mahasiswa values ('"+Nim.getText()+"', '"+Nama.getText()+"','"+Alamat.getText()+"')";
try {

    //Untuk database ACCESS
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:mahasiswa", "", "");
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
con.close();
JOptionPane.showMessageDialog(this, "Data berhasil disimpan", "Hasil", JOptionPane.INFORMATION_MESSAGE);
        }
catch(Exception e){
JOptionPane.showMessageDialog(this, e.getMessage(), "Hasil", JOptionPane.ERROR_MESSAGE);
        }
    }
if (ae.getSource()==btnHapus) {
int pesan = JOptionPane.showConfirmDialog
(null, "Anda yakin ingin menghapus pegawai\n"+
"denganNim = '"+Nim.getText()+"'","KonfirmasiHapus Data",

JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);
if(pesan == JOptionPane.OK_OPTION) {
String sql = "DELETE from mahasiswa where Nim = '"+Nim.getText()+"'";
try {

    //Untuk Database Acces
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:mahasiswa", "", "");

    Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
con.close();
JOptionPane.showMessageDialog(this, "Data berhasildihapus", "Hasil", JOptionPane.INFORMATION_MESSAGE);
        }
catch(Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage(), "Hasil", JOptionPane.ERROR_MESSAGE);
            }
        }
    }
System.exit(0);
    }
    }

Dan hasilnya akan terlihat seperti gambar berikut :




Kemudian ketikkanlah program dibawah ini untuk membuat lihatdatabase:

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class LihatDatabase {
public static void main(String [] args) {
LihatData data = new LihatData();
    }
}

class LihatData extends JFrame{

public LihatData() {
setTitle("Lihat Database");

   String tdata[] [] = new String[0] [0];
try{

       //Untuk Database menggunakan Access
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       Connection conn = DriverManager.getConnection("jdbc:odbc:mahasiswa","","");

       Statement stmt = conn.createStatement();
       //Sintakssql yang dibawa
       String sql="select * from mahasiswa";
       //Hasilnyaditampungdisini
ResultSet rs = stmt.executeQuery(sql);
tdata = new String[500][3];
int p=0;
       //Jika data berikutnyaada, maka...
while (rs.next()){
          //kitadapatkan data darikolom 1
tdata[p][0] = rs.getString(1);
tdata[p][1] = rs.getString(2);
tdata[p][2] = rs.getString(3);
p++;
       }
       //stmtdibebaskandarimemori
stmt.close();
       //koneksiditutup
conn.close();
       }

catch (Exception exc){

JOptionPane.showMessageDialog(this,"ERROR","Hasil",JOptionPane.ERROR_MESSAGE);
    }
String[] nkolom={"Nim","Nama","Alamat"};
JTable tabel = new JTable(tdata,nkolom);
JScrollPane gridtabel = new JScrollPane(tabel);
tabel.setPreferredScrollableViewportSize(new Dimension(400,300));
setLayout(new FlowLayout());
add(gridtabel);
pack();
setDefaultCloseOperation(3);
setVisible(true);
    }
    }

Dan hasilnya seperti dibawah ini :


SELESAI.........