Pages

Kamis, 31 Mei 2012

ERD

Entity Relationship Diagram
(ERD)


Data Modeling
Data Modeling merupakan cara untuk menyusun dan mengorganisasikan data sehingga dapat digunakan dengan mudah oleh database.  ERD adalah salah satu cara permodelan data (data modeling).

Apakah yang dimaksud dengan Entity Relationship Diagram (ERD)?
Sebuah ERD menggambarkan data dalam konteks entitas dan hubungannya.
Tujuan utama dari sebuah ERD adalah untuk mendokumentasikan struktur logis
 dari database.

Komponen ERD
}  Entity (Entitas)
}  Attribute (Atribut)
}  Relationship (Relasi)
}  Kardinality (Kardinalitas)

Notasi ERD
 
Entity
Entity adalah obyek yang dapat dibedakan dengan yang lain dalam dunia nyata. Entity Set adalah kumpulan dari entity yang sejenis
Contoh:
•       Individu : Pegawai, pelanggan, mahasiswa, distributor
•       Tempat : ruang, bangunan, kantor, lapangan, kampus
•       Objek : Buku, Motor, paket, software, produk
•       Peristiwa : Pendaftaran , pemesanan, penagihan
•       Konsep : Rekening, kualifikasi

Attribut
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut  merupakan suatu data aktual atau informasi yang disimpan  pada suatu  atribut di dalam suatu entity atau relationship. Atribut digambarkan dalam bentuk oval. 

Jenis-Jenis Atribut
  1. Key: Atribut yang digunakan untuk menentukan suatu entity secara unik.
  2. Atribut Simple : Atribut yang bernilai tunggal.
  3. Atribut Multivalue : Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
  4. Atribut Kompos: Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
CONTOH:
 
     5. Atribut Derivatif : Suatu atribut yang dihasilkan dari atribut yang lain


Relasi
Relationship adalah hubungan  yang terjadi antara satu atau lebih entity.
 Contoh:
 
Kardinalitas/Derajat Relasi 
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. 
 Macam Kardinalitas:
 Satu ke Satu (One to One)
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu sebaliknya setiap entitas pada himpunan entitas B berhubungan paling banyak satu entitas pada himpunan entitas A. 
 
Satu ke Banyak (One to Many)
Yang berarti setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan  entitas B, tetapi tidak sebaliknya, dimana setiap hinpunan entitas pada himpunan entitas B berhubungan banyak entitas pada himpunan entitas A
Banyak ke Satu (Many to One)
Yang berarti setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan  entitas B, tetapi tidak sebaliknya, dimana setiap himpunan entitas pada himpunan entitas B berhubungan banyak entitas pada himpunan entitas A

 
Banyak ke Banyak (Many to Many)
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan demikian juga sebaliknya, dimana setiap entitas pada pada himpunen entitas B berhubungan banyak entitas pada himpunan entitas A.
Tahapan Pembuatan ERD 
  •  Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat 
  •  Menentukan atribut-atribut key dari masing-masing himpunan entitas
  • Mengidentfikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign key-nya
  •  Menentukan derajat/kardinalitas relasi untuk setiap   himpunan relasi
  • Melengkapi himpnan entitas dan himpunan relasi  dengan atribut deskriptif (non key)
1.Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat   
2. Menentukan atribut-atribut key dari masing-masing himpunan entitas   
3. Mengidentfikasi dan menetapkan seluruh himpunan relasi di  antara himpunan entitas-himpunan entitas yang ada beserta  foreign key-nya
4.  Menentukan derajat/kardinalitas relasi untuk setiap  himpunan relasi
5. Melengkapi himpnan entitas dan himpunan relasi dengan  atribut deskriptif (non key) 







Contoh kasus:
Sebuah bank memiliki beberapa cabang di daerah yang berlainan. Masing-masing cabang memiliki pelanggan yang relatif banyak. Sebuah rekening mungkin saja dimiliki oleh beberapa pelanggan dan setiap pelanggan boleh memiliki banyak rekening. Gambarkan skema ERD dan tabel untuk kasus ini.
Penyelesaian:

 Keterangan:
Pelanggan (NoPel, Nama, Alamat, Jabatan)
Milik (NoPel, NoAkun)
Akun (NoAkun,  Jumlah, NoCabang)
Cabang (NoCabang, AlamatCabang, Manager),
Transaksi (NoTransaksi, TglTransaksi, Waktu Transaksi, Jumlah Transaksi, JenisTransaksi, NoAkun)








 
 

Koneksi PHP dengan MySQL

Koneksi PHP dengan MySQL


Dukungan PHP

  • Memiliki banyak library yang memungkinkan untuk akses database. 
  • Kecepatan akses dengan menggunakan engine/driver yang khusus untuk setiap database. 
  • Independent terhadap database yang digunakan. 
  • PHP mendukung ODBC.
 Prosedur Standar
  1.   Connect to Server 
  2. Open Database  
  3.  EksekusiSQL 
  4.  ProsesRecord Set   
  5. Close Database
Proses inti dari manipulasi database adalah pembangunan perintah SQL yang digunakan untuk melakukan query, select, insert, update dan delete.
Template Akses Database

#Membuat koneksi dengan database.
$conn= mysql_connect($host, $user, $pass);
mysql_connect (namaserver, username ,password) perintah ini digunakan untuk melakukan koneksi ke database server. Fungsi ini menghasilkan suatu pengenal link (link identifier) yang digunakan untuk perintah berikutnya.

#Membuka database
$select = Mysql_select_db($nama_db);
Mysql_select_db printah ini digunakan untuk memilih database apa yang akan diproses.Mysql_select_db printah ini digunakan untuk memilih database apa yang akan diproses.

# Melakukan Query
$result = Mysql_query(“SELECT EmployeeID from Sales”);
Mysql_query perintah ini digunakan untuk mengeksekusi perintah SQL yang ada di parameter query.fungsi ini akan menghasilkan suatu petunjuk kehasil eksekusi (result).

#Mengambil Hasil Query à masukkan ke dalam Array
$row = Mysql_fetch_array($result);
Mysql_fetch_array (link result) berfungsi untuk mengambil satu baris data atau satu kolom data dari proses eksekusi query, perintah ini menghasilkan array yang dimulai dengan index 0.

#Mencetak isi Fieldecho
$row[“namafield”];
echo $row merupakan perintah yang digunakan untuk menampilkan berapa data yang dihasilkan dari eksekusi query(result).
 

Contoh Program:

KOneksi ke data base

<?php
function open_connection(){
$host="localhost";
$username="root";
$password="";
$databasename="tugas";
$link=mysql_connect ($host,$username, $password) or die(mysql_error());
mysql_select_db($databasename, $link);
return $link;
}
?>



Mengimput data di browser

<html>
<head>
<title>Contoh</title>
</head>
<body>
<a href="Gb1.php">Nama Buku</a> | <a href="Gb3.php">Daftar Buku</a>
<form action="Gb2.php" method=POST>
<pre>
nama_buku : <input type=text name=nama_buku size=30>
pengarang : <input type=text name=pengarang size=30>
</pre>
<input type=submit value="send">
<input type=reset value="reset">
</form>
</body>
</html>


Mengirim database

<html>
<head>
<title>Contoh</title>
</head>
<body>
<a href="Gb1.php">Nama Buku</a> | <a href="Gb3.php">Daftar Buku</a>
<br>
<?php
require("conn.php");
$link=open_connection();
$tablename="tabel";
$esql="INSERT INTO tabel VALUES('{$_POST['nama_buku']}','{$_POST['pengarang']}')";
if(!mysql_query($esql))
{
echo("Data yang anda masukkan salah<br> Coba Periksa Kembali <br>");
exit;
}
mysql_close($link);
echo("Satu buku telah ditambahkan<p>");
?>
</body>
</html>



Daftar database yang sudah diinput

<html>
<head>
<title>Contoh</title>
</head>
<body>
<a href="gb1.php">Nama Buku</a> | <a href="gb3.php">Daftar Buku</a>
<br>
<br>
<?php
require("conn.php");
$link=open_connection();
$sqlstr="SELECT * FROM tabel order by nama_buku DESC";
$result=mysql_query($sqlstr) or die(mysql_error());
while($row=mysql_fetch_assoc($result))
{

$nama_buku=$row['nama_buku'];
$pengarang=$row['pengarang'];
echo("nama_buku:$nama_buku<br>");
echo("pengarang:$pengarang<br>");
}
mysql_close($link);
?>
</body>
</html>
 

Senin, 21 Mei 2012

Query Languange 
Menggunakan MySQL


Query Languange adalah bahasa yang dipergunakan untuk melakukan proses permintaan yang diberikan oleh user atau pengguna untuk mengambil informasi yang terdapat pada database dengan memberikan suatu kriteria tertentu untuk penyaringan data sehingga data yang memenuhi kriteria tersebut yang akan ditampilkan. Atau dengan kata lain Query Languange adalah bahasa untuk melakukan manipulasi terhadap database.
      Structured Query Language disingkat SQL adalah bahasa standar yang digunakan dalam database management system(DBMS) untuk berkomunikasi dengan basis data atau database, yang meliputi perintah-perintah untuk mengganti isi atau memodifikasi struktur database, mengganti setting dan membuat sistem security data, memberi dan menentukan wewenang user pada database atautabel, mentransfer data dari satu database ke database lain,menangani proses transaksi dalam suatu aplikasi.
       MySQL merupakan salah satu database relasional yang mendukung pemakaian Structured Query Language (SQL) dan dirancang untuk penggunaan aplikasi dengan arsitektur client-server, yang memungkinkan pengguna untuk mengolah data di dalam database tersentral pada komputer pusat yang disebut dengan server. Sedangkan informasi yang dihasilkan dapat digunakan bersama-sama oleh beberapa user didalam komputer lokalnya yang disebut client). Pada awalnya MySQL dioperasikan hanya pada satu platform saja. Namun seiring perkembangan teknologi, makaMySQL dapat dioperasikan ke dalam berbagai platform sepertiWindows, Linux dan Free BSD.
       Kecepatan akses MySQL dan kemampuannya untuk integrasi ke dalam berbagai bahasa pemrograman yang menjadikannya standar dalam pemrograman.
         Query  merupakan bahasa untuk melakukan manipulasi terhadap database, yang telah
distandarkan dan lebih dikenal dengan nama Structured Query Language ( SQL ).
Query dibedakan menjadi 2, yaitu :
a.Data Definition Language (DDL) untuk membuat/mendefinisikan obyek-obyek database seperti membuat table,relasi dan sebagainya.
b.Data Manipulation Languange (DML) untuk memanipulasi data berupa pengambilan informasi dari Basis Data, penyisipan informasi baru ke Basis Data, penghapusan informasi dari Basis Data serta modifikasi informasi yang disimpan dlam Basis Data.

Sintak Data Definition Language (DLL)
Sintak Data Definition Language terdiri atas create, alter,dan drop. DDL bertugas untuk membuat objek SQL danmenyimpan definisinya dalam tabel. Contoh obyek yang dimaksud adalah tabel, view, dan index. Pembuatan tabel, serta perintah untuk menghapus tabel, dilakukan dengan subbahasa yang tergolong dalam DDL.
a. Membuat Tabel
    Struktur penulisan:
create table nama_table (nama_fieldtype, …);
    Sintaks membuat tabel produk :
create table produk (namavarchar(25), harga bigint);
b. Mengganti nama table
    Struktur penulisan:
            altertable nama_table_lama renamenama_table_baru;
   Sintaks mengganti tabel produk menjadi tabel barang:
alter table produk rename barang;
c. Menghapus table
   Struktur penulisan:
droptable nama_table;
Sintaks menghapus tabel barang:
drop table barang;
Sintak Data Manipulation Language (DML)
Data Manipulation Language (DML) terdiri dari select, update, insert, dan delete
Ø  Memasukkan data (insert)
Ada dua perintah yang dapat digunakan untuk memasukkandata ke dalam tabel:
insert into nama_table values (isi_field1, isi_field2, ...,isi_fieldn);
Contoh:
insert into barang values (‘Buku’,45000);
Jenis perintah yang kedua:
insert into nama_table (nama_field1,nama_field2, ..., nama_fieldn) values(isi_field1, isi_field2, ...,isi_fieldn);
Contoh:
insert into barang (nama, harga)values (‘Buku’, 45000);

Ø  Menampilkan data (select)
Perintah select digunakan untuk menampilkan data. Perintah ini hampir 90% digunakan dalam pemakaian database MySQL untuk menampilkan informasi berdasarkan criteria dan urutan tertentu.
Struktur penulisan:
select [fields] from [nama_tabel]where [kondisi]order by [nama_field] group by [nama_field] asc|desclimit [batasan];

Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama field saja atau beberapa field sekaligus yang dipisah dengan tanda koma (,), penulisanf ield-field tersebut digunakan untuk memunculkan data dari kolom mana saja yang akan ditampilkan. Jika seluruh kolom akan ditampilkan, dapat menggunakan tanda asterik (*)untuk mewakilinya.
Kemudian perintah dilanjutkan dengan penulisan from [nama_tabel], yang dimaksudkan untuk menyebutkan nama tabel yang akan digunakan sebagai sumber untuk menampilkan kolom-kolom yang telah disebutkan sebelumnya.
Contoh penulisan:
select * from produk;select nama, harga from produk;
Sedangkan pada baris where [kondisi], dituliskan kriteria apa saja yang disyaratkan untuk menampilkan data.
Contoh :
untuk menampilkan produk pasta gigi:
select * from produk where nama =‘Pasta Gigi’;
Ø  Mengubah data (Update)
Digunakan untuk proses update (memperbaharui data) agar sesuai dengan kondisi yang diinginkan.Struktur penulisan:
update nama_tabel setnama_field1=isi_baru1,nama_field2=isi_baru2,...,nama_fieldn=isi_barunwhere kriteria;
Contoh:
untuk mengubah nama produk pasta gigi menjadiodol:
update produk set nama=”Odol” wherenama=”Pasta gigi”;
Ø  Menghapus data (Delete)
Digunakan untuk menghapus data apabila terdapat kesalahan data atau data sudah tidak dipakai lagi.Struktur penulisan:
delete from nama_tabel where kriteria;
Contoh:
untuk menghapus nama produk pasta gigi:
delete from produk where nama=”Pastagigi”;
Contoh Database menggunakan console  



Contoh database menggunakan php MyAdmin



Pages - Menu