Aplikasi Transaksi Laundry

1.1. Latar Belakang
    Saat ini hampir semua bidang pekerjaan memanfaatkan teknologi informasi untuk memudahkan pekerjaan yang dilakukan. Dengan perkembangan teknologi yang semakin canggih sehingga banyak dibutuhkan program aplikasi sebagai sarana memudahkan pekerjaan para pekerja diberbagai bidang tersebut.
    Latar belakang kami merancang aplikasi laundry ini adalah karena di Blue Laundry ini masih menggunakan sistem manual dalam transaksi dan pengarsipan data laundry.
1.2. Tujuan
    Tujuan kami membuat aplikasi ini adalah semoga dengan adanya aplikasi yang kami buat, bisa mempermudah dalam proses transaksi laundry  serta pengarsipan data laundry.

BAB II
PROSES BISNIS DAN SPESIFIKASI PROGRAM
1.2. Deskripsi Proses Bisnis
    Blue Laundry adalah salah satu usaha rumahan yang bergerak di bidang jasa pelayanan mencuci pakaina. Di mana pada blue laundry ini masih menggunakan proses transaksi dan  pengarsipan data laundry yang manual.
    Analisa prosedur sistem yang sedang berjalan memberikan gambaran tentang sistem yang saat ini sedang berjalan. Analisa prosedur bertujuan untuk mengetahui lebih jelas bagaimana cara kerja sistem tersebut sehingga kelebihan dan kekurangan sistem dapat diketahui.
Berikut adalah prosedur-prosedur yang sedang berjalan pada Blue Laundry:
Prosedur faktur transaksi laundry yang sedang berjalan
  1. Konsumen datang langsung ke tempat cucian laundry dan menyerahkan cucian kepada kasir.
  2. Petugas kasir mencatat barang yang akan dicuci beserta total harga yang harus dibayar pada faktur yang terdiri dari 3 rangkap.
  3. Konsumen dapat membayar pada saat memberikan cucian atau saat mengambil cucian yang sudah selesai, jika saat memberikan cucian sudah dibayar lunas maka kasir akan memberikan stempel lunas di 3 rangkap faktur tadi.
  4. Fatktur 1 diberikan kepada konsumen untuk sebagai tanda bukti pengambilan cucian jika sudah selesai.
  5. Faktur 2 diberikan pada cucian yang akan dicuci agar tidak tertukar  dengan cucian konsumen lainnya.
  6. Faktur 3 di arsipkan untuk laundry itu sendiri.
  7. Pada saat pengambilan cucian konsumen meyerahkan faktur 1 kepada kasir dan kasir akan mengecek faktur 2 yang sesuai dengan faktur 1, jika lunas kasir langsung memberikan cucian beserta faktur 2 ke konsumen jika belum lunas kasir meminta sesuai dengan total harga yang sesuai dibayar lalu diberikan cucian beserta faktur 2.

Prosedur laporan transaksi laundry yang sedang berjalan:
  1. Faktur 1 dan faktur 3 yang sudah dipegang oleh kasir akan diarsipkan untuk kemudian dicatat dan disimpan ke dalam bentuk laporan transaksi laundry lalu kemudian di serahkan kepada pemilik laundry.
  2. Adapun yang dicatat pada laporan transaksi yang diantaranya no faktur, nama, berat(Kg), total harga, tanggal laporan , elemen tanggal laporan berisi tanggal laporan tersebut dicatat, dan isi dari elemen yang lain diperoleh dari nota bukti pembayaran.

    Maka dari itu, kami mengusulkan sebuah sistem informasi laundry, yang diharapkan akan mempermudah pihak laundry dalam melakukan transaksi dan pengarsipan data. Sehingga sistem informasi ini dapat bermanfaat dan memajukan laundry.
2.2. Spesifikasi Program
    Kelompok pengguna dari program ini terbagi menjadi 2 pengguna yaitu admin dan pemilik. Dimana admin akan menginput data yang dibutuhkan dan memproses perhitungan(transaksi, sedangkan pemilik akan memilih laporan dari setiap kegiatan yang berjalan di laundry.

Tabel  2.2. Spesifikasi Program
PENGGUNA
KEGUNAAN
FUNGSI
Admin
Melakukan perhitungan yang cepat dan tepat untuk proses transaksi dari program tersebut
v  Untuk mempermudah admin mengolah data member.
v  Mempercepat admin menghitung harga yang harus dibayar pelanggan.
v  Mempercepat transaksi dengan pelanggan.
Pemilik
Untuk memilih      laporan yang akan dilihat   dan diperiksa.
v  Untuk mempermudah dalam memilih dan memeriksa laporan.
v  Untuk mempermudah pengecekan dan evaluasi.

BAB III
RANCANGAN PROGRAM
3.1. Rancangan Antarmuka Program
    Rancangan antarmuka program yang dibuat dari sistem ini terdiri dari 7 form diantaranya yaitu:
3.1.1. Form Menu Utama

Gambar  3.1.1. Form Menu Utama
    Form menu utama adalah form menu utama untuk admin dan pemilik yang sedang menjalankan program. Form ini terdiri dari:
  1. JMenuBar yaitu menu yang menyediakan sub-sub menu yang akan dijalankan dengan program ini.
  2. JMenuItem 1 dengan teks “Input” terdiri dengan item “Data Member” dan “Keluar”.
  3. JMenuItem 2 dengan teks “Transaksi” terdiri dengan item “Transaksi Member” dan “Transaksi Non Member”.
  4. JMenuItem 3 dengan teks “Laporan” terdiri dengan item “Laporan Member” , “Laporan Transaksi Member” dan “Laporan Transaksi Non Member”.
3.1.2. Form Member
Gambar  3.1.2. Fom Member
    Form member adalah form member untuk admin yang akan mengiput data member. Form ini terdiri dari:
  1. JLabel1  dengan teks “Kode Member”   dan  JTextField1 untuk pengisian kode member.
  2. JLabel2  dengan teks “Nama”   dan  JTextField2 untuk pengisian nama member.
  3. JLabel3  dengan teks “No HP”   dan  JTextField3 untuk pengisian no telpon member.
  4. JLabel4  dengan teks “Alamat”   dan  JTextField4 untuk pengisian alamat member.
  5. JButton1 dengan teks “Tambah”. Button ini berfungsi untuk menambahkan member baru sekaligus menyimpan data member yang baru.
  6. JButton2 dengan teks “Edit”. Button ini berfungsi untuk merubah member yang sudah ada sekaligus menyimpan data member yang telah diubah.
  7. JButton3 dengan teks “Hapus”. Button ini berfungsi untuk menghapus data member yang ada.
  8. JButton4 dengan teks “Batal”. Button ini berfungsi untuk membatalkan ketika kita akan melakukan proses tambah atau edit.
  9. JButton5 dengan teks “Keluar”. Button ini berfungsi untuk mengembalikan ke form menu utama.

3.1.3. Form  Transaksi Member
Gambar  3.1.3. Form Transaksi Member
    Form transaksi member adalah form  untuk admin yang akan menambahkan dan menginput data transaksi member yang baru. Serta melakukan perhitungan dalam proses transaksi.
Form ini terdiri dari:
  1. JLabel1  dengan teks “Tanggal”   dan  JTextField1 untuk menampilkan tanggal transaksi.
  2. JLabel2  dengan teks “No Transaksi”   dan  JTextField2 untuk pengisian no transaksi.
  3. JLabel3  dengan teks “Kode Member”   dan  JTextField3 untuk pengisian kode member.
  4. JLabel4  dengan teks “Nama”   dan  JTextField4 untuk pengisian nama member.
  5. JcomboBox1  dengan dengan item “Reguler” dan “Dry Cleaning” untuk menginput pilihan kategori cucian.
  6. JLabel5  dengan teks “Harga”   dan  JTextField5 untuk menampilkan harga dari setiap kategori cucian yang dipilih/diinput.
  7. JLabel6  dengan teks “Berat”   dan  JTextField6 untuk pengisian berat cucian.
  8. JLabel7  dengan teks “Total”   dan  JTextField7 untuk menampilkan total harga dari cucian.
  9. JLabel8  dengan teks “Diskon”   dan  JTextField8 untuk menampilkan jumlah diskon yang didapat.
  10. JLabel9  dengan teks “Total Setelah Diskon”   dan  JTextField9 untuk menampilkan total setelah diskon sekaligus total yang harus dibayar.
  11. JButton1 dengan teks “Tambah”. Button ini berfungsi untuk menambahkan transaksi baru sekaligus menyimpan data transaksi yang baru.
  12. JButton2 dengan teks “Edit”. Button ini berfungsi untuk merubah transaksi yang sudah ada sekaligus menyimpan data transaksi yang telah diubah.
  13. JButton3 dengan teks “Hapus”. Button ini berfungsi untuk menghapus data transaksi yang ada.
  14. JButton4 dengan teks “Batal”. Button ini berfungsi untuk membatalkan ketika kita akan melakukan proses tambah atau edit.
  15. JButton5 dengan teks “Hitung”. Button ini berfungsi untuk menghitung total yang harus dibayar.
  16. JButton6 dengan teks “Keluar”. Button ini berfungsi untuk mengembalikan ke form menu utama.

3.1.4. Form  Transaksi Non Member
Gambar  3.1.4. Form Transksi Non Member
    Form transaksi non member adalah  untuk admin yang akan menambahkan dan menginput data transaksi non member yang baru. Serta melakukan perhitungan dalam proses transaksi. Form ini terdiri dari:
  1. JLabel1  dengan teks “Tanggal”   dan  JTextField1 untuk menampilkan tanggal transaksi.
  2. JLabel2  dengan teks “No Transaksi”   dan  JTextField2 untuk pengisian no transaksi.
  3. JLabel3  dengan teks “Nama”   dan  JTextField3 untuk pengisian nama member.
  4. JLabel4  dengan teks “No Hp”   dan  JTextField4 untuk pengisian no telpon member.
  5. JLabel5  dengan teks “Alamat”   dan  JTextField4 untuk pengisian alamat member.
  6. JcomboBox1  dengan dengan item “Reguler” dan “Dry Cleaning” untuk menginput pilihan kategori cucian.
  7. JLabel6  dengan teks “Harga”   dan  JTextField6 untuk menampilkan harga dari setiap kategori cucian yang dipilih/diinput.
  8. JLabel7  dengan teks “Berat”   dan  JTextField7 untuk pengisian berat cucian.
  9. JLabel8  dengan teks “Total”   dan  JTextField8 untuk menampilkan total harga dari cucian sekaligus jumlah yang harus dibayar.
  10. JButton1 dengan teks “Tambah”. Button ini berfungsi untuk menambahkan transaksi baru sekaligus menyimpan data transaksi yang baru.
  11. JButton2 dengan teks “Edit”. Button ini berfungsi untuk merubah transaksi yang sudah ada sekaligus menyimpan data transaksi yang telah diubah.
  12. JButton3 dengan teks “Hapus”. Button ini berfungsi untuk menghapus data transaksi yang ada.
  13. JButton4 dengan teks “Batal”. Button ini berfungsi untuk membatalkan ketika kita akan melakukan proses tambah atau edit.
  14. JButton5 dengan teks “Hitung”. Button ini berfungsi untuk menghitung total yang harus dibayar.
  15. JButton6 dengan teks “Keluar”. Button ini berfungsi untuk mengembalikan ke form menu utama.

3.1.5. Form Laporan Member
Gambar  3.1.5. Form Laporan Member
    Form  laporan member adalah form untuk pemilik yang akan melihat daftar member laundry. Form ini terdiri dari:
  1. JLabel1  dengan teks “Kode”   dan  JTextField1 untuk pengisian kode member yang akan dicetak laporannya.
  2. JButton1 dengan teks “Cetak”. Button ini berfungsi untuk mencetak laporan yang diminta sesuai kebutuhan user(pemilik).

3.1.6. Form Laporan Transaksi Member
Gambar  3.1.6. Form Laporan Transaksi Member
    Form 6 adalah form laporan transaksi member untuk pemilik yang akan melihat daftar transaksi member laundry. Form ini terdiri dari:
  1. JLabel1  dengan teks “Tanggal”   dan  JTextField1 untuk pengisian tanggal transaksi yang akan dicetak laporannya.
  2. JButton1 dengan teks “Cetak”. Button ini berfungsi untuk mencetak laporan yang diminta sesuai kebutuhan user(pemilik).

3.1.7. Form Laporan Transaki Non Member
Gambar  3.1.7. Form Laporan Transaksi Non Member
    Form 7 adalah form laporan transaksi non member untuk pemilik yang akan melihat daftar transaksi non member laundry. Form ini terdiri dari:
  1. JLabel1  dengan teks “Tanggal”   dan  JTextField1 untuk pengisian tanggal transaksi yang akan dicetak laporannya.
  2. JButton1 dengan teks “Cetak”. Button ini berfungsi untuk mencetak laporan yang diminta sesuai kebutuhan user(pemilik).

3.2. Spesifikasi Basis Data
    Rancangan database dipakai untuk mempermudah dalam proses penyeleksian data, serta membantu pemprograman dalam mengambil dan menampilkan data. Pada database digunakan tabel-tabel, dan pada tabel-tabel ini akan dijelaskan nama field, type,dan size mengenai tersebut.
3.2.1. Tabel Member
Nama Tabel           : member
Primary Key          : kode
Foreign Key          : -
Struktur Tabel       :
Tabel  3.2.1. Tabel Member
Field Name
Data Type
Field Size
Ket
Kode
Vachar
8
Kode member
Nama
varchar
25
Nama member
no_hp
varchar
13
No_hp member
Alamat
text
50
Alamat member

3.2.2. Tabel Transaksi Member
Nama Tabel     : transaksi_member
Primary Key    : no
Foreign Key    :-
Struktur Tabel :
Tabel  3.2.2. Tabel Transaksi Member
Field Name
Data Type
Field Size
Ket
tanggal
Date

Tanggal transaksi
no
varchar
8
No transaksi
kode
varchar
8
Kode member
nama
varchar
25
Nama member
kategori
varchar
20
Kategori cucian
harga
Int
11
Harga jasa laundry
berat
Int
11
Berat cucian
total
Int
11
Total jasa cucian
diskon
Int
11
Diskon member
Total diskon
Int
11
Total yang harus dibayar
3.2.3. Tabel Transaksi Non Member
Nama Tabel     : trans_non_member
Primary Key    : no
Foreign Key    :-
Struktur Tabel :
Tabel  3.2.3. Tabel Transaksi Non Member
Field Name
Data Type
Field Size
Ket
tanggal
date

Tanggal transaksi
no
varchar
8
No transaksi
nama
varchar
25
Nama non member
no_hp
varchar
13
No_hp non member
alamat
text
50
Alamat non member
kategori
varchar
20
Kategori cucian
harga
int
11
Harga jasa laundry
berat
int
11
Berat cucian
total
int
11
Total jasa cucian
3.3. Algoritma
Flowchart Aplikasi Laundry

Gambar  3.3. Flowchart Aplikasi
Penjelasan Flowchart pada aplikasi laundry ini terdiri dari:
1. Mulai
Aplikasi program dimulai
2. Konstanta
Konstanta ini terdiri dari:
Reguler = 7000
Dry Cleaning = 10000
diskon = 10/100
3. Input
Input terdiri dari:
Input data member dan data laundry
4. Decision
Jika “YA” maka proses akan berlanjut ke transaksi member di mana setiap member akan mendapatkan diskon 10% dari setiap transaksi yang dilakukan.
Jika “TIDAk” maka proses akan berlanjut ke transaksi non member di mana setiap transaksi pelanggan tidak akan mendapatkan diskon.
5. Output
Output ini menampilkan:
Daftar Member, Harga Total, Laporan

BAB IV 

PROGRAM
4.1. Perangkat Lunak yang Digunakan

    Perangkat lunak yang digunakan dalam pembuatan aplikasi ini yaitu:
4.1.1. Netbeans
    NetBeans adalah suatu tool untuk membuat program dengan menggunakan bahasa pemrograman Java berbasis grafis. Cara membuat program dengan merancang tampilan dengan menggunakan komponen visual dan proses diletakkan pada event driven. NetBeans menyediakan sekumpulan perangkat lunak modular yang disebut modul yang dipakai untuk membangun suatu aplikasi. Sebuah modul adalah merupakan arsip Java (Java Archive) yang memuat kelas – kelas Java yang berinteraksi dengan NetBeans Open API. Kemudian rancangan tampilan yang dibuat menggunakan NetBeans programnya secara otomastis akan digenerate menjadi kode.
    NetBeans mempunyai beberapa jendela utama dan jendela pokok, jendela utama yaitu menu utama dan toolbar. Menu utama merupakan bagian yang digunakan untuk mendukung jalanya pembuatan program atau aplikasi yang meliputi file, edit, view, navigasi, source, refactor, run, debug, Profile, Team, Tools, dan help. Bagian menu utama tersebut mengandung perintah-perintah yang akan digunakan untuk mendukung pembuatan program atau aplikasi tersebut walaupun di dalamnya ada sebagian yang sudah ditampilkan dalam toolbar atau speedbarToolbar merupakan bagian menu utama yang dibuat dalam bentuk ICon dengan tujuan untuk pemanfaatan perintah dengan cepat tanpa harus membuka menu utama, sehingga lebih mempermudah dan mempercepat dalam membuat aplikasi atau program.
4.1.2. MySQL
  MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithreadmulti-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language).SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
4.2. Anatarmuka Program
4.2.1. Form Menu Utama
    Form ini adalah form penyambutan untuk admin dan pemilik datang.
Gambar  4.2.1. Form Menu Utama
4.2.2. Form Member
    Form ini adalah form untuk menambahkan member baru.
Gambar  4.2.2. Form Member
4.2.3. Form Transaksi Member
    Form ini adalah form untuk melakukan proses transaksi member.
Gambar  4.2.3. Form Transaksi Member
4.2.4. Form Transaksi Non Member
    Form ini adalah form untuk melakukan proses transaksi non member.
Gambar 4.2.4. Form Transaksi Non Member
4.2.5. Form Laporan Member
Form ini adalah form untuk pemilik yang akan melihat laporan daftar member.
Gambar 4.2.5. Form Laporan Member


Gambar 4.2.5.1. Hasil Cetak JReport
4.2.6. Form Laporan Transaksi Member
    Form ini adalah form untuk pemilik yang akan melihat laporan daftar transaksi member.
Gambar 4.2.6. Form Transaksi Member


Gambar 4.2.6.1. Hasil Cetak JReport
4.2.7. Form Laporan Transaksi Non Member
    Form ini adalah form untuk pemilik yang akan melihat laporan daftar transaksi non member.
Gambar  4.2.7. Form Transaksi Non Member


Gambar  4.2.7.1. Hasil Cetak JReport
4.3. Kode Program
4.3.1. Class Koneksi
1. Masukkan scrip ini di atas "public class koneksi {"
            import com.mysql.jdbc.Driver;
            import java.sql.DriverManager;
            import java.sql.Connection;
            import java.sql.DriverManager;
            import java.sql.SQLException;
2. Masukkan scrip ini di bawah "public class koneksi {"
 private static Connection koneksi;
    public static Connection GetConnection() throws SQLException{
        if(koneksi==null){
            new Driver();
            koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/laundry", "root", "");
        }
        return koneksi;
    }

4.3.2. Form Menu Utama
1. Kembali ke form desain kemudian pada menu item member klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
Member mu=new Member();
        mu.show();
        this.setVisible(false);
2. Kembali ke form desain kemudian pada menu item transaksi member klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
Transaksi_Member mu=new Transaksi_Member();
        mu.show();
        this.setVisible(false);
3. Kembali ke form desain kemudian pada menu item transaksi non member klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
 Transaksi_Non_Member mu=new Transaksi_Non_Member();
        mu.show();
        this.setVisible(false);
4. Kembali ke form desain kemudian pada menu item laporan member klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
Laporan_Member mu=new Laporan_Member();
        mu.show();
        this.setVisible(false);
5. Kembali ke form desain kemudian pada menu item laporan transaksi member klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
Laporan_TM mu=new Laporan_TM();
        mu.show();
        this.setVisible(false);
6. Kembali ke form desain kemudian pada menu item laporan transaksi non member klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
Laporan_TNM mu=new Laporan_TNM();
        mu.show();
        this.setVisible(false);
7. Kembali ke form desain kemudian pada menu item keluar klik kanan  pilih Event > Action > ActionPerformed......, masukkan script ini
System.exit(0);

4.3.3. Form Member
1. Setelah selesai kembali ke form member pilih source, masukkan script ini di atas tulisan “public class Member extends javax.swing.JFrame {“
    import com.mysql.jdbc.Statement;
    import java.awt.HeadlessException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import javax.swing.JOptionPane;
    import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
    import javax.swing.table.DefaultTableModel;     
2.  Dan ini di bawah tulisan “public class Member extends javax.swing.JFrame {“
private void datatable(){
        DefaultTableModel tbl=new DefaultTableModel();
        tbl.addColumn("kode");
        tbl.addColumn("nama");
        tbl.addColumn("no_hp");
        tbl.addColumn("alamat");
        jTable1.setModel(tbl);
        try{
            Statement statement=(Statement)koneksi.GetConnection().createStatement();
            ResultSet res=statement.executeQuery("select*from member");
            while (res.next()){
                tbl.addRow(new Object[]{
                    res.getString("kode"),
                    res.getString("nama"),
                    res.getString("no_hp"),
                    res.getString("alamat"),
                });
                jTable1.setModel(tbl);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "salah");
        }
    }
   
    private void clear(){
       
        txtnama.setText("");
        txtnohp.setText("");
        txtalamat.setText("");
    }
   
    private void enabled(){
        txtkode.enable(true);
        txtnama.enable(true);
        txtnohp.enable(true);
        txtalamat.enable(true);
        txtnama.requestFocus();
    }
   
    private void desabled(){
        txtkode.enable(false);
        txtnama.enable(false);
        txtnohp.enable(false);
        txtalamat.enable(false);
    }
   
    private void autonomor(){
        try{
           String sql="select*from member order by kode DESC";
           Statement statement=(Statement)koneksi.GetConnection().createStatement();
           ResultSet res=statement.executeQuery(sql);
           if(res.next()){
               String kode=res.getString("kode").substring(2);
               String AN=""+(Integer.parseInt(kode)+1);
               String Nol="";
               if(AN.length()==1){Nol="00";}
               else if(AN.length()==2){Nol="0";}
               else if(AN.length()==3){Nol="";}
               txtkode.setText("MB"+Nol+AN);
           }
           else{txtkode.setText("MB001");}
           res.close();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "ERROR"+e.getMessage());
    }
3. Masukkan script ini di bawah “public Member() {“
initComponents();
        datatable();
        autonomor();
4. Kembali ke form desain kemudian klik dua kali tombol tambah, masukkan script ini
if(bttambah.getText()=="Tambah"){
            enabled();
            clear();
            autonomor();
            bttambah.setText("Simpan");
            btedit.setEnabled(false);
            bthapus.setEnabled(false);
        }else{
            String kode=txtkode.getText();
            String nama=txtnama.getText();
            String no_hp=txtnohp.getText();
            String alamat=txtalamat.getText();
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                statement.executeUpdate("insert into member values('"+kode+"','"+nama+"','"+no_hp+"','"+alamat+"')");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
                datatable();
                clear();
                desabled();
                bttambah.setText("Tambah");
                btedit.setEnabled(true);
                bthapus.setEnabled(true);
              
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
        }
5. Kembali ke form desain kemudian klik dua kali tombol edit, masukkan script ini
if(btedit.getText()=="Edit"){
            enabled();
            bttambah.enable(false);
            btedit.setText("Simpan");
            bttambah.setEnabled(false);
            bthapus.setEnabled(false);
            txtnama.requestFocus();
        }else{
            String kode=txtkode.getText();
            String nama=txtnama.getText();
            String no_hp=txtnohp.getText();
            String alamat=txtalamat.getText();
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                String sql="UPDATE member SET nama='"+nama+"',no_hp='"+no_hp+"',alamat='"+alamat+"' WHERE kode='"+kode+"';";
                statement.executeUpdate(sql);
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Dirubah");
                clear();
                desabled();
                btedit.setText("Edit");
                bttambah.setEnabled(true);
                bthapus.setEnabled(true);
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
            datatable();
        }
6. Kembali ke form desain kemudian klik dua kali tombol hapus, masukkan script ini
String kode=txtkode.getText();
        try{
            Statement statement=(Statement)koneksi.GetConnection().createStatement();
            statement.executeUpdate("delete from member where kode=('"+kode+"');");
            clear();
            desabled();
            datatable();
            JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
        }catch(Exception t){
            JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
        }
7. Kembali ke form desain kemudian klik dua kali tombol batal, masukkan script ini
clear();
        desabled();
        bttambah.setText("Tambah");
        btedit.setText("Edit");
        bttambah.setEnabled(true);
        btedit.setEnabled(true);
        bthapus.setEnabled(true);
8. Kembali ke form desain kemudian klik dua kali tombol keluar, masukkan script ini
Menu_Utama mu=new Menu_Utama();
        mu.show();
        this.setVisible(false);
9. Terakhir kembali ke form desain klik kanan pada tabel pilih “Events>Mouse>Mouse Clicked. Isikan scrip di bawah ini
int row=jTable1.getSelectedRow();
        txtkode.setText((String)jTable1.getValueAt(row, 0));
        txtnama.setText((String)jTable1.getValueAt(row, 1));
        txtnohp.setText((String)jTable1.getValueAt(row, 2));
        txtalamat.setText((String)jTable1.getValueAt(row, 3));

4.3.4. Form Transaksi Member
1. Setelah selesai kembali ke form memberpilih source, masukkan scrip ini di atas tulisan “public class Transaksi_Member extends javax.swing.JFrame {“
import com.mysql.jdbc.Statement;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
import javax.swing.table.DefaultTableModel;
import java.text.SimpleDateFormat;
import java.util.Date;
2. Dan ini di bawah tulisan “public class Transaksi_Member extends javax.swing.JFrame {“
private void datatable(){
        DefaultTableModel tbl=new DefaultTableModel();
        tbl.addColumn("tanggal");
        tbl.addColumn("no");
        tbl.addColumn("kode");
        tbl.addColumn("nama");
        tbl.addColumn("kategori");
        tbl.addColumn("harga");
        tbl.addColumn("berat");
        tbl.addColumn("total");
        tbl.addColumn("diskon");
        tbl.addColumn("totalSD");
        jTable1.setModel(tbl);
        try{
            Statement statement=(Statement)koneksi.GetConnection().createStatement();
            ResultSet res=statement.executeQuery("select*from transaksi_member");
            while (res.next()){
                tbl.addRow(new Object[]{
                    res.getString("tanggal"),
                    res.getString("no"),
                    res.getString("kode"),
                    res.getString("nama"),
                    res.getString("kategori"),
                    res.getString("harga"),
                    res.getString("berat"),
                    res.getString("total"),
                    res.getString("diskon"),
                    res.getString("totalSD"),
                });
                jTable1.setModel(tbl);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "salah");
        }
    }
   
    private void clear(){

        txtno.setText("");
        txtkode.setText("");
        txtnama.setText("");
        cmbkat.setSelectedItem("-PILIH-");
        txtharga.setText("");
        txtberat.setText("");
        txttotal.setText("");
        txtdiskon.setText("");
        txttotalsd.setText("");
       
    }
   
    private void enabled(){
        txttanggal.enable(true);
        txtno.enable(true);
        txtkode.enable(true);
        txtnama.enable(true);
        cmbkat.enable(true);
        txtharga.enable(true);
        txtberat.enable(true);
        txttotal.enable(true);
        txtdiskon.enable(true);
        txttotalsd.enable(true);
        txtkode.requestFocus();
    }
   
    private void desabled(){
        txttanggal.enable(false);
        txtno.enable(false);
        txtkode.enable(false);
        txtnama.enable(false);
        cmbkat.enable(false);
        txtharga.enable(false);
        txtberat.enable(false);
        txttotal.enable(false);
        txtdiskon.enable(false);
        txttotalsd.enable(false);
      
    }
   
    private void tgl(){
        Date ys=new Date();
        SimpleDateFormat s= new SimpleDateFormat("yyyy-MM-dd");
        txttanggal.setText(s.format(ys));
    }
   
   private void autonomor(){
      
           String sql="Select max(no) from transaksi_member";
           try{
               Statement statement=(Statement)koneksi.GetConnection().createStatement();
               ResultSet res=statement.executeQuery(sql);
               while(res.next()){
                   int a=res.getInt(1);
                   txtno.setText(""+Integer.toString(a+1));
               }
           }catch(Exception e){
               System.out.println(""+e.getMessage());
           }
3. Kembali ke form desain kemudian pada ComboBox “cmbkat” klik kanan di sana, pilih “Event>Action>actionPerformed...”, masukkan script ini
if(cmbkat.getSelectedItem()=="Reguler"){
            txtharga.setText("7000");
        }else if(cmbkat.getSelectedItem()=="Dry Cleaning"){
            txtharga.setText("10000");
        }
4. Masukkan script ini di bawah “public Transaksi_Member() {“
        initComponents();
        datatable();
        tgl();
        autonomor();
       
        cmbkat.addItem("-PILIH-");
        cmbkat.addItem("Reguler");
        cmbkat.addItem("Dry Cleaning");
5. Kembali ke form desain kemudian klik dua kali tombol tambah, masukkan script ini
if(bttambah.getText()=="Tambah"){
            enabled();
            clear();
            autonomor();
            bttambah.setText("Simpan");
            btedit.setEnabled(false);
            bthapus.setEnabled(false);
        }else{
            String tanggal=txttanggal.getText();
            String no =txtno.getText();
            String kode=txtkode.getText();
            String nama=txtnama.getText();
            String kategori=cmbkat.getSelectedItem().toString();
            String harga=txtharga.getText();
            String berat=txtberat.getText();
            String total=txttotal.getText();
            String diskon=txtdiskon.getText();
            String totalSD=txttotalsd.getText();
           
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                statement.executeUpdate("insert into transaksi_member values('"+tanggal+"','"+no+"','"+kode+"','"+nama+"','"+kategori+"','"+harga+"','"+berat+"','"+total+"','"+diskon+"','"+totalSD+"')");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
                datatable();
                clear();
                desabled();
                bttambah.setText("Tambah");
                btedit.setEnabled(true);
                bthapus.setEnabled(true);
              
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
        }
6. Kembali ke form desain kemudian klik dua kali tombol edit, masukkan script ini
if(bttambah.getText()=="Tambah"){
            enabled();
            clear();
            autonomor();
            bttambah.setText("Simpan");
            btedit.setEnabled(false);
            bthapus.setEnabled(false);
        }else{
            String tanggal=txttanggal.getText();
            String no =txtno.getText();
            String kode=txtkode.getText();
            String nama=txtnama.getText();
            String kategori=cmbkat.getSelectedItem().toString();
            String harga=txtharga.getText();
            String berat=txtberat.getText();
            String total=txttotal.getText();
            String diskon=txtdiskon.getText();
            String totalSD=txttotalsd.getText();
           
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                statement.executeUpdate("insert into transaksi_member values('"+tanggal+"','"+no+"','"+kode+"','"+nama+"','"+kategori+"','"+harga+"','"+berat+"','"+total+"','"+diskon+"','"+totalSD+"')");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
                datatable();
                clear();
                desabled();
                bttambah.setText("Tambah");
                btedit.setEnabled(true);
                bthapus.setEnabled(true);
              
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
        }
7. Kembali ke form desain kemudian klik dua kali tombol edit, masukkan script ini
if(btedit.getText()=="Edit"){
            enabled();
            bttambah.enable(false);
            btedit.setText("Simpan");
            bttambah.setEnabled(false);
            bthapus.setEnabled(false);
            txtkode.requestFocus();
        }else{
            String tanggal=txttanggal.getText();
            String no=txtno.getText();
            String kode=txtkode.getText();
            String nama=txtnama.getText();
            String kategori=cmbkat.getSelectedItem().toString();
            String harga=txtharga.getText();
            String berat=txtberat.getText();
            String total=txttotal.getText();
            String diskon=txtdiskon.getText();
            String totalSD=txttotalsd.getText();
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                String sql="UPDATE transaksi_member SET tanggal='"+tanggal+"',kode='"+kode+"',nama='"+nama+"',kategori='"+kategori+"',harga='"+harga+"',berat='"+berat+"',total='"+total+"',diskon='"+diskon+"',totalSD='"+totalSD+"' WHERE no='"+no+"';";
                statement.executeUpdate(sql);
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Dirubah");
                clear();
                desabled();
                btedit.setText("Edit");
                bttambah.setEnabled(true);
                bthapus.setEnabled(true);
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
            datatable();
        }
8. Kembali ke form desain kemudian klik dua kali tombol hapus, masukkan script ini
String no=txtno.getText();
        try{
            Statement statement=(Statement)koneksi.GetConnection().createStatement();
            statement.executeUpdate("delete from transaksi_member where no=('"+no+"');");
            clear();
            desabled();
            datatable();
            JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
        }catch(Exception t){
            JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
        }
9. Kembali ke form desain kemudian klik dua kali tombol hapus, masukkan script ini
clear();
        desabled();
        bttambah.setText("Tambah");
        btedit.setText("Edit");
        bttambah.setEnabled(true);
        btedit.setEnabled(true);
        bthapus.setEnabled(true);
10. Kembali ke form desain kemudian klik dua kali tombol hitung, masukkan script ini
int hasil=0;
        int harga=Integer.parseInt(txtharga.getText());
        int berat=Integer.parseInt(txtberat.getText());
        hasil=harga*berat;
        txttotal.setText(""+hasil);
       
        int diskon=0;
        int total=Integer.parseInt(txttotal.getText());
        diskon=hasil*20/100;
        txtdiskon.setText(""+diskon);
       
        hasil=hasil-diskon;
        txttotalsd.setText(""+hasil);
11. Kembali ke form desain kemudian klik dua kali tombol keluar, masukkan script ini
Menu_Utama mu=new Menu_Utama();
        mu.show();
        this.setVisible(false);
12. Terakhir kembali ke form desain klik kanan pada tabel pilih “Events>Mouse>Mouse Clicked. Isikan scrip di bawah ini
  int row=jTable1.getSelectedRow();
        txttanggal.setText((String)jTable1.getValueAt(row, 0));
        txtno.setText((String)jTable1.getValueAt(row, 1));
        txtkode.setText((String)jTable1.getValueAt(row, 2));
        txtnama.setText((String)jTable1.getValueAt(row, 3));
        cmbkat.setSelectedItem((String)jTable1.getValueAt(row, 4));
        txtharga.setText((String)jTable1.getValueAt(row, 5));
        txtberat.setText((String)jTable1.getValueAt(row, 6));
        txttotal.setText((String)jTable1.getValueAt(row, 7));
        txtdiskon.setText((String)jTable1.getValueAt(row, 8));
        txttotalsd.setText((String)jTable1.getValueAt(row, 9));

4.3.5. Form Transaksi Non Member
1. Setelah selesai kembali ke form Transaksi_Non_Member sourch, masukkan scrip ini di atas tulisan “public class Transaksi_Non_Member extends javax.swing.JFrame {“
import com.mysql.jdbc.Statement;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
import javax.swing.table.DefaultTableModel;
import java.text.SimpleDateFormat;
import java.util.Date;
2. Dan ini di bawah tulisan “public class Transaksi_Non_Member extends javax.swing.JFrame {“
private void datatable(){
        DefaultTableModel tbl=new DefaultTableModel();
        tbl.addColumn("tanggal");
        tbl.addColumn("no");
        tbl.addColumn("nama");
        tbl.addColumn("no_hp");
        tbl.addColumn("alamat");
        tbl.addColumn("kategori");
        tbl.addColumn("harga");
        tbl.addColumn("berat");
        tbl.addColumn("total");
       
        jTable1.setModel(tbl);
        try{
            Statement statement=(Statement)koneksi.GetConnection().createStatement();
            ResultSet res=statement.executeQuery("select*from trans_non_member");
            while (res.next()){
                tbl.addRow(new Object[]{
                    res.getString("tanggal"),
                    res.getString("no"),
                    res.getString("nama"),
                    res.getString("no_hp"),
                    res.getString("alamat"),
                    res.getString("kategori"),
                    res.getString("harga"),
                    res.getString("berat"),
                    res.getString("total"),
                    
                });
                jTable1.setModel(tbl);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "salah");
        }
    }
   
    private void clear(){

        txtno.setText("");
        txtnama.setText("");
        txthp.setText("");
        txtalamat.setText("");
        cmbkat.setSelectedItem("-PILIH-");
        txtharga.setText("");
        txtberat.setText("");
        txttotal.setText("");
       
       
    }
   
    private void enabled(){
        txttanggal.enable(true);
        txtno.enable(true);
        txtnama.enable(true);
        txthp.enable(true);
        txtalamat.enable(true);
        cmbkat.enable(true);
        txtharga.enable(true);
        txtberat.enable(true);
        txttotal.enable(true);
        txtnama.requestFocus();
    }
   
    private void desabled(){
        txttanggal.enable(false);
        txtno.enable(false);
        txtnama.enable(false);
        txthp.enable(false);
        txtalamat.enable(false);
        cmbkat.enable(false);
        txtharga.enable(false);
        txtberat.enable(false);
        txttotal.enable(false);
     
      
    }
   
    private void tgl(){
        Date ys=new Date();
        SimpleDateFormat s= new SimpleDateFormat("yyyy-MM-dd");
        txttanggal.setText(s.format(ys));
    }
  
     private void autonomor(){
      
           String sql="Select max(no) from trans_non_member";
           try{
               Statement statement=(Statement)koneksi.GetConnection().createStatement();
               ResultSet res=statement.executeQuery(sql);
               while(res.next()){
                   int a=res.getInt(1);
                   txtno.setText(""+Integer.toString(a+1));
               }
           }catch(Exception e){
               System.out.println(""+e.getMessage());
           }
3. Kembali ke form desain kemudian pada ComboBox “cmbkat” klik kanan di sana, pilih “Event>Action>actionPerformed...”, masukkan script ini
if(cmbkat.getSelectedItem()=="Reguler"){
            txtharga.setText("7000");
        }else if(cmbkat.getSelectedItem()=="Dry Cleaning"){
            txtharga.setText("10000");
        }
4. Masukkan script ini di bawah “public Transaksi_Non_Member() {“
        initComponents();
        datatable();
        tgl();
        autonomor();
       
        cmbkat.addItem("-PILIH-");
        cmbkat.addItem("Reguler");
        cmbkat.addItem("Dry Cleaning");
5. Kembali ke form desain kemudian klik dua kali tombol tambah, masukkan script ini
if(bttambah.getText()=="Tambah"){
            enabled();
            clear();
            autonomor();
            bttambah.setText("Simpan");
            btedit.setEnabled(false);
            bthapus.setEnabled(false);
        }else{
            String tanggal=txttanggal.getText();
            String no=txtno.getText();
            String nama=txtnama.getText();
            String no_hp=txthp.getText();
            String alamat=txtalamat.getText();
            String kategori=cmbkat.getSelectedItem().toString();
            String harga=txtharga.getText();
            String berat=txtberat.getText();
            String total=txttotal.getText();
           
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                statement.executeUpdate("insert into trans_non_member values('"+tanggal+"','"+no+"','"+nama+"','"+no_hp+"','"+alamat+"','"+kategori+"','"+harga+"','"+berat+"','"+total+"')");
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
                datatable();
                clear();
                desabled();
                bttambah.setText("Tambah");
                btedit.setEnabled(true);
                bthapus.setEnabled(true);
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
        }  
6. Kembali ke form desain kemudian klik dua kali tombol edit, masukkan script ini
if(btedit.getText()=="Edit"){
            enabled();
            bttambah.enable(false);
            btedit.setText("Simpan");
            bttambah.setEnabled(false);
            bthapus.setEnabled(false);
            txtnama.requestFocus();
        }else{
            String tanggal=txttanggal.getText();
            String no=txtno.getText();
            String nama=txtnama.getText();
            String no_hp=txthp.getText();
            String alamat=txtalamat.getText();
            String kategori=cmbkat.getSelectedItem().toString();
            String harga=txtharga.getText();
            String berat=txtberat.getText();
            String total=txttotal.getText();
           
            try{
                Statement statement=(Statement)koneksi.GetConnection().createStatement();
                String sql="UPDATE trans_non_member SET tanggal='"+tanggal+"',no='"+no+"',nama='"+nama+"',no_hp='"+no_hp+"',alamat='"+alamat+"',kategori='"+kategori+"',harga='"+harga+"',berat='"+berat+"',total='"+total+"' WHERE no='"+no+"';";
                statement.executeUpdate(sql);
                statement.close();
                JOptionPane.showMessageDialog(null, "Data Berhasil Dirubah");
                clear();
                desabled();
                btedit.setText("Edit");
                bttambah.setEnabled(true);
                bthapus.setEnabled(true);
            }catch(Exception t){
                JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
            }
            datatable();
        }                                     
 7. Kembali ke form desain kemudian klik dua kali tombol hapus, masukkan script ini
String no=txtno.getText();
        try{
            Statement statement=(Statement)koneksi.GetConnection().createStatement();
            statement.executeUpdate("delete from trans_non_member where no=('"+no+"');");
            clear();
            desabled();
            datatable();
            JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
        }catch(Exception t){
            JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
        }
8. Kembali ke form desain kemudian klik dua kali tombol batal, masukkan script ini
   clear();
        desabled();
        bttambah.setText("Tambah");
        btedit.setText("Edit");
        bttambah.setEnabled(true);
        btedit.setEnabled(true);
        bthapus.setEnabled(true);
9. Kembali ke form desain kemudian klik dua kali tombol hitung, masukkan script ini
int hasil=0;
        int harga=Integer.parseInt(txtharga.getText());
        int berat=Integer.parseInt(txtberat.getText());
        hasil=harga*berat;
        txttotal.setText(""+hasil);
10. Kembali ke form desain kemudian klik dua kali tombol keluar, masukkan script ini
Menu_Utama mu= new Menu_Utama();
        mu.show();
        this.setVisible(false);
11. Terakhir kembali ke form desain klik kanan pada tabel pilih “Events>Mouse>Mouse Clicked. Isikan scrip di bawah ini
  int row=jTable1.getSelectedRow();
        txttanggal.setText((String)jTable1.getValueAt(row, 0));
        txtno.setText((String)jTable1.getValueAt(row, 1));
        txtnama.setText((String)jTable1.getValueAt(row, 2));
        txthp.setText((String)jTable1.getValueAt(row, 3));
        txtalamat.setText((String)jTable1.getValueAt(row, 4));
        cmbkat.setSelectedItem((String)jTable1.getValueAt(row, 5));
        txtharga.setText((String)jTable1.getValueAt(row, 6));
        txtberat.setText((String)jTable1.getValueAt(row, 7));
        txttotal.setText((String)jTable1.getValueAt(row, 8));

4.3.6. Form Laporan Member
1. Setelah selesai kembali ke form Laporan_Member pilih source, masukkan scrip ini di atas tulisan “public class Laporan_Member extends javax.swing.JFrame {“
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.swing.JRViewer;
import net.sf.jasperreports.view.JasperViewer;
2. Kembali ke form desain kemudian klik dua kali tombol cetak, masukkan script ini
  try{
            String NamaFile="./src/bismillah/Laporan_Member.jasper";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/laundry", "root", "");
            HashMap param=new HashMap();
            param.put("KodeMember",txtkode.getText());
            JasperPrint JpPrint=JasperFillManager.fillReport(NamaFile, param, koneksi);
            JasperViewer.viewReport(JpPrint);
        }catch(Exception ex){
            System.out.println("ex");
}

4.3.7. Form Laporan Transaksi Member
1. Setelah selesai kembali ke form Laporan_TM pilih source, masukkan script ini di atas tulisan “public class Laporan_TM extends javax.swing.JFrame {“
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.swing.JRViewer;
import net.sf.jasperreports.view.JasperViewer;
2. Kembali ke form desain kemudian klik dua kali tombol cetak, masukkan script ini
try{
            String NamaFile="./src/bismillah/Laporan_TM.jasper";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/laundry", "root", "");
            HashMap param=new HashMap();
            param.put("TGL",jDateChooser1.getDate());
            JasperPrint JpPrint=JasperFillManager.fillReport(NamaFile, param, koneksi);
            JasperViewer.viewReport(JpPrint);
        }catch(Exception ex){
            System.out.println("ex");
        }

4.3.8. Form Laporan Transaksi Non Member
1. Setelah selesai kembali ke form Laporan_TNM pilih source, masukkan script ini di atas tulisan “public class Laporan_TNM extends javax.swing.JFrame {“
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.swing.JRViewer;
import net.sf.jasperreports.view.JasperViewer;
2. Kembali ke form desain kemudian klik dua kali tombol cetak, masukkan script ini
 try{
            String NamaFile="./src/bismillah/Laporan_TNM.jasper";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/laundry", "root", "");
            HashMap param=new HashMap();
            param.put("TGL",jDateChooser1.getDate());
            JasperPrint JpPrint=JasperFillManager.fillReport(NamaFile, param, koneksi);
            JasperViewer.viewReport(JpPrint);
        }catch(Exception ex){
            System.out.println("ex");
        }

BAB V 
PENUTUP 
5.1. Kesimpulan
    Kesimpulan dari kegiatan aplikasi transaksi laundry dari tugas mata kuliah Pemrograman Berorientasi Objek ini adalah sangatlah bagus, karena dalam pembelajaran ini, kami bisa belajar bekerja sama didalam kelompok untuk menyelesaikan suatu masalah dan tujuan, dan bisa mendapatkan banyak ilmu dan pengalaman dalam sebuah pembuatan sebuah aplikasi. 
5.2. Saran
    Saran dari kelompok kami adalah agar bapak bisa terus bisa membimbing kami dengan baik dan memberikan masukan – masukan yang bisa membangun dalam pelaksanaan pembelajaran. 

DAFTAR PUSTAKA
https://triktutor.blogspot.co.id/2015/06/tombol-tambah-edit-hapus-menggunakan.html
http://www.cripcips.com/2013/12/contoh-program-aplikasi-java-laundry.html
http://ilmuyogi.blogspot.co.id/2015/04/cara-membuat-auto-number-di-netbeans.html#.WlolFX2CzDc
http://panji-aksara.com/2016/08/21/java-cara-membuat-auto-number/
http://www.community-java.com/2017/03/cara-menggunakan-jdatechooser-atau-jcalendar-di-java-swing.html
http://www.atwiwit.net/2013/07/cara-membuat-laporan-ireport-dengan.html


Disusun Oleh:
Ana Al-Farizi        A1.1600001
Hani Fitrotun H    A1.1600005
MI-III

0 Komentar untuk "Aplikasi Transaksi Laundry"

Silakan tinggalkan komentar anda. DILARANG KERAS menyimpan link blog/web pada komentar dengan tujuan backlink, Spam.

 
Copyright © 2014 Tutorial Kampus - All Rights Reserved
Template By. Catatan Info