2
1.1. Spesifikasi Hardware Dan Software
A. Umum
Suatu sistem yang baik tidak akan berhasil dengan baik apabila
tidak didukung oleh sarana pendukung yang baik. Dalam pembuatan
suatu sistem yang terkomputerisasi dibutuhkan beberapa persiapan,
baik dalam perangkat keras
maupun perangkat lunak sebagai suatu pendukung untuk
menjalankan suatu program.
Sebagaimana yang telah diketahui bersama sarana yang baik
adalah sarana yang diusulkan mempunyai kemampuan yang cukup
dan kecepatan proses yang memadai. Karena dengan sarana yang
memadai secara otomatis akan mendapat hasil yang baik. Spesifikasi
sistem komputer adalah seperangkat komputer yang membantu dalam
menyelesaikan pekerjaan.
B. Perangkat Keras (Hardware)
Perangkat Keras (Hardware) merupakan seluruh perangkat
komputer yang dapat dilihat secara fisik atau dapat diraba secara nyata
yang berfungsi untuk mendukung proses komputerisasi dan saling
bekerja sama untuk mencapai tujuan dalam sistem komputer. Sebagai
sarana pendukung dalam website ini, penulis akan menjabarkan
perangkat keras (hardware) dan perangkat lunak (software) yang
dibutuhkan yaitu:
1. Monitor : 14 Inch
2. Processor : Intel Celeron N4000 (4 MB cache 2.60 GHz)
3. Memory : 4 GB DDR4 2133MHz
3
4. Harddisk : 1 TB
5. Keyboard : 108 Keys
6. Printer : Hp desk jet
7. Mouse : PS/2
C. Perangkat Lunak (Software)
Perangkat Lunak (Software) adalah sekumpulan data elektronik
yang disimpan dan diatur oleh komputer, data elektronik yang
disimpan oleh komputer itu dapat berupa program atau intruksi yang
akan menjalakan suatu perintah.
Perangkat lunak yang dibutuhkan untuk menjalankan aplikasi
program system inventory gudang PT. Asno Horie Indonesia yaitu:
1. Sistem Operasi : Microsoft Windows 10 Ultimate
2. Bahasa Pemrograman : Java
3. Software : Netbeans IDE 8.2
4
PERANCANGAN APLIKASI
SISTEM INVENTORY APLIKASI GUDANG
2.1 Rancangan data Base
2.1.1 Menjalankan aplikasi Xampp
1. Klik 2x logo aplikasi XAMPP Control Panel.
Gambar 2.1 Logo Xampp
2. Muncul jendela XAMPP Control Panel – Klik tombol Start Apache –klik
tombol Start MySQL
Gambar 2.2 Tampilan menu utama xampp
3. Klik tombol Admin MySQL
5
Gambar 2.3 Tampilan menu utama xampp
2.1.2 Membuat Data Base
Disini anda akan membuat database yang bernama inventory_db,
pada dasarnya nama database itu terserah anda tetapi agar tidak bingung
nanti disaat pembuatan codingannya disarankan membuat nama
databasenya sama dengan yang dicontoh seperti berikut.
1. Membuat Data Base inventory_db
- Klik Tab Basis data
Gambar 2.4 Menu utama database
- Ketik nama database inventory_db- klik tombol Buat
6
Gambar 2.5 file name database
2. Membuat table inventory
- Klik inventory_db
Gambar 2.6 File name database
7
2.1 Ketik tb_user – ketik 5 – klik tombol Kirim
Gambar 2.7 membuat table user
- Klik Field tabel tb_user
Gambar 2.8 table user
Field Type Length Keterangan
id_user Varchar 30 Primary Key
nm_user Varchar 20
Password Text
Level Varchar 15
foto longblob
- Untuk membuat field tb_user menjadi Primary Key, klik lambang
Kunci Utama
8
Gambar 2.9 table user
2.2 Ketik tb_barang – ketik 4 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat table tb_user )
Field Type Length Keterangan
kd_brg Varchar 15 Primary Key
nm_kategori Varchar 20
nm_brg Varchar 20
stok Int 3
- Untuk membuat field tb_barang menjadi Primary Key, klik lambang
Kunci Utama
Gambar 2.10 table barang
2.3 Ketik tb_kategori – ketik 2 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
9
Field Type Length Keterangan
id_kategori Varchar 15
nm_kategori Varchar 20
Gambar 2.11 tabel kategori
2.4 Ketik tb_penerimaan_barang – ketik 3 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
invoice Varchar 20 Primary Key
tgl_penerimaan Date
id_user Varchar 30
- Untuk membuat field tb_penerimaan_barang menjadi Primary Key,
klik lambang Kunci Utama
Gambar 2.12 tabel penerimaan
2.5 Ketik tb_detail_penerimaan – ketik 3 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
10
Field Type Length Keterangan
invoice Varchar 20
kd_brg Varchar 15
jml Int 3
Gambar 2.13 abel detail penerimaan
2.6 Ketik tb_sementara_penerimaan – ketik 4 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
kd_brg Varchar 15
nm_kategori Varchar 20
nm_brg Varchar 20
jml Int 3
Gambar 2.14 tabel sementara penerimaan
2.7 Ketik tb_pengeluaran_ barang – ketik 3 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
id_keluar Varchar 20 Primary Key
tgl_pengeluaran Date
11
id_user Varchar 30
- Untuk membuat field tb_pengeluaran_barang menjadi Primary Key,
klik lambang Kunci Utama
Gambar 2.15 tabel pengeluaran barang
2.8 Ketik tb_detail_pengeluaran – ketik 3 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
id_keluar Varchar 20
kd_brg Varchar 15
jml Int 3
Gambar 2.16 tabel detail pengeluaran
2.9 Ketik tb_sementara_pengeluaran – ketik 4 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
kd_brg Varchar 15
nm_kategori Varchar 20
nm_brg Varchar 20
12
jml Int 3
Gambar 2.17 tabel sementara pengeluaran
3.0 Ketik tb_order_inventory – ketik 3 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
id_order Varchar 20
tgl_order Date
id_user Varchar 30
Gambar 2.18 tabel order inventory
3.1 Ketik tb_detail_orderinventory – ketik 3 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
id_order Varchar 20
kd_brg Varchar 15
jml_order Int 3
13
Gambar 2.19 tabel detail order inventory
3.2 Ketik tb_sementara_orderinventory – ketik 4 – klik tombol Kirim
( Lakukan proses yang sama pada saat membuat tabel tb_user )
Field Type Length Keterangan
kd_brg Varchar 15
nm_kategori Varchar 20
nm_brg Varchar 20
Jml_order Int 3
Gambar 2.20 tabel sementara order inventory
2.2. Rancangan Form Master
1. Buka Program Aplikasi Netbeans, siapkan folder untuk menyimpan
project File → New Project
14
Gambar 2.21 tampilan menu java
2. Next
Gambar 2.22 tampilan menu java
a) Isi Project Name : gudang
b) Pilih Tempat Penyimpanan <Browse…>
c) Finish
3. Membuat Package
Hilangkan Tanda
Checklist
15
√ Klik kanan pada Project –
New – JavaPackage
√ Beri Package dengan
nama : gudang
√ Finish
Gambar 2.23 membuat java package
Gambar 2.24 file name java package
2.2.1. Membuat Class Koneksi
Class Koneksi digunakan sebagai penghubung antar database dengan
form aplikasi yang kita buat dalam netbeans.
Langkah – langkahnya adalah sebagai berikut :
1. Klik kanan pada package gudang-New-Java Class
2. Beri nama class dengan nama : koneksi
Package : gudang
16
Finish
Gambar 2.25 membuat java class
Gambar 2.26 file name java class
3. Ketik Scrip method-method dibawah ini :
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
17
package gudang;
import java.sql.*;
import javax.swing.JOptionPane;
/**
*
* @author Pannugroho
*/
public class koneksi {
Connection connec;
Statement st;
ResultSet rs;
public Connection setkoneksi()
{
try{
Class.forName("com.mysql.jdbc.Driver");
connec=DriverManager.getConnection("jdbc:mysql://localhost/inventory_db","ro
ot","") ;
st=connec.createStatement();
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Koneksi Gagal : " +e);
}
return connec;
}
PreparedStatement prepareStatment(String string) {
throw new UnsupportedOperationException("Not supported yet."); //To
change body of generated methods, choose Tools | Templates.
18
}
}
4. Tambahan Liberaries untuk bisa terhubung ke database
Klik kanan pada libraries-Add Libraries-Pilih MySQL JDBC Driver-Add
Library
2.2.2. Membuat Form Menu Utama
Dalam studi kasus perpustakaan ini, penulis menggunakan 2 akses
level, yaitu level sebagai admin, dan akses sebagai anggota. Adapun ruang
lingkup akses level adalah sebagai berikut :
Akses Level Ruang Lingkup
Admin File ( Ganti Password )
Master ( Barang, User, Kategori )
Laporan ( Lap.Barang, Lap.User, Lap. Transaksi )
Data ( Barang, Stok Barang Minimal )
User File ( Ganti Password )
Transaksi ( Barang Masuk, Barang Keluar )
Laporan ( Lap.Barang, Lap.Barang Masuk, Lap.Barang
Keluar )
Data ( Barang, Stok Barang Minimal
Untuk membedakan akses level tersebut, salah satu cara yang bisa dilakukan
adalah dengan membuat 2 form menu utama. Menu pertama untuk Admin, menu
lainnya untuk level User.
19
Akses Level Admin
Gambar 2.27 menu utama admin
Akses Level User
Gambar 2.28 menu utama user
20
A. Membuat Menu Utama Level Admin
Desain Tampilan Level Admin :
File Master Laporan Data
LogOut
Ganti
Password
Keluar
Barang
User
Kategori
Lap.Barang
Lap.User
Lap.Transaksi
Barang
Stok Barang
Minimal
Langkah-langkah dalam pembuatan Menu Utama untuk level Admin
adalah sebagai berikut :
1. Klik kanan pada package gudang – New – jFrame Form
2. Isi Clase Name : Form_MenuUtamaAdmin – Finish
Gambar 2.29 membuat JFrame from
21
Gambar 2.30 membuat JFrame baru
3. Tambahkan Komponen jMenu Bar pada Form
Gambar 2.31 menu bar JFrame
4. Tambahkan 2 Menu Item sebagai sub menu, dengan cara :
Klik kanan pada menu File – Add From Palette – Menu Item
22
Gambar 2.32 menambahkan menu bar
5. Klik kanan pada jMenuItem1 – Edit Text – Ketik LogOut
6. Klik kanan pada jMenuItem1 – Change Variable Name – mnlogout
Gambar 2.33 merubah variable name menubar
23
7. Lakukan langkah 7 dengan mengatur jMenuItem2 menjadi :
Edit Text=Ganti Password
Change Variabel Name=mngantipassword
8. Lakukan langkah 8 dengan mengatur jMenuItem3 menjadi :
Edit Text=Keluar
Change Variabel Name=mnkeluar
9. Klik kanan pada menu Master – Add Form Palette – Menu Item
Gambar 2.34 Menambah sub menu bar
10. Tambahkan 3 Menu Item dengan cara yang sama seperti langkah no.4,
dengan pengaturan sebagai berikut :
jMenuItem1, Edit Text=Barang, Change Variabel Name=mnbarang
jMenuItem2, Edit Text=User, Change Variabel Name=mnuser
jMenuItem3, Edit Text=Kategori, Change Variabel Name=mnkategori
24
Gambar 2.35 sub menu bar
11. Untuk membuat menubar baru (transaksi) silakan klik kanan pada
jMenuBar1 – AddMenu
Gambar 2.36 menambahkan menu bar
Silakan atur jMenu3 sebagai berikut :
Edit Text=Transaksi, Change Variable Name=nmTransaksi
25
12. Lakukan hal yang sama seperti langkah diatas untuk membuat menu
Laporan dan Data, dengan ketentuan berikut :
Komponen Properties
jMenu3 Edit Text : Transaksi
jMenuItem1 Edit Text : Barang Masuk
Change Variable Name : jbarang_masuk
JMenuItem2 Edit Text : Barang Keluar
Change Variable Name : jbarang_keluar
jMenu4 Edit Text : Laporan
jMenuItem1 Edit Text : Laporan Barang
Change Variable Name : mnlapbrg
JMenuItem2 Edit Text : Laporan User
Change Variable Name : mnlapuser
JMenuItem3 Edit Text : Laporan Transaksi
Change Variable Name : mnlaporder
JMenuItem4 Edit Text : Laporan Barang Masuk
Change Variable Name : mnLapBrgMsk
JMenuItem5 Edit Text : Laporan Barang Keluar
Change Variable Name : mnLapBrgKlr
jMenu5 Edit Text : Data
jMenuItem1 Edit Text : Data Barang
Change Variable Name : jdata_ barang
26
JMenuItem2 Edit Text : Stok Barang Minimal
Change Variable Name : jstok_min
jLabel1 Change Variable Name : Inama
jLabel2 Change Variable Name : Ikode
jLabel3 Change Variable Name : Ilevel
jLabel4 Change Variable Name : foto2
jLabel5 Change Variable Name : clock
jLabel6 Change Variable Name : date
13. Hasil Akhir dari Menu Utama Level Admin
Gambar 2.37 menu utama admin
27
14. Ketik sript koneksi dan pembuatan Variable seperti dibawah ini :
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
28
import java.util.HashMap;
import javax.swing.ImageIcon;
import javax.swing.Timer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;/**
*
* @author Pannugroho
*/
public class Form_MenuUtamaAdmin extends javax.swing.JFrame {
koneksi kon = new koneksi();
Connection connec;
PreparedStatement psmnt = null;
ImageIcon format;
ResultSet rs;
/**
* Creates new form Form_MenuUtamaAdmin
*/
29
public Form_MenuUtamaAdmin() {
initComponents();
public Form_MenuUtamaAdmin() {
initComponents();
setTanggal();
setJam();
kon.setkoneksi();
}
public String kode;
public String Level;
public String NamaUser;
public String getKodeUser()
{
return kode;
}
public String getNamaUser()
{
return NamaUser;
30
}
public String getLevel()
{
return Level;
}
public void setTanggal(){
java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal = new
java.text.SimpleDateFormat("dd MMMM yyyy");
date.setText(kal.format(skrg));
}
public void setJam(){
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
String nol_jam = "", nol_menit = "",nol_detik = "";
31
java.util.Date dateTime = new java.util.Date();
int nilai_jam = dateTime.getHours();
int nilai_menit = dateTime.getMinutes();
int nilai_detik = dateTime.getSeconds();
if(nilai_jam <= 9) nol_jam= "0";
if(nilai_menit <= 9) nol_menit= "0";
if(nilai_detik <= 9) nol_detik= "0";
String waktu = nol_jam + Integer.toString(nilai_jam);
String menit = nol_menit + Integer.toString(nilai_menit);
String detik = nol_detik + Integer.toString(nilai_detik);
clock.setText(waktu+":"+menit+":"+detik+"");
}
};
new Timer(1000, taskPerformer).start();
32
}
private void getfoto()
{
try{
Class.forName("com.mysql.jdbc.Driver");
connec =
DriverManager.getConnection("jdbc:mysql://localhost/inventory_db","root","");
String query = "select * from tb_user where id_user like '%"
+Ikode.getText()+ "%' ";
psmnt = connec.prepareStatement(query);
rs=psmnt.executeQuery();
if(rs.next())
{
byte[] imagedata=rs.getBytes(5);
format=new ImageIcon(imagedata);
foto2.setIcon(format);
}
else
33
{
JOptionPane.showMessageDialog(this, " Data Tidak ditemukan");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* 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.
*/
34
15. Klik kanan pada jForm, pilih Event – Window – windowActivated, ketik
script
private void formWindowActivated(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
Inama.setText(NamaUser);
Ikode.setText(kode);
Ilevel.setText(Level);
getfoto();
}
16. Klik kanan pada mnlogout, pilih Event – Action –
ActionPerformed, ketik script
private void mnLogoutActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
Form_Login login = new Form_Login();
login.setLocationRelativeTo(null);
login.setVisible(true);
}
17. Klik kanan pada mngantipassword, pilih Event – Action –
ActionPerformed, ketik Script
private void mnGantipasswordActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
Form_Ganti_Password gantipass = new Form_Ganti_Password();
gantipass.setLocationRelativeTo(null);
gantipass.setVisible(true);
35
gantipass.Kode_User=Ikode.getText();
}
18. Klik kanan pada mnkeluar, pilih Event – Action –
ActionPerformed, ketik Script
private void mnKeluarActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
System.exit(0);
}
19. Klik kanan pada mnbarang, pilih Event – Action – ActionPerformed,
ketik Script
private void mnBarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Master_Barang barang = new Form_Master_Barang();
barang.setLocationRelativeTo(null);
barang.setVisible(true);
}
20. Klik kanan pada mnuser, pilih Event – Action – ActionPerformed, ketik
Script
private void mnUserActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Master_User user = new Form_Master_User();
user.setLocationRelativeTo(null);
user.setVisible(true);
}
21. Klik kanan pada mnkategori, pilih Event – Action – ActionPerformed,
ketik Script
36
private void mnKategoriActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Master_Kategori Kategori = new Form_Master_Kategori();
Kategori.setLocationRelativeTo(null);
Kategori.setVisible(true);
}
22. Klik kanan pada mnlapbarang, pilih Event – Action –
ActionPerformed, ketik Script
private void mnLapbarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String path="src/gudang/Laporan_Barang.jasper";
HashMap parameter = new HashMap();
JasperPrint print =
JasperFillManager.fillReport(path,parameter,kon.setkoneksi());
JasperViewer.viewReport(print, false);
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
23. Klik kanan pada mnlapuser, pilih Event – Action –
ActionPerformed, ketik Script
private void mnLapuserActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String path="src/gudang/Laporan_User.jasper";
HashMap parameter = new HashMap();
37
JasperPrint print =
JasperFillManager.fillReport(path,parameter,kon.setkoneksi());
JasperViewer.viewReport(print, false);
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
24. Klik kanan pada mnlaporder, pilih Event – Action – ActionPerformed,
ketik Script
private void mnLapOrderActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Laporan_TransaksiPeriode Laporan_Order = new
Form_Laporan_TransaksiPeriode();
Laporan_Order.setLocationRelativeTo(null);
Laporan_Order.setVisible(true);
}
25. Klik kanan pada jdata_barang, pilih Event – Action – ActionPerformed,
ketik Script
private void jdata_barangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Data_Barang2 DB = new Form_Data_Barang2(this,
rootPaneCheckingEnabled);
DB.setLocationRelativeTo(null);
DB.setVisible(true);
}
26. Klik kanan pada jstok_min, pilih Event – Action – ActionPerformed,
ketik Script
38
private void jstok_minActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Stok_Barang_Minimal DB = new Form_Stok_Barang_Minimal(this,
rootPaneCheckingEnabled);
DB.setLocationRelativeTo(null);
DB.setVisible(true);
}
27. Klik kanan pada foto2, pilih Event – Action – ActionPerformed, ketik
Script
private void foto2AncestorMoved(javax.swing.event.AncestorEvent evt) {
// TODO add your handling code here:
}
2.2.3. Membuat Menu Utama User
Untuk membuat Menu Utama User silakan anda ikuti langkah-
langkah seperti membuat menu utama level admin. Rancangan menu
untuk user adalah sebagai berikut :
Sistem Transaksi Laporan Laporan
LogOut
Ganti
Password
Barang Masuk
Barang Keluar
Lap.Barang
Lap.Barang Masuk
Lap.Barang Keluar
Lap. Transaksi
Lap. Data Buku
Lap. Data Anggota
Beri nama untuk form tersebut : Form_MenuUtamaUser
39
Langkah-langkah dalam pembuatan Menu Utama untuk User adalah sebagai
berikut :
1. Klik kanan pada package gudang – New – jFrame Form
2. Isi Clase Name : Form_MenuUtamaUser – Finish
Gambar 2.38 menambahkan JFrame baru
3. Tambahkan Komponen jMenu Bar pada Form
40
Gambar 2.39 Menambahkan menu bar
4. Tambahkan 3 Menu Item sebagai sub menu, dengan cara :
Klik kanan pada menu File – Add From Palette – Menu Item
Gambar 2.40 menambahkan sub menu bar
5. Klik kanan pada jMenuItem1 – Edit Text – Ketik LogOut
6. Klik kanan pada jMenuItem1 – Change Variable Name – mnlogout
41
Gambar 2.41 Merubah variable name sub menu bar
7. Lakukan langkah 7 dengan mengatur jMenuItem2 menjadi :
Edit Text=Ganti Password
Change Variabel Name=mngantipassword
8. Lakukan langkah 8 dengan mengatur jMenuItem3 menjadi :
Edit Text=Keluar
Change Variabel Name=mnkeluar
9. Klik kanan pada menu Transaksi – Add Form Palette – Menu Item
42
Gambar 2.42 menambahkan menu bar
10. Tambahkan 2 Menu Item dengan cara yang sama seperti langkah no.4,
dengan pengaturan sebagai berikut :
jMenuItem1, Edit Text=Barang Masuk, Change Variabel
Name=jbarang_masuk
jMenuItem2, Edit Text=Barang Keluar, Change Variabel
Name=jbarang_keluar
Gambar 2.43 tampilan menu transaksi
11. Untuk membuat menubar baru (Laporan) silakan klik kanan pada
jMenuBar1 – AddMenu
43
Gambar 2.44 menambhakn menu bar
Silakan atur jMenu3 sebagai berikut :
Edit Text=Laporan, Change Variable Name=mnlaporan
12. Lakukan hal yang sama seperti langkah diatas untuk membuat menu
Laporan, dengan ketentuan berikut :
Komponen Properties
jMenu3 Edit Text : Laporan
jMenuItem1 Edit Text : Laporan Barang
Change Variable Name : mnlapbarang
jMenuItem2 Edit Text : Laporan Barang Masuk
Change Variable Name : mnlapbrgmsk
jMenuItem3 Edit Text : Laporan Barang Keluar
Change Variable Name : mnlapbrgklr
jMenu4 Edit Text : Data
jMenuItem1 Edit Text : Data Barang
Change Variable Name : jdata_barang
44
JMenuItem2 Edit Text : Stok Barang Minimal
Change Variable Name : jstok_min
jLabel1 Change Variable Name : Ilevel
jLabel2 Change Variable Name : Ikode
jLabel3 Change Variable Name : Inama
jLabel4 Change Variable Name : clock1
jLabel5 Change Variable Name : Tidak Dirubah
jLabel6 Change Variable Name : Tidak Dirubah
jLabel7 Change Variable Name : date2
jLabel8 Change Variable Name : foto2
13. Hasil Akhir dari Menu Utama Level User
Gambar 2.45 menu utama user
14. Ketik sript koneksi dan pembuatan Variable seperti dibawah ini :
45
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import java.util.HashMap;
import javax.swing.ImageIcon;
import javax.swing.Timer;
/**
*
* @author Pannugroho
*/
public class Form_MenuUtamaUser extends javax.swing.JFrame {
koneksi kon = new koneksi();
Connection connec;
PreparedStatement psmnt = null;
ImageIcon format;
ResultSet rs;
/**
46
* Creates new form Form_MenuUtamaUser
*/
public Form_MenuUtamaUser() {
initComponents();
setTanggal();
setJam();
kon.setkoneksi();
}
public String kode;
public String Level;
public String NamaUser;
public String getKodeUser()
{
return kode;
}
public String getNamaUser()
{
return NamaUser;
}
public String getLevel()
{
return Level;
}
public void setTanggal(){
java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal = new
java.text.SimpleDateFormat("dd MMMM yyyy");
date2.setText(kal.format(skrg));
}
47
public void setJam(){
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
String nol_jam = "", nol_menit = "",nol_detik = "";
java.util.Date dateTime = new java.util.Date();
int nilai_jam = dateTime.getHours();
int nilai_menit = dateTime.getMinutes();
int nilai_detik = dateTime.getSeconds();
if(nilai_jam <= 9) nol_jam= "0";
if(nilai_menit <= 9) nol_menit= "0";
if(nilai_detik <= 9) nol_detik= "0";
String waktu = nol_jam + Integer.toString(nilai_jam);
String menit = nol_menit + Integer.toString(nilai_menit);
String detik = nol_detik + Integer.toString(nilai_detik);
clock1.setText(waktu+":"+menit+":"+detik+"");
}
};
new Timer(1000, taskPerformer).start();
}
private void getfoto()
{
try{
Class.forName("com.mysql.jdbc.Driver");
48
connec =
DriverManager.getConnection("jdbc:mysql://localhost/inventory_db","root","");
String query = "select * from tb_user where id_user like '%"
+Ikode.getText()+ "%' ";
psmnt = connec.prepareStatement(query);
rs=psmnt.executeQuery();
if(rs.next())
{
byte[] imagedata=rs.getBytes(5);
format=new ImageIcon(imagedata);
foto2.setIcon(format);
}
else
{
JOptionPane.showMessageDialog(this, " Data Tidak ditemukan");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* 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")
49
Generated Code
15. Klik kanan pada jForm, pilih Event–Window–windowActivated, ketik
script
private void formWindowActivated(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
Inama.setText(NamaUser);
Ikode.setText(kode);
Ilevel.setText(Level);
getfoto();
}
16. Klik kanan pada mnlogout, pilih Event–Action–ActionPerformed, ketik
script
private void mnLogoutActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
Form_Login login = new Form_Login();
login.setLocationRelativeTo(null);
login.setVisible(true);
}
50
17. Klik kanan pada mnkeluar, pilih Event–Action–ActionPerformed, ketik
Script
private void mnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
18. Klik kanan pada jbarang_masuk, pilih Event–Action–ActionPerformed,
ketik Script
private void jbarang_masukActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
Form_Penerimaan_Barang BM = new Form_Penerimaan_Barang();
BM.setLocationRelativeTo(null);
BM.setVisible(true);
BM.kode=Ikode.getText();
}
19. Klik kanan pada jbarang_keluar, pilih Event–Action–ActionPerformed,
ketik Script
private void jbarang_keluarActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
Form_Pengeluaran_Barang BK = new Form_Pengeluaran_Barang();
BK.setLocationRelativeTo(null);
BK.setVisible(true);
BK.kode=Ikode.getText();
}
51
20. Klik kanan pada jdata_barang, pilih Event–Action–ActionPerformed,
ketik Script
private void jdata_barangActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
Form_Data_Barang2 DB = new Form_Data_Barang2(this,
rootPaneCheckingEnabled);
DB.setLocationRelativeTo(null);
DB.setVisible(true);
}
21. Klik kanan pada jstok_min, pilih Event–Action-ActionPerformed, ketik
Scrip
private void jstok_minActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Form_Stok_Barang_Minimal DSMB = new
Form_Stok_Barang_Minimal(this, rootPaneCheckingEnabled);
DSMB.setLocationRelativeTo(null);
DSMB.setVisible(true);
}
22. Klik kanan pada mnlapbarang, pilih Event–Action–ActionPerformed,
ketik Script
private void mnLapbarangActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
52
try{
String path="src/gudang/Laporan_Barang.jasper";
HashMap parameter = new HashMap();
JasperPrint print =
JasperFillManager.fillReport(path,parameter,kon.setkoneksi());
JasperViewer.viewReport(print, false);
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
23. Klik kanan pada mnlapbrgmsk, pilih Event–Action–ActionPerformed,
ketik Script
private void mnLapBrgMskActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
Form_Laporan_PenerimaanPeriode Laporan_Msk = new
Form_Laporan_PenerimaanPeriode();
Laporan_Msk.setLocationRelativeTo(null);
53
Laporan_Msk.setVisible(true);
}
24. Klik kanan pada mnlapbrgklr, pilih Event–Action–ActionPerformed, ketik
Script
private void mnLapBrgKlrActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
Form_Laporan_PengeluaranPeriode Laporan_Klr = new
Form_Laporan_PengeluaranPeriode();
Laporan_Klr.setLocationRelativeTo(null);
Laporan_Klr.setVisible(true);
}
2.2.4. Membuat Form Master Barang
1. Klik kanan pada package gudang-New-JFrame Form
2. Isi Class Name : Form_Master_Barang-Finish
54
Gambar 2.46 membuat JFrame baru
1. Desain
Desain Form Master Barang Running Form Master Barang
55
Gambar 2.47 desain master barang
2. Source Code
Gambar 2.48 komponen master barang
No Komponen Propertis
1 JTextField Change Variable Name : tkd_barang
2 JComboBox Change Variable Name : cbkategori
3 JTextField Change Variable Name : tid_kategori
56
4 JTextField Change Variable Name : tnm_barang
5 JTextField Change Variable Name : tstok
6 JTextField Change Variable Name : tmin_stok
7 JTextField Change Variable Name : tcari
8 JTable Change Variable Name : tbl_brg
9 JButton Edit Text : Tambah
Change Variable Name : bt_tambah
10 JButton Edit Text : Simpan
Change Variable Name : bt_simpan
11 JButton Edit Text : Edit
Change Variable Name : bt_edit
12 JButton Edit Text : Update
Change Variable Name : bt_update
13 JButton Edit Text : Hapus
Change Variable Name : bt_hapus
14 JButton Edit Text : Batal
Change Variable Name : bt_batal
15 JButton Edit Text : Keluar
Change Variable Name : bt_keluar
Ketik Scrip method-method dibawah ini :
/*
57
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Pannugroho
*/
public class Form_Master_Barang extends javax.swing.JFrame {
koneksi kon=new koneksi();
private Object [][] dataproduk=null;
private String[]label={"KODE BARANG","KATEGORI","NAMA
BARANG","STOK","MIN.STOK"};
/**
* Creates new form Form_Master_Barang
*/
public Form_Master_Barang() {
initComponents();
kon.setkoneksi();
nonaktif();
BacaTabelBarang();
isiNamaKategori();
58
tid_kategori.setVisible(true);
}
private void setTable(){
int row=tbl_brg.getSelectedRow();
tkd_barang.setText((String)tbl_brg.getValueAt(row,0));
tid_kategori.setText((String)tbl_brg.getValueAt(row,1));
tnm_barang.setText((String)tbl_brg.getValueAt(row,2));
tstok.setText((String)tbl_brg.getValueAt(row,3));
tmin_stok.setText((String)tbl_brg.getValueAt(row,4));
}
private void BersihField(){
tkd_barang.setText("");
tid_kategori.setText("");
tnm_barang.setText("");
tstok.setText("");
tmin_stok.setText("");
tcari.setText("");
cbkategori.setSelectedIndex(0);
}
private void aktif(){
tkd_barang.setEnabled(true);
tnm_barang.setEnabled(true);
tstok.setEnabled(true);
tmin_stok.setEnabled(true);
cbkategori.setEnabled(true);
}
private void nonaktif(){
tkd_barang.setEnabled(false);
59
tnm_barang.setEnabled(false);
tstok.setEnabled(false);
tmin_stok.setEnabled(false);
bt_edit.setEnabled(false);
bt_update.setEnabled(false);
bt_hapus.setEnabled(false);
bt_simpan.setEnabled(false);
tid_kategori.setVisible(false);
cbkategori.setEnabled(false);
}
private void isiNamaKategori(){
try{
String sql="Select *From tb_kategori";
kon.rs=kon.st.executeQuery(sql);
while (kon.rs.next()){
cbkategori.addItem(kon.rs.getString("nm_kategori"));
}
}catch(SQLException e){
System.out.println("Koneksi Gagal"+ e.toString());
}
}
private String NoBarang()
{
String urutan=null;
try{
kon.rs=kon.st.executeQuery("select right(kd_brg,4)+1 from
tb_barang as Nomor order by kd_brg desc");
60
if(kon.rs.next())
{
urutan=kon.rs.getString(1);
while(urutan.length()<4)
urutan="0"+urutan;
urutan="AHI/KB/"+urutan;
tkd_barang.setText(urutan);
}else
{
urutan="AHI/KB/"+"0001";
tkd_barang.setText(urutan);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,"No PS Error : "+e);
}
return urutan;
}
private void BacaTabelBarang(){
try{
String sql="Select *From tb_barang order by kd_brg";
kon.rs=kon.st.executeQuery(sql);
ResultSetMetaData m=kon.rs.getMetaData();
int kolom=m.getColumnCount();
int baris=0;
while(kon.rs.next()){
baris=kon.rs.getRow();
}
dataproduk=new Object[baris][kolom];
int x=0;
61
kon.rs.beforeFirst();
while(kon.rs.next()){
dataproduk[x][0]=kon.rs.getString("kd_brg");
dataproduk[x][1]=kon.rs.getString("nm_kategori");
dataproduk[x][2]=kon.rs.getString("nm_brg");
dataproduk[x][3]=kon.rs.getString("stok");
dataproduk[x][4]=kon.rs.getString("min_stok");
x++;
}
tbl_brg.setModel(new DefaultTableModel(dataproduk,label));
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
}
private void BacaTabelBarang2(){
try{
String sql = "Select *From tb_barang where kd_brg like '%"
+tcari.getText()+"%'"
+ "or nm_kategori like '%" +tcari.getText()+"%'"
+ "or nm_brg like '%" +tcari.getText()+"%'";
kon.rs=kon.st.executeQuery(sql);
ResultSetMetaData m=kon.rs.getMetaData();
int kolom=m.getColumnCount();
int baris=0;
while(kon.rs.next()){
baris=kon.rs.getRow();
}
dataproduk=new Object[baris][kolom];
62
int x=0;
kon.rs.beforeFirst();
while(kon.rs.next()){
dataproduk[x][0]=kon.rs.getString("kd_brg");
dataproduk[x][1]=kon.rs.getString("nm_kategori");
dataproduk[x][2]=kon.rs.getString("nm_brg");
dataproduk[x][3]=kon.rs.getString("stok");
dataproduk[x][4]=kon.rs.getString("min_stok");
x++;
}
tbl_brg.setModel(new DefaultTableModel(dataproduk,label));
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
}
void isiNamaKategori2(){
try{
kon.setkoneksi();
String sql="Select *From tb_kategori where
nm_kategori='"+tid_kategori.getText()+"'";
kon.rs=kon.st.executeQuery(sql);
if (kon.rs.next()){
cbkategori.setSelectedItem(kon.rs.getString("nm_kategori"));
}
}catch(SQLException e){
System.out.println("Koneksi Gagal"+ e.toString());
}
63
}
3. Klik kanan pada cb kategori, pilih Event-Action-Action Performed, ketik
Script berikut :
private void cbkategoriActionPerformed(java.awt.event.ActionEvent evt) {
try{
kon.setkoneksi();
String sql="Select *From tb_kategori where
nm_kategori='"+cbkategori.getSelectedItem()+"'";
kon.rs=kon.st.executeQuery(sql);
if (kon.rs.next()){
tid_kategori.setText(kon.rs.getString("id_kategori"));
}
}catch(SQLException e){
System.out.println("Koneksi Gagal"+ e.toString());
}
}
4. Klik kanan pada tombol cari, pilih Event-Key-KeyPressed, ketik Script
berikut :
private void tcariKeyTyped(java.awt.event.KeyEvent evt) {
kon.setkoneksi();
BacaTabelBarang2();
}
5. Klik kanan pada Tabel, pilih Event-Mouse-MouseClicked, ketik Script
berikut :
private void tbl_brgMouseClicked(java.awt.event.MouseEvent evt) {
setTable();
isiNamaKategori2();
64
bt_hapus.setEnabled(false);
bt_edit.setEnabled(true);
bt_tambah.setEnabled(false);
}
6. Klik kanan pada Button Tambah, pilih Event-Action-Action Performed,
ketik Script berikut:
private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) {
NoBarang();
aktif();
bt_batal.setEnabled(true);
bt_tambah.setEnabled(false);
bt_simpan.setEnabled(true);
cbkategori.setEnabled(true);
}
7. Klik kanan pada Button Simpan, pilih Event-Action-Action Performed,
ketik Script berikut:
private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) {
if (tkd_barang.getText().isEmpty() || tnm_barang.getText().isEmpty() ||
tid_kategori.getText().isEmpty() ||tstok.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Lengkapi Data", "Konfirmasi",
JOptionPane.INFORMATION_MESSAGE);
bt_tambah.setEnabled(true);
} else {
bt_tambah.setEnabled(true);
bt_keluar.setEnabled(true);
cbkategori.setEnabled(true);
SimpanData();
cbkategori.setSelectedItem("=PILIH=");
65
try {
kon.st.getConnection();
} catch (SQLException ex) {
Logger.getLogger(Form_Master_Barang.class.getName()).log(Level.SEVE
RE, null, ex);
}
}
}
8. Klik kanan pada Button Edit, pilih Event-Action-Action Performed, ketik
Script berikut:
private void bt_editActionPerformed(java.awt.event.ActionEvent evt) {
aktif();
tkd_barang.setEnabled(false);
bt_edit.setEnabled(false);
bt_update.setEnabled(true);
bt_batal.setEnabled(true);
bt_hapus.setEnabled(true);
bt_tambah.setEnabled(false);
}
9. Klik kanan pada Button Update, pilih Event-Action-Action Performed,
ketik Script berikut:
private void bt_editActionPerformed(java.awt.event.ActionEvent evt) {
aktif();
bt_update.setEnabled(false);
bt_tambah.setEnabled(true);
EditData();
cbkategori.setSelectedItem("=PILIH=");
66
}
10. Klik kanan pada Button Hapus, pilih Event-Action-Action Performed, ketik
Script berikut:
private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?",
"konfirmasi", JOptionPane.YES_NO_OPTION) ==
JOptionPane.YES_OPTION) {
HapusData();
bt_tambah.setEnabled(true);
nonaktif();
BersihField();
cbkategori.setSelectedItem("=PILIH=");
} else {
JOptionPane.showMessageDialog(this, "Data Batal Dihapus",
"Konfirmasi", JOptionPane.INFORMATION_MESSAGE);
bt_tambah.setEnabled(true);
nonaktif();
BersihField();
cbkategori.setSelectedItem("=PILIH=");
return;
}
formWindowActivated(null);
}
11. Klik kanan pada Button Batal, pilih Event-Action-Action Performed, ketik
Script berikut:
private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) {
nonaktif();
BersihField();
67
bt_tambah.setEnabled(true);
cbkategori.setEnabled(true);
cbkategori.setSelectedItem("=PILIH=");
try {
kon.st.getConnection();
} catch (SQLException ex) {
Logger.getLogger(Form_Master_Barang.class.getName()).log(Level.SEV
ERE, null, ex);
}
}
12. Klik kanan pada Button Keluar, pilih Event-Action-Action Performed, ketik
Script berikut:
private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {
// MenuUtama menu = new MenuUtama();
// menu.setLocationRelativeTo(null);
// menu.setVisible(true);
dispose();
}
2.2.5. Membuat Data Barang
1. Klik kanan pada package gudang-New-JFrame Form
2. Isi Class Name : Form_Data_Barang -Finish
68
Gambar 2.49 menambhakan JFrame baru
a. Desain
Desain Form Data Barang Running Form Data Barang
Gambar 2.50 desain data barang
69
b. Source Code
Gambar 2.51 komponen data barang
No Komponen Propertis
1 JTextField Change Variable Name : tcari
2 JTable Change Variable Name : tbl_barang
Ketik Scrip method-method dibawah ini :
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
70
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Pannugroho
*/
public class Form_Data_Barang extends javax.swing.JDialog {
koneksi kon=new koneksi();
private Object [][] databarang=null;
private String[]label={"KODE BARANG","NAMA
KATEGORI","NAMA BARANG","STOK","MIN.STOK"};
/**
* Creates new form Form_Data_Barang
*/
public Form_Data_Barang(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
kon.setkoneksi();
BacaTabelBarang();
}
private void BacaTabelBarang()
{
try
{
String sql="Select *From tb_barang order by kd_brg";
kon.rs=kon.st.executeQuery(sql);
ResultSetMetaData m=kon.rs.getMetaData();
int kolom=m.getColumnCount();
int baris=0;
71
while (kon.rs.next())
{
baris=kon.rs.getRow();
}
databarang=new Object[baris][kolom];
int x=0;
kon.rs.beforeFirst();
while(kon.rs.next())
{
databarang[x][0] = kon.rs.getString("kd_brg");
databarang[x][1] = kon.rs.getString("nm_kategori");
databarang[x][2] = kon.rs.getString("nm_brg");
databarang[x][3] = kon.rs.getString("stok");
databarang[x][4] = kon.rs.getString("min_stok");
x++;
}
Tbl_barang1.setModel(new
DefaultTableModel(databarang,label));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
}
private void CariTabelBarang()
{
try
{
72
String sql="select *from tb_barang where kd_brg like '%"
+tcari.getText()+"%'"
+ "or nm_kategori like '%" +tcari.getText()+"%'"
+ "or nm_brg like '%" +tcari.getText()+"%'";
kon.rs=kon.st.executeQuery(sql);
ResultSetMetaData m=kon.rs.getMetaData();
int kolom=m.getColumnCount();
int baris=0;
while(kon.rs.next()){
baris=kon.rs.getRow();
}
databarang=new Object[baris][kolom];
int x=0;
kon.rs.beforeFirst();
while(kon.rs.next())
{
databarang[x][0] = kon.rs.getString("kd_brg");
databarang[x][1] = kon.rs.getString("nm_kategori");
databarang[x][2] = kon.rs.getString("nm_brg");
databarang[x][3] = kon.rs.getString("stok");
databarang[x][4] = kon.rs.getString("min_stok");
x++;
}
Tbl_barang1.setModel(new
DefaultTableModel(databarang,label));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
73
}
/**
* 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")
public static void main(String args[]) {
/* Set the Nimbus look and feel */
/* Create and display the form */
3. Klik kanan pada Kolom Cari Barang, pilih Event-Key-KeyTyped,
ketik Script berikut :
private void tcari1KeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
CariTabelBarang();
}
2.2.6. Membuat Form Master User
1. Klik kanan pada package gudang-New-JFrame Form
2. Isi Class Name : Form_Master_User-Finish
74
Gambar 2.52 membuat JFramme baru
a. Desain
Desain Form Master User Running Form Master User
Gambar 2.53 desain master user
75
b. Source Code
Gambar 2.54. komponen menu utama user
No Komponen Propertis
1 JTextField Change Variable Name : tkd_user
2 JTextField Change Variable Name : tnm_user
3 JPasswordField Change Variable Name : tpassword
4 JComboBox Change Variable Name : cblevel
5 JTextField Change Variable Name : televel
6 JLabel Change Variable Name : photo
7 JButton Edit Text : Browser
Change Variable Name : bt_browser
8 JButton Edit Text : TAMBAH
Change Variable Name : bt_tambah
76
9 JButton Edit Text : SIMPAN
Change Variable Name : bt_simpan
10 JButton Edit Text : HAPUS
Change Variable Name : bt_hapus
11 JButton Edit Text : KELUAR
Change Variable Name : bt_keluar
12 JTextField Change Variable Name : tcari
Ketik Scrip method-method dibawah ini :
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
import java.awt.event.KeyEvent;
import java.sql.*;
import java.io.*;
import java.text.SimpleDateFormat;
import javax.swing.JFileChooser;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
/**
77
*
* @author Pannugroho
*/
public class Form_Master_User extends javax.swing.JFrame {
koneksi kon=new koneksi ();
Connection connec;
PreparedStatement psmnt = null;
ImageIcon format;
File pics;
FileInputStream fistream;
ResultSet rs;
private String no;
/**
* Creates new form Form_Master_User
*/
public Form_Master_User() {
initComponents();
kon.setkoneksi();
nonaktif();
televel.setVisible(false);
try
{
Class.forName("com.mysql.jdbc.Driver");
connec =
DriverManager.getConnection("jdbc:mysql://localhost/inventory_db","ro
ot","");
}
78
catch(Exception e){
}
}
private void NoUser()
{
try {
String sql_no= "select right(id_user,3)as no, mid(id_user,4,4) as
periode from tb_user";
kon.setkoneksi();
ResultSet rs = kon.st.executeQuery(sql_no);
if (rs.next()){
rs.last();
int no = Integer.parseInt(rs.getString("no"))+1;
java.util.Date date = new java.util.Date();
SimpleDateFormat dateformat1=new SimpleDateFormat
("MM.yy");
String tanggal=dateformat1.format(date);
if(no<10)
tkd_user.setText("ID/AHI-
"+tanggal+"/000"+Integer.toString(no));
else if(no<100)
tkd_user.setText("ID/AHI-
"+tanggal+"/00"+Integer.toString(no));
else if(no<1000)
tkd_user.setText("ID/AHI-
"+tanggal+"/0"+Integer.toString(no));
else
79
tkd_user.setText("ID/AHI-
"+tanggal+"/"+Integer.toString(no));
}
else
{
java.util.Date date = new java.util.Date();
SimpleDateFormat dateformat1=new SimpleDateFormat
("MM.yy");
String tanggal=dateformat1.format(date);
tkd_user.setText("ID/AHI-"+tanggal+"/0001");
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
private void nonaktif(){
tkd_user.setEnabled(false);
tnm_user.setEnabled(false);
tpassword.setEnabled(false);
cblevel.setEnabled(false);
bt_browser.setEnabled(false);
}
private void aktif(){
tkd_user.setEnabled(true);
tnm_user.setEnabled(true);
80
tpassword.setEnabled(true);
cblevel.setEnabled(true);
bt_browser.setEnabled(true);
}
private void BersihField(){
tkd_user.setText("");
tnm_user.setText("");
tpassword.setText("");
cblevel.setSelectedIndex(0);
televel.setText("");
photo.setIcon(null);
}
private void OpenPicture(){
try
{
JFileChooser picChooser = new JFileChooser();
int returnVal = picChooser.showOpenDialog(null);
File file = null;
if(returnVal == JFileChooser.APPROVE_OPTION)
{
file = picChooser.getSelectedFile();
String filename = file.getAbsolutePath();
pics=new File(filename);
fistream=new FileInputStream(pics);
ImageIcon icon = new ImageIcon(filename);
photo.setIcon(icon);
}
}catch (Exception e)
81
{
e.printStackTrace();
}
}
3. Klik kanan pada tombol cari, pilih Event-Key-KeyPressed, ketik Script
berikut :
private void tcariKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
try{
String query = "select * from tb_user where nm_user like '%"
+tcari.getText()+ "%' ";
tnm_user.setEnabled(false);
tpassword.setEnabled(false);
nonaktif();
psmnt = connec.prepareStatement(query);
rs=psmnt.executeQuery();
if(rs.next())
{
tkd_user.setText(rs.getString(1));
tnm_user.setText(rs.getString(2));
tpassword.setText(rs.getString(3));
cblevel.setSelectedItem(rs.getString(4));
byte[] imagedata=rs.getBytes(5);
format=new ImageIcon(imagedata);
photo.setIcon(format);
bt_tambah.setText("EDIT");
tkd_user.setEnabled(false);
82
bt_browser.setEnabled(true);
cblevel.setEnabled(true);
}
else
{
JOptionPane.showMessageDialog(this, " Data Tidak
ditemukan");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
4. Klik kanan pada kode user, pilih Event-Action-Action Performed, ketik
Script berikut
private void tkd_userActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
}
5. Klik kanan pada cb Level, pilih Event-Action-Action Performed, ketik
Script berikut
private void cblevelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(cblevel.getSelectedItem().equals("1"))
{
televel.setText("1");
}
else
83
if(cblevel.getSelectedItem().equals("2"))
{
televel.setText("2");
}
}
6. Klik kanan pada Button Browser, pilih Event-Action-Action Performed,
ketik Script berikut
private void bt_browserActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
OpenPicture();
}
7. Klik kanan pada Button Tambah, pilih Event-Action-Action Performed,
ketik Script berikut :
private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if(bt_tambah.getText().equals("TAMBAH"))
{
bt_simpan.setText("SIMPAN");
bt_keluar.setText("BATAL");
BersihField();
NoUser();
aktif();bt_hapus.setEnabled(false);
tkd_user.setEnabled(false);
bt_tambah.setEnabled(false);
bt_hapus.setEnabled(false);
}
84
else if (bt_tambah.getText().equals("EDIT"))
{
tnm_user.setEnabled(true);
tpassword.setEnabled(true);
bt_simpan.setText("UPDATE");
bt_keluar.setText("BATAL");
bt_tambah.setEnabled(false);
}
}
8. Klik kanan pada Button Simpan, pilih Event-Action-Action Performed,
ketik Script berikut :
private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
SimpanData();
if(bt_simpan.getText().equals("SIMPAN"))
{
bt_tambah.setText("TAMBAH");
bt_keluar.setText("KELUAR");
BersihField();
tkd_user.requestFocus();
}
else if (bt_simpan.getText().equals("UPDATE"))
{
EditData();
bt_tambah.setText("EDIT");
bt_keluar.setText("BATAL");
tcari.requestFocus();
85
}
}
9. Klik kanan pada Button Hapus, pilih Event-Action-Action Performed, ketik
Script berikut :
private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?",
"konfirmasi", JOptionPane.YES_NO_OPTION) ==
JOptionPane.YES_OPTION) {
HapusData();
bt_tambah.setEnabled(true);
nonaktif();
BersihField();
cblevel.setSelectedItem("=PILIH=");
} else {
JOptionPane.showMessageDialog(this, "Data Batal Dihapus",
"Konfirmasi", JOptionPane.INFORMATION_MESSAGE);
bt_tambah.setEnabled(true);
nonaktif();
BersihField();
cblevel.setSelectedItem("=PILIH=");
return;
}
}
10. Klik kanan pada Button Keluar, pilih Event-Action-Action Performed, ketik
Script berikut :
private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
86
if(bt_keluar.getText().equals("KELUAR"))
{
dispose();
}
else if (bt_keluar.getText().equals("BATAL"))
{
BersihField();
bt_tambah.setEnabled(true);
bt_keluar.setText("KELUAR");
bt_tambah.setText("TAMBAH");
}
}
2.2.7. Membuat Form Master Kategori
1. Klik kanan pada package gudang-New-JFrame Form
2. Isi Class Name : Form_Master_Kategori-Finish
87
Gambar 2.55 menambahkan JFrame baru
1. Desain
Desain Form Master Kategori Running Form Master Kategori
Gambar 2.56. Desain master kategori
88
2. Source Code
Gambar 2.57. komponen master kategori
No Komponen Propertis
1 JTextField Change Variable Name : tid_kategori
2 JTextField Change Variable Name : tnm_kategori
3 JTextField Change Variable Name : tcari
4 JTable Change Variable Name : tbl_kategori
5 JButton Edit Text : Tambah
Change Variable Name : bt_tambah
6 JButton Edit Text : Edit
Change Variable Name : bt_edit
7 JButton Edit Text : Update
Change Variable Name : bt_update
89
8 JButton Edit Text : Hapus
Change Variable Name : bt_hapus
9 JButton Edit Text : Batal
Change Variable Name : bt_batal
10 JButton Edit Text : Simpan
Change Variable Name : bt_simpan
11 JButton Edit Text : Tutup
Change Variable Name : bt_keluar
Ketik Scrip method-method dibawah ini :
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Pannugroho
*/
public class Form_Master_Kategori extends javax.swing.JFrame {
koneksi kon=new koneksi();
90
private Object [][] datakategori=null;
private String[]label={"Id Kategori","Nama Kategori"};
/**
* Creates new form Form_Master_Kategori
*/
public Form_Master_Kategori() {
initComponents();
kon.setkoneksi();
BacaTabelKategori();
}
private String NoKategori()
{
String urutan=null;
try{
kon.rs=kon.st.executeQuery("select
right(id_kategori,4)+1 from tb_kategori as Nomor order by
id_kategori desc");
if(kon.rs.next())
{
urutan=kon.rs.getString(1);
while(urutan.length()<4)
urutan="0"+urutan;
urutan="AHI/KT/"+urutan;
tid_kategori.setText(urutan);
}else
{
urutan="AHI/KT/"+"0001";
tid_kategori.setText(urutan);
}
}catch(Exception e){
91
JOptionPane.showMessageDialog(null,"No PS Error : "+e);
}
return urutan;
}
private void BacaTabelKategori(){
try{
String sql="Select * From tb_kategori order by id_kategori";
kon.rs=kon.st.executeQuery(sql);
ResultSetMetaData m=kon.rs.getMetaData();
int kolom=m.getColumnCount();
int baris=0;
while(kon.rs.next()){
baris=kon.rs.getRow();
}
datakategori=new Object[baris][kolom];
int x=0;
kon.rs.beforeFirst();
while(kon.rs.next()){
datakategori[x][0]=kon.rs.getString("id_kategori");
datakategori[x][1]=kon.rs.getString("nm_kategori");
x++;
}
tbl_kategori.setModel(new
DefaultTableModel(datakategori,label));
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
}
92
private void BacaTabelKategori2(){
try{
String sql="select * from tb_kategori where nm_kategori like '%"
+tcari.getText()+ "%' ";
kon.rs=kon.st.executeQuery(sql);
ResultSetMetaData m=kon.rs.getMetaData();
int kolom=m.getColumnCount();
int baris=0;
while(kon.rs.next()){
baris=kon.rs.getRow();
}
datakategori=new Object[baris][kolom];
int x=0;
kon.rs.beforeFirst();
while(kon.rs.next()){
datakategori[x][0]=kon.rs.getString("id_kategori");
datakategori[x][1]=kon.rs.getString("nm_kategori");
x++;
}
tbl_kategori.setModel(new
DefaultTableModel(datakategori,label));
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
}
private void setTable(){
int row=tbl_kategori.getSelectedRow();
93
tid_kategori.setText((String)tbl_kategori.getValueAt(row,0));
tnm_kategori.setText((String)tbl_kategori.getValueAt(row,1));
}
private void BersihField(){
tnm_kategori.setText("");
tid_kategori.setText("");
tcari.setText("");
}
private void aktif(){
tnm_kategori.setEnabled(true);
tid_kategori.setEnabled(false);
}
private void nonaktif(){
tnm_kategori.setEnabled(false);
tid_kategori.setEnabled(false);
bt_edit.setEnabled(false);
bt_update.setEnabled(false);
bt_hapus.setEnabled(false);
bt_simpan.setEnabled(false);
}
3. Klik kanan pada Kolom cari, pilih Event-Key-KeyTyped, ketik Script
berikut :
private void tcariKeyTyped(java.awt.event.KeyEvent evt) {
BacaTabelKategori2();
}
94
4. Klik kanan pada Tabel, pilih Event-Mouse-MouseClicked, ketik Script
berikut
private void tbl_kategoriMouseClicked(java.awt.event.MouseEvent evt) {
setTable();
bt_hapus.setEnabled(true);
bt_edit.setEnabled(true);
bt_tambah.setEnabled(false);
}
5. Klik kanan pada Button Tambah, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt)
{
BersihField();
aktif();
NoKategori();
tnm_kategori.setEnabled(true);
tid_kategori.requestFocus();
bt_batal.setEnabled(true);
bt_tambah.setEnabled(false);
bt_simpan.setEnabled(true);
}
6. Klik kanan pada Button Edit, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_editActionPerformed(java.awt.event.ActionEvent evt) {
aktif();
bt_edit.setEnabled(false);
bt_update.setEnabled(true);
bt_batal.setEnabled(true);
95
bt_hapus.setEnabled(false);
bt_tambah.setEnabled(false);
}
7. Klik kanan pada Button Update, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_updateActionPerformed(java.awt.event.ActionEvent evt)
{
bt_update.setEnabled(false);
bt_tambah.setEnabled(true);
EditData();
}
8. Klik kanan pada Button Hapus, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?",
"konfirmasi", JOptionPane.YES_NO_OPTION) ==
JOptionPane.YES_OPTION) {
HapusData();
bt_tambah.setEnabled(true);
} else {
JOptionPane.showMessageDialog(this, "Data Batal Dihapus",
"Konfirmasi", JOptionPane.INFORMATION_MESSAGE);
bt_tambah.setEnabled(true);
return;
}
formWindowActivated(null);
}
96
9. Klik kanan pada Button Batal, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) {
nonaktif();
BersihField();
bt_tambah.setEnabled(true);
}
10. Klik kanan pada Button Simpan, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if (tnm_kategori.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Lengkapi Data",
"Konfirmasi", JOptionPane.INFORMATION_MESSAGE);
bt_tambah.setEnabled(true);
} else {
bt_tambah.setEnabled(true);
bt_keluar.setEnabled(true);
SimpanData();
}
}
11. Klik kanan pada Button Keluar, pilih Event-Action-actionPerformed, ketik
Script berikut :
private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {
// new MenuUtama().setVisible(true);
this.dispose();
}
97
2.2.8. Membuat Form Login
1. Klik kanan pada package gudang-New-JFrame Form
2. Isi Class Name : Form_Login -Finish
Gambar 2.58. membuat JFrame baru
a. Desain
Desain Form Login Running Form Login
Gambar 2.59 desain from login
98
b. Source Code
Gambar 4.60 komponen form login
No Komponen Propertis
1 JTextField Change Variable Name : tnik_user
2 JPasswordField Change Variable Name : tpassword
3 JTextField Change Variable Name : tlevel
4 JButton Edit Text : MASUK
Change Variable Name : bt_login
5 JButton Edit Text : KELUAR
Change Variable Name : bt_keluar
Ketik Scrip method-method dibawah ini :
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
99
import com.jtattoo.plaf.AbstractLookAndFeel;
import java.sql.*;
import javax.swing.JOptionPane;
import com.jtattoo.plaf.mcwin.McWinLookAndFeel;
import com.jtattoo.plaf.acryl.AcrylLookAndFeel;
import com.jtattoo.plaf.aero.AeroLookAndFeel;
import com.jtattoo.plaf.aluminium.AluminiumLookAndFeel;
import com.jtattoo.plaf.bernstein.BernsteinLookAndFeel;
import com.jtattoo.plaf.fast.FastLookAndFeel;
import com.jtattoo.plaf.graphite.GraphiteLookAndFeel;
import com.jtattoo.plaf.hifi.HiFiLookAndFeel;
import com.jtattoo.plaf.luna.LunaLookAndFeel;
import com.jtattoo.plaf.mint.MintLookAndFeel;
import com.jtattoo.plaf.noire.NoireLookAndFeel;
import com.jtattoo.plaf.smart.SmartLookAndFeel;
import com.jtattoo.plaf.texture.TextureLookAndFeel;
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
import javax.swing.UIManager;
import javax.swing.plaf.metal.MetalLookAndFeel;
/**
*
* @author Pannugroho
*/
public class Form_Login extends javax.swing.JFrame {
koneksi kon=new koneksi();
public Form_MenuUtamaAdmin menu=null;
/**
* Creates new form Form_Login
*/
100
public Form_Login() {
initComponents();
kon.setkoneksi();
tlevel.setVisible(false);
}
void bersih(){
tnik_user.setText("");
tpassword.setText("");
tlevel.setText("");
}
public void setTitle(String title) {
super.setTitle("L O G I N");
}
private void prosesLogin(){
try{
String sql="Select * from tb_user where
id_user='"+tnik_user.getText()+"' AND
password=MD5('"+tpassword.getText()+"')";
kon.rs=kon.st.executeQuery(sql);
if(kon.rs.next()){
if(tlevel.getText().equals("1")){
Form_MenuUtamaAdmin menu = new Form_MenuUtamaAdmin();
Form_Ganti_Password gantipass = new Form_Ganti_Password();
menu.setLocationRelativeTo(null);
menu.setVisible(true);
menu.NamaUser=kon.rs.getString("nm_user");
menu.kode=kon.rs.getString("id_user");
101
menu.Level=kon.rs.getString("level");
gantipass.Kode_User=kon.rs.getString("id_user");
this.dispose();
}
else if(tlevel.getText().equals("2")){
Form_MenuUtamaUser user = new
Form_MenuUtamaUser();
Form_Ganti_Password gantipass = new
Form_Ganti_Password();
user.setLocationRelativeTo(null);
user.setVisible(true);
user.NamaUser=kon.rs.getString("nm_user");
user.kode=kon.rs.getString("id_user");
user.Level=kon.rs.getString("level");
gantipass.Kode_User=kon.rs.getString("id_user");
this.dispose();
} }
else{
JOptionPane.showMessageDialog(null, "KODE user atau
PASSWORD SALAH");
bersih();
tnik_user.setEnabled(true);
tnik_user.requestFocus();
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
102
}
/**
* 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")
1. Klik kanan pada Kolom Kode User, pilih Event-Action-Action Performed,
ketik Script berikut :
private void tnik_userActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String nikuser = "";
nikuser = tnik_user.getText();
try{
String sql = "Select *from tb_user where id_user='" + nikuser +"'";
kon.rs = kon.st.executeQuery(sql);
if (kon.rs.next()) {
tnik_user.setEnabled(false);
tlevel.setText(kon.rs.getString("level"));
tpassword.setEnabled(true);
tpassword.requestFocus();
bt_login.setEnabled(true);
tnik_user.setEnabled(true);
} else {
JOptionPane.showMessageDialog(null, "kode user salah");
bersih();
103
tnik_user.setEnabled(true);
tnik_user.requestFocus();
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
2. Klik kanan pada Kolom Password, pilih Event-Action-Action Performed,
ketik Script berikut :
private void tpasswordActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
}
3. Klik kanan pada Kolom Level, pilih Event-Action-Action Performed, ketik
Script berikut :
private void tlevelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
4. Klik kanan pada Button Login, pilih Event-Action-Action Performed, ketik
Script berikut :
private void bt_loginActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
prosesLogin();
}
5. Klik kanan pada Button Login, pilih Event-Action-Action Performed, ketik
Script berikut :
104
private void bt_keluarActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
dispose();
}
2.3. Rancangan Form Transaksi
2.3.1.Form_Laporan_PenerimaanPeriode
a. Desain Laporan Penerimaan Periode
Gambar 2.61 komponen laporan penerimaan periode
1 2
3
4 5
6
7
105
No Komponen Propertis
1 JDateChooser Change Variable Name : dctglawal
2 JDateChooser Change Variable Name : dctglakhir
3 JButton Edit Text : Cetak
Change Variable Name : btcetakperiode
4 JComboBox Change Variable Name : cmbbulan
5 JYearChooser Change Variable Name : yctahun
6 JButton Edit Text : Cetak
Change Variable Name : btcetakbulan
7 JButton Edit Text : Keluar
Change Variable Name : bt_keluar
b. Running Laporan Penerimaan Periode
Gambar 2.62. running laporan penerimaan periode
Ketik Scrip method-method dibawah ini :
106
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gudang;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
/**
*
* @author Pannugroho
*/
107
public class Form_Laporan_PenerimaanPeriode extends javax.swing.JFrame
{
koneksi kon=new koneksi();
JasperReport jasperReport;
JasperDesign jasperDesign;
JasperPrint jasperPrint;
/**
* Creates new form Form_Laporan_PenerimaanPeriode
*/
public Form_Laporan_PenerimaanPeriode() {
initComponents();
kon.setkoneksi();
}
/**
* 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.
108
*/
1. Klik kanan pada JButton btcetakperiode, pilih Event-Action-Action
Performed, ketik Script berikut :
private void btcetakperiodeActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
String tgl1 = new SimpleDateFormat("yyyy-MM-
dd").format(dctglawal.getDate());
String tgl2 = new SimpleDateFormat("yyyy-MM-
dd").format(dctglakhir.getDate());
try {
String NamaFile =
"src/gudang/Laporan_Penerimaan_Pertanggal.jasper";
HashMap parameter = new HashMap();
parameter.put("tgl_awal", tgl1);
parameter.put("tgl_akhir", tgl2);
JasperPrint print = JasperFillManager.fillReport(NamaFile, parameter,
kon.setkoneksi());
JasperViewer.viewReport(print, false);
} catch (Exception ex) {
System.out.println(ex);
}
2. Klik kanan pada JButton btcetakbulan, pilih Event-Action-Action
Performed, ketik Script berikut :
private void btcetakbulanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
109
try {
String NamaFile =
"src/gudang/Laporan_Penerimaan_Perbulan.jasper";
HashMap parameter = new HashMap();
parameter.put("bulan", cmbbulan.getSelectedItem());
parameter.put("tahun", yctahun.getYear());
JasperPrint print = JasperFillManager.fillReport(NamaFile, paramete