LAMPIRAN Tampilan Interface Sistem Informasi Apotik Denai
L A M P
I R A N
LAMPIRAN
Tampilan Interface Sistem Informasi Apotik DenaiTampilan Login.java Tampilan MenuUtama.java
Tampilan PenjualanObat.java Tampilan DataObat.java
Tampilan DataDistributor.java Tampilan Laporan.java
LAMPIRAN
Listing program Sistem Informasi Apotik DataObat.javapackage Apotik.GUI.Interface; import Apotik.QueryKeMysql.KasirDAO; import Apotik.DBKoneksi.DBConnection; import Apotik.Data.Kasir; import Apotik.gui.Interface.AboutIFrame; import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel; import java.awt.Dimension; import java.io.InputStream; import java.sql.SQLException; import java.util.HashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; public class FrameHome extends javax.swing.JFrame { private static final long serialVersionUID = - 1509265292521816021L; private Kasir kasir; /** Creates new form MainFrame */ public FrameHome() { initComponents(); loginDialog.setPreferredSize(new Dimension(130, loginDialog.setMinimumSize(new Dimension(130, 130)); loginDialog.setMaximumSize(new Dimension(130, 130)); setMenuLogOut(); } private boolean isValidUser(String username, String password) { try { Kasir k = new KasirDAO(DBConnection.getInstance().getConnection()).loadUse rname(username); if (k != null) { if (k.getUsername().equals(username) && k.getPassword().equals(password)) { return true; } else { return false; } } else { return false; } } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); return false; }
} // <editor-fold defaultstate="collapsed" desc="setter getter kasir"> public Kasir getKasir() { return kasir; } public void setKasir(Kasir kasir) { this.kasir = kasir; } // </editor-fold> /** Set menu dan menu item
- @param <code>status</code> untuk status login jika true maka login jika false maka logout
- / public void setMenuUserLogin(int akses) { if (akses == Kasir.KASIR) { loginMenuItem.setEnabled(false); logoutMenuItem.setEnabled(true); masterMenu.setEnabled(false); transaksiMenu.setEnabled(true); transaksiPembelianMenuItem.setEnabled(true); transaksiPenjualanMenuItem.setEnabled(true); transaksiResepMenuItem.setEnabled(false); laporanMenu.setEnabled(false); } else if (akses == Kasir.APOTEKER) { loginMenuItem.setEnabled(false); logoutMenuItem.setEnabled(true); masterMenu.setEnabled(false); transaksiMenu.setEnabled(true); transaksiPembelianMenuItem.setEnabled(false); transaksiPenjualanMenuItem.setEnabled(false);
- 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() { loginDialog = new javax.swing.JDialog(); loginButton = new javax.swing.JButton(); batalButton = new javax.swing.JButton();
- 1)); batalButton.setFont(new java.awt.Font("Tahoma", 0, 14)); batalButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Apotik/ICON/m nuCancel.png"))); // NOI18N
- 1)); loginUsernameTextField.setFont(new java.awt.Font("Tahoma", 0, 14)); loginDialog.getContentPane().add(loginUsernameTextField, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 80, 180,
- 1)); jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); jLabel1.setText("Username :"); loginDialog.getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 80, -1, - 1)); jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); jLabel2.setText("Password :"); loginDialog.getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 110, -1,
- 1)); loginPasswordPasswordField.setFont(new java.awt.Font("Tahoma", 0, 14));
} }); masterMenu.add(masterDistributorMenuItem); masterKasirMenuItem.setText("Kasir"); masterKasirMenuItem.addActionListener(new java.awt.event.ActionListener() { actionPerformed(java.awt.event.ActionEvent evt) { masterKasirMenuItemActionPerformed(evt); } }); masterMenu.add(masterKasirMenuItem); mainMenuBar.add(masterMenu); transaksiMenu.setText("Transaksi"); transaksiMenu.setFont(new java.awt.Font("Tahoma", 0, 14)); transaksiPenjualanMenuItem.setText("Penjualan"); transaksiPenjualanMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { transaksiPenjualanMenuItemActionPerformed(evt); } }); transaksiMenu.add(transaksiPenjualanMenuItem); transaksiPembelianMenuItem.setText("Pembelian"); transaksiPembelianMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { transaksiPembelianMenuItemActionPerformed(evt); } }); transaksiMenu.add(transaksiPembelianMenuItem); transaksiResepMenuItem.setText("Resep"); transaksiResepMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { transaksiResepMenuItemActionPerformed(evt); } }); transaksiMenu.add(transaksiResepMenuItem); mainMenuBar.add(transaksiMenu); laporanMenu.setText("Laporan"); laporanMenu.setFont(new java.awt.Font("Tahoma", 0, 14)); laporanPenjualanMenuItem.setText("Penjualan"); laporanPenjualanMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { laporanPenjualanMenuItemActionPerformed(evt); } }); laporanMenu.add(laporanPenjualanMenuItem);
laporanPembelianMenuItem.setText("Pembelian"); laporanPembelianMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { } }); laporanMenu.add(laporanPembelianMenuItem); laporanResepMenuItem.setText("Resep"); laporanResepMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { laporanResepMenuItemActionPerformed(evt); } }); laporanMenu.add(laporanResepMenuItem); obatMenuItem.setText("Obat"); obatMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { obatMenuItemActionPerformed(evt); } }); laporanMenu.add(obatMenuItem); distibutorMenuItem.setText("Distributor"); distibutorMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { distibutorMenuItemActionPerformed(evt); } }); kasirMenuItem.setText("Kasir"); kasirMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { kasirMenuItemActionPerformed(evt); } }); laporanMenu.add(kasirMenuItem); mainMenuBar.add(laporanMenu); helpMenu.setText("Help"); helpMenu.setFont(new java.awt.Font("Tahoma", 0, 14)); aboutMenuItem.setText("About"); aboutMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { aboutMenuItemActionPerformed(evt); } }); helpMenu.add(aboutMenuItem); mainMenuBar.add(helpMenu); setJMenuBar(mainMenuBar); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment .LEADING) .addComponent(mainDesktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment .LEADING) .addComponent(mainDesktopPane, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE) ); pack(); }// </editor-fold> private void loginMenuItemActionPerformed(java.awt.event.ActionEvent evt) { loginDialog.setSize(510, 250); loginDialog.setVisible(true); } private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } private void evt) { this.setMenuLogOut(); this.setTitle("Aplkasi Apotik Denai"); } private void aboutMenuItemActionPerformed(java.awt.event.ActionEvent evt) { AboutIFrame aif = new AboutIFrame(); mainDesktopPane.add(aif); aif.setVisible(true); } private void batalButtonActionPerformed(java.awt.event.ActionEvent evt) { loginDialog.setVisible(false); } private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) { if (isValidUser(loginUsernameTextField.getText(), String.valueOf(loginPasswordPasswordField.getPassword()))) { try { this.kasir = new KasirDAO(DBConnection.getInstance(). getConnection()).loadUsername(loginUsernameTextField.getText ()); if (kasir != null) { setMenuUserLogin(kasir.getAkses()); if (kasir.getAkses() == Kasir.ADMIN) { this.setTitle("Aplikasi Apotik Denai -- } else if (kasir.getAkses() == Kasir.APOTEKER) { this.setTitle("Aplikasi apotik -- Apoteker : " + kasir.getNama()); } else { this.setTitle("Aplikasi Apotik Denai -- Kasir : " + kasir.getNama()); } loginUsernameTextField.setText(""); loginPasswordPasswordField.setText(""); loginDialog.setVisible(false); } } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } else { JOptionPane.showMessageDialog(this, "Kesalahan login!"); loginUsernameTextField.requestFocusInWindow(); } } private void masterObatMenuItemActionPerformed(java.awt.event.ActionEvent evt) { MasterObatIFrame moif = new MasterObatIFrame(); mainDesktopPane.add(moif); moif.setVisible(true); } private void masterDistributorMenuItemActionPerformed(java.awt.event.Acti onEvent evt) { MasterDistributorIFrame mdif = new MasterDistributorIFrame(); mainDesktopPane.add(mdif); mdif.setVisible(true); } private void masterKasirMenuItemActionPerformed(java.awt.event.ActionEven t evt) { MasterKasirIFrame mkif = new MasterKasirIFrame(); mainDesktopPane.add(mkif); mkif.setVisible(true); } private void transaksiPembelianMenuItemActionPerformed(java.awt.event.Act ionEvent evt) { TransaksiPembelianIFrame tpif = new TransaksiPembelianIFrame(); mainDesktopPane.add(tpif); tpif.setVisible(true); } private void transaksiResepMenuItemActionPerformed(java.awt.event.ActionE vent evt) { TransaksiResepIFrame trif = new TransaksiResepIFrame(this.kasir); mainDesktopPane.add(trif); trif.setVisible(true); private void transaksiPenjualanMenuItemActionPerformed(java.awt.event.Act ionEvent evt) { TransaksiPenjualanInternalFrame tpif = new TransaksiPenjualanInternalFrame(this.kasir); mainDesktopPane.add(tpif); tpif.setVisible(true); } private void laporanPenjualanMenuItemActionPerformed(java.awt.event.Actio nEvent evt) { LaporanPenjualanIFrame lpif = new LaporanPenjualanIFrame(); mainDesktopPane.add(lpif); lpif.setVisible(true); } private void laporanPembelianMenuItemActionPerformed(java.awt.event.Actio nEvent evt) { LaporanPembelianIFrame lpif = new LaporanPembelianIFrame(); mainDesktopPane.add(lpif); lpif.setVisible(true);} private void laporanResepMenuItemActionPerformed(java.awt.event.ActionEve nt evt) { try { InputStream is = nResep.jasper"); JasperPrint jp = JasperFillManager.fillReport(is, new HashMap(), DBConnection.getInstance().getConnection()); ReportPreview rp = new ReportPreview(jp); rp.setVisible(true); } catch (JRException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } private void obatMenuItemActionPerformed(java.awt.event.ActionEvent evt) { try { InputStream is = getClass().getResourceAsStream("/com/apotik/rep/obat/laporan Obat.jasper"); JasperPrint jp = JasperFillManager.fillReport(is, new HashMap(), DBConnection.getInstance().getConnection()); ReportPreview rp = new ReportPreview(jp); rp.setVisible(true); } catch (JRException ex) {
JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } private void distibutorMenuItemActionPerformed(java.awt.event.ActionEvent evt) { try { InputStream is = getClass().getResourceAsStream("/com/apotik/rep/resep/lapora nResep.jasper"); JasperPrint jp = JasperFillManager.fillReport(is, new HashMap(), DBConnection.getInstance().getConnection()); ReportPreview rp = new ReportPreview(jp); rp.setVisible(true); } catch (JRException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } private void kasirMenuItemActionPerformed(java.awt.event.ActionEvent evt) { try {
InputStream is = getClass().getResourceAsStream("/com/apotik/rep/kasir/lapora nKasir.jasper"); JasperPrint jp = JasperFillManager.fillReport(is, new HashMap(), DBConnection.getInstance().getConnection()); ReportPreview rp = new ReportPreview(jp); rp.setVisible(true); JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } /**
- @param args the command line arguments
- / public static void main(String args[]) { try { UIManager.setLookAndFeel(new NimbusLookAndFeel()); java.awt.EventQueue.invokeLater(new Runnable() { public void run() { FrameHome rm=new FrameHome(); //code dibawah ini yang harus ditambahkan sebelum pemanggilan form. rm.setExtendedState(JFrame.MAXIMIZED_BOTH);
rm.setVisible(true); } });
} catch (UnsupportedLookAndFeelException ex) { ex.printStackTrace(); } } // Variables declaration - do not modify private javax.swing.JMenuItem aboutMenuItem; private javax.swing.JMenuItem distibutorMenuItem; private javax.swing.JMenuItem exitMenuItem; private javax.swing.JMenu helpMenu; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JMenuItem kasirMenuItem; private javax.swing.JMenu laporanMenu; private javax.swing.JMenuItem laporanPembelianMenuItem; private javax.swing.JMenuItem laporanPenjualanMenuItem; private javax.swing.JMenuItem laporanResepMenuItem; private javax.swing.JButton loginButton; private javax.swing.JDialog loginDialog; private javax.swing.JMenuItem loginMenuItem; private javax.swing.JPasswordField loginPasswordPasswordField; private javax.swing.JTextField loginUsernameTextField; private javax.swing.JMenuItem logoutMenuItem; private javax.swing.JDesktopPane mainDesktopPane; private javax.swing.JMenuBar mainMenuBar; private javax.swing.JMenuItem masterDistributorMenuItem; private javax.swing.JMenuItem masterKasirMenuItem; private javax.swing.JMenu masterMenu; private javax.swing.JMenuItem masterObatMenuItem; private javax.swing.JMenuItem obatMenuItem; private View.Panel1U panel1U1; private javax.swing.JMenu transaksiMenu; private javax.swing.JMenuItem transaksiPembelianMenuItem; private javax.swing.JMenuItem transaksiPenjualanMenuItem; private javax.swing.JMenuItem transaksiResepMenuItem; private javax.swing.JMenu userMenu; }
MasterObatIFrame.java
package Apotik.GUI.Interface; import Apotik.QueryKeMysql.ObatDAO; import Apotik.DBKoneksi.DBConnection; import Apotik.Data.Obat; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; public class MasterObatIFrame extends javax.swing.JInternalFrame { private List<Obat> records = new ArrayList<Obat>(); private int row = 0; private int ITEM_KODE = 0; private int ITEM_NAMA = 1; private int ITEM_JENIS = 2; private int ITEM_KEMASAN = 3; private int ITEM_INDIKASI = 4; /** Creates new form MasterObatIFrame */ public MasterObatIFrame() { initComponents(); this.initStatus(); this.loadRecords(); } private void loadRecords() { try {
DBConnection conn = DBConnection.getInstance(); ObatDAO dao = new ObatDAO(conn.getConnection()); records = dao.getAll(); this.setFillTable(); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error : "+ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } private void loadRecords(int item, String text) { try { DBConnection conn = DBConnection.getInstance(); ObatDAO dao = new ObatDAO(conn.getConnection()); if (item == ITEM_KODE) { records = dao.getAllKode(text); } else if (item == ITEM_NAMA) { records = dao.getAllNama(text); } else if (item == ITEM_JENIS) { records = dao.getAllJenis(text); } else if (item == ITEM_KEMASAN) { records = dao.getAllKemasan(text); } else if (item == ITEM_INDIKASI) { records = dao.getAllIndikasi(text); } else { records = dao.getAll(); } this.setFillTable(); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error : "+ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } private void initStatus() { setClearTextField(); setTextFieldEnabled(false); setPencarianItemEnabled(true); resetButton.setEnabled(true); tambahButton.setEnabled(true); ubahButton.setEnabled(true); this.setClearTable(); jTable1.setEnabled(true); ubahButton.setText("Ubah"); tambahButton.setText("Tambah"); } private boolean isTextFieldNotEmpty() { if (!kodeTextField.getText().isEmpty() && !namaTextField.getText().isEmpty() && !jenisTextField.getText().isEmpty() && !kemasanTextField.getText().isEmpty() && !indikasiTextField.getText().isEmpty() && !stokTextField.getText().isEmpty() && !hargaPokokTextField.getText().isEmpty() && !hargaJualTextField.getText().isEmpty() && !ppnTextField.getText().isEmpty() && !diskonTextField.getText().isEmpty()) { return true; } else { return false; } } private void tambahStatus() { setTextFieldEnabled(true); ubahButton.setEnabled(false);
tambahButton.setText("Simpan"); kodeTextField.requestFocusInWindow(); } private void ubahStatus() { setTextFieldEnabled(true); setPencarianItemEnabled(false); tambahButton.setEnabled(false); cariButton.setEnabled(false); ubahButton.setText("Simpan"); this.setFillTextField(); kodeTextField.requestFocusInWindow(); } private void setClearTable() { jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object[][]{ {null, null, null, null, null, null, null, null, null, null} }, new String[]{ "Kode", "Nama", "Jenis", "Kemasan", "Indikasi", "Stok", "Harga Pokok", "Harga Jual", "PPN", "Diskon" })); } private void setFillTable() { Object data[][] = new Object[records.size()][10]; int x = 0; for (Obat obat : records) { data[x][0] = obat.getKodeObat(); data[x][1] = obat.getNama(); data[x][2] = obat.getJenis(); data[x][3] = obat.getKemasan(); data[x][4] = obat.getIndikasi(); data[x][5] = obat.getJumlahStok(); data[x][6] = obat.getHargaPokok(); data[x][8] = obat.getPpn(); data[x][9] = obat.getDiskon();- x; } String[] judul = {"Kode", "Nama", "Jenis", "Kemasan", "Indikasi", "Stok", "Harga Pokok", "Harga Jual", "PPN", "Diskon"
}; jTable1.setModel(new DefaultTableModel(data, judul)); jScrollPane1.setViewportView(jTable1); } private void setClearTextField() { kodeTextField.setText(""); namaTextField.setText(""); jenisTextField.setText(""); kemasanTextField.setText(""); indikasiTextField.setText(""); stokTextField.setText(""); hargaPokokTextField.setText(""); hargaJualTextField.setText(""); ppnTextField.setText(""); diskonTextField.setText(""); } private void setFillTextField() { Obat obat = records.get(jTable1.getSelectedRow()); kodeTextField.setText(obat.getKodeObat()); namaTextField.setText(obat.getNama()); jenisTextField.setText(obat.getJenis()); kemasanTextField.setText(obat.getKemasan()); stokTextField.setText(String.valueOf(obat.getJumlahStok())); hargaPokokTextField.setText(String.valueOf(obat.getHargaPoko k())); hargaJualTextField.setText(String.valueOf(obat.getHargaJual( ))); ppnTextField.setText(String.valueOf(obat.getPpn())); diskonTextField.setText(String.valueOf(obat.getDiskon())); } private void setTextFieldEnabled(boolean status) { kodeTextField.setEnabled(status); namaTextField.setEnabled(status); jenisTextField.setEnabled(status); kemasanTextField.setEnabled(status); indikasiTextField.setEnabled(status); stokTextField.setEnabled(status); hargaPokokTextField.setEnabled(status); hargaJualTextField.setEnabled(status); ppnTextField.setEnabled(status); diskonTextField.setEnabled(status); }
private void setPencarianItemEnabled(boolean status) { itemTextField.setEnabled(status); kategoriComboBox.setEnabled(status); } /** This method is called from within the constructor to * initialize the form. method is * always regenerated by the Form Editor.- / @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { backgroundForm1 = new View.backgroundForm(); tambahButton = new javax.swing.JButton(); ubahButton = new javax.swing.JButton(); resetButton = new javax.swing.JButton(); panelWarnaTransparan1 = new View.PanelWarnaTransparan(); ppnTextField = new javax.swing.JTextField(); jLabel10 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); kemasanTextField = new javax.swing.JTextField(); kodeTextField = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); diskonTextField = new javax.swing.JTextField(); namaTextField = new javax.swing.JTextField(); hargaJualTextField = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel();
.addComponent(jLabel11) .addComponent(jLabel12) .addComponent(jLabel4) .addComponent(jLabel3) .addComponent(jLabel2) .addComponent(jLabel1)) RELATED) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(diskonTextField) .addComponent(ppnTextField) .addComponent(hargaJualTextField) .addComponent(hargaPokokTextField) .addComponent(stokTextField) .addComponent(indikasiTextField) .addComponent(kemasanTextField) .addComponent(jenisTextField) .addComponent(namaTextField) .addComponent(kodeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); panelWarnaTransparan1Layout.setVerticalGroup( panelWarnaTransparan1Layout.createParallelGroup(javax.swing. GroupLayout.Alignment.LEADING) .addGroup(panelWarnaTransparan1Layout.createSequentialGroup( ) .addContainerGap()
.addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(kodeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
UNRELATED) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(namaTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement. UNRELATED) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jenisTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement. UNRELATED)
.addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(kemasanTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(indikasiTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement. UNRELATED) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel6) .addComponent(stokTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(12, 12, 12) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9) .addComponent(hargaPokokTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
.addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel10) .addComponent(hargaJualTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement. UNRELATED) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel11) .addComponent(ppnTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(12, 12, 12) .addGroup(panelWarnaTransparan1Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel12) .addComponent(diskonTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); jTable1.setModel(new javax.swing.table.DefaultTableModel( {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" } )); jScrollPane1.setViewportView(jTable1); cariButton.setText("cari"); cariButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cariButtonActionPerformed(evt); } }); itemTextField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { itemTextFieldActionPerformed(evt); }
}); kategoriComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "kode", "nama", "jenis", "kemasan", "indikasi" })); jLabel8.setText("Kategori :"); javax.swing.GroupLayout panelWarnaTransparan2Layout = new javax.swing.GroupLayout(panelWarnaTransparan2); panelWarnaTransparan2.setLayout(panelWarnaTransparan2Layout) ; panelWarnaTransparan2Layout.setHorizontalGroup( panelWarnaTransparan2Layout.createParallelGroup(javax.swing. GroupLayout.Alignment.LEADING) .addGroup(panelWarnaTransparan2Layout.createSequentialGroup( ) .addContainerGap() .addComponent(jLabel8) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED) .addComponent(kategoriComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(itemTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 177, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED) .addComponent(cariButton) ); panelWarnaTransparan2Layout.setVerticalGroup( panelWarnaTransparan2Layout.createParallelGroup(javax.swing. GroupLayout.Alignment.LEADING) .addGroup(panelWarnaTransparan2Layout.createSequentialGroup( ) .addContainerGap() .addGroup(panelWarnaTransparan2Layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cariButton) .addComponent(itemTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8) .addComponent(kategoriComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); javax.swing.GroupLayout backgroundForm1Layout = new javax.swing.GroupLayout(backgroundForm1); backgroundForm1.setLayout(backgroundForm1Layout); backgroundForm1Layout.setHorizontalGroup( backgroundForm1Layout.createParallelGroup(javax.swing.GroupL ayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, backgroundForm1Layout.createSequentialGroup() .addContainerGap() .addGroup(backgroundForm1Layout.createParallelGroup(javax.sw ing.GroupLayout.Alignment.TRAILING) .addGroup(backgroundForm1Layout.createSequentialGroup() .addComponent(tambahButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED) .addComponent(ubahButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.
RELATED) .addComponent(resetButton)) .addComponent(panelWarnaTransparan1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(backgroundForm1Layout.createParallelGroup(javax.sw ing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 423, Short.MAX_VALUE) .addComponent(panelWarnaTransparan2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) backgroundForm1Layout.setVerticalGroup( backgroundForm1Layout.createParallelGroup(javax.swing.GroupL ayout.Alignment.LEADING) .addGroup(backgroundForm1Layout.createSequentialGroup() .addContainerGap() .addGroup(backgroundForm1Layout.createParallelGroup(javax.sw ing.GroupLayout.Alignment.LEADING) .addGroup(backgroundForm1Layout.createSequentialGroup() .addComponent(panelWarnaTransparan2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11) .addComponent(jScrollPane1, 0, 0, Short.MAX_VALUE)) .addComponent(panelWarnaTransparan1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(31, 31, 31)
.addGroup(backgroundForm1Layout.createParallelGroup(javax.sw ing.GroupLayout.Alignment.BASELINE) .addComponent(tambahButton) .addComponent(ubahButton) .addComponent(resetButton)) .addContainerGap()) javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment .LEADING) .addComponent(backgroundForm1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment .LEADING) .addComponent(backgroundForm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ); pack(); }// </editor-fold> private void tambahButtonActionPerformed(java.awt.event.ActionEvent evt) { if (tambahButton.getText().equals("Tambah")) { this.tambahStatus(); } else if (tambahButton.getText().equals("Simpan")) { if (isTextFieldNotEmpty()) { simpan data?", "Konfirmasi", JOptionPane.YES_NO_OPTION) == 0) { try { Obat obat = new Obat(); obat.setKodeObat(kodeTextField.getText()); obat.setNama(namaTextField.getText()); obat.setJenis(jenisTextField.getText()); obat.setKemasan(kemasanTextField.getText()); obat.setIndikasi(indikasiTextField.getText()); obat.setJumlahStok(Integer.parseInt(stokTextField.getText()) ); obat.setHargaPokok(Double.valueOf(hargaPokokTextField.getTex t())); obat.setHargaJual(Double.valueOf(hargaJualTextField.getText( ))); obat.setPpn(Integer.valueOf(ppnTextField.getText())); obat.setDiskon(Integer.valueOf(diskonTextField.getText()));
DBConnection conn = DBConnection.getInstance(); ObatDAO dao = new ObatDAO(conn.getConnection()); dao.insert(obat); JOptionPane.showMessageDialog(this, "Data tersimpan!"); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Gagal simpan data!"); } } } else { JOptionPane.showMessageDialog(this, "Semua data harus diisi!"); kodeTextField.requestFocusInWindow(); } } } private void resetButtonActionPerformed(java.awt.event.ActionEvent evt) { this.initStatus(); } private void ubahButtonActionPerformed(java.awt.event.ActionEvent evt) { if (ubahButton.getText().equals("Ubah")) { this.ubahStatus(); } else if (ubahButton.getText().equals("Simpan")) { if (isTextFieldNotEmpty()) { try {
DBConnection conn = DBConnection.getInstance(); ObatDAO dao = new ObatDAO(conn.getConnection()); Obat obat = new Obat(); obat.setKodeObat(kodeTextField.getText()); obat.setNama(namaTextField.getText()); obat.setKemasan(kemasanTextField.getText()); obat.setIndikasi(indikasiTextField.getText()); obat.setJumlahStok(Integer.parseInt(stokTextField.getText()) ); obat.setHargaPokok(Double.valueOf(hargaPokokTextField.getTex t())); obat.setHargaJual(Double.valueOf(hargaJualTextField.getText( ))); obat.setPpn(Integer.valueOf(ppnTextField.getText())); obat.setDiskon(Integer.valueOf(diskonTextField.getText())); dao.update(records.get(jTable1.getSelectedRow()).getKodeObat (), obat); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Error : "+ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } this.setClearTextField(); this.setTextFieldEnabled(false); this.setPencarianItemEnabled(true); this.jTable1.setEnabled(true); this.cariButton.setEnabled(true); //ke posisi awal this.tambahButton.setEnabled(true); this.ubahButton.setText("Ubah"); itemTextField.getText()); } } private void itemTextFieldActionPerformed(java.awt.event.ActionEvent evt) { } private void cariButtonActionPerformed(java.awt.event.ActionEvent evt) { if (!itemTextField.getText().isEmpty()) { loadRecords(kategoriComboBox.getSelectedIndex(), itemTextField.getText()); } else { this.loadRecords(); } } // Variables declaration - do not modify private View.backgroundForm backgroundForm1; private javax.swing.JButton cariButton; private javax.swing.JTextField diskonTextField; private javax.swing.JTextField hargaJualTextField; private javax.swing.JTextField hargaPokokTextField; private javax.swing.JTextField indikasiTextField;
private javax.swing.JTextField itemTextField; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private View.ScrollPane jScrollPane1; private javax.swing.JTable jTable1; private javax.swing.JTextField jenisTextField; private javax.swing.JComboBox kategoriComboBox; private javax.swing.JTextField kemasanTextField; private javax.swing.JTextField kodeTextField; private javax.swing.JTextField namaTextField; private View.PanelWarnaTransparan panelWarnaTransparan1; private View.PanelWarnaTransparan panelWarnaTransparan2; private javax.swing.JTextField ppnTextField; private javax.swing.JButton resetButton; private javax.swing.JTextField stokTextField; private javax.swing.JButton tambahButton; private javax.swing.JButton ubahButton; // End of variables declaration }