Pada sebuah program transaksi kasir pasti kita tahu jika pada saat transaksi kasir setiap transaksi ada nomor transaksinya. NOTA istilah singkatan dari Nomor Transaksi. Jika sobat ingin membuat sebuah aplikasi kasir pasti untuk memasukan id / no transaksi tidaklah harus menginput satu persatu sesuai urutan justru malah akan membuat transaksi menjadi lebih lambat atau tidak efisien jika banyak customer. Disinilah peran auto icrement untuk menginput id / nomor transaksi kasir secara otomatis.
Berikut ini saya share source code membuat auto increment / nomor transaksi otomatis menggunakan bahasa pemrograman java ke teman-teman agar bisa di pelajari dan dikembangkan lagi.
Langsung saja simak tutorial lengkapnya di bawah ini:
- Buat databasenya terlebih dahulu
- Berikut ini contoh database sederhana
- Buat projectnya menggunakan java netbeans
- Berikut struktur projectnya:
- Tambahkan library MySQL JDBC Driver
- Buat package entity
- Buat class Entitas.java dan masukan kode berikut:
package entity; /** @author http://denny-id.blogspot.co.id */ public class Entitas { public String no_transaksi; public String getNotransaksi() { return no_transaksi; } public void setNoTransaksi(String no_transaksi) { this.no_transaksi = no_transaksi; } }
- Buat package method dan class Control.java, masukan kode berikut:
package method; import entity.Entitas; 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 Control { Connection con=null; Statement st=null; ResultSet rs=null; String sql=null; public Control(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/db_autoincrement","root",""); st=con.createStatement(); }catch(Exception a){ JOptionPane.showMessageDialog(null, "Koneksi Database Gagal, Terjadi kesalahaan Pada : \n"+a); } } public List tampil(){ List logBarang = new ArrayList(); sql="select no_transaksi from tb_transaksi order by id asc"; try{ rs=st.executeQuery(sql); while(rs.next()){ Entitas eb=new Entitas(); eb.setNoTransaksi(rs.getString("no_transaksi")); logBarang.add(eb); } } catch(SQLException a){ JOptionPane.showMessageDialog(null, "Terjadi kesalahaan tampil, pada :\n"+a); } return logBarang; } }
- Buat package aplikasi dan class jframe dengan nama FormAutoIncrement.java, desain jframe seperti di bawah ini:
lalu masukan kode berikut:
package aplikasi; //http://denny-id.blogspot.co.id import method.Control; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; import entity.Entitas; import java.util.ArrayList; import java.util.List; import javax.swing.table.DefaultTableModel; public class FormAutoIncrement extends javax.swing.JFrame { int x=0; private DefaultTableModel model; Control bc=new Control(); Entitas eb=new Entitas(); List
listBarang=new ArrayList (); Statement stm; Connection Con; public FormAutoIncrement() { initComponents(); bersih(); siapIsi(false); } private void bersih(){ txtnotransaksi.setText(null); } private void siapIsi(boolean a){ txtnotransaksi.setEnabled(a); } private void buatNoTransaksi(){ listBarang=bc.tampil(); int a=listBarang.size()-1; int no=Integer.parseInt(listBarang.get(a).getNotransaksi().replace("NOTA-", ""))+1; txtnotransaksi.setText("NOTA-"+no); txtnotransaksi.setEnabled(false); } @SuppressWarnings("unchecked") // private void initComponents() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); txtnotransaksi = new javax.swing.JTextField(); bttambah = new javax.swing.JButton(); jLabel8 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Form Tramsaksi"); jPanel1.setBackground(new java.awt.Color(143, 176, 219)); jLabel1.setText("No Transaksi"); txtnotransaksi.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtnotransaksiActionPerformed(evt); } }); bttambah.setText("Tambah"); bttambah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bttambahActionPerformed(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() .addGap(36, 36, 36) .addComponent(jLabel1) .addGap(18, 18, 18) .addComponent(txtnotransaksi, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(bttambah) .addContainerGap(41, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(txtnotransaksi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(bttambah)) .addGap(41, 41, 41)) ); 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(123, 123, 123) .addComponent(jLabel8) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, Short.MAX_VALUE) .addComponent(jLabel8)) ); pack(); setLocationRelativeTo(null); }// private void bttambahActionPerformed(java.awt.event.ActionEvent evt) { if(bttambah.getText().equalsIgnoreCase("tambah")){ bttambah.setText("Batal"); bersih(); siapIsi(true); buatNoTransaksi(); bttambah.setEnabled(true); } else{ bttambah.setText("Tambah"); bersih(); siapIsi(true); } } private void txtnotransaksiActionPerformed(java.awt.event.ActionEvent evt) { int no,x,y; x=00000000; y=1; no=x+y; String notransaksi=Integer.toString(no); txtnotransaksi.setText(notransaksi);// TODO add your handling code here: } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new FormAutoIncrement().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton bttambah; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel8; private javax.swing.JPanel jPanel1; private javax.swing.JTextField txtnotransaksi; // End of variables declaration }
- Jalankan projectnya, klik kana run file pada FormAutoIncrement.java
- Berikut hasilnya:
- Selesai, jika ingin source code di atas silahkan download pada link di bawah ini:
Keywords:
- cara membuat id otomatis auto increment pada java
- download source code auto increment java
- id otomatis java
- cara membuat id transaksi otomatis java
- nomor transaksi java
- nomor otomatis java
- download auto increment java
- aplikasi kasir
- id otomatis aplikasi penjualan
- id otomatis program kasir
- java netbeans
- auto increment point of sales
- mysql
- matakuliah pbo
coment
BalasHapuskalo untuk web application gimana ya mas. saya nyari di internet untuk jframe semua
BalasHapus