Advertisement
CaFc_Br40ck

form

Jan 27th, 2022
1,034
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 20.93 KB | None | 0 0
  1. /*
  2.  * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
  3.  * Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
  4.  */
  5. package akademik;
  6.  
  7. /**
  8.  *
  9.  * @author ENAK
  10.  */
  11.  
  12. import java.sql.Connection;
  13. import java.sql.DriverManager;
  14. import java.sql.SQLException;
  15. import java.sql.PreparedStatement;
  16. import java.sql.ResultSet;
  17. import javax.swing.JOptionPane;
  18. import javax.swing.table.DefaultTableModel;
  19. //import java.swing.table.DefaultTableModel
  20.  
  21.  
  22. public class FormMahasiswa extends javax.swing.JFrame {
  23.  
  24.     /**
  25.      * Creates new form FormMahasiswa
  26.      */
  27.    
  28.     Connection conn;
  29.     DefaultTableModel model;
  30.     String jk,ini_prodi;
  31.    
  32.     private void koneksi(){
  33.         conn = null;
  34.         try{
  35.             Class.forName("com.mysql.cj.jdbc.Driver");
  36.             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/akademik?zeroDateTimeBehavior=CONVERT_TO_NULL","root","");
  37.         } catch(Exception e){
  38.             System.out.println("Gagal Melakukan Koneksi : "+e.getMessage());
  39.         }
  40.     }
  41.    
  42.     private void kosongkan_form(){
  43.         txtNrp.setEditable(true);
  44.         txtNrp.requestFocus();
  45.         txtNrp.setText(null);
  46.         txtNama.setText(null);
  47.         buttonGroup1.clearSelection();
  48.         prodi.setSelectedItem(this);
  49.         txtAlamat.setText(null);
  50.     }
  51.    
  52.     private void tampil_data(){
  53.         model = new DefaultTableModel();
  54.         model.addColumn("NRP");
  55.         model.addColumn("Nama Mahasiswa");
  56.         model.addColumn("Jenis Kelamin");
  57.         model.addColumn("Program Studi");
  58.         model.addColumn("Alamat");
  59.        
  60.         try{
  61.             PreparedStatement pre= conn.prepareStatement("SELECT * FROM mahasiswa");
  62.             ResultSet res = pre.executeQuery();
  63.            
  64.             while(res.next()){
  65.                 model.addRow(new Object[]{res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.getString(5)});
  66.             }
  67.             tabelMahasiswa.setModel(model);
  68.         } catch(SQLException e){
  69.             System.out.println("Gagal Memanggil Database : "+e.getMessage());
  70.         }
  71.     }
  72.    
  73.     public FormMahasiswa() {
  74.         initComponents();
  75.         koneksi();
  76.         kosongkan_form();
  77.         tampil_data();
  78.     }
  79.  
  80.     /**
  81.      * This method is called from within the constructor to initialize the form.
  82.      * WARNING: Do NOT modify this code. The content of this method is always
  83.      * regenerated by the Form Editor.
  84.      */
  85.     @SuppressWarnings("unchecked")
  86.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  87.     private void initComponents() {
  88.  
  89.         buttonGroup1 = new javax.swing.ButtonGroup();
  90.         jLabel1 = new javax.swing.JLabel();
  91.         jLabel2 = new javax.swing.JLabel();
  92.         jLabel3 = new javax.swing.JLabel();
  93.         jLabel4 = new javax.swing.JLabel();
  94.         jLabel5 = new javax.swing.JLabel();
  95.         txtNrp = new javax.swing.JTextField();
  96.         txtNama = new javax.swing.JTextField();
  97.         txtAlamat = new javax.swing.JTextField();
  98.         lakilaki = new javax.swing.JRadioButton();
  99.         perempuan = new javax.swing.JRadioButton();
  100.         prodi = new javax.swing.JComboBox<>();
  101.         jScrollPane1 = new javax.swing.JScrollPane();
  102.         tabelMahasiswa = new javax.swing.JTable();
  103.         btnSimpan = new javax.swing.JButton();
  104.         btnUbah = new javax.swing.JButton();
  105.         btnHapus = new javax.swing.JButton();
  106.         btnBatal = new javax.swing.JButton();
  107.         btnTutup = new javax.swing.JButton();
  108.         jLabel6 = new javax.swing.JLabel();
  109.  
  110.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  111.  
  112.         jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  113.         jLabel1.setText("NRP");
  114.  
  115.         jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  116.         jLabel2.setText("Nama");
  117.  
  118.         jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  119.         jLabel3.setText("Jenis Kelamin");
  120.  
  121.         jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  122.         jLabel4.setText("Program Studi");
  123.  
  124.         jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  125.         jLabel5.setText("Alamat");
  126.  
  127.         buttonGroup1.add(lakilaki);
  128.         lakilaki.setText("Laki-laki");
  129.  
  130.         buttonGroup1.add(perempuan);
  131.         perempuan.setText("Perempuan");
  132.  
  133.         prodi.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Teknik Informatika", "Manajement Informatika", "Komputer Akutansi", "Sistem Informasi" }));
  134.  
  135.         tabelMahasiswa.setModel(new javax.swing.table.DefaultTableModel(
  136.             new Object [][] {
  137.                 {null, null, null, null},
  138.                 {null, null, null, null},
  139.                 {null, null, null, null},
  140.                 {null, null, null, null}
  141.             },
  142.             new String [] {
  143.                 "Title 1", "Title 2", "Title 3", "Title 4"
  144.             }
  145.         ));
  146.         tabelMahasiswa.addMouseListener(new java.awt.event.MouseAdapter() {
  147.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  148.                 tabelMahasiswaMouseClicked(evt);
  149.             }
  150.         });
  151.         jScrollPane1.setViewportView(tabelMahasiswa);
  152.  
  153.         btnSimpan.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  154.         btnSimpan.setText("SIMPAN");
  155.         btnSimpan.addActionListener(new java.awt.event.ActionListener() {
  156.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  157.                 btnSimpanActionPerformed(evt);
  158.             }
  159.         });
  160.  
  161.         btnUbah.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  162.         btnUbah.setText("UBAH");
  163.         btnUbah.addActionListener(new java.awt.event.ActionListener() {
  164.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  165.                 btnUbahActionPerformed(evt);
  166.             }
  167.         });
  168.  
  169.         btnHapus.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  170.         btnHapus.setText("HAPUS");
  171.         btnHapus.addActionListener(new java.awt.event.ActionListener() {
  172.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  173.                 btnHapusActionPerformed(evt);
  174.             }
  175.         });
  176.  
  177.         btnBatal.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  178.         btnBatal.setText("BATAL");
  179.         btnBatal.addActionListener(new java.awt.event.ActionListener() {
  180.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  181.                 btnBatalActionPerformed(evt);
  182.             }
  183.         });
  184.  
  185.         btnTutup.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N
  186.         btnTutup.setText("TUTUP");
  187.         btnTutup.addActionListener(new java.awt.event.ActionListener() {
  188.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  189.                 btnTutupActionPerformed(evt);
  190.             }
  191.         });
  192.  
  193.         jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 18)); // NOI18N
  194.         jLabel6.setText("FORM DATA MAHASISWA");
  195.  
  196.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  197.         getContentPane().setLayout(layout);
  198.         layout.setHorizontalGroup(
  199.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  200.             .addGroup(layout.createSequentialGroup()
  201.                 .addGap(51, 51, 51)
  202.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  203.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 557, javax.swing.GroupLayout.PREFERRED_SIZE)
  204.                     .addGroup(layout.createSequentialGroup()
  205.                         .addComponent(btnSimpan, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
  206.                         .addGap(18, 18, 18)
  207.                         .addComponent(btnUbah, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
  208.                         .addGap(18, 18, 18)
  209.                         .addComponent(btnHapus, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
  210.                         .addGap(18, 18, 18)
  211.                         .addComponent(btnBatal, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
  212.                         .addGap(18, 18, 18)
  213.                         .addComponent(btnTutup, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
  214.                     .addGroup(layout.createSequentialGroup()
  215.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  216.                             .addComponent(jLabel1)
  217.                             .addComponent(jLabel2)
  218.                             .addComponent(jLabel3)
  219.                             .addComponent(jLabel4)
  220.                             .addComponent(jLabel5))
  221.                         .addGap(132, 132, 132)
  222.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  223.                             .addComponent(txtAlamat, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
  224.                             .addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
  225.                             .addComponent(txtNrp, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
  226.                             .addGroup(layout.createSequentialGroup()
  227.                                 .addGap(4, 4, 4)
  228.                                 .addComponent(lakilaki)
  229.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  230.                                 .addComponent(perempuan))
  231.                             .addComponent(prodi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  232.                     .addGroup(layout.createSequentialGroup()
  233.                         .addGap(149, 149, 149)
  234.                         .addComponent(jLabel6)))
  235.                 .addContainerGap(47, Short.MAX_VALUE))
  236.         );
  237.         layout.setVerticalGroup(
  238.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  239.             .addGroup(layout.createSequentialGroup()
  240.                 .addContainerGap()
  241.                 .addComponent(jLabel6)
  242.                 .addGap(54, 54, 54)
  243.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  244.                     .addGroup(layout.createSequentialGroup()
  245.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  246.                             .addComponent(jLabel1)
  247.                             .addComponent(txtNrp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  248.                         .addGap(21, 21, 21)
  249.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  250.                             .addComponent(jLabel2)
  251.                             .addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  252.                         .addGap(22, 22, 22)
  253.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  254.                             .addComponent(jLabel3)
  255.                             .addComponent(lakilaki)))
  256.                     .addComponent(perempuan))
  257.                 .addGap(19, 19, 19)
  258.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  259.                     .addComponent(jLabel4)
  260.                     .addComponent(prodi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  261.                 .addGap(31, 31, 31)
  262.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  263.                     .addComponent(jLabel5)
  264.                     .addComponent(txtAlamat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  265.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 13, Short.MAX_VALUE)
  266.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  267.                     .addComponent(btnSimpan, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  268.                     .addComponent(btnUbah, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  269.                     .addComponent(btnHapus, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  270.                     .addComponent(btnBatal, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  271.                     .addComponent(btnTutup, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
  272.                 .addGap(18, 18, 18)
  273.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
  274.                 .addContainerGap())
  275.         );
  276.  
  277.         pack();
  278.     }// </editor-fold>                        
  279.  
  280.     private void btnTutupActionPerformed(java.awt.event.ActionEvent evt) {                                        
  281.         // TODO add your handling code here:
  282.         System.exit(0);
  283.     }                                        
  284.  
  285.     private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {                                          
  286.         // TODO add your handling code here:
  287.         try{
  288.             PreparedStatement pre = conn.prepareStatement("INSERT INTO mahasiswa VALUE(?,?,?,?,?)");
  289.             pre.setString(1, txtNrp.getText());
  290.             pre.setString(2, txtNama.getText());
  291.            
  292.             if(lakilaki.isSelected()){
  293.                 jk = "L";
  294.             }
  295.             if(perempuan.isSelected()){
  296.                 jk = "P";
  297.             }
  298.             pre.setString(3,jk);
  299.             ini_prodi = prodi.getSelectedItem().toString();
  300.            
  301.             pre.setString(4, ini_prodi);
  302.            
  303.             pre.setString(5, txtAlamat.getText());
  304.            
  305.             pre.executeUpdate();
  306.             JOptionPane.showMessageDialog(null,"Data Berhasil Disimpan");
  307.            
  308.             tampil_data();
  309.             kosongkan_form();
  310.            
  311.         }catch(Exception e){
  312.             System.out.println("Data Gagal Disimpan : "+e.getMessage());
  313.         }
  314.     }                                        
  315.  
  316.     private void tabelMahasiswaMouseClicked(java.awt.event.MouseEvent evt) {                                            
  317.         // TODO add your handling code here:
  318.         txtNrp.setEditable(false);
  319.         int i = tabelMahasiswa.getSelectedRow();
  320.        
  321.         txtNrp.setText(model.getValueAt(i, 0).toString());
  322.         txtNama.setText(model.getValueAt(i, 1).toString());
  323.        
  324.         String pilihJK = model.getValueAt(i, 2).toString();
  325.             if(pilihJK.equals("L")){
  326.                 lakilaki.setSelected(true);
  327.             } else {
  328.                 perempuan.setSelected(true);
  329.             }
  330.            
  331.         String pilihProdi = model.getValueAt(i, 3).toString();
  332.             switch(pilihProdi){
  333.                 case "Teknik Informatika":
  334.                     prodi.setSelectedIndex(0);
  335.                     break;
  336.                 case "Manajemen Informatika":
  337.                     prodi.setSelectedIndex(1);
  338.                     break;
  339.                 case "Komputer Akutansi":
  340.                     prodi.setSelectedIndex(2);
  341.                     break;
  342.                 case "Sistem Informasi":
  343.                     prodi.setSelectedIndex(3);
  344.                     break;
  345.             }
  346.         txtAlamat.setText(model.getValueAt(i, 4).toString());
  347.     }                                          
  348.  
  349.     private void btnUbahActionPerformed(java.awt.event.ActionEvent evt) {                                        
  350.         // TODO add your handling code here:
  351.         try{
  352.             PreparedStatement pre = conn.prepareStatement("UPDATE mahasiswa SET nama=?, jk=?, prodi=?, alamat=? WHERE nrp=?");
  353.            
  354.             pre.setString(1, txtNama.getText());
  355.            
  356.             if(lakilaki.isSelected()){
  357.                 jk = "L";
  358.             }
  359.             if(perempuan.isSelected()){
  360.                 jk = "P";
  361.             }
  362.             pre.setString(2,jk);
  363.             ini_prodi = prodi.getSelectedItem().toString();
  364.            
  365.             pre.setString(3, ini_prodi);
  366.            
  367.             pre.setString(4, txtAlamat.getText());
  368.             pre.setString(5, txtNrp.getText());
  369.            
  370.             pre.executeUpdate();
  371.             JOptionPane.showMessageDialog(null,"Data Berhasil Diubah");
  372.            
  373.             tampil_data();
  374.             kosongkan_form();
  375.            
  376.         }catch(Exception e){
  377.             System.out.println("Data Gagal Diubah : "+e.getMessage());
  378.         }
  379.     }                                      
  380.  
  381.     private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {                                        
  382.         // TODO add your handling code here:
  383.         try{
  384.             PreparedStatement pre = conn.prepareStatement("DELETE from mahasiswa WHERE nrp=?");
  385.            
  386.             pre.setString(1, txtNrp.getText());
  387.            
  388.             pre.executeUpdate();
  389.             JOptionPane.showMessageDialog(null,"Data Berhasil Dihapus");
  390.            
  391.             tampil_data();
  392.             kosongkan_form();
  393.            
  394.         }catch(Exception e){
  395.             System.out.println("Data Gagal Dihapus : "+e.getMessage());
  396.         }
  397.     }                                        
  398.  
  399.     private void btnBatalActionPerformed(java.awt.event.ActionEvent evt) {                                        
  400.         // TODO add your handling code here:
  401.         kosongkan_form();
  402.     }                                        
  403.  
  404.     /**
  405.      * @param args the command line arguments
  406.      */
  407.     public static void main(String args[]) {
  408.         /* Set the Nimbus look and feel */
  409.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  410.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  411.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  412.          */
  413.         try {
  414.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  415.                 if ("Nimbus".equals(info.getName())) {
  416.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  417.                     break;
  418.                 }
  419.             }
  420.         } catch (ClassNotFoundException ex) {
  421.             java.util.logging.Logger.getLogger(FormMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  422.         } catch (InstantiationException ex) {
  423.             java.util.logging.Logger.getLogger(FormMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  424.         } catch (IllegalAccessException ex) {
  425.             java.util.logging.Logger.getLogger(FormMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  426.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  427.             java.util.logging.Logger.getLogger(FormMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  428.         }
  429.         //</editor-fold>
  430.  
  431.         /* Create and display the form */
  432.         java.awt.EventQueue.invokeLater(new Runnable() {
  433.             public void run() {
  434.                 new FormMahasiswa().setVisible(true);
  435.             }
  436.         });
  437.     }
  438.  
  439.     // Variables declaration - do not modify                    
  440.     private javax.swing.JButton btnBatal;
  441.     private javax.swing.JButton btnHapus;
  442.     private javax.swing.JButton btnSimpan;
  443.     private javax.swing.JButton btnTutup;
  444.     private javax.swing.JButton btnUbah;
  445.     private javax.swing.ButtonGroup buttonGroup1;
  446.     private javax.swing.JLabel jLabel1;
  447.     private javax.swing.JLabel jLabel2;
  448.     private javax.swing.JLabel jLabel3;
  449.     private javax.swing.JLabel jLabel4;
  450.     private javax.swing.JLabel jLabel5;
  451.     private javax.swing.JLabel jLabel6;
  452.     private javax.swing.JScrollPane jScrollPane1;
  453.     private javax.swing.JRadioButton lakilaki;
  454.     private javax.swing.JRadioButton perempuan;
  455.     private javax.swing.JComboBox<String> prodi;
  456.     private javax.swing.JTable tabelMahasiswa;
  457.     private javax.swing.JTextField txtAlamat;
  458.     private javax.swing.JTextField txtNama;
  459.     private javax.swing.JTextField txtNrp;
  460.     // End of variables declaration                  
  461. }
  462.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement