YULI TRESNAYANTHI

ini adalah blog ku.... tempatku memposting tugas....

Sabtu, 08 Januari 2011

Basis Data Lanjutan

ERD Diagram Schema DB : Toko














Soal

1.Buatlah perintah untuk menampilkan view dan perintah untuk menjalankan view yg berasal dr tabel Pembelian,barang,supplier!

Tampilkan view ={No_Trans,Tgl,Nama_supplier,Nama_barang,Qty,Harga,Stok}

jawab

Delimeter $$

use toko

Drop new if EXITS view toko

create view toko as

select p.No_Trans,P.Tgl,s.Nama_supplier,b.Nama_barang,p.Qty,b.Harga,b.Stok from pembelian p,barang b,supplier s where p.Kode=b.Kode and p.Kode_supp=s.Kode_supp;

End $$

Delimeter;




Soal

2.Buatlah perintah untuk membuat procedure mysql dan perintah untuk menjalankannya,procedure ini berasal dari tabel pembelian,barang,supplier, dan tampilannya yakni={No_Trans,Tgl,Nama_supplier,Nama_barang,Qty,Harga,Stok}!

Jawab

Delimeter $$

Use toko

Drop procedure if EXITS

proc_toko $$;

create procedure proc_toko (out param1 int)

begin

select p.No_Trans,P.Tgl,s.Nama_supplier,b.Nama_barang,p.Qty,b.Harga,b.Stok from pembelian p,barang b,supplier s where p.Kode=b.Kode and p.Kode_supp=s.Kode_supp;

end $$

Delimeter;




Soal

3.Buatlah perintah tingger untuk memasukkan data pada tabel pembelian_log,jika tabel pembelian diisi dengan data!

jawab

Create table Pembelian_log

(

No_Trans char(10) not null primary key,

Kode char(5) not null,

Qty integer

);

Query ok, 0 row affected

insert Pembelian_log (‘001’,’A01’,’2’);




Soal

4.Buatlah perintah SQL untuk mengatur privilage Mysql untuk suatu perusahaan PT.XYZ yg mempunyai 2 level user!

a.Supervisor (koreksi,hapus data,lihat)

b.Operator (lihat dan entry data)

Jawab

Menambah user

-insert into user(host,user) values (‘localhost’,’supervisor’);

Insert into user

(Host,DB,user,update,priv,delete,priv,select_priv) values (‘localhost’,’XYZ’,’Supervisor’,’Y’,’Y’,’Y’);

Grant select on XYZ.* to supervisor@localhost;

Select*from user where user = ‘supervisor’\G;

-insert into user(host,user) values (‘localhost’,’operator’);

Insert into user

(Host,DB,user,select,priv,insert,priv) values (‘localhost’,’XYZ’,’Operator’,’Y’,’Y’);

Grant select on XYZ .* to operator@localhost;

Select*from user where user=‘Operator’\G;

Flush Privileges;




Soal

5.Sebutkan keuntungan dan kerugian OODBMS (Object Oriented Database Manajement System)!

Jawab

Keuntungan

-Gabungan objek dan relationship

-Class Hirarki

-Menggagalkan kebutuhan Query

-Tidak ada Primary Key

-1 Data model

Kerugian

Perubahan schema

Ketergantungan Bahasa

Kekurangan Query Ad Hoc


Jumat, 08 Januari 2010

Program Class Animal

// class Animal
public class Animal {
private int weight;

public Animal(int w) { weight=w; }

public void setWeight(int w) { weight = w; }
public int getWeight() { return weight; }
public void talk() {
System.out.println("An animal can't talk");
}
}

// class Cow
public class Cow extends Animal {

public Cow() { super(100); }
public void talk() {
System.out.println("Moo!");
}
}

// class Pig
public class Pig extends Animal {
public Pig() { super(40); }
public void talk() {
System.out.println("Grunt!");
}
}

// class Sheep
public class Sheep extends Animal {
public Sheep() { super(65); }
public void talk() {
System.out.println("Baa!");
}
}

// class Bebek
public class Bebek extends Animal {
public Bebek() { super(35); }
public int jumlahTelur=3;
public void talk() {
System.out.println("Kweek!");

}
}


// class Main
public class FarmExample{
public static void main(String[] args) {
Animal[] farm = {new Cow(), new Pig(), new Sheep(), new Bebek()};
Bebek b = new Bebek();
int totalWeight = 0;

for (int i=0; itotalWeight += farm[i].getWeight();

System.out.println("The total weight of the " + "animals is " + totalWeight);

System.out.println("The animals say:");
for (int i=0; i farm[i].talk();

System.out.println("Jumlah Telur Bebek adalah "+b.jumlahTelur);

}
}



Output program :
The total weight of the animals is 240
The animals say:
Moo!
Grunt!
Baa!
Kweek!
Jumlah Telur Bebek adalah 3

Permasalahan Pada Polymorphism

Polymorphism adalah salah satu dari tiga kemampuan yang mendasar yang dimiliki oleh OOP, setelah data abstraction dan inheritance.
Polymorphism
Melalui inheritance, kita bisa menciptakan sebuah hirarki obyek, baik simple atau kompleks sekali pun. Bayangkan hirarki kompleks seperti hirarki dunia hewan. Hirarkinya pasti berlapis-lapis, tetapi turunan sedalam apapun tetaplah seekor hewan. Polymorphism memungkinkan untuk menukar obyek dari turunan ke obyek superclass-nya. Katakan:
Animal ani = new Animal(); // variable bertipe Animal
ani = new Lion(); // sekarang bertipe Lion
Setelah baris kedua, memanggil method yang didefenisikan di Animal, akan memanggil implementasi method yang ada di Lion. Konsep OOP ini memungkinkan hasil pemanggilan method berubah/berbeda tergantung ke instance obyek mana dia direferensikan. Deklarasi di atas tidak tidak berlaku sebaliknya :
Lion lion = new Animal(); // tidak valid
Polymorphism menyediakan cara yang berbeda pada pemisahan interface dari implementasinya, untuk memasangkan ulang apa dari bagaimana. Polymorphism memberikan organisasi kode yang lebih baik dan kode menjadi lebih mudah dibaca, juga memberikan suatu kemampuan pada program untuk berkembang secara terus menerus baik pada tahap pengembangan awal ataupun pada saat ingin menambahkan kemampuan-kemampuan yang baru.
Program berikut ini mungkin akan tampak aneh. Mengapa kita secara sengaja melupakan tipe dari sebuah object ? Ini semua dapat terjadi bila kita melakukan upcast, dan menjadikannya kelihatan seperti kalau tune() secara langsung mengambil handle dari Wind sebagai sebuah argumen. Ini semua membuat sesuatu yang mendasar : Kalau kita melakukannya, kita harus menuliskan tune() yang baru untuk setiap Instrument didalam system kita. Anggap saja kita mengikuti alasan ini dan menambahkan instrument Stringed dan Brass :
//: Music2.java
// Overloading instead of upcasting

class Note2 {
private int value;
private Note2(int val) { value = val; }
public static final Note2
middleC = new Note2(0),
cSharp = new Note2(1),
cFlat = new Note2(2);
} // Etc.

class Instrument2 {
public void play(Note2 n) {
System.out.println(\"Instrument2.play()\");
}
}

class Wind2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Wind2.play()\");
}
}

class Stringed2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Stringed2.play()\");
}
}

class Brass2 extends Instrument2 {
public void play(Note2 n) {
System.out.println(\"Brass2.play()\");
}
}

public class Music2 {
public static void tune(Wind2 i) {
i.play(Note2.middleC);
}
public static void tune(Stringed2 i) {
i.play(Note2.middleC);
}
public static void tune(Brass2 i) {
i.play(Note2.middleC);
}
public static void main(String[] args) {
Wind2 flute = new Wind2();
Stringed2 violin = new Stringed2();
Brass2 frenchHorn = new Brass2();
tune(flute); // No upcasting
tune(violin);
tune(frenchHorn);
}
} ///:~
Kode diatas dapat dijalankan, tetapi disana ada kekurangan terbesar. Kita harus menuliskan metoda tipe yang spesifik untuk setiap class Instrument2 yang baru kita tambahkan. Ini semua berarti makin banyak kode yang akan kita tulis, tetapi juga berarti kalau kita ingin menambahkan sebuah metoda baru seperti tune() atau sebuah tipe baru dari Instrument, kita mendapatkan kalau perkerjaan kita makin banyak. Dengan menambahkan fakta bahwa kompiler tidak akan memberikan pesan-pesan kesalahan kalau kita lupa meng overload salah satu dari metoda-metoda kita dan seluruh proses pekerjaan dengan tipe menjadi tidak dapat ditangani.
Bukankah dapat menjadi lebih menyenangkan kalau kita hanya menuliskan satu metoda saja yang dapat mengambil class asal sebagai argumennya, dan bukan dari semua class-class turunannya. Itulah memang lebih memudahkan bila kita melupakan adanya class-class turunan, dan menuliskan kode yang hanya berkomunikasi dengan class asal?
Itulah apa yang disediakan oleh polymorphism. Walau bagaimanapun kebanyakan programmer (yang berasal dari latar belakang prosedural) mempunyai sedikit kesulitan untuk beradaptasi dengan polymorphism.
Kesimpulan
Dengan polymorphism pekerjaan seorang programmer dapat dimudahkan dengan menuliskan kode yang lebih sedikit. Untuk mengakses class-class turunan tidak dibutuhkan penulisan kode yang berlainan

Minggu, 03 Januari 2010

polymorphisme

Polimorphisme adalah kemampuan dari sebuah ojectuntuk memperbolehkan mengambil beberapa bentuk yang berbeda.Secara harafiah,"poli" berarti banyak sementara "morph" berarti bentuk.Menunjuk pada contoh sebelumnya pada pewarisan,kita lihat bahwa object SuperHero dapat juga menjadi object flayingSuperHero atau object UnderwaterSuperHero.
• Inheritance dan overriding menyebabkan munculnya polymorphism (literally ‘banyak bentuk’) – salah satu ciri dan kelebihan dari object-oriented programming.
• Cow adalah subclass dari Animal, maka pemrogram dapat merujuk ke obyek Cow sebagai Animal atau Cow. Kedua pernyataan berikut benar:
– Cow daisy = new Cow();
– Animal daisy = new Cow();
• Mengapa? Karena Cow adalah subclass dari Animal (Cow adalah a kind of Animal), maka Cow mempunyai fungsionalitas dari superclassnya.
• Baris berikut salah:
– Cow daisy = new Animal(); // SALAH
• Mengapa? Cow mungkin mempunyai fungionalitas tambahan yang tidak diimplementasikan dalam superclass Animal (Animal bukan a kind of Cow).
– public class FarmExample {
• public static void main(String[] args) {
– Animal[] farm = {new Cow(), new Pig(),
new Sheep()};
– System.out.println("The animals say:");
– for (int i=0; i– farm[i].talk();
• }
– }
• Keluaran dari program ini adalah
– The animals say:
– Moo!
– Grunt!
– Baa!
• Ada dua prinsip yang mendasari polymorphism:
– An object always retains the identity of the class from which it was created.
– When a method is invoked on an object, the method associated with the class of the object is always used.
• Keputusan mengenai metode mana yang akan dipanggil tidak dapat ditentukan oleh compiler; tetapi ditentukan saat run time. Java menggunakan dynamic binding bukan static binding.
• Contoh, Menghitung total berat semua hewan pada lahan peternakan:

• Konstruksi suatu obyek diawali oleh konstruksi obyek superclass (melalui constructor); perilaku contructor superclass dapat dipanggil dan dilengkapi fungsinya dengan perintah super() di dalam constructor subclass.
• Polymorphism mengacu kepada kemampuan untuk menjalankan suatu metode bergantung pada class obyek.
• Java menerapkan dynamic binding untuk memutuskan metode mana yang dijalankan saat runtime.
• Polymorphism memungkinkan koleksi heterogen diperlakukan secara seragam.
• Casting kadang diperlukan untuk memastikan bahwa metode yang tepat akan dijalankan saat run time.


Rabu, 30 Desember 2009

SORTING AND SEARCHING

SORTING
Sorting adalah proses penyusunan kembali sekumpulan objek ke dalam urutan tertentu.
Tujuan pengurutan adalah untuk mendapatkan kemudahan dalam pencarian anggota dari suatu himpunan dapat mempercepat mengetahui data terbesar dan data terkecil.
Proses pengurutan yang terjadi :perbandingan data dan pertukaran data.

Metode Sorting antara lain,
Selection sort
Bubble sort
Insertion sort
Merge sort

SEARCHING
Searching adalah pencarian data dengan cara menelusuri data-data tersebut.Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengan cara searching.Tempat pencarian data dapat berupa array dalam memori,bisa juga pada file pada external storage.

Metode Searching
Binary Search Tree adalah data yang ada harus diurutkan terlebih dahulu berdasarkan suatu urutan tertentu yang dijadikan kunci pencarian
Sequential Search adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir.

Rabu, 04 November 2009

sketsa cetak

DESAIN CETAK

Dalam data mahasiswa ini kita dapat mencetak data yang sudah ada pada entry mahasiswa dengan mengklik pada button cetak sehingga akan muncul form data mahasiswa yang berfungsi untuk melihat data mahasiswa secara detai. Pada form data mahasiswa, pada kolom jurusan kita dapat menambahkan data dengan mengklik tanda panah bawah yang berfungsi untuk memilih pilihan jurusan, begitu juga pada kolom semester. Jika user ingin mencetak data tersebut, maka user akan mengklik tombol cetak sehingga akan muncul tombol penegasan yang akan meyakinkan user apakah ingin mencetak data tersebut atau tidak