Holla sobat pintar, sudah lama ya tidak posting. Apakabar ? Pastinya sehat dong ya, kalau sehat pasti semangat belajar nya, apalagi belajar pemograman java hehe..
Oke langsung saja, sobat pintar sudah tau kan pada postingan sebelum nya sudah banyak praktikum tentang dasar-dasar java, nah pada postingan kali ini kita akan membuat konektivitas java ke database. Mau tau cara nya gimana, langsung aja ya simak penjelasan di bawah dan kerjakan praktikum nya. selamat belajar...
JDBC (Java Database Connectivity)
JDBC (Java
Database Connectivity) merupakan trademark dari Sun Microsystem
yang merupakan bagian dari teknologi Java yang menangani pengolahan database.
Java tidak membedakan cara pemrograman database yang satu dengan yang lainnya.
Sebagai contoh : cara Java mengolah table Oracle dan MySQL sama saja, yang
berbeda hanyalah alamat URL koneksi dan driver JDBC-nya, sehingga kita dapat
membuat sebuah program yang sa,a di Java untuk mengolah database yang ada di
MySQL, Oracle, SQL Server dan pemrograman database lainnya, selama nama dan
struktur tabelnya sama.
1.
KOMPONEN UTAMA JDBC JDBC memiliki beberapa komponen utama yang berhubungan dengan
koneksi driver, koneksi database, eksekusi perintah SQL dan lain-lain
komponen-komponen tersebut antara lain adalah sebagai berikut :
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 setelah perintah SQL dieksekusi
oleh komponen Statement.
f. SQLException adalah komponen yang digunakan untuk
menangani kesalahan-kesalahan (error) yang mungkin terjadi dalam pengolahan
database.
2. KEUNGGULAN TEKNOLOGI JDBC Dalam
pembuatan database, teknologi JDBC mempunyai beberapa keunggulan dibandingkan
dengan teknologi lainnya. Berikut beberapa keunggulaln tersebut :
a. Mempertahankan data yang ada.
b. Menyederhanakan pembuatan aplikasi dengan kombinasi antara Java
API dan JDBC API.
c. Tidak perlu melakukan konfigurasi pada jaringan computer klien.
d. JDBC API memberi akses penuh pada metadata sehingga
memungkinkan pengembangan aplikasi yang lebih canggih.
e. JDBC driver tidak perlu diinstal karena murni bawaan Java
f. Koneksi database menggunakan Uniform Resources Lovator (URL)
yang diambil dari keunggulan standar internet.
Praktikum
Membuat
database dengan menggunakan MySQL
Nama Database : praktikum
Nama Tabel : mahasiswa, terdiri dari tiga field, yaitu NIM,
Nama dan Alamat.
Syntax :
create database praktikum;
use praktikum;
create table mahasiswa (
NIM varchar(9),
Nama varchar(30),
Alamat varchar(30));
Nama Tabel : mahasiswa, terdiri dari tiga field, yaitu NIM,
Nama dan Alamat.
Syntax :
create database praktikum;
use praktikum;
create table mahasiswa (
NIM varchar(9),
Nama varchar(30),
Alamat varchar(30));
Membuat menu pemasukan dan
penghapusan data dari database praktikum
Simpan file dengan nama
CobaDatabase.java
Source code :
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(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 database SQL
Class.forName("org.gjt.mm.mysql.Driver");
Connection
con = DriverManager.getConnection("jdbc:mysql://localhost/praktikum", "root", "");
//Untuk database ACCESS
/*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con
=
DriverManager.getConnection("jdbc:odbc:java", "",
"");*/
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 SQL
Class.forName("org.gjt.mm.mysql.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost/praktikum", "root", "");
//Untuk database ACCESS
/*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
con
=
DriverManager.getConnection("jdbc:odbc:java", "",
"");*/
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);
}
}
Output :
Jika di jalan kan maka tampilan nya akan seperti ini
Kita akan coba memasukkan sebuah data
Jika di klik simpan maka hasil nya akan seperti ini , lalu klik ok
apabila kita cek ke database maka data yang kita input tadi sudah masuk 1 record
Membuat Menu Lihat Data dari
database Praktikum
Simpan dengan nama
LihatDatabase.java
Source code:
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 SQL
Class.forName("org.gjt.mm.mysql.Driver");
Connection
conn = DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");
//Untuk Database menggunakan ACCESS
/*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection
conn =
DriverManager.getConnection("jdbc:odbc:java", "",
"");*/
Statement stmt = conn.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 data 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
conn.close();
}
catch (Exception exc){
JOptionPane.showMessageDialog(this,"ERROR","Hasil",JOptionPane.ERROR_MESSAGE);
}
String[] nkolom={"Nim","Nama","Alamat"};
//Membuat tabel, dengan judul nkolom dan
isi tdata
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);
}
}
Jika program ini di jalan kan maka akan muncul hasil seperti di bawah ini :
Data yang kita input pada program pertama akan muncul pada tampilan yang berbentuk tabel.
Apabila konektivitas tidak berhasil maka yanng perlu sobat lakukan adalah cek terlebih dahulu file connector mysql nya . Silahkan sobat download terlebih dahulu mysql connector java. Kemudian simpan driver JDBC MySql “mysql-connector-java.jar” ke dalam folder instalasi java/jdk/jre/lib/ext.
Nah sampai di sini dulu ya sobat pintar, semoga bermanfaat.
Wasalamualaikum warahmatullahi wabarakatuh...