Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

17
Membangu un Aplikasi databa ase ClientServer s sederhana mengg gunakan javamy ysql (©2010) 1

description

How to create Client Server Database Application Using Java and Mysql

Transcript of Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Page 1: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

 

 

 

 

un Aplikasi databaase Client‐Server ssederhana mengggunakan java‐my

ysql  (©2010) 

1

Page 2: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Sebelumdigunaka

Membangu

m memulai pan :

J

N

M

Dalam p

membua

pembua

Sebelum

database

CREATE

USE dbp

CREATE

nip v

nama

tglla

jk va

alama

jabat

photo

PRIMA

) ENGIN

CREATE

usern

passw

statu

PRIMA

) ENGIN

INSERT

'Admin

INSERT

'cobala

un Aplikasi databa

pembuatan a

Jdk (Dalam

Netbeans ID

Mysql Serv

pembuatan a

at form dan

atan databas

m memulai m

e nya:

DATABASE

pegawai;

TABLE ka

varchar(10

varchar(5

ahir date

archar(7)

at varcha

tan varcha

o blob NOT

ARY KEY (n

NE=MyISAM

TABLE use

name varch

word varch

us varcha

ARY KEY (u

NE=MyISAM

INTO use

');

INTO use

agi', 'Ka

ase Client‐Server s

aplikasi ini,

kasus ini m

DE (Dalam k

er (Dalam k

aplikasi ini

memahami

e dan table

merancang f

dbpegawai

ryawan (

0) NOT NUL

50) NOT NU

NOT NULL

NOT NULL

r(100) NOT

ar(30) NOT

T NULL,

nip)

;

ers (

har(50) NO

har(50) NO

r(50) NOT

username)

;

rs (userna

rs (userna

ryawan');

sederhana mengg

pastikan so

menggunaka

kasus ini me

kasus ini me

diharapkan

i penggunaa

menggunak

form, kita si

i;

LL,

ULL,

,

,

T NULL,

T NULL,

OT NULL,

OT NULL,

NULL,

ame, passw

ame, passw

gunakan java‐my

oftware berik

an versi 6u2

enggunakan

enggunakan

saudara tela

an java Swin

kan mysql se

iap kan data

word, stat

word, stat

ysql  (©2010) 

kut telah ter

1)

n versi 6.9.1

n versi 5.1.48

ah memaham

ng (jbutton,

erver.

abase yang a

tus) VALUE

tus) VALUE

rinstal di com

)

8) atau phpt

mi cara mem

jtextfield, j

akan diguna

ES ('Nanda

ES ('Nanda

mputer yang

triad

mbuat proje

label, dll), s

akan, Beriku

a', 'cobac

a Ade Putr

2

g akan

ect baru,

serta

ut struktur

coba',

ra',

Page 3: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

Langkah 

 

 

Tampila

un Aplikasi databa

pertama, de

an form kos

ase Client‐Server s

esain form in

ong :

sederhana mengg

put seperti p

gunakan java‐my

pada gambar

ysql  (©2010) 

r berikut : (na

ama form : sa

atu) 

Jtextfield

Jtextfield

Jlabel (va

JdateChoo

JRadioBu

JPanel

JLabel (tid

JTextArea

JComboB

JTable

3

d (var : xnip) 

(var : xnama)

ar : photo)

oser (var : xtan

utton (var : xpr

dak terlihat, v

a (var : xalama

Box (var : xjab

nggal)

ria dan xwanit

var : Dir)

at)

batan)

ta)

Page 4: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

Setelah

Pertama

private

{

DriverM

}

Tambah

pri

pri

pri

Lalu pan

Lalu kit

Posisika

un Aplikasi databa

selesai desa

a kita akan m

e void kon

try {

Clas

con

Manager.ge

stat

JOpt

} catch

JOpt

}

hkan variabl

ivate Conn

ivate Stat

ivate Resu

nggil metho

ta akan mem

an syntax pa

ase Client‐Server s

ain form kit

membuat me

neksi()

ss.forName

=

etConnecti

t = con.cr

tionPane.s

(Exceptio

tionPane.s

le baru :

nection co

tement sta

ultSet res

od koneksi t

mbuat syntax

ada tombol b

sederhana mengg

a akan masu

ethod untuk

e("com.mys

ion("jdbc

reateState

showMessag

on e) {

showMessag

on;

at;

s;

tersebut pad

x untuk men

browse pho

gunakan java‐my

uk ke syntax

k koneksi ke

ini ada

sql.jdbc.D

:mysql://1

ement();

geDialog(r

geDialog(r

da saat form

nampilkan p

oto :

ysql  (©2010) 

x program,

e database se

alah ip comp

Driver");

192.168.4.

rootPane,

rootPane,

dijalankan

photo ke for

erver :

puter server

.1/dbpegaw

"koneksi

"Koneksi

:

rm :

r

wai","root

ok...");

gagal "+e

4

t","");

e);

Page 5: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangun Aplikasi database Client‐Server sederhana menggunakan java‐mysql  (©2010) 

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 :

Page 6: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangun Aplikasi database Client‐Server sederhana menggunakan java‐mysql  (©2010) 

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"));

Page 7: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangun Aplikasi database Client‐Server sederhana menggunakan java‐mysql  (©2010) 

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

Page 8: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangun Aplikasi database Client‐Server sederhana menggunakan java‐mysql  (©2010) 

{

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");

Page 9: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

}

Tampilk

Berikut kosong

tampilt

Berikut dispose

Setelah

un Aplikasi databa

try {

int

res

whil

{

}

} catch

JOpt

}

kan data ke

syntax untu

();

tabel("sel

syntax untu

e();

form input

ase Client‐Server s

n=1;

= stat.ex

le (res.ne

tbl.addRo

res.getSt

res.getSt

res.getSt

res.getSt

res.getSt

res.getSt

});

jTable1.s

(Exceptio

tionPane.s

dalam table

uk tombol c

lect * fro

uk tombol cl

selesai, bua

sederhana mengg

xecuteQuer

ext())

ow(new Obj

tring(1),

tring(2),

tring(3),

tring(4),

tring(5),

tring(6)

setModel(t

on e) {

showMessag

e saat form d

ancel :

om karyawa

lose :

at form login

gunakan java‐my

ry(sql);

ject[]{(n+

tbl);

geDialog(n

dibuka :

an");

n sederhana

ysql  (©2010) 

++),

null, "Err

a, berikut de

ror "+e);

sainnya : (n

nama form :

9

login)

Page 10: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

Pada for

dengan

Setelah

try {

usernam

Selamat

salah!

Tombol

xuser.s

Tombol

System

un Aplikasi databa

rm login ini

pada form y

koneksi ok,

res

me='"+xuse

if(

{

t datang u

}

else

{

!!");

}

} catch

}

l cancel :

setText(""

xpass.se

xuser.re

l Close :

.exit(0);

ase Client‐Server s

i, anda haru

yang pertam

, kita lanjutk

= stat.ex

er.getText

res.next()

new satu(

JOptionPa

user "+xus

this.disp

e

JOptionPa

(Exceptio

");

etText("")

equestFocu

sederhana mengg

s melakukan

ma tadi.

kan dengan

xecuteQuer

t()+"' and

))

().show()

ane.showMe

ser.getTex

pose();

ane.showMe

on e) {

);

us();

gunakan java‐my

JTextfield

JPassword

n koneksi k

syntax pada

ry("select

d password

;

essageDial

xt()+"");

essageDial

ysql  (©2010) 

d (var : xuser)

dfield (var : xp

kedatabase, k

a tombol log

t * from u

d='"+xpass

log(rootPa

log(rootPa

pass)

koneksi ke d

gin :

users wher

s.getText(

ane, "Logi

ane, "User

database sam

re

()+"'");

in sukses,

r / Passwo

10

ma

,

ord

Page 11: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

Langka

server,

Jika an

langkah

B P

I U P D L

un Aplikasi databa

ah berikutn

nda menggu

h ini :

Buka databaPilih databa

Isi host User Password Dan yang laLalu klik Go

ase Client‐Server s

nya adalah

unakan data

ase mysql mase mysql, la

: ‘%’ : ‘root’ :

ainnya pilih o

sederhana mengg

yang terpe

abase mysq

menggunakaalu pilih tab

value ‘Y’

gunakan java‐my

nting, yaitu

ql dari phpt

an Phpmyadble user, dan

ysql  (©2010) 

u melakuka

triad2-2-1,

dmin atau EMn klik insert

an setting p

tidak perlu

MS SQL M

pada databa

u lagi meng

Manager

11

ase mysql

gikuti

Page 12: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

 

 

 

 

un Aplikasi databaase Client‐Server ssederhana mengggunakan java‐myysql  (©2010) 

12

Page 13: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

Sk

1.

Berarti dmengata

Lalu tam

Pilih My

un Aplikasi databa

Setelah settike database

driver conneasinya : pad

mpil form be

ysql JDBC

ase Client‐Server s

ingan ini seseperti :

ector mysqlda jendela pr

erikut :

Driver, alau

sederhana mengg

lesai, aplika

l nya belum rojent klik k

u klik Add L

gunakan java‐my

asi siap digu

di add padakanan pada L

Library

ysql  (©2010) 

unakan, dan

a library proLibraries, p

n jika terjadi

ogram yang ilih add libr

error pada

kita rancanrary.

13

koneksi

ng, cara

Page 14: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

2.

Cara me

3.

Cara memysql,la

4.

Cara meini akan

un Aplikasi databa

engatasinya

engatasinya akukan lang

engatasinya n hilang.

ase Client‐Server s

: pastikan f

: anda belugkah² setting

: koneksi g

sederhana mengg

firewall com

um menambg diatas den

gagal saat ak

gunakan java‐my

mputer anda

ahkan host ngan benar.

kan mengek

ysql  (©2010) 

dalam kead

‘%’ pada ta

ksekusi print

daan off

abel user di d

tah SQL, jik

database

ka koneksi O

14

OK, error

Page 15: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

Tips &

Jbt

J

Letakka

J

Syntax i

un Aplikasi databa

Trik

Jika tidak inbawaan daritidak menduJika bingun

an method b

Jika terjadi

import berik

ase Client‐Server s

ngin repot² mi phptriad, nukung untukg meletakka

berikutnya se

error pada s

kut yang ber

sederhana mengg

melakukan snamun kelemk pembuatanan syntax m

ecara beruru

syntax, pada

rada pada b

gunakan java‐my

setting databmahannya dn View.

method, letak

utan agar tid

ahal sudah m

agian paling

ysql  (©2010) 

base mysql,database baw

kkan saja di

dak bingung

mengetik de

g atas sourc

Posisika

variebe

disini

, lebih baik waan phptria

sini :

g.

engan benar

ce program :

an 

el 

 

menggunakad ini versi

, silahkan co

:

15

kan mysql 3, jadi

ocokkan

Page 16: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

U U S

kx

Ahm

Jika ada

- F- a

un Aplikasi databa

Untuk tanggUkuran phoSyntax padakecil pada sxuser.setT

Agar memphuruf awal, memilih dan

a yang ingin

Facebook.coadeputranan

ase Client‐Server s

gal lahir gunoto tidak leba java bersifsyntax. ContText("");

percepat dalalalu tekan C

n tekan ente

n ditanyakan

om/nandaadnda@gmail.

sederhana mengg

nakan jcalenbih dari 500kfat case senstoh : Connecberbeda denam mengetiCtrl + Spaceer. Contoh :

n silahkan hu

deputra .com

gunakan java‐my

ndar kb sitive, jadi, pction berbengan xuserik syntax, ane, maka akan

ubungi saya

ysql  (©2010) 

perhatihan peda dengan .settext(

nda cukup mn muncul pi

a di :

penggunaanconnectio

""); mengetik satilihan synta

n huruf besaon,

tu huruf atauax, anda ting

16

ar dan

u dua ggal

Page 17: Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Membangu

un Aplikasi databaase Client‐Server ssederhana mengg

gunakan java‐myysql  (©2010) 

17