Kamis, 09 Januari 2020

Tutorial Belajar Java : JDBC (Java Database Connectivity)

Assalamualaikum..

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

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);
   }
}

Output :

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...

Tutorial Belajar Java : JDBC (Java Database Connectivity)

Assalamualaikum.. Holla sobat pintar, sudah lama ya tidak posting. Apakabar ? Pastinya sehat dong ya, kalau sehat pasti semangat belajar n...