Jumat, 30 Januari 2015

Praktikum 9 OODB


  1. Apa yang dimaksud dengan sorting/pengurutan data? jawab Sorting (pengurutan) merupakan teknik dasar di dalam pengelolaan database yang biasanya disertakan sebagai fasilitas dalam pengelolaan data.
  2. Apa maksud dari sorting berjenis ascending?  Jawab Selection Sort (Ascending): Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya, kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan seterusnya.
  3. Apa maksud dari sorting berjenis descending? Jawab Pengurutan dilakukan dengan memilih elemen terkecil dan menempatkan pada posisinya,kemudian mencari element terkecil berikutnya dan menempatkan pada tempatnya, dan seterusnya.
  4. Sebutkan contoh dalam dunia nyata penggunaan sorting. Jawab  dikampus uad pencarian data mahasiswa menggunakan Nim ( Urutan Nim )  


contoh Aplikasi dalam java 
source code 
  
/*
 * 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.
 */
package praktikum8;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.query.*;
import java.io.File;

/**
 *
 * @author rofid
 */
public class AplicationBarang extends java.awt.Frame {
    private Object namaBarang;
    private Object ascending;

    /**
     * Creates new form AplicationBarang
     */
    public AplicationBarang() {
        initComponents();
        insertData();
        showTable();
        sortTable();
    }

    /**
     * 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.
     */
    //                           
    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();
        jRadioButton1 = new javax.swing.JRadioButton();
        jRadioButton2 = new javax.swing.JRadioButton();
        jPanel3 = new javax.swing.JPanel();
        jRadioButton3 = new javax.swing.JRadioButton();
        hargaBarang = new javax.swing.JRadioButton();
        jButton1 = new javax.swing.JButton();

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        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", "Supplier"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        jPanel1.setBackground(new java.awt.Color(250, 195, 12));
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Text"));

        buttonGroup1.add(jRadioButton1);
        jRadioButton1.setText("Ascending");
        jPanel1.add(jRadioButton1);

        buttonGroup1.add(jRadioButton2);
        jRadioButton2.setSelected(true);
        jRadioButton2.setText("Discanding");
        jPanel1.add(jRadioButton2);

        jPanel3.setBackground(new java.awt.Color(187, 240, 29));
        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder("")), "Text"));

        buttonGroup2.add(jRadioButton3);
        jRadioButton3.setText("Nama Barang");
        jPanel3.add(jRadioButton3);

        buttonGroup2.add(hargaBarang);
        hargaBarang.setText("Harga Barang");
        jPanel3.add(hargaBarang);

        jButton1.setText("Tampil");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 584, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGroup(layout.createSequentialGroup()
                .addGap(40, 40, 40)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(63, 63, 63)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(41, 41, 41)
                .addComponent(jButton1))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(67, 67, 67)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(100, 100, 100)
                        .addComponent(jButton1)))
                .addGap(0, 111, Short.MAX_VALUE))
        );

        pack();
    }//                         

    /**
     * Exit the Application
     */
    private void exitForm(java.awt.event.WindowEvent evt) {                          
        System.exit(0);
    }                         

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


    // Variables declaration - do not modify                     
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.ButtonGroup buttonGroup2;
    private javax.swing.JRadioButton hargaBarang;
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JRadioButton jRadioButton1;
    private javax.swing.JRadioButton jRadioButton2;
    private javax.swing.JRadioButton jRadioButton3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    // End of variables declaration                   

    public static void insertData(){
        new File("Barang.yap").delete();
        ObjectContainer db = Db4o.openFile("Barang.yap");
        Barang barang1 = new Barang("M33", "Mie Goreng Ayam", "Mie", 1.200, "FastSood");
        Barang barang2 = new Barang("S03","Sun Silk","Shampo",6.500,"UniClean");
        Barang barang3 = new Barang("M11","Mie Goreng Ayam","Mie",1.000,"FlyFood");
        Barang barang4 = new Barang("K31","Kopi cap API","Kopi",2.700,"Obor");
        Barang barang5 = new Barang("T01","Teh Aroma Wangi","Teh",4.500,"UniClean");
        Barang barang6 = new Barang("M02","Soto Mie","Mie",1.100,"Fastfood");
        Barang barang7 = new Barang("M51","Mie Kari","Mie",1.300,"FlyFood");
        Barang barang8 = new Barang("K21","Kopi cap Wangi","Kopi",7.500,"Uniclean");
        Barang barang9 = new Barang("T05","Teh T-Melati","Teh",5.500,"Obor");
        Barang barang10 = new Barang("M82","Mie Bakso","Mie",1.200,"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 Barangnya Sudah Tersimpan");
    }
    
    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 (jRadioButton3.isSelected()==true) {
                if (jRadioButton1.isSelected()==true) {
                    qry.descend("NamaBarang").orderAscending();
                }
                else{
                    qry.descend("NamaBarang").orderDescending();
                }
            }
            else{
                if (jRadioButton1.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 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();
        }
    }



}



Barang.java
 /*
 * 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.
 */

package praktikum8;



/**
 *
 * @author Rofid
 */
public class Barang {
    String kodeBarang;
    String namaBarang;
    String jenis;
    Double hargaSatuan;
    String supplier;

    public Barang(String kodeBarang, String namaBarang, String jenis, Double hargaSatuan, String supplier) {
        this.kodeBarang = kodeBarang;
        this.namaBarang = namaBarang;
        this.jenis = jenis;
        this.hargaSatuan = hargaSatuan;
        this.supplier = supplier;
    }

    public String getKodeBarang() {
        return kodeBarang;
    }

    public void setKodeBarang(String kodeBarang) {
        this.kodeBarang = kodeBarang;
    }

    public String getNamaBarang() {
        return namaBarang;
    }

    public void setNamaBarang(String namaBarang) {
        this.namaBarang = namaBarang;
    }

    public String getJenis() {
        return jenis;
    }

    public void setJenis(String jenis) {
        this.jenis = jenis;
    }

    public Double getHargaSatuan() {
        return hargaSatuan;
    }

    public void setHargaSatuan(Double hargaSatuan) {
        this.hargaSatuan = hargaSatuan;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }
    
    }
 

0 komentar:

Posting Komentar