Membuat Aplikasi Search Data (Cari Data) dengan Java (Netbeans) dan MySQL

Aplikasi search pada java memang tidak terlalu dibutuhkan jika data yang akan diinput tidak banyak. Kalau data yang diinput banyak dalam program yang dibuat dengan java tentunya akan kewalahan dalam mencari data yang diinginkan dan akan menghabiskan banyak waktu yang semestinya digunakan untuk hal yang lain malah terbuang karena hal ini.

Untuk membuat search data atau pencarian data maka yang pertama sekali dipersiapkan adalah sebuah database dan tabelnya disini penulis menggunakan nama database dengan nama scripting_mysql dan nama tabel dengan nama address. Untuk syntax sqlnya bisa dilihat seperti dibawah ini.

CREATE DATABASE IF NOT EXISTS `scripting_mysql` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `scripting_mysql`;

CREATE TABLE IF NOT EXISTS `address` (
  `serial` int(4) NOT NULL AUTO_INCREMENT,
  `name_first` varchar(30) NOT NULL,
  `name_last` varchar(30) NOT NULL,
  `address_01` varchar(40) NOT NULL,
  `address_02` varchar(40) NOT NULL,
  `address_city` varchar(30) NOT NULL,
  `address_state` varchar(2) NOT NULL,
  `address_postal_code` varchar(10) NOT NULL,
  PRIMARY KEY (`serial`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

INSERT INTO `address` (`serial`, `name_first`, `name_last`, `address_01`, `address_02`, `address_city`, `address_state`, `address_postal_code`) VALUES
(1, 'Clark', 'Kent', '344 Clinton St', 'Apt. #3B', 'Metropolis', 'NY', '10001'),
(2, 'Dave', 'Jones', '500 Second Avenue', 'Suite 100', 'Atlanta', 'GA', '30303'),
(3, 'Tom', 'Watson', '123 Golf Course Lane', 'Suite A', 'Macon', 'GA', '31066'),
(4, 'Jack', 'Nicklaus', '400 Laurel Oak Dr', 'Suite 49', 'Suwanee', 'GA', '31044'),
(5, 'Betty', 'Smith', '100 Main Street', 'Suite 500', 'Buffalo', 'NY', '14201'),
(6, 'Bruce', 'Wayne', '1007 Mountain Drive', '', 'Gotham City', 'NY', '10000'),
(7, 'Ghazali', 'Samudra', 'Grong-grong', 'Sigli', 'Pidie', 'Ac', '24152');

Selanjutnya buatlah sebuah jframe form dengan nama apa saja terserah anda namun disini penulis mengunakan nama MainMenu (MainMenu.java) dan desain lah formnya seperti gambar yang ada dibawah ini, kemudian isikan syntax seperti dibawah ini.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;

public class MainMenu extends javax.swing.JFrame {

    Connection conn;
    Statement stat;
    ResultSet hasil;
    /**
     * Creates new form MainMenu
     */
    public MainMenu() {
        initComponents();
        koneksi();
        datatabel();
    }
    
    public void koneksi(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://localhost/scripting_mysql","root","kodokijo");
            stat=conn.createStatement();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }
    
    public void datatabel(){
        Object[] Baris={"Nama","Family","Alamat 1","Alamat 2","Kota","Provinsi","Kode Pos"};
        DefaultTableModel tabmode = new DefaultTableModel(null, Baris);
        jTable1.setModel(tabmode);
        String sql = "select * from address where name_first like '%"+jTextField1.getText()+"%' or name_last like '%"+jTextField1.getText()+"%' or address_01 like '%"+jTextField1.getText()+"%' or address_02 like '%"+jTextField1.getText()+"%' or address_city like '%"+jTextField1.getText()+"%' or address_state like '%"+jTextField1.getText()+"%' or address_postal_code like '%"+jTextField1.getText()+"%'";
        try {
            hasil=stat.executeQuery(sql);
            while(hasil.next()){
                String a = hasil.getString("name_first");
                String b = hasil.getString("name_last");
                String c = hasil.getString("address_01");
                String d = hasil.getString("address_02");
                String e = hasil.getString("address_city");
                String f = hasil.getString("address_state");
                String g = hasil.getString("address_postal_code");
                String[] data = {a,b,c,d,e,f,g};
                tabmode.addRow(data);
            }
        } catch (Exception e) {
        }
    }
}

Sekian tutorial sedikit ini kalau ada kekurangan saya sendiri mohon maaf kalau bisa sih dikomentari pada kotak komentar yang ada dibawah ini. Untuk hasil dan tool-tool lainnya bisa dilihat pada gambar yang ada dibawah ini.

Membuat Aplikasi Search Data (Cari Data) dengan Java (Netbeans) dan MySQL

Download Source Code