Minggu, 02 Januari 2011

Contoh Relationship Pada Basis Data

Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data.

Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan.

Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu.

Konsep paling dasar di model ER adalah entitas, relationship dan atribut.
Komponen-komponen utama model ER adalah:

a. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti
dari entitas dan relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.

 
Entitas (Entity) dan Himpunan Entitas (Entitas Sets)

Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.

Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.

Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan dalam himpunan entitas dokter.

Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan entitas saja.

Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan entitas
.
Kunci Entitas

Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property minimal.
Atribut (Atributes/Properties)

Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut.

Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.
Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)

Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.

Misalnya, entitas seorang mahasiwa dengan
nim = ‘980001’ dan
nama_mhs = ‘Ali Akbar’ (yang ada di himpunan entitas Mahasiswa)

mempunyai relasi dengan entitas sebuah mata kuliah dengan

kode_kul=’IF-110’ dan
nama_kul=’Struktur Data’.

Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau.

Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja.

Kardinalitas/derajat Relasi

Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.

Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :

a. Satu ke satu (One to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

b. Satu ke Banyak (one to many),
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.

d. Banyak ke Banyak (Many to Many)
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.

Diagram Entity-Relationship (ER)

Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasi simbolik di dalam Diagram ER yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan Entitas.
2. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi sebagai key digaris bawahi).
3. Belah ketupat, menyatakan Himpunan Relasi.
4. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan atributnya.
5. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N untuk relasi one to many atau N dan N untuk relasi many to many).
Contoh diagram ER :

Tahap Pembuatan Diagram ER

Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :

a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
- Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
- Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem database yang dirancang, karena attribute ini sangat menentukan nantinya dalam proses relasi. Attribute merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya adalah menentukan field kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa, attribute nobp bisa dijadikan field kunci, karena bersifat unik dan tidak ada mahasiswa yang mempunyai nobp sama.
- Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya.
Setelah menentukan entity dan attribute beserta field kuncinya, maka selanjutnya adalah menentukan entity yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah field kunci utama pada tabel lain, dan field tersebut digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah
field kunci dari entity mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka keberadaan attribute nobp pada entity mengajar disebut sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat menentukan kualitas system database yang dirancang.
- Menentukan derajat relasi untuk setiap himpunan relasi.
Setelah semua entity dan attribute yang dibutuhkan terbentuk, maka selanjutnya adalah menentukan derajat relasi antar entity tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau banyak ke banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data
- Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).
contoh ER diagram : 
er_diagram

Entity Relationship Model

Model data entity relationship (E-R) adalah berdasarkan pada persepsi dari dunia nyata yang
terdiri dari sekumpulan objek – objek dasar yang desebut entity, dan relationship antara objek – objek
tersebut. Pembentuk Model E-R (Entity Relationship) pada dasarnya terdiri dari 2 komponen, yaitu Entiti (Entity) / entitas dan Relasi (Relation) atau hubungan.

Entiti
     Merupakan suatu objek yang dapat diidentifikasi secara unik dalam lingkungan
pemakai, suatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat.
     Sekelompok entiti yang sejenis dan berada dalam lingkup yang sama membentuk
sebuah Himpunan Entiti.



contoh    Himpunan Entiti Mahasiswa

 
NPM
Nama
Alamat
Tgl Lahir
980001
Ali Akbar
Jl. Merdeka No.10, Jakarta 40121
02-01-1979
980002
Budi Haryanto
Jl. Gajah Mada No.2, Jakarta 45123
06-10-1978
980003
Rini Susanti
Jl. Adil No.123, Bogor 43123
27-07-1977

Gambar 8.4. Himpunan entiti mahasiswa
Atribut

Merupakan elemen bagian dari entiti yang berfungsi menjelaskan karakter entiti.
Contoh dalam Entiti Mahasiswa ada atribut : Nim, Nama, Alamat, Telpon dan Tgl Lahir.
Dimana Nim merupakan PK (Primery Keys) dan Nama, Alamat, Telpon dan Tgl Lahir
merupakan atribut Deskriptif.

Relasi / Hubungan
Relasi menunjukkan adanya hubungan di antara sejumlah entiti yang berada dalam
sejumlah himpunan entiti yang berbeda. Misalkan himpunan entiti Mahasiswa berhubungan
dengan himpunan entiti Matakuliah.
Himpunan Relasi : kumpulan semua relasi diantara entiti – entiti yang terdapat pada
himpunan entiti – himpunan entiti tersebut. Istilah Himpunan relasi jarang digunakan, dan lebih
sering disingkat dengan Relasi saja.

Varian Relasi
Relasi berfungsi menghubungkan antar entiti. Entiti yang berelasi tidak hanya terdiri
dari dua relasi saja. Tetapi entiti bisa berelasi dengan dirinya sendiri atau berelasi lebih dari 2
entiti. Relasi ini dapat dikelompokkan menurut varian sebagai berikut :
  1. Relasi Unary
Relasi yang terjadi dari sebuah himpunan entiti ke himpunan entiti yang sama. Sering
disebut sebagai Relasi Tunggal. Misalkan relasi yang terjadi pada Pasien dan Syarat. Relasi
ini menunjukkan adanya persyaratan menjadi pasien rawat inap. Misalkan pasien hanya boleh
mengikuti rawat inap bila telah terdaftar menjadi pasien rawat jalan.
Gambar 8.5. Relasi Unary

      2.     Relasi Binary

Relasi yang terjadi dari dua himpunan entiti. Relasi ini kerap terjadi dan paling banyak
digunakan. Conto relasi biner adalah relasi antara Pasien dengan Obat.

      3.   Relasi Treenary

Relasi yang terjadi dari hubungan3 (tiga) buah entiti. Contoh relasi ini adalah
hubungan antara Pasien, Tindakan dan Dokter.
Gambar 8.7. Relasi Treenary


      4.    Relasi N-nary

Relasi yang menghubungkan lebih dari 3 (tiga) buah entiti, dimasukkan dalam relasi
multi entiti. Bentuk relasi semacam ini sedapat mungkin dihindari karena akan mengaburkan
derajat relasi yang ada dan juga akan menyebabkan desain databasenya semakin kompleks.


Kardinalitas Relasi Biner

Model relasi entiti didasarkan pada persepsi dunia nyata yang terdiri dari himpunan
obyek dasar yang disebut entiti dan relasi antar entiti. Entiti dapat diartikan suatu obyek yang
dapat diidentifikasi secara unik, obyek dapat berupa orang, benda, peristiwa dan lainnya.
Entiti dikarakteriasi dan direpresentasikan dengan suatu gugus atribut. Contoh atribut
dari Mahasiswa adalah : Nim, Nama, Alamat, Telpon, Tgl Lahir dan lainnya.
Sekelompok entiti yang mempunyai karakteristik entiti yang sama disebut Himpunan Entiti.
Contoh himpunan entiti adalah, himpunan entiti Kustomer, himpunan entiti Rekening,
himpunan entiti Bank, dan lainnya. Dari beberapa himpunan tadi mungkin terjadi relasi,
misalkan relasi Kustomer dengan Rekening ( Kustomer mempunyai rekening )
Khusus Relasi Biner, relasi antar anggota dari dua himpunan entiti yang terlibat dapat
bersifat :

Relasi 1-1 ( one to one relationship )

Setiap entiti dari suatu himpunan entiti tertentu diasosiasikan atau direlasikan dengan tepat
satu entiti dari himpunan yang lain.
R1 = Mempunyai
Gambar 8.8.

Relasi 1 – m ( one to many relationship )

Setiap entiti dari suatu himpunan entiti direlasikan dengan satu atau lebih entiti anggota
himpunan yang lain. Sebaliknya satu entiti himpunan yang lain direlasikan tepat dengan satu
entiti anggota himpunan pasangannya.
R1 = Mempunyai
Gambar 8.9. Relasi 1 – m

 
Relasi m - n ( many to many relationship )

Setiap entiti dari suatu himpunan entiti direlasikan dengan satu atau lebih entiti dari himpunan
yang lain dan berlaku pula sebaliknya.
R1 = Pinjam
Gambar 8.10. Relasi m – n

Sifat ketiga relasi tersebut disebut sebagai kardinalitas relasi biner. Alat bantu yang banyak
dipakai dalam mendiskripsikan pola hubungan (relasi) antar entiti adalah Entity Relationship
Diagram atau Diagram Relasi Entiti atau lebih sering disingkat dengan ERD.

Entity Relationship Diagram ( ERD )

ERD berisi komponen - komponen himpunan entiti dan himpunan relasi yang masing -
masing dilengkapi dengan atribut – atribut yang merepresentasikan seluruh fakta dari “ dunia
nyata “.
Nomor Simbol Nama Simbul
1. ENTITI
Digunakan untuk menggambarkan obyek yang
dapat diidentifikasi dalam lingkungan pemakai.
2. ATRIBUT
Untuk menggambarkan elemen – elemen dari
suatu entiti, yang menggambarkan karakter
entiti.
 3. HUBUNGAN
Menggambarkan relasi ( hubungan ) antar entiti
4. GARIS
Digunakan untuk menghubungkan entiti dengan
entiti, atau entiti dengan atribut.
Gambar 8.11. Notasi – notasi dalam ERD
Berikut ini dalah contoh penerapan model ER yang dapat ditaungkan kedalam Diagram – ER (
ERD ) :

Hubungan (relasi) antar tabel yang terjadi pada ERD tersebut diatas adalah sebagai berikut :
Relasi Dosen dengan Matakuliah adalah one to many, dengan pengertian bahwa
seorang dosen bisa mengajarkan satu atau lebih matakuliah.
Relasi Mahasiswa dengan Matakuliah adalah many to many, dengan pengertian bahwa
seorang mahasiswa bisa mempelajari satu atau lebih matakuliah, demikian juga untuk
sebaliknya, bahwa satu matakuliah bisa dipelajari oleh satu atau lebih mahasiswa.
Diagram – ER (ERD / entity relationship diagram) tersebut diatas dapat dituangkan kedalam
kamus data berikut ini :
Kamus Data :

Mahasiswa = { Nim, nama, alamat, telp, tglhir }
Matakuliah = { Kode, namamk, sks, smester }
Dosen = { NID, namads, alamatd, telpon }
Mempelajari = { Nim, Kode, nilai }
Mengajar = { NID, Kode, hari, waktu }

Gambar 8.13. Contoh ERD dengan kamus data
Primary key untuk masing – masing entiti tersebut diatas adalah sebagai berikut :
Entiti mahasiswa = nim, karena pasti unik, tidak mungkin nim : mhs0001 misalkan
dipakai oleh lebih dari 2 orang mahasiswa.
Entiti matakuliah = kode, karena pasti unik, tidak mungkin kode matakuliah : mk001
misalkan dipakai oleh lebih dari 2 matakuliah.
Entiti dosen = nid, karena pasti unik, tidak mungkin nid : ds0001 misalkan dipakai
oleh lebih dari 2 orang dosen.
Entiti mempelajari = nim dan kode ( dimana kedua atribut tersebut adalah sebagai
foreign key jadi dua atribut tersebut bisa dijadikan primary key pada entiti
mempelajari, karena tidak ada satu atribut yang menyatakan unik pada entiti tersebut.
Entiti mengajar = nid dan kode ( dimana kedua atribut tersebut adalah sebagai
foreign key jadi dua atribut tersebut bisa dijadikan primary key pada entiti mengajar,
karena tidak ada satu atribut yang menyatakan unik pada entiti tersebut.
Berikut ini adalah implementasi pembentukan ERD (entity relationship diagram)
tersebut dengan menggunakan software ERWIN (Entity relationship for windows) Erx.3.0
Gambar 8.14. Contoh ERD dengan ERWIN ERX.3.0

3 komentar: