Laporan Tugas Akhir Machmud Tahnihan 3201016046
Laporan Tugas Akhir Machmud Tahnihan 3201016046
TUGAS AKHIR
Oleh:
LEMBAR PENGESAHAN
APLIKASI KASIR RUMAH MAKAN MENGGUNAKAN JAVA DAN MySQL
Oleh:
NAMA
NIM
: 3201016046
Tugas akhir ini telah diterima dan disahkan sebagai salah satu syarat untuk
menyelesaikan Program Pendidikan Diploma III pada Program Studi Teknik
Informartika Jurusan Teknik Elektro Politeknik Negeri Pontianak.
Disahkan oleh:
Ketua Jurusan
Pembimbing
H. Irawan Suharto, ST
NIP.197103111998011001
Mengetahui,
Direktur Politeknik Negeri Pontianak
HALAMAN PERNYATAAN
Tugas akhir ini telah dipertahankan di depan tim penguji Jurusan Teknik
Informatika pada tanggal 16 Juli 2013 dan dinyatakan memenuhi persyaratan
untuk mata kuliah tugas akhir.
Tim Penguji
Ketua
Penguji I
RINGKASAN
Aplikasi Kasir Rumah Makan Menggunakan JAVA dan MySQL
Oleh: Machmud Tahnihan Isma Rohmat
Banyak rumah makan yang menggunakan mesin kasir yang sederhana
untuk melakukan perhitungan transaksi pembayaran. Namun tidak jaran gmesinmesin seperti ini adalah mesin yang hanya dapat melakukan perhitungan saja
tanpa dapat menyimpan berkas transaksi yang bisa dijadikan sebaga iarsip atau
laporan, sehingga pemilik tidak dapat memantau atau melihat pendapatan dari
rumah makan yang dikelolanya.
Berkaitan dengan hal tersebut, penulis ingi nmengangka tpembahasan
tentang Aplikasi Kasir yang dapat mempermudah pekerjaan kasir baikdalam
proses transaksi pembayaran maupun perekaman datanya .Dalam hal ini bahasa
pemrograman yang digunakan untuk membuat aplikasi tersebut adalah JAVA dan
terhubung dengan database MySQL.
Dengan adanya sistem aplikasi kasir ini, diharapkan mampu membantu
kinerja dari mesin kasir yang ada. Aplikasi kasir mampu menyimpan data
transaksi dari penjualan rumah makan yang menggunakan aplikasi kasir ini.
Kata Kunci :database , java, MySQL, kasir
PRAKATA
Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala
berkat, rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan penulisan
Tugas Akhir ini yang berjudul Aplikasi Kasir Rumah Makan Menggunakan
JAVA dan MySQL. Tujuan dari penulisan Tugas Akhir ini adalah untuk
memenuhi syarat dalam menyelesaikan Program Pendidikan Diploma III
Politeknik Negeri Pontianak serta mampu menciptakan sebuah aplikasi kasir
rumah makan yang diharapkan dapat membantu kinerja kasir.
Tugas Akhir ini dapat diselesaikan atas dorongan, bantuan dan bimbingan
dari berbagai pihak, baik bantuan berupa moril maupun materil. Dalam
kesempatan ini dengan segala kerendahan hati, penulis ingin menyampaikan
ucapan terima kasih yang sebesar-besarnya kepada:
1.
Kedua orangtua penulis yang selalu memberi motivasi, semangat serta doa
yang tulus dan ikhlas.
2.
3.
4.
5.
6.
7.
8.
9.
11. Semua pihak yang tidak dapat penulis sebutkan satu persatu yang
telahmemberikanbantuan baik berupa moril maupun materil, sehingga
penulis dapat menyelesaikan penulisan Tugas Akhir ini.
Penulis menyadari bahwa dalam penulisan Tugas Akhir ini masih
terdapat banyak kekurangan dan kekeliruan. Penulis mohon kepada
pembaca untuk dapat memberikan
membangun.
Akhir kata, semoga apa yang telah diberikan kepada penulis baik
itu segala bantuan ataupun jasa, akan mendapatkan balasan dari Tuhan
Yang Maha Esa dan semoga Tugas Akhir ini dapat bermanfaat bagi
pembaca.
Pontianak,
Penulis
Juli 2013
DAFTAR ISI
HALAMAN PERNYATAAN ................................................................................................... iii
RINGKASAN .........................................................................................................................iv
DAFTAR ISI..........................................................................................................................vii
DAFTAR GAMBAR................................................................................................................ix
DAFTAR TABEL .................................................................................................................... x
BAB I .................................................................................................................................... 1
PENDAHULUAN ................................................................................................................... 1
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
Metodologi.......................................................................................................... 3
1.7.
BAB II ................................................................................................................................... 5
LANDASAN TEORI ................................................................................................................ 5
2.1. Pengertian Aplikasi................................................................................................... 5
2.2. Pengertian Program Kasir ........................................................................................ 5
2.3. Bahasa Pemrograman JAVA ..................................................................................... 6
2.3.1.
DAFTAR GAMBAR
DAFTAR TABEL
Tabel 3.1 Account ................................................................................................. 19
Tabel 3.2 Menu ..................................................................................................... 19
Tabel 3.3 Inventori Bahan ..................................................................................... 20
Tabel 3.4 Jenis Diskon .......................................................................................... 21
Tabel 3.5 Pesanan.................................................................................................. 21
Tabel 3.6 Log ........................................................................................................ 22
BAB I
PENDAHULUAN
1.1.
1.2.
Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, dapat dirumuskan
permasalahan sebagai berikut, yaitu :
1. Bagaimana menyajikan system komputerisasi pada kasir agar lebih mudah
dalam melakukan proses transaksi pembayaran ?
2. Bagaimana data transaksi tersebut dapat direkam dan disimpan dengan
amansupaya cepat dalam perolehan informasi yang dibutuhkan pemilik ?
1.3.
1.4.
1.5.
mahasiswa
dalam
menerapkan
ilmu
pengetahuan
dan
dalam
Metodologi
Teknik pengumpulan data yang digunakan penulis dalam penyusunan
Tugas Akhir adalah sebagai berikut :
1. Metode Literatur
Metodi ini dilaksanakan dengan melakukan studi di perpustakaan dan
melalui hasil penelitian yang relevan melalui artikel-artikel yang di dapat
melalui internet, serta mempelajari lebih dalam tentang Java.
2. Metode Implementasi
Pada tahap ini penulis melakukan pengimplementasian metode desain
aplikasi menggunakan Java.
3. Metode Pengujian dan Analisa
Pengujian dilakukan dengan melakukan tanya jawab kepada pihak yang
bersangkutan
dalam
penulisan
tugas
akhir
ini.
Setelah
itu
1.7.
Sistematika Tugas Akhir
BAB I
:
PENDAHULUAN
Dalam bab ini berisi tentang latar belakang masalah, rumusan masalah,
ruang lingkup masalah, tujuan tugas akhir, manfaat tugas akhir, metodologi
dan sistematika tugas akhir.
BAB II
LANDASAN TEORI
Pada bab ini dibahas tentang perancangan design alur dan sistematis dari
program atau aplikasi yang dibuat.
BAB IV
IMPLEMENTASI
Pada bab ini berisi tentang implementasi pembuatan aplikasi kasir berbasis
dekstop menggunakan Java.
BAB V
PENUTUP
Pada bab ini membahas kesimpulan dan saran dari pembahasan yang telah
dilakukan yang merupakan bab penutup dalam penulisan tugas akhir ini.
BAB II
LANDASAN TEORI
Java banyak
termasuk
bahasa
Multithreading.
Thread
adalah
untuk
menyatakan program komputer melakukan lebih dari satu tugas di satu waktu
yang sama. Java menyediakan kelas untuk menulis program multithreaded,
program mempunyai lebih dari satu thread eksekusi pada saat yang sama
sehingga memungkinkan program menangani beberapa tugas secara
konkuren.
Program Java melakukan garbage collection yang berarti program
tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi.
Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan
pemrograman
Java
merupakan
salah
satu
bahasa
10
b. Kekurangan
1. Mudah didekompilasi
Dekompilasi adalah proses pembalikan dari kode jadi menjadi
kode sumber. Hal ini dimungkinkan karena kode jadi Java
merupakan bytecode yang menyimpan banyak atribut bahasa
tingkat tinggi, seperti nama-nama kelas, metode dan tipe data.
2. Penggunaan memori yang banyak
Peggunaan memori untuk program berbasis Java jauh lebih
besar daripada bahasa tingkat tinggi generasi sebelumnya
sepertii C/C++ dan Pascal. Biasanya ini bukan merupakan
masalah bagi pihak yang menggunakan teknologi terbaru,
tetapi menjadi masalah bagi mereka yang masih berkutat
dengan mesin komputer berumur lebih dari 4 tahun.
2.4. Basis Data
Basis data adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer
untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang
digunakan untuk mengelola dan memanggil kueri (query) basis data disebut
sistem manajemen basis data (Database Management System, DBMS). Sistem
basis data dipelajari dalam ilmu informasi.
11
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari
jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema
menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara
obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan
struktur basis data ini dikenal sebagai model basis data atau model data. Model
yang umum digunakan sekarang adalah model relasional, yang menurut istilah
Layman mewakili semua informasi dalam bentuk tabel-tabel yang saling
berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang
sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan
antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang
lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih
eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling
berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem
manajemen basis data (Database Management System/DBMS). Jika konteksnya
sudah jelas, banyak administrator dan programer menggunakan istilah basis data
untuk kedua arti tersebut.
2.5.SQL (Structured Query Language)
SQL adalah sebuah bahasa yang digunakan untuk mengakses data dalam
basis data. Secara umum bahasa ini merupakan bahasa standar yang digunakan
dalam manajemen basis data relasional. Hampir semua server basis data yang ada
mendukung bahasa ini untuk melakukan manajemen datanya.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Johny
Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan
Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar
untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi
nama SEQUEL (Structured English Query Language). Terjadi permasalahan
mengenai penamaan SEQUEL, pada akhirnya IBM pun mengubah namanya
menjadi SQL.
Berikut ini adalah beberapa contoh bentuk deklarasi dari penggunaan basis
data SQL:
12
INTO
nama_tabel
(nama_field1,
nama_field2)
VALUES(value1, value2);
5. UPDATE nama_tabel SET nama_field = value WHERE kondisi;
6. DELETE FROM nama_tabel WHERE kondisi;
2.6. XAMPP
X (empat sistem operasi apapun) Apache, MySQL, PHP dan Pearl atau
disingkat XAMPP, adalah perangkat lunak bebas yang mendukung banyak
sistem operasi. XAMPP merupakan kompilasi dari beberapa program yang
berfungsi sebagai server yang dapat berdiri sendiri (localhost). Perangkat
lunak ini memiliki penerjemah bahasa yang ditulis menggunakan bahasa
pemrograman PHP dan Pearl. Program ini tersedia dalam GNU (General
Public license) yang mudah digunakan untuk membuat aplikasi basis data
berbasis client server.
2.6.1. Penjelasan XAMPP
1. X , Kenapa disebut dengan sistem operasi? karena XAMPP bisa
dijalankan di 4 OS besar yang sering digunakan oleh pengguna
komputer yaitu Windows, Linux, Mac OS dan Solaris.
2. A, (Apacahe) merupakan aplikasi web server. Apache ini bersifat
open source yang berarti gratis dan bisa diedit oleh penggunanya.
Tugas utama Apache adalah menghasilkan halaman web yang benar
kepada user berdasarkan kode PHP yang dituliskan oleh pembuat
halaman web. Jika diperlukan juga berdasarkan kode PHP yang
dituliskan,maka dapat saja suatu basis data diakses terlebih dahulu
(misalnya dalam MySQL) untuk mendukung halaman web yang
dihasilkan.
13
3. M,
(MySQL),
merupakan
aplikasi
server
basis
data.
MySQL
untuk
menambahkan,
mengubah,
dan
14
15
BAB III
ANALISIS DAN PERANCANGAN SISTEM
16
Mulai
Login
Master
Menu
Makan
an
Input
Nama
Makana
n
Master
Invent
ori
Master
Jenis
Diskon
Input
Bahan
Makana
n
Input
Diskon
Trans
aksi
Kasir
Lapora
n Per
Faktur
Tampil
kan
Entri
Pesana
n
Ambil
Data
Makana
n
Laporan
Form
Laporan
Cetak
Laporan
Lapor
an
Per
Item
Sistem
Manageme
nt User
Input
Data
User
Simpan
data
User
Pembaya
ran
Simpan
data
makana
n
Logout
Selesai
17
Login
Transaksi
Kasir
Entri
Pesanan
Pembayaran
Logout
Selesai
18
Tipe Data
Ukuran Keterangan
Jenis
Kunci
level
int
1,2
Id User
nama
Varchar
100
Nama
lengkap
pengguna
username
Varchar
15
Nama pengguna
Primary
key
password
Varchar
15
Kata kunci
2. Tabel Menu
Tabel menu ini berisikan informasi makanan atau minuman yang
ada berupa id, kode, nama, jumlah1, jumlah2, harga, dan kategori.
Tabel 3.2 Tabel Menu
Nama
Tipe
Ukuran Keterangan
Jenis
Field
Data
Id
Varchar
10
Id makanan/minuman
Kode
Varchar
10
kodemakanan/minuman Primary
Kunci
19
key
Nama
Varchar
100
Nama
makanan/minuman
Jumlah1
Int
10
Jumlah
makanan/minuman
Jumlah2
Int
10
Jumlah
makanan/minuman
Harga
Int
100
Harga
makanan/minuman
Kategori
Varchar
100
Kategori
makanan/minuman
Tipe Data
Ukuran Keterangan
Jenis
Kunci
Kode
Varchar
10
Kode bahan
Primary
key
Jenis
Varchar
10
Jenis bahan
Jumlah
Int
10
Jumlah bahan
Jum_ons
Int
10
Jumlah bahan
dalam ons
Mutasi
Int
10
Pemakaian
bahan
Mutasi_ons
Int
10
Pemakaian
bahan dalam ons
Sisa
Int
10
Sisa bahan
Sisa_ons
int
10
Sisa bahan
20
dalam ons
Harga_ons
Int
10
Harga bahan
dalam ons
Tipe Data
Ukuran Keterangan
Jenis
Kunci
Jenis
Varchar
100
Jenis diskon
Primary
key
Jumlah
int
Jumlah diskon
5. Tabel Pesanan
Pada tabel ini berisikan tentang hasil transaksi terhadap konsumen.
Tabel ini berisikan informasi berupa faktur, meja, kode, pesanan,
harga, jumlah, dis, diskon, keterangan, total, tanggal, jam, kasir, bayar,
kembali, grand, subtotal.
Tabel 3.5 Tabel Pesanan
Nama Field
Tipe Data
Ukuran Keterangan
Jenis
Kunci
Faktur
Varchar
10
Faktur transaksi
Meja
Varchar
10
No meja
Kode
Varchar
10
Kode transaksi
Pesanan
Varchar
100
Pesanan
yang
dipesan
Harga
Int
10
Harga transaksi
Jumlah
Int
10
Jumlah pesanan
21
Dis
Int
Jumlah
diskon
dalam %
Diskon
Int
10
Jumlah
diskon
dalam harga
Keterangan
Varchar
100
Total
Int
10
Jumlah harga
Tanggal
Varchar
20
Tanggal
transaksi
Jam
Varchar
20
Jam transaksi
Kasir
Varchar
50
Nama user
6. Tabel Log
Pada tabel ini berisikan tentang log atau daftar pemakaian aplikasi
yang dilakukan oleh user maupun admin. Isi tabel log ini berupa
tanggal, jam, kegiatan.
Tabel 3.6 Tabel Log
Nama Field
Tipe Data
Ukuran Keterangan
Jenis
Kunci
Tanggal
Varchar
20
tanggal
penggunaan
program
Jam
Varchar
20
Jam penggunaan
program
Kegiatan
Varchar
200
Kegiatan apa
saja yang terjadi
pada saat
penggunaan
program
22
LOGIN USER
USERNAME
PASSWORD
USERNAME
Gambar 2. 3 Desain Form Login
Form ini merupakan form utama yang tampil pada saat user
menjalankan program, pada form ini user nanti akan mengisikan
username dan password agar user dapat melakukan akses terhadap
program ini.
2. Desain Form Utama
Inventori
Jenis Diskon
F2
F2
F2
23
No Faktur
No Meja
Bayar
24
BAB IV
IMPLEMENTASI
dibuat
menggunakan
bahasa
25
4.3.1.Form login
26
Pada menu bar master ini terdapat 3 pilihan menu item yaitu :
1. Menu Makanan
27
2. Inventori
28
3. Jenis Diskon
29
ini
digunakan
jika
pelanggan
ingin
30
timbul
form
di
atas
user
hanya
kepada
pelanggan
setelah
penjumlahan
keseluruhan pembelian.
g. [F8] Bayar
Jika tombol ini diklik maka transaksi antara user dan
pelanggan telah selesai. Berikut tampilan form bayar.
31
4.3.2.3 Laporan
Saat user mengarahkan cursor kepada menu laporan
maka akan tampil beberapa pilihan menu antara lain :
1. Per Faktur
Jika menu ini di klik maka akan tampil laporan
transaksi namun dipisahkan menjadi per faktur seperti
pada gambar berikut.
32
3. Inventori
Jika menu ini di klik maka akan tampil laporan
inventori bahan. Formini melaporkan sisa bahan yang
masih ada maupun yang telah terpakai.
33
4.3.2.5. Help
Pada menu bar ini hanya terdapat sebuah menu item
yaitu logout. Jika kita mengklik menu logout maka akan
tampil pilihan yes dan no. Jika user memilih yes, maka user
akan keluar dari program. Jika user memilih no, maka user
akan kembali kepada tampilan form utama.
35
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan hasil pembuatan aplikasi kasir rumah makan ini, penulis
mengambil beberapa kesimpulan:
1. Untuk alasan keamanan program memiliki 2 tingkat level user
2. Sistem kasir sudah dirancang untuk mudah digunakan, karna tidak terlalu
banyak pilihan menu didalamnya terutama admin yang mengatur inputan
data.
3. Hasil akhir program sesuai dengan rancangan penulis
4. Program kasir ini memiliki kekurangan dan kelebihan antara lain :
Kelebihan :
Kekurangan :
5.2 Saran
1. Semoga program ini kedepannya dapat dikembangkan agar program
bisa menjadi multi fungsi yaitu tidak hanya fokus terhadap kasir
rumah makan saja melainkandapat merangkup menjadi program kasir
toko atau mini market.
36
37
Daftar Pustaka
[1] SyarifMulkan, 2012, Bermacam Project Java dengan IDE Netbeans,
Yogyakarta: PenerbitAndi.
[2] WahanaKomputer, 2012, MembangunAplikasiBisnisDenganNetbeans 7,
Yogyakarta: PenerbitAndi.
[3] Miftakhul Huda, 2011, MembuatAplikasi Mini/Super MarketDengan Java,
Yogyakarta: Penerbit PT Elex Media Komputindo.
[4] Irawan, 2011, Java Untuk Orang Awam, Palembang: PenerbitMaxicom.
[5] http://id.wikipedia.org/wiki/MySQL diakses, rabu 24 april pukul 13.25
[6] http://belajar-pemrograman2.blogspot.com/2010/07/apa-itu-java.html diakses,
selasa 23 april pukul 16.05
38
LAMPIRAN
39
1.
Class Login
package kasir.main;
import java.awt.Color;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.geom.RoundRectangle2D;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import kasir.sistem.Log;
import kasir.utils.Koneksi;
import kasir.utils.Meja;
public class Login extends javax.swing.JFrame {
ResultSet rs;
String nama;
String pass;
Statement stat;
boolean result;
Connection con;
int salah = 0;
MainForm mf = new MainForm();
public void login() {
nama = tf1.getText();
pass = pf1.getText();
Meja m = new Meja();
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "Select * from account where username ='" + nama + "' and password='" + pass +
"'";
result = stat.executeQuery(q).next();
if (result) {
this.dispose();
mf.show();
salah = 0;
rs = stat.executeQuery(q);
while (rs.next()) {
mf.namaOP(rs.getString(2));
mf.Master(rs.getInt(1));
Log.LogAction(day.format(d), jam.format(d), "Operator login dengan username: " +
nama + ", atas nama: " + rs.getString(2));
}
} else {
JOptionPane.showMessageDialog(this, "Username/Password salah", "",
JOptionPane.ERROR_MESSAGE);
tf1.setText("");
pf1.setText("");
//b1.requestFocus();
salah++;
if (salah == 3) {
JOptionPane.showMessageDialog(this, "Anda sudah gagal login sebanyak 3 kali. \n "
+ "program akan ditutup", "", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
} catch (Throwable t) {
System.err.println(t.toString());
}
}
public Login() {
initComponents();
this.setLocationRelativeTo(null);
}
/**
* 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();
tf1 = new javax.swing.JTextField();
pf1 = new javax.swing.JPasswordField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
tf1.setName(""); // NOI18N
tf1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tf1ActionPerformed(evt);
}
});
tf1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
tf1KeyPressed(evt);
}
});
pf1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
pf1KeyPressed(evt);
}
});
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 218,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(66, 66, 66))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(35, 35, 35)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 48,
Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void tf1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void pf1KeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
login();
}
}
private void tf1KeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
pf1.requestFocus();
}
}
/**
* @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(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Login.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 Login().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField pf1;
private javax.swing.JTextField tf1;
2.
Class Mainform
package kasir.main;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.Timer;
import kasir.master.Invbahan;
import kasir.master.Menu;
import kasir.master.NamaDiskon;
import kasir.report.Report;
import kasir.sistem.Log;
import kasir.sistem.LogForm;
import kasir.sistem.User;
import kasir.utils.Koneksi;
import kasir.utils.Meja;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.view.JasperViewer;
/**
*
* @author Handya
*/
public class MainForm extends javax.swing.JFrame {
/**
* Creates new form MainForm
*/
public static String nama_op;
int lvl;
public void namaOP(String op) {
this.nama_op = op;
Meja m = new Meja();
m.namaOP(op);
}
public void Master(int lvl) {
if (lvl == 0) {
jMenu1.setEnabled(true);
jMenu3.setEnabled(true);
jMenu4.setEnabled(true);
} else if (lvl == 1) {
jMenuItem9.setVisible(false);
} else {
jMenu1.setEnabled(false);
jMenu3.setEnabled(false);
jMenu4.setEnabled(false);
}
}
Statement stat;
ResultSet rs;
Statement st;
Statement sta;
public void resetFaktur() {
Date d = new Date();
SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");
String hari = sd.format(d);
String h = null;
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "select * from maintenance";
rs = stat.executeQuery(q);
while (rs.next()) {
h = rs.getString(1);
}
if (hari.equals(h)) {
String qu = "delete from faktur";
stat.executeUpdate(qu);
String que = "insert into faktur value('00000')";
stat.executeUpdate(que);
String quer = "delete from maintenance";
stat.executeUpdate(quer);
JOptionPane.showMessageDialog(this, "Faktur telah direset menjadi 00001");
}
} catch (Throwable t) {
t.printStackTrace();
}
}
public MainForm() {
initComponents();
this.setTitle("Form Utama");
this.setLocationRelativeTo(null);
resetFaktur();
}
/**
* 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() {
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem12 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F2
, 0));
jMenuItem1.setText("Menu makanan");
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.KeyEvent.VK_F3
, 0));
jMenuItem2.setText("Inventori");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem2);
jMenuItem12.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F
12, 0));
jMenuItem12.setText("Jenis Diskon");
jMenuItem12.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem12ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem12);
jMenuBar1.add(jMenu1);
jMenu2.setText("Transaksi");
jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4
, 0));
jMenuItem3.setText("Kasir");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
}
});
jMenu2.add(jMenuItem3);
jMenuBar1.add(jMenu2);
jMenu3.setText("Laporan");
jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5
, 0));
jMenuItem4.setText("Per faktur");
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem4ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem4);
jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F6
, 0));
jMenuItem5.setText("Per item");
jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem5ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem5);
jMenuItem13.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F
1, 0));
jMenuItem13.setText("Inventori");
jMenuItem13.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem13ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem13);
jMenuItem14.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F
10, 0));
jMenuItem14.setText("Form Laporan");
jMenuItem14.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem14ActionPerformed(evt);
}
});
jMenu3.add(jMenuItem14);
jMenuBar1.add(jMenu3);
jMenu4.setText("Sistem");
jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F7
, 0));
jMenuItem6.setText("Management User");
jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem6ActionPerformed(evt);
}
});
jMenu4.add(jMenuItem6);
jMenuItem9.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F9
, 0));
jMenuItem9.setText("Log");
jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem9ActionPerformed(evt);
}
});
jMenu4.add(jMenuItem9);
jMenuBar1.add(jMenu4);
jMenu5.setText("Help");
jMenu5.add(jSeparator2);
jMenuItem10.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F
11, 0));
jMenuItem10.setText("Logout");
jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem10ActionPerformed(evt);
}
});
jMenu5.add(jMenuItem10);
jMenuBar1.add(jMenu5);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 905, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 452, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Master -> Menu Makanan");
new Menu().show();
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Master -> Inventori");
new Invbahan().show();
}
private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {
new NamaDiskon().show();
}
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Transaksi -> Kasir");
new Meja().show();
}
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Laporan -> Per faktur");
try {
Map<String, Object> map = new HashMap<String, Object>();
map.put("Tanggal", day.format(d));
JasperPrint print = JasperFillManager.fillReport("Report/Perfaktur.jasper", map,
Koneksi.con);
JasperViewer.viewReport(print, false);
} catch (Throwable e) {
JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(e.getMessage());
}
}
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Laporan -> Per item");
try {
Map<String, Object> map = new HashMap<String, Object>();
map.put("Tanggal", day.format(d));
JasperPrint print = JasperFillManager.fillReport("Report/Peritem.jasper", map,
Koneksi.con);
JasperViewer.viewReport(print, false);
} catch (Throwable e) {
JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(e.getMessage());
}
}
private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Laporan -> Inventori");
try {
Map<String, Object> map = new HashMap<String, Object>();
map.put("Tanggal", day.format(d));
JasperPrint print = JasperFillManager.fillReport("Report/Inventori.jasper", map,
Koneksi.con);
JasperViewer.viewReport(print, false);
} catch (Throwable e) {
JOptionPane.showMessageDialog(null, e.getMessage());
System.out.println(e.getMessage());
}
}
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Sistem -> Management User");
new User().show();
}
private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka menu
Sistem -> Log");
new LogForm().show();
}
private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {
int quest = JOptionPane.showConfirmDialog(this, "Apakah anda yakin ingin logout?", "",
JOptionPane.YES_NO_OPTION);
if (quest == JOptionPane.YES_OPTION) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " logout");
dispose();
new Login().show();
}
}
private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {
new Report().show();
Date d = new Date();
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka form
laporan");
}
/**
* @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(MainForm.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(MainForm.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(MainForm.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
Class Transaksi
} catch (Throwable t) {
System.err.println(t.getMessage());
}
}
private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {
try {
int h = 0;
String q = "select count(*) from tabel_pesanan_sementara where Meja='" +
no_meja.getText() + "'";
rs = stat.executeQuery(q);
while (rs.next()) {
h = rs.getInt(1);
}
if (h == 0) {
faktur();
}
} catch (Throwable t) {
}
meja();
}
//new Meja().show();
}
private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {
nama_op = operator.getText();
try {
Map map = new HashMap();
JasperPrint print = JasperFillManager.fillReport("Report/Drawer.jasper", map,
Koneksi.con);
JasperPrintManager.printPage(print, 0, false);
} catch (Throwable t) {
t.printStackTrace();
}
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " membuka cash
drawer");
}
private void NofakturActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jenisItemStateChanged(java.awt.event.ItemEvent evt) {
if (jenis.getSelectedItem().toString().equals("")) {
Diskon.setText("0");
} else {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "select Jumlah from jenisdiskon where Jenis='" +
jenis.getSelectedItem().toString() + "'";
ResultSet rs = stat.executeQuery(q);
while (rs.next()) {
Diskon.setText(rs.getString(1));
}
} catch (Throwable t) {
}
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ok();
}
private void tSementaraMouseClicked(java.awt.event.MouseEvent evt) {
jButton3.requestFocus();
int data = tSementara.getSelectedRow();
Kode.setText((String) tSementara.getValueAt(data, 0));
Jumlah.setText((String) tSementara.getValueAt(data, 3));
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
int h = 0;
}
private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {
cetak();
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
new Diskon().show();
nama_op = operator.getText();
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jm = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jm.format(d), "Operator: " + nama_op + " memberi diskon");
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
makanan();
}
private void jButton4FocusGained(java.awt.event.FocusEvent evt) {
jButton4.setBackground(Color.GRAY);
}
private void jButton4FocusLost(java.awt.event.FocusEvent evt) {
jButton4.setBackground(new Color(190, 190, 190));
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
minuman();
}
private void jButton5FocusGained(java.awt.event.FocusEvent evt) {
jButton5.setBackground(Color.GRAY);
}
private void jButton5FocusLost(java.awt.event.FocusEvent evt) {
jButton5.setBackground(new Color(190, 190, 190));
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
lainnya();
}
private void jButton6FocusGained(java.awt.event.FocusEvent evt) {
jButton6.setBackground(Color.GRAY);
}
private void jButton6FocusLost(java.awt.event.FocusEvent evt) {
jButton6.setBackground(new Color(190, 190, 190));
}
private void tMenuMouseClicked(java.awt.event.MouseEvent evt) {
if (Nofaktur.getText().equals("00000")) {
JOptionPane.showMessageDialog(this, "Anda harus kembali ke menu utama terlebih
dahulu", "", JOptionPane.WARNING_MESSAGE);
} else {
int data = tMenu.getSelectedRow();
String kode = (String) tMenu.getValueAt(data, 0);
String nama = (String) tMenu.getValueAt(data, 1);
String q = "select * from menu where Kode='" + kode + "'";
String id = null;
try {
rs = stat.executeQuery(q);
while (rs.next()) {
id = rs.getString("id");
}
} catch (Throwable t) {
t.printStackTrace();
}
String qq = "select * from inventoribahan where Kode='" + id + "'";
int hargaO = 0;
String idd = null;
try {
rs = stat.executeQuery(qq);
while (rs.next()) {
idd = rs.getString("Kode");
hargaO = rs.getInt("harga_ons");
}
} catch (Throwable t) {
t.printStackTrace();
}
if (id.equals(idd)) {
Kode.setText(kode);
harga.setText(String.valueOf(hargaO));
} else {
Kode.setText(kode);
}
Jumlah.requestFocus();
Jumlah.selectAll();
}
}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
Bayar b = new Bayar();
// b.bayar.setRequestFocusEnabled(true);
//b.bayar.selectAll();
b.show();
dispose();
//new Meja().show();
}
/**
* @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(Transaksi.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Transaksi.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Transaksi.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Transaksi.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Transaksi().setVisible(true);
}
});
}
// Variables declaration - do not modify
Class Invbahan
package kasir.master;
import java.awt.Color;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import kasir.main.MainForm;
import kasir.sistem.Log;
import kasir.utils.Koneksi;
/**
*
* @author Handya
*/
public class Invbahan extends javax.swing.JFrame {
Statement stat;
ResultSet rs;
ResultSetMetaData rsmd;
int bar, kol;
public void init() {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "select * from inventoribahan";
rs = stat.executeQuery(q);
rsmd = rs.getMetaData();
kol = rsmd.getColumnCount();
bar = 0;
while (rs.next()) {
bar++;
}
String[] title = new String[kol];
String[][] isi = new String[bar][kol];
title[0] = "Kode";
mut = Integer.parseInt(jlhons.getText());
mutaons = Integer.parseInt(mutons.getText());
sis = Integer.parseInt(sisa.getText());
sisons = Integer.parseInt(sisaons.getText());
}
public Invbahan() {
initComponents();
this.setLocationRelativeTo(null);
init();
nol();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
kode = new javax.swing.JTextField();
jns = new javax.swing.JTextField();
jlh = new javax.swing.JTextField();
harga = new javax.swing.JTextField();
cari = new javax.swing.JTextField();
jlhons = new javax.swing.JTextField();
mutasi = new javax.swing.JTextField();
mutons = new javax.swing.JTextField();
sisa = new javax.swing.JTextField();
sisaons = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jTable1.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 [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);
jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton1.setText("Tambah");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton2.setText("Hapus");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton3.setText("Ubah");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton5.setText("Reset");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jButton4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton4.setText("Hapus Semua");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel1.setText("Kode");
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel2.setText("Jenis Bahan");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel3.setText("Jumlah");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel4.setText("Jumlah (ons)");
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel5.setText("Mutasi");
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel6.setText("Mutasi (ons)");
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel7.setText("Sisa");
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel8.setText("Sisa (ons)");
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel10.setText("Harga/ons");
jLabel9.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel9.setText("Pencarian");
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(24, 24, 24)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jLabel4)
.addComponent(jLabel2)
.addComponent(jLabel1)
.addComponent(jLabel3))
.addGap(24, 24, 24)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jns, javax.swing.GroupLayout.DEFAULT_SIZE, 59,
Short.MAX_VALUE)
.addComponent(jlh)
.addComponent(kode)
.addComponent(jlhons))
.addGap(85, 85, 85)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel7)
.addGap(53, 53, 53))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel5)
.addComponent(jlhons, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(sisaons, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
int data = jTable1.getSelectedRow();
kode.setText((String) jTable1.getValueAt(data, 0));
jns.setText((String) jTable1.getValueAt(data, 1));
jlh.setText((String) jTable1.getValueAt(data, 2));
mutasi.setText((String) jTable1.getValueAt(data, 3));
jlhons.setText((String) jTable1.getValueAt(data, 4));
mutons.setText((String) jTable1.getValueAt(data, 5));
sisa.setText((String) jTable1.getValueAt(data, 6));
sisaons.setText((String) jTable1.getValueAt(data, 7));
harga.setText((String) jTable1.getValueAt(data, 8));
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
kd = kode.getText();
jen = jns.getText();
jum = Integer.parseInt(jlh.getText());
jumons = Integer.parseInt(jlhons.getText());
mut = Integer.parseInt(mutasi.getText());
mutaons = Integer.parseInt(mutons.getText());
sis = Integer.parseInt(sisa.getText());
sisons = Integer.parseInt(sisaons.getText());
hrg = Integer.parseInt(harga.getText());
String q = "insert into inventoribahan values('" + kd + "','" + jen + "'," + jum + "," + jumons
+ "," + mut
+ "," + mutaons + "," + sis + "," + sisons + "," + hrg + ")";
stat.executeUpdate(q);
init();
Date d = new Date();
java.util.logging.Logger.getLogger(Invbahan.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Invbahan.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Invbahan.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Invbahan.class.getName()).log(java.util.logging.Level.SEVER
E, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Invbahan().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField cari;
private javax.swing.JTextField harga;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jlh;
private javax.swing.JTextField jlhons;
private javax.swing.JTextField jns;
private javax.swing.JTextField kode;
private javax.swing.JTextField mutasi;
private javax.swing.JTextField mutons;
private javax.swing.JTextField sisa;
private javax.swing.JTextField sisaons;
5.
Class Menu
package kasir.master;
import java.awt.Image;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import kasir.main.MainForm;
import kasir.sistem.Log;
import kasir.utils.Koneksi;
/**
*
* @author Handya
*/
public class Menu extends javax.swing.JFrame {
/**
* Creates new form Menu
*/
Statement stat;
ResultSet rs;
ResultSetMetaData rsmd;
int bar, kol;
public void init() {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "select * from menu";
rs = stat.executeQuery(q);
rsmd = rs.getMetaData();
kol = rsmd.getColumnCount();
bar = 0;
while (rs.next()) {
bar++;
}
String[] title = new String[kol];
String[][] isi = new String[bar][kol];
for (int i = 0; i < kol; i++) {
title[i] = rsmd.getColumnName(i + 1);
}
int a = 0;
rs = stat.executeQuery(q);
while (rs.next()) {
for (int i = 0; i < kol; i++) {
isi[a][i] = rs.getString(i + 1);
}
a++;
}
jTable1.setModel(new DefaultTableModel(isi, title));
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTable1.getColumnModel().getColumn(0).setPreferredWidth(65);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(70);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(450);
jTable1.getColumnModel().getColumn(3).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(4).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(5).setPreferredWidth(147);
jTable1.getColumnModel().getColumn(6).setPreferredWidth(148);
jTable1.setShowGrid(true);
jTable1.setRowHeight(22);
} catch (Throwable t) {
System.err.println(t.getMessage());
}
}
public void jumlahMeja() {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "select * from meja";
rs = stat.executeQuery(q);
while (rs.next()) {
tMeja.setText(rs.getString(1));
}
} catch (Throwable t) {
System.err.println(t.getMessage());
}
}
String kd, idd;
String nm;
int hr, j1, j2;
String kat;
public void data() {
kd = kode.getText();
nm = nama.getText();
hr = Integer.parseInt(harga.getText());
kat = kategori.getSelectedItem().toString();
idd = id.getText();
j1 = Integer.parseInt(jlh1.getText());
j2 = Integer.parseInt(jlh2.getText());
}
public void clear() {
kode.setText("");
nama.setText("");
harga.setText("");
cari.setText("");
jlh1.setText("0");
jlh2.setText("0");
id.setText("");
}
public void validasi() {
if (kode.getText().isEmpty() || nama.getText().isEmpty() || harga.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Field tidak boleh kosong", "",
JOptionPane.WARNING_MESSAGE);
}
}
public Menu() {
initComponents();
this.setLocationRelativeTo(null);
jumlahMeja();
init();
}
String nama_op = MainForm.nama_op;
/**
* 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() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jLabel7 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
kategori = new javax.swing.JComboBox();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jCheckBox1 = new javax.swing.JCheckBox();
bMeja = new javax.swing.JButton();
cari = new javax.swing.JTextField();
kode = new javax.swing.JTextField();
jlh2 = new javax.swing.JTextField();
jlh1 = new javax.swing.JTextField();
nama = new javax.swing.JTextField();
id = new javax.swing.JTextField();
harga = new javax.swing.JTextField();
tMeja = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jTable1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
jButton5.setText("Hapus Semua");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel7.setText("Id");
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel1.setText("Kode");
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setText("Nama menu");
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel8.setText("Jumlah1");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel3.setText("Kategori");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setText("Harga");
jLabel9.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel9.setText("Jumlah2");
kategori.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
kategori.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Makanan",
"Minuman", "Lainnya" }));
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel5.setText("Pencarian");
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jLabel6.setText("Apakah anda ingin mengubah jumlah meja?");
jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBox1ActionPerformed(evt);
}
});
bMeja.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
bMeja.setText("Simpan");
bMeja.setEnabled(false);
bMeja.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bMejaActionPerformed(evt);
}
});
cari.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
cariKeyTyped(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()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1014,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(8, 8, 8)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel8)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(kode, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jlh1, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(id, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(58, 58, 58)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jLabel9)
.addComponent(jLabel3))
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(kategori, javax.swing.GroupLayout.PREFERRED_SIZE,
158, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jlh2, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(harga, javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(54, 54, 54)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jCheckBox1)
.addGap(18, 18, 18)
.addComponent(tMeja, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(33, 33, 33)
.addComponent(bMeja))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 77,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(56, 56, 56)
.addComponent(cari, javax.swing.GroupLayout.PREFERRED_SIZE, 133,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel6)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 410,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(jLabel9)
.addComponent(jLabel5)
.addComponent(jlh2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cari, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(id, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel4)
.addComponent(harga, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(8, 8, 8)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(kategori, javax.swing.GroupLayout.PREFERRED_SIZE,
29, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addComponent(kode, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel8)
.addComponent(jlh1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(jLabel6)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tMeja, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bMeja)))))
.addContainerGap(50, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
id.requestFocus();
int data = jTable1.getSelectedRow();
id.setText((String) jTable1.getValueAt(data, 0));
nama.setText((String) jTable1.getValueAt(data, 1));
nama.setText((String) jTable1.getValueAt(data, 2));
jlh1.setText((String) jTable1.getValueAt(data, 3));
jlh2.setText((String) jTable1.getValueAt(data, 4));
harga.setText((String) jTable1.getValueAt(data, 5));
kategori.setSelectedItem((String) jTable1.getValueAt(data, 6));
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " menambah menu
makanan");
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
data();
String q = "insert into menu values('" + idd + "','" + kd + "','" + nm + "'," + j1 + "," + j2 + ","
+ hr + ",'" + kat + "')";
stat.executeUpdate(q);
init();
clear();
} catch (Throwable t) {
JOptionPane.showMessageDialog(this, "Menu gagal ditambah\n" + t.getMessage(), "",
JOptionPane.ERROR_MESSAGE);
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
if (nama.getText().isEmpty() || nama.getText().isEmpty() || harga.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Field tidak boleh kosong", "",
JOptionPane.WARNING_MESSAGE);
} else {
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " menghapus menu
makanan");
data();
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "delete from menu where kode='" + kd + "'";
stat.executeUpdate(q);
init();
clear();
} catch (Throwable t) {
bar = 0;
while (rs.next()) {
bar++;
}
String[] title = new String[kol];
String[][] isi = new String[bar][kol];
for (int i = 0; i < kol; i++) {
title[i] = rsmd.getColumnName(i + 1);
}
int a = 0;
rs = stat.executeQuery(q);
while (rs.next()) {
for (int i = 0; i < kol; i++) {
isi[a][i] = rs.getString(i + 1);
}
a++;
}
jTable1.setModel(new DefaultTableModel(isi, title));
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTable1.getColumnModel().getColumn(0).setPreferredWidth(65);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(70);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(450);
jTable1.getColumnModel().getColumn(3).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(4).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(5).setPreferredWidth(147);
jTable1.getColumnModel().getColumn(6).setPreferredWidth(148);
jTable1.setShowGrid(true);
jTable1.setRowHeight(22);
} catch (Throwable t) {
System.err.println(t.getMessage());
}
}
/**
* @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(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Menu.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 Menu().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton bMeja;
private javax.swing.JTextField cari;
private javax.swing.JTextField harga;
private javax.swing.JTextField id;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JCheckBox jCheckBox1;
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.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jlh1;
private javax.swing.JTextField jlh2;
private javax.swing.JComboBox kategori;
private javax.swing.JTextField kode;
private javax.swing.JTextField nama;
private javax.swing.JTextField tMeja;
6.
Class User
package kasir.sistem;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import kasir.main.MainForm;
import kasir.utils.Koneksi;
/**
*
* @author Handya
*/
public class User extends javax.swing.JFrame {
/**
* Creates new form User
*/
Statement stat;
ResultSet rs;
ResultSetMetaData rsmd;
int bar, kol;
public void init() {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "select * from account where Level=1 or Level=2 order by level";
rs = stat.executeQuery(q);
rsmd = rs.getMetaData();
kol = rsmd.getColumnCount();
bar = 0;
while (rs.next()) {
bar++;
}
String[] title = new String[kol];
String[][] isi = new String[bar][kol];
title[0] = "Level";
title[1] = "Nama";
title[2] = "Username";
title[3] = "Password";
int a = 0;
rs = stat.executeQuery(q);
while (rs.next()) {
for (int i = 0; i < kol; i++) {
isi[a][i] = rs.getString(i + 1);
}
a++;
}
jTable1.setModel(new DefaultTableModel(isi, title));
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTable1.getColumnModel().getColumn(0).setPreferredWidth(50);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(235);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(235);
jTable1.getColumnModel().getColumn(3).setPreferredWidth(235);
jTable1.setRowHeight(22);
} catch (Throwable t) {
System.err.println(t.getMessage());
}
}
int lvl;
String nama, un, ps;
public void data() {
lvl = Integer.parseInt(jComboBox1.getSelectedItem().toString());
nama = nm.getText();
un = user.getText();
ps = pass.getText();
}
public void clear() {
jComboBox1.setSelectedIndex(0);
nm.setText("");
pass.setText("");
user.setText("");
}
public User() {
initComponents();
this.setLocationRelativeTo(null);
init();
}
/**
* 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() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
nm = new javax.swing.JTextField();
user = new javax.swing.JTextField();
pass = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jTable1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.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 [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);
jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton1.setText("Tambah");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton2.setText("Hapus");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton3.setText("Ubah");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton4.setText("Baru");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jButton5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton5.setText("Hapus Semua");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel1.setText("Level
:");
jComboBox1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2" }));
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setText("Nama
:");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel3.setText("Username :");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setText("Password :");
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()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 697,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))))
.addGroup(layout.createSequentialGroup()
.addGap(175, 175, 175)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 78,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 69,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nm, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(user, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pass, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 228,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(nm, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(user, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(pass, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(15, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
String nama_op = MainForm.nama_op;
}
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
data();
if (nm.getText().isEmpty() || user.getText().isEmpty() || pass.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Gagal mengubah data \n Field tidak boleh kosong",
"", JOptionPane.WARNING_MESSAGE);
} else {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "update account set level =" + lvl + ", username='" + un + "', password='" + ps
+ "' where nama='" + nama + "'";
stat.executeUpdate(q);
init();
clear();
JOptionPane.showMessageDialog(this, "Data berhasil diubah");
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " mengubah data
pengguna");
} catch (Throwable t) {
t.printStackTrace();
}
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
clear();
nm.setRequestFocusEnabled(true);
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
int quest = JOptionPane.showConfirmDialog(this, "Apakah anda yakin ingin mengosongkan
tabel?", "", JOptionPane.YES_NO_OPTION);
if (quest == JOptionPane.YES_OPTION) {
try {
Koneksi.Connection();
stat = Koneksi.con.createStatement();
String q = "delete from account where level=1 or level=2";
stat.executeUpdate(q);
init();
JOptionPane.showMessageDialog(this, "Tabel berhasil dikosongkan");
Date d = new Date();
SimpleDateFormat day = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat jam = new SimpleDateFormat("HH:mm:ss");
Log.LogAction(day.format(d), jam.format(d), "Operator: " + nama_op + " menghapus
semua data pengguna");
} catch (Throwable t) {
}
}
}
/**
* @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(User.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(User.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(User.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(User.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 User().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;