Anda di halaman 1dari 28

STMIK Cikarang KONEKSI DATABASE ACCESS DENGAN JAVA (NETBEANS 6.7.1) Buka Ms. Access..

Di sini saya pakai Ms Access 2007, Untuk membuat database baru, pilih pada New Blank Database, maka akan muncul seperti gambar berikut ini :

setelah new blank database di klik, di bagian samping bakalan muncul penampakan seperti berikut :

51

STMIK Cikarang Silahkan kasih nama databasenya, di sini saya menamai database dengan databaseku dan di simpan di folder D:\DATABASE\ACCESS. Simpan dengan format Ms Access 2003 atau tipe database *.mdb. Caranya, klik tombol folder terbuka di kanan nama database. Lalu ubah tipe file database ke database Access 2000-2003 (*.mdb) Seperti gambar di bawah ini:

Klik OK Klik tombol Create.

Kita klik tombol View di bawah bunderan di pojok kiri atas (Office button), Pilih Design View, kita akan diminta meng-Save tabel itu dulu, dengan nama mahasiswa, klik ok

52

STMIK Cikarang

Sekarang coba kita buat field-field dan menentukan tipe datanya..

Setelah desain table. Kita kembali ke datasheet view, dengan cara klik view di bawah office button, pilih datasheet view. Isikan record terserah anda ke dalam table.

53

STMIK Cikarang MENGATUR KONFIGURASI ODBC ODBC merupakan aturan yang digunakan untuk mengakses sebuah database. Dengan menggunakan ODBC ini maka akses ke sebuah database dapat dilakukan dengan menggunakan nama yang dikehendaki Langkah-langkah konfigurasi ODBC adalah : Buka Control Panel Administrative Tools Data Sources (ODBC)

Klik tombol Add

Pilih driver Microsoft Access Driver (*.mdb,), terus Finish

54

STMIK Cikarang

Isi Data Source name dengan nama terserah anda (dsnjava), untuk description boleh dibiarkan kosong. Klik tombol Select, cari posisi database yang tadi kita buat kemudian klik tombol OK.

Klik tombol Advance, untuk memberi password ODBC kita.

55

STMIK Cikarang

Isi Login admin terserah anda (contoh : admin) dan Password admin. klik OK dan OK lagi untuk mengakhiri pengaturan ODBC. MEMBUAT FORM SEDERHANA DI NETBEANS UNTUK MENGAKSES DATABASE Buka netbeans, maka muncul :

Buat Project baru: File New Project Next.. Pilih Kategori Java, dan Project Java Application Next.. Masukkan Nama Proyek.. di sini saya contohkan dengan nama ACCESS dan lokasi penyimpanannya di D:\ Jangan lupa hilangkan tanda centang di bagian Create Main Class Klik FINISH

56

STMIK Cikarang

Selanjutnya kita buat Package untuk proyek kita.. klik kanan default package New Java Package

Isi Package Name seperti di bawah ini :

57

STMIK Cikarang Klik Finish. Package baru kita akan terlihat di bagian Panel Projects:

Klik kanan package kita tadi (koneksi) , lalu pilih New Jframe Form

Sekarang coba kita buat form sederhana dengan komponen yang terdiri dari JTextField, JLabel, dan JButton seperti di bawah ini:

58

STMIK Cikarang

Ubah masing-masing komponen dengan cara : Klik kanan Change Variable Name - , lalu isikan nama variabelnya: TextField untuk nama saya kasih nama variabel: txtnama TextField untuk nim saya kasih nama variabel: txtnpm TextField untuk Alamat saya kasih nama variabel: txtalamat Button Tambah saya kasih nama variabel: bttambah Button Ubah saya kasih nama variabel: btubah Button Hapus saya kasih nama variabel: bthapus Button Cari saya kasih nama variabel: btcari Kemudian ... kita akan Memasukkan script sql ke dalam form.

59

STMIK Cikarang MEMASUKKAN SCRIPT SQL KE DALAM FORM Pertama, kita pasangkan Event Handler buat tombol Tambah kita, caranya begini: Klik kanan tombol Tambah kita, pilih Events Action actionPerformed Setelah itu kita akan dibawa ke dalam jendela editor, di sini kita bisa melihat source code dari form kita.

Nah.. kita akan memasukkan kode untuk tombol tambah diantara kode berikut ini:
// di sini adalah letak kode sql kita nanti } Tapi sebelumnya kita coba tes dulu koneksi ke database.

TEST KONEKSI KE DATABASE

60

STMIK Cikarang
Di package koneksi, kita buat sebuah class baru dengan nama Koneksi.java Kita isi class tersebut dengan kode di bawah ini:
package koneksi; import java.sql.*; import javax.swing.*; /** * * @author ttg */ public class koneksi { void testKoneksi() { try { String dbname="jdbc:odbc:dsnjava"; // nama ODBC // ingat-ingat, CobaDatabase adalah nama ODBC kita yang udah kitaatur sebelumnya Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(dbname,"Admin","admin"); // user n passwordnya // user database samakan dengan yang kita atur di ODBC tadi, yaitu // 'Admin', dengan password 'admin' JOptionPane.showMessageDialog(null, "Koneksi berhasil","Insert Data",JOptionPane.INFORMATION_MESSAGE); con.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); } } public static void main (String args[]) { koneksi test = new koneksi(); test.testKoneksi(); System.exit(0); } }

Setelah itu coba run file class tersebut.. (Shift + F6) Kalau sudah benar, maka akan terdapat tampilan JoptionPane seperti berikut ini:

Perlu diingat bahwa :


Str i ng dbname="jdbc:odbc:dsn java"adalah ;

menentukan nama data source (DSN) yang

sudah kita deklarasikan di ODBC tadi.


Connection con = DriverManager.getConnection(dbname,"Admin","admin");

61

STMIK Cikarang
Nah, yang ini adalah user dan password database kita, yang juga sudah kita deklarasikan saat membuat Data Source di ODBC tadi, Username: Admin Password: admin MEMASUKKAN DATA KE DATABASE (INSERT) Setelah berhasil koneksi ke database kita, sekarang saatnya menggunakan form kita tadi untuk insert data ke database. Pada Event yang telah kita buat untuk tombol Tambah tadi, kita isi dengan kode berikut ini: private void bttambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String npm = txtnpm.getText(); String nama = txtnama.getText(); String alamat = txtalamat.getText(); try { String dbname="jdbc:odbc:dsnjava"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(dbname,"Admin","admin"); Statement statement = con.createStatement(); String sql="insert into mahasiswa values('"+npm+"','"+nama+"','"+alamat+"');"; statement.executeUpdate(sql); statement.close(); JOptionPane.showMessageDialog(null, "Data berhasil dimasukkan..","Insert Data",JOptionPane.INFORMATION_MESSAGE); txtnpm.setText(""); txtnama.setText(""); txtalamat.setText(""); //txtnpm.setFocusable(rootPaneCheckingEnabled); con.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); //System.err.println("Exception: "+e.getMessage()); } } Setelah itu coba run form kita tadi..

62

STMIK Cikarang

Isi JTextField-JTextField nya dengan data yang dikehendaki Kemudian klik tombol tambah

Kita lihat hasilnya Buka database access yang kita buat. Apakah data sudah masuk atau belum.

63

STMIK Cikarang

MENCARI DATA DAN MENAMPILKANNYA DI FORM Tambahkan event buat tombol cari ini, kemudian isi dengan kode berikut:

private void btcariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String npm = txtnpm.getText(); try { String dbname="jdbc:odbc:dsnjava"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(dbname,"Admin","admin"); Statement statement = con.createStatement(); String sql="SELECT * FROM mahasiswa WHERE npm like '"+npm+"'"; ResultSet rs = statement.executeQuery(sql); if (rs.next()) { txtnama.setText(rs.getString(2)); txtalamat.setText(rs.getString(3)); JOptionPane.showMessageDialog(null, "Data ditemukan","Insert Data",JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog(null, "Data tidak ditemukan ","Insert Data",JOptionPane.INFORMATION_MESSAGE); } statement.close(); con.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror:"+e,"Gagal",JOptionPane.WARNING_MESSAGE); //System.err.println("Exception: "+e.getMessage()); } } 64

STMIK Cikarang Coba anda jalankan dan lihat hasilnya :

Masukkan NPM, lalu klik tombol Cari.

65

STMIK Cikarang
UBAH DATA Edit data digunakan apabila kita ingin melakukan perubahan terhadap data yang sudah ada di database kita. Tambahkan kode berikut ini pada tombol ubah :

private void btubahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String npm = txtnpm.getText(); String nama = txtnama.getText(); String alamat = txtalamat.getText(); try { String dbname="jdbc:odbc:dsnjava"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(dbname,"Admin","admin"); Statement statement = con.createStatement(); String sql="UPDATE mahasiswa SET NAMA='"+nama+"', ALAMAT='"+alamat+"' WHERE npm LIKE '"+npm+"'"; statement.executeUpdate(sql); statement.close(); JOptionPane.showMessageDialog(null, "Data berhasil diedit..","Insert Data",JOptionPane.INFORMATION_MESSAGE); con.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); //System.err.println("Exception: "+e.getMessage()); } } Coba jalankan dan lihat hasilnya.

66

STMIK Cikarang
HAPUS DATA Tambahkan kode berikut ini pada tombol Hapus :
private void bthapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String npm = txtnpm.getText(); try { String dbname="jdbc:odbc:dsnjava"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(dbname,"Admin","admin"); Statement statement = con.createStatement(); String sql="DELETE FROM mahasiswa WHERE Npm LIKE '"+npm+"'"; statement.executeUpdate(sql); statement.close(); txtnpm.setText(""); txtnama.setText(""); txtalamat.setText(""); JOptionPane.showMessageDialog(null, "Data berhasil dihapus..","Insert Data",JOptionPane.INFORMATION_MESSAGE); con.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); //System.err.println("Exception: "+e.getMessage()); } }

67

STMIK Cikarang
FORM LOGIN

1. Tambahkan table dengan nama user ke dalam database anda dengan struktur table sebagai berikut :

2. Tambahkan file java anda dengan klik kanan nama packages koneksi New JFrameForm, berinama dengan frmlogin Finish. 3. Desain form sesuai gambar dibawah ini :

Komponen-komponen yang digunakan : - 3 buah panel tempatkan pada posisi atas, tengah dan bawah dalam frame/form - 3 buah label Komponen Text Jlabel1 = = LOGIN == Jlabel2 User Id Jlabel3 Password 68

STMIK Cikarang 2 buah textField Komponen Jtextfield1 jtextField2 2 buah button Komponen Jbutton1 Jbutton2

Text Kosongkan Kosongkan Text OK Batal

Variable Name txtUserId txtPassword Variable Name cmdok cmdbatal

4. Ketikkan kode program sesuai dengan fungsi-fungsi dengan melihat tiap tempat kodenya : package koneksi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.JOptionPane; /** * * @author ttg */ public class frmlogin extends javax.swing.JFrame { public Connection con; public Statement statement; /** Creates new form frmlogin */ public frmlogin() { initComponents(); } //method untuk koneksi ke database private void koneksi(){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection("jdbc:odbc:dsnjava","Admin","admin"); statement = con.createStatement(); }catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); } }

69

STMIK Cikarang //method untuk login public void cariuser(){ try{ koneksi(); String sql = "Select * from user where user_id='"+txtUserId.getText()+"' and password='" + txtPassword.getText() + "'"; statement = con.createStatement(); ResultSet RUser = statement.executeQuery(sql); if (RUser.next()) { //JOptionPane.showMessageDialog(null, "Sukses Bro.....!"); new frmMenu().show(); this.dispose(); } }catch (Exception e){} txtUserId.setText(""); txtPassword.setText(""); txtUserId.requestFocus(); } //tombol ok private void cmdOKActionPerformed(java.awt.event.ActionEvent evt) { cariuser(); } //tombol batal private void cmdBatalActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); // TODO add your handling code here: } //memberi kunci penekanan enter pada txtuserid private void txtUserIdKeyReleased(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == 10){ txtPassword.requestFocus(); } // TODO add your handling code here: } //memberi kunci penekanan enter pada txtpassword private void txtPasswordKeyReleased(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == 10){ cmdOK.doClick(); } // TODO add your handling code here: } 5. Coba jalankan program login anda. Nb : buat juga form untuk menu (frmMenu)

70

STMIK Cikarang
FORM MENU

1. Buat form menu (frmMenu) dengan klik kanan nama packages koneksi New JFrameForm, berinama dengan frmMenu Finish. 2. Desain form sesuai gambar dibawah ini :

Komponen-komponen yang digunakan : - jMenubar atur terserah anda - jMenuitem atur terserah anda 3. Ketikkan kode program sesuai dengan fungsi-fungsi dengan melihat tiap tempat kodenya : private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { new mahasiswa().setVisible(true); // TODO add your handling code here: } private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); // TODO add your handling code here: } 4. Coba jalankan program login anda. Latihan : 1. Buat Form untuk menambah user yang dapat login, dengan nama frmUser. 2. Perbaharui form menu anda dengan tambahkan Input Data User.

71

STMIK Cikarang
FORM TRANSAKSI

1. Tambahkan table dengan nama nilai ke dalam database anda dengan struktur table sebagai berikut :

2. Tambahkan file java anda dengan klik kanan nama packages koneksi New JFrameForm, berinama dengan frmTNilai.java Finish. 3. Desain form sesuai gambar dibawah ini :

Komponen-komponen yang digunakan : - 3 buah panel tempatkan pada posisi atas, tengah dan bawah dalam frame/form - 10 buah label 72

STMIK Cikarang

Komponen Jlabel1 Jlabel2 Jlabel3 Jlabel4 Jlabel5 Jlabel6 Jlabel7 Jlabel8 Jlabel9 Jlabel10 9 buah textField Komponen jtextfield1 jtextField2 Jtextfield3 jtextField4 Jtextfield5 jtextField6 Jtextfield7 jtextField8 Jtextfield9 2 buah combobox Komponen jcomboBox1 jcomboBox2 1 buah Spinner Komponen JSpinner 3 buah button Komponen Jbutton1 Jbutton2 Jbutton3

Text NPM Tanggal Kode Matakuliah Absen Quis Tugas UTS UAS Nilai Angka Nilai Huruf Text Kosongkan Kosongkan Kosongkan Kosongkan Kosongkan Kosongkan Kosongkan Kosongkan Kosongkan Variable Name txtnamamhs txtnamamtk txtabsen txtquis txttugas txtuts txtuas txtna txtnh Variable Name cmbnpm cmbmtk Variable Name txttgl

Text = Pilih NPM = = Pilih Kode MTK = Model Model Type : Date Text Batal Simpan Keluar

Variable Name btbatal btsimpan btkeluar

4. Ketikkan kode program sesuai dengan fungsi-fungsi dengan melihat tiap tempat kodenya : package koneksi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException;

73

STMIK Cikarang import java.sql.Statement; import javax.swing.JOptionPane; import javax.swing.JSpinner; import java.awt.*; public class frmTNilai extends javax.swing.JFrame { public Connection con; public Statement statement; String tanggal; private Dimension UM = Toolkit.getDefaultToolkit().getScreenSize(); /** Creates new form frmTNilai */ public frmTNilai() { initComponents(); txttgl.setEditor(new JSpinner.DateEditor(txttgl,"yyyy/MM/dd")); isicombo(); isicombomtk(); setLocation(UM.width/2-getWidth()/2,UM.height/2-getHeight()/2); } private void hitung() { int xabsen, xquis, xtugas, xuts, xuas; double xna;// = Double.parseDouble(txtna.getText()); xabsen =Integer.parseInt(txtabsen.getText()); xquis =Integer.parseInt(txtquis.getText()); xtugas =Integer.parseInt(txttugas.getText()); xuts =Integer.parseInt(txtuts.getText()); xuas =Integer.parseInt(txtuas.getText()); xna = ((0.15 * xabsen) + (0.15 * xquis) + (0.15 * xtugas) + (0.25 * xuts) + (0.35 *xuas)); txtabsen.setText(String.valueOf(xabsen)); txtquis.setText(String.valueOf(xquis)); txttugas.setText(String.valueOf(xtugas)); txtuts.setText(String.valueOf(xuts)); txtuas.setText(String.valueOf(xuas)); txtna.setText(String.valueOf(xna)); if (xna >= 80){ txtnh.setText("A");

74

STMIK Cikarang }else if (xna >= 70){ txtnh.setText("B"); }else if (xna >= 55){ txtnh.setText("C"); }else if (xna > 35) { txtnh.setText("D"); }else { txtnh.setText("E"); } } private void isicombo() { try{ koneksi(); String sql = "Select * from mahasiswa"; ResultSet rs = statement.executeQuery(sql); while (rs.next()) { cmbnpm.addItem(rs.getString(1)); } } catch (Exception e){} } //method baca tabel mtk private void isicombomtk() { try{ koneksi(); String sql = "Select * from matakuliah"; ResultSet rs = statement.executeQuery(sql); while (rs.next()) { cmbmtk.addItem(rs.getString(1)); } } catch (Exception e){} } //methohd baca data mahasiswa private void baca_mhs() { try{ koneksi(); String sql = "Select * from mahasiswa where npm ='"+ cmbnpm.getSelectedItem()+"'"; ResultSet rs = statement.executeQuery(sql); if (rs.next()) { txtnamamhs.setText(rs.getString(2)); } else { JOptionPane.showMessageDialog(null, "Data Tidak Ada"); } } catch (Exception e){ }

75

STMIK Cikarang } //method baca matakuliah private void baca_mtk() { try{ koneksi(); String sql = "Select * from matakuliah where kdmtk ='"+ cmbmtk.getSelectedItem()+"'"; ResultSet rs = statement.executeQuery(sql); if (rs.next()) { txtnamamtk.setText(rs.getString(2)); } else { JOptionPane.showMessageDialog(null, "Data Tidak Ada"); } } catch (Exception e){ } } private void koneksi(){ try { //String dbname=""; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection("jdbc:odbc:dsnjava","Admin","admin"); statement = con.createStatement(); }catch (Exception e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); } } private void cmbnpmActionPerformed(java.awt.event.ActionEvent evt) { baca_mhs(); // TODO add your handling code here: } private void cmbmtkActionPerformed(java.awt.event.ActionEvent evt) { baca_mtk(); // TODO add your handling code here: } private void txtuasKeyPressed(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == 10){ hitung(); // TODO add your handling code here: } } private void txtabsenKeyReleased(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == 10){

76

STMIK Cikarang txtquis.requestFocus();// TODO add your handling code here: } } private void txtquisKeyReleased(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == 10){ txttugas.requestFocus(); // TODO add your handling code here: } } private void txttugasKeyReleased(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == 10){ txtuts.requestFocus();} // TODO add your handling code here: } private void txtutsKeyPressed(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == 10){ txtuas.requestFocus();} // TODO add your handling code here: } private void btsimpanActionPerformed(java.awt.event.ActionEvent evt) { simpan(); // TODO add your handling code here: } private void btbatalActionPerformed(java.awt.event.ActionEvent evt) { kosong(); // TODO add your handling code here: } private void btkeluarActionPerformed(java.awt.event.ActionEvent evt) { dispose(); // TODO add your handling code here: } private void simpan() { try{ koneksi(); String xmhs = cmbnpm.getSelectedItem().toString(); String xmtk = cmbmtk.getSelectedItem().toString(); String xabs = txtabsen.getText(); String xquis = txtquis.getText(); String xtugas = txttugas.getText(); String xuts = txtuts.getText(); String xuas = txtuas.getText(); String xna = txtna.getText(); String xnh = txtnh.getText(); String msql="insert into nilai values ('"+xmhs+"','"+xmtk+"','"+xabs+"','"+xquis+"','"+xtugas+"','"+xuts+"','"+xuas+"','"+xna+ "','"+xnh+"')";

77

STMIK Cikarang statement.executeUpdate(msql); con.close(); JOptionPane.showMessageDialog(null,"Simpan Oke"); kosong(); } catch(SQLException e) { System.out.println("Error : "+e); } } private void kosong(){ txtnamamhs.setText(""); txtnamamtk.setText(""); txtabsen.setText("0"); txtquis.setText("0"); txttugas.setText("0"); txtuts.setText("0"); txtuas.setText("0"); txtna.setText("0"); txtnh.setText(""); txtabsen.requestFocus(); } } Latihan : 1. Perbaharui form menu anda dengan tambahkan Menu Bar Transaksi. 2. Koneksikan menu transaksi dengan frmTNulai.java. Catatan : Jika Anda tidak mempunyai file main.java pada project anda. Maka tambahkan file tersebut untuk dapat membuat running otomatis dengan tekan F6. cara dank ode program yang dapat anda lakukan adalah : Tambahkan file java anda dengan klik kanan nama packages koneksi New Java Class, berinama dengan main.java Finish. Tambahkan kode program seperti gambar di bawah ini :

78

Anda mungkin juga menyukai