Advertisement
stevennathaniel

Persentase Yang Bisa Memasukan Nilai Tanpa 0 Koma

Oct 31st, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.18 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 latihan30;
  7.  
  8. import java.text.DecimalFormat;
  9.  
  10. import javax.swing.SwingUtilities;
  11.  
  12. import javax.swing.JTable;
  13.  
  14. import java.sql.Connection;
  15.  
  16. import java.sql.DriverManager;
  17.  
  18. import java.sql.ResultSet;
  19.  
  20. import java.sql.ResultSetMetaData;
  21.  
  22. import java.sql.Statement;
  23.  
  24. import java.util.logging.Level;
  25.  
  26. import java.util.logging.Logger;
  27.  
  28. import javax.swing.table.DefaultTableModel;
  29.  
  30. import java.sql.*;
  31.  
  32. import java.util.Locale;
  33.  
  34. import java.util.Vector;
  35.  
  36. import java.awt.event.*;
  37.  
  38. import java.awt.Event;
  39.  
  40. import java.awt.*;
  41.  
  42. import java.util.Locale.Builder;
  43.  
  44.  
  45. /**
  46.  *
  47.  * @author steven
  48.  */
  49. public class Persen5 extends javax.swing.JFrame {
  50.  
  51.     /**
  52.      * Creates new form Persen5
  53.      */
  54.     public Persen5() {
  55.         initComponents();
  56.        
  57.         /**
  58.          * Source code di bawah ini untuk menampilkan isi tabel database
  59.          *
  60.          * ketika aplikasi pertama kali dijalankan
  61.          */
  62.        
  63.        
  64.         Connection koneksi = null;
  65.        
  66.         Statement stmt = null;
  67.        
  68.         String query = "SELECT id,persentase FROM persen";
  69.        
  70.         String url = "jdbc:postgresql://localhost:5432/pdam";
  71.        
  72.         String user = "steven";
  73.        
  74.         String password = "kucing";
  75.        
  76.         try{
  77.            
  78.             koneksi = DriverManager.getConnection(url,user,password);
  79.            
  80.             stmt = koneksi.createStatement();
  81.            
  82.             ResultSet rs = stmt.executeQuery(query);
  83.            
  84.             ResultSetMetaData rsmd = rs.getMetaData();
  85.            
  86.            
  87.             Vector<Vector> coba2 = new Vector<Vector>();
  88.            
  89.             while(rs.next()){
  90.            
  91.             Double persentase3 = rs.getDouble("persentase");
  92.            
  93.             DecimalFormat persenFormat = new DecimalFormat("#%");
  94.            
  95.             String persentase4 = persenFormat.format(persentase3);
  96.            
  97.            
  98.             Vector<String> isiBaris = new Vector<String>();
  99.            
  100.             isiBaris.add(rs.getString("id"));
  101.            
  102.             isiBaris.add(persentase4);
  103.            
  104.            
  105.             coba2.add(isiBaris);
  106.            
  107.             Vector<String>namaKolom = new Vector<String>();
  108.            
  109.             namaKolom.add(rsmd.getColumnLabel(1));
  110.            
  111.             namaKolom.add(rsmd.getColumnLabel(2));
  112.            
  113.            
  114.             DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  115.            
  116.             jTable1.setModel(tabel1);
  117.            
  118.             koneksi.close();
  119.            
  120.             jTextField2.setText("");
  121.            
  122.             }
  123.            
  124.            
  125.         }catch(SQLException ex){
  126.            
  127.             ex.printStackTrace();
  128.            
  129.            
  130.         }
  131.        
  132.     }
  133.  
  134.     /**
  135.      * This method is called from within the constructor to initialize the form.
  136.      * WARNING: Do NOT modify this code. The content of this method is always
  137.      * regenerated by the Form Editor.
  138.      */
  139.     @SuppressWarnings("unchecked")
  140.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  141.     private void initComponents() {
  142.  
  143.         jLabel1 = new javax.swing.JLabel();
  144.         jTextField1 = new javax.swing.JTextField();
  145.         jScrollPane1 = new javax.swing.JScrollPane();
  146.         jTable1 = new javax.swing.JTable();
  147.         jButton1 = new javax.swing.JButton();
  148.         jLabel2 = new javax.swing.JLabel();
  149.         jTextField2 = new javax.swing.JTextField();
  150.  
  151.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  152.  
  153.         jLabel1.setFont(new java.awt.Font("Noto Sans", 1, 15)); // NOI18N
  154.         jLabel1.setText("Input Persen");
  155.  
  156.         jTextField1.setFont(new java.awt.Font("Noto Sans", 1, 15)); // NOI18N
  157.  
  158.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  159.             new Object [][] {
  160.                 {null, null, null, null},
  161.                 {null, null, null, null},
  162.                 {null, null, null, null},
  163.                 {null, null, null, null}
  164.             },
  165.             new String [] {
  166.                 "Title 1", "Title 2", "Title 3", "Title 4"
  167.             }
  168.         ));
  169.         jScrollPane1.setViewportView(jTable1);
  170.  
  171.         jButton1.setFont(new java.awt.Font("Noto Sans", 1, 15)); // NOI18N
  172.         jButton1.setText("Simpan");
  173.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  174.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  175.                 jButton1ActionPerformed(evt);
  176.             }
  177.         });
  178.  
  179.         jLabel2.setFont(new java.awt.Font("Noto Sans", 1, 15)); // NOI18N
  180.         jLabel2.setText("ID");
  181.  
  182.         jTextField2.setFont(new java.awt.Font("Noto Sans", 1, 15)); // NOI18N
  183.         jTextField2.setToolTipText("");
  184.         jTextField2.setEnabled(false);
  185.  
  186.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  187.         getContentPane().setLayout(layout);
  188.         layout.setHorizontalGroup(
  189.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  190.             .addGroup(layout.createSequentialGroup()
  191.                 .addContainerGap()
  192.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  193.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
  194.                     .addGroup(layout.createSequentialGroup()
  195.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  196.                             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  197.                                 .addComponent(jLabel1)
  198.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
  199.                             .addGroup(layout.createSequentialGroup()
  200.                                 .addComponent(jLabel2)
  201.                                 .addGap(93, 93, 93)))
  202.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  203.                             .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 330, javax.swing.GroupLayout.PREFERRED_SIZE)
  204.                             .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 330, javax.swing.GroupLayout.PREFERRED_SIZE))))
  205.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  206.                 .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
  207.                 .addContainerGap(55, Short.MAX_VALUE))
  208.         );
  209.         layout.setVerticalGroup(
  210.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  211.             .addGroup(layout.createSequentialGroup()
  212.                 .addContainerGap()
  213.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  214.                     .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  215.                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  216.                         .addComponent(jLabel2)
  217.                         .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)))
  218.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  219.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  220.                     .addComponent(jLabel1)
  221.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
  222.                 .addGap(46, 46, 46)
  223.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
  224.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  225.         );
  226.  
  227.         pack();
  228.     }// </editor-fold>                        
  229.  
  230.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  231.         // TODO add your handling code here:
  232.        
  233.         /**
  234.          * Source code dibawah ini untuk menginput data dan menampilkan data persen
  235.          */
  236.        
  237.         String persentase = jTextField1.getText();
  238.        
  239.         Double persentase2 = Double.valueOf(persentase);
  240.        
  241.         Double persentase3 = persentase2/100;
  242.        
  243.         Connection koneksi = null;
  244.        
  245.         Statement stmt = null;
  246.        
  247.         PreparedStatement PSInsert = null;
  248.        
  249.        
  250.         String query = "SELECT id,persentase FROM persen";
  251.        
  252.         String masukanData = "INSERT INTO persen" + "(persentase)VALUES" + "(?)";
  253.        
  254.         String url = "jdbc:postgresql://localhost:5432/pdam";
  255.        
  256.         String user = "steven";
  257.        
  258.         String password = "kucing";
  259.        
  260.        
  261.         try{
  262.            
  263.             koneksi = DriverManager.getConnection(url,user,password);
  264.            
  265.             PSInsert = koneksi.prepareStatement(masukanData);
  266.            
  267.             // PSInsert.setString(1, persentase);
  268.            
  269.             PSInsert.setDouble(1, persentase3);
  270.            
  271.            
  272.             PSInsert.executeUpdate();
  273.            
  274.             stmt = koneksi.createStatement();
  275.            
  276.             ResultSet rs = stmt.executeQuery(query);
  277.            
  278.             ResultSetMetaData rsmd = rs.getMetaData();
  279.            
  280.            
  281.             Vector<Vector> coba2 = new Vector<Vector>();
  282.            
  283.             while(rs.next()){
  284.            
  285.            
  286.             Double persentase4 = rs.getDouble("persentase");
  287.            
  288.             DecimalFormat persenFormat = new DecimalFormat("#%");
  289.            
  290.             String persentase5 = persenFormat.format(persentase4);
  291.            
  292.            
  293.             Vector<String> isiBaris = new Vector<String>();
  294.            
  295.             isiBaris.add(rs.getString("id"));
  296.            
  297.             isiBaris.add(persentase5);
  298.            
  299.            
  300.             coba2.add(isiBaris);
  301.            
  302.             Vector<String> namaKolom = new Vector<String>();
  303.            
  304.             namaKolom.add(rsmd.getColumnLabel(1));
  305.            
  306.             namaKolom.add(rsmd.getColumnLabel(2));
  307.            
  308.            
  309.             DefaultTableModel tabel1 = new DefaultTableModel(coba2, namaKolom);
  310.            
  311.             jTable1.setModel(tabel1);
  312.            
  313.             koneksi.close();
  314.            
  315.            
  316.             jTextField1.setText("");
  317.            
  318.            
  319.             }
  320.        
  321.        
  322.         } catch(SQLException ex){
  323.    
  324.     ex.printStackTrace();
  325.        
  326.         }
  327.        
  328.     }                                        
  329.  
  330.     /**
  331.      * @param args the command line arguments
  332.      */
  333.     public static void main(String args[]) {
  334.         /* Set the Nimbus look and feel */
  335.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  336.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  337.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  338.          */
  339.         try {
  340.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  341.                 if ("Nimbus".equals(info.getName())) {
  342.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  343.                     break;
  344.                 }
  345.             }
  346.         } catch (ClassNotFoundException ex) {
  347.             java.util.logging.Logger.getLogger(Persen5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  348.         } catch (InstantiationException ex) {
  349.             java.util.logging.Logger.getLogger(Persen5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  350.         } catch (IllegalAccessException ex) {
  351.             java.util.logging.Logger.getLogger(Persen5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  352.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  353.             java.util.logging.Logger.getLogger(Persen5.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  354.         }
  355.         //</editor-fold>
  356.  
  357.         /* Create and display the form */
  358.         java.awt.EventQueue.invokeLater(new Runnable() {
  359.             public void run() {
  360.                 new Persen5().setVisible(true);
  361.             }
  362.         });
  363.     }
  364.  
  365.     // Variables declaration - do not modify                    
  366.     private javax.swing.JButton jButton1;
  367.     private javax.swing.JLabel jLabel1;
  368.     private javax.swing.JLabel jLabel2;
  369.     private javax.swing.JScrollPane jScrollPane1;
  370.     private javax.swing.JTable jTable1;
  371.     private javax.swing.JTextField jTextField1;
  372.     private javax.swing.JTextField jTextField2;
  373.     // End of variables declaration                  
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement