BAB
1
A. JDBC
KONEKSI DATABASE
JDBC API adalah application programming interface yang menyediakan akses data universal untuk bahasa pemrograman java. JDBC API terdiri atas sejumlah class dan interface yang ditulis dalam bahasa Java. Keunggulan JDBC 1. Memudahkan mengirim statement SQL ke sistem database dan mendukung bermacam-macam dialek SQL. 2. Dengan JDBC sebuah aplikasi dapat mengakses sembarang sumber data dan dapat berjalan pada sembarang platform yang mempunyai Java Virtual Machine (JWM).
B. Membangun Koneksi
Hal pertama yang perlu dilakukan adalah membangun sebuah koneksi ke DBMS Yang ingin digunakan. Ini akan melibatkan dua langkah, yaitu : 1. Membuat Driver Membuat driver yang ingin digunakan caranya sederhana, hanya menuliskan satu baris perintah. Sebagai contoh, jika menggunakan Mysql Jdbc Driver : Class.forName(com.mysql.jdbc.Driver); 2. Membuat koneksi Langkah yang kedua adalah membuat driver untuk koneksi ke DBMS. Baris berikut menggambarkan secara umum : url = jdbc:mysql://localhost/penjualandb; myUser = root; myPassword = ; Connection connection = DriverManager.getConnection(url,myUser,myPassword); Sebuah objek Connection mempresentasikan sebuah koneksi dengan database. Sebuah sesi koneksi meliputi statement-statement yang akan dijalankan dan hasil yang dikembalikan. url memiliki tiga bagian, yaitu : a. jdbc, yaitu protokol. Protokol dalam sebuah url JDBC selalu jdbc. b. Subprotokol, nama driver atau nama mekanisme konektivitas database yang mengkin didukung satu atau lebih dirver.
c. Subname, cara untuk mengidentifikasi sumber data. Subnama dapat bervariasi, tergantung pada subprotokol, dan bisa memiliki sintaks internal apa saja. Sebuah sumber data pada remote server atau bisa diakses melalui internet, akan mempunyai bentuk //hostname:port/subname Class DriverManger adalah layer manajemen tradisional JDBC, bekerja diantara pemakai dan driver. Tugasnya mengawasi driver yang tersedia dan menangani pembuatan koneksi antara database dan driver.
C. Praktikum
1. Membuat Project di neatbans a. Pilih menu file new project b. Pada choose project, categories dan projects pilih sesuai kebutuhan. Sebagai contoh pada categories pilih java dan pada project pilih java application. c. Klik tombol next, akan muncul jendela seperti dibawah ini
Gambar 1.1 Jendela name and location project Project Name : isikan nama project yang akan kita buat Project Location : merupakan path direktori penyimpanan project Berikan tanda check pada create main class dan set main project. Hal ini untuk membuat secara otomatis class main pada project yang akan dibuat. d. Klik Finish maka project akan terbangun. 2. Membuat package Langkah-langkah : a. Pada source packages klik kanan b. Pilih new java package
Gambar 1.2 Jendela new java package c. Pada package name isikan penjualan.controler Penjualan merupakan package utama. Berarti pemberian nama diatas, cotroler merupakan package yang berada didalam package penjualan. d. Klik Finish 3. Membuat file text pada net beans File text ini akan digunakan untuk menyimpan konfigurasi koneksi database. Lakukan langkah-langkah berikut ini : a. Klik pada project penjualan new b. Pilih other
Gambar 1.3 Jendela new file Categories : Other File types : Empty file c. Pilih Next
Berikan nama file sebagai contoh conf.ini dan tentukan tempat penyimpanan. d. Klik Finish. e. Pada file conf.ini, ketikan configurasi berikut ini : DBDriver=com.mysql.jdbc.Driver DBUsername=root DBHost=localhost DBPassword= DBPort=3306 DBDatabase=penjualandb 4. Menambahkan Library Mysql JDBC Driver a. Klik kanan pada libraries add library
Gambar 1.4 Jendela add library b. Cari Mysql JDBC Driver c. Klik add library 5. Membuat class konek.java Langkah-langkah : a. Klik kanan pada package penjualan.controler Hal ini bertujuan agar class konek tersimpan pada package controler yang berada di dalam package penjualan. b. Pilih new java class c. Isikan class name : Konek d. Klik Finish e. Import package, dengan menuliskan baris perintah berikut ini di atas pendeklarasian class : import com.mysql.jdbc.Connection; import java.io.FileInputStream; import java.io.IOException; import java.sql.DriverManager;
import java.sql.SQLException; import java.util.Properties; import javax.swing.JOptionPane; f. Mendekalrasikan attribut,dengan menuliskan baris perintah berikut ini di dalam class : private Connection connection; private Properties myPanel; private String msg,msgTitle,lib,driver,database,user,password; private int msgTipe; g. Modifikasi kontruktor hingga menjadi seperti di bawah ini : public Konek() { try{ myPanel = new Properties(); myPanel.load(new FileInputStream("conf.ini")); driver = myPanel.getProperty("DBDriver"); database = "jdbc:mysql://"+myPanel.getProperty("DBHost")+":"+myPa nel.getProperty("DBPort")+"/"+myPanel.getProperty("DBD atabase"); user = myPanel.getProperty("DBUsername"); password = myPanel.getProperty("DBPassword"); try { Class.forName(driver); try { connection=(Connection) DriverManager.getConnection(database,user,password); msg = "Succes : Koneksi berhasil"; msgTitle = "Informasi"; msgTipe = JOptionPane.INFORMATION_MESSAGE; }catch (SQLException se){ msg = "Error : Koneksi gagal !"; msgTitle = "Peringatan"; msgTipe = JOptionPane.ERROR_MESSAGE; } }catch(ClassNotFoundException cnfe){ msg = "Error : Class tidak ditemukan"; msgTitle = "Peringatan"; msgTipe = JOptionPane.ERROR_MESSAGE; } }catch(IOException e){ msg = "Error : Configurasi tidak dapat dibuka";
msgTitle = "Peringatan"; msgTipe = JOptionPane.ERROR_MESSAGE; } } public void getMesage(){ JOptionPane.showMessageDialog(null, msg,msgTitle,msgTipe); } 6. Membuat interface untuk konfigurasi koneksi Interface ini akan menggunakan konponen-komponen SWING. Untuk penggunaan komponen-komponen tersebut, tinggal memilih komponen yang akan digunakan pada jendela palette dan menempelkanya pada jendela desain. Langkahlangkah : a. Klik kanan pada package penjualan.controler b. Pilih new JdialogForm c. Pada class name,isikan : KonfigurasiKoneksi d. Klik Finish e. Desain tampilan hingga seperti ini
Gambar 1.5 Desain class KonfigurasiKoneksi Tabel 1.1 Pengaturan properties pada class KonfigurasiKoneksi Komponen Properties Value Jdialog JLabel1 JLabel2 JLabel3 JLabel4 JLabel5 JTextField1 JTextField2 JTextField3 Title Text Text Text Text Text Text Variabel name Text Variabel name Text Variabel name Koneksi MYSQL Nama Komputer/IP Port Username Password Nama database txtHost txtPort txtUserName
JTextField4 JpasswordField1 JButton1 JButton2 JButton2
Text Variabel name Text Variabel name Text Variabel name Text Variabel name Text Variabel name
txtDatabase txtPassword TEST btnTest SIMPAN btnSimpan RESET btnBatal
f.
Import package, dengan menambahkan perintah berikut import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; import javax.swing.JOptionPane; g. Tambahkan baris perintah beikut pada class KonfigurasiKoneksi private Properties myPanel = new Properties(); public KonfigurasiKoneksi(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); getKoneksi(); } public void getKoneksi(){ try { myPanel.load(new FileInputStream("conf.ini")); String host = myPanel.getProperty("DBHost"); String port = myPanel.getProperty("DBPort"); String database = myPanel.getProperty("DBDatabase"); String user = myPanel.getProperty("DBUsername"); String password = myPanel.getProperty("DBPassword"); txtHost.setText(host); txtPort.setText(port); txtUserName.setText(user); txtPassword.setText(password); txtDatabase.setText(database); } catch (IOException ex) {
JOptionPane.showMessageDialog(null, "Error: File konfigurasi tidak ditemukan", "Peringatan", JOptionPane.ERROR_MESSAGE); } } public void setKoneksi(String host,String port,String user,String password,String database){ myPanel.setProperty("DBHost", host); myPanel.setProperty("DBPort", port); myPanel.setProperty("DBUsername", user); myPanel.setProperty("DBPassword", password); myPanel.setProperty("DBDatabase", database); try { myPanel.save(new FileOutputStream("conf.ini"), null); JOptionPane.showMessageDialog(null, "Succes: Konfigurasi berhasil disimpan", "Informasi", JOptionPane.INFORMATION_MESSAGE); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog(null, "Error: Konfigurasi gagal disimpan", "Peringatan", JOptionPane.ERROR_MESSAGE); } } public void setDefaultKoneksi(){ myPanel.setProperty("DBHost", "localhost"); myPanel.setProperty("DBPort", "3306"); myPanel.setProperty("DBUsername", "root"); myPanel.setProperty("DBPassword", ""); myPanel.setProperty("DBDatabase", "penjualandb"); try { myPanel.save(new FileOutputStream("conf.ini"), null); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog(null, "Error: Konfigurasi gagal", "Peringatan", JOptionPane.ERROR_MESSAGE); } } h. Menambahkan event 1. Klik 2 kali button TEST pada jedela desain, dan tuliskan perintah berikut private void btnTestActionPerformed(java.awt.event.ActionEve nt evt) { // TODO add your handling code here:
Konek konek = new Konek(); konek.getMesage(); } 2. Klik 2 kali button SIMPAN pada jedela desain, dan tuliskan perintah berikut private void btnSimpanActionPerformed(java.awt.event.ActionE vent evt) { // TODO add your handling code here: setKoneksi(txtHost.getText(), txtPort.getText(), txtUserName.getText(), txtPassword.getText(), txtDatabase.getText()); } 3. Klik 2 kali button RESET pada jedela desain, dan tuliskan perintah berikut private void btnBatalActionPerformed(java.awt.event.ActionEv ent evt) { // TODO add your handling code here: setDefaultKoneksi(); getKoneksi(); } 7. Langkah meng-compile dan me-running project a. Tekan tombol F6 pada keyboard b. Atau piih menu run run project
8. Langkah me-running file a. Pilih file pada jendela project b. Klik kanan run file