Senin, 28 Mei 2012

Koneksi PHP & MySQL


Koneksi    PHP  &   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 Standard
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.
-          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 Field :
            echo $row[“namafield”];
            echo $row merupakan perintah yang digunakan untuk menampilkan berapa data yang dihasilkan dari eksekusi query(result).
Example :




Entity Relationship Diagram


ERD - Entity Relationship Diagram

Pendahuluan
       Model Entity Relationship diperkenalkan pertama kali oleh P.P. Chen  pada tahun 1976. Model ini dirancang untuk menggambarkan persepsi dari pemakai  dan berisi obyek-obyek dasar yang disebut entity dan hubungan antar entity-entity tersebut yang disebut relationship.
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).
Entity Relationship Diagram (ERD)
®    Pengertian :
Sebuah ERD menggambarkan data dalam konteks entitas dan hubungannya.
®   Tujuan :
Tujuan utama dari sebuah ERD adalah untuk mendokumentasikan struktur logis  dari database.
®    Komponen – komponen ERD:
ü  Entity (Entitas)
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
ü  Attribute (Atribut)
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 Komposit
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
5.        Atribut Derivatif 
Suatu atribut yang dihasilkan dari atribut yang lain

Contoh: (Atribut komposit)

 (Atribut derivatif)
                                                                                    


ü  Relationship (Relasi)
Relationship adalah hubungan  yang terjadi antara satu atau lebih entity.
Contoh:

Derajat dari relationshp menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship. Terdapat tiga jenis derajat dari relationship, unary degree (derajat satu), binary degree (derajat dua) dan ternary degree (derajat tiga).

ü  Cardinality Ratio Constraint
Cardinality ratio contraint merupakan menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya. Terdapat tiga Jenis cardinality ratio contraints, satu ke satu (1:1), satu ke banyak (1:N atau N:1) dan banyak ke banyak (M:N).
v  Satu ke satu (1 : 1 )

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.         
v  Satu ke banyak ( 1 : N atau N : 1 )



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.
(untuk banyak ke satu “anggota B dikawankan lebih dari 1 anggota A”)
v  Banyak ke banyak ( N : M )

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.


 
 
Contoh Relasi:
*      Relasi 1 : 1 (satu ke satu)

Setiap dosen paling banyak mengepalai satu jurusan (walau tidak semua dosen mengepalai jurusan). Dan setiap jurusan dikepalai palinng bayak satu dosen.
Mengepalai : Foreign-Key (Kunci Asing) -> penghubung
*      Relasi 1 : N (satu ke banyak)

Setiap dosen dapat mengajar lebih dari satu mata kuliah, sedangkan setiap mata kuliah diajar paling banyak satu dosen.
*      Relasi N : M (banyak ke banyak)

Setiap mahasiswa dapat mempelajari banyak mata kuliah dan setiap mata kuliah dapat dipelajari oleh banyak mahasiswa.


 Notasi ERD



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)

Tahap membangun ERD
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.


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