Anda di halaman 1dari 40

Login

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;

public class frmLogin extends javax.swing.JFrame {


public Connection Con;
public ResultSet RsUser;
public Statement stm;

public frmLogin() {
initComponents();
open_db();
setLocationRelativeTo(this);
}

private void cmdokActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
cariuser();
}

private void cmdbatalActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
System.exit(0);

private void txtUserIdKeyReleased(java.awt.event.KeyEvent evt) {


// TODO add your handling code here:
if (evt.getKeyCode() == 10){
txtPassword.requestFocus();
}

private void txtPasswordKeyReleased(java.awt.event.KeyEvent evt) {


// TODO add your handling code here:
if (evt.getKeyCode() == 10){
cmdok.doClick();
}
}

//membuat method koneksi ke database


private void open_db() {
try {
Class.forName("com.mysql.jdbc.Driver");
//nama database : dbn, password mysql dengan user : root dan password :
Con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/dbn","root","");
stm = Con.createStatement();

}catch (Exception e){


JOptionPane.showMessageDialog(null,"Koneksi gagal");

System.out.println(e.getMessage());
}

//membuat method untuk Login

private void cariuser() {


try{
open_db();
String sql = "Select * from user where user_id='"+txtUserId.getText()+"' and
password='" + txtPassword.getText() + "'";
stm = Con.createStatement();
ResultSet RUser = stm.executeQuery(sql);
if (RUser.next())
{ //JOptionPane.showMessageDialog(null, "Sukses Bro.....!");
new frmMenu().show();
this.dispose(); }
}catch (Exception e){}

txtUserId.setText("");
txtPassword.setText("");
txtUserId.requestFocus();
}
}

Menu
import javax.swing.JOptionPane;

/**
*
* @author tg
*/
public class frmMenu extends javax.swing.JFrame {

/**
* Creates new form frmMenu
*/
public frmMenu() {
initComponents();
//load form ditengah layar
setLocationRelativeTo(this);
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jButton2 = new javax.swing.JButton();


jButton1 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JPopupMenu.Separator();
jMenuItem3 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenuItem4 = new javax.swing.JMenuItem();
jMenu4 = new javax.swing.JMenu();
jMenuItem6 = new javax.swing.JMenuItem();
jMenu3 = new javax.swing.JMenu();
jMenuItem5 = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("MENU UTAMA");

jPanel1.setBackground(new java.awt.Color(153, 153, 153));

jButton2.setToolTipText("master barang");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}

});

jButton1.setToolTipText("Keluar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton3.setToolTipText("form transaksi");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING, false)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE,
79, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE,
0, Short.MAX_VALUE)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,
0, Short.MAX_VALUE))
.addContainerGap(20, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jButton2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

jPanel2.setBackground(new java.awt.Color(153, 153, 153));

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 0, Short.MAX_VALUE)
);

jLabel1.setFont(new java.awt.Font("Tw Cen MT Condensed Extra Bold", 1,


36)); // NOI18N
jLabel1.setText("SISTEM INFORMASI PENJUALAN");

jLabel2.setFont(new java.awt.Font("Tw Cen MT", 1, 18)); // NOI18N


jLabel2.setText("PT. BERUSAHA SUKSES");

jMenuBar1.setToolTipText("");
jMenuBar1.setAlignmentY(0.5F);

jMenu1.setText("Master");
jMenu1.setToolTipText("Masuk ke Inputan master");

jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.Key
Event.VK_B, java.awt.event.InputEvent.ALT_MASK));
jMenuItem1.setText("Data Barang");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);

jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.Key
Event.VK_S, java.awt.event.InputEvent.ALT_MASK));

jMenuItem2.setText("Data Konsumen");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem2);
jMenu1.add(jSeparator1);

jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.Key
Event.VK_X, java.awt.event.InputEvent.ALT_MASK));
jMenuItem3.setText("Keluar");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem3);

jMenuBar1.add(jMenu1);

jMenu2.setText("Transaksi");
jMenu2.setToolTipText("Klik untuk masuk transaksi");
jMenu2.setAlignmentX(1.0F);
jMenu2.setPreferredSize(new java.awt.Dimension(89, 30));

jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.Key
Event.VK_P, java.awt.event.InputEvent.ALT_MASK));
jMenuItem4.setText("Penjualan");

jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem4ActionPerformed(evt);
}
});
jMenu2.add(jMenuItem4);

jMenuBar1.add(jMenu2);

jMenu4.setText("Laporan");

jMenuItem6.setText("Periode");
jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem6ActionPerformed(evt);
}
});
jMenu4.add(jMenuItem6);

jMenuBar1.add(jMenu4);

jMenu3.setText("Keluar");
jMenu3.setToolTipText("Keluar dari program");
jMenu3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenu3ActionPerformed(evt);
}
});

jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.Key
Event.VK_K, java.awt.event.InputEvent.ALT_MASK));
jMenuItem5.setText("Keluar");
jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem5ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem5);

jMenuBar1.add(jMenu3);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 261,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jLabel1)

.addGap(50, 50, 50))


.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap(306, Short.MAX_VALUE)
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 78,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(144, 144, 144))
);

pack();
}// </editor-fold>

//keluar aplikasi
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);

// TODO add your handling code here:

}
//untuk masuk ke form Barang
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
new frmBarang().show();

// TODO add your handling code here:

}
//untuk masuk ke form Konsumen
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
new frmKonsumen().setVisible(true);

// TODO add your handling code

here:
}

private void jMenu3ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}
//untuk masuk ke form transaksi
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
new frmTransaksi().show();

// TODO add your handling code here:

}
//keluar aplikasi dengan pesan
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int a;
a=JOptionPane.showConfirmDialog(null, "Benar mau keluar?", "Confirm",
JOptionPane. YES_NO_OPTION);
if(a==JOptionPane.YES_OPTION)
{System.exit(0);}
else

{return;}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
int a;
a=JOptionPane.showConfirmDialog(null, "Benar mau keluar?", "Confirm",
JOptionPane. YES_NO_OPTION);
if(a==JOptionPane.YES_OPTION)
{System.exit(0);}
else
{return;}
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
new frmBarang().show();
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
new frmTransaksi().show();
}

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {


new Form_lapor_tanggal().show();
}

Barang
public Connection Con;

// TODO add your handling code here:

public Statement stm;


private JasperDesign JasperDesign;
private JasperReport JasperReport;
private Map koneksi;
private JasperPrint JasperPrint;

public frmBarang() {
initComponents();
aktif(false);
setTombol(true);
setLocationRelativeTo(this);

private void cmdsimpanActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try{
open_db();
String sql = "insert into tblbrg values ('" + txtkode.getText() +"','"+
txtnama.getText() +"','"+ cmbsatuan.getSelectedItem() +"','"+ txtharga.getText()
+"','"+ txtstok.getText() +"','"+ txtstokmin.getText() +"')";
stm.executeUpdate(sql);
Con.close();
aktif(false);
setTombol(true);
JOptionPane.showMessageDialog(null,"Simpan Oke");
kosong();
aktif(true);
}catch(SQLException e) {

JOptionPane.showMessageDialog(null,"Gagal simpan");
System.out.println(e.getMessage());
}

private void cmdtambahActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
aktif(true);
setTombol(false);
kosong();

private void cmdkoreksiActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try{
open_db();
String sql = "update tblbrg set nmbrg = '"+ txtnama.getText() +"',satuan = '"+
cmbsatuan.getSelectedItem() +"', harga = '"+ txtharga.getText() +"', stok = '"+
txtstok.getText() +"',stokmin = '"+ txtstokmin.getText() +"' where kdbrg = '" +
txtkode.getText() +"'";
stm.executeUpdate(sql);
Con.close();
aktif(false);
setTombol(true);
JOptionPane.showMessageDialog(null,"Ubah Oke");
}catch(SQLException e) {
JOptionPane.showMessageDialog(null,"Gagal simpan");
System.out.println(e.getMessage());
}

private void cmdhapusActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try{
open_db();
String sql="delete from tblbrg where kdbrg = '" + txtkode.getText() + "'";
stm.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"Hapus Oke");
kosong();
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"Gagal Hapus");
System.out.println(e.getMessage());
}

private void cmdbatalActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
aktif(false);
setTombol(true);

private void cmdkeluarActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
// System.exit(0);

this.dispose();

private void txtkodeKeyPressed(java.awt.event.KeyEvent evt) {


// TODO add your handling code here:
if (evt.getKeyCode() == 10){
cari();
}
}

private void cmdLaporanActionPerformed(java.awt.event.ActionEvent evt) {


try {
open_db();
HashMap parameter=new HashMap();
File file = new File("src/penjualan/lapBrg.jrxml");
JasperDesign = JRXmlLoader.load(file);
JasperReport = JasperCompileManager.compileReport(JasperDesign);
JasperPrint = JasperFillManager.fillReport(JasperReport, parameter, Con);
JasperViewer.viewReport(JasperPrint, false);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Data tidak dapat dicetak!","Cetak
Data",JOptionPane.ERROR_MESSAGE);
}
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
new perbrg().show();
}

private void aktif(boolean x) {


txtkode.setEditable(x);
txtnama.setEditable(x);
cmbsatuan.setEnabled(x);
txtharga.setEditable(x);
txtstok.setEditable(x);
txtstokmin.setEditable(x);
txtkode.requestFocus();

private void setTombol(boolean t) {


cmdtambah.setEnabled(t);
cmdkoreksi.setEnabled(t);
cmdhapus.setEnabled(t);
cmdsimpan.setEnabled(!t);
cmdbatal.setEnabled(!t);
cmdkeluar.setEnabled(t);

//membuat method untuk koneksi ke database


private void open_db() {
try {
Class.forName("com.mysql.jdbc.Driver");
Con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/dbn","root","");
stm = Con.createStatement();

}catch (Exception e){


JOptionPane.showMessageDialog(null,"Koneksi gagal");
System.out.println(e.getMessage());
}
}

//membuat method untuk memberitahukan kode sudah ada atau belum


private void cari(){
try {
open_db();
String sql = "select * from tblbrg where kdbrg = '" + txtkode.getText() +"'";
ResultSet rs = stm.executeQuery(sql);
if (rs.next())
{
txtkode.setText(rs.getString(1));
txtnama.setText(rs.getString(2));
cmbsatuan.setSelectedItem(rs.getString(3));
txtharga.setText(rs.getString(4));
txtstok.setText(rs.getString(5));
txtstokmin.setText(rs.getString(6));
JOptionPane.showMessageDialog(null,"Kode barang :" +txtkode.getText()
+ " Sudah ada");
setTombol(true);

}
}catch (Exception e){}
txtnama.requestFocus();
}

//untuk mengosongkan isian data

private void kosong()


{
txtkode.setText("");
txtnama.setText("");
txtharga.setText("");
txtstok.setText("");
txtstokmin.setText("");

public void tampilReport()


{

Konsumen
import java.io.File;
import java.sql.*;
import java.util.HashMap;
import javax.swing.*;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;

public class frmKonsumen extends javax.swing.JFrame {


public Connection Con;
public Statement stm;
private JasperDesign JasperDesign;
private JasperReport JasperReport;
private JasperPrint JasperPrint;

public frmKonsumen() {
initComponents();
aktif(false);
setTombol(true);
setLocationRelativeTo(this);
}

//tombol tambah
private void cmdtambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
aktif(true);
setTombol(false);
kosong();
}

//tombol simpan
private void cmdsimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{

open_db();
String sql = "insert into tblkonsumen values ('" + txtkodekon.getText()
+"','"+ txtnamakon.getText() +"','"+ txtnotelp.getText() +"','"+ taalamat.getText()
+"')";
stm.executeUpdate(sql);
Con.close();
aktif(false);
setTombol(true);
JOptionPane.showMessageDialog(null,"Simpan Oke");
kosong();
aktif(true);
}catch(SQLException e) {
JOptionPane.showMessageDialog(null,"Gagal simpan");
System.out.println(e.getMessage());
}

}
//tombol keluar form
private void cmdkeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// System.exit(0);
this.dispose();

}
//tombol batal
private void cmdbatalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
aktif(false);
setTombol(true);
}

//tombol hapus
private void cmdhapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
open_db();
String sql="delete from tbkonsumen where kdkon = '" +
txtkodekon.getText() + "'";
stm.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"Hapus Oke");
kosong();
} catch(SQLException e) {
JOptionPane.showMessageDialog(null,"Gagal Hapus");
System.out.println(e.getMessage());
}

}
//tombol ubah
private void cmdkoreksiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
open_db();
String sql = "update tblkonsumen set nmkon = '"+ txtnamakon.getText()
+"',notelp = '"+ txtnotelp.getText() +"', alamat = '"+ taalamat.getText() +"' where
kdkon = '" + txtkodekon.getText() +"'";
stm.executeUpdate(sql);
Con.close();
aktif(false);
setTombol(true);
JOptionPane.showMessageDialog(null,"Ubah Oke");
}catch(SQLException e) {
JOptionPane.showMessageDialog(null,"Gagal simpan");

System.out.println(e.getMessage());
}

}
//tombol laporan
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
tampilReport();
}

private void txtkodekonKeyReleased(java.awt.event.KeyEvent evt) {


// TODO add your handling code here:

}
//memberikan fungsi enter pada txtkode untuk melakukan pencarian
private void txtkodekonKeyPressed(java.awt.event.KeyEvent evt) {

if (evt.getKeyCode() == 10){cari();}// TODO add your handling code here:


}

//mengeset aktif tidak isian data


private void aktif(boolean x) {
txtkodekon.setEditable(x);
txtnamakon.setEditable(x);
txtnotelp.setEditable(x);
taalamat.setEditable(x);
txtkodekon.requestFocus();
}
//mengset tombol on/of

private void setTombol(boolean t) {


cmdtambah.setEnabled(t);
cmdkoreksi.setEnabled(t);
cmdhapus.setEnabled(t);
cmdsimpan.setEnabled(!t);
cmdbatal.setEnabled(!t);
cmdkeluar.setEnabled(t);
}

//membuat method koneksi ke database


private void open_db() {
try {
Class.forName("com.mysql.jdbc.Driver");
Con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/dbn","root","");
stm = Con.createStatement();

}catch (Exception e){


JOptionPane.showMessageDialog(null,"Koneksi gagal");
System.out.println(e.getMessage());
}
}

//membuat method kode sudah ada atau belum


private void cari(){
try {
open_db();
String sql = "select * from tblkonsumen where kdkon = '" +
txtkodekon.getText() +"'";

ResultSet rs = stm.executeQuery(sql);
if (rs.next())
{
txtkodekon.setText(rs.getString(1));
txtnamakon.setText(rs.getString(2));
txtnotelp.setText(rs.getString(3));
taalamat.setText(rs.getString(4));
JOptionPane.showMessageDialog(null,"Kode Konsumen :"
+txtkodekon.getText()+ " Sudah ada");
setTombol(true);
}
}catch (Exception e){}
}

//untuk mengosongkan isian data


private void kosong()
{
txtkodekon.setText("");
txtnamakon.setText("");
txtnotelp.setText("");
taalamat.setText("");
}

//membuat method menampilkan laporan


public void tampilReport(){
try {
open_db();
HashMap parameter=new HashMap();
File file = new File("src/penjualan/lapKonsumen.jrxml");

JasperDesign = JRXmlLoader.load(file);
JasperReport = JasperCompileManager.compileReport(JasperDesign);
JasperPrint = JasperFillManager.fillReport(JasperReport, parameter, Con);
JasperViewer.viewReport(JasperPrint, false);
} catch (Exception e) {

JOptionPane.showMessageDialog(null, "Data tidak dapat


dicetak!"+"\n"+e.getMessage(),"Cetak Data",JOptionPane.ERROR_MESSAGE);
}
}

Transaksi
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.io.File;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.HashMap;
import javax.swing.JOptionPane;
import javax.swing.JSpinner;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;

public class frmTransaksi extends javax.swing.JFrame {


Connection Con;
ResultSet RsBrg;
ResultSet RsKons;
Statement stm;
double total=0;
String tanggal;
Boolean edit=false;
DefaultTableModel tableModel = new DefaultTableModel(
new Object [ ][ ] {},
new String [ ] {
"Kd Barang", "Nama Barang","Harga Barang","Jumlah","Total"
});
private int row;
private JasperDesign JasperDesign;
private JasperReport JasperReport;
private JasperPrint JasperPrint;

public frmTransaksi() {
initComponents();
open_db();
inisialisasi_tabel();
aktif(false);
setTombol(true);
txttgl.setEditor(new JSpinner.DateEditor(txttgl,"yyyy/MM/dd"));

isicombo();
isicombo_brg();
setLocationRelativeTo(this);
}

private void cmdtambahActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
aktif(true);
setTombol(false);
kosong();

private void cmbkd_konActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
baca_konsumen();
}

private void txtjmlActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
hitung_jual();
}

private void cmdkeluarActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
this.dispose();
}

private void cmbkdbrgActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


detail_barang();
}

private void cmdsimpanActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
simpan_transaksi();
}

private void cmdhapusitemActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
tableModel.removeRow(row);
totalharga();

private void btsimActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
simpan_ditabel();
txtnm_brg.setText("");
txtharga.setText("0");
txtjml.setText("0");
txttot.setText("0");
aktif(true);
setTombol(false);
// kosong();

private void cmdlaporanActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:


tampilReport();
}

//method koneksi ke database mysql


private void open_db() {
try {
Class.forName("com.mysql.jdbc.Driver");
Con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/dbn","root","");
stm = (Statement) Con.createStatement();

}catch (Exception e){


JOptionPane.showMessageDialog(null,"Koneksi gagal");
System.out.println(e.getMessage());
}

}
//method inisialisasi tabel
private void inisialisasi_tabel() {
tbljual.setModel(tableModel);
}

private void aktif(boolean x) {


cmbkd_kon.setEnabled(x);
cmbkdbrg.setEnabled(x);
txttgl.setEnabled(x);
txtjml.setEditable(x);

private void setTombol(boolean t) {


cmdtambah.setEnabled(t);
cmdsimpan.setEnabled(!t);
btsim.setEnabled(!t);
cmdkeluar.setEnabled(!t);
cmdhapusitem.setEnabled(!t);
}

//method pengkosongan isian


private void kosong()
{
//txtnojual.setText("");
txtnama.setText("");
txtharga.setText("");
txttotal.setText("");
}
//method kosongkan detail jual
private void kosong_detail()
{
txtnm_brg.setText("");
txtharga.setText("");
txtjml.setText("");
txttot.setText("");
}

//method baca tabel konsumen, kode konsumen masuk ke combo konsumen


private void isicombo() {
try{

open_db();
String sql = "Select * from tblkonsumen";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
cmbkd_kon.addItem(rs.getString(1)); }
} catch (Exception e){}
}
//method baca tabel barang
private void isicombo_brg() {
try{
open_db();
String sql = "Select * from tblbrg";
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
cmbkdbrg.addItem(rs.getString(1)); }
} catch (Exception e){}
}

//methohd baca data konsumen setelah combo konsumen di klik


private void baca_konsumen()
{
try{
open_db();
String sql = "Select * from tblkonsumen where kdkon ='"+
cmbkd_kon.getSelectedItem()+"'";
ResultSet rs = stm.executeQuery(sql);
if (rs.next())
{

txtnama.setText(rs.getString(2)); } else {
JOptionPane.showMessageDialog(null, "Data Tidak Ada");
} } catch (Exception e){ }

//method baca barang setelah combo barang di klik


private void detail_barang()
{
try{
stm =

(Statement) Con.createStatement();

ResultSet rs=stm.executeQuery("select * from tblbrg where kdbrg='"+


cmbkdbrg.getSelectedItem()+"'");
rs.beforeFirst();
while(rs.next())
{
txtnm_brg.setText(rs.getString(2).trim());
txtharga.setText(Double.toString((Double)rs.getDouble(4)));
txtjml.requestFocus();
}
rs.close();
}
catch(SQLException e)
{
System.out.println("Error : "+e);
}
}

//method simpan detail jual di tabel

private void simpan_ditabel()


{
try{
String tKode=cmbkdbrg.getSelectedItem().toString();
String tNama=txtnm_brg.getText();
double hrg=Double.parseDouble(txtharga.getText());
int jml=Integer.parseInt(txtjml.getText());
double tot=Double.parseDouble(txttot.getText());
tableModel.addRow(new Object[]{tKode,tNama,hrg,jml,tot});
inisialisasi_tabel();
}

catch(Exception e)
{
System.out.println("Error : "+e);
}
}

//method simpan transaksi penjualan pada table di MySql


private void simpan_transaksi()
{
try{
open_db();
String xnojual=txtnojual.getText();
format_tanggal();
String xkode=cmbkd_kon.getSelectedItem().toString();
//String xkd = cmbkdbrg.getSelectedItem().toString();

String msql="insert into jual values('"+xnojual+"','"+xkode+"','"+tanggal+"')";


stm.executeUpdate(msql);

int t = tbljual.getRowCount();
for(int i=0; i < t ; i++)
{
String xkd= tbljual.getValueAt(i,0).toString();
double xhrg= Double.parseDouble(tbljual.getValueAt(i,2).toString());
double xjml= Double.parseDouble(tbljual.getValueAt(i,3).toString());

String zsql="insert into djual


values('"+xnojual+"','"+xkd+"','"+xhrg+"','"+xjml+"')";
stm.executeUpdate(zsql);
}
//Con.close();
JOptionPane.showMessageDialog(null,"Simpan Oke");
setTombol(false);
txtnojual.setText("");
txtnama.setText("");
txtnm_brg.setText("");
txtharga.setText("0");
txtjml.setText("0");
txttot.setText("0");
txttotal.setText("0");
tbljual.clearSelection();
tableModel.removeRow(row);
}
catch(SQLException e)
{
System.out.println("Error : "+e);
}
}

//method membuat format tanggal sesuai dengan MySQL


private void format_tanggal()
{
String DATE_FORMAT = "yyyy-MM-dd";
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(DATE_FORMAT);
Calendar c1 = Calendar.getInstance();
int year=c1.get(Calendar.YEAR);
int month=c1.get(Calendar.MONTH)+1;
int day=c1.get(Calendar.DAY_OF_MONTH);
tanggal=Integer.toString(year)+"-"+Integer.toString(month)
+"-"+Integer.toString(day);
}

/* public void tampil(){


row = tbljual.getSelectedRow();
cmbkdbrg.setSelectedItem(tableModel.getValueAt(row, 0).toString());
txtnm_brg.setText(tableModel.getValueAt(row, 1).toString());
txtharga.setText(tableModel.getValueAt(row, 2).toString());
txtjml.setText(tableModel.getValueAt(row, 3).toString());
txttot.setText(tableModel.getValueAt(row, 4).toString());
}*/

//method menghitung total jual


private void hitung_jual() {
double xtot,xhrg;
int xjml;
xhrg=Double.parseDouble(txtharga.getText());
xjml=Integer.parseInt(txtjml.getText());

xtot=xhrg*xjml;
String xtotal=Double.toString(xtot);
txttot.setText(xtotal);
total=total+xtot;
txttotal.setText(Double.toString(total));
}
//method total harga setelah perubahan tabel
public void totalharga()
{
double tothrg = 0;
int jumrec = tbljual.getRowCount();
for (int i=0;i<jumrec;i++)
{
tothrg = tothrg + Double.parseDouble(tableModel.getValueAt(i,4).toString()); }
txttotal.setText(String.valueOf(tothrg));
}

//method menampilkan laporan


public void tampilReport(){
try {
open_db();
HashMap parameter=new HashMap();
File file = new File("src/penjualan/lapTransaksi.jrxml");
JasperDesign = JRXmlLoader.load(file);
JasperReport = JasperCompileManager.compileReport(JasperDesign);
JasperPrint = JasperFillManager.fillReport(JasperReport, parameter, Con);
JasperViewer.viewReport(JasperPrint, false);
} catch (Exception e) {

JOptionPane.showMessageDialog(null, "Data tidak dapat


dicetak!"+"\n"+e.getMessage(),"Cetak Data",JOptionPane.ERROR_MESSAGE);
}
}

Anda mungkin juga menyukai