Praktikum 08 OODB




Nama    : Lukman Reza
NIM       : 10018148
“Praktikum 08”
1.       Source code program
-          Main.java

package lukmanrheza08;

import javax.swing.JFrame;
public class Lukmanrheza08 {
    public static void main(String[] args) {
        // TODO code application logic here
        new Frame1().setVisible(true); //tambahkan
  
    }
}



-          Form tabel
Adapun tampilan yang dibuat adalah seperti berikut:



package lukmanrheza08;
import com.db4o.*;
import java.io.File;
import com.db4o.query.*;

public class Frame1 extends javax.swing.JFrame {

    /**
     * Creates new form Frame1
     */
    public Frame1() {
        initComponents();
        InsertData(); // tambahkan
        ShowTable();  // tambahkan
    }

    /**
     * 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.
     */
   
    public static void InsertData() {
        new File("Barang.yap").delete();
        ObjectContainer db = Db4o.openFile("Barang.yap");
        Barang barang1 = new Barang("M33",
                "Mie Goreng Ayam", "Mie", 1200, "Fastfood");
        Barang barang2 = new Barang("S03",
                "Sun Silk", "Shampo", 6500, "UniClean");
        Barang barang3 = new Barang("M11",
                "Mie Goreng Ayam", "Mie", 1000, "FlyFood");
        Barang barang4 = new Barang("K31",
                "Kopi cap API", "Kopi", 2700, "Obor");
        Barang barang5 = new Barang("T01",
                "Teh Aroma Wangi", "Teh", 4500, "UniClean");
        Barang barang6 = new Barang("M02",
                "Soto Mie", "Mie", 1100, "Fastfood");
        Barang barang7 = new Barang("M51",
                "Mie Kari", "Mie", 1300, "FlyFood");
        Barang barang8 = new Barang("K21",
                "Kopi cap Wangi", "Kopi", 7500, "Uniclean");
        Barang barang9 = new Barang("T05",
                "Teh T-Melati", "Teh", 5500, "Obor");
        Barang barang10 = new Barang("M82",
                "Mie Bakso", "Mie", 1200, "Fastfood");
        db.store(barang1);
        db.store(barang2);
        db.store(barang3);
        db.store(barang4);
        db.store(barang5);
        db.store(barang6);
        db.store(barang7);
        db.store(barang8);
        db.store(barang9);
        db.store(barang10);
        db.close();
        System.out.println("Data Barang sudah tersimpan pada Object Database");
    }
   
    private void ShowTable() {
        ObjectContainer db = Db4o.openFile("Barang.yap");
        try {
            Query qry = db.query();
            qry.constrain(Barang.class);
            ObjectSet res = qry.execute();
            Object[][] x = new Object[res.size()][6];
            jTable1.setModel(new javax.swing.table.DefaultTableModel(x, new String[]{"Kode Barang", "Nama Barang", "Jenis",
                "Harga Satuan", "Supplier"}));
            int y = 0;
            while (res.hasNext()) {
                Barang b = (Barang) res.next();
                jTable1.setValueAt(b.getKodeBarang(), y, 0);
                jTable1.setValueAt(b.getNamaBarang(), y, 1);
                jTable1.setValueAt(b.getJenis(), y, 2);
                jTable1.setValueAt(String.valueOf(
                        b.getHargaSatuan()), y, 3);
                jTable1.setValueAt(b.getSupplier(), y, 4);
                y++;
            }
        } finally {
            db.close();
        }
    }
   
    private void SortTable() {
        ObjectContainer db = Db4o.openFile("Barang.yap");
        try {
            Query qry = db.query();
            qry.constrain(Barang.class);
            if (optNama.isSelected() == true) {
                if (optAsc.isSelected() == true) {
                    qry.descend(
                            "namaBarang").orderAscending();
                } else {
                    qry.descend(
                            "namaBarang").orderDescending();
                }
            } else {
                if (optAsc.isSelected() == true) {
                    qry.descend(
                            "hargaSatuan").orderAscending();
                } else {
                    qry.descend(
                            "hargaSatuan").orderDescending();
                }
            }
            ObjectSet res = qry.execute();
            Object[][] x = new Object[res.size()][6];
            jTable1.setModel(
                    new javax.swing.table.DefaultTableModel(x, new String[]{"Kode Barang", "Nama Barang", "Jenis",
                "Harga ", "Supplier"}));
            int y = 0;
            while (res.hasNext()) {
                Barang b = (Barang) res.next();
                jTable1.setValueAt(b.getKodeBarang(), y, 0);
                jTable1.setValueAt(b.getNamaBarang(), y, 1);
                jTable1.setValueAt(b.getJenis(), y, 2);
                jTable1.setValueAt(String.valueOf(
                        b.getHargaSatuan()), y, 3);
                jTable1.setValueAt(b.getSupplier(), y, 4);
                y++;
            }
        } finally {
            db.close();
        }
    }
   

   
   
   
   
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        buttonGroup2 = new javax.swing.ButtonGroup();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jPanel1 = new javax.swing.JPanel();
        optAsc = new javax.swing.JRadioButton();
        optDsc = new javax.swing.JRadioButton();
        jPanel2 = new javax.swing.JPanel();
        optNama = new javax.swing.JRadioButton();
        optHarga = new javax.swing.JRadioButton();
        cmdTampil = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Aplikasi Barang");

        jTable1.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}
            },
            new String [] {
                "Kode Barang", "Nama Barang", "Jenis", "Harga Satuan", "Supplier"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Sort", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION));

        buttonGroup1.add(optAsc);
        optAsc.setText("Ascending");

        buttonGroup1.add(optDsc);
        optDsc.setText("Descending");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(optAsc)
                    .addComponent(optDsc))
                .addGap(0, 12, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(optAsc)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(optDsc))
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Sort by", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION));

        buttonGroup2.add(optNama);
        optNama.setText("Nama Barang");

        buttonGroup2.add(optHarga);
        optHarga.setText("Harga Satuan");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(optHarga)
                    .addComponent(optNama))
                .addGap(0, 14, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addComponent(optNama)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(optHarga)
                .addContainerGap())
        );

        cmdTampil.setText("Tampil");
        cmdTampil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmdTampilActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .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))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jPanel2, 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(cmdTampil, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(57, 57, 57))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(9, 9, 9)
                        .addComponent(cmdTampil, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

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

    private void cmdTampilActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        SortTable(); //pilih desain terus klik 2 kali buttonnya
    }                                        

    /**
     * @param args the command line arguments
     */

    // Variables declaration - do not modify                    
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.ButtonGroup buttonGroup2;
    private javax.swing.JButton cmdTampil;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JRadioButton optAsc;
    private javax.swing.JRadioButton optDsc;
    private javax.swing.JRadioButton optHarga;
    private javax.swing.JRadioButton optNama;
    // End of variables declaration                  
}



-          Barang.java

package lukmanrheza08;

public class Barang{
    String kodeBarang;
    String namaBarang;
    String jenis;
    double hargaSatuan;
    String supplier;
   
                public String getKodeBarang() {
                                return kodeBarang;
                }
                public String getNamaBarang() {
                                return namaBarang;
                }
                public String getJenis() {
                                return jenis;
                }
                public double getHargaSatuan() {
                                return hargaSatuan;
                }
                public String getSupplier() {
                                return supplier;
                }
                public Barang (String kd, String nm, String jns, double hg, String sup){
                                this.kodeBarang = kd;
                                this.namaBarang = nm;
                                this.jenis=jns;
                                this.hargaSatuan=hg;
                                this.supplier=sup;
                }
                public String toString(){
                                return kodeBarang+"/"+namaBarang+"/"+jenis+"/"+String.valueOf(hargaSatuan)+"/"+supplier;
                               
                }
   
   
}

Screenshoot hasil running program
 

Posting Komentar

0 Komentar