Bab 12: JAVA DATABASE CONNECTIVITY



JAVA DATABASE CONNECTIVITY


JDBC (JAVA DATABASE CONNECTIVITY)

JDBC merupakan trademark dari Sun Microsystem yang merupakan bagian dari teknologi java yang menangani pengolahan database.

I. KOMPONEN UTAMA JDBC
a. Driver adalah komponen untuk menangani masalah komunikasi dengan database server.
b. DriverManager adalah komponen untuk menangani objek driver dengan objek DriverManager juga mengendalikan detail dari proses kerja objek driver.
c. Connection adalah komponen yang menangani koneksi ke database.
d. Statement adalah komponen yang menangani pengiriman perintah SQL ke database.
e. ResultSet adalah komponen yang menangani penyimpanan data yang didapat dari database setalah
perintah SQL dieksekusi oleh komponen Statement.
f. SQLException adalah komponen yang digunakan untuk menangani kesalahan-kesalahan yang
mungkin terjadi dalam pengolahan database.

II. KEUNGGULAN TEKNOLOGI JDBC
1. Untuk mempertahankan data yang ada.
2. Untuk menyederhanakan pembuatan aplikasi dengan kombinasi antara Java API dan JDBC API.
3. Tidak perlu melakukan konfigurasi pada jaringan computer klien.
4. JDBC API member akses penuh pada metadata sehingga memungkinkan pengembangan aplikasi yang lebih canggih.
5. JDBC driver tidak perlu diinstal karena murni bawaan Java.

LANGKAH-LANGKAH PRAKTIKUM :

Membuat database dengan menggunakan Ms.Access
Jalankan dengan program Ms.Access
Buat database:
Nama file : praktikum
Nama table : mahasiswa, Yang terdiri dari 3 field : NIM, Nama, Alamat yang bertipe text.


Membuat Menu pemasukan dan penghapusan data dari database

import java.sql.*


import java.awt.*;


import java.awt.event.*;


import javax.swing.*;


class CobaDatabase{


public static void main(String[]args){


praktikum mahasiswa = new praktikum();


}


}



class praktikum extends JFrame implements ActionListener{


final JLabel lNIM,lNama,lAlamat;


final JTextField NIM,Nama,Alamat;


final JButton btnSave,btnHapus;


final JPanel panel1,panel2;



public praktikum(){


setTitle("Coba Database");


lNIM = new JLabel("NIM:");


lNama = new JLabel("Nama:");


lAlamat = new JLabel("Alamat:");


NIM = new JTextField(20);


Nama = new JTextField(20);


Alamat = new JTextField(20);


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 databse ACCESS


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");


Connection con = DriverManager.getConnection("jdbc:odbc:program","","");


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"+


"dengan NIM='"+NIM.getText()+"'","Konfirmasi Hapus 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 ACCESS


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");


Connection con=DriverManager.getConnection("jdbc:odbc:coba","","");


Statement stmt=con.createStatement();


stmt.executeUpdate(sql);


stmt.close();


con.close();


JOptionPane.showMessageDialog(this,"Data berhasil dihapus","Hasil",


JOptionPane.INFORMATION_MESSAGE);


}


catch(Exception e){


JOptionPane.showMessageDialog(this,e.getMessage(),"Hasil",


JOptionPane.ERROR_MESSAGE);



}


}


}


System.exit(0);


}



outputnya




Program Menu lihat data Dari databaase Program:

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 Acces


Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");


Connection con = DriverManager.getConnection ("jdbc:odbc:program", "", "");


Statement stmt = con.createStatement();


//Sintaks sql yang dibawa


String sql="select*from mahasiswa";


//Hasilnya ditampung disini


ResultSet rs= stmt.executeQuery(sql);


tdata=new String [500][3];


int p=0;


//Jika data berikutnya ada, maka...


while (rs.next()){


//kita dapatkan dari kolom 1


tdata[p][0]=rs.getString(1);


tdata[p][1]=rs.getString(2);


tdata[p][2]=rs.getString(3);


p++;


}


//stmt dibebaskan dari memori


stmt.close();


//koneksi ditutup


con.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);


}


}

outputnya

Komentar

Postingan populer dari blog ini

Bab 3: INFORMATION HIDING, INHERITANCE, ENCAPSULATION DAN POLYMORPHISM