Advertisement
stevennathaniel

Fungsi Pencarian Nama dan NIK Berhasil Jalan

May 7th, 2015
491
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.04 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package latihan15;
  7.  
  8.  
  9. import javax.swing.SwingUtilities;
  10.  
  11. import javax.swing.JTable;
  12.  
  13. import java.sql.Connection;
  14.  
  15. import java.sql.DriverManager;
  16.  
  17. import java.sql.ResultSet;
  18.  
  19. import java.sql.ResultSetMetaData;
  20.  
  21. import java.sql.Statement;
  22.  
  23. import java.util.logging.Level;
  24.  
  25. import java.util.logging.Logger;
  26.  
  27. import javax.swing.table.DefaultTableModel;
  28.  
  29. import java.sql.*;
  30.  
  31. import java.util.Locale;
  32.  
  33. import java.util.Vector;
  34.  
  35.  
  36.  
  37.  
  38.  
  39. /**
  40.  *
  41.  * @author steven
  42.  */
  43. public class CariData2 extends javax.swing.JFrame {
  44.  
  45.     /**
  46.      * Creates new form CariData2
  47.      */
  48.     public CariData2() {
  49.         initComponents();
  50.     }
  51.  
  52.     /**
  53.      * This method is called from within the constructor to initialize the form.
  54.      * WARNING: Do NOT modify this code. The content of this method is always
  55.      * regenerated by the Form Editor.
  56.      */
  57.     @SuppressWarnings("unchecked")
  58.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  59.     private void initComponents() {
  60.  
  61.         jButton1 = new javax.swing.JButton();
  62.         jScrollPane1 = new javax.swing.JScrollPane();
  63.         jTable1 = new javax.swing.JTable();
  64.         jTextField1 = new javax.swing.JTextField();
  65.  
  66.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  67.  
  68.         jButton1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  69.         jButton1.setText("Cari");
  70.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  71.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  72.                 jButton1ActionPerformed(evt);
  73.             }
  74.         });
  75.  
  76.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  77.             new Object [][] {
  78.                 {null, null, null, null},
  79.                 {null, null, null, null},
  80.                 {null, null, null, null},
  81.                 {null, null, null, null}
  82.             },
  83.             new String [] {
  84.                 "Title 1", "Title 2", "Title 3", "Title 4"
  85.             }
  86.         ));
  87.         jScrollPane1.setViewportView(jTable1);
  88.  
  89.         jTextField1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  90.  
  91.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  92.         getContentPane().setLayout(layout);
  93.         layout.setHorizontalGroup(
  94.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  95.             .addGroup(layout.createSequentialGroup()
  96.                 .addContainerGap()
  97.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  98.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 691, javax.swing.GroupLayout.PREFERRED_SIZE)
  99.                     .addGroup(layout.createSequentialGroup()
  100.                         .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 124, javax.swing.GroupLayout.PREFERRED_SIZE)
  101.                         .addGap(18, 18, 18)
  102.                         .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)))
  103.                 .addContainerGap(23, Short.MAX_VALUE))
  104.         );
  105.         layout.setVerticalGroup(
  106.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  107.             .addGroup(layout.createSequentialGroup()
  108.                 .addContainerGap()
  109.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  110.                     .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  111.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  112.                 .addGap(18, 18, Short.MAX_VALUE)
  113.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 326, javax.swing.GroupLayout.PREFERRED_SIZE)
  114.                 .addContainerGap())
  115.         );
  116.  
  117.         pack();
  118.     }// </editor-fold>                        
  119.  
  120.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  121.         // TODO add your handling code here:
  122.        
  123.         /**
  124.          *
  125.          * dalam source code ini, untuk mencari apa yg dicari, kata kunci nya
  126.          *
  127.          * harus diberi tanda petik (') di awal & di akhir kata yg dicari.
  128.          *
  129.          * juga harus full 1 kata pencarian nya.
  130.          *
  131.          * Pencarian dalam bentuk NIK (Nomer Induk Karyawan) juga harus lengkap
  132.          *
  133.          * NIK nya.
  134.          *
  135.          *
  136.          */
  137.        
  138.         String kataKunci = jTextField1.getText();
  139.        
  140.        
  141.         Connection Koneksi = null;
  142.        
  143.         Statement stmt = null;
  144.        
  145.         PreparedStatement PSCari = null;
  146.        
  147.        
  148.         // String query = "select nik,namalengkap from istri";
  149.        
  150.         String cariData = "select nik,namalengkap from istri where to_tsvector(nik) @@ to_tsquery("  + kataKunci + ")";
  151.        
  152.         String url = "jdbc:postgresql://localhost:5432/pdam";
  153.        
  154.         String user = "steven";
  155.        
  156.         String password = "kucing";
  157.        
  158.        
  159.         try{
  160.            
  161.            
  162.             Koneksi = DriverManager.getConnection(url,user,password);
  163.            
  164.             //PSCari = Koneksi.prepareStatement(cariData);
  165.            
  166.             //PSCari.setString(1, kataKunci);
  167.            
  168.             //PSCari.executeUpdate();
  169.            
  170.            
  171.             stmt = Koneksi.createStatement();
  172.            
  173.             ResultSet rs = stmt.executeQuery(cariData);
  174.            
  175.             ResultSetMetaData rsmd = rs.getMetaData();
  176.            
  177.             Vector<Vector> coba2 = new Vector<Vector>();
  178.            
  179.             while(rs.next()){
  180.                
  181.                 Vector<String> isiBaris = new Vector<String>();
  182.                
  183.                 isiBaris.add(rs.getString("nik"));
  184.                
  185.                 isiBaris.add(rs.getString("namalengkap"));
  186.                
  187.                
  188.                 coba2.add(isiBaris);
  189.                
  190.                
  191.                 Vector<String> namaKolom = new Vector<String>();
  192.                
  193.                 namaKolom.addElement(rsmd.getColumnLabel(1));
  194.                
  195.                 namaKolom.addElement(rsmd.getColumnLabel(2));
  196.                
  197.                
  198.                 DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  199.                
  200.                 jTable1.setModel(tabel1);
  201.                
  202.                 Koneksi.close();
  203.                
  204.                
  205.                
  206.             }
  207.            
  208.            
  209.         }catch (SQLException ex){
  210.            
  211.             ex.printStackTrace();
  212.            
  213.         }
  214.        
  215.     }                                        
  216.  
  217.     /**
  218.      * @param args the command line arguments
  219.      */
  220.     public static void main(String args[]) {
  221.         /* Set the Nimbus look and feel */
  222.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  223.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  224.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  225.          */
  226.         try {
  227.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  228.                 if ("Nimbus".equals(info.getName())) {
  229.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  230.                     break;
  231.                 }
  232.             }
  233.         } catch (ClassNotFoundException ex) {
  234.             java.util.logging.Logger.getLogger(CariData2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  235.         } catch (InstantiationException ex) {
  236.             java.util.logging.Logger.getLogger(CariData2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  237.         } catch (IllegalAccessException ex) {
  238.             java.util.logging.Logger.getLogger(CariData2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  239.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  240.             java.util.logging.Logger.getLogger(CariData2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  241.         }
  242.         //</editor-fold>
  243.  
  244.         /* Create and display the form */
  245.         java.awt.EventQueue.invokeLater(new Runnable() {
  246.             public void run() {
  247.                 new CariData2().setVisible(true);
  248.             }
  249.         });
  250.     }
  251.  
  252.     // Variables declaration - do not modify                    
  253.     private javax.swing.JButton jButton1;
  254.     private javax.swing.JScrollPane jScrollPane1;
  255.     private javax.swing.JTable jTable1;
  256.     private javax.swing.JTextField jTextField1;
  257.     // End of variables declaration                  
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement