2. Selanjutnya adalah pembuatan table pada kontak_db dengan nama tb_kontak. Masukkan
nama tabel dan jumlah field.
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
Jika bingung dalam memberi nilai pada Variable Name, berikut adalah caranya.
Klik Kanan pada Komponen -> Change Variable Name
Hasil dari layouting akhir
9. Untuk dapat terkoneksi dengan database, pada Java telah disediakan Library MySQL JDBC
Driver. Kita tinggal meng-import-nya 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.
10. Selanjutnya buat Package baru dengan cara Klik Kanan pada Project -> New -> Java
Package. Beri nama Tabel. Klik Finish.
11. Buat Class baru pada Package Tabel. Klik Kanan pada Package Tabel -> New -> Java Class.
Beri nama DataKontak. Klik Finish.
12. Buat juga class TabelDataKontak pada Package Tabel.
Struktur dari project sekarang terlihat seperti gambar berikut.
package Tabel;
/**
*
* @author TheGunk
*/
public class DataKontak {
private String nama, telepon, e_mail;
public DataKontak(){
}
package Tabel;
/**
*
* @author TheGunk
*/
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
@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;
}
}
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 FrameKontak
KoneksiDb( );
tampil( );
bersih( );
}
*catatan:
TEXT BERWARNA BIRU ADALAH SCRIPT YANG TELAH DIBUATKAN OLEH NETBEANS.
Selanjutnya tambahkan script berikut di bawah blok Konstruktor FrameKontak (setelah BLOK class
FrameKontak extends javax.swing.JFrame).
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);
}
}
@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);
}
script.executeUpdate(sql);
tampil( );
JOptionPane.showMessageDialog(null, TxtNama.getText( )+" berhasil Disimpan");
bersih( );
}
catch(SQLException ex){
}
}
script.executeUpdate(sql);
tampil( );
JOptionPane.showMessageDialog(null, "Kontak berhasil dirubah");
bersih( );
}
catch(SQLException ex){
System.err.print(ex);
}
}
}
bantu = script.executeUpdate(sql);
tampil( );
JOptionPane.showMessageDialog(null, "Kontak berhasil dihapus");
bersih( );
}
catch(SQLException ex){
System.err.print(ex);
}
}
}
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:
Pada script di atas, terdapat script
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/kontak_db","root","");
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
simpan();
Script untuk Button Ubah
ubah();
Script untuk Button Hapus
hapus();
tabel();
cari();
Saya 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.