Anda di halaman 1dari 30

APLIKASI JAVA NETBEAN

MYSQL Dede,S.Kom,M.Kom

Langkah - 01
1. Untuk langkah awalnya. Buka web browser favorit Anda dan masuk ke phpmyadmin (ketikkanlocalhost/phpmyadmin pada address bar web browser). Kemudian buat Database dengan namakontak_db

02
2. Selanjutnya adalah pembuatan table pada kontak_db dengan nama tb_kontak. Masukkan nama tabel dan jumlah field.

3
3. Masukkan parameter setiap field seperti gambar di bawah ini. Kemudian Klik tombol Save

4
Setelah selesai membuat Database, tutup web

browser Anda Langkah berikutnya adalah tahap pembuatan Aplikasinya. Buka NetBeans. Buat Project Baru.

5
Beri Nama Project dengan Buku Telepon

Sederhana. Saya menonaktifkan pembuatan Main Class. Setelah selesai, Klik Finish.

6
Selanjutnya Buat Form, dengan cara Klik Kanan

pada Project -> New -> JFrame Form

7
Beri nama Frame dengan FrameKontak. Klik

Finish

8
Desain Form

kurang lebih seperti gambar di bawah ini.

Berikut Komponen dan Properti-propertinya:

Berikut adalah cara untuk merubah nilai properties

pada jLayeredPanel

10

11
Jika bingung dalam memberi nilai pada Variable Name, berikut

adalah caranya. Klik Kanan pada Komponen -> Change Variable Name

Hasil dari layouting akhir

KONEKSI MYSQL

12

Untuk dapat terkoneksi dengan database, pada Java telah disediakan Library MySQL JDBC Driver. Kita tinggal meng-importnya saja. Klik Kanan pada folder Libraries yang ada Pada Project. Klik tombol Import. Cari Library MySQL JDBC Driver, Kemudian Klik Import Library. Klik Add Library.

13
Selanjutnya buat Package baru dengan cara Klik

Kanan pada Project -> New -> Java Package. Beri nama Tabel. Klik Finish.

1 5
Buat Class baru pada Package Tabel. Klik Kanan pada

Package Tabel -> New -> Java Class. Beri nama DataKontak. Klik Finish.

Buat juga class TabelDataKontak pada Package

16

Tabel. Struktur dari project sekarang terlihat seperti gambar berikut.

Setelah selesai, selanjutnya adalah pemberian script.

class DataKontak : package Tabel;


/** * * @author Dede */ public class DataKontak { private String nama, telepon, e_mail;

class TabelDataKontak:
class TabelDataKontak: package Tabel; /** * * @author TheGunk */ import java.util.ArrayList; import java.util.List; import javax.swing.table.AbstractTableModel; public class TabelDataKontak extends AbstractTableModel{ private List<DataKontak> list = new ArrayList<DataKontak>(); @Override public int getRowCount() { return list.size(); } @Override public int getColumnCount() { return 3; } @Override public Object getValueAt(int rowIndex, int columnIndex) { switch(columnIndex){ case 0 : return list.get(rowIndex).getNama(); case 1 : return list.get(rowIndex).getTelepon(); case 2 : return list.get(rowIndex).getE_mail(); default : return null; } } @Override public String getColumnName(int kolom){ switch(kolom){ case 0 : return "Nama"; case 1 : return "HP/Telepon"; case 2 : return "e-mail"; default : return null; } } public void add(DataKontak kontak){ list.add(kontak); fireTableRowsInserted(getRowCount(), getColumnCount()); } public void delete(int i, int baris){ list.remove(i); fireTableRowsDeleted(i, baris); } public DataKontak get(int baris){ return (DataKontak) list.get(baris); } }

public DataKontak(){ }
public String getE_mail() { return e_mail; } public void setE_mail(String e_mail) { this.e_mail = e_mail; } public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public String getTelepon() { return telepon; } public void setTelepon(String telepon) { this.telepon = telepon; } }

Tambahkan Script berikut pada class FrameKontak:

18

import Tabel.DataKontak;

import Tabel.TabelDataKontak; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class FrameKontak extends javax.swing.JFrame{

Tambahkan variable-variabel berikut pada class FrameKontak dan pada Konstruktor FrameKonta

19

public class FrameKontak extends javax.swing.JFrame{ private Connection koneksi; private Statement script; private TabelDataKontak ModelDataKontak; /** Creates new from FrameKontak */ public FrameKontak( ) { initComponents( ); ModelDataKontak = new TabelDataKontak(); TblKontak.setModel(ModelDataKontak); KoneksiDb( ); tampil( ); bersih( ); }

Selanjutnya tambahkan script berikut di bawah blok Konstruktor FrameKontak (setelah BLOK class FrameKontak extends javax.swing.JFrame). private void KoneksiDb( ){ try{

20

Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost/kontak_db", "root", " "); script = koneksi.createStatement( ); } catch(SQLException ex){ System.err.print(ex); } catch(ClassNotFoundException ex){ System.err.print(ex); } } private void tampil( ){ try{ int baris = TblKontak.getRowCount( ); for(int i=0; i<baris; i++){ ModelDataKontak.delete(0, baris); } String sql = "select * from tb_kontak"; ResultSet rs = script.executeQuery(sql);

while (rs.next( )){ DataKontak kontak = new DataKontak( );


kontak.setNama(rs.getString(1)); kontak.setTelepon(rs.getString(2)); kontak.setE_mail(rs.getString(3)); ModelDataKontak.add(kontak); } } catch(SQLException ex){ System.err.print(ex); } }

private void bersih( ){ TxtNama.setText(null); TxtTelepon.setText(null); TxtEmail.setText(null); TxtCari.setText(null); BtnSimpan.setEnabled(true); BtnUbah.setEnabled(false); BtnHapus.setEnabled(false); }

private void tabel( ){ TblKontak.getSelectionModel( ).addListSelectionListener(new ListSelectionListener( ) { @Override public void valueChanged(ListSelectionEvent e) { int baris = TblKontak.getSelectedRow( ); if(baris != -1){ DataKontak kontak = ModelDataKontak.get(baris); TxtNama.setText(kontak.getNama( )); TxtTelepon.setText(kontak.getTelepon( )); TxtEmail.setText(kontak.getE_mail( )); } } }); BtnSimpan.setEnabled(false); BtnUbah.setEnabled(true); BtnHapus.setEnabled(true); } private void simpan( ){ try{ String sql = "insert into tb_kontak values (" +"'"+TxtNama.getText( )+"'," +"'"+TxtTelepon.getText( )+"'," +"'"+TxtEmail.getText( )+"'" +")"; script.executeUpdate(sql); tampil( ); JOptionPane.showMessageDialog(null, TxtNama.getText( )+" berhasil Disimpan"); bersih( ); } catch(SQLException ex){ JOptionPane.showMessageDialog(this, "No Telepon sudah Ada"); bersih(); }

} private void ubah( ){ int app; if((app = JOptionPane.showConfirmDialog(null, "Ubah kontak" +" ?","Perhatian",JOptionPane.YES_NO_OPTION))==0){ try{ String sql = "update tb_kontak set" +" nama = '"+TxtNama.getText()+"'," +" e_mail = '"+TxtEmail.getText()+"' where" +" telepon = '"+TxtTelepon.getText()+"'"; script.executeUpdate(sql); tampil( ); JOptionPane.showMessageDialog(null, "Kontak berhasil dirubah"); bersih( ); } catch(SQLException ex){ System.err.print(ex); } } } private void hapus( ){ int app, bantu; if((app = JOptionPane.showConfirmDialog(null, "Hapus data" +" ?","Perhatian",JOptionPane.YES_NO_OPTION))==0){ try{ String sql = "delete from tb_kontak where" +" nama = '"+TxtNama.getText()+"'"; bantu = script.executeUpdate(sql); tampil( ); JOptionPane.showMessageDialog(null, "Kontak berhasil dihapus"); bersih( ); } catch(SQLException ex){ System.err.print(ex); } } }

private void cari( ){ int baris = TblKontak.getRowCount( ); String bantu = CmbCari.getSelectedItem( ).toString( );

for(int i=0; i<baris; i++){ ModelDataKontak.delete(i, baris); }


try{ String sql = "select * from tb_kontak where " +bantu+" like '%"+TxtCari.getText()+"%'"; ResultSet rs = script.executeQuery(sql);

while(rs.next( )){ DataKontak kontak = new DataKontak( );


kontak.setNama(rs.getString(1)); kontak.setTelepon(rs.getString(2)); kontak.setE_mail(rs.getString(3)); ModelDataKontak.add(kontak); } } catch(SQLException ex){ System.err.print(ex); } }

Catatan
Catatan:

Pada script di atas, terdapat script koneksi = DriverManager.getConnection("jdbc:mysql://lo calhost/kontak_db","root","");

Catatan
saya memberikan nilai username=root, dan password tidak saya isi

menyesuaikan konfigurasi phpmyadmin. Silahkan Anda sesuaikan dengan konfigurasi phpmyadmin Anda. Untuk menambahkan fungsi masing-masing pada setiap tombol (button) yang kita desain, dengan cara. Klik kanan Button -> Events -> Action -> actionPerformed

Button Simpan
Script untuk Button Simpan

simpan(); Script untuk Button Ubah ubah();Script untuk Button Hapus hapus(); Penambahan fungsi klik pada Tabel. Klik Kanan Tabel -> Events -> Mouse -> mousePressed

Script untuk TblKontak


tabel(); Penambahan pencarian pada TxtCari Klik kanan TxtCari -> Events -> Key -> keyReleased

Script untuk TxtCari cari();

Kita tambahkan script berikut, untuk merubah tampilan tema default menjadi windows (letakkan script di bawah ini sebelum method initComponents(); ) try { for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if ("Windows".equals(info.getName())) { UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (Exception ex) { ex.getMessage(); } initComponents();

Build & Jalankan Program.

TRIMAKASIH
STT TELEMATIKA Hasil Tugas Kirim Ke : yusufalhudri@gmail.com Atau Facebook : edo_galeria@yahoo.com