Menurut Connolly dan Begg (2010:371), entity relationship modelling merupakan pendekatan top-down untuk database design yang dimulai dari mengidentifikasi data penting yang dinamakan entitas, serta hubungan antar datanya yang direpresentasikan di dalam model.
Menurut Connolly dan Begg (2010:371-396), Konsep dasar dari ER model terdiri dari beberapa bagian, yaitu:
•••• Entity Type
Connoly dan Begg (2010:372) menyebutkan entity type sebagai kumpulan objek-objek yang memiliki sifat yang sama, dimana sifat tersebut diidentifikasi oleh perusahaan memiliki keberadaan yang independen. Tipe entitas merupakan salah satu konsep dasar dari model ER yang merepresentasikan kumpulan dari objek yang memiliki sifat yang sama. Contoh dari tipe entitas misalnya mahasiswa dimana merupakan representasi dari sekumpulan orang yang mempunyai ciri-ciri belajar di suatu universitas tertentu.
Gambar 2.4 Representasi diagram dari tipe entitas Staff dan Branch (Connolly dan Begg, 2010:374)
•••• Relationship Types
Menurut Connoly dan Begg (2010: 374), Relationship Type merupakan sekumpulan hubungan antara satu atau lebih tipe-tipe entitas dimana tiap tipe entitas diberikan nama yang menjelaskan fungsinya. Sedangkan relationship occurrence adalah asosiasi yang teridentifikasi secara unik, dimana setiap tipe entitas yang berpartisipasi terlibat satu kejadian. Suatu relationship direpresentasikan sebagai garis yang menghubungkan antara satu tipe entitas dengan entitas lainnya. Garis tersebut diberi nama sesuai dengan hubungannya dan diberi tanda panah satu arah disamping nama hubungannya.
Gambar 2.5 Contoh relationship types Branch has Staff (Connolly dan Begg, 2010:376)
Setiap entitas yang terlibat di relationship type tertentu dinamakan participant, dan jumlah partisipan di dalam relationship type dinamakan degree di dalam hubungan tersebut. Sebuah relationship berderajat dua disebut binary, relationship, sedangkan berderajat tiga disebut dengan ternary; dan relationship berderajat empat disebut dengan quartenary.
Gambar 2.6 Contoh Atribut dalam entitas Staff dan Branch (Connolly dan Begg, 2010:382)
Menurut Connolly dan Begg (2010: 379), atribut merupakan suatu sifat dari sebuah entitas atau sebuah relationship type. Attribute domain merupakan kumpulan nilai yang diijinkan untuk satu atau lebih atribut dan setiap atribut mempunyai attribute domain. Klasifikasi dari atribut terdiri dari dibawah ini:
1. Simple Attribute, yaitu atribut yang terdiri dari suatu komponen tunggal dengan keberadaan yang independent. Simple Attribute tidak dapat dibagi menjadi lebih kecil lagi dan disebut juga sebagai atomic attribute. 2. Composite Attribute, yaitu atribut yang terdiri dari banyak komponen,
dimana masing – masing komponen mempunyai keberadaan yang independent. Sebagai contoh atribut alamat dapat dibagi menjadi kota, jalan, dan kode pos.
3. Single-Valued Attribute, yaitu atribut yang hanya mempunyai nilai tunggal untuk setiap kejadian dari tipe entitas. Sebagai contoh untuk tipe entitas mahasiswa hanya mempunyai satu atribut nomor induk. 4. Multi-Valued Attribute, yaitu atribut yang memiliki beberapa nilai dari
setiap kejadian. Sebagai contoh untuk tipe entitas mahasiswa dapat mempunyai atribut nomor telepon lebih dari satu.
5. Derived-Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut – atribut lainnya, dan tidak harus berasal dari satu entitas.
6. Keys, yang terdiri dari tiga jenis yaitu candidate keys, primary keys, dan composite keys. Candidate keys merupakan sekumpulan atribut yang masing-masing nilai mengidentifikasi secara unik setiap kejadian
entitas. Primary keys adalah key unik yang dipilih untuk mengidentifikasikan suatu entitas. Composite keys adalah key yang terdiri dari dua atau lebih atribut.
• Strong Entity and Weak Entity
Menurut Connolly dan Begg (2010:383), suatu entitas dapat dikategorikan menjadi strong entity dan weak entity. Strong Entity adalah suatu entitas yang keberadaannya tidak bergantung dengan entitas lainnya. Sedangkan Weak Entity adalah entitas yang keberadaannya bergantung pada entitas yang lain. Contoh dari strong entity misalnya entitas Staff yang dapat berdiri sendiri tidak bergantung dengan entitas lainnya sedangkan contoh dari weak entity misalnya entitas purchase order detail dimana entitas tersebut bergantung kepada entitas purchase order dan entitas item.
• Attributes on relationships
Relationship type yang terasosiasi dengan entitas dapat mempunyai suatu atribut. Cara untuk membedakan atribut relasi dengan atribut entitas adalah dari kotak dibuat yang dihubungkan dengan garis putus-putus dan kemudian disambungkan diantara hubungan entitas.
• Structural constraints
Merupakan batasan yang mencerminkan kejadian sebenarnya dari setiap entitas. Tipe utama batasan dalam hubungan disebut sebagai multiplicity. Multiplicity adalah kemungkinan jumlah atau jarak dari kejadian suatu entitas yang berhubungan dengan kejadian entitas yang terasosiasi melalui relasi tertentu. Multiplicity dibagi menjadi dua bagian yang dikenal sebagai cardinality dan participation.
Cardinality menunjukkan angka atau jarak maksimal dari kemungkinan kejadian hubungan dari entitas yang berpartisipasi sedangkan participation menentukan jumlah kejadian entitas di dalam suatu hubungan. Suatu multiplicity dapat dibagi menjadi tiga jenis, yaitu:
Gambar 2.7 Contoh hubungan one-to-one 1:1 (Connolly dan Begg, 2010:386)
- One-to-many 1:* relationship
Gambar 2.8 Contoh hubungan one-to-many 1:* (Connolly dan Begg, 2010:388)
- Many-to-many *:* relationship
Gambar 2.9 Contoh hubungan many-to-many *:* (Connolly dan Begg, 2010:389)
2.1.13 Normalisasi
Menurut Connoly dan Begg (2010:416) normalisasi merupakan suatu teknik untuk menghasilkan sejumlah relasi table dengan properties yang diinginkan yang sesuai dengan persyaratan data dari perusahaan. Normalisasi dapat juga disebut teknik dalam perancangan logical sebuah basis data, yakni teknik pengelompokan
atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redundansi).
Dengan kata lain normalisasi merupakan proses mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud tersebut itu sering disebut dengan istilah anomali. Anomali merupakan kejadian yang tidak diharapkan yang menyebabkan ketidak konsistenan data dan muncul dalam proses perancangan database.
2.1.13.1 Tujuan Normalisasi
Menurut Connolly dan Begg (2010:416) tujuan dari dilakukannya normalisasi adalah untuk mengidentifikasi kumpulan dari relations yang mendukung persyaratan data dari suatu perusahaan. Karakteristik dari kumpulan relations yang cocok digunakan meliputi hal-hal berikut ini:
- Jumlah minimal dari atribut yang dibutuhkan untuk mendukung persyaratan data perusahaan.
- Atribut dengan hubungan logical yang dekat diletakkan dalam satu relations yang sama
- Redudansi yang minimal, dimana tiap atribut hanya direpresentasikan sekali, kecuali atribut yang digunakan sebagai foreign keys.
2.1.13.2 Proses Normalisasi
Connolly dan Begg (2010: 428-438) menyatakan bahwa proses normalisasi dapat dibagi menjadi beberapa tingkatan, yang biasanya terdiri dari tingkatan-tingkatan dibawah ini :
1. Unnormalized Form (UNF)
Unnormalize Form (UNF) adalah sebuah tabel yang mengandung satu atau lebih kelompok data yang berulang.
2. First Normal Form (1NF)
First normal form (1NF) adalah suatu relasi dimana persimpangan dari setiap baris dan kolom hanya mengandung satu nilai. Terdapat dua pendekatan umum untuk mengubah tabel UNF ke 1NF, antara lain :
- Pendekatan pertama dimulai dari menempatkan data yang tidak berulang ke dalam suatu kolom dan baris yang kosong sehingga menghasilkan tabel dengan nilai tunggal.
- Pendekatan kedua dengan cara menempatkan data yang berulang bersamaan dengan copy dari key attributes aslinya di suatu relasi yang terpisah karena terkadang unnormalized table mengandung kumpulan pengulangan dalam grup pengulangan, sehingga penempatan data harus dilakukan berulang-ulang sampai tidak ada kumpulan data berulang yang tersisa.
Hasil dari normalisasi 1NF masih bisa menyebabkan update anomalies, sehingga diperlukan normalisasi bentuk kedua (2NF).
3. Second Normal Form (2NF)
Second Normal Form / 2NF dilakukan berdasarkan konsep ketergantungan fungsional penuh (full function dependency) dimana setiap atribut non primary key bergantung secara penuh ke atribut primary key. Full function dependency dinyatakan dengan jika A dan B adalah atribut dari suatu relasi, B adalah fungsional ketergantungan penuh (fully functional dependency) pada A jika B secara fungsional bergantung pada A akan tetapi bukan merupakan himpunan bagian dari A. Dengan kata lain bentuk 2NF merupakan sebuah relasi didalam 1NF dan setiap atribut yang bukan primary key adalah fungsional tergantung pada primary key. Proses normalisasi dari relasi 1NF ke 2NF melibatkan penghilangan dari bagian ketergantungan (partial dependency).
4. Third Normal Form (3NF)
Third Normal Form / 3NF dilakukan berdasarkan konsep ketergantungan transitif (Transitive Dependency). Transitive dependency adalah sebuah kondisi dimana A, B, dan C merupakan suatu atribut dari sebuah relasi yang jika A -> B dan B -> C, maka C secara transitif bergantung pada A melewati B (menyatakan bahwa A tidak secara fungsional bergantung kepada B atau C). Pada 3NF, sebuah relasi pada bentuk 1NF dan 2NF tidak ada non primary key secara transitif bergantung pada primary key. Proses nomalisasi dari 2NF ke 3NF melibatkan penghilangan dari transitive dependency. Jika sebuah transitive dependency antara attribute nya dengan menempatkan attribute tersebut ke dalam relasi baru, selanjutnya dengan sebuah salinan dari determinannya. Teknik ini menghasilkan kumpulan relasi dengan properties yang diinginkan berdasarkan kebutuhan data dalam organisasi. Tujuannya adalah untuk menghilangkan redudansi data, mengurangi kompleksitas, dan memodifikasi data.
2.2 Teori Khusus