Selasa, 24 Desember 2019

JAVA DATABASE CONNECTIVITY


Assalamu’alaikum warahmatullahi wabarakatuh,
Selamat datang di blog saya...
Postingan kali ini saya akan membahas tugas praktikum saya tentang Java Database Connectivity. Untuk melihat postingan sebelumnya anda bisa klik teks link di bawah ini :

DASAR TEORI
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 sama 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.

Berikut ini langkah-langkah program Java Database Connectivity yang akan kita buat :
A.           Membuat database dengan menggunakan MySQL
Sebelum membuat database langkah pertama yaitu menyimpan  driver  JDBC  MySql  “mysql-connector-java.jar  ke  dalam folder_instalasi_java/jdk/jre/lib/ext hal ini bertujuan agar program yang kita buat dapat terkoneksi ke database yang kita buat.
Pada program kali ini saya menggunakan Localhost phpMyAdmin. Berikut ini database yang akan di buat dengan ketentuan sebagai berikut :
Nama Database   : praktikum
Nama Tabel      : mahasiswa, terdiridari 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)
  );

Berikut ini database yang saya buat di localhost phpMyadmin:

B.            Membuat menu pemasukan dan penghapusan data dari database praktikum
Setelah kita membuat database langkah berikutnya kita membuat program java untuk menginput data ke database dan membuat fungsi hapusnya. Karena pada program ini saya menggunakan database MySql maka kelas driver yang digunakan yaitu org.gjt.mm.mysql.Driver dan driver manager yaitu jdbc:mysql://localhost/praktikum", "root", "". ”praktikum” merupakan nama database yang saya gunakan jadi kalian bisa merubahnya sesuai dengan nama database yang kalian buat. Jika kalian menggunakan database dengan ms.access kalian bisa mangaktifkan kode program untuk kelas ms.access dan menonaktifkan kelas mysql.
Kode Program
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);
    }
}
Simpan dengan nama CobaDatabase.java selanjutnya :
1.        CTRL+1 untuk mengkompile program java
2.        CTRL+2 untuk menjalankan program

Hasil Output Program
Berikut ini tampilan awal program



Berikut ini kita menginput data ke database dan ketika kita klik simpan jika berhasil menyimpan ke database akan muncul dialog pesan data berhasil disimpan


Selanjutnya ketika kita menghapus data kita input terlebih dahulu data yang akan kita hapus sealnjutnya kita klik button hupus dan akan muncul dialog pesan peringatan apakah kita akan menghapus data dengan nim yang kita input.

Jika kita klik Ok maka akan muncul kotak dialog pesan data berhasil dihapus.

C.           Membuat Menu Lihat Data dari database Praktikum
Program java ini ialah untuk menampilkan data yang kita input ke database praktikum yang kita input dari program CobaDatabase.java diatas.
Kode 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 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);
    }
}
Simpan dengan nama LihatDatabase.java selanjutnya :
1.        CTRL+1 untuk mengkompile program java
2.        CTRL+2 untuk menjalankan program

Hasil Output Program

NB : Pada program latihan diatas karena saya menggunakan localhost phpMyAdmin maka perlu mengaktifkan module Apache dan MySQL di aplikasi Xampp

Sekian Tentang Materi Java Database Connectivity
Praktikum Berorientasi Objek II
Terimakasih dan Semoga Bermanfaat
----***----

Wassalammu’alaikum warahmatullahi wabarakatuh


Tidak ada komentar:

Posting Komentar