Minggu, 17 Desember 2017

Laporan Praktikum Algo dan Pemrograman II (JAVA) 14 : JAVA DATABASE CONNECTIVITY



  Assalamualaikum warahmatullahi wabarakatuh... Postingan ini saya buat untuk memenuhi tugas Laporan praktikum dari Dosen cantik saya Sundari Retno Andini, S.T,M.Kom selaku Dosen Algo dan Pemrograman II (JAVA).

JAVA  DATABASE CONNECTIVITY
JDBC (Java Database Connectivity)   merupakan trademark dari  Sun Microsystem   yg merupakan bagian dari teknologi JAVA yg menangani pengolahan database.  Java tidak membedakan cara pemrograman database yg satu dengan yg lainnya. Sebagai contoh : cara java mengolah Oracle dan MySQL sama saja, yg berbeda hanyalah alamat URL koneksi dan driver JDBC-nya, Sehinggan kida dapat membuat sebuah program yg ada di javaa untuk mengolah database yg 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 yg berhubungan dengan koneksi driver, koneksi database, eksekusi perintah SQL dan lain2 komponen2 tsb antara lain adalah sebagai berikut :
a)      Driver adalah komponen untuk menangani masalah komunikasi dengan databasw server.
b)      Driver Manager adalah komponen untuk menangani objek driver dengan objek DriverManager juga mngendalikan detail dari proses kerja objek driver.
c)      Connection adalah komponen yg menangani koneksi ke database.
d)     Statement adalah komponen yg menangani pengiriman perintah SQL ke database.
e)      ResultSet adalah komponen yg menangani penyimpanan data yg didapat dari databse setelah perintah SQL dieksekusi oleh komponent Statement.
f)       SQLException adalah komponen yg difunakan untuk menangani kesalahan2 (error) yg mungkin terjadi dalam pengolahn database.

2.      KEUNGGULAN TEKNOLOGI JDBC

a.       Mempertahankan data yg ada.
b.      Meyederhanakan pembuatan aplikasi dengan kombinasi antara java API dan JDBC API.
c.       Tidak perlu melakukan konfigurasi jaringan computer clien.
d.      JDBC API memberi akses penuh pada metadata sehingga memngkinkan pengembangan aplikasi yg lebih canggih.
e.       JDBC driver tidak perlu diinstal karena murni bawaan Java
Langakah2 Praktikum
A.    Membuat database dengan menggunakan MySQL
1.      Simpan driver JDBC MySQL “mysql-connector-java.jar”  ke dalam folder_instalasi_java/jdk/jre/lib/ext
2.      Jalankan program MySQL
3.      Buatlah database dengan ketentuan sebagai berikut :
Nama Database           : Praktikum
Nama Tabel                 : mahasiswa, terdiri dari tiga field, yaiut NIM, Nama dan Alamat.
Syntax                         : create database praktikum;
                use praktikum;
               create table mahasiswa {   
               NIM varchar(9),
               Nama varchar(30),
               Alamat varchar(30)
                              }:
B.     Membuat databasw dengan menggunakan MS.Accsess
a.Jalankan Program Ms.Accsess
b.Buatlah database sebagai berikut :
Nama File  : Praktikum
Nama Table : mahasiswa, terdiri dari tiga field, yaiut NIM,
             Nama dan alamat yg semuanya bertipe text.

C. Membuat menu pemasukan dan penghapusan data dari database
praktikum. 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);
}
}


D. Membuat Menu Lihat Data dari database Praktikum
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”,””);
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”};
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);
}
}


Nah,, sekian postingan dari Saya.. Terima Kasih 😁😁😁😁
Wassalamualaikum..

Tidak ada komentar:

Posting Komentar