• Tidak ada hasil yang ditemukan

1. Form Login

Gambar III.22 Form Login

2. Form Utama Admin

3. Form Master data Barang

Gambar III.24 Form Master Data Barang

4. Form Transaksi Penjualan

5. Form Laporan Transaksi Perhari

Gambar III.26 Form Laporan Transaksi Perhari

6. Form Laporan Transaksi Penjualan PerPeriode

7. Form Utama Pemilik

Gambar III.28 Form Utama Pemilik

8. Form User

3.5.Implementasi 3.5.1. Code Generation 1. LoginControl.java package penjualan.control; import java.sql.*; import javax.swing.JOptionPane; public class LoginControl { Connection conn;

Statement st; ResultSet rs;

public static Connection koneksiDb(){ try{ Class.forName("com.mysql.jdbc.Driver"); Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost/penjualan_tunai","root ",""); return koneksi; }catch(Exception e){ JOptionPane.showMessageDialog(null, e); return null; } } } 2. BarangControl.java package penjualan.control; import java.io.File; import penjualan.data.Barang; import java.io.Serializable; import javax.persistence.Query; import java.text.DecimalFormat; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane;

public class BarangControl implements Serializable{ Connection con=null;

Statement st=null; ResultSet rs=null; String sql=null; public BarangControl(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_t unai","root",""); st=con.createStatement(); }catch(Exception a){

JOptionPane.showMessageDialog(null, "Koneksi Database Gagal, Terjadi kesalahaan Pada : \n"+a);

} }

private EntityManagerFactory emf=null;

public BarangControl(EntityManagerFactory emf){ this.emf=emf;

}

public EntityManager getEntityManager(){ return emf.createEntityManager();

}

public void save(Barang barang) throws Exception{ EntityManager em=getEntityManager(); try{ em.getTransaction().begin(); em.persist(barang); em.getTransaction().commit(); }catch(Exception ex){} }

public void update(Barang barang) throws Exception{ EntityManager em=getEntityManager(); try{ em.getTransaction().begin(); em.merge(barang); em.getTransaction().commit(); }catch(Exception ex){} }

public void delete(String kode) throws Exception{ EntityManager em=getEntityManager();

Barang br; try{

br=em.getReference(Barang.class, kode); br.getKodeBarang();

em.getTransaction().begin(); em.remove(br);

em.getTransaction().commit(); }catch(Exception ex){}

}

public Barang findBarang(String kode){ EntityManager em=getEntityManager(); try{

return em.find(Barang.class, kode); }finally{}

}

public String nomorOtomatis(){ String kode="B001";

EntityManager em=null; try{

em = getEntityManager();

Query q=em.createQuery("select b from Barang b order by b.kodeBarang desc");

q.setMaxResults(1);

Barang b=(Barang) q.getSingleResult(); if(q!=null){

DecimalFormat formatnomor =new DecimalFormat("B000"); String nomorurut =b.getKodeBarang().substring(2);

kode=formatnomor.format(Double.parseDouble(nomorurut)+1); }

}finally{} return kode; }

public List tampil(){

List logBarang = new ArrayList();

sql="select KodeBarang,NamaBarang,Harga,Stok from barang order by KodeBarang asc";

try{

rs=st.executeQuery(sql);while(rs.next()){ Barang eb=new Barang();

eb.setKodeBarang(rs.getString("KodeBarang")); eb.setNamaBarang(rs.getString("NamaBarang")); eb.setHarga(rs.getInt("Harga")); eb.setStok(rs.getInt("Stok")); logBarang.add(eb); } } catch(SQLException a){

JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a);

return logBarang; }

public List cariBarang(String cari){ List logBarang = new ArrayList();

sql="select KodeBarang,NamaBarang,Harga,Stok from barang where

KodeBarang like '%"+cari+"%' or NamaBarang like '%"+cari+"%'"; try{

rs=st.executeQuery(sql); while(rs.next()){

Barang eb=new Barang();

eb.setKodeBarang(rs.getString("KodeBarang")); eb.setNamaBarang(rs.getString("NamaBarang")); eb.setHarga(rs.getInt("Harga")); eb.setStok(rs.getInt("Stok")); logBarang.add(eb); } } catch(SQLException a){

JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a);

}

return logBarang; }

Public int updateStok(int stok,String kdBarang){

sql="update barang set Stok='"+stok+"' where KodeBarang='"+kdBarang+"'"; int hasil=0; try{ hasil=st.executeUpdate(sql); } catch(SQLException a){ Logger.getLogger(BarangControl.class.getName()).log(Level.SEVERE,null,a ); } return hasil; } } 3. UserControl.java package penjualan.control; import penjualan.data.User; import java.io.Serializable; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Query; import java.text.DecimalFormat;

import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane;

public class UserControl implements Serializable{ Connection con=null; Statement st=null; ResultSet rs=null; String sql=null; public UserControl(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_t unai?","root",""); st=con.createStatement(); }catch(Exception a){

JOptionPane.showMessageDialog(null, "Koneksi Database Gagal, Terjadi kesalahaan Pada : \n"+a);

} }

private EntityManagerFactory emf=null;

public UserControl(EntityManagerFactory emf){ this.emf=emf;

}

public EntityManager getEntityManager(){ return emf.createEntityManager();

}

public void save(User user) throws Exception{ EntityManager em=getEntityManager(); try{ em.getTransaction().begin(); em.persist(user); em.getTransaction().commit(); }catch(Exception ex){} }

public void update(User user) throws Exception{ EntityManager em=getEntityManager();

em.getTransaction().begin(); em.merge(user);

em.getTransaction().commit(); }catch(Exception ex){}

}

public void delete(String kode) throws Exception{ EntityManager em=getEntityManager(); User us; try{ us=em.getReference(User.class, kode); us.getKodeUser(); em.getTransaction().begin(); em.remove(us); em.getTransaction().commit(); }catch(Exception ex){} }

public User findUser(String kode){ EntityManager em=getEntityManager(); try{

return em.find(User.class, kode); }finally{}

}

public List tampil(){

List logBarang = new ArrayList();

sql="select KodeUser,NamaUser,Password,HakAkses from user order by KodeUser asc";

try{

rs=st.executeQuery(sql); while(rs.next()){

User eb=new User();

eb.setKodeUser(rs.getString("KodeUser")); eb.setNamaUser(rs.getString("NamaUser")); eb.setPassword(rs.getString("Password")); eb.setHakAkses(rs.getString("HakAkses")); logBarang.add(eb); } } catch(SQLException a){

JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a);

}

return logBarang; }

public List cariUser(String cari){ List logBarang = new ArrayList();

sql="select KodeUser,NamaUser,Password,HakAkses from user where KodeUser like '%"+cari+"%' or NamaUser like '%"+cari+"%'";

try{

rs=st.executeQuery(sql); while(rs.next()){

User eb=new User();

eb.setKodeUser(rs.getString("KodeUser")); eb.setNamaUser(rs.getString("NamaUser")); eb.setPassword(rs.getString("Password")); eb.setHakAkses(rs.getString("HakAkses")); logBarang.add(eb); } } catch(SQLException a){

JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a); } return logBarang; } } 4. TransaksiControl.java package penjualan.control; import java.awt.event.KeyEvent; import penjualan.data.Transaksi; import java.io.Serializable; import java.text.DecimalFormat; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Query; import java.io.File; import java.sql.Connection; import java.util.HashMap; import javax.swing.JOptionPane;

public class TransaksiControl implements Serializable{ private EntityManagerFactory emf=null;

public TransaksiControl(EntityManagerFactory emf){ this.emf=emf;

}

public EntityManager getEntityManager(){ return emf.createEntityManager();

}

public void save(Transaksi trans) throws Exception{ EntityManager em=getEntityManager();

try{

em.getTransaction().begin(); em.persist(trans);

em.getTransaction().commit(); }catch(Exception ex){}

}

public Transaksi findTransaksi(String kode){ EntityManager em=getEntityManager(); try{

return em.find(Transaksi.class, kode); }finally{}

}

public String nomor(){ String kode="TR001"; EntityManager em=null; try{

em = getEntityManager();

Query q=em.createQuery("select count(t.noTrans) from Transaksi t"); q.setMaxResults(1);

Long hasil=(Long) q.getSingleResult(); if(q!=null){

DecimalFormat formatnomor = new DecimalFormat ("TR000"); kode=formatnomor.format(hasil+1); } }finally{} return kode; } 5. DetailControl.java package penjualan.control; import java.io.Serializable; import penjualan.data.Detailtransaksi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.swing.JOptionPane;

public class DetailControl implements Serializable{ private EntityManagerFactory emf=null;

Connection con=null; Statement st=null;

ResultSet rs=null; String sql=null;

public DetailControl(EntityManagerFactory emf){ this.emf=emf;

}

public EntityManager getEntityManager(){ return emf.createEntityManager();

}

public void saveDetail(Detailtransaksi detail) throws Exception{ EntityManager em=getEntityManager(); try{ em.getTransaction().begin(); em.persist(detail); em.getTransaction().commit(); }catch(Exception ex){} } public DetailControl(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan_t unai?","root",""); st=con.createStatement(); }catch(Exception a){

JOptionPane.showMessageDialog(null, "Koneksi Database Gagal, Terjadi kesalahaan Pada : \n"+a);

} }

public List tampilBarang(String noNota){ List logDetailBeli = new ArrayList();

sql="select KodeBarang,NamaBarang,Harga,Qty,Subtotal from detailtransaksi where NoTrans='"+noNota+"'";

try{

rs=st.executeQuery(sql); while(rs.next()){

Detailtransaksi eb=new Detailtransaksi();

eb.setKodeBarang(rs.getString("KodeBarang")); eb.setNamaBarang(rs.getString("NamaBarang")); eb.setHarga(rs.getInt("Harga")); eb.setQty(rs.getInt("Qty")); eb.setSubtotal(rs.getInt("Subtotal")); logDetailBeli.add(eb); }

} catch(SQLException a){

JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a);

}

return logDetailBeli; }

public int tambahDetailBeli(Detailtransaksi e){

sql="insert into detailtransaksi

values('"+e.getNo()+"','"+e.getNoTrans()+"','"+e.getKodeBarang() +"','"+e.getNamaBarang()+"','"+e.getHarga()+"','"+e.getQty()+"','"+e.getSubto tal()+"')"; int hasil=0; try{ hasil=st.executeUpdate(sql); } catch(SQLException a){ Logger.getLogger(BarangControl.class.getName()).log(Level.SEVERE,null,a ); } return hasil; }

public int deleteDetailBeli(String nonota,String No){

sql="delete from detailtransaksi where NoTrans='"+nonota+"' and

KodeBarang='"+No+"'"; int hasil=0; try{ hasil=st.executeUpdate(sql); } catch(SQLException a){ Logger.getLogger(BarangControl.class.getName()).log(Level.SEVERE,null,a ); } return hasil; }

public List cariBarang(String Notrans){ List logDetailtransaksi = new ArrayList();

sql="select KodeBarang,NamaBarang,Harga,Qty,Subtotal from detailtransaksi where NoTrans='%"+Notrans+"%'";

try{

rs=st.executeQuery(sql); while(rs.next()){

Detailtransaksi eb=new Detailtransaksi();

eb.setKodeBarang(rs.getString("KodeBarang")); eb.setNamaBarang(rs.getString("NamaBarang"));

eb.setHarga(rs.getInt("Harga")); eb.setQty(rs.getInt("Qty"));

eb.setSubtotal(rs.getInt("Subtotal")); logDetailtransaksi.add(eb);

}

} catch(SQLException a){

JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a); } return logDetailtransaksi; } } 6. TengahControl.java

package penjualan.control;import java.awt.Dimension; import java.awt.Toolkit;

import javax.swing.JFrame; public class tengah {

public tengah(JFrame form) {

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); int x = (dim.width - form.getSize().width)/2;

int y = (dim.height - form.getSize().height)/2; form.setLocation(x,y); } } 7. Barang.java package penjualan.data; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "barang") @XmlRootElement @NamedQueries({

@NamedQuery(name = "Barang.findAll", query = "SELECT b FROM Barang b"),

@NamedQuery(name = "Barang.findByKodeBarang", query = "SELECT b FROM Barang b WHERE b.kodeBarang = :kodeBarang"),

@NamedQuery(name = "Barang.findByNamaBarang", query = "SELECT b FROM Barang b WHERE b.namaBarang = :namaBarang"),

@NamedQuery(name = "Barang.findByHarga", query = "SELECT b FROM Barang b WHERE b.harga = :harga"),

@NamedQuery(name = "Barang.findByStok", query = "SELECT b FROM Barang b WHERE b.stok = :stok")})

public class Barang implements Serializable { private static final long serialVersionUID = 1L; @Id

@Basic(optional = false)

@Column(name = "KodeBarang") private String kodeBarang;

@Basic(optional = false)

@Column(name = "NamaBarang") private String namaBarang;

@Basic(optional = false) @Column(name = "Harga") private int harga;

@Basic(optional = false) @Column(name = "Stok") private int stok;

public Barang() { }

public Barang(String kodeBarang) { this.kodeBarang = kodeBarang; }

public Barang(String kodeBarang, String namaBarang, int harga, int stok) { this.kodeBarang = kodeBarang;

this.namaBarang = namaBarang; this.harga = harga;

this.stok = stok; }

public String getKodeBarang() { return kodeBarang;

}

public void setKodeBarang(String kodeBarang) { this.kodeBarang = kodeBarang;

}

public String getNamaBarang() { return namaBarang;

public void setNamaBarang(String namaBarang) { this.namaBarang = namaBarang;

}

public int getHarga() { return harga;

}

public void setHarga(int harga) { this.harga = harga;

}

public int getStok() { return stok;

}

public void setStok(int stok) { this.stok = stok;

}

@Override

public int hashCode() { int hash = 0;

hash += (kodeBarang != null ? kodeBarang.hashCode() : 0); return hash;

}

@Override

public boolean equals(Object object) { if (!(object instanceof Barang)) { return false;

}

Barang other = (Barang) object;

if ((this.kodeBarang == null && other.kodeBarang != null) || (this.kodeBarang != null && !this.kodeBarang.equals(other.kodeBarang))) {

return false; }

return true; }

@Override

public String toString() {

return "penjualan.data.Barang[ kodeBarang=" + kodeBarang + " ]"; }

8. User.java package penjualan.data; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "user") @XmlRootElement @NamedQueries({

@NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"), @NamedQuery(name = "User.findByKodeUser", query = "SELECT u FROM User u WHERE u.kodeUser = :kodeUser"),

@NamedQuery(name = "User.findByNamaUser", query = "SELECT u FROM User u WHERE u.namaUser = :namaUser"),

@NamedQuery(name = "User.findByPassword", query = "SELECT u FROM User u WHERE u.password = :password"),

@NamedQuery(name = "User.findByHakAkses", query = "SELECT u FROM User u WHERE u.hakAkses = :hakAkses")})

public class User implements Serializable { private static final long serialVersionUID = 1L; @Id

@Basic(optional = false)

@Column(name = "KodeUser") private String kodeUser;

@Basic(optional = false)

@Column(name = "NamaUser") private String namaUser;

@Basic(optional = false) @Column(name = "Password") private String password;

@Basic(optional = false)

@Column(name = "HakAkses") private String hakAkses;

public User() { }

public User(String kodeUser) { this.kodeUser = kodeUser; }

public User(String kodeUser, String namaUser, String password, String hakAkses) { this.kodeUser = kodeUser; this.namaUser = namaUser; this.password = password; this.hakAkses = hakAkses; }

public String getKodeUser() { return kodeUser;

}

public void setKodeUser(String kodeUser) { this.kodeUser = kodeUser;

}

public String getNamaUser() { return namaUser;

}

public void setNamaUser(String namaUser) { this.namaUser = namaUser;

}

public String getPassword() { return password;

}

public void setPassword(String password) { this.password = password;

}

public String getHakAkses() { return hakAkses;

}

public void setHakAkses(String hakAkses) { this.hakAkses = hakAkses;

}

@Override

public int hashCode() { int hash = 0;

hash += (kodeUser != null ? kodeUser.hashCode() : 0); return hash;

@Override

public boolean equals(Object object) { if (!(object instanceof User)) {

return false; }

User other = (User) object;

if ((this.kodeUser == null && other.kodeUser != null) || (this.kodeUser != null && !this.kodeUser.equals(other.kodeUser))) { return false; } return true; } @Override

public String toString() {

return "penjualan.data.User[ kodeUser=" + kodeUser + " ]"; } } 9. Transaksi.java package penjualan.data; import java.io.Serializable; import java.util.Date; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "transaksi") @XmlRootElement @NamedQueries({

@NamedQuery(name = "Transaksi.findAll", query = "SELECT t FROM Transaksi t"),

@NamedQuery(name = "Transaksi.findByNoTrans", query = "SELECT t FROM Transaksi t WHERE t.noTrans = :noTrans"),

@NamedQuery(name = "Transaksi.findByTanggal", query = "SELECT t FROM Transaksi t WHERE t.tanggal = :tanggal"),

@NamedQuery(name = "Transaksi.findByTotal", query = "SELECT t FROM Transaksi t WHERE t.total = :total")})

private static final long serialVersionUID = 1L; @Id

@Basic(optional = false) @Column(name = "NoTrans") private String noTrans;

@Basic(optional = false) @Column(name = "Tanggal") @Temporal(TemporalType.DATE) private Date tanggal;

@Basic(optional = false) @Column(name = "Total") private double total;

public Transaksi() { }

public Transaksi(String noTrans) { this.noTrans = noTrans;

}

public Transaksi(String noTrans, Date tanggal, double total) { this.noTrans = noTrans;

this.tanggal = tanggal; this.total = total; }

public String getNoTrans() { return noTrans;

}

public void setNoTrans(String noTrans) { this.noTrans = noTrans;

}

public Date getTanggal() { return tanggal;

}

public void setTanggal(Date tanggal) { this.tanggal = tanggal;

}

public double getTotal() { return total;

}

public void setTotal(double total) { this.total = total;

@Override

public int hashCode() { int hash = 0;

hash += (noTrans != null ? noTrans.hashCode() : 0); return hash;

}

@Override

public boolean equals(Object object) { if (!(object instanceof Transaksi)) { return false;

}

Transaksi other = (Transaksi) object;

if ((this.noTrans == null && other.noTrans != null) || (this.noTrans != null && !this.noTrans.equals(other.noTrans))) { return false; } return true; } @Override

public String toString() {

return "penjualan.data.Transaksi[ noTrans=" + noTrans + " ]"; }

public String getNonota() {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

} } 10. Detailtransaksi.java

Dokumen terkait