Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

membuat-aplikasi-penjualan-menggunakan-java

VIEWS: 376 PAGES: 111

									               MERANCANG DATABASE PENJUALAN

Sebagai tempat studi kasus dari aplikasi yang akan dibuat adalah penjualan barang . Dengan
adanya aplikasi ini, diharapkan dapat mempermudah dalam pengecekan stok barang dan
transaksi barang masuk dan penjualan barang.

Dari gambaran di atas, yang perlu anda buat adalah sebuah aplikasi yang dapat membantu
untuk pencatatan setiap transaksi yang dilakukan, mulai dari data jenis barang, data barang,
data petugas, data distributor, data barang masuk dan data penjualan barang.



Membuat Database dan Tabel
Pada gambaran sebelumnya, sekarang anda perlu memikirkan seberapa besar database yang
akan diperlukan. Dari hasil pemikiran tersebut anda akan mengira-ira berapa dan apa tabel
yang akan digunaka sebagai media penyimpanan datanya.



    Membuat Database

Dari analisis kami, untuk membuat aplikasi ini kita membutuhkan 6 tabel. Terdiri atas 4 tabel
master dan 2 tabel transaksi. keenam tabe tersebut berada di dalam nama database dbretail.

C:\Documents and Setting> mysql –uroot -p;
Enter Password:masukkan password anda

Mysql> CREATE DATABASE dbretail;
Query OK, 1 row affected (0.00 sec)

Selanjutnya, aktifkanlah database yang terbuat dengan perintah berikut:
Mysql> USE dbretail;
Database changed

Pernyataan “Database changed” di atas menandakan anda sekarang telah aktif di dalam
database dbretail.

    Membuat Tabel tbljenis

Tabel Jenis Barang digunakan untuk merekam data semua jenis barang. Dengan cara ini, kita
dapat mengelompokkan jenis barang.Berikut desain tabelnya.
                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          1
Tabel 1.1 Struktur Tabel tbljenis

 Kolom                              Tipe Data   Panjang
 kodejenis *                        Char        4
 jenis                              Varchar     60


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbljenis(
      kodejenis char(4) not null primary key,
      jenis varchar(60)
);

Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tbljenis.



    Membuat Tabel tblpetugas

Tabel petugas digunakan untuk merekam data semua petugas. Dengan cara ini, kita dapat
mengetahui petugas jaga parkir.Berikut desain tabelnya.

Tabel 1.2 Struktur Tabel tblpetugas

 Kolom                              Tipe Data   Panjang
 idpetugas *                        Char        6
 namapetugas                        Varchar     80
 alamat                             Varchar     100
 email                              Varchar     80
 telpon                             Char        15


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblpetugas(
        idpetugas char(6) not null primary key,
        namapetugas varchar(80),
        alamat varchar(100),
        email varchar(80),
        telpon char(10)
);
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tblpetugas.


                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA         2
    Membuat Tabel tbldistributor

Tabel distributor digunakan untuk merekam data semua distributor. Dengan cara ini, kita dapat
mengetahui distributor pemasok barang.Berikut desain tabelnya.

Tabel 1.3 Struktur Tabel tbldistributor

 Kolom                           Tipe Data    Panjang
 iddistributor *                 Char         6
 namadistributor                 Varchar      80
 alamat                          Varchar      100
 kotaasal                        Varchar      80
 email                           Varchar      80
 telpon                          Char         15


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldistributor(
        iddistributor char(6) not null primary key,
        namadistributor varchar(80),
        alamat varchar(100),
        kotasal varchar(80),
        email varchar(80),
        telpon char(10)
);
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tbldistributor.



    Membuat Tabel tblbarang

Tabel Barang digunakan untuk merekam semua data barang Dengan cara ini, kita dapat
mengetahui semua data barang yang ada digudang. Berikut desain tabelnya.

Tabel 1.4 Struktur Tabel tblbarang

 Kolom                           Tipe Data    Panjang
 kodebarang *                    Char         4
 namabarang                      Varchar      100
 kodejenis **                    Char         4
 Harganet                        Double       -
 Hargajual                       Double       -
 stok                            Smallint     4



                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          3
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblbarang(
       kodebarang char(4) not null primary key,
       namabarang varchar(100),
       kodejenis char(4),
       harganet double,
       hargajual double,
       stok smallint(20)
);
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tblbarang.



    Membuat Tabel tblbrgmasuk

Tabel Barang masuk digunakan untuk merekam semua data barang masuk Dengan cara ini, kita
dapat mengetahui semua data barang masuk yang ada digudang. Berikut desain tabelnya.

Tabel 1.5 Struktur Tabel tblbrgmasuk

 Kolom                         Tipe Data    Panjang
 nonota *                      Char         10
 tglmasuk                      Varchar      30
 iddistributor **              Char         6
 Idpetugas**                   Char         6
 total                         Double       -


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblbrgmasuk(
     nonota char(10) not null primary key,
     tglmasuk varchar(30),
     iddistributor char(6),
     idpetugas char(6),
     total double);

Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tblbrgmasuk.




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          4
    Membuat Tabel tbldetailbrgmasuk

Tabel Detail Barang Masuk digunakan untuk merekam jumlah data barang masuk, Dengan cara
ini, kita dapat mengetahui semua data barang yang baru diorder. Berikut desain tabelnya.

Tabel 1.6 Struktur Tabel tbldetailbrgmasuk

 Kolom                          Tipe Data    Panjang
 nonota **                      Char         10
 Kodebarang**                   Char         4
 jumlah                         Smallint     4
 subtotal                       Double       -


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldetailbrgmasuk(
     nonota char(10) not null,
     kodebarang char(4) not null,
     jumlah smallint(4),
     subtotal double);

Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tbldetailbrgmasuk.



    Membuat Tabel tblpenjualan

Tabel Penjualan digunakan untuk merekam semua transaksi penjualan Dengan cara ini, kita
dapat mengetahui semua data barang yang sudah terjual atau belum terjual. Berikut desain
tabelnya.

Tabel 1.7 Struktur Tabel tblpenjualan

 Kolom                          Tipe Data    Panjang
 nofaktur *                     Char         10
 Tglpenjualan                   Varchar      30
 idpetugas **                   Char         6
 bayar                          Double       -
 sisa                           Double       -
 total                          Double       -


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:



                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          5
mysql> create table tblpenjualan(
     nofaktur char(10) not null primary key,
     tglpenjualan varchar(30),
     idpetugas char(6),
     bayar double,
     sisa double,
     total double);

Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tblpenjualan.



    Membuat Tabel tbldetailpenjualan

Tabel Detail Penjualan digunakan untuk merekam jumlah data barang terjual, Dengan cara ini,
kita dapat mengetahui semua data barang yang sudah atau belum terjual. Berikut desain
tabelnya.

Tabel 1.8 Struktur Tabel tbldetailpenjualan

 Kolom                          Tipe Data     Panjang
 nofaktur **                    Char          10
 Kodebarang**                   Char          4
 jumlah                         Smallint      4
 subtotal                       Double        -


Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldetailpenjualan(
     nofaktur char(10) not null,
     kodebarang char(4) not null,
     jumlah smallint(4),
     subtotal double);

Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru
bernama tbldetailpenjualan.




                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA         6
Relasi Antar Tabel


                     TblDetailBrgMasuk

                       NoNota
                       KodeBarang

                       Jumlah                                              TblDistributor
                       Subtotal             TblBrgMasuk
                                                                      PK    IDDistributor
                                           PK   NoNota
     TblJenis                                                               NamaDistributor
                                                TglMasuk
                                                                            Alamat
PK    KodeJenis                                 IDDistributor
                                                                            KotaAsal
                                                IDPetugas
                                                                            Email
      Jenis                                     Total
                                                                            Telpon
                          TblBarang
                     PK    KodeBarang

                           NamaBarang
                           KodeJenis
                           HargaNet
                           HargaJual                                       TblPetugas
                           Stok
                                                                      PK     IDPetugas

                                                                             NamaPetugas
                                                     TblPenjualan
                                                                             Alamat
                                                PK     NoFaktur              Emali
                                                                             Telpon
                      TblDetailPenjualan               TglPenjualan
                                                       IDPetugas
                          NoFaktur                     Bayar
                          KodeBarang                   Sisa
                                                       Total
                          Jumlah
                          Subtotal




                     Gambar 1.1 Hubungan Antar Tabel pada dbretail



Tanda (PK) menunjukkan kunci utama, sedangkan (FK) adalah kunci tamu dengan diwujudkan
arah panahnya. Berikut bebarapa penjelasan relasi tabel tersebut.




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               7
           MEMBUAT APLIKASI PENJUALAN BARANG


Mulai dari bab ini kami akan membimbing anda untuk membuat proyek lengkap, yaitu dengan
objek kasus pada penjualan barang. Pada aplikasi yang dibuat, akan terjadi proses transaksi
barang masuk dan transaksi penjualan barang. Tentunya ada proses perhitungan pembelian
dan penjualan barang. Dalam bonus CD buku ini, juga telah disertakan hasil studi kasus dan
komponen pendukung untuk pembuatan aplikasi yang dibahas pada bab ini. Anda bisa
membaca bab ini sebagai penjelasan lengkap dan langkah pembuatannya.

Dependency
Dependency ata ketergantungan adalah sebuah syarat ketersediaan sebuah tool berupa
modul terpisah maupun aplikasi lain agar bisa menjalankan aplikasi yang dimaksud. Dalam hal
ini setidaknya anda harus memasang Netbeans 6.0 Tentunya untuk bisa memasangnya juga
harus anda penuhi system requirement dari aplikasi tersebut. Untuk sistem operasi tentunya
anda bisa menggunakan Windows/Linux. Dalam hal ini kami menggunakan Windows XP untuk
uji coba. Adapun tool yang lain, yang mesti anda pasang adalah sebagai berikut.

Ketergantungan Mesin

      Sistem Opersai Windows/Linux
      Netbeans 6.0
      Jasper Report 2.0.4
      MySQL(AppServ2.10.3 boleh menggunakan versi lain)


Ketergantungan Module/com objek maupun resource lain

    mysql-connector-java-5.1.6-bin untuk objek database yang siap dipakai
    Komponen untuk membuat laporan yang sudah disertakan dalam CD

Persiapan Instalasi dan Folder Program

Kami sarankan pembaca mengikuti langkah-langkah yang ada dalam buku ini agar tidak
mengalami kesulitan/salah jalan. Kalau tidak mengikuti petunjuk ini, dikhawatirkan anda bisa
tersesat sejauh-jauhnya. Catatan: Anda tidak harus mengikuti langkah-langkah instalasi jika
sudah memiliki versi yang sama. Dalam buku tidak terlalu banyak memberikan hal-hal yang
dasar, bukan keharusan tetapi sangat dianjurkan bagi anda membaca buku edisi sebelumnya.

   1. Instal netbeans 6 nama file installer-nya netbeans-6.0.1-ml-javase-windows.exe. klik
      ganda kemudian lanjutkan dialognya sampai selesai.
   2. Instal MySQL dan tool admin lewat Browser Client. Nama filenya appserv-win32-
      2.5.10.exe. ikuti petunjuk dan jangan lupa untuk menyimpan nama password atau user-
                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        8
      nya agar Anda bisa mengakses halaman admin. Jika sampai lupa, anda selamanya tidak
      bisa membuka database anda sendiri.
   3. Siapkan folder khusus untuk membuat kode. Misalnya kami membuat folder
      D:\Aplikasi Penjualan Barang.



    Membuat Koneksi Database.ini

database.ini digunakan untuk menghubungkan database MySQL dengan JAVA, database.ini
dibuat menggunakan Notepade.

Berikut langkah membuat koneksi database.ini:

   1. Buatlah folder dengan nama folder lib pada direktori D:\Aplikasi Penjualan
      Barang\AplikasiPenjualan\lib.
   2. Buatlah koneksi database.ini menggunakan notepade kemudian simapan dengan nama
      database.ini.

       Syntax Database.ini

       # Setting JDBC

       # getDriver JDBC
       DBDriver=com.mysql.jdbc.Driver

       # getDatabase
       DBDatabase=jdbc:mysql://localhost/dbretail

       # Setting username
       DBUsername=root

       # Setting password
       DBPassword=Sesuaikan dengan password anda


Membuat Project

Berikut langkah membuat projek baru :

   1. Bukalah editor Netbeans, lalu buat project beru melalui menu File –> New Project,
      sehingga muncul sebuah jendela New Project.
   2. Pada kolom Categories pilih Java. Selanjutnya pada kolom projects pilih Java
      Application, kemudian tekan tombol Next untuk melanjutkan.



                        Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA    9
                                Gambar 1.2 Jendela New Project
   3. Isilah Project Name (sebagai nama proyek), Project Location (folder atau lokasi
      program), Application Class (nama file atau kelas), dan nama kelas utama seperti
      berikut ini.




                          Gambar 1.3 Penambahan File Project

Dari gambar di atas, perhatikan isian Application Class yang terisi otomatis ketika anda
memberikan nilai pada nama Project name: “AplikasiPenjualan”. Netbeans secara default
                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA     10
menyiapkan paket bernama AplikasiPenjualan dan kelas utama Main.java. Berarti kita membuat
kelas AplikasiPenjualan berada dalam paket AplikasiPenjualan.

   4. Pada kolom Choose Application Shell pilih Basic Application, anda bisa menyesuaikan
      foldernya dengan computer anda.
   5. Jiksa sudah, klik tombol Finish.




                         Gambar 1.4 Tampilan Pertama Project Baru

Memasang File Jar(Setting Class Path)
Memasang file jar ke dalam aplikasi adalah pekerjaan yang sangat penting, karena dengan
begitu integritas dan fleksibilitas untuk pengembangan program sangat mudah. Mungkin anda
pernah memahami bagaimana file dll dalam windows bekerja. Dengan adanya sebuah dll
tertentu, bisa dipakai secara bersama-sama oleh aplikasi lain. Dalam aplikasi ini, kita akan
memasang distribusi file sebagai komponen penghubung database. Buatlah susunan folder
program dan setingan file jar yang sudah disiapkan:

      Buatlah folder lib pada folder D:\Apliksi Penjualan Barang\AplikasiPenjualan\kemudian
      kopi file mysql-connector-java-5.1.6-bin.




   6. Langkah selanjutnya kita akan membuat Database.java dengan cara klik kanan New ->
      Java Class , kemudian masukkan kode program seperti dibawah ini.




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        11
                       Gambar 1.5 Membuat Java Class File


package penjualan;
import java.io.FileInputStream;
import java.util.Properties;
import javax.swing.JOptionPane;
/**
 *
 * @author REVOLPER
 */
public class Database {
public Properties mypanel, myLanguage;
private String strNamePanel;
public Database(){
}
public String SettingPanel(String nmPanel){
   try {
   mypanel = new Properties();
   mypanel.load(new FileInputStream("lib/database.ini"));
   strNamePanel = mypanel.getProperty(nmPanel);
   } catch (Exception e) {
 JOptionPane.showMessageDialog(null,"Tidak ada koneksi","Error",
 JOptionPane.INFORMATION_MESSAGE);
      System.err.println(e.getMessage());
      System.exit(0);
   }
  return strNamePanel;
}
}




                Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   12
    Memasang Driver MySQL
Untuk bisa melakukan hubungan atau koneksi dengan database MySQL, Anda harus memasang
driver-nya. Caranya adalah:

   1. Dari jendela Project pilih Libraries kemudian klik kanan pilih Add JAR/Folder… kemudian
      klik Open.




                      Gambar 1.6 Penentuan File Driver MySQL sendiri

    Membuat Desain Form Data Jenis Barang

Sekarang saatnya membuat form data jenis barang agar petugas dapat mengetahu dan
menginput jenis barang. Lakukan beberapa langkah berikut ini:

   1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
      AplikasiPenjualan, Pilih New -> JFrame Form....




                             Gambar 1.7 Membuat Objek Baru

                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          13
2. Pada jendela New JFrame Form, isikan FrmJenis pada kotak isian Class Name, dan
   Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.




                 Gambar 1.8 Menentukan Nama Form JFrame Form




                           Gambar 1.9 Desain Form Baru

                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        14
   3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                           Gambar 1.10 Desain Form Jenis Barang

Keterangan :


Tabel 1.9 Daftar Propertis yang digunakan

                                                          Propertis
                 Pallete
                                              Edit Text          Change Variable Name
   Label1                            Kode Jenis               jLabel1
   Label2                            Jenis Barang             jLabel2
   Text Field1                       KodeJenis                KodeJenis
   Text Field2                       Jenis                    Jenis
   Button1                           Add New                  AddNew
   Button2                           Save                     Save
   Button3                           Update                   Update
   Button4                           Delete                   Delete
   Button5                           Cancel                   Cancel
   Button6                           Close                    Close
   Table                             -                        Table




                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA       15
Syntax Program

    1.   Pada bagian import tambahkan dibawah baris package penjuaan sepeti kode berikut:


         package penjualan;
         import javax.swing.*;
         import java.awt.*;
         import java.awt.event.*;
         import java.sql.*;

    2.   Pada bagian public class FrmJenis extends javax.swing.JFrame tambahkan kode berikut:


         public class FrmJenis extends javax.swing.JFrame {
         Database dbsetting;
         String driver,database,user,pass;
         private Object tabel;
         /** Creates new form FrmJenis */
         public FrmJenis() {
         initComponents();
         Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
              Dimension frameSize=this.getSize();
              if(frameSize.height > screenSize.height){
                 frameSize.height=screenSize.height;
              }
              if(frameSize.width > screenSize.width){
                 frameSize.width=screenSize.width;
              }
              this.setLocation((screenSize.width - frameSize.width) / 2,
              (screenSize.height = screenSize.height) / 4);

               dbsetting = new Database();
               driver = dbsetting.SettingPanel("DBDriver");
               database = dbsetting.SettingPanel("DBDatabase");
               user = dbsetting.SettingPanel("DBUsername");
               pass = dbsetting.SettingPanel("DBPassword");
               table.setModel(tableModel);
               Tabel(table, new int[]{90,370});
               setDefaultTable();
               SetEditOff();
           }

    3.   Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data pada
         tabel seperti berikut:
                          Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 16
Private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    int kolom=tb.getColumnCount();
    for(int i=0;i < kolom;i++) {
       javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
       tbc.setPreferredWidth(lebar[i]);
       tb.setRowHeight(17);
    }
  }

private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"Kode Jenis","Jenis Barang"}
){
boolean[] canEdit = new boolean[]{
false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex){
return canEdit[columnIndex];
}
};
}

String data[]=new String[2];
private void setDefaultTable() {
String stat ="";
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM tbljenis";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
tableModel.addRow(data);
     }
     res.close();
     stt.close();
     kon.close();
     } catch (Exception ex) {


                 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA      17
               System.err.println(ex.getMessage());
           }
       }

4.   Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan
     disembarang tempat yang memiliki space kosong seperti berikut ini:



     int row = 0;
      public void Tampil(){
         row = table.getSelectedRow();
         KodeJenis.setText(tableModel.getValueAt(row, 0).toString());
         Jenis.setText(tableModel.getValueAt(row, 1).toString());
         Save.setEnabled(false);
         Update.setEnabled(true);
         Delete.setEnabled(true);
         SetEditOn();
      }

5.   Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong
     seperti berikut ini:

     public void BersihData(){
        KodeJenis.setText("");
        Jenis.setText("");
      }
      public void SetEditOff(){
        KodeJenis.setEnabled(false);
        Jenis.setEnabled(false);
      }
      public void SetEditOn(){
        KodeJenis.setEnabled(true);
        Jenis.setEnabled(true);
      }

6.     Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
       ActionPerformed.
     private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
          BersihData();
          KodeJenis.requestFocus();
          Save.setEnabled(true);
          Update.setEnabled(false);
          Delete.setEnabled(false);
          SetEditOn();
     }
                          Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                18
7.   Buatlah kode program save dengan mengklik kanan button save ->evens -> action -> ActionPerformed.

     private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String KJ=KodeJenis.getText();
         String J=Jenis.getText();

     if ((KJ.isEmpty()) | (J.isEmpty()))
     {JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
     KodeJenis.requestFocus();
     }else {

           try {
     Class.forName(driver);
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement();
     String SQL = "insert into tbljenis values(' "+KodeJenis.getText()+" ' , "+
                  " ' "+Jenis.getText()+"')";

           stt.executeUpdate(SQL);
           data[0] = KodeJenis.getText();
           data[1] = Jenis.getText();
           tableModel.insertRow(0, data);
           stt.close();
           kon.close();
           BersihData();
           Save.setEnabled(false);
           SetEditOff();
           } catch (Exception ex) {
              System.err.println(ex.getMessage());
           }
           }
       }

8.   Buatlah kode program even Click            dengan mengklik kanan table(grid) ->evens -> Mouse ->
     MouseClicked.

     private void tableMouseClicked(java.awt.event.MouseEvent evt) {
         // TODO add your handling code here:
          if (evt.getClickCount()==1) {
             Tampil();
         }
       }



                         Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 19
9.   Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
     ActionPerformed.

     private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
          String KJ=KodeJenis.getText();
          String J=Jenis.getText();

     if ((KJ.isEmpty()) | (J.isEmpty()))
     {JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
     KodeJenis.requestFocus();
     }else {

            try {
     Class.forName(driver);
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement();
     String SQL = "Update tbljenis set jenis=' "+Jenis.getText()+" ' "+
                       "Where kodejenis=' "+KodeJenis.getText()+" ' ";
          stt.executeUpdate(SQL);
          data[0] = KodeJenis.getText();
          data[1] = Jenis.getText();
          tableModel.removeRow(row);
          tableModel.insertRow(row,data);
          stt.close();
          kon.close();
          BersihData();
          Save.setEnabled(false);
          SetEditOff();
          } catch (Exception ex) {
             System.err.println(ex.getMessage());
          }
          }
       }

10. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
    ActionPerformed.

     private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String KJ=KodeJenis.getText();
         String J=Jenis.getText();

     if ((KJ.isEmpty()) | (J.isEmpty()))
     {JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
     KodeJenis.requestFocus();

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA           20
   }else {
   try {
   Class.forName(driver);
   Connection kon = DriverManager.getConnection(database,user,pass);
   Statement stt = kon.createStatement();
   String SQL = "Delete From tbljenis Where kodejenis='"+KodeJenis.getText().toString()+"'";
         stt.executeUpdate(SQL);
         data[0] = KodeJenis.getText();
         data[1] = Jenis.getText();
         tableModel.removeRow(row);
         stt.close();
         kon.close();
         BersihData();
         Save.setEnabled(false);
         SetEditOff();
         } catch (Exception ex) {
            System.err.println(ex.getMessage());
         }
         }
      }

11. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.

    private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button OK",
        "Information",JOptionPane.OK_CANCEL_OPTION,
        JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
        this.dispose();
      }

12. Buatlah kode program Cancel dengan mengklik kanan button Cancel ->evens -> action ->
    ActionPerformed.

   private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       BersihData();
       SetEditOff();
   }



13. Jalankan Program kemudian klik menu Data Jenis Barang maka akan tampil seperti berikut:




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                             21
                   Gambar 1.11 Tampilan Program Data Jenis Barang



Membuat Desain Form Data Barang


  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.




                          Gambar 1.12 Membuat Objek Baru


  2. Pada jendela New JFrame Form, isikan FrmBarang pada kotak isian Class Name, dan
     Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.


                    Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA         22
                 Gambar 1.13 Menentukan Nama Form JFrame Form




                           Gambar 1.14 Desain Form Baru

3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   23
                           Gambar 1.15 Desain Form Data Barang



Keterangan :


Tabel 1.9 Daftar Propertis yang digunakan

                                                          Propertis
                 Pallete
                                              Edit Text          Change Variable Name
   Label1                            Kode Barang              jLabel1
   Label2                            Nama Barang              jLabel2
   Label3                            Kode Jenis Barang        jLabel3
   Label4                            Jenis Barang             jLabel4
   Label5                            Harga Net                jLabel5
   Label6                            Harga Jual               jLabel6
   Label7                            Stok                     jLabel7
   Label8                            Rp                       jLabel8
   Label9                            Rp                       jLabel9
   TextField1                        -                        KodeBarang
   Text Field2                       -                        NamaBarang
   ComboBox1                         -                        KodeJenis
   TextField3                        -                        Jenis
   TextField4                        -                        HargaNet

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA       24
   TextField5                          -                           HargaJual
   TextField6                          -                           Stok
   Button1                             Add New                     AddNew
   Button2                             Save                        Save
   Button3                             Update                      Update
   Button4                             Delete                      Delete
   Button5                             Cancel                      Cancel
   Button6                             Close                       Close
   Table                               -                           table


Syntax Program

    1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:

       package penjualan;
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import java.sql.*;



    2. Pada bagian public class FrmBarang extends javax.swing.JFrame tambahkan kode berikut:

        public class FrmBarang extends javax.swing.JFrame {
        Database dbsetting;
        String driver,database,user,pass,userLogin;
        private Object tabel;
        /** Creates new form FrmBarang */
        public FrmBarang() {
          initComponents();
          Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
          Dimension frameSize=this.getSize();
          if(frameSize.height > screenSize.height){
             frameSize.height=screenSize.height;
          }
          if(frameSize.width > screenSize.width){
             frameSize.width=screenSize.width;
          }
          this.setLocation((screenSize.width - frameSize.width) / 2,
          (screenSize.height = screenSize.height) / 6);

          //setting untuk memanggil koneksi Database.ini

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA              25
        dbsetting = new Database();
        driver = dbsetting.SettingPanel("DBDriver");
        database = dbsetting.SettingPanel("DBDatabase");
        user = dbsetting.SettingPanel("DBUsername");
        pass = dbsetting.SettingPanel("DBPassword");
        table.setModel(tableModel);
        Tabel(table, new int[]{90,300,90,90,90,70});
        setDefaultTable();
        SetEditOff();
        TampilComboJenis();
    }

3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan
   data pada tabel seperti berikut:

  private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();

     private void Tabel(javax.swing.JTable tb, int lebar[] ) {
      tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
      int kolom=tb.getColumnCount();
      for(int i=0;i < kolom;i++) {
         javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
         tbc.setPreferredWidth(lebar[i]);
         tb.setRowHeight(17);
      }
    }

  private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
  return new javax.swing.table.DefaultTableModel(
  new Object[][] {},
  new String [] {"Kode Barang","Nama Barang","Kode Jenis","Harga NET","Harga Jual","Stok"}
  ){
  boolean[] canEdit = new boolean[]{
  false, false, false, false
  };
  public boolean isCellEditable(int rowIndex, int columnIndex){
  return canEdit[columnIndex];
  }
  };
  }


                    Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               26
  String data[]=new String[6];
  private void setDefaultTable() {
  String stat ="";
  try {
  Class.forName(driver);
  Connection kon = DriverManager.getConnection(database,user,pass);
  Statement stt = kon.createStatement();
  String SQL = "SELECT * FROM tblbarang";
  ResultSet res = stt.executeQuery(SQL);
  while(res.next()){
  data[0] = res.getString(1);
  data[1] = res.getString(2);
  data[2] = res.getString(3);
  data[3] = res.getString(4);
  data[4] = res.getString(5);
  data[5] = res.getString(6);
  tableModel.addRow(data);
        }
        res.close();
        stt.close();
        kon.close();
        } catch (Exception ex) {
           System.err.println(ex.getMessage());
        }
    }

4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan
   disembarang tempat yang memiliki space kosong seperti berikut ini:
       int row = 0;
        public void Tampil(){
        row = table.getSelectedRow();
        KodeBarang.setText(tableModel.getValueAt(row, 0).toString());
        NamaBarang.setText(tableModel.getValueAt(row, 1).toString());
        KodeJenis.setSelectedItem(tableModel.getValueAt(row, 2).toString());
        HargaNet.setText(tableModel.getValueAt(row, 3).toString());
        HargaJual.setText(tableModel.getValueAt(row, 4).toString());
        Stok.setText(tableModel.getValueAt(row, 5).toString());
        Save.setEnabled(false);
        Update.setEnabled(true);
        Delete.setEnabled(true);
        SetEditOn();
   }

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA     27
5.   Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong
     seperti berikut ini:

     public void BersihData(){
        KodeBarang.setText("");
        NamaBarang.setText("");
        KodeJenis.setSelectedIndex(0);
        Jenis.setText("");
        HargaNet.setText("");
        HargaJual.setText("");
        Stok.setText("0");
      }

     public void SetEditOff(){
       KodeBarang.setEnabled(false);
       NamaBarang.setEnabled(false);
       KodeJenis.setEnabled(false);
       HargaNet.setEnabled(false);
       HargaJual.setEnabled(false);
       Stok.setEnabled(false);
     }

     public void SetEditOn(){
       KodeBarang.setEnabled(true);
       NamaBarang.setEnabled(true);
       KodeJenis.setEnabled(true);
       HargaNet.setEnabled(true);
       HargaJual.setEnabled(true);
       Stok.setEnabled(true);
     }

6.   Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.
     private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         BersihData();
         KodeBarang.requestFocus();
         Save.setEnabled(true);
         Update.setEnabled(false);
         Delete.setEnabled(false);
         SetEditOn();
       }

                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                     28
7.   Buatlah perintah untuk menampilkan data pada kombo jenis dengan mengklik kanan kombojenis ->
     events -> item -> itemStateChange.

     private void KodeJenisItemStateChanged(java.awt.event.ItemEvent evt) {
          // TODO add your handling code here:
          try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tbljenis where kodejenis='"+
     KodeJenis.getSelectedItem().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     res.absolute(1);
     Jenis.setText(res.getString("jenis"));
          } catch (SQLException ex) {
          }
       }

8.   Butlah kode program tambahan untuk menampilkan data pada kombo kodejenis dengan membuat
     private baru seperti berikut.

     public void TampilComboJenis(){
     try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tbljenis";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     KodeJenis.addItem(res.getString("kodejenis"));
     }
           } catch (SQLException ex) {
           }
       }

9.   Buatlah kode program save dengan mengklik kanan button save ->events -> action -> ActionPerformed.

     private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String KB=KodeBarang.getText();
         String NB=NamaBarang.getText();
         String KJ=KodeJenis.getSelectedItem().toString();

                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                     29
         String HN=HargaNet.getText();
         String HJ=HargaJual.getText();
         String ST=Stok.getText();

 if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty()) |(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
  JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
  KodeBarang.requestFocus();
         }else {

             try {
               Class.forName(driver);
               Connection kon = DriverManager.getConnection(database,user,pass);
               Statement stt = kon.createStatement();
               String SQL = "insert into tblbarang values('"+KodeBarang.getText()+"',"+
                    "'"+NamaBarang.getText()+"',"+
                    "'"+KodeJenis.getSelectedItem()+"',"+
                    "'"+HargaNet.getText()+"',"+
                    "'"+HargaJual.getText()+"',"+
                    "'"+Stok.getText()+"')";

                stt.executeUpdate(SQL);
                data[0] = KodeBarang.getText();
                data[1] = NamaBarang.getText();
                data[2] = KodeJenis.getSelectedItem().toString();
                data[3] = HargaNet.getText();
                data[4] = HargaJual.getText();
                data[5] = Stok.getText();
                tableModel.insertRow(0, data);
                stt.close();
                kon.close();
                BersihData();
                Save.setEnabled(false);
                SetEditOff();
             } catch (Exception ex) {
                System.err.println(ex.getMessage());
             }
         }
     }

10. Buatlah kode program even Click          dengan mengklik kanan table(grid) ->evens -> Mouse ->
    MouseClicked.

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 30
   private void tableMouseClicked(java.awt.event.MouseEvent evt) {
       // TODO add your handling code here:
        if (evt.getClickCount()==1) {
           Tampil();
       }
     }

11. Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
    ActionPerformed.

   private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String KB=KodeBarang.getText();
       String NB=NamaBarang.getText();
       String KJ=KodeJenis.getSelectedItem().toString();
       String HN=HargaNet.getText();
       String HJ=HargaJual.getText();
       String ST=Stok.getText();

if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty()) |(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
   JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
   KodeBarang.requestFocus();
          }else {

          try {
            Class.forName(driver);
            Connection kon = DriverManager.getConnection(database,user,pass);
            Statement stt = kon.createStatement();
            String SQL = "Update tblbarang Set namabarang='"+NamaBarang.getText()+"',"+
                      "kodejenis='"+KodeJenis.getSelectedItem()+"',"+
                      "harganet='"+HargaNet.getText()+"',"+
                      "hargajual='"+HargaJual.getText()+"',"+
                      "stok='"+Stok.getText()+"'"+
                      "Where kodebarang='"+KodeBarang.getText()+"'";

            stt.executeUpdate(SQL);
            data[0] = KodeBarang.getText();
            data[1] = NamaBarang.getText();
            data[2] = KodeJenis.getSelectedItem().toString();
            data[3] = HargaNet.getText();
            data[4] = HargaJual.getText();

                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    31
                 data[5] = Stok.getText();
                 tableModel.removeRow(row);
                 tableModel.insertRow(row,data);
                 stt.close();
                 kon.close();
                 BersihData();
                 Save.setEnabled(false);
                 SetEditOff();
              } catch (Exception ex) {
                 System.err.println(ex.getMessage());
              }
          }
      }

12. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
    ActionPerformed.

   private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String KB=KodeBarang.getText();
       String NB=NamaBarang.getText();
       String KJ=KodeJenis.getSelectedItem().toString();
       String HN=HargaNet.getText();
       String HJ=HargaJual.getText();
       String ST=Stok.getText();

if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty()) |(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
   JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
   KodeBarang.requestFocus();
          }else {

              try {
                Class.forName(driver);
                Connection kon = DriverManager.getConnection(database,user,pass);
                Statement stt = kon.createStatement();
                String SQL = "Delete From tblbarang Where
                 kodebarang='"+KodeBarang.getText().toString()+"'";
                stt.executeUpdate(SQL);
                data[0] = KodeBarang.getText();
                data[1] = NamaBarang.getText();
                data[2] = KodeJenis.getSelectedItem().toString();
                data[3] = HargaNet.getText();

                        Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 32
                 data[4] = HargaJual.getText();
                 data[5] = Stok.getText();
                 tableModel.removeRow(row);
                 stt.close();
                 kon.close();
                 BersihData();
                 Save.setEnabled(false);
                 SetEditOff();
              } catch (Exception ex) {
                 System.err.println(ex.getMessage());
              }
          }
      }


 13. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.

private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
 if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button
  OK","Information",
  JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI
  ON)
       this.dispose();
         }

 14. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action ->
     ActionPerformed.

 private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
     BersihData();
     SetEditOff();
   }

 15. Jalankan Program kemudian klik menu Data Barang maka akan tampil seperti berikut:




                        Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                  33
                        Gambar 1.16 Tampilan Data Barang



Membuat Desain Form Data Petugas


  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.




                         Gambar 1.17 Membuat Objek Baru
                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   34
2. Pada jendela New JFrame Form, isikan FrmPetugas pada kotak isian Class Name, dan
   Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.




                Gambar 1.18 Menentukan Nama Form JFrame Form




                          Gambar 1.19 Desain Form Baru

                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          35
   3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                           Gambar 1.20 Desain Form Data Petugas



Keterangan :


Tabel 1.10 Daftar Propertis yang digunakan

                                                         Propertis
                 Pallete
                                             Edit Text          Change Variable Name
   Label1                            ID Petugas              jLabel1
   Label2                            Nama Petugas            jLabel2
   Label3                            Alamat Petugas          jLabel3
   Label4                            E-Mail                  jLabel4
   Label5                            Telpon                  jLabel5
   TextField1                        -                       IDPetugas
   Text Field2                       -                       NamaPetugas
   TextArea1                         -                       Alamat
   TextField3                        -                       Email

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA      36
   TextField4                          -                           Telpon
   Button1                             Add New                     AddNew
   Button2                             Save                        Save
   Button3                             Update                      Update
   Button4                             Delete                      Delete
   Button5                             Cancel                      Cancel
   Button6                             Close                       Close
   Table                               -                           table


Syntax Program

    1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:

       package penjualan;
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import java.sql.*;



   2. Pada bagian public class FrmPetugas extends javax.swing.JFrame tambahkan kode berikut:

        public class Frmpetugas extends javax.swing.JFrame {
         Database dbsetting;
         String driver,database,user,pass,userLogin;
         private Object tabel;
         /** Creates new form Frmpetugas */
         public Frmpetugas() {
           initComponents();
           Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
           Dimension frameSize=this.getSize();
           if(frameSize.height > screenSize.height){
              frameSize.height=screenSize.height;
           }
           if(frameSize.width > screenSize.width){
              frameSize.width=screenSize.width;
           }
           this.setLocation((screenSize.width - frameSize.width) / 2,
           (screenSize.height = screenSize.height) / 6);

           //setting untuk memanggil koneksi Database.ini
            dbsetting = new Database();

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA              37
          driver = dbsetting.SettingPanel("DBDriver");
          database = dbsetting.SettingPanel("DBDatabase");
          user = dbsetting.SettingPanel("DBUsername");
          pass = dbsetting.SettingPanel("DBPassword");
          table.setModel(tableModel);
          Tabel(table, new int[]{90,300,340,260,100});
          setDefaultTable();
          SetEditOff();
      }

3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data
   pada tabel seperti berikut:

   private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();

      private void Tabel(javax.swing.JTable tb, int lebar[] ) {
       tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
       int kolom=tb.getColumnCount();
       for(int i=0;i < kolom;i++) {
          javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
          tbc.setPreferredWidth(lebar[i]);
          tb.setRowHeight(17);
       }
     }

   private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
   return new javax.swing.table.DefaultTableModel(
   new Object[][] {},
   new String [] {"ID Petugas","Nama Petugas","Alamat Petugas","Alamat E-Mail","Telpon"}
   ){
   boolean[] canEdit = new boolean[]{
   false, false, false, false
   };
   public boolean isCellEditable(int rowIndex, int columnIndex){
   return canEdit[columnIndex];
   }
   };
   }




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            38
   String data[]=new String[5];
   private void setDefaultTable() {
   String stat ="";
   try {
   Class.forName(driver);
   Connection kon = DriverManager.getConnection(database,user,pass);
   Statement stt = kon.createStatement();
   String SQL = "SELECT * FROM tblpetugas";
   ResultSet res = stt.executeQuery(SQL);
   while(res.next()){
   data[0] = res.getString(1);
   data[1] = res.getString(2);
   data[2] = res.getString(3);
   data[3] = res.getString(4);
   data[4] = res.getString(5);
   tableModel.addRow(data);
         }
         res.close();
         stt.close();
         kon.close();
         } catch (Exception ex) {
            System.err.println(ex.getMessage());
         }
     }

4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan
   disembarang tempat yang memiliki space kosong seperti berikut ini:
   int row = 0;
    public void Tampil(){
       row = table.getSelectedRow();
       IDPetugas.setText(tableModel.getValueAt(row, 0).toString());
       NamaPetugas.setText(tableModel.getValueAt(row, 1).toString());
       Alamat.setText(tableModel.getValueAt(row, 2).toString());
       Email.setText(tableModel.getValueAt(row, 3).toString());
       Telpon.setText(tableModel.getValueAt(row, 4).toString());
       Save.setEnabled(false);
       Update.setEnabled(true);
       Delete.setEnabled(true);
       SetEditOn();
    }


                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA         39
5.   Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong
     seperti berikut ini:

     public void BersihData(){
        IDPetugas.setText("");
        NamaPetugas.setText("");
        Alamat.setText("");
        Email.setText("");
        Telpon.setText("");
      }

      public void SetEditOff(){
        IDPetugas.setEnabled(false);
        NamaPetugas.setEnabled(false);
        Alamat.setEnabled(false);
        Email.setEnabled(false);
        Telpon.setEnabled(false);
      }

      public void SetEditOn(){
        IDPetugas.setEnabled(true);
        NamaPetugas.setEnabled(true);
        Alamat.setEnabled(true);
        Email.setEnabled(true);
        Telpon.setEnabled(true);
      }



6.   Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.


     private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         BersihData();
         IDPetugas.requestFocus();
         Save.setEnabled(true);
         Update.setEnabled(false);
         Delete.setEnabled(false);
         SetEditOn();
       }




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    40
7.   Buatlah kode program save dengan mengklik kanan button save ->events -> action -> ActionPerformed.

     private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String ID=IDPetugas.getText();
         String NM=NamaPetugas.getText();
         String AM=Alamat.getText();
         String EM=Email.getText();
         String TP=Telpon.getText();

           if ((ID.isEmpty()) | (NM.isEmpty()) |(AM.isEmpty()) |(EM.isEmpty())|(TP.isEmpty())) {
              JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
              IDPetugas.requestFocus();
           }else {

               try {
                 Class.forName(driver);
                 Connection kon = DriverManager.getConnection(database,user,pass);
                 Statement stt = kon.createStatement();
                 String SQL = "insert into tblpetugas values('"+IDPetugas.getText()+"',"+
                      "'"+NamaPetugas.getText()+"',"+
                      "'"+Alamat.getText()+"',"+
                      "'"+Email.getText()+"',"+
                      "'"+Telpon.getText()+"')";

                  stt.executeUpdate(SQL);
                  data[0] = IDPetugas.getText();
                  data[1] = NamaPetugas.getText();
                  data[2] = Alamat.getText();
                  data[3] = Email.getText();
                  data[4] = Telpon.getText();
                  tableModel.insertRow(0, data);
                  stt.close();
                  kon.close();
                  BersihData();
                  Save.setEnabled(false);
                  SetEditOff();
               } catch (Exception ex) {
                  System.err.println(ex.getMessage());
               }
           }
       }
                         Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                  41
8.   Buatlah kode program even Click dengan mengklik kanan table(grid) ->evens -> Mouse -> MouseClicked.

     private void tableMouseClicked(java.awt.event.MouseEvent evt) {
         // TODO add your handling code here:
          if (evt.getClickCount()==1) {
             Tampil();
         }
       }

9.   Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
     ActionPerformed.

     private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String ID=IDPetugas.getText();
         String NM=NamaPetugas.getText();
         String AM=Alamat.getText();
         String EM=Email.getText();
         String TP=Telpon.getText();

         if ((ID.isEmpty()) | (NM.isEmpty()) |(AM.isEmpty()) |(EM.isEmpty())|(TP.isEmpty())) {
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
            IDPetugas.requestFocus();
         }else {

           try {
             Class.forName(driver);
             Connection kon = DriverManager.getConnection(database,user,pass);
             Statement stt = kon.createStatement();
             String SQL = "Update tblpetugas set namapetugas='"+NamaPetugas.getText()+"',"+
                       "alamat='"+Alamat.getText()+"',"+
                       "email='"+Email.getText()+"',"+
                       "telpon='"+Telpon.getText()+"'"+
                       "Where idpetugas='"+IDPetugas.getText()+"'";
             stt.executeUpdate(SQL);
             data[0] = IDPetugas.getText();
             data[1] = NamaPetugas.getText();
             data[2] = Alamat.getText();
             data[3] = Email.getText();
             data[4] = Telpon.getText();
             tableModel.removeRow(row);

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    42
                tableModel.insertRow(row,data);
                stt.close();
                kon.close();
                BersihData();
                Save.setEnabled(false);
                SetEditOff();
             } catch (Exception ex) {
                System.err.println(ex.getMessage());
             }
         }
     }

10. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
    ActionPerformed.

   private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String ID=IDPetugas.getText();
       String NM=NamaPetugas.getText();
       String AM=Alamat.getText();
       String EM=Email.getText();
       String TP=Telpon.getText();

         if ((ID.isEmpty()) | (NM.isEmpty()) |(AM.isEmpty()) |(EM.isEmpty())|(TP.isEmpty())) {
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
            IDPetugas.requestFocus();
         }else {

             try {
               Class.forName(driver);
               Connection kon = DriverManager.getConnection(database,user,pass);
               Statement stt = kon.createStatement();
               String SQL = "Delete From tblpetugas Where
               idpetugas='"+IDPetugas.getText().toString()+"'";
               stt.executeUpdate(SQL);
               data[0] = IDPetugas.getText();
               data[1] = NamaPetugas.getText();
               data[2] = Alamat.getText();
               data[3] = Email.getText();
               data[4] = Telpon.getText();
               tableModel.removeRow(row);

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 43
                 stt.close();
                 kon.close();
                 BersihData();
                 Save.setEnabled(false);
                 SetEditOff();
              } catch (Exception ex) {
                 System.err.println(ex.getMessage());
              }
          }
      }

11. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.

private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
 if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button
  OK","Information",
  JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI
  ON)
       this.dispose();
         }

12. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action ->
    ActionPerformed.

 private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
     BersihData();
     SetEditOff();
   }

 13. Jalankan Program kemudian klik menu Data Petugas maka akan tampil seperti berikut:




                        Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                  44
                       Gambar 1.21 Tampilan Form Data Petugas

Membuat Desain Form Data Distributor


  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.




                           Gambar 1.22 Membuat Objek Baru

  2. Pada jendela New JFrame Form, isikan FrmDistributor pada kotak isian Class Name, dan
     Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.


                    Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA       45
Gambar 1.23 Menentukan Nama Form JFrame Form




         Gambar 1.24 Desain Form Baru




 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   46
   3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                          Gambar 1.25 Desain Form Data Distributor



Keterangan :


Tabel 1.11 Daftar Propertis yang digunakan

                                                          Propertis
                Pallete
                                              Edit Text          Change Variable Name
   Label1                            ID Distributor           jLabel1
   Label2                            Nama Distributor         jLabel2
   Label3                            Alamat Distributor       jLabel3
   Label4                            Kota Asal                jLabel4
   Label5                            E-Mail                   jLabel5
   Label6                            Telpon                   jLabel6
   TextField1                        -                        IDDistributor
   TextField2                        -                        NamaDistributor
   TextArea1                         -                        Alamat
   TextField3                        -                        KotaAsal

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        47
   TextField4                           -                          Email
   TextField5                                                      Telpon
   Button1                              Add New                    AddNew
   Button2                              Save                       Save
   Button3                              Update                     Update
   Button4                              Delete                     Delete
   Button5                              Cancel                     Cancel
   Button6                              Close                      Close
   Table                                -                          table


Syntax Program

    1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:

       package penjualan;
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import java.sql.*;



   2. Pada bagian public class FrmDistributor extends javax.swing.JFrame tambahkan kode berikut:

        public class Frmdistributor extends javax.swing.JFrame {
         Database dbsetting;
         String driver,database,user,pass,userLogin;
         private Object tabel;
         /** Creates new form Frmdistributor */
         public Frmdistributor() {
           initComponents();
           Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
           Dimension frameSize=this.getSize();
           if(frameSize.height > screenSize.height){
              frameSize.height=screenSize.height;
           }
           if(frameSize.width > screenSize.width){
              frameSize.width=screenSize.width;
           }
           this.setLocation((screenSize.width - frameSize.width) / 2,
           (screenSize.height = screenSize.height) / 6);

           //setting untuk memanggil koneksi Database.ini

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA             48
          dbsetting = new Database();
          driver = dbsetting.SettingPanel("DBDriver");
          database = dbsetting.SettingPanel("DBDatabase");
          user = dbsetting.SettingPanel("DBUsername");
          pass = dbsetting.SettingPanel("DBPassword");
          table.setModel(tableModel);
          Tabel(table, new int[]{90,300,340,260,260,100});
          setDefaultTable();
          SetEditOff();
      }



3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data
   pada tabel seperti berikut:

    private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();

       private void Tabel(javax.swing.JTable tb, int lebar[] ) {
        tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        int kolom=tb.getColumnCount();
        for(int i=0;i < kolom;i++) {
           javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
           tbc.setPreferredWidth(lebar[i]);
           tb.setRowHeight(17);
        }
      }

    private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
    return new javax.swing.table.DefaultTableModel(
    new Object[][] {},
    new String [] {"ID Distributor","Nama Distributor","Alamat Distributor","Kota Asal",
    "Alamat E-Mail","Telpon"}
    ){
    boolean[] canEdit = new boolean[]{
    false, false, false, false
    };
    public boolean isCellEditable(int rowIndex, int columnIndex){
    return canEdit[columnIndex];
    }
    };
    }
                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            49
     String data[]=new String[6];
     private void setDefaultTable() {
     String stat ="";
     try {
     Class.forName(driver);
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement();
    String SQL = "SELECT * FROM tbldistributor";
    ResultSet res = stt.executeQuery(SQL);
    while(res.next()){
    data[0] = res.getString(1);
    data[1] = res.getString(2);
    data[2] = res.getString(3);
    data[3] = res.getString(4);
    data[4] = res.getString(5);
    data[5] = res.getString(6);
    tableModel.addRow(data);
         }
         res.close();
         stt.close();
         kon.close();
         } catch (Exception ex) {
            System.err.println(ex.getMessage());
         }
       }

4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan
   disembarang tempat yang memiliki space kosong seperti berikut ini:
   int row = 0;
    public void Tampil(){
       row = table.getSelectedRow();
       IDDistributor.setText(tableModel.getValueAt(row, 0).toString());
       NamaDistributor.setText(tableModel.getValueAt(row, 1).toString());
       Alamat.setText(tableModel.getValueAt(row, 2).toString());
       KotaAsal.setText(tableModel.getValueAt(row, 3).toString());
       Email.setText(tableModel.getValueAt(row, 4).toString());
       Telpon.setText(tableModel.getValueAt(row, 5).toString());
       Save.setEnabled(false);
       Update.setEnabled(true);
       Delete.setEnabled(true);
       SetEditOn();
    }

                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA      50
5.   Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong
     seperti berikut ini:

     public void BersihData(){
        IDDistributor.setText("");
        NamaDistributor.setText("");
        Alamat.setText("");
        KotaAsal.setText("");
        Email.setText("");
        Telpon.setText("");
      }

      public void SetEditOff(){
        IDDistributor.setEnabled(false);
        NamaDistributor.setEnabled(false);
        Alamat.setEnabled(false);
        KotaAsal.setEnabled(false);
        Email.setEnabled(false);
        Telpon.setEnabled(false);
      }

      public void SetEditOn(){
         IDDistributor.setEnabled(true);
        NamaDistributor.setEnabled(true);
        Alamat.setEnabled(true);
        KotaAsal.setEnabled(true);
        Email.setEnabled(true);
        Telpon.setEnabled(true);
      }

6.   Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.


     private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         BersihData();
         IDDistributor.requestFocus();
         Save.setEnabled(true);
         Update.setEnabled(false);
         Delete.setEnabled(false);
         SetEditOn();
       }

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    51
7.   Buatlah kode program save dengan mengklik kanan button save ->events -> action -> ActionPerformed.

     private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String ID=IDDistributor.getText();
         String ND=NamaDistributor.getText();
         String AM=Alamat.getText();
         String KA=KotaAsal.getText();
         String EM=Email.getText();
         String TP=Telpon.getText();

if ((ID.isEmpty()) | (ND.isEmpty()) |(AM.isEmpty()) |(KA.isEmpty())|(EM.isEmpty())|(TP.isEmpty()))
      {
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
            IDDistributor.requestFocus();
          }else {

           try {
             Class.forName(driver);
             Connection kon = DriverManager.getConnection(database,user,pass);
             Statement stt = kon.createStatement();
             String SQL = "insert into tbldistributor values('"+IDDistributor.getText()+"',"+
                  "'"+NamaDistributor.getText()+"',"+
                  "'"+Alamat.getText()+"',"+
                  "'"+KotaAsal.getText()+"',"+
                  "'"+Email.getText()+"',"+
                  "'"+Telpon.getText()+"')";

              stt.executeUpdate(SQL);
              data[0] = IDDistributor.getText();
              data[1] = NamaDistributor.getText();
              data[2] = Alamat.getText();
              data[3] = KotaAsal.getText();
              data[4] = Email.getText();
              data[5] = Telpon.getText();
              tableModel.insertRow(0, data);
              stt.close();
              kon.close();
              BersihData();
              Save.setEnabled(false);
              SetEditOff();

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                     52
       } catch (Exception ex) {
              System.err.println(ex.getMessage());
            }
          }
       }

8.   Buatlah kode program even Click dengan mengklik kanan table(grid) ->evens -> Mouse -> MouseClicked.

     private void tableMouseClicked(java.awt.event.MouseEvent evt) {
         // TODO add your handling code here:
          if (evt.getClickCount()==1) {
             Tampil();
         }
       }

9.   Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
     ActionPerformed.

     private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         String ID=IDDistributor.getText();
         String ND=NamaDistributor.getText();
         String AM=Alamat.getText();
         String KA=KotaAsal.getText();
         String EM=Email.getText();
         String TP=Telpon.getText();

         if ((ID.isEmpty()) | (ND.isEmpty()) |(AM.isEmpty())
     |(KA.isEmpty())|(EM.isEmpty())|(TP.isEmpty())) {
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
            IDDistributor.requestFocus();
         }else {

           try {
             Class.forName(driver);
             Connection kon = DriverManager.getConnection(database,user,pass);
             Statement stt = kon.createStatement();
             String SQL = "Update tbldistributor Set
             namadistributor='"+NamaDistributor.getText()+"',"+
                       "alamat='"+Alamat.getText()+"',"+
                       "kotaasal='"+KotaAsal.getText()+"',"+

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    53
                        "email='"+Email.getText()+"',"+
                        "telpon='"+Telpon.getText()+"'"+
                        "Where iddistributor='"+IDDistributor.getText()+"'";

                stt.executeUpdate(SQL);
                data[0] = IDDistributor.getText();
                data[1] = NamaDistributor.getText();
                data[2] = Alamat.getText();
                data[3] = KotaAsal.getText();
                data[4] = Email.getText();
                data[5] = Telpon.getText();
                tableModel.removeRow(row);
                tableModel.insertRow(row,data);
                stt.close();
                kon.close();
                BersihData();
                Save.setEnabled(false);
                SetEditOff();
             } catch (Exception ex) {
                System.err.println(ex.getMessage());
             }
         }
     }

10. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
    ActionPerformed.

   private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String ID=IDDistributor.getText();
       String ND=NamaDistributor.getText();
       String AM=Alamat.getText();
       String KA=KotaAsal.getText();
       String EM=Email.getText();
       String TP=Telpon.getText();

       if ((ID.isEmpty()) | (ND.isEmpty()) |(AM.isEmpty())
   |(KA.isEmpty())|(EM.isEmpty())|(TP.isEmpty()))
   {
          JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
          IDDistributor.requestFocus();
       }else {

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               54
              try {
                 Class.forName(driver);
                 Connection kon = DriverManager.getConnection(database,user,pass);
                 Statement stt = kon.createStatement();
                 String SQL = "Delete From tbldistributor Where
                 iddistributor='"+IDDistributor.getText().toString()+"'";
                 stt.executeUpdate(SQL);
                 data[0] = IDDistributor.getText();
                 data[1] = NamaDistributor.getText();
                 data[2] = Alamat.getText();
                 data[3] = KotaAsal.getText();
                 data[4] = Email.getText();
                 data[5] = Telpon.getText();
                 tableModel.removeRow(row);
                 stt.close();
                 kon.close();
                 BersihData();
                 Save.setEnabled(false);
                 SetEditOff();
              } catch (Exception ex) {
                 System.err.println(ex.getMessage());
              }
          }
      }

11. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.

private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
 if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button
  OK","Information",
  JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI
  ON)
       this.dispose();
         }

12. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action ->
    ActionPerformed.




                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                   55
   private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       BersihData();
       SetEditOff();
     }

   13. Jalankan Program kemudian klik menu Data Distributor maka akan tampil seperti berikut:




                           Gambar 1.26 Tampilan Form Data Distributor


Membuat Desain Form Data Barang Masuk


  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.



                        Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA              56
                        Gambar 1.27 Membuat Objek Baru

2. Pada jendela New JFrame Form, isikan FrmBrgMasuk pada kotak isian Class Name, dan
   Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.




                Gambar 1.28 Menentukan Nama Form JFrame Form




                 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA     57
                           Gambar 1.29 Desain Form Baru




3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                    Gambar 1.30 Desain Form Data Barang Masuk


                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   58
Keterangan :


Tabel 1.11 Daftar Propertis yang digunakan

                                                            Propertis
                 Pallete
                                              Edit Text            Change Variable Name
   Label1                            Tanggal Barang Masuk       jLabel1
   Label2                            No.Nota                    jLabel2
   Label3                            ID Petugas                 jLabel3
   Label4                            Nama Petugas               jLabel4
   Label5                            ID Distributor             jLabel5
   Label6                            Nama Distributor           jLabel6
   Label7                            Kota Asal                  jLabel7
   Label8                            Kode Barang                jLabel8
   Label9                            Nama Barang                jLabel9
   Label10                           Harga Jual                 jLabel10
   Label11                           Stok                       jLabel11
   Label12                           Jumlah                     jLabel12
   Label13                           Sub Total Rp               jLabel13
   Label14                           Total Rp                   jLabel14
   TextField1                        -                          TglMasuk
   TextField2                        -                          NoNota
   ComboBox1                         -                          IDPetugas
   TextField3                        -                          NamaPetugas
   ComboBox2                         -                          IDDistributor
   TextField4                        -                          NamaDistributor
   TextField5                        -                          KotaAsal
   ComboBox3                         -                          KodeBarang
   TextField6                        -                          NamaBarang
   TextField7                        -                          HargaJual
   TextField8                        -                          Stok
   TextField9                        -                          Jumlah
   TextField10                       -                          SubTotal
   TextField11                       -                          Total
   Button1                           Cari Data                  CariData
   Button2                           Hitung                     Hitung
   Button3                           Add Item                   AddItem
   Button4                           Add New                    AddNew
   Button5                           Save Transaction           SaveTransaction
   Button6                           Close                      Close
   Table                             -                          table




                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA         59
Syntax Program

    1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:

       package penjualan;
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import java.sql.*;



   2. Pada bagian public class FrmBrgMasuk extends javax.swing.JFrame tambahkan kode berikut:

       public class FrmBrgMasuk extends javax.swing.JFrame {
         Database dbsetting;
         String driver,database,user,pass,userLogin;
         private Object tabel;
         /** Creates new form FrmBrgMasuk */
         public FrmBrgMasuk() {
           initComponents();
           Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
           Dimension frameSize=this.getSize();
           if(frameSize.height > screenSize.height){
              frameSize.height=screenSize.height;
           }
           if(frameSize.width > screenSize.width){
              frameSize.width=screenSize.width;
           }
           this.setLocation((screenSize.width - frameSize.width) / 2,
           (screenSize.height = screenSize.height) / 10);

           //setting untuk memanggil koneksi Database.ini
            dbsetting = new Database();
            driver = dbsetting.SettingPanel("DBDriver");
            database = dbsetting.SettingPanel("DBDatabase");
            user = dbsetting.SettingPanel("DBUsername");
            pass = dbsetting.SettingPanel("DBPassword");
            table.setModel(tableModel);
            Tabel(table, new int[]{90,300,90,60,60,90});
            setDefaultTable();
            SetEditOff();
            TanggalOtomatis();

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA             60
          TampilComboBarang();
          TampilComboPetugas();
          TampilComboDistributor();
      }



3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data
   pada tabel seperti berikut:

    private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();

       private void Tabel(javax.swing.JTable tb, int lebar[] ) {
        tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        int kolom=tb.getColumnCount();
        for(int i=0;i < kolom;i++) {
           javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
           tbc.setPreferredWidth(lebar[i]);
           tb.setRowHeight(17);
        }
      }

    private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
    return new javax.swing.table.DefaultTableModel(
    new Object[][] {},
    new String [] {"Kode Barang","Nama Barang","Harga Jual","Stok","Jumlah","Sub Total"}
    ){
    boolean[] canEdit = new boolean[]{
    false, false, false, false
    };
    public boolean isCellEditable(int rowIndex, int columnIndex){
    return canEdit[columnIndex];
    }
    };
    }




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            61
      String data[]=new String[6];
      private void setDefaultTable() {
      String stat ="";
      try {
      Class.forName(driver);
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement();
    String SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual," +
    "tblbarang.stok,tbldetailbrgmasuk.jumlah,tbldetailbrgmasuk.subtotal,tblbrgmasuk.nonota " +
    "FROM tblbarang,tbldetailbrgmasuk,tblbrgmasuk WHERE
    tblbarang.kodebarang=tbldetailbrgmasuk.kodebarang " +
     "AND tblbrgmasuk.nonota=tbldetailbrgmasuk.nonota" +
     "AND tbldetailbrgmasuk.nonota='"+NoNota.getText()+"'";
    ResultSet res = stt.executeQuery(SQL);
    while(res.next()){
    data[0] = res.getString(1);
    data[1] = res.getString(2);
    data[2] = res.getString(3);
    data[3] = res.getString(4);
    data[4] = res.getString(5);
    data[5] = res.getString(6);
    tableModel.addRow(data);
          }
          res.close();
          stt.close();
          kon.close();
          } catch (Exception ex) {
             System.err.println(ex.getMessage());
          }
       }

4. Buatlah private baru TampilGridDetail kemudian buat kode program seperti berikut:

   private void TampilGridDetail(){
    String stat ="";
    try {
    Class.forName(driver);
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement();
    String SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual," +
   "tblbarang.stok,tbldetailbrgmasuk.jumlah,tbldetailbrgmasuk.subtotal,tblbrgmasuk.nonota " +


                   Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               62
     "FROM tblbarang,tbldetailbrgmasuk,tblbrgmasuk WHERE
     tblbarang.kodebarang=tbldetailbrgmasuk.kodebarang " +
     "AND tblbrgmasuk.nonota=tbldetailbrgmasuk.nonota " +
     "AND tbldetailbrgmasuk.nonota='"+NoNota.getText().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     data[0] = res.getString(1);
     data[1] = res.getString(2);
     data[2] = res.getString(3);
     data[3] = res.getString(4);
     data[4] = res.getString(5);
     data[5] = res.getString(6);
     tableModel.addRow(data);
         }
         res.close();
         stt.close();
         kon.close();
         } catch (Exception ex) {
            System.err.println(ex.getMessage());
         }
      }



5.   Buatlah perintah BersihData,BersihDetail,SetEditOff, dan SetEditON disembarang tempat yang memiliki
     space kosong seperti berikut ini:

     public void BersihData(){
        tableModel.setRowCount(0);
        NoNota.setText("");
        IDDistributor.setSelectedIndex(0);
        NamaPetugas.setText("");
        IDPetugas.setSelectedIndex(0);
        NamaDistributor.setText("");
        KotaAsal.setText("");
        KodeBarang.setSelectedIndex(0);
        NamaBarang.setText("");
        HargaJual.setText("");
        Jumlah.setText("");
        Stok.setText("");
        SubTotal.setText("0");
        Total.setText("0");
      }

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    63
       public void BersihDetail(){
       KodeBarang.setSelectedIndex(0);
       NamaBarang.setText("");
       HargaJual.setText("");
       Stok.setText("");
       Jumlah.setText("");
       SubTotal.setText("0");
       }

       public void SetEditOff(){
       NoNota.setEnabled(false);
       TglMasuk.setEnabled(false);
       IDDistributor.setEnabled(false);
       IDPetugas.setEnabled(false);
       KodeBarang.setEnabled(false);
       Jumlah.setEnabled(false);
       Hitung.setEnabled(false);
       CariData.setEnabled(false);
       AddItem.setEnabled(false);
       }

       public void SetEditOn(){
       NoNota.setEnabled(true);
       TglMasuk.setEnabled(true);
       IDDistributor.setEnabled(true);
       IDPetugas.setEnabled(true);
       KodeBarang.setEnabled(true);
       Jumlah.setEnabled(true);
       SaveTransaction.setEnabled(true);
       CariData.setEnabled(true);
       Hitung.setEnabled(true);
       AddItem.setEnabled(true);
       }

6.   Buatlah kode program pada kombobox idpetugas dengan cara klik kanan pilih events -> item ->
     itemStatChanged.

     private void IDPetugasItemStateChanged(java.awt.event.ItemEvent evt) {
         // TODO add your handling code here:
          try {
     Connection kon = DriverManager.getConnection(database,user,pass);


                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA             64
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblpetugas where idpetugas='"+
     IDPetugas.getSelectedItem().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     res.absolute(1);
     NamaPetugas.setText(res.getString("namapetugas"));
          } catch (SQLException ex) {
          }
       }

7.   Buatlah private baru untuk menampilakn data pada kombobox idpetugas seperti berikut:

     public void TampilComboPetugas(){
     try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblpetugas";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     IDPetugas.addItem(res.getString("idpetugas"));
     }
           } catch (SQLException ex) {
           }
       }

8.   Buatlah kode program pada kombobox iddistributor dengan cara klik kanan pilih events -> item ->
     itemStatChanged.

     private void IDDistributorItemStateChanged(java.awt.event.ItemEvent evt) {
          // TODO add your handling code here:
          try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tbldistributor where iddistributor='"+
     IDDistributor.getSelectedItem().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     res.absolute(1);
     NamaDistributor.setText(res.getString("namadistributor"));
     KotaAsal.setText(res.getString("kotaasal"));

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                65
           } catch (SQLException ex) {
           }
       }

9.   Buatlah private baru untuk menampilakn data pada kombobox iddistributor seperti berikut:

     public void TampilComboDistributor(){
     try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tbldistributor";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     IDDistributor.addItem(res.getString("iddistributor"));
     }
           } catch (SQLException ex) {
           }
       }

10. Buatlah kode program pada kombobox kodebarang dengan cara klik kanan pilih events -> item ->
    itemStatChanged.

     private void KodeBarangItemStateChanged(java.awt.event.ItemEvent evt) {
          // TODO add your handling code here:
           try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblbarang where kodebarang='"+
     KodeBarang.getSelectedItem().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     res.absolute(1);
     NamaBarang.setText(res.getString("namabarang"));
     HargaJual.setText(res.getString("hargajual"));
     Stok.setText(res.getString("stok"));
          } catch (SQLException ex) {
          }
           Jumlah.requestFocus();
           AddItem.setEnabled(true);
     }


                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               66
11. Buatlah private baru untuk menampilakn data pada kombobox iddistributor seperti berikut:

    public void TampilComboBarang(){
    try {
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
    String SQL = "SELECT * FROM tblbarang";
    ResultSet res = stt.executeQuery(SQL);
    while(res.next()){
    KodeBarang.addItem(res.getString("kodebarang"));
    }
          } catch (SQLException ex) {
          }
      }

12. Buatlah private baru untuk menampilkan tanggal otomatis seperti berikut:

    public void TanggalOtomatis(){
       Date tanggal = new Date();
       TglMasuk.setText(""+ (String.format("%1$td:%1$tb:%1$tY",tanggal)));
     }

13. Buatlah kode program untuk menampilkan perhitungan subtotal dengan mengkilik button hitung ->
    events -> action -> ActionPerformed.

    private void HitungActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
    int a;
    int b;
    double c;
    a = Integer.parseInt(HargaJual.getText());
    b = Integer.parseInt(Jumlah.getText());
    c = a * b;
    SubTotal.setText(String.valueOf(c));
    }

14. Buatlah kode program untuk menampilkan total dengan cara klik kanan textfield subtotal -> events ->
    charet -> charetUpdate.




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                   67
   private void SubTotalCaretUpdate(javax.swing.event.CaretEvent evt) {
        // TODO add your handling code here:
        double d, e;
   d = Double.parseDouble(SubTotal.getText());
   e = Double.parseDouble(Total.getText());
   e = e+d;
   Total.setText(String.valueOf(e));
     }

15. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->events -> action ->
    ActionPerformed.


   private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       SetEditOn();
       NoNota.requestFocus();
       BersihData();
   }

16. Buatlah kode program Add Item dengan mengklik kanan button save ->events -> action ->
    ActionPerformed.

   private void AddItemActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String NM=NoNota.getText();
       String KB=KodeBarang.getSelectedItem().toString();
       String JM=Jumlah.getText();

       if ((NM.isEmpty()) | (KB.isEmpty()) |(JM.isEmpty())) {
          JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
          KodeBarang.requestFocus();
       }else {

         try {
           Class.forName(driver);
           Connection kon = DriverManager.getConnection(database,user,pass);
           Statement stt = kon.createStatement();
           String SQL = "insert into tbldetailbrgmasuk values('"+NoNota.getText()+"',"+
                "'"+KodeBarang.getSelectedItem()+"',"+
                "'"+Jumlah.getText()+"',"+
                "'"+SubTotal.getText()+"')";
           stt.executeUpdate(SQL);

                   Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                   68
           Class.forName(driver);
           Connection kon1 = DriverManager.getConnection(database,user,pass);
           Statement stt1 = kon.createStatement();
           String SQL1 = "Update tblbarang Set stok=stok + '"+Jumlah.getText()+"'" +
                      "Where kodebarang='"+KodeBarang.getSelectedItem().toString()+"'";
           stt1.executeUpdate(SQL1);
           data[0] = KodeBarang.getSelectedItem().toString();
           data[1] = NamaBarang.getText();
           data[2] = HargaJual.getText();
           data[3] = Stok.getText();
           data[4] = Jumlah.getText();
           data[5] = SubTotal.getText();
           tableModel.insertRow(0, data);
           stt.close();
           kon.close();
           KodeBarang.requestFocus();
           AddItem.setEnabled(false);
           BersihDetail();
           //TampilGrid();
           KodeBarang.requestFocus();
        } catch (Exception ex) {
           System.err.println(ex.getMessage());
        }
    }
}




                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA              69
17. Buatlah kode program SaveTransaction dengan mengklik kanan button save ->events -> action ->
    ActionPerformed.

   private void SaveTransactionActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String NM=NoNota.getText();

         if ((NM.isEmpty())) {
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
            NoNota.requestFocus();
         }else {

             try {
               Class.forName(driver);
               Connection kon = DriverManager.getConnection(database,user,pass);
               Statement stt = kon.createStatement();
               String SQL = "insert into tblbrgmasuk values('"+NoNota.getText()+"',"+
                    "'"+TglMasuk.getText()+"',"+
                    "'"+IDDistributor.getSelectedItem()+"',"+
                    "'"+IDPetugas.getSelectedItem()+"',"+
                    "'"+Total.getText()+"')";



                stt.executeUpdate(SQL);
                stt.close();
                kon.close();
                BersihData();
                SetEditOff();
                SaveTransaction.setEnabled(false);
             } catch (Exception ex) {
                System.err.println(ex.getMessage());
             }
         }
     }




                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 70
18. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.

private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
 if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button
  OK","Information",
  JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI
  ON)
       this.dispose();
         }

19. Buatlah kode program Cari Data dengan mengklik kanan button Cancel -> events -> Action ->
    ActionPerformed.

    private void CariDataActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
           try {
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
    String SQL = "SELECT * FROM tblbrgmasuk where nonota='"+NoNota.getText().toString()+"'";
    ResultSet res = stt.executeQuery(SQL);
    res.absolute(1);
    TglMasuk.setText(res.getString("tglmasuk"));
    IDPetugas.setSelectedItem(res.getString("idpetugas"));
    IDDistributor.setSelectedItem(res.getString("iddistributor"));
    Total.setText(res.getString("total"));
    TampilGridDetail();
    SaveTransaction.setEnabled(false);
    NoNota.setEnabled(false);
    CariData.setEnabled(false);
         } catch (SQLException ex) {
         }
      }




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                     71
   20. Jalankan Program kemudian klik menu Data Barang Masuk maka akan tampil seperti berikut:




                        Gambar 1.31 Tampilan Form Data Barang Masuk


Membuat Desain Form Data Penjualan


  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.




                                Gambar 1.32 Membuat Objek Baru


                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                72
2. Pada jendela New JFrame Form, isikan FrmPenjualan pada kotak isian Class Name, dan
   Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.




                Gambar 1.33 Menentukan Nama Form JFrame Form




                          Gambar 1.34 Desain Form Baru

                 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA      73
   3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                      Gambar 1.35 Desain Form Data Penjualan Barang



Keterangan :


Tabel 1.12 Daftar Propertis yang digunakan

                                                          Propertis
                Pallete
                                              Edit Text          Change Variable Name
   Label1                            Tanggal Penjualan        jLabel1
   Label2                            No.Faktur                jLabel2
   Label3                            ID Petugas               jLabel3
   Label4                            Nama Petugas             jLabel4
   Label5                            Kode Barang              jLabel8
   Label6                            Nama Barang              jLabel9
   Label7                            Harga Jual               jLabel10
   Label8                            Stok                     jLabel11
   Label9                            Jumlah                   jLabel12
   Label10                           Sub Total Rp             jLabel13
   Label11                           Total Rp                 jLabel14
   TextField1                        -                        TglPenjualan
   TextField2                        -                        NoFaktur
   ComboBox1                         -                        IDPetugas
   TextField3                        -                        NamaPetugas
   ComboBox2                         -                        KodeBarang

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        74
   TextField4                          -                           NamaBarang
   TextField5                          -                           HargaJual
   TextField6                          -                           Stok
   TextField7                          -                           Jumlah
   TextField8                          -                           SubTotal
   TextField9                          -                           Total
   Button1                             Cari Data                   CariData
   Button2                             Hitung                      Hitung
   Button3                             Add Item                    AddItem
   Button4                             Add New                     AddNew
   Button5                             Save Transaction            SaveTransaction
   Button6                             Close                       Close
   Table                               -                           table




Syntax Program

    1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:

       package penjualan;
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import java.sql.*;



   2. Pada bagian public class FrmBrgMasuk extends javax.swing.JFrame tambahkan kode berikut:

       public class FrmPenjualan extends javax.swing.JFrame {
         Database dbsetting;
         String driver,database,user,pass,userLogin;
         private Object tabel;
         /** Creates new form FrmPenjualan */
         public FrmPenjualan() {
           initComponents();
           Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
           Dimension frameSize=this.getSize();
           if(frameSize.height > screenSize.height){
              frameSize.height=screenSize.height;
           }
           if(frameSize.width > screenSize.width){
              frameSize.width=screenSize.width;
           }
                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA             75
          this.setLocation((screenSize.width - frameSize.width) / 2,
          (screenSize.height = screenSize.height) / 10);

          //setting untuk memanggil koneksi Database.ini
           dbsetting = new Database();
           driver = dbsetting.SettingPanel("DBDriver");
           database = dbsetting.SettingPanel("DBDatabase");
           user = dbsetting.SettingPanel("DBUsername");
           pass = dbsetting.SettingPanel("DBPassword");
           table.setModel(tableModel);
           Tabel(table, new int[]{90,300,90,60,60,90});
           setDefaultTable();
           TanggalOtomatis();
            SetEditOff();
           TampilComboBarang();
           TampilComboPetugas();
      }

3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data
   pada tabel seperti berikut:

    private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();

       private void Tabel(javax.swing.JTable tb, int lebar[] ) {
        tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        int kolom=tb.getColumnCount();
        for(int i=0;i < kolom;i++) {
           javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
           tbc.setPreferredWidth(lebar[i]);
           tb.setRowHeight(17);
        }
      }

    private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
    return new javax.swing.table.DefaultTableModel(
    new Object[][] {},
    new String [] {"Kode Barang","Nama Barang","Harga Jual","Stok","Jumlah","Sub Total"}
    ){
    boolean[] canEdit = new boolean[]{
    false, false, false, false
    };
    public boolean isCellEditable(int rowIndex, int columnIndex){
                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA           76
return canEdit[columnIndex];
}
};
}



 String data[]=new String[6];
 private void setDefaultTable() {
 String stat ="";
 try {
 Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual," +
"tblbarang.stok,tbldetailpenjualan.jumlah,tbldetailpenjualan.subtotal,tblpenjualan.nofaktur " +
           "FROM tblbarang,tbldetailpenjualan,tblpenjualan WHERE
            tblbarang.kodebarang=tbldetailpenjualan.kodebarang " +
           "AND tblpenjualan.nofaktur=tbldetailpenjualan.nofaktur" +
           "AND tbldetailpenjualan.nofaktur='"+NoFaktur.getText()+"'";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
data[4] = res.getString(5);
data[5] = res.getString(6);
tableModel.addRow(data);
     }
     res.close();
     stt.close();
     kon.close();
     } catch (Exception ex) {
        System.err.println(ex.getMessage());
     }
  }




                Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                  77
4. Buatlah private baru TampilGridDetail kemudian buat kode program seperti berikut:

     private void TampilGridDetail(){
      String stat ="";
      try {
      Class.forName(driver);
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement();
     String SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual,"
     +"tblbarang.stok,tbldetailpenjualan.jumlah,tbldetailpenjualan.subtotal,tblpenjualan.nofaktur " +
                "FROM tblbarang, tbldetailpenjualan, tblpenjualan " +
                "WHERE tblbarang.kodebarang=tbldetailpenjualan.kodebarang " +
                "AND tblpenjualan.nofaktur=tbldetailpenjualan.nofaktur " +
                "AND tbldetailpenjualan.nofaktur='" + NoFaktur.getText().toString() + "'";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     data[0] = res.getString(1);
     data[1] = res.getString(2);
     data[2] = res.getString(3);
     data[3] = res.getString(4);
     data[4] = res.getString(5);
     data[5] = res.getString(6);
     tableModel.addRow(data);
          }
          res.close();
          stt.close();
          kon.close();
          } catch (Exception ex) {
             System.err.println(ex.getMessage());
          }
      }

5.   Buatlah perintah BersihData,BersihDetail,SetEditOff, dan SetEditON disembarang tempat yang memiliki
     space kosong seperti berikut ini:

       public void BersihData(){
       tableModel.setRowCount(0);
       NoFaktur.setText("");
       NamaPetugas.setText("");
       IDPetugas.setSelectedIndex(0);
       KodeBarang.setSelectedIndex(0);
       NamaBarang.setText("");

                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                    78
    HargaJual.setText("");
    Jumlah.setText("");
    Stok.setText("");
    Bayar.setText("0");
    Sisa.setText("0");
    Total.setText("0");
    SubTotal.setText("0");
}
    public void BersihDetail(){
    KodeBarang.setSelectedIndex(0);
    NamaBarang.setText("");
    HargaJual.setText("");
    Stok.setText("");
    Jumlah.setText("");
    SubTotal.setText("0");
    }

    public void SetEditOff(){
    NoFaktur.setEnabled(false);
    TglPenjualan.setEnabled(false);
    IDPetugas.setEnabled(false);
    KodeBarang.setEnabled(false);
    Jumlah.setEnabled(false);
    Hitung.setEnabled(false);
    CariData.setEnabled(false);
    AddItem.setEnabled(false);
    }

    public void SetEditOn(){
    NoFaktur.setEnabled(true);
    TglPenjualan.setEnabled(true);
    IDPetugas.setEnabled(true);
    KodeBarang.setEnabled(true);
    Jumlah.setEnabled(true);
    SaveTransaction.setEnabled(true);
    CariData.setEnabled(true);
    Hitung.setEnabled(true);
    AddItem.setEnabled(true);
    }




                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   79
6.   Buatlah kode program pada kombobox idpetugas dengan cara klik kanan pilih events -> item ->
     itemStatChanged.

     private void IDPetugasItemStateChanged(java.awt.event.ItemEvent evt) {
          // TODO add your handling code here:
           try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblpetugas where idpetugas='"+
     IDPetugas.getSelectedItem().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     res.absolute(1);
     NamaPetugas.setText(res.getString("namapetugas"));
          } catch (SQLException ex) {
          }
       }

7.   Buatlah private baru untuk menampilakn data pada kombobox idpetugas seperti berikut:

     public void TampilComboPetugas(){
     try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblpetugas";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     IDPetugas.addItem(res.getString("idpetugas"));
     }
           } catch (SQLException ex) {
           }
       }

8.   Buatlah kode program pada kombobox kodebarang dengan cara klik kanan pilih events -> item ->
     itemStatChanged.




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA             80
     private void KodeBarangItemStateChanged(java.awt.event.ItemEvent evt) {
          // TODO add your handling code here:
           try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblbarang where kodebarang='"+
     KodeBarang.getSelectedItem().toString()+"'";
     ResultSet res = stt.executeQuery(SQL);
     res.absolute(1);
     NamaBarang.setText(res.getString("namabarang"));
     HargaJual.setText(res.getString("hargajual"));
     Stok.setText(res.getString("stok"));
          } catch (SQLException ex) {
          }
           Jumlah.requestFocus();
           AddItem.setEnabled(true);
     }

9.   Buatlah private baru untuk menampilakn data pada kombobox iddistributor seperti berikut:

     public void TampilComboBarang(){
     try {
     Connection kon = DriverManager.getConnection(database,user,pass);
     Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
     String SQL = "SELECT * FROM tblbarang";
     ResultSet res = stt.executeQuery(SQL);
     while(res.next()){
     KodeBarang.addItem(res.getString("kodebarang"));
     }
           } catch (SQLException ex) {
           }
       }

10. Buatlah private baru untuk menampilkan tanggal otomatis seperti berikut:


     public void TanggalOtomatis(){
        Date tanggal = new Date();
        TglPenjualan.setText(""+ (String.format("%1$td:%1$tb:%1$tY",tanggal)));
      }

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               81
11. Buatlah kode program untuk menampilkan perhitungan subtotal dengan mengkilik button hitung ->
    events -> action -> ActionPerformed.

    private void HitungActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
    int a;
    int b;
    double c;
    a = Integer.parseInt(HargaJual.getText());
    b = Integer.parseInt(Jumlah.getText());
    c = a * b;
    SubTotal.setText(String.valueOf(c));
    }

12. Buatlah kode program untuk menampilkan total dengan cara klik kanan textfield subtotal -> events ->
    charet -> charetUpdate.

    private void SubTotalCaretUpdate(javax.swing.event.CaretEvent evt) {
         // TODO add your handling code here:
         double d, e;
    d = Double.parseDouble(SubTotal.getText());
    e = Double.parseDouble(Total.getText());
    e = e+d;
    Total.setText(String.valueOf(e));
      }

13. Buatlah kode program untuk menampilkan perhitungan sisa bayar dengan cara klik kanan textfield bayar -
    > events -> charet -> charetUpdate.

    private void BayarCaretUpdate(javax.swing.event.CaretEvent evt) {
         // TODO add your handling code here:
    double a;
    double b;
    double c;
    a = Double.parseDouble(Bayar.getText());
    b = Double.parseDouble(Total.getText());
    c = a - b;
    Sisa.setText(String.valueOf(c));
       }




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                      82
14. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->events -> action ->
    ActionPerformed.


   private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       SetEditOn();
       NoFaktur.requestFocus();
       BersihData();
   }

15. Buatlah kode program Add Item dengan mengklik kanan button save ->events -> action ->
    ActionPerformed.

   private void AddItemActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       String NM=NoFaktur.getText();
       String KB=KodeBarang.getSelectedItem().toString();
       String JM=Jumlah.getText();

       if ((NM.isEmpty()) | (KB.isEmpty()) |(JM.isEmpty())) {
          JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
          KodeBarang.requestFocus();
       }else {

         try {
           Class.forName(driver);
           Connection kon = DriverManager.getConnection(database,user,pass);
           Statement stt = kon.createStatement();
           String SQL = "insert into tbldetailpenjualan values('"+NoFaktur.getText()+"',"+
                "'"+KodeBarang.getSelectedItem()+"',"+
                "'"+Jumlah.getText()+"',"+
                "'"+SubTotal.getText()+"')";
           stt.executeUpdate(SQL);

           Class.forName(driver);
           Connection kon1 = DriverManager.getConnection(database,user,pass);
           Statement stt1 = kon.createStatement();
           String SQL1 = "Update tblbarang Set stok=stok - '"+Jumlah.getText()+"'" +
                     "Where kodebarang='"+KodeBarang.getSelectedItem().toString()+"'";
           stt1.executeUpdate(SQL1);
           data[0] = KodeBarang.getSelectedItem().toString();
           data[1] = NamaBarang.getText();

                   Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                   83
                data[2] = HargaJual.getText();
                data[3] = Stok.getText();
                data[4] = Jumlah.getText();
                data[5] = SubTotal.getText();
                tableModel.insertRow(0, data);
                stt.close();
                kon.close();
                KodeBarang.requestFocus();
                AddItem.setEnabled(false);
                BersihDetail();
                KodeBarang.requestFocus();
             } catch (Exception ex) {
                System.err.println(ex.getMessage());
             }
         }
     }



16. Buatlah kode program SaveTransaction dengan mengklik kanan button save ->events -> action ->
    ActionPerformed.

   private void SaveTransactionActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
        String NM=NoFaktur.getText();

         if ((NM.isEmpty())) {
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
            NoFaktur.requestFocus();
         }else {

             try {
               Class.forName(driver);
               Connection kon = DriverManager.getConnection(database,user,pass);
               Statement stt = kon.createStatement();
               String SQL = "insert into tblpenjualan values('"+NoFaktur.getText()+"',"+
                    "'"+TglPenjualan.getText()+"',"+
                    "'"+IDPetugas.getSelectedItem()+"',"+
                    "'"+Bayar.getText()+"',"+
                    "'"+Sisa.getText()+"',"+
                    "'"+Total.getText()+"')";
               stt.executeUpdate(SQL);
               stt.close();
                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 84
                 kon.close();
                 BersihData();
                 SetEditOff();
                 SaveTransaction.setEnabled(false);
              } catch (Exception ex) {
                 System.err.println(ex.getMessage());
              }
          }
      }

17. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.

private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
     // TODO add your handling code here:
 if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button
  OK","Information",
  JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI
  ON)
       this.dispose();
         }

18. Buatlah kode program Cari Data dengan mengklik kanan button Cancel -> events -> Action ->
    ActionPerformed.

    private void CariDataActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    try {
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_UPDATABLE);
    String SQL = "SELECT * FROM tblpenjualan where
    nofaktur='"+NoFaktur.getText().toString()+"'";
    ResultSet res = stt.executeQuery(SQL);
    res.absolute(1);
    TampilGridDetail();
    TglPenjualan.setText(res.getString("tglpenjualan"));
    IDPetugas.setSelectedItem(res.getString("idpetugas"));
    Bayar.setText(res.getString("bayar"));
    Sisa.setText(res.getString("sisa"));
    Total.setText(res.getString("total"));
    SaveTransaction.setEnabled(false);
    NoFaktur.setEnabled(false);

                        Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                  85
   CariData.setEnabled(false);
   } catch (SQLException ex) {
   }
   }



19. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action ->
    ActionPerformed.


   private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       BersihData();
       SetEditOff();
   }

20. Jalankan Program kemudian klik menu DataBarang Masuk maka akan tampil seperti berikut:




                   Gambar 1.36 Tampilan Form Data Penjualan Barang




                    Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA               86
Membuat Menu Utama

  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.




                           Gambar 1.37 Membuat Objek Baru

  2. Pada jendela New JFrame Form, isikan FrmDistributor pada kotak isian Class Name, dan
     Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.




                   Gambar 1.38 Menentukan Nama Form JFrame Form




                    Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA       87
                         Gambar 1.39 Desain Form Baru




3. Untuk membuat menu anda pilih Pallete pilih Swing Menus ->MenuBar kemudian anda
   drag kedalam form yang sudah anda persiapkan.




                          Gambar 1.40 Tampilan Palette

                 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA    88
        Gambar 1.41 Tampilan Menu Bar yang sudah diletakkan di dalam form

1. Pada Swing Menus pilihlah MenuItem kemudian anda drag ke dalam Menu Bar File




                Gambar 1.42 Tampilan Menu Item pada saat di drag




                 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA       89
             Gambar 1.43 Tampilan Menu Item Setelah diletakkan pada menu file

   2. Setelah anda paham buatlah menu seperti gambar dibawah ini:


Menu File




                             Gambar 1.44 Tampilan Menu File

Menu Transaksi




                          Gambar 1.45 Tampilan Menu Transaksi
                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   90
Menu Report




                                Gambar 1.46 Tampilan Menu Report



Keterangan :


Tabel 1.12 Daftar Propertis yang digunakan

                                                                  Propertis
                  Pallete
                                                  Edit Text              Change Variable Name
   Menu Bar1                              File                        jMenu1
   Menu Item1                             Data Jenis Barang           MenuJenisBarang
   Menu Item2                             Data Barang                 MenuBarang
   Menu Item3                             Data Distributor            MenuDistributor
   Menu Item4                             Data Petugas                MenuPetugas
   Menu Item5                             Exit                        MenuExit

   Menu Bar2                              Transaksi                  jMenu2
   Menu Item1                             Data Barang Masuk          MenuBarangMasuk
   Menu Item2                             Data Penjualan Barang      MenuPenjualan

   Menu Bar3                              Report                     jMenu3
   Menu Item1                             Daftar Report              Daftar Report


Syntax Program

   1. Buatlah kode program untuk sub menu data jenis barang dengan cara klik kanan sub menu data
      jenis barang ->events ->Action -> ActionPerformed.

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

              // TODO add your handling code here:

              new FrmJenis().setVisible(true);

          }



                         Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA             91
2. Buatlah kode program untuk sub menu data jenis barang dengan cara klik kanan sub menu data
   barang ->events ->Action -> ActionPerformed.

   private void MenuBarangActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       new FrmBarang().setVisible(true);
     }



3. Buatlah kode program untuk sub menu data jenis barang dengan cara klik kanan sub menu data
   distributor ->events ->Action -> ActionPerformed.

   private void MenuDistributorActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       new Frmdistributor().setVisible(true);
     }



4. Buatlah kode program untuk sub menu data jenis barang dengan cara klik kanan sub menu data
   petugas ->events ->Action -> ActionPerformed.

   private void MenuPetugasActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       new Frmpetugas().setVisible(true);
     }



5. Buatlah kode program untuk sub menu data jenis barang dengan cara klik kanan sub menu data
   barang masuk ->events ->Action -> ActionPerformed.

   private void MenuBarangMasukActionPerformed(java.awt.event.ActionEvent evt) {
       // TODO add your handling code here:
       new FrmBrgMasuk().setVisible(true);
     }




                   Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            92
   6. Buatlah kode program untuk sub menu data jenis barang dengan cara klik kanan sub menu data
      penjualan barang ->events ->Action -> ActionPerformed.

       private void MenuPenjualanActionPerformed(java.awt.event.ActionEvent evt) {
           // TODO add your handling code here:
           new FrmPenjualan().setVisible(true);
         }




                              MEMBUAT LAPORAN
Jika program aplikasi sudah selesai dibuat, kini giliran kita membuat halaman laporan dari
semua data yang ada. Berikut selengkapnya.

Mengenal JasperReport

JasperReport adalah sebuah tool yang sangat powerfull untuk membuat laporan dalam bentuk
PDF,HTML,XLS,RTF,ODT,CSV,TXT dan XML. Dengan kemampuan dan fleksibilitasnya yang sangat
tinggi, anda bisa membuat berbagai laporan berbentuk Chart, Crosstabs, Subreport, dan
kemampuan lain yang anda butuhkan.

Komponen yang Digunakan Untuk Membuat Report :
Silahkan klik kanan Libraries pilih Add JAR/Folder maka akan tampil seperti berikut:




                            Gambar 1.47 direktory Add JAR/Folder



Adapun file-file Jasper Report Engine yang harus dipilih adalah sebagai berikut:
                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            93
             Jasperreport-2.0.5.jar pada direktori d:\Aplikasi Penjualan\AplikasiPenjualan\lib
             Commons-beanutils-1.7.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib
             Commons-collections-2.1.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib
             Commons-digester-1.7.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib
             Commons-logging-1.0.2.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib
             Commons-logging-api-1.0.2.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib
             Commons-javaflow-20060411.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib
             Jdt-compiler-3.1.1.jar pada direktori d:\ Aplikasi Penjualan
             \AplikasiPenjualan\lib


Setelah anda mengambil semua file yang dibutuhkan seperti diatas maka langkah selanjutnya
anda harus melakukan pengidentifikasian berkas jrxml pada NetBeans dengan cara berikut:

    Buka menu tools -> Options, sehingga muncul jendela Options. Pada jendela tersebut
     klik Advanced Option, sehingga muncul jendela Advanced Options.
    Dalam jendela Advanced Options, perhatikan sebelah kiri, pilih pada node IDE
     Configuration -> System -> Object Types -> XML Objects.
    Masih pada jendela Advanced Options, lihat jendela bagian kanan. Ada properti
     Extensions anda MIME Types, tekan pada tombol… yang ada di sampingnya, sehingga
     muncul jendela XML Object – Extensions and MIME Types. Pada kotak isian item,
     masukkan jrxml, kemudian tean Add, sehingga jrxml tersebut masuk dalam daftar item
     List, lalu klik tombol OK. Dan tutup jendela-jendela Options tersebut.




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            94
                      Gambar 1.48 Berkas yang Dikenali Editor NetBeans

Mengenal IReports

IReport adalah sebuah tool yang digunakan untuk membuat desain laporan pada
JasperReports. Artinya, dengan fasilitas ini anda bisa membuat report dengan drag and drop,
bahkan secara otomatis (wizard). Sama dengan JasperReports, program ini lagi-lagi open
source. Pembuat program ini adalah Giulio Toffoli pada tahun 2005. Anda bisa mendapatkan
informasi dan distribusi filenya pada alamat http://ireport.sourceforget.net.


Instalasi IReport dan Konfigurasi Databasenya

Untuk menginstal IReport sebelumnya anda harus mempunya file install JasperReport, jika
sudah ada silahkan klik ganda file IReport-nb-0.9.1-windows-installer.exe. ini adalah distribusi
yang mendukung NetBeans. Jadi, sangat memudahkan pengguna NetBeans.




                     Gambar 1.49 Jendela Permulaan Pemasangan IReport




                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA           95
     Gambar 1.50 Jendela Lisensi IReport




Gambar 1.51 Jendela Pemilihan Feature IReport




Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   96
                      Gambar 1.52 Jendela Lokasi Program File IReport

Silahkan anda lanjutkan dengan mengklik tombol Next dan ikuti semua dialognya sampai
selesai.
Jalankan program iReport dengan cara masuk ke dalam Start menu Windows. Pilih JasperSoft -
> iReport-nb-0.9.1 -> iReport-nb-0.9.1, sehingga muncul jendela pembuka seperti pada gambar
berkut diikuti dengan halaman utama




                        Gambar 1.53 Jendela Splash Screen IReport




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        97
                              Gambar 1.54 Tampilan IReport

Setelah tampil jendela menu iReport anda harus memanggil koneksi mysql-connector-java-
5.1.6-bin dengan cara klik Tools -> Options -> classpath klik tombol Add JAR silahkan anda
ambil komponen mysql-connector-java-5.1.6-bin seperti gambar berikut:




                   Gambar 1.55 Tampilan Add JAR/Path to the classpath




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA       98
                  Gambar 1.56 Tampilan Komponen yang sudah dipanggil



Gambar di atas adalah jendela iReport pertama kali. Sebelum membuat laporan, buatlah dulu
sebuah koneksi agar bisa membuka database anda. Dengan cara: pilih menu Tool -> Report
Datasource, sehingga muncul jendela seperti gambar berkut.




                      Gambar 1.57 Jendela Daftar Konfigurasi Koneksi




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA      99
Selanjutnya tekan tombol New pada sebelah kanan, sehingga muncul jendela seperti gambar
berikut.




                                Gambar 1.58 Pemilihan JDBC

Selanjutnya, pilih Database JDBC dan klik tombol Next, Sehingga muncul jendela seperti pada
gambar berikut.




                        Gambar 1.59 Pengisian Konfigurasi Database

Untuk memastikan hasil dari koneksi database yang sudah dibuat klik tombol Test jika benar
maka akan tampil seperti gambar dibawah:
                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA         100
                          Gambar 1.60 Testing Koneksi Database




Membuat Laporan

Setelah anda selesai membuat koneksi database langkah selanjutnya silahkan anda membuat
laporan seperti berikut

   1. Klik File -> Report Wizard maka akan tampil seperti gambar dibawah :




                            Gambar 1.61 Tampilan New Report

   2. Ubahlah Report Name dan Location untuk menentukan dimana anda akan meletakkan
      laporan.
   3. Kemudian Klik tombol Next untuk melanjutkan perintah seperti gambar dibawah:




                     Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA      101
                      Gambar 1.62 Tampilan New Report steps 2
4. Ubahlah Connection / Data Source sesuai dengan koneksi yang anda buat , kemudian
   silahkan anda is Query seperti gambar dibawah ini:




                            Gambar 1.63 Tampilan Query

5. Klik tombol Next maka akan tampil seperti gambar dibawah ini:




                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA     102
                          Gambar 1.64 Tampilan Hasil Query
6. Klik tombol Next seperti Gambar dibawah :




                         Gambar 1.65 Tampilan Hasil Query


7. Klik tombol Next maka akan tampil pilihan Layout/jenis report yang anda inginkan
   seperti gambar dibawah ini:




                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA          103
                        Gambar 1.66 Tampilan Layout Report




                           Gambar 1.67 Tampilan Report

8. Untuk melihat hasil tekan Preview maka akan tampil seperti gambar dibawah ini:




                  Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA        104
                         Gambar 1.68 Tampilan Report Preview

  9. Sebagai latihan silahkan anda buat report barang masuk dan report penjualan

Membuat Desain Form Report

  1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
     Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.




                          Gambar 1.69 Membuat Objek Baru

  2. Pada jendela New JFrame Form, isikan FrmDaftarReport pada kotak isian Class Name,
     dan Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.




                    Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA     105
Gambar 1.70 Menentukan Nama Form JFrame Form




         Gambar 1.71 Desain Form Baru




 Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA   106
   3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:




                          Gambar 1.72 Desain Form Daftar Report



Keterangan :


Tabel 1.11 Daftar Propertis yang digunakan

                                                         Propertis
            Pallete
                                         Edit Text                     Change Variable Name
   Label1                    No.Faktur                               jLabel1
   TextField1                -                                       NoFaktur
   Button1                   Cetak Report Barang                     CariData
   Button2                   Cetak Report Barang Masuk               Hitung
   Button3                   Cetak Report Penjualan                  AddItem
   Button4                   Cetak                                   AddNew
   Button6                   Close                                   Close




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA              107
Syntax Program

    1. Pada bagian import tambahkan dibawah baris package AplikasiPenjualan sepeti kode berikut:

       package penjualan;

       import javax.swing.JOptionPane;
       import java.util.HashMap;
       import net.sf.jasperreports.engine.JasperFillManager;
       import net.sf.jasperreports.engine.JasperPrint;
       import net.sf.jasperreports.engine.JasperReport;
       import net.sf.jasperreports.engine.util.JRLoader;
       import net.sf.jasperreports.view.JasperViewer;
       import java.io.File;
       import java.sql.Connection;
       import java.sql.DriverManager;

       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import java.sql.*;
       import javax.swing.JOptionPane;

    2. Pada bagian public class FrmDaftarReport extends javax.swing.JFrame tambahkan kode
       berikut:

       public class FrmDaftarReport extends javax.swing.JFrame {
         Database dbsetting;
         String driver,database,user,pass,userLogin;
         private Object tabel;
         /** Creates new form FrmDaftarReport */
         public FrmDaftarReport() {
           initComponents();
           Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
           Dimension frameSize=this.getSize();
           if(frameSize.height > screenSize.height){
              frameSize.height=screenSize.height;
           }
           if(frameSize.width > screenSize.width){
              frameSize.width=screenSize.width;
           }
           this.setLocation((screenSize.width - frameSize.width) / 2,

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA            108
           (screenSize.height = screenSize.height) / 6);

           //setting untuk memanggil koneksi Database.ini
            dbsetting = new Database();
            driver = dbsetting.SettingPanel("DBDriver");
            database = dbsetting.SettingPanel("DBDatabase");
            user = dbsetting.SettingPanel("DBUsername");
            pass = dbsetting.SettingPanel("DBPassword");
       }

3.   Buatlah kode program CetakBarang dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.

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

           String NamaFile="src/report/RptBarang.jasper";
           HashMap parameter = new HashMap();
           Class.forName(driver);
           Connection con = DriverManager.getConnection(database,user,pass);
           File reportfile = new File(NamaFile);
              JasperReport jasperReport =(JasperReport)JRLoader.loadObject(reportfile.getPath());
              JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport, parameter, con);
              JasperViewer.viewReport(jasperPrint,false);
              JasperViewer.setDefaultLookAndFeelDecorated(true);
           } catch (Exception e) {
              JOptionPane.showMessageDialog(null, "Data tidak dapat dicetak !",
              "Cetak Data",JOptionPane.ERROR_MESSAGE);
           }
       }

4.   Buatlah kode program CetakBarangMasuk dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.

     private void CetakBarangMasukActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:

           try{

           String NamaFile="src/report/RptBrgMasuk.jasper";
           HashMap parameter = new HashMap();

                       Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                109
           Class.forName(driver);
           Connection con = DriverManager.getConnection(database,user,pass);
           File reportfile = new File(NamaFile);
              JasperReport jasperReport =(JasperReport)JRLoader.loadObject(reportfile.getPath());
              JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport, parameter, con);
              JasperViewer.viewReport(jasperPrint,false);
              JasperViewer.setDefaultLookAndFeelDecorated(true);
           } catch (Exception e) {
              JOptionPane.showMessageDialog(null, "Data tidak dapat dicetak !",
              "Cetak Data",JOptionPane.ERROR_MESSAGE);
           }
       }

5.   Buatlah kode program CetakPenjualanALL dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.

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

           String NamaFile="src/report/RptPenjualan.jasper";
           HashMap parameter = new HashMap();
           Class.forName(driver);
           Connection con = DriverManager.getConnection(database,user,pass);
           File reportfile = new File(NamaFile);
              JasperReport jasperReport =(JasperReport)JRLoader.loadObject(reportfile.getPath());
              JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport, parameter, con);
              JasperViewer.viewReport(jasperPrint,false);
              JasperViewer.setDefaultLookAndFeelDecorated(true);
           } catch (Exception e) {
              JOptionPane.showMessageDialog(null, "Data tidak dapat dicetak !",
              "Cetak Data",JOptionPane.ERROR_MESSAGE);
           }
       }




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 110
6.   Buatlah kode program CetakPenjualanKode dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.


     private void CetakActionPerformed(java.awt.event.ActionEvent evt) {
         // TODO add your handling code here:
         try{
         String NamaFile="src/report/RptPenjualanKode1.jasper";
         HashMap parameter = new HashMap();
         parameter.put("NoFaktur",NoFaktur.getText());
         Class.forName(driver);
         Connection con = DriverManager.getConnection(database,user,pass);

           File reportfile = new File(NamaFile);
              JasperReport jasperReport =(JasperReport)JRLoader.loadObject(reportfile.getPath());
              JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport, parameter, con);
              JasperViewer.viewReport(jasperPrint,false);
              JasperViewer.setDefaultLookAndFeelDecorated(true);
           } catch (Exception e) {
              JOptionPane.showMessageDialog(null, "Data tidak dapat dicetak !",
              "Cetak Data",JOptionPane.ERROR_MESSAGE);
           }
       }



7.   Buatlah kode program Close dengan mengklik kanan button AddNew ->evens -> action ->
     ActionPerformed.

     private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
          // TODO add your handling code here:
     if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button
     OK","Information",JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)=
     =JOptionPane.OK_OPTION)
          this.dispose();
       }




                      Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA                 111

								
To top