Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

JENIS PROJECT JUDUL DESKRIPSI PROJECT

: UAS : PROGRAM SUPPLIER OBAT :

Program ini digunakan untuk melakukan pengolaan data perusahaan supplier obat. Program terdiri dari 3 tabel yang saling berelasi yaitu tabel obat(untuk menyimpan data obat yang akan di supply), tabel pelanggan (untuk menyimpan data pelanggan untuk supply obat ) dan tabel jual (untuk menyimpan datadata penjualan ke pelanggan). CLASS DIAGRAM FORM Obat
String idx String namax String stokx String hargax refresh() :void initComponents ():void cariActionPerformed ():void editActionPerformed ():void keluarActionPerformed ():void hapusActionPerformed ():void simpanActionPerformed():void main():void run():void

: Java.swing.JFrame FORM Pelanggan


String idx String namax String alamatx String telpx refresh():void initComponents ():void cariActionPerformed ():void editActionPerformed ():void keluarActionPerformed ():void hapusActionPerformed ():void simpanActionPerformed():void main():void run():void

FORM jual
Kdlanggan():void Kdobat()void Refresh():void simpanActionPerformed ():void keluarActionPerformed ():void hapusActionPerformed ():void main ():void run():void

RELASI TABEL

LISTING CODE

Listing code obat.java


import java.sql.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; public class Obat extends javax.swing.JFrame { private String[] header = {"No_faktur","id_pelanggan","id_obat","jumlah"};//field Header tabel di dlm database mysql private Object[][] dataTable = null; public Obat() { initComponents(); refresh(); } private void refresh(){//kode refresh try { // perintah unutk menconeksikan ke database Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery("SELECT* from obat");//perintah statment mysql ResultSetMetaData meta = result.getMetaData(); int col = meta.getColumnCount();// menampung jumlah colom ke dlm variabel col int baris = 0; while(result.next()) { baris = result.getRow(); //menampung jumlah baris dalam database ke varabel baris } dataTable = new Object[baris][col];// membuat objek "dataTable" yg mendeklarasikan baris dan kolom dlm d4t4basE int x = 0; result.beforeFirst();//mewnempatkan pointer pd data yg paling Awal while(result.next()) { // kode ini akan berulang selama masih ada data berikutnya dataTable[x][0] = result.getString("id_obat"); dataTable[x][1] = result.getString("nama"); dataTable[x][2] = result.getString("stok"); dataTable[x][3] = result.getString("harga"); x++; } Tabel.setModel(new DefaultTableModel(dataTable, header)); result.close(); statement.close(); } catch (SQLException se) { System.err.println("Kesalahan perintah SQL : " + se.getMessage()); //menampilkan pesan error.. } } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { edit = new javax.swing.JButton(); cari = new javax.swing.JButton(); keluar = new javax.swing.JButton(); jLabel3 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel();

simpan = new javax.swing.JButton(); hapus = new javax.swing.JButton(); stok = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); Tabel = new javax.swing.JTable(); harga = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); nama = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); id = new javax.swing.JTextField(); edit.setText("Edit"); edit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { editActionPerformed(evt); } }); cari.setText("cari"); cari.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cariActionPerformed(evt); } }); keluar.setText("Keluar"); keluar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { keluarActionPerformed(evt); } }); jLabel3.setText("Nama obat"); jLabel2.setFont(new java.awt.Font("Papyrus", 1, 14)); jLabel2.setText("DATA OBAT"); simpan.setText("Simpan"); simpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { simpanActionPerformed(evt); } }); hapus.setText("hapus"); hapus.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { hapusActionPerformed(evt); } }); jLabel4.setText("Stok"); Tabel.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 [] { "id_obat", "Nama", "Stok", "harga" } )); jScrollPane1.setViewportView(Tabel); jLabel5.setText("Harga"); jLabel1.setText("Id_obat"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 734, Short.MAX_VALUE) .addGap(0, 734, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) .addComponent(jLabel4) .addComponent(jLabel3) .addComponent(jLabel1)) .addGap(36, 36, 36) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(id, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE) .addComponent(nama, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE) .addComponent(stok, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE) .addComponent(harga, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE))) .addGroup(layout.createSequentialGroup() .addComponent(simpan) .addGap(3, 3, 3) .addComponent(cari) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(hapus) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(edit) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(keluar)))) .addGroup(layout.createSequentialGroup() .addGap(89, 89, 89) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(108, 108, 108)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 282, Short.MAX_VALUE) .addGap(0, 282, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(layout.createSequentialGroup() .addGap(11, 11, 11) .addComponent(jScrollPane1, 0, 0, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(id, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(30, 30, 30) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(25, 25, 25) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(stok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(harga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(34, 34, 34) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(hapus) .addComponent(simpan) .addComponent(cari) .addComponent(edit) .addComponent(keluar)))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// </editor-fold> private void editActionPerformed(java.awt.event.ActionEvent evt) { try{ Class.forName("org.gjt.mm.mysql.Driver"); //driver koneksi data base Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root","");

String sql="UPDATE obat SET nama='"+nama.getText()+"',stok='"+stok.getText()+"',harga='"+harga.getText()+"' WHERE id_obat='"+id.getText()+"';"; // statement diatas menjelaskan data obat yang aka ndiedit berdasarkan ID obat yg di input Statement statement = connection.createStatement(); statement.executeUpdate(sql); int edit= statement.executeUpdate(sql); if(edit==1){ //Listing kode.. agar menampilkan Pesan, mengedit dan tidak id.setText(""); nama.setText(""); stok.setText("");//Supaya langsung bersih, siapa tau ada yg mau di edit lagi harga.setText(""); id.requestFocus(); JOptionPane.showMessageDialog(null,"Berhasil di Edit"); statement.close(); refresh(); }else{ JOptionPane.showMessageDialog(null,"Silahkan Masukkan ID terlebih Dahulu"); } } catch(Exception e){ JOptionPane.showMessageDialog (null,"Kesalahan"+e); System.exit(1); } } private void cariActionPerformed(java.awt.event.ActionEvent evt) { String idx=""; String namax=""; String stokx=""; String hargax=""; try { Class.forName("org.gjt.mm.mysql.Driver"); //driver ke database Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root","");//koneksi ke databases Statement statement = connection.createStatement(); String sql="Select *from obat WHERE id_obat='"+id.getText()+"';"; //statment sql SELECT untuk mencari data ResultSet rse = statement.executeQuery(sql); if(rse.next()){ //untuk menampilkan pesan saat data.. id_obat tidak ada dalam daftar namax= rse.getString ("nama"); stokx= rse.getString("stok"); hargax= rse.getString ("harga"); idx= rse.getString ("id_obat"); id.setText(idx); nama.setText(namax);//memasukan data dari database ke text filed yg tersedia sesuai dgn variabel masing2 stok.setText(stokx); harga.setText(hargax); JOptionPane.showMessageDialog(null,"Data Di Temukan"); }else{ JOptionPane.showMessageDialog(null,"Data Tidak ADA"); id.requestFocus(); }

} catch(Exception e){ JOptionPane.showMessageDialog(null, "Error data Pada " + e); System.exit(1); } } private void keluarActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } private void hapusActionPerformed(java.awt.event.ActionEvent evt) { int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION); if(ok==0){ // listing code Menampilkan Pesan dialog confirmation saat ingin menghapus..! try{ Class.forName("org.gjt.mm.mysql.Driver"); // Driver koneksi data base Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); //koneksi ke database String sql="delete from obat where id_obat='"+id.getText()+"'"; Statement statement = connection.createStatement();// statement diatas menjelaskan Nama alamat jamkerja akan di edit Dimana berdasarkan kode yg di input int edit= statement.executeUpdate(sql); if(edit==1){ statement.close(); // clear text setelah di klik OK id.setText(""); nama.setText(""); stok.setText(""); harga.setText(""); statement.close(); refresh();// Refresh kan table agar..mendapatkan tampilan baru JOptionPane.showMessageDialog(null,"Data Berhasil di hapus"); }else{ JOptionPane.showMessageDialog(null,"kode Tidak ada"); } }catch(Exception e){ JOptionPane.showMessageDialog(null,"Kesalahan"+e); } } } private void simpanActionPerformed(java.awt.event.ActionEvent evt) { try { Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statement = connection.createStatement(); String sql="insert into obat values('"+id.getText()+"','"+nama.getText()+"','"+stok.getText()+"','"+harga.getText()+"')"; statement.executeUpdate(sql); statement.close(); refresh(); JOptionPane.showMessageDialog(null,"Data anda tersimpan"); id.setText("");

nama.setText(""); stok.setText(""); harga.setText(""); } catch(Exception e){ JOptionPane.showMessageDialog(null, "koneksi gagal "+ e); System.exit(1); } } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new Obat().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JTable Tabel; private javax.swing.JButton cari; private javax.swing.JButton edit; private javax.swing.JButton hapus; private javax.swing.JTextField harga; private javax.swing.JTextField id; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JButton keluar; private javax.swing.JTextField nama; private javax.swing.JButton simpan; private javax.swing.JTextField stok; // End of variables declaration }

Listing code pelanggan.java


import java.sql.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; public class Pelanggan extends javax.swing.JFrame { private String[] header = {"id_pelanggan","nama","alamat","no_telp"};//field Header tabel di dlm database mysql private Object[][] dataTable = null; public Pelanggan() { initComponents(); refresh(); } private void refresh(){//kode refresh try { // perintah unutk menconeksikan ke database Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery("SELECT* from pelanggan");//perintah statment mysql ResultSetMetaData meta = result.getMetaData(); int col = meta.getColumnCount();// menampung jumlah colom ke dlm variabel col int baris = 0; while(result.next()) { baris = result.getRow(); //menampung jumlah baris dalam database ke varabel baris } dataTable = new Object[baris][col];// membuat objek "dataTable" yg mendeklarasikan baris dan kolom dlm d4t4basE int x = 0; result.beforeFirst();//mewnempatkan pointer pd data yg paling Awal while(result.next()) { // kode ini akan berulang selama masih ada data berikutnya dataTable[x][0] = result.getString("id_pelanggan"); dataTable[x][1] = result.getString("nama"); dataTable[x][2] = result.getString("alamat"); dataTable[x][3] = result.getString("no_telp"); x++; } Tabel.setModel(new DefaultTableModel(dataTable, header)); result.close(); statement.close(); } catch (SQLException se) { System.err.println("Kesalahan perintah SQL : " + se.getMessage()); //menampilkan pesan error.. } } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {

jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); id = new javax.swing.JTextField(); nama = new javax.swing.JTextField(); alamat = new javax.swing.JTextField(); telp = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); Tabel = new javax.swing.JTable(); simpan = new javax.swing.JButton(); edit = new javax.swing.JButton(); hapus = new javax.swing.JButton(); keluar = new javax.swing.JButton(); jLabel5 = new javax.swing.JLabel(); cari = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("Nama"); jLabel2.setText("Alamat"); jLabel3.setText("Telepon"); jLabel4.setText("Id_pelanggan"); Tabel.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 [] { "Id_pelanggan", "Nama", "Alamat", "Telepon" } )); jScrollPane1.setViewportView(Tabel); simpan.setText("Simpan"); simpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { simpanActionPerformed(evt); } }); edit.setText("Edit"); edit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { editActionPerformed(evt); } }); hapus.setText("Hapus");

hapus.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { hapusActionPerformed(evt); } }); keluar.setText("Keluar"); keluar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { keluarActionPerformed(evt); } }); jLabel5.setFont(new java.awt.Font("Papyrus", 1, 14)); jLabel5.setText("PELANGGAN"); cari.setText("cari"); cari.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cariActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel3) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 70, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(id) .addComponent(nama, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE) .addComponent(telp, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE) .addComponent(alamat))) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE)) .addGap(26, 26, 26)) .addGroup(layout.createSequentialGroup() .addComponent(simpan) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cari) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(edit)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(hapus) .addGap(18, 18, 18) .addComponent(keluar) .addContainerGap()))) .addGroup(layout.createSequentialGroup() .addGap(124, 124, 124) .addComponent(jLabel5) .addContainerGap(168, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel5) .addGap(32, 32, 32) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(id, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(alamat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(27, 27, 27) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(telp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(simpan) .addComponent(edit) .addComponent(cari) .addComponent(hapus) .addComponent(keluar)) .addContainerGap(29, Short.MAX_VALUE)) ); pack(); }// </editor-fold> private void simpanActionPerformed(java.awt.event.ActionEvent evt) { try { Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root","");

Statement statement = connection.createStatement(); String sql="insert into pelanggan values('"+id.getText()+"','"+nama.getText()+"','"+alamat.getText()+"','"+telp.getText()+"')"; statement.executeUpdate(sql); statement.close(); refresh(); JOptionPane.showMessageDialog(null,"Data anda tersimpan"); id.setText(""); nama.setText(""); alamat.setText(""); telp.setText(""); } catch(Exception e){ JOptionPane.showMessageDialog(null, "koneksi gagal "+ e); System.exit(1); } } private void hapusActionPerformed(java.awt.event.ActionEvent evt) { int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION); if(ok==0){ // listing code Menampilkan Pesan dialog confirmation saat ingin menghapus..! try{ Class.forName("org.gjt.mm.mysql.Driver"); // Driver koneksi data base Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); //koneksi ke database String sql="delete from pelanggan where id_pelanggan='"+id.getText()+"'"; Statement statement = connection.createStatement();// statement diatas menjelaskan data di pelanggan yang akan di hapus Dimana berdasarkan id pelanggan yg di input int edit= statement.executeUpdate(sql); if(edit==1){ statement.close(); // clear text setelah di klik OK id.setText(""); nama.setText(""); alamat.setText(""); telp.setText(""); statement.close(); refresh();// Refresh kan table agar..mendapatkan tampilan baru JOptionPane.showMessageDialog(null,"Data Berhasil di hapus"); }else{ JOptionPane.showMessageDialog(null,"kode Tidak ada"); } }catch(Exception e){ JOptionPane.showMessageDialog(null,"Kesalahan"+e); } } } private void keluarActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } private void cariActionPerformed(java.awt.event.ActionEvent evt) { String idx=""; String namax="";

String alamatx=""; String telpx=""; try { Class.forName("org.gjt.mm.mysql.Driver"); //driver ke database Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root","");//koneksi ke databases Statement statement = connection.createStatement(); String sql="Select *from pelanggan WHERE id_pelanggan='"+id.getText()+"';"; //statment sql SELECT unutk mencari data ResultSet rse = statement.executeQuery(sql); if(rse.next()){ //untuk menampilkan pesan saat data.. id_pelanggan tidak ada dalam daftar namax= rse.getString ("nama"); alamatx= rse.getString("alamat"); telpx= rse.getString ("no_telp"); idx= rse.getString ("id_pelanggan"); id.setText(idx); nama.setText(namax);//memasukan data dari database ke text filed yg tersedia sesuai dgn variabel masing2 alamat.setText(alamatx); telp.setText(telpx); JOptionPane.showMessageDialog(null,"Data Di Temukan"); }else{ JOptionPane.showMessageDialog(null,"Data Tidak ADA"); id.requestFocus(); } } catch(Exception e){ JOptionPane.showMessageDialog(null, "Error data Pada " + e); System.exit(1); } } private void editActionPerformed(java.awt.event.ActionEvent evt) { try{ Class.forName("org.gjt.mm.mysql.Driver"); //driver koneksi data base Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); String sql="UPDATE pelanggan SET nama='"+nama.getText()+"',alamat='"+alamat.getText()+"',no_telp='"+telp.getText()+"' WHERE id_pelanggan='"+id.getText()+"';"; // statement diatas menjelaskan Nama alamat jamkerja akan di edit Dimana berdasarkan ID yg di input Statement statement = connection.createStatement(); statement.executeUpdate(sql); int edit= statement.executeUpdate(sql); if(edit==1){ //Listing kode.. agar menampilkan Pesan, mengedit dan tidak id.setText(""); nama.setText(""); alamat.setText("");//Supaya langsung bersih, siapa tau ada yg mau di edit lagi telp.setText(""); id.requestFocus(); JOptionPane.showMessageDialog(null,"Berhasil di Edit"); statement.close(); refresh(); }else{

JOptionPane.showMessageDialog(null,"Silahkan Masukkan ID terlebih Dahulu"); } } catch(Exception e){ JOptionPane.showMessageDialog (null,"Kesalahan"+e); System.exit(1); } } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Pelanggan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Pelanggan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Pelanggan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Pelanggan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Pelanggan().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JTable Tabel; private javax.swing.JTextField alamat; private javax.swing.JButton cari; private javax.swing.JButton edit; private javax.swing.JButton hapus; private javax.swing.JTextField id; private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JButton keluar; private javax.swing.JTextField nama; private javax.swing.JButton simpan; private javax.swing.JTextField telp; // End of variables declaration }

Listing code jual.java


import java.sql.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; public class Jual extends javax.swing.JFrame { private String[] header = {"No_faktur","id_pelanggan","id_obat","jumlah"};//field Header tabel di dlm database mysql private Object[][] dataTable = null; public Jual() { initComponents(); refresh(); Kdlanggan(); Kdobat(); } private void Kdlanggan(){ try { Class.forName("org.gjt.mm.mysql.Driver"); Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statementLanggan= connection.createStatement(); String sql= "SELECT id_pelanggan FROM pelanggan"; ResultSet klanggan =statementLanggan.executeQuery(sql); while(klanggan.next()){ pel.addItem(klanggan.getString("id_pelanggan")); } klanggan.close(); statementLanggan.close(); } catch(Exception e){ JOptionPane.showMessageDialog(null, "Error data Pada " + e); System.exit(1); } } private void Kdobat(){ try { Class.forName("org.gjt.mm.mysql.Driver");

Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statementobat= connection.createStatement(); String sql= "SELECT id_obat FROM obat"; ResultSet kobat = statementobat.executeQuery(sql); while(kobat.next()){ obat.addItem(kobat.getString("id_obat")); } kobat.close(); statementobat.close(); } catch(Exception e){ JOptionPane.showMessageDialog(null, "Error data Pada " + e); System.exit(1); } } private void refresh(){//kode refresh try { // perintah unutk menconeksikan ke database Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery("SELECT* from jual");//perintah statment mysql ResultSetMetaData meta = result.getMetaData(); int col = meta.getColumnCount();// menampung jumlah colom ke dlm variabel col int baris = 0; while(result.next()) { baris = result.getRow(); //menampung jumlah baris dalam database ke varabel baris } dataTable = new Object[baris][col];// membuat objek "dataTable" yg mendeklarasikan baris dan kolom dlm d4t4basE int x = 0; result.beforeFirst();//mewnempatkan pointer pd data yg paling Awal while(result.next()) { // kode ini akan berulang selama masih ada data berikutnya dataTable[x][0] = result.getString("No_Faktur"); dataTable[x][1] = result.getString("id_pelanggan"); dataTable[x][2] = result.getString("id_obat"); dataTable[x][3] = result.getString("jumlah"); x++; } Tabel.setModel(new DefaultTableModel(dataTable, header)); result.close(); statement.close(); } catch (SQLException se) { System.err.println("Kesalahan perintah SQL : " + se.getMessage()); //menampilkan pesan error.. } } @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {

jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); no = new javax.swing.JTextField(); pel = new javax.swing.JComboBox(); obat = new javax.swing.JComboBox(); jlh = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); Tabel = new javax.swing.JTable(); jLabel5 = new javax.swing.JLabel(); simpan = new javax.swing.JButton(); hapus = new javax.swing.JButton(); keluar = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("No.Faktur"); jLabel2.setText("ID_pelanggan"); jLabel3.setText("ID_obat"); jLabel4.setText("Jumlah"); Tabel.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 [] { "Id_jual", "Nama_pelanggan", "Nama_obat", "jumlah" } )); jScrollPane1.setViewportView(Tabel); jLabel5.setFont(new java.awt.Font("Papyrus", 1, 14)); jLabel5.setText("DATA PENJUALAN"); simpan.setText("Simpan"); simpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { simpanActionPerformed(evt); } }); hapus.setText("Hapus"); hapus.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {

hapusActionPerformed(evt); } }); keluar.setText("Keluar"); keluar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { keluarActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(113, 113, 113) .addComponent(jLabel5) .addContainerGap(151, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addGap(28, 28, 28) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(simpan) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(hapus) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(keluar) .addContainerGap()) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel3) .addComponent(jLabel4)) .addGap(6, 6, 6) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(83, 83, 83) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jlh, javax.swing.GroupLayout.DEFAULT_SIZE, 193, Short.MAX_VALUE) .addComponent(obat, 0, 193, Short.MAX_VALUE)) .addGap(74, 74, 74)) .addGroup(layout.createSequentialGroup() .addGap(85, 85, 85)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(no, javax.swing.GroupLayout.DEFAULT_SIZE, 193, Short.MAX_VALUE) .addComponent(pel, 0, 193, Short.MAX_VALUE)) .addGap(72, 72, 72)))) .addGroup(layout.createSequentialGroup() .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 386, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(37, Short.MAX_VALUE))))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(no, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(pel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(obat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jlh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addGap(18, 18, 18) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(simpan) .addComponent(hapus) .addComponent(keluar)) .addGap(37, 37, 37)) ); pack(); }// </editor-fold>

private void simpanActionPerformed(java.awt.event.ActionEvent evt) { try { Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); Statement statement = connection.createStatement(); String sql="insert into jual values('"+no.getText()+"','"+pel.getSelectedItem()+"','"+obat.getSelectedItem()+"','"+jlh.getText()+"')"; statement.executeUpdate(sql); statement.close(); refresh(); JOptionPane.showMessageDialog(null,"Data anda tersimpan"); no.setText(""); jlh.setText(""); } catch(Exception e){ JOptionPane.showMessageDialog(null, "koneksi gagal "+ e); System.exit(1); } } private void keluarActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } private void hapusActionPerformed(java.awt.event.ActionEvent evt) { int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION); if(ok==0){ // listing code Menampilkan Pesan dialog confirmation saat ingin menghapus..! try{ Class.forName("org.gjt.mm.mysql.Driver"); // Driver koneksi data base Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/supplier","root",""); //koneksi ke database String sql="delete from jual where No_Faktur='"+no.getText()+"'"; Statement statement = connection.createStatement();// statement diatas menjelaskan data jual akan dihapus berdasarkan nomor faktur yang di input int edit= statement.executeUpdate(sql); if(edit==1){ statement.close(); // clear text setelah di klik OK no.setText(""); jlh.setText(""); statement.close(); refresh();// Refresh kan table agar..mendapatkan tampilan baru JOptionPane.showMessageDialog(null,"Data Berhasil di hapus"); }else{ JOptionPane.showMessageDialog(null,"kode Tidak ada"); } }catch(Exception e){ JOptionPane.showMessageDialog(null,"Kesalahan"+e);

} } } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Jual.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new Jual().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JTable Tabel; private javax.swing.JButton hapus; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextField jlh; private javax.swing.JButton keluar; private javax.swing.JTextField no; private javax.swing.JComboBox obat; private javax.swing.JComboBox pel; private javax.swing.JButton simpan; // End of variables declaration }

TAMPILAN OUTPUT PROGRAM

Data obat

Gbr1. Tampilan awal program

Gbr2. Tampilan program saat user input data

Gbr3. Tampilan program saat tombol SIMPAN di-klik

Gbr4. Tampilan program setelah proses simpan berhasil

Gbr5. Tampilan program saat tombol cari d klik(syarat:harus masukkan id_obat terlebih dahulu)

Gbr6. Tampilan program setelah proses edit berhasil(dari hasil pencarian lalu dilakukan edit data setelah itu tekan tombol edit)

Gbr 7. Tampilan program saat tombol HAPUS di-klik

Gbr8. Tampilan program setelah proses hapus berhasil

Data Pelanggan

Gbr 1. Tampilan awal program

Gbr2. Tampilan Saat penginputan data

Gbr 3.tampilan saat tombol simpan di klik Gbr4. Tampilan saat data berhasil disimpan Untuk melakukan pencarian data pelanggan maka caranya ialah masukkan id_pelanggan terlebih dahulu lalu tekan tombol cari ,dan lakukan pengeditan data tersebut apabila diinginkan dilanjutkan dengan menekan tombol edit setelah data selesai di edit

Gbr5.tampilan saat tombol cari di klik Gbr6.Tampilan saat tombol edit di klik Untuk menghapus data pelanggan maka masukkan id_pelanggan diikuti dengan menekan tombol hapus

Gbr7.Tampilan apabila tombol hapus di klik Gbr8.Tampilan saat data berhasil dihapus Untuk keluar dari data penginputan klik tombol keluar

Data Penjualan

Gbr1.tampilan awal data penjualan

Gbr2.Tampilan saat penginputan data

Gbr3.Tampilan saat tombol simpan di klik

Gbr4.Tampilan saat data berhasil disimpan

Untuk melakukan pengnputan data masukan nomor faktur terlebih dahulu diikuti dengan menekan tombol hapus

Gbr5.Tampilan saat tombol hapus di klik Gbr6.Tampilan saat data berhasil dihapus Untuk keluar dari from penjualan tekan tombol exit

You might also like