zymanq.com

Sign up for PayPal and start accepting credit card payments instantly.

Program sederhana “Katalog Buku” dengan Java

Suka berbelanja di bukukita.com??  saya salah satu pelanggan setia nya.  Saya coba membuat software sederhana dengan menggunakan fasilitas Swing pallete manager pada Netbeans yang menyerupai detail buku dari toko bukukita.com.

Langkah persiapan
tools yang digunakan adalah Netbeans 6.5 dan java jdk 6. awalnya melihat Tampilan di bukukita.com

bukukitazay1

Langkah Pembuatan

1. Buka Netbeans IDE
2. Buat project baru, File – New Project -  java – Java Application
3. Buat JFrame form, File – New File – Swing GUI Form – JFrame, dan beri nama Bukuku.java

  /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Bukuku.java
 *
 * Created on 09 Apr 09, 7:22:11
 */

package KatalogBuku;

import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author zay
 */
public class Bukuku extends javax.swing.JFrame {
    ArrayList<Buku> list = new ArrayList<Buku>();  //Membuat arraylist, bisa diganti ama database
    String[] title = {"Judul","ISBN","Penulis","Tanggal Terbit","Jumlah Halaman","Berat Buku","Jenis Cover","Dimensi","Kategori","Bahasa","Sinopsis"}; // untuk judul di jtable
    int index = 0;  // index buat posisi list

    /** Creates new form Bukuku */
    public Bukuku() {
        initComponents();

        //Masukkan nama2 buku
        list.add(new Buku("25 Gagasan Besar Sains Yang merubah Dunia Kita",
                     "12345",
                     "Robbert Mattthews",
                     "Serambi",
                     "10 - Maret",
                     332,
                     "10 mg",
                     "-",
                     "-",
                     "Psikologi",
                     "indonesia",
                     "Tentang 25 gagasan besar Sains"));
        list.add(new Buku("Indonesian Top CEO WIsdom : Precious Lessons",
                     "9789792244397",
                     "Amalia E. Maulana, Firdaus A. Alamsjah ",
                     "Gramedia Pustaka Utama ",
                     "Maret - 2009 ",
                     256 ,
                     "-",
                     "Hard Cover ",
                     "150x230mm",
                     "Kepemimpinan",
                     "indonesia",
                     "Berisi 12 wisdom dari para Top CEO di Indonesia. Mereka berbagi kiat, taktik, teknik, formula, dan Nilai-Nilai Hidup yang unik dan khas dalam aktivitas kepemimpinan mereka sehingga perusahaan atau korporasi yang mereka pimpin bisa berkembang, bertahan, dan menguntungkan bagi para stakeholder. Sesuai subjudulnya, Precious Lessons, buku ini memang dapat dijadikan sebagai pelajaran yang sangat berharga baik untuk kemajuan diri dan kemajuan perusahaan tempat kita bekerja, demi tercapainya visi dan misi perusahaan karena jika perusahaan sukses, para stakeholder juga akan menikmati kesejahteraan bersama."));
        list.add(new Buku("Kalung Chic & Unik Buatan Sendiri   [Buku Bestseller] ",
                     "9792229426",
                     "Red Communications",
                     "Gramedia Pustaka Utama",
                     "Juni - 2007",
                     60,
                     "-",
                     "Soft Cover",
                     "215x215mm",
                     "Psikologi",
                     "indonesia",
                     "Sebagai perhiasan yang digunakan untuk memberi sentuhan kecantikan dengan menonjolkan bagian leher dan dada, kalung menjadi aksesori utama yang 'most wanted'. Apalagi, kalunq dari bebatuan yang kini sedang 'in'. Anda mungkin dengan mudah bisa mendapatkannya di berbagai toko aksesori. Namun, selain hemat, membuat kalung sendiri dapat menjadi sarana untuk menyalurkan bakat kreatif Anda yang terpendam dan mungkin menjadi ladang emas untuk sumber penghasilan Anda. Chicdan unik adalah napas utama contoh karya kalung dalam galeri buku ini. Anda akan menemukan berbagai desain kalung dari manik-manik yang lebih variatif dan kaya aksentuasi. Panduan langkah demi langkah yang lengkap dan jelas, serta tips praktis yang disertakan dengan ilustrasi yang cantik dan menarik, akan memudahkan Anda dalam mempraktikkannya dan menjadi inspirasi kreativitas Anda."));
        list.add(new Buku("Harlequin: Mempelai Sang Jutawan Prancis - The Frenchman's Bride ",
                     "9792226451 ",
                     "Rebecca Winters",
                     "Gramedia Pustaka Utama",
                     "Februari - 2007",
                     60,
                     "-",
                     "Soft Cover",
                     "110x180mm",
                     "Roman Harlequin ",
                     "indonesia",
                     "Vincent Rolland sangat marah saat mengetahui putranya, Paul, diam-diam telah membeli cincin pertunangan yang nyaris menguras seluruh tabungan yang ia sediakan sebagai hadiah kelulusan Paul dan Monique---kedua anak kembarnya, yang bersekolah di Paris. Vincent yakin wanita yang akan dinikahi Paul mata duitan dan bertekad menyingkirkan wanita itu dari kehidupan putranya. Tetapi, usahanya itu ditentang keras Paul, yang begitu putus asa hingga sengaja menabrakkan diri di depan sebuah truk yang melaju. Meskipun nyawanya bisa diselamatkan, Paul mengalami trauma kejiwaan yang sulit disembuhkan. Satu-satunya orang yang bisa membantu memulihkan Paul, dan pada akhirnya mengubah hidup Vincent, adalah wanita yang dicintai Paul, Hallie Linn, yang ternyata seorang… biarawati. "));

        updateTable();
        showData();
    }

    //Untuk mengupdate nama judul tabel dan menampilkan data ke table
    private void updateTable(){
        Object[][] data = new Object[this.list.size()][12];
        int x = 0;
        for (Buku book:this.list){
            data[x][0] = book.getJudul();
            data[x][1] = book.isbn;
            data[x][2] = book.penulis;
            data[x][3] = book.penerbit;
            data[x][4] = book.tglterbit;
            data[x][5] = book.jmlhalaman;
            data[x][6] = book.brtbuku;
            data[x][7] = book.jnscover;
            data[x][8] = book.dimensi;
            data[x][9] = book.kategori;
            data[x][10] = book.bahasa;
            data[x][11] = book.sinopsis;
            ++x;
        }
        tblBuku.setModel(new DefaultTableModel(data,title));
    }

    //Menampilkan data sesuai index ke dalam jTextField
    private void showData(){
        Buku tampil = this.list.get(index);
        this.judul.setText(tampil.getJudul());
        this.isbn.setText(tampil.getIsbn());
        this.penulis.setText(tampil.getPenulis());
        this.penerbit.setText(tampil.getPenerbit());
        this.tglterbit.setText(tampil.getTglterbit());
        this.jmlhalaman.setText(String.valueOf(tampil.jmlhalaman));
        this.brtbuku.setText(tampil.getBrtbuku());
        this.jnscover.setText(tampil.getBrtbuku());
        this.dimensi.setText(tampil.getDimensi());
        this.kategori.setText(tampil.getKategori());
        this.bahasa.setText(tampil.getBahasa());
        this.sinopsis.setText(tampil.getSinopsis());
    }

    /** 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() {

        gambarBuku1 = new KatalogBuku.GambarBuku();
        jLabel1 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        judul = new javax.swing.JTextField();
        isbn = new javax.swing.JTextField();
        penulis = new javax.swing.JTextField();
        penerbit = new javax.swing.JTextField();
        tglterbit = new javax.swing.JTextField();
        jmlhalaman = new javax.swing.JTextField();
        brtbuku = new javax.swing.JTextField();
        jnscover = new javax.swing.JTextField();
        dimensi = new javax.swing.JTextField();
        kategori = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        bahasa = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        sinopsis = new javax.swing.JTextArea();
        gambar11 = new KatalogBuku.Gambar1();
        btnTambah = new javax.swing.JButton();
        btnHapus = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        tblBuku = new javax.swing.JTable();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jButton6 = new javax.swing.JButton();
        btnSimpan = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Calibri", 1, 18));
        jLabel1.setForeground(new java.awt.Color(255, 51, 51));
        jLabel1.setText("Katalog Buku");

        javax.swing.GroupLayout gambarBuku1Layout = new javax.swing.GroupLayout(gambarBuku1);
        gambarBuku1.setLayout(gambarBuku1Layout);
        gambarBuku1Layout.setHorizontalGroup(
            gambarBuku1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, gambarBuku1Layout.createSequentialGroup()
                .addContainerGap(48, Short.MAX_VALUE)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        gambarBuku1Layout.setVerticalGroup(
            gambarBuku1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, gambarBuku1Layout.createSequentialGroup()
                .addContainerGap(14, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addContainerGap())
        );

        jPanel1.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));

        jLabel2.setText("Judul :");

        jLabel3.setText("No ISBN :");

        jLabel4.setText("Penulis :");

        jLabel5.setText("Penerbit:");

        jLabel6.setText("Tanggal terbit :");

        jLabel7.setText("Jumlah Halaman :");

        jLabel8.setText("Berat Buku :");

        jLabel9.setText("Jenis Cover :");

        jLabel10.setText("Dimensi :");

        jLabel11.setText("Kategori :");

        penulis.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                penulisActionPerformed(evt);
            }
        });

        jLabel12.setText("Text bahasa :");

        jLabel13.setText("Sinopsis :");

        sinopsis.setColumns(20);
        sinopsis.setLineWrap(true);
        sinopsis.setRows(5);
        sinopsis.setWrapStyleWord(true);
        jScrollPane1.setViewportView(sinopsis);

        javax.swing.GroupLayout gambar11Layout = new javax.swing.GroupLayout(gambar11);
        gambar11.setLayout(gambar11Layout);
        gambar11Layout.setHorizontalGroup(
            gambar11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 155, Short.MAX_VALUE)
        );
        gambar11Layout.setVerticalGroup(
            gambar11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 140, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel13)
                    .addComponent(jLabel12)
                    .addComponent(jLabel11)
                    .addComponent(jLabel3)
                    .addComponent(jLabel2)
                    .addComponent(jLabel4)
                    .addComponent(jLabel6)
                    .addComponent(jLabel7)
                    .addComponent(jLabel8)
                    .addComponent(jLabel9)
                    .addComponent(jLabel10)
                    .addComponent(jLabel5))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 836, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(judul, javax.swing.GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE)
                            .addComponent(penulis)
                            .addComponent(tglterbit, javax.swing.GroupLayout.DEFAULT_SIZE, 127, Short.MAX_VALUE)
                            .addComponent(jmlhalaman)
                            .addComponent(jnscover)
                            .addComponent(kategori)
                            .addComponent(bahasa)
                            .addComponent(penerbit)
                            .addComponent(isbn, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(brtbuku, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(dimensi, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 382, Short.MAX_VALUE)
                        .addComponent(gambar11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(106, 106, 106))))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(20, 20, 20)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel2)
                            .addComponent(judul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel3)
                            .addComponent(isbn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(penulis, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel5)
                            .addComponent(penerbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel6)
                            .addComponent(tglterbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel7)
                            .addComponent(jmlhalaman, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel8)
                            .addComponent(brtbuku, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel9)
                            .addComponent(jnscover, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel10)
                            .addComponent(dimensi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel11)
                            .addComponent(kategori, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel12)
                            .addComponent(bahasa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addGap(125, 125, 125)
                        .addComponent(gambar11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(35, 35, 35)))
                .addGap(35, 35, 35)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel13)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        btnTambah.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/Add-24x24.png"))); // NOI18N
        btnTambah.setText("Tambah");
        btnTambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnTambahActionPerformed(evt);
            }
        });

        btnHapus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/Delete-24x24.png"))); // NOI18N
        btnHapus.setText("Hapus");
        btnHapus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnHapusActionPerformed(evt);
            }
        });

        tblBuku.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null}
            },
            new String [] {
                "Judul", "No ISBN", "Penulis", "Penerbit", "Tanggal Terbit", "Berat Buku", "Jenis Cover", "Dimensi", "Kategori", "Bahasa", "Sinopsis"
            }
        ));
        jScrollPane2.setViewportView(tblBuku);

        jButton3.setText("<<");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setText("<");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        jButton5.setText(">");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });

        jButton6.setText(">>");

        btnSimpan.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/Save-24x24.png"))); // NOI18N
        btnSimpan.setText("Simpan");
        btnSimpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSimpanActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 964, Short.MAX_VALUE))
                    .addComponent(gambarBuku1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jButton3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton6)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 469, Short.MAX_VALUE)
                        .addComponent(btnTambah)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnSimpan)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnHapus)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(gambarBuku1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton3)
                    .addComponent(jButton4)
                    .addComponent(jButton5)
                    .addComponent(jButton6)
                    .addComponent(btnHapus)
                    .addComponent(btnSimpan)
                    .addComponent(btnTambah))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(59, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

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

    private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        judul.setText("");
        isbn.setText("");
        penulis.setText("");
        penerbit.setText("");
        tglterbit.setText("");
        jmlhalaman.setText("");
        brtbuku.setText("");
        jnscover.setText("");
        dimensi.setText("");
        kategori.setText("");
        bahasa.setText("");
        sinopsis.setText("");
}                                         

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
        this.index = 0;
        showData();
    }                                        

    private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        Buku baru = new Buku();
        baru.setBahasa(bahasa.getText());
        baru.setBrtbuku(brtbuku.getText());
        baru.setDimensi(dimensi.getText());
        baru.setIsbn(isbn.getText());
        baru.setJmlhalaman(Integer.valueOf(jmlhalaman.getText()));
        baru.setJnscover(jnscover.getText());
        baru.setJudul(judul.getText());
        baru.setKategori(kategori.getText());
        baru.setPenerbit(penerbit.getText());
        baru.setPenulis(penulis.getText());
        baru.setSinopsis(sinopsis.getText());
        baru.setTglterbit(tglterbit.getText());
        list.add(baru);
        updateTable();
        JOptionPane.showMessageDialog(this,"Data Tersimpan", "Informasi", JOptionPane.INFORMATION_MESSAGE);
}                                         

    private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {
        this.list.remove(this.index);
        updateTable();
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        if (index<0)
        {
            index--;
        }
        else
            index=0;
        showData();
    }                                        

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
        if (index < this.list.size()){
            index++;
        }
        else
        {
            index = this.list.size();
        }
        showData();
    }                                        

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Bukuku().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JTextField bahasa;
    private javax.swing.JTextField brtbuku;
    private javax.swing.JButton btnHapus;
    private javax.swing.JButton btnSimpan;
    private javax.swing.JButton btnTambah;
    private javax.swing.JTextField dimensi;
    private KatalogBuku.Gambar1 gambar11;
    private KatalogBuku.GambarBuku gambarBuku1;
    private javax.swing.JTextField isbn;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton6;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTextField jmlhalaman;
    private javax.swing.JTextField jnscover;
    private javax.swing.JTextField judul;
    private javax.swing.JTextField kategori;
    private javax.swing.JTextField penerbit;
    private javax.swing.JTextField penulis;
    private javax.swing.JTextArea sinopsis;
    private javax.swing.JTable tblBuku;
    private javax.swing.JTextField tglterbit;
    // End of variables declaration                   

}

Untuk tampilannya swing buat seperti dibawah inibukukitazay2

4. Lalu file tambahan lainnya
- Buku.java berisi setter dan getter untuk setiap atribut dari aplikasi yang  dibuat.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package KatalogBuku;

/**
 *
 * @author zay
 */
public class Buku {
  String judul;
  String isbn;
  String penulis;
  String penerbit;
  String tglterbit;
  int jmlhalaman;
  String brtbuku;
  String jnscover;
  String dimensi;
  String kategori;
  String bahasa;
  String sinopsis;

    public Buku(){
    }

    public Buku(String judul, String isbn, String penulis, String penerbit, String tglterbit,
                int jmlhalaman, String brtbuku, String jnscover, String dimensi, String kategori,
                String bahasa, String sinopsis){
        this.judul =  judul;
        this.isbn = isbn;
        this.penulis = penulis;
        this.penerbit = penerbit;
        this.tglterbit = tglterbit;
        this.jmlhalaman = jmlhalaman;
        this.brtbuku = brtbuku;
        this.jnscover = jnscover;
        this.dimensi = dimensi;
        this.kategori = kategori;
        this.bahasa = bahasa;
        this.sinopsis = sinopsis;
    }

    public String getBahasa() {
        return bahasa;
    }

    public void setBahasa(String bahasa) {
        this.bahasa = bahasa;
    }

    public String getBrtbuku() {
        return brtbuku;
    }

    public void setBrtbuku(String brtbuku) {
        this.brtbuku = brtbuku;
    }

    public String getDimensi() {
        return dimensi;
    }

    public void setDimensi(String dimensi) {
        this.dimensi = dimensi;
    }

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    public int getJmlhalaman() {
        return jmlhalaman;
    }

    public void setJmlhalaman(int jmlhalaman) {
        this.jmlhalaman = jmlhalaman;
    }

    public String getJnscover() {
        return jnscover;
    }

    public void setJnscover(String jnscover) {
        this.jnscover = jnscover;
    }

    public String getJudul() {
        return judul;
    }

    public void setJudul(String judul) {
        this.judul = judul;
    }

    public String getKategori() {
        return kategori;
    }

    public void setKategori(String kategori) {
        this.kategori = kategori;
    }

    public String getPenerbit() {
        return penerbit;
    }

    public void setPenerbit(String penerbit) {
        this.penerbit = penerbit;
    }

    public String getPenulis() {
        return penulis;
    }

    public void setPenulis(String penulis) {
        this.penulis = penulis;
    }

    public String getSinopsis() {
        return sinopsis;
    }

    public void setSinopsis(String sinopsis) {
        this.sinopsis = sinopsis;
    }

    public String getTglterbit() {
        return tglterbit;
    }

    public void setTglterbit(String tglterbit) {
        this.tglterbit = tglterbit;
    }

}

Source code lengkapnya bisa didownload disini
mybookcatalog

Enter your email address:

Delivered by FeedBurner

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

6 Responses to “Program sederhana “Katalog Buku” dengan Java”


  • weh.. kayaknya keren gamenya zay

  • iya keren jek….gamenya mana jek???

  • yang game mah postingan yang atas ^_^, hebad kalian bisa nyampe sini, biasanya mainannya facebook heuheu

  • Boz bisa minta tolang ga neh??

    disini dituliskan kalau bisa menggunakan data base,, bagai mana yah caranya untuk bisa menyambungkan dgn program ini,,

    seperti ini,,

    public class Bukuku extends javax.swing.JFrame {
    ArrayList list = new ArrayList(); //Membuat arraylist, bisa diganti ama database
    String[] title = {“Judul”,”ISBN”,”Penulis”,”Tanggal Terbit”,”Jumlah Halaman”,”Berat Buku”,”Jenis Cover”,”Dimensi”,”Kategori”,”Bahasa”,”Sinopsis”}; // untuk judul di jtable
    int index = 0; // index buat posisi list
    /** Creates new form Bukuku */

    disitu kan di tulis kalau program bisa di hubungklan dengan database,, bagaimana seharusnya..

  • Mohon bantuannya yah,, penting bangaet neh,, demi nilai ujian,,
    klo bisa scpatnya yah,, atau aku minta no hp kamu biar gampang konsultasinya,,

    no hp kmu krim ke e-mail, FS, Or FB aq yah,, lwat message az,,

    rafiq_27mrt@yahoo.com

    i hope your help…

  • bukukita.com zai? ckckck…

Leave a Reply