Anda di halaman 1dari 5

IV.

Script Aplikasi Kasir


Pada Source code tambahkan code berikut dibawah package app_kasir;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

Selanjut nya tambahkan code berikut dibawah Public class Frame extends javax.swing.JFrame{

Connection c;
ResultSet r;
Statement s;
private Object[][] table_data = null;
private String[] label = {"ID","Name", "Price", "Amount", "Total"};

Selanjutnya Tambahkan Code berikut di bawah Public Frame(){


initComponents();
OpenConnection();
SetTable();
ClearField();
}
private void OpenConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
c = DriverManager.getConnection("jdbc:mysql://localhost/kasir", "root", "");
System.out.println("Connected");
} catch (Exception e) {
System.out.println(e);

}
}
private void SetTable(){
try {
s = c.createStatement();
String sql = "select * from transaksi ";
r = s.executeQuery(sql);
ResultSetMetaData m = r.getMetaData();
int column = m.getColumnCount();
int row = 0;
while(r.next()){
row = r.getRow();
}
table_data = new Object[row][column];
int x = 0;
r.beforeFirst();
while(r.next()){
table_data[x][0] = r.getString("id");
table_data[x][1] = r.getString("namabrg");
table_data[x][2] = r.getString("hargabrg");
table_data[x][3] = r.getString("jumlahbrg");
table_data[x][4] = r.getString("total");
x++;
}
table.setModel(new DefaultTableModel(table_data, label));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}

private void ReadData(){


int row = table.getSelectedRow();
id.setText((String)table.getValueAt(row, 0));
nama.setText((String)table.getValueAt(row, 1));
harga.setText((String)table.getValueAt(row, 2));
jumlah.setText((String)table.getValueAt(row, 3));
}

private void ClearField(){


nama.setText("");
harga.setText("");
jumlah.setText("1");
id.setText("");
kembali.setText("0");
bayar.setText("0");
total_harga.setText("0");
hitung.setEnabled(false);
update.setEnabled(false);
delete.setEnabled(false);
}
private void SaveData(){
try {
int a = Integer.parseInt(harga.getText());
int b = Integer.parseInt(jumlah.getText());
String sql = "insert into transaksi set namabrg='"+nama.getText()+"', "
+ "hargabrg='"+harga.getText()+"', jumlahbrg='"+jumlah.getText()+"', "
+ "total='"+a*b+"'";
s.executeUpdate(sql);
s.close();
ClearField();
SetTable();
} catch (SQLException e) {

}
}

private void UpdateData(){


try {
int a = Integer.parseInt(harga.getText());
int b = Integer.parseInt(jumlah.getText());
String sql = "update transaksi set namabrg='"+nama.getText()+"', "
+ "hargabrg='"+harga.getText()+"', jumlahbrg='"+jumlah.getText()+"', "
+ "total='"+a*b+"' where id='"+id.getText()+"'";
s.executeUpdate(sql);
s.close();
ClearField();
SetTable();
} catch (SQLException e) {
}
}
private void DeleteData(){
try {
String sql = "delete from transaksi where id='"+id.getText()+"'";
s.executeUpdate(sql);
s.close();
ClearField();
SetTable();
} catch (SQLException e) {
}
}

public String conversion(int value)


{
String [] bilangan
={"","satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan","sepuluh","sebelas"};
String temp=" ";
if (value<12){
temp = " " + bilangan[value];
}
else if(value<20){
temp = conversion(value-10) + " belas";
}
else if(value<100){
temp = conversion(value/10) + " puluh" + conversion(value%10);
}
else if(value<200){
temp = " seratus" + conversion(value-100);
}
else if(value<1000){
temp = conversion(value/100) + " ratus" + conversion(value%100);
}
else if(value<2000){
temp = "seribu"+ conversion(value-1000);
}
else if(value<1000000){
temp = conversion(value/1000) + " ribu" + conversion (value%1000);
}
return temp;
}
/** 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")

Selanjutnya kita akan menambahkan action pada setiap button,table ketika diklik,lihat gambar dibawah

Tambahkan action code pada setiap button, dan table seprti dibawah ini
private void tambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
SaveData();
}
private void hitungActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String tot_cost = total_harga.getText();
String pay1 = bayar.getText();
int tot_cost1 = Integer.parseInt(tot_cost);
int pay2 = Integer.parseInt(pay1);
if ((pay2 - tot_cost1)<0 || pay2==0){
JOptionPane.showMessageDialog(null,"Sorry, you need more money to pay !");
}
else {
int change = pay2 - tot_cost1;
Frame jk = new Frame();
String info1 = ""+jk.conversion(change)+" rupiah";
String change1 = Integer.toString(change);
kembali.setText(change1);
info.setText(info1);
}

}
private void menu1ActionPerformed(java.awt.event.ActionEvent evt) {
nama.setText("Nasi Goreng Jawa");
harga.setText("14000");
}
private void menu2ActionPerformed(java.awt.event.ActionEvent evt) {
nama.setText("Big Chicken Steak");
harga.setText("19000");
}
private void menu3ActionPerformed(java.awt.event.ActionEvent evt) {
nama.setText("Chicken Teriyaki");
harga.setText("21000");
}
private void menu4ActionPerformed(java.awt.event.ActionEvent evt) {
nama.setText("Fish and Chips");
harga.setText("16000");
}
private void menu5ActionPerformed(java.awt.event.ActionEvent evt) {
nama.setText("Gado gado Kampoeng");
harga.setText("15000");
}
private void menu6ActionPerformed(java.awt.event.ActionEvent evt) {
nama.setText("Mexican Food");
harga.setText("25000");

}
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ReadData();
update.setEnabled(true);
delete.setEnabled(true);
}
private void baruActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

try {
String sql = "TRUNCATE TABLE transaksi";
s.executeUpdate(sql);
s.close();
ClearField();
SetTable();
} catch (SQLException e) {
}
}
private void deleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DeleteData();
}
private void updateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
UpdateData();
}
private void proses_transaksiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
hitung.setEnabled(true);
int rows = table.getRowCount();
int sum=0;
for(int x=0;x<rows;x++){
String nilai = table.getValueAt(x, 4).toString();
int nilai1 = Integer.parseInt(nilai);
sum = sum + nilai1;
}
String sum1 = Integer.toString(sum);
total_harga.setText(sum1);

Anda mungkin juga menyukai