Copyright © Data Nyamana
Design by Dzignine
Tuesday 25 September 2012

Entity Relationship Model

Sebelum kita dapat membangun sebuah database, pertama kali yang kita lakukan adalah merancang struktur basis data tersebut. Jika basis data yang kita buat tidak dirancang secara benar, maka data yang kita miliki akan kacau, sehingga kita pun akan kesulitan dalam mengelolanya.

Dalam merancang basis data kita pun harus memodelkan data yang ada. Tujuannya agar dalam penyajian data menjadi lebih mudah karena datanya lebih terstruktur. Selain itu proses perancangannya juga akan menjadi lebih mudah.

Salah satu metode untuk merancang suatu basis data yang banyak digunakan adalah dengan Entity Relationship Model. Apa itu Entity Relationship Model?

Entity Relationship Model : adalah model untuk mendeskripsikan isi suatu basis data dalam bentuk entitas, atribut, dan relationship antar entitas.

Entity Relationship Model (Model E-R) diperkenalkan pada tahun 1976 oleh P.P. Chen. Walaupun sudah agak 'kuno', tetapi Model E-R ini termasuk sangat efektif dalam memvisualisasikan apa yang ada dalam pikiran si pemakai basis data. Hal ini dikarenakan Model E-R terdiri dari objek-objek dasar berupa entitas yang dapat merepresentasikan data yang ada. Dimana entitas tersebut memiliki suatu atribut dan dapat berhubungan dengan entitas lain melalui relationship.

Model E-R ini sifatnya masih konseptual sehingga belum bisa diimplementasikan secara langsung ke dalam basis data yang sebenarnya. Fungsi dari Model E-R sendiri yaitu untuk menjembatani objek-objek nyata dengan basis data.

Nah, apabila kumpulan entitas dalam Model E-R kita hubung-hubungkan lengkap dengan Atribut dan Relationshipnya, maka kita akan mendapatkan Entity Relationship Diagram (ERD).

Entity Relationship Diagram : adalah diagram yang menggambarkan hubungan relationship antar entitas.

Entity Relationship Diagram dapat kita digunakan untuk mengekspresikan struktur logis dari suatu basis data dengan sederhana dan jelas. Hal ini dikarenakan ERD terdiri dari tiga bentuk diagram dasar, yaitu :
  • segi empat (merepresentasikan entitas),
  • elips/oval (merepresentasikan atribut),
  • garis (merepresentasikan hubungan)
Tiga bentuk dasar tersebut kemudian dapat dikembangkan menjadi bentuk lain, untuk merepresentasikan sifat yang berbeda.

Berikut adalah notasi-notasi yang digunakan dalam Entity Relationship Diagram (ERD)

Notasi-notasi pada Entity Relationship Diagram

  • Entitas : merupakan objek di dunia nyata yang memiliki atribut dan dapat dibedakan dengan objek lain. Objek tersebut juga seringkali memiliki hubungan tertentu dengan objek lain. Contoh: mahasiswa, karyawan, barang, dll. Entitas dinotasikan dengan bentuk segi empat.

  • Set Entitas : merupakan kumpulan entitas-entitas yang memiliki atribut yang sama.

  • Atribut : merupakan properti yang membedakan entitas satu dengan entitas yang lain. Setiap entity haruslah memiliki satu atribut yang unik (tidak dimiliki entity lain) agar bisa dibedakan. Atribut dinotasikan dengan bentuk elips / oval.

    Atribut sendiri terdiri dari beberapa jenis, yaitu :
    • atr. sederhana : adalah atribut yang terdiri dari satu komponen tunggal yang tidak bisa diuraikan menjadi komponen lebih kecil. Misal: NIM.

    • atr. komposit : adalah atribut yang terdiri dari beberapa atribut yang lebih mendasar yang bisa diuraikan. Misal : atribut alamat terdiri dari atribut jalan, kodepos dan kota.

    • atr. bernilai tunggal : adalah atribut yang berisi maksimal satu nilai untuk setiap entitas. Misal : pada atribut jenis_kelamin, suatu entitas hanya bisa memiliki nilai laki-laki atau perempuan, tidak bisa keduanya.

    • atr. bernilai banyak : adalah atribut yang dapat memiliki sekumpulan nilai untuk satu entitas. Misal : pada atribut hobi, seseorang bisa saja memiliki lebih dari satu hobi sekaligus.

    • atr. derivatif : adalah atribut yang nilainya didapatkan dari nilai atribut lain. Misal : atribut usia dapat kita peroleh dari atribut tanggal_lahir. Yaitu dengan menghitung jarak antara tanggal lahir dengan tanggal hari ini.

  • Set Nilai (domain) : merupakan nilai yang dapat diisikan pada suatu atribut. Set nilai meliputi tipe data, panjang data, dll.

  • Relationship : merupakan hubungan antara entitas yang satu dengan entitas yang lain. Relationship dapat memiliki atribut apabila terjadi transaksi yang menghasilkan nilai. Relationship dinotasikan dengan bentuk belah ketupat.

  • Tingkat Cardinalitas : merupakan sesuatu yang menjelaskan jumlah keterhubungan suatu entitas dengan entitas yang lain. Tingkat Cardinalitas dapat menunjukkan jumlah maksimum hubungan suatu entitas.

    Tingkat Cardinalitas dapat dibagi menjadi 3, yaitu :
    • one to one : satu entitas pada himpunan A hanya dapat dihubungkan dengan maksimal satu entitas pada himpunan B, begitu juga sebaliknya.
    • One to One

      Contoh : Satu manager hanya bisa mengelola satu department dan sebaliknya, satu department hanya bisa dikelola oleh satu manager.

    • one to many / many to one : satu entitas pada himpunan A dapat dihubungkan dengan banyak entitas dalam himpunan B. Tetapi, entitas pada himpunan B hanya dapat dihubungkan dengan maksimal satu entitas pada himpunan A.
    • One to Many

      Contoh : Banyak karyawan dapat bekerja dalam satu department. Sebaliknya, satu department dapat memperkerjakan banyak karyawan.

    • many to many : suatu entity pada himpunan A dapat dihubungkan dengan banyak entitas pada himpunan B, begitu juga sebaliknya.
    • Many to Many

      Contoh : Satu karyawan dapat bekerja dalam banyak project. Sebaliknya, satu project dapat dikerjakan oleh banyak karyawan.
Langkah-langkah dalam membuat Entity Relationship Diagram
  1. Mengidentifikasi dan menetapkan entitas yang terlibat.
  2. Menentukan atribut dari setiap entitas.
  3. Menentukan atribut primary key dari setiap entitas.
  4. Menentukan relationship antara entitas satu dengan entitas yang lain.
  5. Menentukan atribut dari setiap relationship (jika ada).
  6. Menentukan tingkat cardinalitas.
  7. Menentukan participant constraint (batasan-batasan relationship).

4 comments: