Sabtu, 24 Mei 2014

Tugas Praktikum PAG Koneksi Database Microsoft Acess Dengan Java

               Pada Praktikum Pemrograman Antarmuka Grafis "PAG"  kemarin [Rabu,14 Mei 2014]  kami mendapat tugas mengkoneksikan program java sederhana dengan database Micsrosoft Access. Kali ini saya menggunakan Windows 8 64bit dengan database microsoft access 2013 menggunakan Java Version 1.7.0_51 dan NetBeans IDE 7.4. Untuk versi lainnya tidak beda jauh tetapi tidak untuk java versi8.0 keatas, karena sudah banyak perubahan dan tidak support ODBC.
Untuk yang mau belajar membuat juga, ikuti langkah-langkah sebagai berikut :




Untuk membuatnya saya membagi menjadi 3 Langkah utama.

A. Membuat database Di Microsoft Access
1. Langkah Pertama yaitu buka Microsoft Aceess dan pilih Blank desktop database kemudian isikan
    nama databasenya dan klik icon folder dan cari lokasi di mana kita akan menyimpannya. disini
    saya beri nama Mahasiswa.accdb selanjutnya klik Create. Seperti pada gambar di bawah ini:


 2. Selanajutnya akan tampil sebuah lembar database baru dan untuk menyimpannya klik View pada
     pojok kiri atas maka akan diminta untuk menamai tabel. tabelnya saya beri nama Mahasiswa lalu
     klik OK maka akan secara otomatis tersimpan.


3. Kemudian pada Field Name isi nim, nama, alamat dan pada data type isi Number, Short Text,
    Short Text secara berurutan.


4. Selanjutnya yaitu menyimpan tabel yang telah kita buat dengan klik tombol View pada pojok
     kanan atas. maka akan ada konfirmasi dan klik Yes.


Sekarang pembuatan database telah selesai. dan lanjut pada langkah ke-2.

B. Mensetting Database supaya bisa terkoneksi dengan Java 

1. Arahkan Krusor pada pojok kiri bawah kemudian klik kanan pilih control panel dan System and
    Security.


2. Pilih Administrative Tools dan pilih ODBC Data Sources (64bit).




3. Setelah itu Klik Add pilih Micosoft Access Driver (*.mdb, *accdb) klik Finish.



4. Setelah muncul jendela baru pada Data Source Nama isi dengan Mahasiswa, ini yang akan kita
     gunakan dalan nama koneksi database.


5. Kemudian klik Select dan cai dimana kita menaruh database yang kita buat tadi.


6. Setelah selesai klik OK. dan dilanjutkan dengan Klik Advanced untuk menambahkan Username dan Password databese. Isi Login name dan password kemudian klik ok kemudian ok lagi.


jika berhasil akan tampil nama database yang kita buat tadi


Langkah ke-2 sudah selesai yaitu mensetting database, lalu kita lanjut ke langkah terakhir yaitu membuat Program.

C. Membuat Program

1. Langkah Pertama Buka NetBeans dan buat Project baru dengan pilih file lalu New Project.


2. Kemudian pilih Java Application klik next dan isi Project Name. Sebagai contoh saya kasih nama
    Tugas_Praktikum dan klik Finish.



3. Langgkah selanjutnyayaitumembuat package baru. Buka Project yang kita buat tadi pada source
    package klik kanan new java package saya kasih nama Koneksi_Database_Access kemudian klik
    Finish.


4. Kemudian Buat sebuah Class untuk mengecek apakah koneksi berhasil atau gagal. Klik Kanan
    Pada package yang telah kita buat tadi, pilih new, Java Main Class. saya kasih nama koneksi lalu
    klik Finish.


5. Isi Dari Class Koneksi

package Koneksi_Database_Access; // Nama package


import java.awt.HeadlessException;// import" yang akan digunakan
import java.sql.*;
// import" yang akan digunakan
 import javax.swing.*;  // import" yang akan digunakan
 
public class Koneksi { // class Koneksi

        void testKoneksi(){
        try{
            String dbname="jdbc:odbc:Mahasiswa"; //setting nama database
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // menggunakan driver java 

                                                                                                 untuk database Access.
            try (Connection con = DriverManager.getConnection(dbname,"ln21", "566142")) { // mencoba mengon
eksikan database dengan java.
                JOptionPane.showMessageDialog(null, "Koneksi Berhasil", "Koneksi", JOptionPane.INFORMATION_MESSAGE); // jika nama database user dan password benar maka koneksi berhasil
            }
        }
        catch (ClassNotFoundException | SQLException | HeadlessException e){
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE); Jika ada yang keliru maka koneksi gagal
        }
    }
    public static void main(String[] args) {
        Koneksi test = new Koneksi();        test.testKoneksi();
        System.exit(0);
    }
   
}



6. Buat Jframe Form baru pada packages tadi saya kasih nama FormMahasiswa klik Finish



7. Kemudian Tambahkan 3 jLabe, 3 jTextField, dan 5 jButton. Penempattan sesuai keinginan saja.


8. Ubah Nama jLabel Dengan Nim, Nama, dan Alamat dengan cara klik kanan pada masing-masing
     jLabel kemudian pilih Edit Text.



9. Kosongkan Text pada jTextField lalu klik kanan dan pilih Change Variabel Name biar mudah
    ganti dengan tfNim, tfNama, tfAlamat.


10. Ubah Nama Button menjadi Tambah, Cari, Clear, Hapus, dan Edit dan ubah juga Variable
      Namanya menjadi BtnTambah BtnCari, BtnClear, BtnHapus, dan BtnEdit.
 



 Import yang dibutuhkan

import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.sql.Statement;


 11. Isi Tombol Cari

private void BtnCariActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
       
        String nim = tfNim.getText();  //
        try{
            String dbname="jdbc:odbc:Mahasiswa"; //nama database
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //driver java untuk access
            Connection con = DriverManager.getConnection(dbname,"ln21", "566142"); //koneksi driver drngan databbase
            Statement statement = con.createStatement(); //membuat statement
            String sql="select * from mahasiswa where nim like'"+nim+"'"; //perintah mencari nim dari database
            ResultSet rs = statement.executeQuery(sql); //jika nim ketemu
            if (rs.next()){
                tfNama.setText(rs.getString(2));//menampilkan nama
                tfAlamat.setText(rs.getString(3));//menampilkan alamat
                JOptionPane.showMessageDialog(null, "Data Ditemukan ", "Insert Data", JOptionPane.INFORMATION_MESSAGE);// jika data ditemukan maka akan ada pemberitahuan data ditemukan
            }
            else{
                JOptionPane.showMessageDialog(null, "Data Tidak Ditemukan ", "Insert Data", JOptionPane.INFORMATION_MESSAGE);
// jika data tidak ditemukan maka akan ada pemberitahuan gagal            
}
            statement.close();//menutup statement
            con.close();
        } catch (ClassNotFoundException e){
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (HeadlessException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);


//jika database bermasalah maka akan error
        }
    }         


12.        Isi Tombol Tambah

private void BtnTambahActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
      
        String nim = tfNim.getText();
        String nama = tfNama.getText();
        String alamat = tfAlamat.getText();    
        try{
            String dbname="jdbc:odbc:Mahasiswa"; //nama database
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//driver java untuk access
            Connection con = DriverManager.getConnection(dbname,"ln21", "566142"); // koneksi database dengan java
            Statement statement = con.createStatement();
            String sql="insert into mahasiswa values('"+nim+"','"+nama+"','"+alamat+"');"; // perintah sql untukmemasukkan / menambah data
            statement.executeUpdate(sql); // perintah sql update
            statement.close();
            JOptionPane.showMessageDialog(null, "Data Berhasil Ditambahkan ", "Insert Data", JOptionPane.INFORMATION_MESSAGE);
            con.close();
        }
        catch (ClassNotFoundException e){
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (HeadlessException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        }
    }               


13. Isi Tombol Ubah

 private void BtnUbahActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
       
        String nim = tfNim.getText();
        String nama = tfNama.getText();
        String alamat = tfAlamat.getText();    
        try{
            String dbname="jdbc:odbc:Mahasiswa";
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection(dbname,"ln21", "566142");
            Statement statement = con.createStatement();
            String sql="update mahasiswa set nama='"+nama+"', alamat='"+alamat+"'where nim like'"+nim+"'"; //perintah update/mengubah database
            statement.executeUpdate(sql);
            statement.close();
            JOptionPane.showMessageDialog(null, "Data Berhasil Diubah ", "Insert Data", JOptionPane.INFORMATION_MESSAGE);
            con.close();
        } catch (ClassNotFoundException e){
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (HeadlessException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        }
    }       


14. Isi Tombol Hapus

    private void BtnHapusActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
       
        String nim = tfNim.getText(); 
        try{
            String dbname="jdbc:odbc:Mahasiswa";
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection(dbname,"ln21", "566142");
            Statement statement = con.createStatement();
            String sql="delete from mahasiswa where nim like'"+nim+"'"; //perintah hapus dari database
            statement.executeUpdate(sql);
            statement.close();
            tfNim.setText("");
            tfNama.setText("");
            tfAlamat.setText("");
            JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus ", "Insert Data", JOptionPane.INFORMATION_MESSAGE);
            con.close();
        } catch (ClassNotFoundException e){
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        } catch (HeadlessException e) {
            JOptionPane.showMessageDialog(null, "Error : "+e, "Gagal", JOptionPane.WARNING_MESSAGE);
        }
    }     


15. Isi Tombol Hapus

    private void BtnClearActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
       
        tfNim.setText(""); //clear/mengosongkan textfield Nim
        tfNama.setText("");
//clear/mengosongkan textfield Nim       
       tfAlamat.setText("");//clear/mengosongkan textfield Nim   
 }   


16. Tampilan














1 komentar: