6/26/2011
Tahap pembuatan ER-Diagram
Entity – Relationship 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
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.
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).
6/26/2011
6/26/2011
Elements
Problem Entity
Relationship
Attribute
6/26/2011
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
1
6/26/2011
Atribut-atribut yang teridentifikasi
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 :
Nama File (Entitas)
manajer : tgl lahir, alamat Untuk pegawai : tgl lahir,alamat Untuk proyek : lokasi
Kd_Dep Nm_Dep
Nama Departemen
Manajer
Kd_Mj
Kode manajer
Proyek
6/26/2011
Keterangan
Departemen
Pegawai
Untuk
Nama Field (Atribut)
Kode Departemen
Nm_Mj
Nama manajer
Tgl_Lhr_Mj
Tanggal lahir manajer
Alm_Mj
Alamat manajer
Kd_Peg
Kode pegawai
Nm_Peg
Nama Pegawai
Tgl_Lhr_Peg
Tanggal lahir pegawai
Alm_Peg
Alamat pegawai
Kd_Pry
Kode Proyek
Nm_Pry
Jenis Barang
Lks_Pry
Lokasi proyek
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.
Nm_Mj Kd_dep
Nm_dep
Alm_Mj
Nm_Mj
Manajer
Pegawai
Manajer
Departemen
Tgl_Lhr_Mj
Kd_Mj
Departemen
Tgl_Lhr_Mj
Kd_Mj
Proyek
Alm_Mj
Kd_Pry
Pegawai
Nm_Pry
Lks_Pry
Proyek
6/26/2011
6/26/2011
Step 2.a : Menentukan atribut-atribut key dari masing-masing entitas
Step 2.b: Menentukan Primary Keys
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
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 Manajer Entitas Pegawai Entitas Proyek Entitas
: : : :
Kode Departemen (Kd_Dep), Kode Manajer (Kd_Mj), Kode Pegawai (Kd_Peg), Kode Proyek (Kd_Pry).
6/26/2011
2
6/26/2011
Step 4.a : Menentukan kardinalitas Nm_Mj Kd_dep
Tgl_Lhr_Mj
Nm_dep Kd_Mj
Alm_Mj
Manajer
Departemen
Nm_Mj
Tgl_Lhr_Mj
Kd_Mj
Alm_Mj
Kd_Pry
Nm_Pry
Lks_Pry
Pegawai
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)
Proyek
6/26/2011
6/26/2011
Step 3.a : Melakukan identifikasi Relasi
ER matrix
Department Department Pegawai
Milik
Manajer
Mengepalai
Pegawai
Manajer
Memiliki
Dikepalai
Proyek
Mengerjakan
Proyek
Dikerjakan
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.
6/26/2011
Step 3.b : Menggambar ERD dengan relasinya Kd_dep
Nm_Mj
Nm_dep
Satu departemen diKEPALAi oleh satu manajer Satu departemen setidaknya meMILIKi satu atau lebih pegawai. Satu pegawai bisa meNGERJAkan satu atau lebih proyek
Alm_Mj
Manajer
Kepalai
Menetapkan Kardinalitas :
Tgl_Lhr_Mj
Kd_Mj
Departemen
1
Memiliki
Departemen Pegawai
Manajer
1
Proyek
Kerja
1 kepala
Memiiliki Alm_Mj
Kd_Pry
n
Lks_Pry
Kd_Mj Nm_Pry Nm_Mj 6/26/2011
Pegawai
1
Kerja
n
Proyek
Tgl_Lhr_Mj 6/26/2011
3
6/26/2011
Selanjutnya kalimat yang dibalik :
Hasil Akhir penentuan kardinalitas :
Satu
manajer mengepalai satu departemen pegawai hanya diMILIKi oleh satu departemen Satu proyek bisa diKERJAkan oleh satu atau lebih pegawai.
Kd_dep
Satu
Nm_Mj
Nm_dep
Tgl_Lhr_Mj
Kd_Mj Alm_Mj
Departemen
1
Dikepalai
1
Manajer
1 1
Departemen
1 Kepala
1
Memiliki
Manajer
1
1 1 n
Pegawai
kerja
n
Proyek
m
Memiliki n
1
Pegawai
1
n
Kerja
n
1
Alm_Mj
Proyek
Lks_Pry Nm_Pry
Nm_Mj
6/26/2011
Kd_Pry
Kd_Mj Tgl_Lhr_Mj
6/26/2011
Step 4.b : Menentukan modalitas
Selanjutnya pilih yang terbesar dari masingmasing sisi :
1
Departemen
1
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
1 dikepalai
1
Manajer
1 1 Memiliki n 1
Pegawai
1 n
Kerja
m n 1
Proyek
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
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. Pegawai bisa bekerja di 0 atau lebih proyek.
6/26/2011
4
6/26/2011
Step 5 : Melengkapi entitas, relasi dan atribut
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) 1
1 (1,1)
Departemen
Menentukan Foreign-Key
Manajer
kepala
1 Memiliki (1,n) n
1
Pegawai
(0,n) n
Kerja
Proyek
6/26/2011
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)
Departemen
1 (1,1) Kepala
(1,1)
Manajer
1(1,1) Memiliki (1,n)
1 (1,n)
Pegawai
(0,n)
Kerja
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.
Proyek
6/26/2011
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.
6/26/2011
Hasil Akhir penentuan modalitas : Kd_dep
Nm_Mj
Nm_dep
Tgl_Lhr_Mj
Kd_Mj Alm_Mj
Departemen
(1,1)
(1,1)
Dikepalai
Manajer
(1,1)
memiliki (1,n)
Pegawai
(1,n)
(0,n)
kerja
Alm_Mj
Proyek
Kd_Pry
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.
Lks_Pry
Kd_Mj Nm_Pry Nm_Mj 6/26/2011
Tgl_Lhr_Mj 6/26/2011
5
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.
Hasil Akhir ER-Diagram Kd_dep
Nm_Mj
Nm_dep
Tgl_Lhr_Mj
Kd_Mj Alm_Mj
Departemen
(1,1)
Dikepalai
(1,1)
Manajer
(1,1)
memiliki (1,n)
(1,n)
Pegawai
Kd_Mj
Alm_Mj Nm_Mj
kerja
Kd_kerja
(0,n)
Proyek
Kd_Pry
Lks_Pry Nm_Pry
Tgl_Lhr_Mj 6/26/2011
6/26/2011
Foreign-keys yang bisa ditentukan :
Conceptual Data Model menggunakan Power Designer
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
6/26/2011
Pada gambar ERD yang dihasilkan, terdapat relasi many-to-many yaitu,
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
Physical Data Model menggunakan Power Designer
antara Pegawai dan Proyek.
6/26/2011
6
6/26/2011
References
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
http://www.prenhall.com/divisions/bp/app/hoffer/oracle/tutorial/lesso n5/page1.html http://www.cit.cornell.edu/atc/materials/old/dbdesign/erd.shtml http://infocom.cqu.edu.au/Courses/spr2000/95169/Extra_Examples/ ERD.htm
6/26/2011
Gambar ER-Diagram dari contoh : Nm_MK
SKS
Kd_MK
(1,1)
Mata Kuliah
dijadwalkan
(1,1)
Mahasiswa
(0,n)
Kartu Studi
(1,n)
Kelas
NIM Alm_Mhs
Nama_kls Kd_Kls
Nm_Mhs TTL
Thn_Akdm
Nilai
Semester
6/26/2011
Many to Many ERD
6/26/2011
7