Saturday, November 8, 2008

Functional Dependencies (Basis Data)

Ya udah lama ga nulis diblog sekarang mau kembali lagi dengan tema baru, kok ga fokus? ya begitulah kira-kira, tuhan kan suka membolak-balikan hati manusia sehingga apa yang direncanakan kadang-kadang berubah di tengah jalan. Tapi untuk materi lainya akan menyusul nanti (insya allah).

Functional Dependencies atau ketergantungan fungsional merupakan ketergantungan relasi suatu atribut dalam tabel atau set entity terhadap atribut yang lainya.
Misalnya diberikan relasi R, Atribut A dikatakan mempengaruhi secara fungsional atribut lainya B yang juga berada di R, ditulis dengan A --> B (baca: A menentukan B atau B tergantung A), jika untuk setiap elemen/anggota dari atribut A memetakan satu elemen pada Y, dan tidak harus sebaliknya.

Contoh:
Misalkan pada Data Mahasiswa terdapat atribut: NIM, Nama, Alamat. dikarenakan Nama tergantung pada NIM dan Alamat tergantung pada NIM, maka :
NIM --> Nama dan NIM --> Alamat.

Aturan-aturan Ketergantungan Fungsional:
Jika A,B,dan C merupakan himpunan atribut pada relasi R, maka terdapat sifat-sifat yang dikenal dengan axioma amstrong (sifat-sifat ini digunakan untuk normalisasi) adalah sebagai berikut:


  1. Aksioma Reflexity: Jika B merupakan subset A, maka A --> B,

  2. Aksioma Augmentasi: Jika A --> B, maka AC --> BC,

  3. Aksioma Transitifity: Jika A --> B dan B --> C, maka A --> C


dengan aturan-aturan diatas dapat dibuat aturan turunan sebagai berikut:

  1. Union: Jika A --> B dan A --> C, maka A --> BC,

  2. Dekomposisi: Jika A --> BC , maka A --> B dan A --> C,

  3. Peseudo Transitifity: Jika A --> B dan BC --> D, maka AC --> D,



sumber : wikipedia


Type rest of the post here

Technorati Profile

Wednesday, October 3, 2007

"Exception in thread "main" java.lang.NoClassDe fFoundError: hello"

Ini adalah problem pertama saya ketika baru belajar java dan probelm ini juga yang biasa didapati oleh new user-nya java dan sedikit saya posting solusi untuk mengatasi masalah ini

Masalah
"Exception in thread "main" java.lang.NoClassDe fFoundError: hello"

ini berarti interpreter java tidak menemukan class hello di classpath.

classpath sendiri adalah path atau direktori yang menyimpan class-2x java. jadi misalkan anda membuat program java di

d:\javaprogram

dengan nama hello.java
lalu dicompile dengan cara javac hello.java
maka akan ada file baru dengan nama hello.class

ada kemungkinan direktori d:\javaprogam bukan merupakan classpath
untuk menambahkan direktori d:\javaprogram menjadi classpath ikuti langkah ini:

1. Tidak permanen
sebelum menjalankan java terlebih dahulu ketikan perintah berikut:

set classpath=d: \javaprogram; %classpath%

lalu anda dapat menjalankan perintah java

java hello (misalnya)

2. permanen
Klik kanan mycomputer --> properties --> advance --> environments variables --> pilih classpath di system variables --> edit -- > dan tambahkan ;d:\javaprogram di akhir baris
lalu klik OK

tips ini mungkin hanya berjalan di lingkungan WINXP


Technorati Profile

Friday, August 3, 2007

Export MySQL data ke Excel dengan PHP

Kadang-kadang data yang berada di database akan dicetak atau disimpan dalam format Excel atau spreedsheet. Beberapa aplikasi client database menyediakan fasilitas Export Data, baik ke dalam tabel html, DBF file, maupun Excel File.
Sekarang Kita akan melakukan export data MySQL ke file excel dengam menggunakan aplikasi yang dibuat dengan PHP. Berikut angkah-langkahnya,
Kita buat tabel contoh (id int(5), Nik varchar(8), nama varchar(25)) di dalam database test. lalu kita isi tabel tersebut dengan beberapa data dan kita export data tersebut ke dalam format file Excel.

Langkah pertama adalah melakukan konfigurasi koneksi ke server MySQL:

<?php
$host="localhost";
$user="whoami";
$pass="screet";
$db="test";
$conn=mysql_connect($host,$user,$pass) or die(mysql_error()."Koneksi Gagal");
?>

Setelah melakukan koneksi database dan koneksi berhasil, lalu kita buat tabel di atas, jangan lupa gunakan @ pada fungsi mysql_query, tanda @ digunakan untuk menghilangkan komentar error ketika ada kesalahan pembuatan tabel, hal ini dimaksudkan apabila tabel sudah ada, maka program tetap jalan tanpa ada pesan error.
Setelah Tabel selesai dibuat kita isi data tabel tersebut, berikut contoh script untuk membuat tabel dan mengisi datanya:
<?php
/* create database */
mysql_select_db($db);
$create="CREATE TABLE contoh (id INT( 5 ) NOT NULL AUTO_INCREMENT ,nik VARCHAR( 8 ) NOT NULL ,nama VARCHAR( 25 ) NOT NULL ,PRIMARY KEY ( id ) ,UNIQUE (nik)) TYPE = innodb";
$kueri_create=@mysql_query($create);
/* selesai create */

/* Insert data */
$insert="INSERT INTO `contoh` ( `id` , `nik` , `nama` )VALUES ('1', '00100001', 'Didik'), ('2', '00100002', 'Kurniawan')";
$kueri_insert=@mysql_query($insert);
?>

Setelah tabel siap dan data sudah ada, sekarang kita akan melakukan proses export data tersebut, berikut scriptnya:
<?php
$select = "select * from contoh order by nik";
//die($select);
$export = mysql_query($select);
$fields = mysql_num_fields($export);
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export, $i) . "\t";
}
while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
if ($data == "") {
$data = "n(0) Records Found!\n";
}
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=contoh.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
?>

Selamat mencoba!
Sebagian source diambil dari berbagai sumber


Technorati Profile