Praktikum OODB 10

Nama    : Lukman reza
NIM       : 10018148
“Praktikum 10 OODB”
               
1.       Source code
a.       LukmanRhezaoodb10.java

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

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

/**
 *
 * @author Praktikan
 */
public class LukmanRhezaoobdb10 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
// TODO code application logic here
        InsertData();
        Query1();
        Query2();
        Query5();
        Query6();
    }

    public static void InsertData() {
        new File("Person.yap").delete();
        ObjectContainer db = Db4o.openFile("Person.yap");
        Account a1 = new Account(1500, 500);
        Person p1 = new Person("Heinz", 20);
        p1.setAccount(a1);
        Account a2 = new Account(5000, 1500);
        Person p2 = new Person("Linda", 45);
        p2.setAccount(a2);
        Person p3 = new Person("Eric", 22);
        Account a3 = new Account(150, 0);
        p3.setAccount(a3);
        Person p4 = new Person("James", 42);
        Account a4 = new Account(1250, 50);
        p4.setAccount(a4);
        Person p5 = new Person("Tony", 35);
        Account a5 = new Account(2500, 300);
        p5.setAccount(a5);
        Person p6 = new Person("Rossi", 28);
        Account a6 = new Account(1500, 500);
        p6.setAccount(a6);
        db.store(p1);
        db.store(p2);
        db.store(p3);
        db.store(p4);
        db.store(p5);
        db.store(p6);
        db.close();
        System.out.println("Data Person sudah tersimpan");
    }

    public static void Query1() {
        ObjectContainer db = Db4o.openFile("Person.yap");
        ObjectSet persons = db.query(new Predicate() {
            public boolean match(Person person) {
                return true;
            }

            @Override
            public boolean match(Object et) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });
        System.out.println("Query 1 : SELECT * FROM Person;");
        System.out.println("Hasil : " + persons.size());
        while (persons.hasNext()) {
            System.out.println(persons.next());
        }
        db.close();
    }

    public static void Query2() {
        ObjectContainer db = Db4o.openFile("Person.yap");
        ObjectSet persons = db.query(new Predicate() {
            public boolean match(Person person) {
                return person.getName().equals("Linda");
            }

            @Override
            public boolean match(Object et) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });
        System.out.println("Query 2 : SELECT Amount,Credit FROM Person WHERE Name = 'Linda';");
        System.out.println("Hasil : " + persons.size() + " record");
        while (persons.hasNext()) {
            Person person = (Person) persons.next();
            System.out.println(person.getAccount());
        }
        db.close();
    }


    public static void Query5() {
        ObjectContainer db = Db4o.openFile("Person.yap");
        ObjectSet persons = db.query(new Predicate() {
            public boolean match(Person person) {
                return person.getAge() >= 40
                        && person.getAge() <= 50
                        && person.getAccount().getCredit() > 1000.0;
            }

            @Override
            public boolean match(Object et) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });
        System.out.println("Query 5 : SELECT Name FROM Person WHERE (Age Between 40 AND 50) AND (Credit > 1000);");
        System.out.println("Hasil : " + persons.size() + " record");
        while (persons.hasNext()) {
            Person person = (Person) persons.next();
            System.out.println(person.getName());
        }
        db.close();
    }

    public static void Query6() {
        ObjectContainer db = Db4o.openFile("Person.yap");
        ObjectSet Subpersons = db.query(new Predicate() {
            public boolean match(Person person) {
                return person.getName().equals("Rossi");
            }

            @Override
            public boolean match(Object et) {
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });
        while (Subpersons.hasNext()) {
            final Person persons = (Person) Subpersons.next();
            ObjectSet Objperson = db.query(new Predicate() {
                public boolean match(Person p) {
                    return p.getAccount().getAmount() == persons.getAccount().getAmount()
                            && p.getName() != "Heinz";
                }

                @Override
                public boolean match(Object et) {
                    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                }
            });
            System.out.println("Query 6 :");
            System.out.println("SELECT Name, Age");
            System.out.println("FROM Person");
            System.out.println("WHERE Not( Name = ‘Heinz’) AND Amount IN (");
            System.out.println(" SELECT Amount");
            System.out.println(" FROM Person");
            System.out.println(" WHERE Name = ‘Heinz’);");
            System.out.println("Hasil : " + Objperson.size() + " record");
            while (Objperson.hasNext()) {
                Person person = (Person) Objperson.next();
                System.out.println(person.getName());
            }
        }
        db.close();
    }
}


b.      Person.java

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

/**
 *
 * @author Praktikan
 */
public class Person {
private Account account;
private String Name;
private int Age;
public Person(String name, int age){
this.Name = name;
this.Age = age;
this.account=null;
}
public String getName(){
return Name;
}
public int getAge(){
return Age;
}
public void setAccount(Account account){
this.account = account;
}
public Account getAccount(){
return account;
}
public String toString(){
return Name+"/"+Age+"/"+account;
}
}



c.       Account.java

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

/**
 *
 * @author Praktikan
 */
public class Account {
private double Amount;
private double Credit;
public Account(double amount, double credit){
this.Amount=amount;
this.Credit = credit;
}
public double getAmount(){
return Amount;
}
public double getCredit(){
return Credit;
}
public String toString(){
return Amount+"/"+Credit;
}
}


2.       Screenshoot
Hasil Running

Database dilihat dengan OME
-          Account


-          Person





Posting Komentar

0 Komentar