MERANCANG APLIKASI BERBASIS DBASE MENGGUNAKAN ERD ATAU CLASS DIAGRAM-UML

CLASS DIAGRAM
Class Diagram  adalah diagram UML yang menggambarkan kelas-kelas dalam sebuah sistem dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi.

Beberapa tahapan pada Class Diagram;
§  Mengidentifikasi objek dan mendapatkan kelas-kelasnya.
§  Mengidentifikasi atribut kelas-kelas.
§  Mulai mengkonstruksikan kamus data.
§  Mengidentifikasi operasi pada kelas-kelas.
§  Menggunakan teknik kartu CRC untuk memperlihatkan pertanggungjawaban dan kolaborasi.
§  Mengidentifikasikan hubungan antar kelas dengan menggunakan asosiasi, agregasi dan inheritance.
§  Iterate dan memoles model.
Untuk lebih jelasnya tentang tahapan-tahapan pada kelas diagram
Sebagai berikut;
     Menggidentifikasi kelas-kelas
*                           * class diagram
                             * class icon-class diagram


*     Menggambarkan objek / class pada sistem
c       contoh;
                             * object class program
                             *  tabel data pada database


      Objek class diagram
                             * attribut
                             * operation / function / method
                             * relationship
                             * note / keterangan(optimal)


      Relation - class diagram
      Indikator relation - class diagram
      Indikator relation
      Indikator variable - class diagram










CONTOH

Kasus reservasi tiket pesawat
Reservasi tiket pesawat merupakan suatu proses pembelian tiket pesawat yang dillakukan oleh passanger mulai dari melihat jadwal, pembayaran harga tiket, dan sampai pada tiket yang sudah dicetak dan siap digunakan.



 t
TTahap Perancangan


rRancangan sistem





Entity Relationship Diagram(Erd)
Sebelum melakukan perancangan basis data dengan menggunakan ERD, maka terlebih dahulu ditentukan entity-entity yang akan terlibat beserta atributnya masing-masing, yaitu sbb :
1.      Entity Passenger, Attribute :
                    Nama, no.KTP, alamat, Jenis kelamin, dan No. Telepon.
2.      Entity Teller, Attribute:
                    Nold dan Nama                         
3.      Entity Data_Penerbangan, Attribute :    
No.penerbangan,Maskapai,kelas,asal , tujuan, waktu dan harga tiket.
4.Entity Tiket, Attribute :
No.tiket, No.KTP, Nama, No.Penerbangan, Kelas, Asal, Tujuan, Tanggal,  Pukul, dan No.rekening
4.      Entity Login, Attribute :
User.Id, dan Password
5.      Entity Bank, Attribute :
                 Nama Bank, Alamat, dan No. Rekening
Setelah Semua entity yang terlibat dalam perancangan telah ditentukan, maka selanjutnya dibangun tabel sesuai attribute yang dimiliki tiap entity.
            





Ssetelah tabel dan data yang disusun terbentuk, maka dilakukan perancangan basis data dengan menjelaskan
hhubungan antar entity menggunakan ERD.
Ssehingga, diperoleh sbb :











r






                 


















  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Normalisasi

Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan struktur yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel agar ruang penyimpanan efisien.

Dalam Normalisasi terdapat beberapa istilah penting antara lain;
¨  Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu field atau satu field yang dapat mewakili record.
¨  Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris fungsinya sebagai calon primary key.
¨  Composite key. Kunci kandidat yang berisi lebih dari satu atribut
¨  Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik
¨  Alternate key. Candidate key yang tidak dipilih sebagai primary key
¨  Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel

Suatu data dapat dikatakan ketika baik ketika memenuhi kriteria sebagai berikut;
  1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya  harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
  2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)
  4. Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal  tahap ketiga (3rd Normal Form / 3NF).
Aturan-aturan dalam proses Normalisasi;

. Normalisasi Pertama (1st Normal Form)
¨  Mendefinisikan atribut kunci
¨  Tidak adanya group berulang
¨  Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)

2. Normalisasi Kedua (2nd Normal Form)
¨  Sudah memenuhi dalam bentuk normal kesatu
¨  Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.

3. Normalisasi Ketiga (3rd Normal Form)
¨  Sudah berada dalam bentuk normal kedua
¨  Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).

4. Boyce-Code Normal Form (BCNF)
¨  Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk:               X à Y
¨  tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi
¨  Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian dari primary key.

5. Normalisasi Keempat (4rd Normal Form)
¨  Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
¨  Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies
6. Normalisasi Kelima (5rd Normal Form)
¨  Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
¨  Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula 




Contoh kasus normalisasi


 data Dictionary
- no.Faktur - Jumlah - Diskon
- Tanggal - Harga - Jumlah Bayar
- Kepada - Total
- Nama - Total bayar

Tahapa-tahapan;

Mendasar pada faktur yang tertera di atas, maka gambaran database yang belum ternormalisasi adalah sebagai berikut :
1. Tabel yang memiliki field dengan banyak data / tidak tunggal


First Normal form (1-NF)




Second Normal form (2-NF)




Third Normal form (3-NF)







jadi akhrnya tabeltelah memenuhi bentuk normal 3

                        




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS


Koneksi PHP dengan MySQL


PHP merupakan singkatan berulang dari PHP Hypertext Preprocessor, dulu namanya Personal HomePage, pertama kali dibuat oleh Rasmus Lerdof pada tahun 1995 CMIIW. Fungsi yang paling populer dari PHP adalah kemampuannya sebagai server side programming / scripting language dalam pembuatan website, atau aplikasi yang berbasis website. Server side programming / scripting adalah bahasa yang berjalan pada sisi server (dalam hal ini web server) sehingga, komputer kita (client/web browser) tidak mengetahui apa yang terjadi didalam websever.
Kelebihan dari PHP:
Memiliki banyak librari 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 standart pengkoneksian PHP
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.
Pertama-tama kita akan membuat script koneksi PHP ke MySQL
<?php
$hostmysql = “localhost”;
$username = “mysql_username”;
$password = “mysql_password”;
$database = “nama_database”;
$conn = mysql_connect(”$hostmysql”,”$username”,”$password”);
if (!$conn) die (”Gagal Melakukan Koneksi”);
mysql_select_db($database,$conn) or die (”Database Tidak Diketemukan di Server”); ? >
Untuk mempermudah, simpan file tersebut dengan nama connect.php , agar jika terdapat script PHP yang memerlukan untuk terkoneksi dengan database, dapat dengan mudah memanggilnya.
Penjelasan Script koneksi PHP ke MySQL:
a. mysql_connect dipergunakan untuk membuat koneksi menggunakan PHP ke server MySQL. Data untuk hostname, mysql username, dan password yang digunakan telah dideklarasikan oleh variabel $hostmysql, $username, $password.
Penulisannya pada script akan sama dengan:
mysql_connect(”localhost”,”username”,”password”);
b. mysql_select_db dipergunakan untuk memilih database yang akan   digunakan.
c. if (!$conn) die (”Gagal Melakukan Koneksi”); jika terjadi kegagalan dalam melakukan koneksi (!$conn), maka akan muncul pesan kesalahan Gagal Melakukan Koneksi
Setelah itu kita akan membuat tabel MySQL

<?php include (”connect.php”);
mysql_query(”CREATE TABLE user (
namadpnVARCHAR(20),
namablkg VARCHAR(20),
negara VARCHAR(20))”); ?>
Penjelasan:
 1.  include (”connect.php”); kita gunakan untuk mengikutkan sebuah file         (contoh file connect.php).
2. mysql_query
perintah ini memiliki format umum yakni ysql_query(string dari query).
Script dibawah ini dipergunakan untuk membuat tabel

<?php include (”connect.php”);
$insert = “INSERT INTO users (type,firstname,lastname)
VALUES (’User,’Budi’,’Utomo’)”;
mysql_query($insert) or die (”tidak dapat menulis pada tabel”);?>

Script dibawah ini dipergunakan untuk menampilkan data dari tabel
<?php include (”connect.php”);
$query = “SELECT * FROM user”;
$result = mysql_query($query);
$numrows = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo “Total: $numrows
”;
echo “Tipe: $row[type]
”;
echo “Nama Depan: $row[firstname]
”;
echo “Nama Belakang: $row[lastname]“;
} ?>



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS


ERD (Entity Relaionship Diagram)

          Pada  ERD data digambarkan dalam konteks entitas dan hubungan
nya, jadi tujuan utama dari sebuah ERD adalah untuk mendokumentasikan struktur logis dari database. ERD merupakan salah satu cara data permodelan  (Data Modeling)
Model Entity Relationship sendiri 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.

Adapun Notasi- natasi dalam ERD


                                              
Dalam ERD terdapat beberapa komponen  seperti :

1.     Entity

Entity merupakan objek yang dapat dibedakan dengan yang lain dalam dunia nyata . Dalam entity ada yang disebut sebagai Entity set yaitu kumpulan dari entity yang sejenis.
Contoh: tempat (ruangan , kantor, rumah, dll),kendaraan (mobi, motor, becak, dll)

2.     Attribute

Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entiy atau relationship tersebut . atribut dalam ERD digambarkan dalam bentuk oval.atribut terdiri dari beberapa jenis yaitu:
*key
*atribut simple
*atribut multivalue
*atribut komposit
*atribut derivatif

.  Relasi
   Relasi adalah hubungan yang terjadi antara satu atau lebih entity

4.     Kardinalitas (derajat relasi)

Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan  entitas pada himpunan entitas lain.Jenis - jenis  kardinalitas :

*satu ka 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.

   
Setelah mangetahui komponen-komponen yang terdapat dalam ERD. selanjutnya yang perlu diketahui juga adalah Tahapan- tahapan pembuatan ERD


Tahapan- Tahapan Pembuatan / 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 ERD
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 :

                      
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)






  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

QUERY LANGUAGE DENGAN MySQL


QUERY LANGUAGE  MENGGUNAKAN MySQL
Bahasa Query 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 bahasa untuk melakukan manipulasi terhadap database.
Structured Query Language adalah sebuah metode atau bahasa yang dipergunakan untuk mengakses data dalam basis data (database). Bahasa ini merupakan bahasa standar yang digunakan dalam manajemen basis data relasional.
Modifikasi database :
  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS