Entity Relationship Diagram
Entity Relationship Diagram
Elemen-elemen ERD:
1. Entity (Entitas) Entity (entitas) adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak di
mana data tersimpan atau di mana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam 4 (empat) kelas, yaitu: role (peran), events (kejadian), locations (lokasi), tangible things / concepts (sesuatu yang tidak nyata / konsep). Contoh: pegawai, pembelian, kampus, buku, pembayaran. Contoh detil dari suatu entity (entitas) disebut instance. Contoh: pegawai bernama Dodo, Noni, Citra, dll
2. Relationship
Relationship adalah hubungan alamiah yang terjadi antara entitas. Contohnya: Entitas Mahasiswa dengan NIM = 14534 dan NamaMhs = Dodo yang mempunyai relasi dengan Entitas Kuliah dengan KodeKul = SI-140 dan NamaMK = Basis Data, sehingga struktur data dari Relasi ini bahwa mahasiswa tersebut mengambil mata kuliah pada suatu perguruan tinggi. Hubungan antara entitas akan menyangkut dua komponen yang menyatakan jalinan ikatan yang terjadi, yaitu: derajat (kardinalitas) dan partisipasi hubungan.
3. Atribut
Deskripsi kelompok data yang mempunyai karakteristik yang sama (data yang mendeksripsikan entity dan relationship), merupakan field yang akan disimpan.
Deskripsi
Entity Set
Relasi
Relationship set Penghubung atribut dengan entitas dan relasi dengan entitas
by Paramita Mayadewi
Hal. 1/19
Attribute
Attribute
Key Attribute
Attribute
Attribute
Multi-value Attribute
Attribute
Composite Attribute
Attribute Attribute
Attribute
Entitas
Relasi
Contoh:
NmMK Nama NIM Umur Mata Kuliah KdMK SKS
TgLhr
Mahasiswa
mengambil
Hobbi
Alamat
Jalan
Kota
KodePos
by Paramita Mayadewi
Hal. 2/19
jumlah anggota entitas yang terlibat di dalam relasi yang terjadi. Dalam hal ini relasi yang terjadi akan membentuk relasi hubungan ( relationship instances). Contoh: Seorang dosen paling banyak mengepalai satu jurusan, tetapi ada dosen yang tidak menjadi ketua jurusan relasi one to one (relasi 1:1) Seorang dosen bisa menerima honor beberapa kali, tetapi mungkin juga tidak menerima honor jika ia tidak mengajar relasi one to many (relasi 1:M) Seorang customer dapat membeli beberapa barang dan sebuah barang dapat dibeli oleh beberapa customer relasi many to many (relasi M:N) Pasangan antara anggota entitas A dan B dapat dilakukan sesuai dengan derajat hubungannya, yaitu relasi 1:1, 1:M atau relasi M:N
a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
E-R diagram antara entitas A dan B dengan derajat hubungan 1:1 dilukiskan dengan mencantumkan pada garis hubungan. Sedangkan instance hubungan antar anggota entitas yang terjadi adalah pasangan a2 b1, a3 b2 dan a4 b5. Sedangkan a1, a5, b3 dan b4 masingmasing tidak mempunyai pasangan. Dengan demikian dapat dikatakan bahwa derajat hubungan 1:1 mencakup juga 1:0 dan 0:1
B. Derajat hubungan 1: M
Derajat hubungan ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya tiap anggota entitas B hanya boleh berpasangan dengan satu anggota entitas A.
A
1 berpasangan m
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
by Paramita Mayadewi
Hal. 3/19
C.Derajat hubungan M : N
Derajat hubungan antar entitas m:n terjadi bila tiap anggota entitas A dapat berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota entitas B juga dapat berpasangan dengan lebih dari satu anggota entitas A.
m n
berpasangan
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
2.
menyatakan sifat keterlibatan tiap anggota entitas dalam relasi terjadinya hubungan. Partisipasi atau keterlibatan tiap anggota entitas dalam membentuk instance hubungan dapat bersifat wajib (mandatory) dan tidak wajib (non mandatory). Dalam pemodelan data, interpretasi jenis partisipasi hubungan dituliskan dalam aturan data. Contoh misal hubungan antara entitas DOSEN dan MATA KULIAH (MK) dengan aturan data sebagai berikut: Setiap dosen harus mengajar satu mata kuliah. Tiap mata kuliah harus diajarkan oleh seorang dosen. Diagram instance hubungan antar entitas DOSEN dan MK berdasarkan aturan di atas dapat dilukiskan seperti:
Amin Budi Maria Adi Jono Basis Data Algoritma Struktur Data Sistem Operasi Riset & Operasi
Dari diagram di atas dapat dilihat bahwa derajat hubungan antar entitas DOSEN dan MK adalah 1:1. Sedang partisipasi tiap anggota entitas dalam hubungan adalah wajib, baik untuk anggota entitas DOSEN ataupun entitas MK. Gambar digaram E-R nya:
1..1 1..1
DOSEN
mengajar
MK
atau
DOSEN
mengajar
MK
by Paramita Mayadewi
Hal. 4/19
Setiap dosen harus mengajar satu mata kuliah. Tiap mata kuliah mungkin diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.
DOSEN
mengajar
MK
atau
DOSEN
0..1 mengajar 1..1
MK
Seorang dosen harus boleh mengajar satu mata kuliah dan seorang dosen boleh tidak mengajar. Tiap mata kuliah harus diajarkan oleh seorang dosen.
1..1 0..1
DOSEN
mengajar
MK
atau
DOSEN
mengajar
MK
Seorang dosen hanya boleh mengajar satu mata kuliah dan boleh tidak mengajar. Tiap mata kuliah hanya boleh diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.
DOSEN
mengajar
MK
atau
DOSEN
0..1 mengajar 0..1
MK
by Paramita Mayadewi
Hal. 5/19
Identifikasi peran, kejadian/kegiatan, lokasi, hal abstrak/konsep yang datanya disimpan oleh end-user Tentukan hubungan antara sepasang entitas menggunakan relationship matriks. Gambarkan entitas-entitas dan relationship diantara entitas untuk menghubungkannya. Tentukan kardinalitas (pemunculan sutau entitas di entitas lainnya yang berhubungan) Identifikasi atribut data yang secara unik mengidentifikasi setiap entitas Sertakan primary key di setiap entitas Kumpulkan informasi detil yang penting dalam sistem yang sedang di kembangkan. Untuk setiap atribut, letakkan dalam satu entitas yang tepat. Cari juga atribut yang ada dalam relationship. Sesuaikan ERD hasil langkah 6 dengan entitas atau relationship hasil langkah 8 Apakah Entity Relationship Diagram akhir telah secara tepat mencerminkan data sistem ?
1.
Identifikasi Entitas
Entitas dalam sistem ini adalah Departemen, Pegawai, Supervisor dan Proyek. Seseorang mungkin saja membuat Perusahaan sebagai sebuah entitas, tetapi ini adalah entitas yang salah, karena hannya memiliki satu instance dalam permasalahan ini. Entitas yang benar harus memiliki lebih dari satu instance.
by Paramita Mayadewi Hal. 6/19
2.
Tentukan Relationship
Departemen Departemen Pegawai Supervisor Proyek
Bekerja di Memimpin Menggunakan
Pegawai
Memiliki
Supervisor
Dipimpin oleh
Proyek
Bekerja dalam
3.
Kita menghubungkan entitas yang mempunyai relasi seperti yang ditunjukkan pada matriks relasi entitas.
Departemen
dipimpin oleh
Supervisor
memiliki
Pegawai
bekerja dalam
Proyek
4.
Tentukan Kardinalitas
Berdasarkan deskripsi permasalahan, dapat diketahui bahwa: Setiap Departemen dipimpin oleh satu Supervisor Seorang Supervisor hanya memimpin satu Departemen Setiap Departemen memiliki paling sedikit satu Pegawai Setiap Pegawai bekerja paling sedikit pada satu Departemen Setiap Proyek paling sedikit melibatkan satu orang Pegawai Seorang Pegawai dapat terlibat dalam beberapa Proyek atau bahkan tidak sama sekali.
by Paramita Mayadewi
Hal. 7/19
Departemen
dipimpin oleh
Supervisor
memiliki
Pegawai
bekerja dalam
Proyek
5.
Kunci utama (primary keys) adalah Nama Departemen (NmDept), Nomor Supervisor (NoSpv), Nomor Pegawai (NoPeg) dan Nomor Proyek (NoPryk)
6.
Departemen
dipimpin oleh
Supervisor
memiliki
Pegawai
bekerja dalam
Proyek
NoPeg
NoPryk
by Paramita Mayadewi
Hal. 8/19
7.
Menentukan
Atribut
Atribut yang diperlukan adalah Nama Departemen, Nama Proyek, Nama Supervisor, Nama Pegawai selain Primary Keys.
8.
Pemetaan
Atribut
NmDept NoPryk NmPryk NoPeg
Atribut
Entitas
Departemen Proyek Proyek Pegawai
Atribut
NmPeg NoSpv NmSpv
Entitas
Pegawai Supervisor Supervisor
Atribut
MasaJab MasaKerja MasaKrjPryk
Entitas
Dipimpin oleh Memiliki Bekerja dalam
9.
Departemen
dipimpin oleh
Supervisor
MasaKerja
memiliki MasaKrjPryk
Pegawai
bekerja dalam
Proyek
NoPeg
NmPeg
NoPryk
NmPryk
Jika ada suatu relationship (hubungan antara 2 entitas) yang tidak digambarkan atributnya, hal ini berarti relationship tersebut hanya memiliki atribut minimal, yaitu atribut yang berasal dari key atribut 2 entitas yang dihubungkannya.
by Paramita Mayadewi Hal. 9/19
Contoh:
NmPeg NIP NoSK
TglSK
Pegawai
mendapat
SK Kenaikan Jabatan
Dalam contoh tersebut tidak digambarkan adanya atribut dalam relationship mendapat. Hal ini berarti relationship mendapat hanya memiliki atribut minimal, yaitu NIP dan NoSK.
by Paramita Mayadewi
Hal. 10/19
Mahasiswa
Tabel MAHASISWA
NIM
3304123 3304124 3304235 3304236 3304240
NmMhs
Anindyaswari Pradnya Duhita Pradnya Rafif Pradipta Hafiz Wisnupratomo Annisa
AlmtMhs
Jl. Mutiara 1, Bandung 41234 Jl. Emas 10, Bandung 42345 Jl. Surabaya 123, Jakarta 55123 Jl. Magelang 45, Jakarta 56789 Jl. Susilo 303, Jakarta 55190
Hobby
Badminton Berenang Badminton Berenang Sepak Bola Berenang Berenang Membaca
by Paramita Mayadewi
Hal. 11/19
Atribut Turunan adalah atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan
Atribut Turunan
Tabel MAHASISWA
NIM
3304240 Annisa
NmMhs
AlmtMhs
Jl. Susilo 303, Jakarta 55190
Hobby
Berenang Membaca
Angkatan
2004
Mahasiswa
Alamat
Kota
KodePos
Mahasiswa
by Paramita Mayadewi
Hal. 12/19
NIM
3304123
NmMhs
Anindyaswari Pradnya Duhita Pradnya
AlmtMhs
Jl. Mutiara 1, Bandung 41234 Jl. Emas 10, Bandung 42345
Hobby
Alamat
Jl. Mutiara 1 Jl. Emas 10
Kota
Bandung Bandung
KodePos
41234 42345 .
CATATAN: penggunaan atribut komposit, biasanya didasarkan pada pengolahan data pada tabel
by Paramita Mayadewi
Hal. 13/19
Terjadi bila setiap pegawai memperoleh rumah dinas dan tidak ada rumah dinas yang tidak dihuni oleh pegawai.
Alamat AlmtPeg NoRD Tipe
NmPeg NIP
PEGAWAI
menghuni
Rumah Dinas
by Paramita Mayadewi
Hal. 14/19
Skema relasi yang terbentuk terdiri dari 2 relasi yang dihasilkan dari 2 entitas, dimana key atribut (identitas) entitas pertama harus diletakkan sebagai atribut kunci tamu ( foreign key) dari entitas kedua atau sebaliknya. Skema Relasi: Pegawai(NIP, NmPeg, AlmtPeg, NoRD) RumahDinas(NoRD, Alamat, Tipe) atau Pegawai(NIP, NmPeg, AlmtPeg) RumahDinas(NoRD, Alamat, Tipe, NIP) CATATAN: Peletakan key atribut salah satu entitas boleh dibalik, karena tidak akan menghasilkan null value (nilai null).
Misal persediaan rumah dinas bagi pegawai tidak mencukupi, sehingga terdapat pegawai yang tidak mendapatkan rumah dinas.
NmPeg NIP AlmtPeg NoRD Alamat Tipe
PEGAWAI
menghuni
Rumah Dinas
Skema relasi yang terbentuk terdiri dari 2 relasi yang dihasilkan dari 2 entitas, dimana key atribut entitas yang memiliki partisipasi wajib ( mandatory) harus diletakkan sebagai atribut kunci tamu (foreign key) dari entitas yang memiliki partisipasi tidak wajib ( non mandatory).
PERHATIKAN !! Dalam kasus ini peletakan key atribut (identitas) yang berfungsi sebagai relasi tidak boleh dibalik karena akan menghasilkan null value.
Skema Relasi: Pegawai(NIP, NmPeg, AlmtPeg) RumahDinas(NoRD, Alamat, Tipe, NIP)
Terjadi dalam kasus tidak semua pegawai mendapatkan fasilitas rumah dinas, dan tidak semua rumah dinas dihuni oleh karyawan (misal terdapat rumah dinas yang digunakan sebagai guess house) Skema relasi yang terbentuk terdiri dari 3 relasi yang dihasilkan dari 2 entitas, dimana relasi menghuni antara 2 entitas Pegawai dan Rumah Dinas menjadi calon tabel (hal ini dilakukan untuk menghindari adanya null value). Key atribut yang ada pada relasi menghuni merupakan key atribut gabungan dari 2 entitas Pegawai dan rumah Dinas.
by Paramita Mayadewi
Hal. 15/19
NoRD
PEGAWAI
menghuni
Rumah Dinas
Skema Relasi: Pegawai(NIP, NmPeg, AlmtPeg) RumahDinas(NoRD, Alamat, Tipe) Menghuni(NIP, NoRD, TgHuni)
2. Representasi Hubungan 1 : m
Dalam kasus ini diambil contoh hubungan antar karyawan dan ruang kerja pada suatu kantor. Dalam aturan data ditentukan bahwa setiap ruang kerja ditempati oleh lebih dari satu karyawan dan setiap karyawan tidak mungkin menempati lebih dari satu ruang kerja.
Misal dalam hubungan antara dosen dan mata kuliah ditentukan bahwa setiap dosen paling tidak mengajar satu atau lebih matakuliah. Dan setiap mata kuliah diajar oleh seorang dosen.
NmMK KdMK KdDosen SKS
NmDosen
DOSEN
mengajar
Mata kuliah
Dalam kasus ini, key atribut (identitas) dari entitas yang berderajat 1 (yang memiliki kardinalitas 1) dijadikan kunci tamu (foreign key) pada entitas yang memiliki kardinalitas m. PERHATIKAN!!, jika dilakukan sebaliknya, yaitu key atribut yang berkardinalitas m dijadikan kunci tamu pada entitas yang memiliki kardinalitas 1 akan menyalahi aturan primary key. Skema Relasi: Dosen(KdDosen, NmDosen, KdMK) MataKuliah(KdMK, NmMK, SKS)
by Paramita Mayadewi
Hal. 16/19
Misal, tidak semua mata kuliah di ajar oleh seorang dosen. Dalam hal ini, jika penyajian tabel hubungan entitas dilakukan dengan menempatkan identitas entitas pada sisi 1 sebagai identitas tamu pada entitas sisi m, maka akan terjadi atribut dengan nilai kosong. Untuk menyelesaikan masalah ini maka ditempuh dengan membuat tabel hubungan tersendiri, yaitu tabel Menempati yang mempunyai atribut identitas kedua tabel yang dihubungkan.
NmMK KdMK KdDosen SKS
NmDosen
DOSEN
mengajar
Mata kuliah
3. Representasi Hubungan M : N
Dalam kasus derajat hubungan antar entitas m:n, penyajian tabel entitas tidak memperhatikan jenis partisipasi anggota entitas. Misal: hubungan antara entitas barang dengan entitas pemasok dengan hubungan memasok. Pada hubungan ini ditentukan bahwa setiap pemasok dapat memasok lebih dari satu barang. Dan setiap barang dapat dipasok oleh lebih dari satu pemasok.
NmBrg Warna
PEMASOK
memasok
BARANG
Penyajian tabel entitas dengan menempatkan identitas suplier (KdSupp) pada tabel entitas Barang sebagai identitas tamu akan menghasilkan nilai data rangkap. Demikian juga bila dilakukan dengan menempatkan identitas barang (KdBrg) sebagai identitas tamu pada tabel Pemasok. Oleh karena itu hubungan kedua tabel tersebut disajikan dengan tabel hubungan Memasok yang mempunyai atribut identitas KdSupp dan KdBrg sebagai identitas bersama.
by Paramita Mayadewi
Hal. 17/19
Skema Relasi: Pemasok(KdSupp, NmSupp, AlmSupp) Barang(KdBrg, NmBrg, Warna) Memasok(KdSupp, KdBrg, JumlahBrg)
UNARY RELATIONSHIP
Dalam kasus tertentu pada suatu entitas, terdapat hubungan intern ( recursive relations) antar anggota entitas.
1. Representasi Hubungan 1 : 1
Misal; dalam satu perusahaan, mungkin saja terdapat dimana seorang pegawai menikah sesama rekan kerjanya (pegawai juga). Dalam kasus tersebut, terdapat hubungan intern dengan derajat 1:1 dan jenis partisipasinya tidak wajib (karena tidak semua pegawai menikah dengan rekan sekerjanya).
NmPeg AlmPeg NIP
PEGAWAI
KAWIN
Identitas tabel Pegawai adalah NIP. Sedangkan identitas tabel hubungan Kawin mempunyai atribut dua identitas pegawai suami dan istri, yang tidak lain adalah identitas entitas pegawai. Skema Relasi: Pegawai(NIP, NmPeg, AlmPeg) Kawin(NIPSuami, NIPIstri, TgNikah)
2. Representasi Hubungan 1 : M
Misal dalam lingkungan kerja suatu perusahaan terdapat daftar karyawan. Dalam pelaksanaan pekerjaan tentunya terdapat karyawan yang menduduki jabatan pimpinan dari sejumlah karyawan. Salah satu tugas pimpinan adalah melakukan supervisi para karyawan yang menjadi anak buahnya. Dalam hal ini terdapat hubungan 1:m antara pimpinan karyawan dan anak buahnya.
by Paramita Mayadewi
Hal. 18/19
PEGAWAI
Supervisi
Dalam kasus ini, penyajian tabel entitas hanya terdapat satu tabel. Hal ini dikarenakan terdapat jenis partisipasi wajib pada sisi m (tiap pegawai harus ada supervisinya, dan pimpinan tertinggi mensupervisi dirinya sendiri) Skema Relasi: Pegawai(NIP, NmPeg, AlmPeg, KdSpv)
3. Representasi Hubungan M : N
Misal dalam kemahasiswaan di suatu fakultas akan dibentuk tim olah raga. Ditentukan bahwa setiap mahasiswa boleh menjadi anggota lebih dari satu jenis tim. Dalam satu jenis olah raga harus ada ketua tim, dimana ketua tim hanya boleh dipegang oleh seorang mahasiswa. Seorang mahasiswa yang telah menduduki ketua tim boleh menjadi anggota tim olah raga yang lain. Dalam kasus tersebut, terdapat hubungan intern antara mahasiswa yang tergabung dalam tim olah raga.
NmMhs AlmMhs NIM
MAHASISWA
Tim OR
by Paramita Mayadewi
Hal. 19/19