Professional Documents
Culture Documents
Sebelum memulai p m pembuatan a aplikasi ini, pastikan so oftware berik telah ter kut rinstal di com mputer yang akan g digunaka : an J (Dalam kasus ini m Jdk menggunaka versi 6u21) an N Netbeans ID (Dalam k DE kasus ini me enggunakan versi 6.9.1) n M Mysql Server (Dalam k kasus ini me enggunakan versi 5.1.48 atau phpt n 8) triad Dalam p pembuatan a aplikasi ini diharapkan saudara tela memaham cara mem ah mi mbuat proje baru, ect membua form dan memahami penggunaa java Swin (jbutton, jtextfield, jlabel, dll), s at i an ng serta pembua database dan table menggunak mysql se atan kan erver. Sebelum memulai m m merancang f form, kita si kan data iap abase yang a akan diguna akan, Beriku struktur ut database nya: e
CREATE DATABASE dbpegawai i; USE dbp pegawai; CREATE TABLE karyawan ( nip v varchar(10 NOT NUL 0) LL, nama varchar(5 50) NOT NU ULL, tglla ahir date NOT NULL, jk va archar(7) NOT NULL, alama varchar(100) NOT NULL, at T jabat tan varcha ar(30) NOT NULL, T photo blob NOT NULL, o T PRIMA ARY KEY (n nip) ) ENGIN NE=MyISAM; CREATE TABLE use ers ( usern name varch har(50) NO NULL, OT passw word varch har(50) NO NULL, OT statu varchar(50) NOT NULL, us PRIMA ARY KEY (u username) ) ENGIN NE=MyISAM; INSERT INTO users (userna ame, passw word, stat tus) VALUE ('Nanda ES a', 'cobac coba', 'Admin'); INSERT INTO users (userna ame, passw word, stat tus) VALUE ('Nanda Ade Putr ES a ra', 'cobala agi', 'Karyawan');
Setelah selesai desa form kita akan masu ke syntax program, ain uk x a membuat me ethod untuk koneksi ke database se k e erver : Pertama kita akan m
private void kon e neksi() { try { Clas ss.forName e("com.mys sql.jdbc.D Driver"); con = DriverM Manager.ge etConnecti ion("jdbc:mysql://1 192.168.4. .1/dbpegaw wai","root t",""); stat = con.cr t reateState ement(); JOpt tionPane.s showMessag geDialog(r rootPane, "koneksi ok..."); } catch (Exceptio e) { on JOpt tionPane.s showMessag geDialog(r rootPane, "Koneksi gagal "+e e); } }
Lalu pan nggil metho koneksi t od tersebut pad saat form dijalankan : da
ta mbuat syntax untuk men x nampilkan p photo ke for : rm Lalu kit akan mem
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); }
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()); }
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(); }
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"));
MembangunAplikasidatabaseClientServersederhanamenggunakanjavamysql(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(); }
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); }
9
try { int n=1; res = stat.ex xecuteQuer ry(sql); whil (res.ne le ext()) { tbl.addRo ow(new Obj ject[]{(n+ ++), res.getSt tring(1), res.getSt tring(2), res.getSt tring(3), res.getSt tring(4), res.getSt tring(5), res.getSt tring(6) }); jTable1.s setModel(t tbl); } } catch (Exceptio e) { on JOpt tionPane.s showMessag geDialog(n null, "Err ror "+e); } }
Setelah form input selesai, bua form login sederhana berikut desainnya : (n at n a, nama form : login)
Membangu unAplikasidataba aseClientServers sederhanamengg gunakanjavamy ysql(2010)
10
rm i, n kedatabase, k koneksi ke d database sam ma Pada for login ini anda harus melakukan koneksi k dengan pada form y yang pertam tadi. ma
, kan a gin Setelah koneksi ok, kita lanjutk dengan syntax pada tombol log :
try { res = stat.ex xecuteQuer ry("select * from u t users wher re usernam me='"+xuse er.getText t()+"' and password d d='"+xpass s.getText( ()+"'"); if(res.next() )) { new satu( ().show(); JOptionPa ane.showMe essageDial log(rootPa ane, "Logi sukses, in , Selamat datang u t user "+xus ser.getTex xt()+""); this.disp pose(); } else e { JOptionPa ane.showMe essageDial log(rootPa ane, "User / Passwo r ord salah!!!"); } } catch (Exceptio e) { on }
Tombol cancel : l
xuser.s setText("" "); xpass.se etText("") ); xuser.re equestFocu us();
Tombol Close : l
System.exit(0);
11
Langka berikutn adalah yang terpenting, yaitu melakuka setting p ah nya u an pada databa mysql ase server, nda unakan data abase mysq dari phpt ql triad2-2-1, tidak perlu lagi meng u gikuti Jika an menggu langkah ini : h B Buka databa mysql m ase menggunaka Phpmyad an dmin atau EM SQL M MS Manager P Pilih databa mysql, la pilih tab user, dan klik insert ase alu ble n
Isi I host : % : root User U Password P : Dan D yang la ainnya pilih value Y Lalu L klik Go o
12
Membangu unAplikasidatabaseClientServersederhanamenggunakanjavamysql(2010) a s g y
13
S Setelah setti ingan ini selesai, aplika siap digu asi unakan, dan jika terjadi error pada koneksi n ke k database seperti : 1.
ector mysql nya belum di add pada library pro driver conne l a ogram yang kita rancan cara ng, Berarti d mengata asinya : pad jendela pr da rojent klik k kanan pada L Libraries, pilih add libr rary.
Lalu tam form be mpil erikut : Pilih My JDBC Driver, alau klik Add L ysql u Library
14
2.
Cara me engatasinya : pastikan f firewall com mputer anda dalam kead daan off
3.
Cara me engatasinya : anda belu menambahkan host % pada ta user di d um abel database mysql,la akukan lang gkah setting diatas den g ngan benar.
4.
engatasinya : koneksi g gagal saat ak mengek kan ksekusi print SQL, jik koneksi O error tah ka OK, Cara me ini akan hilang. n
15
Tips & Trik J tidak in Jika ngin repot m melakukan s setting datab base mysql, lebih baik menggunak mysql , kan bawaan dari phptriad, n b i namun kelem mahannya d database baw waan phptria ini versi 3, jadi ad tidak mendu t ukung untuk pembuatan View. k n J bingung meletakka syntax m Jika an method, letak kkan saja di sini :
Letakka method b an berikutnya se ecara beruru agar tid bingung utan dak g. J terjadi error pada s Jika syntax, pada sudah m ahal mengetik de engan benar, silahkan co ocokkan Syntax i import berik yang ber kut rada pada bagian paling atas sourc program : g ce
16
U Untuk tangg lahir gun gal nakan jcalen ndar U Ukuran pho tidak leb dari 500k oto bih kb S Syntax pada java bersif case sens a fat sitive, jadi, p perhatihan p penggunaan huruf besa dan n ar kecil pada s k syntax. Cont : Connec toh ction berbe dengan connectio , eda on xuser.setT x Text(""); berbeda den ngan xuser.settext(""); A Agar memp percepat dala mengeti syntax, an cukup m am ik nda mengetik sat huruf atau dua tu u huruf awal, lalu tekan C + Space maka akan muncul pi h Ctrl e, n ilihan synta anda ting ax, ggal memilih dan tekan ente Contoh : m n er.
Jika ada yang ingin ditanyakan silahkan hu a n n ubungi saya di : a Facebook.co F om/nandaad deputra adeputranan a nda@gmail. .com
17