This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

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;
    }
    
    }
 

Object Oriented DataBase

Apa itu OODB ? 
Anda pernah mendengarkan hal ini ?? pasti pernah mendegarkan di perkuliahan kan ?? nah jadi OODB atau Object Oriented Database ini adalah sebuah sistem database yang dapat menggabungkan atara semua konsep - konsep penting dari object oriented. dalam OODB atau Object Oreinted Database pedekatan seperti ini sangat dipengaruhi oleh bahasa pemrogrtaman object oriented dan dapat kita pahami sebagai usaha untuk dapat menambahkan beberapa fungsionalitas dalam Database Management Sistem.

ada beberapa kelemahan dan kelebihan dari OODB

Kelebihan OODB
  • Dapat menspesifikasikan stuktur dari suatu objek dab metdonya
  • Interaksi yang lebih baik dengan bahasa pemrograman berorientasi object seperti java dan  C++ 
  • Definisnya lebih kompleks
Kekurangan OODB
  • TightCopling berrti keterkaitan yang kuat antara aplikasi dan database sehingga aplikasi dan database sulit dipisahkan.Sebenarnya tight coupling dapat menyederhanakan program dan desainnya, namun hal ini juga dapat menyebabkan hilangnya batasan antara aplikasi dan database, juga akan menimbulkan masalah baru bila akan migrasi ke OODB lainnya atau kembali ke RDB.
  • Kurangnya dukunga flatform OODB diterapkan untuk dapat berintegrasi dengan semua bahasa pemrograman berorientasi objek, namun sampai sekarang kebanyakan OODBMS hanya mendukung bahasa pemrograman C++ dan Java saja.
  • Sulit Berimigrasi maksudnya adalah Cara penyimpanan dan pengambilan data dalam OODB sangat berbeda dengan RDB. Begitu juga dengan cara pengaksesannya. Oleh karena itu, dibutuhkan komitmen yang kuat dalam memilih DBMS yang akan digunakan, sekali bermigrasi ke OODB, akan sulit untuk kembali ke RDB.
  • Harus membutuhkan keterampilan
  • membutuhkan Query yang lebih Kompleks

Wisata Lombok

Pulau Lombok adalah pulau yang saat ini menjadi pulau yang banyak di minati wisatawan. baik wisatawan domestik atau wisatawan mancanegara, Wisata Lombok terkenal dengan beranekragam tempat tempat wisata lombok seperti . pantai , waterfall , pemandangan yang begitu indah. Wisatawan tidak akan pernah bosan untuk berkunjung ke pulau yang indah ini. Nah kalau mau pergi kelombok jangan lupa di rancang mau liburan kemana saja. Wisata Lombok yang saya sarankan harus anda kunjungi adalah :

1. Pantai Gili Trawangan

Pantai Gili Trawangan ini adalah salah satu pantai yang banyak diminati para wisatawan domestik atau mancanegara. Pantai ini terletak jauh dari pulau lombok dan harus menggunakan kapal untuk pergi ksana, namun setelah sampai sana jangan khawatir sudah tersedia penginapan, cafe dll.

2. Pantai Batu Bolong

Pantai ini dekat dengan pantai senggigi , kalau mau ke pantai senggigi mampir dlu ke pantai bolong untuk melihat sunset yang begitu indah di wisata lombok  ini.