Sabtu, 24 November 2012

Entity Relationship Diagram

1. Pendahuluan

Suatu sistem informasi terdiri dari dua hal yaitu  data dan proses. Dalam mengembangan sebuah sistem, sistem analis harus mampu mengidentifikasi data dan proses dan menguraikan  dengan model. Suatu entity-relationship diagram (ERD), mengidentifikasi tipe entitas di dalam suatu sistem yang diuraikan dengan data, dan relasi di antara entitas. Tipe entitas adalah sesuatu  (yang)  penting untuk suatu perusahaan  yang diuraikan dengan data. Tipe entitas dapat merupakan salah satu dari ke tiga hal berikut :
·         Sebuah elemen lingkungan dari perusahaan (enviroment elemen), seperti customer atau supplier
·         Suatu sumber daya (resources), seperti suatu piutang dagang (account receivable), suatu  produk, atau suatu penjual
·         Suatu arus informasi (information flow), seperti suatu penjualan pemesanan (sales order) atau suatu faktur (invoice)
Masing-Masing kejadian dari suatu tipe entitas adalah suatu entitas.
            Relasi adalah suatu asosiasi yang ada antara dua atau lebih entitas dan digambarkan dengan suatu garis yang diberi label (berupa kata kerja). Contoh sebuah relasi
Mata kuliah
 
mahasiswa
 
                                                  mempelajari
 


Cara membaca diagram diatas adalah mahasiswa mempelajari mata kuliah (left to right relationship) atau dapat juga dibaca mata kuliah  dipelajari oleh mahasiswa (right to left relationship).
Kardinalitas adalah batasan (constraint) untuk relasi yang menyatakan berapa banyak entitas mempunyai relasi satu dengan lainnya. Alternatif derajat kardinalitas adalah sebagai berikut :

0 – bisa tidak ada relasi
1 – relasi Satu
N – relasi banyak

Untuk menentukan berapa banyak tergantung atas kondisi nyata atau sering disebut sebagai aturan bisnis yang ada. Misalnya dapat dijawab dengan pertanyaan sebagai berikut:
  • Haruskah setiap karyawan mempunyai mobil.
  • Bolehkah seorang karyawan mempunyai mobil lebih dari satu.

Pertanyaan diatas melahirkan kardinalitas minimum dan maksimum pada relasi dua buah entitas, sebagai berikut :

NO
NOTASI
DERAJAT RELASI MAKS-MIN
NAMA RELASI
KETERANGAN
1

( 0 , N )
Zero to Many
Relasi banyak dengan salah satu atribut dapat tidak berelasi (relasi kosong)
2

( 1 , N )
One to Many
Relasi banyak dengan salah satu atribut harusmempunyai relasi
3

( 1 , 1 )
One To One
Relasi satu (one) dengan salah satu atribut harus berelasi
4

( 0 , 1 )
Zero To One
Relasi satu dengan salah satu atribut boleh tidak berelasi (relasi kosong)

Contoh :
Seorang karyawan memiliki 0 mobil
Seorang karyawan memiliki banyak mobil

 



Setiap mobil dimiliki oleh satu orang saja

 




Bila aturan bisnis lain, maka relasi lain dapat terjadi, misalnya :
Setiap karyawan memiliki satu mobil
Setiap mobil dimiliki oleh satu karyawan
 






Atribut merepresentasikan elemen data dari entitas. Sebagai contoh, atribut dari pelanggan adalah nama, nomor, alamat, nomor telepon, email. Ada dua macam atribut yaitu identifier dan descriptor. Atribut identifier adalah atribut yang mengidentifikasi entitas secara spesifik (pada contoh diatas adalah nomor pelanggan). Dalam penulisannya, atribut identifier di beri garis bawah. Atribut deskriptor adalah atribut yang memberikan informasi, tapi tidak dapat digunakan untuk identifikasi (pada contoh diatas adalah nama, alamat, nomor telepon dan email pelanggan).

 



Nomor pelanggan                                                                   Nomor pesanan
Nama pelanggan                                                                     Tanggal pemesanan
Alamat pelanggan                                                                   Nomor pelanggan
Nomor telepon pelanggan                                                       Jumlah pesanan
Email pelanggan

Menentukan atribut adalah dengan menjabarkan entitas dalam bentuk alur data (data flow) yang didefinisikan melalui DFD (data flow diagram). Melalui kardinalitas dapat diketahui bahwa setiap atribut mempunyai minimal kardinalitas yaitu 0 atau 1 dan maksimum kardinalitas yaitu satu atau banyak.
Minimum:
0 ==> atribut tersebut adalah opsional, boleh ada boleh tidak.
1 ==> atribut tersebut harus ada (not null).
Maksimum :
1 ==> atribut normal.
N==>atribut tersebut melakukan pengulangan (repeating), sehingga proses normalisasi dapat segera dilakukan.


2. Perancangan ERD

Seorang pemilik toko ingin membuat diagram yang bisa menggambarkan hubungan antara  pelanggan, pemesanan barang, barang yang dipesan serta faktur yang mencatat setiap pemesanan barang.  Tahap-tahap yang ditempuh untuk membuat diagram tersebut adalah :
Ø  Identifikasi tipe entity
Identifikasi elemen-elemen, sumber daya dan transaksi penting yang ingin digunakan untuk mendeskripsikan data.
Ø  Identifikasi relasi
Tipe entitas selalu dibubungkan dalam posisi sebagai subyek dan obyek. Satu entitas berperan sebagai subyek sedang entitas lain sebagai obyek.Relasi antara keduanya dideskripsikan dengan kata kerja.
Ø  Siapkan sketsa kasar ERD
Buatlah sketsa kasar ERD dan coba rancang simbol-simbol sehingga relasi dibaca dari kiri ke kanan atau dari atas ke bawah (lihat gambar di bawah)
Seorang pelanggan memesan  nol atau lebih pesanan, dan sebuah pesanan dipesan oleh satu pelanggan. Satu pesanan mewakili satu atau lebih barang dan satu barang diwakili oleh nol atau lebih pesanan. Seorang pelanggan membayar nol atau lebih faktur dan satu faktur hanya dibayar oleh satu pelanggan. Faktur mewakili satu atau lebih barang dan barang diwakili nol atau lebih faktur.
pelanggan
 
faktur
 
 

                                            membayar
 



    memesan                                                                              mewakili
 


barang
 
pesanan
 
                                                    mewakili
 


Ø  Pemetaan atribut ke tipe entity
Membuat daftar atribut yang akan digunakan setiap entitas, garis bawahi identifier.

Tipe entitas pesanan                                     Tipe entitas faktur

            Nomor pesanan                                               Nomor faktur
            Nomor pelanggan                                            Nomor pesanan pelanggan
            Tanggal pemesanan                                         Tanggal faktur
            Nomor barang                                                 Nomor barang
            Deskripsi barang                                             Deskripsi barang
            Harga per unit                                                 Harga per unit
            Jumlah total pesanan                                       Jumlah faktur

Tipe entitas barang                                       Tipe entitas pelanggan

            Nomor barang                                                 Nomor pelanggan
            Deskripsi  barang                                            Nama pelanggan
            Lokasi gudang                                                            Alamat pelanggan
            Harga barang per unit                                     Nomor area penjualan
            Jumlah pesanan
Ø  Membuat analisis data
Ada prosedur formal untuk menganalisa atribut setiap tipe entitas dan mengidentifikasi rancangan yang merepresentasikan logika terbaik desain database. Proses ini disebut analisis data dan menggunakan teknik normalisasi untuk mengeliminasi elemen cadangan dan membuat struktur yang fleksibel dan efisien .
Ø  Modifikasi ERD
Tambahkan perubahan-perubahan yang ada ke dalam gambar ERD
Ø  Tinjau kembali ERD dan buat penyempurnaan
Seluruh anggota team proyek bersama dengan user melakukan diskusi untuk memastikan bahwa ERD merepresentasikan kondisi organisasi yang sebenarnya.
Aturan-aturan membuat ERD :
Aturan 1 : Bila mendapatkan suatu relasi banyak (0:n) atau (1:n) maka dibuat entitas child.
Misal entitas mobil dengan atributnya sebagai berikut :
 

Nopol              1:1
Jenis                1:1
Tipe                 1:1
Manufaktur     1:1

 
Nopol              1:1
NoService       1:1      
TglService       0:n
BiayaService   0:n

 
Jenis                1:1
Tipe                 1:1
Manufaktur     1:1
TglService       0:n
BiayaService   0:n

Aturan 2 : Bila didapatkan relasi many to many (n:n) maka dibuat entitas assosiatif

Misalnya relasi antara peserta dengan kursus dalam pelatihan
 








Diamond: Trainning

 

Atribut :
NoPeserta
KodeKursus
TglKursus
Ruang
waktu
 
Atribut :
KodeKursus
nama
Jumlahjam
 
Atribut :
NoPeserta
NamaPeserta
Alamat
 
Kursus
 
Peserta
 
 


Peserta
NoPeserta
NamaPeserta
Alamat
PS001
budi
surabaya


 

Trainning
KodeKursus
NoPeserta
TglKursus
Ruang
Waktu
C001
PS001
12/11/2003
54-208
07.00-12.00



Kursus
Kode Kursus
Nama kursus
JumlahJam
C001
Basis data
4













3. Pembuatan ERD dengan Powerdesigner 6
Langkah-langkah pembuatan ERD dengan powerdesigner 6
1.      Aktifkan program powerdesigner sehingga muncul tampilan seperti berikut

Pointer
 
Zoom 
 
Scissor
 
Inheritance
 
Line
 
Rounded rectangle