6/26/2011
Entity – Relationship
Diagram
6/26/2011
Tujuan Perkuliahan :
Agar mahasiswa memahami tahap-tahap perancangan basis data
Agar mahasiswa mampu merancang suatu basis data menggunakan ER-Diagram
Agar mahasiswa mampu menggunakan salah satu tools perancangan basis data yaitu Power Designer untuk merancang Conceptual Data Model dan mengubahnya menjadi suatu Physical Data Model.
Elements
Entity
Relationship
Attribute
6/26/2011
Tahap pembuatan ER-Diagram
Tahap pembuatan ER-Diagram Awal
(Preliminary Design)
Merancang diagram basis data yang dapat mengakomodasi kebutuhan penyimpanan data terhadap sistem.
Tahap Optimasi ER-Diagram (Final Design)
Melakukan koreksi terhadap hasil tahap pertama, seperti melakukan dekomposisi entitas,
penggabungan entitas, pengubahan derajat relasi, penambahan relasi baru, dan perubahan atribut.
6/26/2011
Tahap pembuatan Diagram ER awal
(preliminary design) :
Melakukan pengidentifikasian dan menetapkan seluruh himpunan entitas yang akan terlibat.
Menentukan atribut-atribut dari masing-masing entitas beserta primary-key nya.
Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada.
Menentukan derajat/kardinalitas dan modalitas relasi untuk setiap himpunan relasi.
Melengkapi himpunan entitas dan himpunan relasi dengan atribut foreign-key beserta atribut-atribut deskriptif (non key).
Problem
Sebuah perusahaan memiliki beberapa
departemen.Setiap departemen dikepalai oleh
seorang manajer dan setidaknya memiliki satu
atau lebih pegawai. Satu pegawai bekerja hanya
di satu departemen. Setidaknya satu pegawai
mendapat tugas untuk mengerjakan proyek,
kecuali pegawai yang sedang cuti.Berarti ada
kemungkinan seorang pegawai tidak
mengerjakan satupun proyek,tetapi seorang
pegawai bisa mengerjakan beberapa proyek
sesuai dengan penugasan.
6/26/2011
Beberapa data penting yang dibutuhkan
adalah nama departemen, proyek, manajer
dan pegawai. Selain itu juga dibutuhkan data
unik untuk membedakan departemen,
manajer, pegawai dan proyek.
Data-data pendukung lainnya :
Untuk manajer : tgl lahir, alamat
Untuk pegawai : tgl lahir,alamat
Untuk proyek : lokasi
6/26/2011
Step 1 - Melakukan identifikasi entitas
yang akan terlibat
Entitas dalam sistem ini adalah :
Departemen, Pegawai, Manajer and Proyek.
Perusahaan tidak termasuk entity, karena hanya
memiliki satu instance dalam permasalahan ini.
Entitas harus memiliki lebih dari satu instance.
Proyek Pegawai
Departemen Manajer
6/26/2011
Step 2.a : Menentukan atribut-atribut
key dari masing-masing entitas
Atribut adalah karakteristik dari entity atau
relationship, yang menyediakan penjelasan
detail tentang entity atau relationship tersebut.
Key
Atribut yang digunakan untuk menentukan suatu
entity secara unik.
6/26/2011
Nama File
(Entitas) Nama (Atribut) Field Keterangan
Departemen Kd_Dep Kode Departemen Nm_Dep Nama Departemen Manajer Kd_Mj Kode manajer
Nm_Mj Nama manajer Tgl_Lhr_Mj Tanggal lahir manajer Alm_Mj Alamat manajer Pegawai Kd_Peg Kode pegawai
Nm_Peg Nama Pegawai Tgl_Lhr_Peg Tanggal lahir pegawai Alm_Peg Alamat pegawai Proyek Kd_Pry Kode Proyek
Nm_Pry Jenis Barang Lks_Pry Lokasi proyek
Atribut-atribut yang teridentifikasi
6/26/2011 Proyek Pegawai Departemen Manajer Kd_dep Nm_dep Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj
Kd_Pry Nm_Pry Lks_Pry Alm_Mj
Kd_Mj
Nm_Mj Tgl_Lhr_Mj
6/26/2011
Step 2.b: Menentukan Primary Keys
Primary Key
Kumpulan atribut minimal yang dapat membedakan setiap baris/record data dalam sebuah tabel secara unik
Sebagai acuan/pengenal.
Primary keys yang bisa ditentukan :
Entitas Departemen :
Entitas Manajer :
Entitas Pegawai :
Entitas Proyek :
Kode Departemen (Kd_Dep), Kode Manajer (Kd_Mj), Kode Pegawai (Kd_Peg), Kode Proyek (Kd_Pry).
6/26/2011 Proyek Pegawai Departemen Manajer Kd_dep Nm_dep Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj
Kd_Pry Nm_Pry Lks_Pry Alm_Mj
Kd_Mj
Nm_Mj Tgl_Lhr_Mj
6/26/2011
Step 3.a : Melakukan identifikasi Relasi
ER matrix
Department Pegawai Manajer Proyek Department Pegawai Manajer Proyek Memiliki Dikepalai Milik Mengerjakan Mengepalai Dikerjakan
Step 3.b : Menggambar ERD dengan
relasinya
Proyek Pegawai
Departemen Kepalai Manajer
Kerja Memiliki Kd_dep Nm_dep Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj Kd_Pry Nm_Pry Lks_Pry Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj 6/26/2011
Step 4.a : Menentukan kardinalitas
Kardinalitas relasi adalah sebuah bilangan
yang menunjukkan jumlah maksimum elemen
dari sebuah entitas yang dapat berelasi dengan
elemen dari entitas lain.
Angka yang menunjukkan banyaknya
kemunculan suatu obyek terkait dengan
kemunculan obyek lain pada suatu relasi
Kombinasi yang mungkin : (1:1, 1:N, M:N)
6/26/2011
Dari permasalahan, bisa diperoleh beberapa informasi diantaranya:
Setiap departemen dikepalai satu manajer, tidak lebih dan tidak kurang.
Satu Manajer mengepalai satu departemen dan hanya satu.
Setiap departemen paling sedikit memiliki satu pegawai.
Satu pegawai hanya bekerja untuk satu departemen.
Pada setiap proyek paling sedikit terdapat satu pegawai yang mengerjakannya.
Pegawai bisa bekerja di 0 atau lebih proyek.
Menetapkan Kardinalitas :
Satu departemen diKEPALAi oleh satu manajer
Satu departemen setidaknya meMILIKi satu atau lebih pegawai.
Satu pegawai bisa meNGERJAkan satu atau lebih proyek
Proyek Pegawai
Departemen kepala Manajer
Kerja Memiiliki
1 1
1
6/26/2011
Selanjutnya kalimat yang dibalik :
Satu manajer mengepalai satu departemen
Satu pegawai hanya diMILIKi oleh satu departemen
Satu proyek bisa diKERJAkan oleh satu atau lebih pegawai.
Proyek Pegawai
Departemen Kepala Manajer
Kerja Memiliki 1 1 1 n n 1 1 1 1 1 1 n 6/26/2011
Selanjutnya pilih yang terbesar dari
masing-masing sisi :
Proyek Pegawai
Departemen dikepalai Manajer
Kerja Memiliki 1 1 1 n n 1 1 1 1 1 1 n 1 1 1 n n n m 6/26/2011
Kini kita dapatkan “M” (many) di kedua sisinya
yang berarti derajat kardinalitas relasi tersebut
adalah “many to many.” Namun, karena dalam
matematika, nilai M akan selalu sama dengan
M, sedangkan belum tentu kalimat (jika nilai M di
atas = 5),atau “Lima PEGAWAI akan selalu
mengerjakan Lima PROYEK,” maka penulisan
M di salah satu sisinya diganti dengan N, tetapi
pembacaannya tetap many. Jadi, nilai M dan N
bisa jadi sama, dan bisa jadi tidak sama (M = N
atau M N).
6/26/2011
Hasil Akhir penentuan kardinalitas :
Proyek Pegawai
Departemen Dikepalai Manajer
kerja Memiliki Kd_dep Nm_dep Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj Kd_Pry Nm_Pry Lks_Pry Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj 1 1 1 n n m 6/26/2011
Step 4.b : Menentukan modalitas
Definisi :Partisipasi sebuah entitas pada suatu relasi.
0 jika partisipasi bersifat optional / parsial
1 jika partisipasi bersifat wajib / total Contoh :
Partisipasi total
Setiap anak memiliki ibu
Partisipasi parsial
Tidak setiap perempuan memiliki anak
6/26/2011
Dari permasalahan, bisa diperoleh beberapa informasi diantaranya:
Setiap departemen dikepalai satu manajer, tidak lebih dan tidak kurang.
Manajer mengepalai satu departemen dan hanya satu.
Setiap departemen paling sedikit memiliki satu pegawai.
Satu pegawai hanya bekerja untuk satu departemen.
Pada setiap proyek paling sedikit terdapat satu pegawai yang mengerjakannya.
6/26/2011
Menetapkan Modalitas :
Setiap departemen dikepalai satu manajer, tidak lebih dan tidak kurang. (min = 1, max = 1)
Satu departemen setidaknya meMILIKi satu atau lebih pegawai. (min = 1, max = n)
Satu pegawai bisa bekerja di 0 atau lebih proyek. (min = 0, max = n)
Proyek Pegawai
Departemen kepala Manajer
Kerja Memiliki 1 1 1 n n 1 (1,1) (1,n) (0,n) 6/26/2011
Selanjutnya kalimat yang dibalik :
Satu manajer mengepalai satu departemen. (min= 1, max = 1)
Satu pegawai hanya diMILIKi oleh satu departemen. (min = 1, max = 1)
Satu proyek bisa diKERJAkan oleh satu atau lebih pegawai. (min = 1, max = n)
Proyek Pegawai
Departemen Kepala Manajer
Kerja Memiliki 1 1 1 (1,1) (1,1) (1,n) (1,1) (1,n) (0,n)
Hasil Akhir penentuan modalitas :
Proyek Pegawai
Departemen Dikepalai Manajer
kerja memiliki Kd_dep Nm_dep Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj Kd_Pry Nm_Pry Lks_Pry Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj (1,1) (1,1) (1,1) (1,n) (1,n) (0,n) 6/26/2011
Menentukan Foreign-Key
Foreign-Key adalah kunci utama dari file
(master) lain yang digunakan di file (transaksi).
Kunci atribut tersebut digunakan sebagai
“jembatan” untuk mengambil nilai data dari
atribut-atribut lain atau dengan kata lain sebagai
kunci penghubung antara entitas child dengan
entitas parent.
Step 5 : Melengkapi entitas, relasi dan
atribut
6/26/2011
Relasi one-to-one :
Foreign-key ditentukan dengan menambahkan atribut primary-key dari entitas yang memiliki derajat relasi paling besar ke entitas yang memiliki derajat relasi paling kecil.
Jika derajat relasinya sama, pilih tabel dengan jumlah baris (row) paling sedikit.
Contoh : Terdapat entitas Manajer dan Departemen dengan nama relasi dikepalai, dimana seorang manajer mengepalai di satu departemen. Primary-key dari manajer yang akan dimasukkan ke entitas Departmen sebagai foreign-key.
Relasi one-to-many :
Foreign-key ditentukan dengan menambahkan atribut primary-key dari entitas yang memiliki derajat relasi 1 ke entitas yang memiliki derajat relasi N.
Contoh : Terdapat entitas Pegawai dan Departemen dengan nama relasi memiliki, dimana satu
departemen memiliki beberapa pegawai. Dengan memperhatikan bahwa “setiap departemen memiliki beberapa pegawai tetapi tidak sebaliknya”, maka primary-key dari Departemen yang akan dimasukkan ke entitas Pegawai sebagai foreign-key.
6/26/2011
Relasi many-to-many :
Penentuan foreign-key dilakukan dengan membuat suatu entitas baru yang memiliki atribut (foreign-key) yang merupakan primary-key dari kedua entitas yang dihubungkan.
Contoh : Terdapat entitas Pegawai dan Proyek dengan nama relasi kerja. Dimana satu Pegawai dapat mengerjakan beberapa proyek,begitu juga sebaliknya. Relasi Kerja dijadikan sebuah entitas baru yang terdiri dari dua atribut foreign-key yang merupakan primary-key dari entitas Pegawai dan
Proyek, dan dapat ditambah satu primary-key baru
yaitu nomor kerja.
6/26/2011
Foreign-keys yang bisa ditentukan :
Entitas Departemen dengan Manajer
Entitas Departemen : Kode manajer (Kd_Mj),
Entitas Departemen dengan Pegawai
Entitas Pegawai : Kode Departemen (Kd_Dep),
Entitas Pegawai dan Proyek :
relasi kerja dijadikan entitas dengan atribut :
Primary key : Kd_Kerja (kode pekerjaan)
Foreign key : Kd_Peg (kode pegawai) Kd_Pry (kode proyek).
6/26/2011
Pada gambar ERD yang dihasilkan, terdapat relasi many-to-many yaitu,
antara Pegawai dan Proyek.
Relasi antara Pegawai dengan Proyek dapat dijadikan satu entitas (associative entities), dengan memakai primary key dari entitas Pegawai dan Proyek. Primary key untuk Pegawai-Proyek bisa menggunakan
concatenated key yang merupakan gabungan dari Kode Pegawai dan Kode Proyek. Atau bisa membuat satu
atribut baru yang dijadikan sebagai primary-key. Atau bisa juga tidak menggunakan primary key,
tergantung kebutuhan.
6/26/2011
Hasil Akhir ER-Diagram
Proyek Pegawai
Departemen Dikepalai Manajer
kerja memiliki Kd_dep Nm_dep Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj Kd_Pry Nm_Pry Lks_Pry Alm_Mj Kd_Mj Nm_Mj Tgl_Lhr_Mj (1,1) (1,1) (1,1) (1,n) (1,n) (0,n) Kd_kerja 6/26/2011
Conceptual Data Model menggunakan Power
Designer
6/26/2011
Physical Data Model menggunakan Power
Designer
6/26/2011
Contoh lain Relasi many-to-many :
Terdapat entitas Mahasiswa dengan primary-key NIM dan entitas Kelas dengan primary-key kode_kelas. Dimana setiap mahasiswa dapat mengambil lebih dari satu kelas, dan setiap kelas dapat diambil oleh lebih dari satu mahasiswa kecuali tidak ada yang memilih (0). Data tersebut akan direkam dalam Kartu Studi Mahasiswa. Di dalam Kartu Studi Mahasiswa terdapat data tahun akademik dan nilai dari kelas yang diambil mahasiswa.
Didalam entitas kelas terdapat kode mata kuliah yang diambil dari entitas mata kuliah, dimana nantinya dapat ditampilkan di dalam Kartu Studi Mahasiswa.
6/26/2011
Gambar ER-Diagram dari contoh :
Kelas Mahasiswa Kartu Studi
Kd_Kls Semester Nama_kls Alm_Mhs NIM Nm_Mhs TTL (0,n) (1,n) Thn_Akdm Mata Kuliah Kd_MK Nm_MK SKS dijadwalkan (1,1) (1,1) Nilai
Many to Many ERD
6/26/2011