You are on page 1of 10

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package sipenilaian.

user; import import import import import import javax.swing.JOptionPane; javax.swing.table.TableModel; sipenilaian.characterValidator; sipenilaian.enkripsiDekripsi; sipenilaian.menu.menu; sipenilaian.numericValidator;

/** * * @author TheyNadi */ public class user extends javax.swing.JInternalFrame { public static int level=3; private int AUTO_RESIZE_OFF; /** * Creates new form user */ public user() { initComponents(); loading(); txtUsername.setDocument(new characterValidator(20, true)); txtPassword.setDocument(new characterValidator(32, true)); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { txtUsername = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); txtPassword = new javax.swing.JFormattedTextField(); cmbLevel = new javax.swing.JComboBox(); jLabel4 = new javax.swing.JLabel(); btnTambah = new javax.swing.JButton(); btnSimpan = new javax.swing.JButton(); btnHapus = new javax.swing.JButton(); btnKeluar = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); tblUser = new javax.swing.JTable(); txtUsername.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel2.setText("Username"); jLabel3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel3.setText("Password");

cmbLevel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N cmbLevel.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "M ahasiswa", "Dosen", "Akademik" })); jLabel4.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel4.setText("Level"); btnTambah.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N btnTambah.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ico n/contacts_add.png"))); // NOI18N btnTambah.setText("Tambah"); btnTambah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnTambahActionPerformed(evt); } }); btnSimpan.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N btnSimpan.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ico n/media_floppy_green.png"))); // NOI18N btnSimpan.setText("Simpan"); btnSimpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSimpanActionPerformed(evt); } }); btnHapus.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N btnHapus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon /gnome_edit_delete.png"))); // NOI18N btnHapus.setText("Hapus"); btnHapus.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnHapusActionPerformed(evt); } }); btnKeluar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N btnKeluar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ico n/application_exit.png"))); // NOI18N btnKeluar.setText("Keluar"); btnKeluar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnKeluarActionPerformed(evt); } }); tblUser.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4" } )); tblUser.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) {

tblUserMouseClicked(evt); } }); jScrollPane1.setViewportView(tblUser); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentP ane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(layout.createSequentialGroup() .addGap(24, 24, 24) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(btnTambah) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacem ent.UNRELATED) .addComponent(btnSimpan, javax.swing.GroupLayout.PREFERR ED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacem ent.UNRELATED) .addComponent(btnHapus, javax.swing.GroupLayout.PREFERRE D_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacem ent.RELATED) .addComponent(btnKeluar, javax.swing.GroupLayout.PREFERR ED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(jLabel2) .addGap(18, 18, 18) .addComponent(txtUsername)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.Gro upLayout.Alignment.LEADING) .addComponent(jLabel3) .addComponent(jLabel4)) .addGap(21, 21, 21) .addGroup(layout.createParallelGroup(javax.swing.Gro upLayout.Alignment.LEADING) .addComponent(txtPassword, javax.swing.GroupLayo ut.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(cmbLevel, javax.swing.GroupLayout. PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))))) .addGap(18, 18, 18) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SI ZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX _VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createS equentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.TRAILING)

.addGroup(layout.createSequentialGroup() .addContainerGap(65, Short.MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREF ERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout. createSequentialGroup() .addGap(26, 26, 26) .addGroup(layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(txtUsername, javax.swing.GroupLayout.P REFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PRE FERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(txtPassword, javax.swing.GroupLayout.P REFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PRE FERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(cmbLevel, javax.swing.GroupLayout.PREF ERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFER RED_SIZE)) .addGap(26, 26, 26) .addGroup(layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.BASELINE) .addComponent(btnTambah, javax.swing.GroupLayout.DEF AULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnSimpan) .addComponent(btnHapus, javax.swing.GroupLayout.PREF ERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnKeluar)))) .addGap(22, 22, 22)) ); pack(); }// </editor-fold> private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: tambah(); } private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String text = (String)evt.getActionCommand(); if (text.equals("Simpan")){ simpan(); } else{ edit(); } } private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:

hapus(); } private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String text = (String)evt.getActionCommand(); if (text.equals("Batal")){ loading(); } else{ menu.jadwal=0; this.dispose(); } } private void tblUserMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: if(evt.getClickCount()==2){ table_click(); } } // Variables declaration - do not modify private javax.swing.JButton btnHapus; private javax.swing.JButton btnKeluar; private javax.swing.JButton btnSimpan; private javax.swing.JButton btnTambah; private javax.swing.JComboBox cmbLevel; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable tblUser; private javax.swing.JFormattedTextField txtPassword; private javax.swing.JTextField txtUsername; // End of variables declaration private void Tabel (javax.swing.JTable tb, int lebar[] ){ int kolom=tb.getColumnCount(); for (int i=0;i < kolom;i++){ javax.swing.table.TableColumn tbc = tb.getColumnModel().getColumn(i ); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17); } } void bersih(){ txtUsername.setText(""); txtUsername.setEditable(true); txtPassword.setText(""); txtPassword.setEditable(true); txtUsername.requestFocus(); tampil(); } void loading(){ bersih(); txtUsername.setEditable(false); txtPassword.setEditable(false); btnSimpan.setText("Simpan"); btnSimpan.setEnabled(false);

btnHapus.setEnabled(false); btnTambah.setEnabled(true); btnKeluar.setText("Keluar"); btnKeluar.setEnabled(true); } void tambah(){ if(level==1){ JOptionPane.showMessageDialog(null,"Anda tidak memiliki akses ini","Warning !",JOptionPane.ERROR_MESSAGE); }else if(level==2||level==3){ btnSimpan.setText("Simpan"); btnSimpan.setEnabled(true); btnHapus.setEnabled(false); btnTambah.setEnabled(false); btnKeluar.setText("Batal"); btnKeluar.setEnabled(true); bersih(); } } void simpan(){ if (txtUsername.getText().isEmpty()||txtUsername.getText().isEmpty()){ JOptionPane.showMessageDialog(null,"Lengkapi data !","Warning !",JOptio nPane.OK_OPTION); }else { koneksiUser.tambahUser(txtUsername.getText().toString(), txtPassword.ge tText().toString(),cmbLevel.getSelectedItem().toString()); } tampil(); bersih(); btnTambah.setEnabled(true); } void edit(){ koneksiUser.ubahUser(txtUsername.getText().toString(), txtPassword.getText() .toString(),cmbLevel.getSelectedItem().toString()); tampil(); } void hapus(){ if(level==2){ JOptionPane.showMessageDialog(null,"Anda tidak memiliki akses ini","Warning !",JOptionPane.ERROR_MESSAGE); }else if(level==3){ int selectedOption = JOptionPane.showConfirmDialog(null,"Apakah anda yakin u ntuk menghapus?",null,JOptionPane.YES_NO_OPTION); if (selectedOption == JOptionPane.YES_OPTION) { koneksiUser.hapusJurusan(txtUsername.getText().toString()); } loading(); } } void tampil(){ TableModel tableModel = new modelUser(koneksiUser.tampilUser()); tblUser.setModel(tableModel); tblUser.setAutoResizeMode(AUTO_RESIZE_OFF); Tabel(tblUser,new int[]{50,150,280,80}); } private void table_click(){ if(level==1){ JOptionPane.showMessageDialog(null,"Anda tidak memiliki akses ini","Warn

ing !",JOptionPane.ERROR_MESSAGE); }else if(level==2||level==3){ int row = tblUser.getSelectedRow(); btnHapus.setEnabled(true); btnSimpan.setText("Ubah"); btnSimpan.setEnabled(true); txtUsername.setEditable(false); txtUsername.setText(tblUser.getValueAt(row,1).toString()); txtPassword.setText(enkripsiDekripsi.decrypt(tblUser.getValueAt(row,2).t oString(),3)); cmbLevel.setSelectedItem(tblUser.getValueAt(row,3).toString()); txtPassword.setEditable(true); txtPassword.requestFocus(); btnTambah.setEnabled(false); btnKeluar.setText("Batal"); } } }

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package sipenilaian.user; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; import javax.swing.table.AbstractTableModel; import sipenilaian.enkripsiDekripsi; import sipenilaian.koneksi.koneksi; /** * * @author TheyNadi */ public class modelUser extends AbstractTableModel{ private List<loadUser> list; public modelUser(List<loadUser> list) { this.list = list; } public int getRowCount() { return list.size(); } public int getColumnCount() { return 4; } public Object getValueAt(int rowIndex, int columnIndex) { switch(columnIndex){ case 0: return list.get(rowIndex).getNo(); case 1: return list.get(rowIndex).getUsername();

case 2: return list.get(rowIndex).getPassword(); case 3: return list.get(rowIndex).getLevel(); default: return null; } } @Override public String getColumnName(int column) { switch (column){ case 0: return "No"; case 1: return "Username"; case 2: return "Password"; case 3: return "Level"; default: return null; } } } class loadUser{ private int no; private String username; private String password,level; /** * @return the no */ public int getNo() { return no; } /** * @param no the no to set */ public void setNo(int no) { this.no = no; } /** * @return the username */ public String getUsername() { return username; } /** * @param username the username to set */ public void setUsername(String username) { this.username = username; } /** * @return the password */

public String getPassword() { return password; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } /** * @return the level */ public String getLevel() { return level; } /** * @param level the level to set */ public void setLevel(String level) { this.level = level; } } class koneksiUser{ //tambah jurusan public static void tambahUser(String username,String password,String level){ String query = "INSERT INTO tblUser (username,password,level) VALUES ('"+user name.trim()+"','"+enkripsiDekripsi.encrypt(password.trim(),3)+"','"+level.trim() +"')"; koneksi.sambungDB(); try { koneksi.stat = koneksi.con.createStatement(); koneksi.stat.executeUpdate(query); koneksi.stat.close(); } catch(Exception e) { JOptionPane.showMessageDialog(null,"Ada kesalahan pada penambahan us er !","Warning !",JOptionPane.OK_OPTION); System.out.println ("kesalahan : " + e.getMessage()); } koneksi.tutupKoneksi(); } //ubah jurusan public static void ubahUser(String username,String password,String level){ String query= "UPDATE tblUser SET password='"+enkripsiDekripsi.encrypt(p assword.trim(),3)+"',level='"+level+"' WHERE username='"+username.trim()+"'"; koneksi.sambungDB(); try { koneksi.stat = koneksi.con.createStatement(); koneksi.stat.executeUpdate(query); koneksi.stat.close(); } catch(Exception e) { JOptionPane.showMessageDialog(null,"Ada kesalahan pada perubahan user !","Warning !",JOptionPane.OK_OPTION); System.out.println ("kesalahan : " + e.getMessage()); } koneksi.tutupKoneksi();

} //hapus jurusan public static void hapusJurusan(String username){ String query ="DELETE FROM tbluser WHERE username ='"+username.trim()+" '"; koneksi.sambungDB(); try { koneksi.stat = koneksi.con.createStatement(); koneksi.stat.executeUpdate(query); koneksi.stat.close(); } catch(Exception e) { JOptionPane.showMessageDialog(null,"Ada kesalahan pada penghapusan u ser !","Warning !",JOptionPane.OK_OPTION); System.out.println ("kesalahan : " + e.getMessage()); } koneksi.tutupKoneksi(); }//tampil data jurusan public static List tampilUser(){ int no=1; String query = "SELECT username,password,level FROM tbluser"; koneksi.sambungDB(); List<loadUser> list= new ArrayList<loadUser>(); try { koneksi.stat = koneksi.con.createStatement(); koneksi.isi = koneksi.stat.executeQuery(query); while(koneksi.isi.next()){ loadUser loadUser = new loadUser(); loadUser.setNo(no); loadUser.setUsername(koneksi.isi.getString("username")); loadUser.setPassword(koneksi.isi.getString("password")); loadUser.setLevel(koneksi.isi.getString("level")); list.add(loadUser); no++; } } catch(Exception e) { JOptionPane.showMessageDialog(null,"Ada kesalahan pada tampil jur usan !","Warning !",JOptionPane.OK_OPTION); System.out.println ("kesalahan : " + e.getMessage()); } koneksi.tutupKoneksi(); return list; } }

You might also like