Kamis, 11 Januari 2018

PROGRAM UAS "PERPUSTAKAAN"

Assalamualaikum Wr. Wb.

Hai teman-teman, apa kabar? semoga sehat selalu ya,. Pada postingan ke dua dari Blog saya ini, saya akan menjelaskan tentang Program Algoritma yang saya buat, masih mengenai Program Perpustakaan Buku. Namun untuk postingan kedua ini terdapat beberapa komponen yang saya tambahkan. Untuk lebih jelasnya langsung saja lihat pada penjelasan dibawah ini, yaaa.. :-)


Program Perpustakaan ini bertujuan untuk membantu Petugas Perpustakaan dalam kaitannya dengan Pendataan dan Peminjaman Buku Perpustakaan yang dipinjam , agar lebih mudah , efisien , serta menghemat waktu .
Ada beberapa Form pada Program tersebut diantaranya Form Login, Form Menu Utama, Form Data Buku dan Form Peminjaman Buku. Berikut penjelasan detailnya..


1. Flowchart

2. Form Login
  • digunakan untuk Login Petugas Perpustakaan, berikut tampilan desainnya.



  • Isikan data petugas sebagai awal Pengoperasian Program, lalu klik Button Login seperti berikut:


  • Setelah sukses Login maka akan terhubung ke Form Menu Utama.
2. Form Menu Utama

          Pada Menu Utama dibawah ini, terdapat 2 Form, yaitu Data Buku dan Peminjaman Buku.


3. Form Data Buku.



Pada Form Data Buku diatas berisi Data-Data Buku yang ada pada Perpustakaan, kita dapat menambah, mengupdate, menghapus dan menampilkan Laporan mengenai Data tersebut.

a. Pertama , Menambah Data Buku Baru , isikan data pada Form tersebut, lalu klik Save, akan muncul kotak dialog Berhasil , klik Oke.


           Setelah Klik Oke maka akan muncul Data Buku Baru yang diisikan, pada Tabel tersebut.


b. Kedua, Mengupdate Data Buku, apabila ada kesalahan saat memasukkan Data sebelumnya.
Klik pada tabel , data mana yang akan di update, setelah muncul pada TextField , ganti Data yang akan di update misal Tahun, setelah itu Klik Button Update.


setelah muncul tampilan seperti diatas Klik Oke, maka Tahun Buku yang terdapat pada Tabel akan berubah , berikut tampilannya


c. Ketiga, Menghapus Data, klik pada tabel, data mana yang akan dihapus, lalu klik Button Delete, akan muncul Konfirmasi       "Apakah Anda yakin akan menghapus data?" jika iya klik Oke , setelah klik Oke akan muncul kotak dialog lagi yang bersii informasi bahwa "Data telah berhasil di hapus", klik Oke.





d. Keempat, Menampilkan Report / Laporan Data Buku, klik Report akan muncul tampilan sebagai berikut



4. Form Peminjaman Buku
untuk mendata Peminjam dan Buku yang di pinjam, serta Sewa Buku tersebut, dihitung dari Lama Pinjam dikali (x) harga sewa.

a. Tampilan Desain 



b. Isikan data yang dibutuhkan 


c. Klik Proses



d. Klik Simpan, untuk menyimpan data pada Database, jika berhasil pilih Oke.


e. Untuk menampilkan Laporan Klik Report



f. Jika sudah selesai dan ingin Keluar/Exit Pilih Button Exit , lalu Klik Yes


Tampilan Struktur Database Perpustakaan Buku menggunakan MySQL

a. Tabel Buku



b. Tabel Peminjam Buku




Source Code pada Form Data Buku :


package perpustakaan;


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

import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import javax.swing.table.*;
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.view.JasperViewer;




/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author 840076
 */
public class DataBuku extends javax.swing.JFrame {
Connection koneksi;
ResultSet rss;
Statement stm;
    /**
     * Creates new form InputBuku
     */
    public DataBuku() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel8 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        txtid = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        txtjudul = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        txtpengarang = new javax.swing.JTextField();
        txtpenerbit = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        txttahun = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        txtsewa = new javax.swing.JTextField();
        BtnSB = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        TableBuku = new javax.swing.JTable();
        BtnUpdate = new javax.swing.JButton();
        BtnCetak = new javax.swing.JButton();
        BtnDelete = new javax.swing.JButton();
        BtnBB = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                formMouseClicked(evt);
            }
        });
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
        });

        jPanel1.setBackground(new java.awt.Color(204, 204, 255));

        jLabel8.setFont(new java.awt.Font("DejaVu Sans Condensed", 3, 24)); // NOI18N
        jLabel8.setForeground(new java.awt.Color(0, 0, 102));
        jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel8.setText("DATA BUKU PERPUSTAKAAN");

        jButton1.setIcon(new javax.swing.ImageIcon("C:\\Users\\840076\\Pictures\\2017-10-26\\library.png")); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(132, 132, 132)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(29, 29, 29)
                .addComponent(jLabel8)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(46, 46, 46)
                        .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(21, 21, 21)
                        .addComponent(jButton1)))
                .addContainerGap(28, Short.MAX_VALUE))
        );

        jPanel3.setBackground(new java.awt.Color(0, 153, 255));

        jLabel1.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(0, 0, 102));
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("id_buku");

        jLabel2.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel2.setForeground(new java.awt.Color(0, 0, 102));
        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel2.setText("Judul Buku");

        txtjudul.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtjudul.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        jLabel3.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel3.setForeground(new java.awt.Color(0, 0, 102));
        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel3.setText("Pengarang");

        jLabel4.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel4.setForeground(new java.awt.Color(0, 0, 102));
        jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel4.setText("Penerbit");

        txtpengarang.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtpengarang.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtpengarang.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtpengarangActionPerformed(evt);
            }
        });

        txtpenerbit.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtpenerbit.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        jLabel5.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel5.setForeground(new java.awt.Color(0, 0, 102));
        jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel5.setText("Tahun");

        txttahun.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txttahun.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        jLabel6.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel6.setForeground(new java.awt.Color(0, 0, 102));
        jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel6.setText("Harga Sewa");

        txtsewa.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtsewa.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        BtnSB.setBackground(new java.awt.Color(255, 102, 102));
        BtnSB.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnSB.setForeground(new java.awt.Color(0, 0, 102));
        BtnSB.setText("Save");
        BtnSB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnSBActionPerformed(evt);
            }
        });

        TableBuku.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        TableBuku.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                TableBukuMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(TableBuku);

        BtnUpdate.setBackground(new java.awt.Color(255, 102, 102));
        BtnUpdate.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnUpdate.setForeground(new java.awt.Color(0, 0, 102));
        BtnUpdate.setText("Update");
        BtnUpdate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnUpdateActionPerformed(evt);
            }
        });

        BtnCetak.setBackground(new java.awt.Color(255, 102, 102));
        BtnCetak.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnCetak.setForeground(new java.awt.Color(0, 0, 102));
        BtnCetak.setText("Report");
        BtnCetak.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnCetakActionPerformed(evt);
            }
        });

        BtnDelete.setBackground(new java.awt.Color(255, 102, 102));
        BtnDelete.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnDelete.setForeground(new java.awt.Color(0, 0, 102));
        BtnDelete.setText("Delete");
        BtnDelete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnDeleteActionPerformed(evt);
            }
        });

        BtnBB.setBackground(new java.awt.Color(255, 102, 102));
        BtnBB.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnBB.setForeground(new java.awt.Color(0, 0, 102));
        BtnBB.setText("Back");
        BtnBB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnBBActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGap(70, 70, 70)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addGroup(jPanel3Layout.createSequentialGroup()
                                .addGap(2, 2, 2)
                                .addComponent(BtnSB, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jLabel2)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(37, 37, 37))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)))
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(txtpengarang, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(txtjudul, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(txtid, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(txtpenerbit, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(txttahun, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtsewa, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 690, Short.MAX_VALUE)
                        .addGap(27, 27, 27))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(BtnUpdate, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(37, 37, 37)
                        .addComponent(BtnCetak, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(36, 36, 36)
                        .addComponent(BtnDelete, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(40, 40, 40)
                        .addComponent(BtnBB, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtjudul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel2))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtpengarang, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtpenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txttahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel5))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtsewa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel6)))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(73, 73, 73)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(BtnSB)
                    .addComponent(BtnUpdate)
                    .addComponent(BtnCetak)
                    .addComponent(BtnDelete)
                    .addComponent(BtnBB))
                .addContainerGap(170, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        
public void buka_db() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            koneksi = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/perpustakaan_buku", "root", "");
        } catch (ClassNotFoundException e) {
            System.out.println("Error #1 " + e.getMessage());
            System.exit(0);
        } catch (SQLException e) {
            System.out.println("Error #2 : " + e.getMessage());
            System.exit(0);
        }
    }



public void tampildata() {
        DefaultTableModel dataTabel = new DefaultTableModel();
        dataTabel.addColumn("id_buku");
        dataTabel.addColumn("judul_buku");
        dataTabel.addColumn("pengarang");
        dataTabel.addColumn("penerbit");
        dataTabel.addColumn("tahun");
        dataTabel.addColumn("harga_sewa");
        

        try {
            stm = koneksi.createStatement();
            String sql = "SELECT * From buku order by id_buku ASC";
            rss = stm.executeQuery(sql);
            while (rss.next()) {
                dataTabel.addRow(new Object[]{
                            rss.getString(1),
                            rss.getString(2),
                            rss.getString(3),
                            rss.getString(4),
                            rss.getString(5),
                            rss.getString(6),});
            }
            TableBuku.setModel(dataTabel);
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, "Ada Kesalahan dalam SQL Statement ..!");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Ada Kesalahan dalam kode Program ..!");
        }
    }

public void bersihkan(){
     txtid.setText("");
        txtjudul.setText("");
        txtpengarang.setText("");
        txtpenerbit.setText("");
        txttahun.setText("");
        txtsewa.setText("");
       
}
    private void txtpengarangActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
    }                                            

    private void BtnBBActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        this.hide();
        MenuUtama Frm=new MenuUtama();
        Frm.setLocationRelativeTo(Frm);
        Frm.setVisible(true);
    }                                     

    private void BtnSBActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
       
        try{
            String host  = "jdbc:mysql://localhost:3306/perpustakaan_buku",
             user        ="root",
             pass        ="";
          Connection con = (Connection) DriverManager.getConnection(host, user, pass);
   
        int id_buku=Integer.parseInt(txtid.getText());
        String Buku=txtjudul.getText();
        String Pengarang=txtpengarang.getText();
        String Penerbit=txtpenerbit.getText();
        int Tahun=Integer.parseInt(txttahun.getText());
        int Sewa=Integer.parseInt(txtsewa.getText());
        
        
       Statement st=con.createStatement();
       st.executeUpdate("INSERT INTO  buku  ( id_buku ,  judul_buku ,  pengarang ,  penerbit ,  tahun ,  harga_sewa ) VALUES ( "+id_buku+",'"+Buku+"' ,'"+Pengarang+"' , '"+Penerbit+"' , "+Tahun+" , "+Sewa+")");
       st.close();
       JOptionPane.showMessageDialog(null,"Berhasil");
       bersihkan();
        } catch (SQLException err){
        JOptionPane.showMessageDialog(null,err.getMessage());   
              
    }
    }                                     

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
        // TODO add your handling code here:
        buka_db();
        tampildata();
        
    }                                    

    private void BtnCetakActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        buka_db();
       try {
     
    koneksi.createStatement();
        Map<String, Object> maps = new HashMap<String, Object>();
        JasperReport JRP;
           JRP = JasperCompileManager.compileReport("src/perpustakaan/laporandatabuku.jrxml");
        JasperPrint JFILL = JasperFillManager.fillReport(JRP, maps, koneksi);
        JasperViewer.viewReport(JFILL, false);

    } catch (SQLException rptexcpt) {
        JOptionPane.showMessageDialog(this, rptexcpt.getMessage());
        System.out.println(rptexcpt);
    } catch (JRException rptexcpt) {
        JOptionPane.showMessageDialog(this, rptexcpt.getMessage());
        System.out.println(rptexcpt);
    }
        
    }                                        

    private void BtnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        if (txtid.getText().equals("")) {
            JOptionPane.showMessageDialog(this,
                    "Pilih data dari table terlebih dahulu !", "Informasi", 1);
        } else {
            if (JOptionPane.showConfirmDialog(null,
                    "Apakah Anda yakin akan menghapus data ?", "Konfirmasi", JOptionPane.OK_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) {
            }
            try {
                stm = koneksi.createStatement();
                String sql = "DELETE From buku where id_buku ='"
                        + txtid.getText() + "'";

                stm.executeUpdate(sql);
                JOptionPane.showMessageDialog(this,
                        "Data telah berhasil dihapus");
               
            } catch (SQLException e) {
                JOptionPane.showMessageDialog(this, "Ada kesalahan di SQL Statement..!");
            } catch (Exception e) {
                JOptionPane.showMessageDialog(this, "Ada kesalahan dalam kode program..!");
            }
         tampildata();
         bersihkan();
        }
    }                                         

    private void BtnUpdateActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        try { 
                String sql;
                stm = koneksi.createStatement();             
                    sql = "update buku set judul_buku='" + txtjudul.getText() + "',"
                            + "pengarang='" + txtpengarang.getText() + "',"
                             + "penerbit='" + txtpenerbit.getText() + "',"
                            + "tahun='" + txttahun.getText() + "',"
                           + "harga_sewa='" + txtsewa.getText() + "' "
                            + "where id_buku ='" + txtid.getText() + "'";
                    stm.executeUpdate(sql);
                    JOptionPane.showMessageDialog(this, "Data berhasil diUpdate");
                   
              
            } catch (SQLException e) {
                JOptionPane.showMessageDialog(this, "Ada kesalahan dalam SQL Statement simpan.." + e.toString());
            } catch (Exception e) {
                JOptionPane.showMessageDialog(this, "Ada kesalahan dalam kode program");
            }
     tampildata();
     bersihkan();
    
    }                                         

    private void formMouseClicked(java.awt.event.MouseEvent evt) {                                  
        // TODO add your handling code here:
    }                                 

    private void TableBukuMouseClicked(java.awt.event.MouseEvent evt) {                                       
        // TODO add your handling code here:
        try {
       // if (tabel == true) {
            int ambildata = TableBuku.getSelectedRow();
            String a = TableBuku.getValueAt(ambildata, 0).toString();
            String b = TableBuku.getValueAt(ambildata, 1).toString();
            String c = TableBuku.getValueAt(ambildata, 2).toString();
            String d = TableBuku.getValueAt(ambildata, 3).toString();
            String e = TableBuku.getValueAt(ambildata, 4).toString();
            String f = TableBuku.getValueAt(ambildata, 5).toString();

            txtid.setText(a);
            txtjudul.setText(b);
            txtpengarang.setText(c);
            txtpenerbit.setText(d);
            txttahun.setText(e);
            txtsewa.setText(f);      
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, "Tekan Batal terlebih dahulu !" + e.toString());
    }
                                   
        
    }                                      

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(DataBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(DataBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(DataBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(DataBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DataBuku().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton BtnBB;
    private javax.swing.JButton BtnCetak;
    private javax.swing.JButton BtnDelete;
    private javax.swing.JButton BtnSB;
    private javax.swing.JButton BtnUpdate;
    private javax.swing.JTable TableBuku;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField txtid;
    private javax.swing.JTextField txtjudul;
    private javax.swing.JTextField txtpenerbit;
    private javax.swing.JTextField txtpengarang;
    private javax.swing.JTextField txtsewa;
    private javax.swing.JTextField txttahun;
    // End of variables declaration                   
}


Source Code pada Form Peminjaman Buku

package perpustakaan;


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

import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;

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.view.JasperViewer;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author 840076
 */
public class PeminjamanBuku extends javax.swing.JFrame {
Connection koneksi;
    /**
     * Creates new form InputPengembalianBuku
     */
    public PeminjamanBuku() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jDesktopPane2 = new javax.swing.JDesktopPane();
        jPanel2 = new javax.swing.JPanel();
        btnsave = new javax.swing.JButton();
        BtnCetak = new javax.swing.JButton();
        txttglk = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        jLabel16 = new javax.swing.JLabel();
        txttotalsewa = new javax.swing.JTextField();
        txtsewa = new javax.swing.JTextField();
        txtlamapinjam = new javax.swing.JTextField();
        jLabel17 = new javax.swing.JLabel();
        BtnExit = new javax.swing.JButton();
        BtnProses = new javax.swing.JButton();
        jLabel18 = new javax.swing.JLabel();
        jLabel19 = new javax.swing.JLabel();
        txtpenerbit = new javax.swing.JTextField();
        jLabel20 = new javax.swing.JLabel();
        txtjudul = new javax.swing.JTextField();
        jLabel21 = new javax.swing.JLabel();
        txtnama = new javax.swing.JTextField();
        jLabel22 = new javax.swing.JLabel();
        txtnim = new javax.swing.JTextField();
        jLabel23 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        jLabel25 = new javax.swing.JLabel();
        txttglp = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
        });

        jDesktopPane2.setBackground(new java.awt.Color(153, 153, 153));

        jPanel2.setBackground(new java.awt.Color(0, 153, 255));

        btnsave.setBackground(new java.awt.Color(255, 102, 102));
        btnsave.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        btnsave.setForeground(new java.awt.Color(0, 0, 102));
        btnsave.setText("Save");
        btnsave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnsaveActionPerformed(evt);
            }
        });

        BtnCetak.setBackground(new java.awt.Color(255, 102, 102));
        BtnCetak.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnCetak.setForeground(new java.awt.Color(0, 0, 102));
        BtnCetak.setText("Report");
        BtnCetak.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnCetakActionPerformed(evt);
            }
        });

        jLabel4.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel4.setForeground(new java.awt.Color(0, 0, 102));
        jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel4.setText("Lama Pinjam");

        jLabel15.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel15.setForeground(new java.awt.Color(0, 0, 102));
        jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel15.setText("Total");

        jLabel16.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel16.setForeground(new java.awt.Color(0, 0, 102));
        jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel16.setText("Sewa per hari");

        txttotalsewa.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txttotalsewa.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txttotalsewa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txttotalsewaActionPerformed(evt);
            }
        });

        txtsewa.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtsewa.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtsewa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtsewaActionPerformed(evt);
            }
        });

        txtlamapinjam.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtlamapinjam.setHorizontalAlignment(javax.swing.JTextField.LEFT);

        jLabel17.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel17.setForeground(new java.awt.Color(0, 0, 102));
        jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel17.setText("Tgl Kembali");

        BtnExit.setBackground(new java.awt.Color(255, 102, 102));
        BtnExit.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnExit.setForeground(new java.awt.Color(0, 0, 102));
        BtnExit.setText("Exit");
        BtnExit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnExitActionPerformed(evt);
            }
        });

        BtnProses.setBackground(new java.awt.Color(255, 102, 102));
        BtnProses.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        BtnProses.setForeground(new java.awt.Color(0, 0, 102));
        BtnProses.setText("Proses");
        BtnProses.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtnProsesActionPerformed(evt);
            }
        });

        jLabel18.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel18.setForeground(new java.awt.Color(0, 0, 102));
        jLabel18.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel18.setText("Tgl Pinjam");

        jLabel19.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel19.setForeground(new java.awt.Color(0, 0, 102));
        jLabel19.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel19.setText("Penerbit");

        txtpenerbit.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtpenerbit.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtpenerbit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtpenerbitActionPerformed(evt);
            }
        });

        jLabel20.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel20.setForeground(new java.awt.Color(0, 0, 102));
        jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel20.setText("Judul Buku");

        txtjudul.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtjudul.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtjudul.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtjudulActionPerformed(evt);
            }
        });

        jLabel21.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel21.setForeground(new java.awt.Color(0, 0, 102));
        jLabel21.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel21.setText("Nama Mahasiswa");

        txtnama.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtnama.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtnama.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtnamaActionPerformed(evt);
            }
        });

        jLabel22.setBackground(new java.awt.Color(255, 255, 255));
        jLabel22.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel22.setForeground(new java.awt.Color(0, 0, 102));
        jLabel22.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel22.setText("NIM");

        txtnim.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtnim.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        txtnim.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtnimActionPerformed(evt);
            }
        });

        jLabel23.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel23.setForeground(new java.awt.Color(0, 0, 102));
        jLabel23.setText("dd/mm/yyyy");

        jLabel24.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel24.setForeground(new java.awt.Color(0, 0, 102));
        jLabel24.setText("dd/mm/yyyy");

        jLabel25.setFont(new java.awt.Font("DejaVu Sans Condensed", 1, 12)); // NOI18N
        jLabel25.setForeground(new java.awt.Color(0, 0, 102));
        jLabel25.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        jLabel25.setText("Hari");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(67, 67, 67)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(jLabel22)
                        .addGap(155, 155, 155)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtnama, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtnim, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtjudul, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtpenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel2Layout.createSequentialGroup()
                                .addComponent(txttglp, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel23))
                            .addGroup(jPanel2Layout.createSequentialGroup()
                                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(txtlamapinjam, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(txttglk, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(txtsewa, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(txttotalsewa, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel24)
                                    .addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addGap(0, 170, Short.MAX_VALUE))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel21)
                            .addComponent(jLabel20)
                            .addComponent(jLabel19)
                            .addComponent(jLabel18)
                            .addComponent(jLabel17)
                            .addComponent(jLabel4)
                            .addComponent(jLabel16)
                            .addComponent(jLabel15)
                            .addGroup(jPanel2Layout.createSequentialGroup()
                                .addComponent(BtnProses, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(31, 31, 31)
                                .addComponent(btnsave, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(31, 31, 31)
                                .addComponent(BtnCetak, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(29, 29, 29)
                                .addComponent(BtnExit, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(50, 50, 50)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtnim, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel22))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtnama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel21))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtjudul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel20))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtpenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel19))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txttglp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel23)
                    .addComponent(jLabel18))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txttglk, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel24, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel17))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtlamapinjam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel25)
                    .addComponent(jLabel4))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtsewa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel16))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txttotalsewa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel15))
                .addGap(55, 55, 55)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(BtnProses)
                    .addComponent(BtnCetak)
                    .addComponent(BtnExit)
                    .addComponent(btnsave))
                .addGap(79, 79, 79))
        );

        jPanel1.setBackground(new java.awt.Color(204, 204, 255));
        jPanel1.setForeground(new java.awt.Color(255, 255, 255));

        jButton1.setBackground(new java.awt.Color(255, 255, 255));
        jButton1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        jButton1.setIcon(new javax.swing.ImageIcon("C:\\Users\\840076\\Pictures\\2017-10-26\\library.png")); // NOI18N

        jLabel8.setBackground(new java.awt.Color(255, 255, 255));
        jLabel8.setFont(new java.awt.Font("DejaVu Sans Condensed", 3, 24)); // NOI18N
        jLabel8.setForeground(new java.awt.Color(0, 0, 102));
        jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel8.setText("PEMINJAMAN BUKU PERPUSTAKAAN");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(26, 26, 26)
                .addComponent(jLabel8)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jButton1)
                .addGap(0, 0, Short.MAX_VALUE))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(24, 24, 24)
                .addComponent(jLabel8)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jDesktopPane2.setLayer(jPanel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jDesktopPane2.setLayer(jPanel1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jDesktopPane2Layout = new javax.swing.GroupLayout(jDesktopPane2);
        jDesktopPane2.setLayout(jDesktopPane2Layout);
        jDesktopPane2Layout.setHorizontalGroup(
            jDesktopPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jDesktopPane2Layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addGroup(jDesktopPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );
        jDesktopPane2Layout.setVerticalGroup(
            jDesktopPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jDesktopPane2Layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jDesktopPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jDesktopPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        pack();
    }// </editor-fold>                        
public void buka_db() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            koneksi = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/perpustakaan_buku", "root", "");
        } catch (ClassNotFoundException e) {
            System.out.println("Error #1 " + e.getMessage());
            System.exit(0);
        } catch (SQLException e) {
            System.out.println("Error #2 : " + e.getMessage());
            System.exit(0);
        }
    }

public void bersihkan(){
     txtnim.setText("");
        txtnama.setText("");
        txtjudul.setText("");
        txtpenerbit.setText("");
        txttglp.setText("");
        txttglk.setText("");
        txtlamapinjam.setText("");
        txtsewa.setText("");
        txttotalsewa.setText("");
}

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
        // TODO add your handling code here:
        buka_db();
        
    }                                    

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

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

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

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

    private void BtnProsesActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        int i=Integer.parseInt(txtlamapinjam.getText());
        int j=Integer.parseInt(txtsewa.getText());

        int hasil=i*j;
        txttotalsewa.setText(""+hasil);
    }                                         

    private void BtnExitActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        if(JOptionPane.showConfirmDialog(null,"Yakin Keluar","Konfirmasi",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){;
            System.exit(0);
        }
    }                                       

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

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

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

            koneksi.createStatement();
            Map<String, Object> maps = new HashMap<String, Object>();
            JasperReport JRP;
            JRP = JasperCompileManager.compileReport("src/perpustakaan/lap.peminjamanbuku.jrxml");
            JasperPrint JFILL = JasperFillManager.fillReport(JRP, maps, koneksi);
            JasperViewer.viewReport(JFILL, false);

        } catch (SQLException rptexcpt) {
            JOptionPane.showMessageDialog(this, rptexcpt.getMessage());
            System.out.println(rptexcpt);
        } catch (JRException rptexcpt) {
            JOptionPane.showMessageDialog(this, rptexcpt.getMessage());
            System.out.println(rptexcpt);
        }
    }                                        

    private void btnsaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        try{
            String host  = "jdbc:mysql://localhost:3306/perpustakaan_buku",
            user        ="root",
            pass        ="";
            Connection con = (Connection) DriverManager.getConnection(host, user, pass);

            String Nim=txtnim.getText();
            String Nama=txtnama.getText();
            String Judul=txtjudul.getText();
            String Penerbit=txtpenerbit.getText();
            String TglPinjam=txttglp.getText();
            String TglKembali=txttglk.getText();
            int LamaPinjam=Integer.parseInt(txtlamapinjam.getText());
            int Sewa=Integer.parseInt(txtsewa.getText());
            int Total=Integer.parseInt(txttotalsewa.getText());

            Statement st=con.createStatement();
            st.executeUpdate("INSERT INTO  peminjaman_buku  ( NIM ,  Nama_Mahasiswa ,  Judul_Buku ,  Penerbit ,  Tgl_pinjam , Tgl_kembali ,  Lama_pinjam ,  Sewa_perhari ,  Total  ) VALUES ( '"+Nim+"','"+Nama+"' ,'"+Judul+"' , '"+Penerbit+"' , '"+TglPinjam+"' , '"+TglKembali+"' , "+LamaPinjam+" , "+Sewa+" , "+Total+")");
            st.close();
            JOptionPane.showMessageDialog(null,"Berhasil");
            bersihkan();

        } catch (SQLException err){
            JOptionPane.showMessageDialog(null,err.getMessage());

        }
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(PeminjamanBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(PeminjamanBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(PeminjamanBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(PeminjamanBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new PeminjamanBuku().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton BtnCetak;
    private javax.swing.JButton BtnExit;
    private javax.swing.JButton BtnProses;
    private javax.swing.JButton btnsave;
    private javax.swing.JButton jButton1;
    private javax.swing.JDesktopPane jDesktopPane2;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextField txtjudul;
    private javax.swing.JTextField txtlamapinjam;
    private javax.swing.JTextField txtnama;
    private javax.swing.JTextField txtnim;
    private javax.swing.JTextField txtpenerbit;
    private javax.swing.JTextField txtsewa;
    private javax.swing.JTextField txttglk;
    private javax.swing.JTextField txttglp;
    private javax.swing.JTextField txttotalsewa;
    // End of variables declaration                   
}


Demikian penjelasan sederhana mengenai Program Algoritma saya, semoga bermanfaat dan mohon maaf jika banyak kekurangan didalamnya. Terimakasih. 😊

Wassalamu'alaikum Wr.Wb




Video Singkat Aplikasi "Perpustakaan"




TUGAS/UAS/MOBILE_PROGRAMMING

TUGAS UAS MOBILE PROGRAMMING MEMBUAT APLIKASI TERKONEKSI DATABASE SQLITE PADA ANDROID STUDIO "LIST GROUP KPOP" Assalamuala...