Anda di halaman 1dari 17
1
1

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

2

Sebelum

digunak an :

2 Sebelum digunak an : memulai p embuatan aplikasi ini, pastikan so ftware beri k ut

memulai p embuatan

aplikasi ini, pastikan so ftware beri kut telah ter instal di co mputer yan g akan

Netbeans I DE (Dalam kasus ini m enggunakan

Mysql Serv er (Dalam k asus ini me nggunakan versi 5.1.4 8) atau phpt riad

Jdk (Dalam kasus ini m enggunaka n versi 6u2 1)

versi 6.9.1 )

Dalam

membu at form dan memahami penggunaa n java Swi ng (jbutton, jtextfield, j label, dll), s erta

pembua tan databas e dan table menggunak an mysql s erver.

pembuatan aplikasi ini diharapkan saudara tel ah memaha mi cara me mbuat proje ct baru,

Sebelu m memulai

databas e nya:

merancang form, kita s iap kan dat abase yang akan digun akan, Berik ut struktur

CREATE DATABASE dbpegawai ;

USE db pegawai;

CREATE TABLE ka ryawan ( nip varchar(1 0) NOT NU LL, nama varchar( 50) NOT N ULL, tgll ahir date NOT NULL , jk v archar(7) NOT NULL , alam at varcha r(100) NO T NULL, jaba tan varch ar(30) NO T NULL, phot o blob NO T NULL, PRIM ARY KEY ( nip)

)

ENGI NE=MyISAM ;

CREATE TABLE us ers ( user name varc har(50) N OT NULL, pass word varc har(50) N OT NULL, stat us varcha r(50) NOT NULL, PRIM ARY KEY ( username)

)

ENGI NE=MyISAM ;

INSERT INTO use rs (usern ame, pass word, stat us) VALUE S ('Nanda ', 'cobac oba',

'Admin ');

INSERT INTO use rs (usern ame, pass word, stat us) VALUE S ('Nanda Ade Putr a',

'cobal agi', 'Ka ryawan');

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

3

Langkah pertama, d e sain form in put seperti p ada gambar berikut : (n ama form : s atu )

put seperti p ada gambar berikut : (n ama form : s atu ) Jtextfiel d
put seperti p ada gambar berikut : (n ama form : s atu ) Jtextfiel d

Jtextfield (var : xnip)

Jtextfield (var : xnama)

Jlabel (va r : photo)

JdateCho oser (var : xta nggal)

JRadioBu tton (var : xpr ria dan xwanit a)

JPanel

JLabel (ti dak terlihat, v ar : Dir)

JTextAre a (var : xalam at)

JComboB ox (var : xjab atan)

JTable

Tampil an form kos ong :

ox (var : xja b atan) JTable Tampil an form kos ong : Membang u n

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

4

Setelah selesai des ain form kit a akan mas uk ke synta x program,

Pertama

kita akan

membuat m ethod untuk koneksi ke

database s erver :

privat e void ko neksi()

{

try { Cla ss.forNam e("com.my con =

Driver Manager.g etConnecti on("jdbc

ini ada lah ip comp uter server

sql.jdbc. Driver");

:mysql://1 92.168.4. 1/dbpega wai","root ","");

sta t = con.c reateStat ement();

JOp tionPane. showMessa

geDialog(r ootPane,

"koneksi

ok

");

} catch (Excepti on e) { JOp tionPane. showMessa

geDialog(r ootPane,

"Koneksi

gagal "+e );

}

}

Tambah kan variabl e baru :

pr ivate Con nection c on; pr ivate Sta tement st at; pr ivate Res ultSet re s;

Lalu pa nggil metho d koneksi t ersebut pad a saat form dijalankan :

metho d koneksi t ersebut pa d a saat form dijalankan : Lalu kit a akan

Lalu kit a akan mem buat synta x untuk me nampilkan p hoto ke for m :

Posisik an syntax p ada tombol browse pho to :

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

5

int jes = Chooser.showOpenDialog(this); if(jes == JFileChooser.APPROVE_OPTION){ File f = Chooser.getSelectedFile(); Dir.setText(f.getPath()); String dir = Dir.getText(); javax.swing.ImageIcon img = new javax.swing.ImageIcon(dir); photo.setIcon(img);

}

tambahkan variable baru :

private JFileChooser Chooser = new JFileChooser();

Selanjutnya kita akan masuk ke syntax untuk memfilter tanggal :

Pisisikan syntax pada action PropertyChange :

if(xtanggal.getDate()!=null){ SimpleDateFormat Format=new SimpleDateFormat("yyyy-MM-dd"); tanggal=Format.format(xtanggal.getDate());

}

Tambahkan variable baru :

private String tanggal;

Buat method baru untuk mengosongkan field² yang ada pada form :

private void kosong()

{

 

xalamat.setText("");

xjabatan.setSelectedIndex(-1);

xnama.setText(""); xnip.setText(""); xpria.setSelected(true); xtanggal.setDate(null); Dir.setText(""); String dir = Dir.getText(); javax.swing.ImageIcon img = new javax.swing.ImageIcon(dir); photo.setIcon(img); xnip.requestFocus();

}

Langkah berikutnya yaitu membuat syntax untuk mengimpan data ke database :

Membangun Aplikasi database Client Server sederhana menggunakan javamysql (©2010)

6

Posisikan syntax pada tombol save :

String kelamin = (xpria.isSelected() ? "Pria" : "Wanita"); try { FileInputStream fis = null; PreparedStatement statement = con.prepareStatement("insert into karyawan (nip, nama, tgllahir, jk, alamat, jabatan, photo) values (?, ?, ?, ?, ?, ?, ?)"); File file = new File(Dir.getText()); fis = new FileInputStream(file); statement.setString(1, xnip.getText()); statement.setString(2, xnama.getText()); statement.setString(3, tanggal); statement.setString(4, kelamin); statement.setString(5, xalamat.getText()); statement.setString(6, (String) xjabatan.getSelectedItem()); statement.setBinaryStream(7, fis, (int) file.length()); statement.executeUpdate(); JOptionPane.showMessageDialog(rootPane, "Data berhasil disimpan"); } catch (Exception e) { JOptionPane.showMessageDialog(rootPane, "Data Gagal disimpan, kesalahan pada "+e);

}

Setelah itu, kita akan membuat syntax pemanggilan data dari database untuk keperluan edit dan delete data :

Posisikan syntax pada tombol cari data :

try {

res = stat.executeQuery("select * from karyawan where nip = '"+xnip.getText()+"'"); if (res.next());

{

xnama.setText(res.getString("nama")); xtanggal.setDate(res.getDate("tgllahir")); if (res.getString("jk").equals("Pria")) { xpria.setSelected(true);

}

if (res.getString("jk").equals("Wanita")) { xwanita.setSelected(true);

}

xalamat.setText(res.getString("alamat"));

Membangun Aplikasi database Client Server sederhana menggunakan javamysql (©2010)

7

xjabatan.setSelectedItem(res.getString("jabatan"));

Blob blob = res.getBlob("photo"); byte[] data = blob.getBytes(1, (int) blob.length()); ImageIcon icon = new ImageIcon(data); photo.setIcon(icon);

}

} catch (Exception e) { xalamat.setText("");

xjabatan.setSelectedIndex(-1);

xnama.setText(""); xpria.setSelected(true); xtanggal.setDate(null); Dir.setText(""); String dir = Dir.getText(); javax.swing.ImageIcon img = new javax.swing.ImageIcon(dir); photo.setIcon(img); xnama.requestFocus();

}

Berikut syntax untuk edit data :

String kelamin = (xpria.isSelected() ? "Pria" : "Wanita"); try { int ok=JOptionPane.showConfirmDialog(rootPane, "Apakah anda juga

melakukan perubahan pada photo???","Tanya",JOptionPane.OK_OPTION); if (ok==0)

{

FileInputStream fis = null; PreparedStatement statement = con.prepareStatement("update karyawan set nama=?, tgllahir=?, jk=?, alamat=?, jabatan=?, photo=? where nip=?");

File file = new File(Dir.getText()); fis = new FileInputStream(file); statement.setString(1, xnama.getText()); statement.setString(2, tanggal); statement.setString(3, kelamin); statement.setString(4, xalamat.getText()); statement.setString(5, (String) xjabatan.getSelectedItem()); statement.setBinaryStream(6, fis, (int) file.length()); statement.setString(7, xnip.getText()); statement.executeUpdate(); }else

Membangun Aplikasi database Client Server sederhana menggunakan javamysql (©2010)

8

{

PreparedStatement statement = con.prepareStatement("update karyawan set nama=?, tgllahir=?, jk=?, alamat=?, jabatan=? where nip=?"); statement.setString(1, xnama.getText()); statement.setString(2, tanggal); statement.setString(3, kelamin); statement.setString(4, xalamat.getText()); statement.setString(5, (String) xjabatan.getSelectedItem()); statement.setString(6, xnip.getText()); statement.executeUpdate();

}

JOptionPane.showMessageDialog(rootPane, "Data berhasil update");

} catch (Exception e) {

JOptionPane.showMessageDialog(rootPane, "Data Gagal diupdate, kesalahan pada "+e);

}

Berikut syntax untuk delete data :

try {

PreparedStatement statement = con.prepareStatement("delete from karyawan where nip=?"); statement.setString(1, xnip.getText()); statement.executeUpdate(); JOptionPane.showMessageDialog(rootPane, "Data berhasil

dihapus

");

}

catch (Exception e) { JOptionPane.showMessageDialog(rootPane, "Data gagal dihapus

");

}

Setelah itu buat method untuk menampilkan data ke dalam table :

private void tampiltabel(String sql)

{

DefaultTableModel tbl = new DefaultTableModel(); tbl.addColumn("No"); tbl.addColumn("NIP"); tbl.addColumn("NAMA"); tbl.addColumn("TANGGAL LAHIR"); tbl.addColumn("JK"); tbl.addColumn("ALAMAT"); tbl.addColumn("JABATAN");

Membangun Aplikasi database Client Server sederhana menggunakan javamysql (©2010)

9

try {

int n=1;

res = stat.e xecuteQue ry(sql); whil e (res.n ext())

{

tbl.addR ow(new Obj ect[]{(n ++), res.getS tring(1), res.getS tring(2), res.getS tring(3), res.getS tring(4), res.getS tring(5), res.getS tring(6) }); jTable1. setModel( tbl);

}

} catch (Excepti on e) { JOp tionPane. showMessa geDialog( null, "Err or "+e);

}

}

Tampil kan data ke dalam table

saat form

dibuka :

} } Tampil kan data ke dalam table saat form dibuka : Berikut syntax untu k

Berikut syntax untu k tombol c ancel :

kosong ();

tampil tabel("sel ect * fr om karyaw an");

Berikut syntax untu k tombol c lose :

dispos e();

Setelah form input selesai, bua t form logi n sederhana , berikut de sainnya : (n ama form : login)

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

10

10 JTextfiel d (var : xuser) JPasswor d field (var : x pass) Pada fo r

JTextfield (var : xuser)

JPasswor dfield (var : x pass)

Pada fo rm login ini , anda haru s melakuka n koneksi k edatabase,

dengan pada form

yang pertam a tadi.

koneksi ke

database sa ma

Setelah koneksi ok , kita lanjut kan dengan syntax pad a tombol lo gin :

try {

res = stat.e xecuteQue ry("select * from u sers wher e

userna me='"+xus er.getTex t()+"' an d passwor d='"+xpass .getText( )+"'");

if(

res.next() )

{

new satu ().show() ; JOptionP ane.showM essageDial og(rootPa ne, "Logi n sukses, Selama t datang user "+xu ser.getTe xt()+""); this.dis pose();

}

els e

{

JOptionP ane.showM essageDial og(rootPa ne, "User / Passwo rd

salah! !!");

}

} catch (Excepti on e) {

}

Tombol cancel :

xuser. setText("

");

xpass.s

etText("") ;

xuser.r

equestFoc us();

Tombol Close :

System .exit(0);

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

11

Langka h berikutn ya adalah yang terpe nting, yait u melakuka n setting p ada datab ase mysql

server,

Jika an da menggu nakan dat abase mys ql dari php triad2-2-1, tidak perl u lagi meng ikuti

langka h ini :

Buka datab ase mysql m enggunaka n Phpmyad min atau E MS SQL M anager

Pilih databa se mysql, l alu pilih tab le user, dan klik insert

 Isi host : ‘%’  User : ‘root’  Password :
 Isi host
:
‘%’
 User
:
‘root’
 Password
:

Dan yang la innya pilih value ‘Y’

Lalu klik G o

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

12

12 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

13

Setelah sett ingan ini se lesai, aplik asi siap digu nakan, dan jika terjadi error pada koneksi ke database seperti :

1.

terjadi error pada koneksi ke database seperti : 1. Berarti d river conn ector mysql nya

Berarti driver conn ector mysql nya belum di add pad a library pr ogram yang kita rancan g, cara mengat asinya : pad a jendela p rojent klik k anan pada Libraries, p ilih add libr ary.

p rojent klik k anan pada Libraries, p ilih add lib r ary. Lalu ta mpil

Lalu ta mpil form b erikut :

Pilih M ysql JDBC Driver, alau

klik Add

Library

b erikut : Pilih M ysql JDBC Driver, alau klik Add Library Membang u n Aplikasi

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

14

2.

14 2. Cara m engatasinya : pastikan 3. firewall com puter anda dalam kea daan off

Cara m engatasinya : pastikan

3.

firewall com puter anda dalam kea daan off

: pastikan 3. firewall com puter anda dalam kea daan off Cara m engatasinya : anda

Cara m engatasinya : anda belu m menamb ahkan host ‘%’ pada ta bel user di database mysql,l akukan lang kah² settin g diatas den gan benar.

4.

mysql ,l akukan lang kah² settin g diatas den gan benar. 4. Cara m engatasinya :

Cara m engatasinya : koneksi g agal saat ak an mengek sekusi print ah SQL, jik a koneksi ini akan hilang.

OK, error

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

15

Tips & Trik

Jika tidak in gin repot²

melakukan setting data base mysql, lebih baik menggunak an mysql

bawaan dar i phptriad, n amun kele mahannya d atabase ba waan phptri ad ini versi 3, jadi tidak mend ukung untu k pembuata n View.

Jika bingun g meletakk an syntax m ethod, leta kkan saja di sini :

Posisik an varieb e l disini
Posisik an
varieb e l
disini

Letakka n method b erikutnya s ecara berur utan agar ti dak bingung .

Jika terjadi error pada s syntax, pad ahal sudah

mengetik de ngan benar , silahkan c ocokkan

Syntax import beri kut yang be rada pada b agian palin g atas sourc e program :

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

16

16  Untuk tang gal lahir gu nakan jcale ndar  Ukuran pho to tidak le

Untuk tang gal lahir gu nakan jcale ndar

Ukuran pho to tidak leb ih dari 500 kb

Syntax pad a java bersi fat case sen sitive, jadi, perhatihan penggunaan

kecil pada s yntax. Con

xuser.set Text("");

toh : Conne ction berb

eda dengan

connectio

berbeda de

ngan xuser .settext( "");

huruf besa r dan n,

Agar memp ercepat dal am mengeti k syntax, a nda cukup

mengetik sa tu huruf ata u dua

huruf awal, lalu tekan

memilih da n tekan ente r. Contoh :

Ctrl + Spac e, maka aka n muncul p ilihan synta x, anda ting gal

e , maka aka n muncul p i lihan synt a x, anda tin g gal

Jika ada yang ingin ditanyakan

silahkan h ubungi say a di :

- Facebook.c om/nandaa deputra

- adeputranan da@gmail. com

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)

17

17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐
17 Membang u n Aplikasi datab a se Client ‐ Server sederhana meng gunakan java ‐

Membang u n Aplikasi datab a se Client Server sederhana meng gunakan javamy sql (©2010)