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

Panduan Membangun Aplikasi Database Client-Server Menggunakan Java-Mysql

Jun 27, 2015

Download

Documents

nandaadeputra

How to create Client Server Database Application Using Java and Mysql
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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