ALAT BANTU PERANCANGAN BASIS DATA (ERD DAN NORMALISASI)
6.1 Model ERD
6.1.1. Konsep
dasar model ERD
ERD merupakan suatu model
untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan
antar relasi.
Entiti
Entitas adalah suatu obyek
yang dapat diidentifikasikan secara unik dalam basis data.
Entitas : entitas kuat,
entitas lemah, entitas agregasi
Atribut
Setiap entitas pasti
mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas
tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi
elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
Macam2
atribut : atribut kunci utama. Atribut multivalue,atribut komposisi, atribut
turunan
Hubungan / Relasi
Hubungan
antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Relasi
: relasi identifying
Alasan mengapa ER
model diperlukan dalam memodelkan sebuah data :
- ER Model merupakan
model data tingkat tinggi yang popular untuk model data relasional walau sifat
abstrak dan popular, namun aspek notasi, symbol itu sama atau maknanya sama
- ER model ini dengan
sejumlah variasinya seringkali digunakan dalam desain konseptual dari aplikasi
basisdata (banyak alat untuk mendesain sebuah basis data yenga melibatkan ER
Model didalamnya)
a. Simbol ERD
c.
Derajat Relasi.
Derajat : Menyatakan jumlah anggota entity yang
terlibat didalam ikatan yang terjadi
Derajat Relasi pada Type Relasi adalah jumlah partisipasi
type entity
Ada 2
tipe derajat relasi yaitu derajat dua (Binary) dan derajat tiga (ternary)
Binary
relationship adalah relasi yang melibatkan dua entity, ex. Hubungan work_for
antara entity Employee dan Departement
Ternary
relationship adalah relasi yang melibatkan tiga entity, Ex Hubungan Suply
antara entity supplier, part dan project
Penamaan
Rules adalah Penamaan dari sebuah hubungan misalnya Hubungan Work-For terdiri
dari entity Employee yang bisa menjadi Employee atau Worker dan entity
Departement bisa menjadi Departemen atau employer
Relasi
Rekursif adalah hubungan yang terjadi pada dirinya (entity) sendiri, Ex.
Hubungan Supervision pada entity Employee dimana bisa sebagai supervisi atau
sebagai supervisor
d.cardinality constraint
Cardinality
Constraints
Cardinality Constraints - jumlah
entity instance dari
suatu entity yang dapat atau harus terkait dengan entity instance dari entity type lain.
Minimum Cardinality (jumlah
minimum)
– Jika 0,
berarti tidak harus (optional)
– Jika 1 atau
lebih, berarti harus (mandatory)
Maximum Cardinality (jumlah
maksimum)
– Jumlah maksimum yang diperbolehkan
e.participation constraint
Partisipasi : Menyatakan sifat keterlibatan tiap anggota
entity dalam ikatan terjadinya hubungan.
A.
Wajib
Hubungan dosen dengan
mata kuliah
Tiap dosen harus
mengajar satu mata kuliah
Tiap mata kuliah
harus diajar oleh seorang dosen
B.
Tidak
Wajib
Hubungan dosen dengan
mata kuliah
Tiap dosen harus
mengajar satu mata kuliah
Tiap mata kuliah
mungkin diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.
f.Tipe
Entity Weak dan strong entity.
Weak entity Adalah suatu entity yang tergantung
pada entity yang lain, tidak akan ada kalau tidak ada entity master (identik
dengan entity Transaksi)
Strong entities adalah tidak tergantung dengan keberadaan entity lainnya. Dapat berdiri
sendiri. Memiliki identitas uniknya sendiri digambarkan dengan persegi panjang
dengan satu garis
6.1.2 Transformasi ER
ke model data relasional
Tahap-Tahap Transformasi :
- Entity-Relationship Diagram menjadi basis data.
- Entity menjadi tabel dan atribut menjadi kolom/field dari tabel.
- Entitas lemah à key dari “owner”
(entitas kuat) ke tabel entitas lemah.
- Setiap tipe entity dibuat suatu tabel yang memuat semua atribut
simple, sedangkan untuk atribut komposit hanya dimuat komponen-komponennya
saja. Contoh :
Tabel Customer
Id
|
name
|
street
|
city
|
state
|
zip_code
|
|
|
|
|
|
|
- Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru
dimana primary key-nya merupakan gabungan dari primary key dari tabel
tersebut dengan atribut multivalue
- Setiap unary relationship 1:N, selain membuat tabel baru berdasarkan
entity, buat juga tabel baru berdasarkan relationship-nya dengan atribut
kunci tamu (foreign key) berdasarkan atribut kunci dari entity tersebut
dan atribut kunci alternatif sebagai primary key-nya.
- Untuk CR 1:1 dengan atau tanpa total participation maka akan dibuat
tabel baru berdasarkan relationship, dimana kolom-kolomnya terdiri dari
alternate key, dan primary key dari masing-masing entity.
- Untuk CR 1:N dengan atau tanpa total participation maka primary key
dari sisi 1 masuk ke sisi N.
- Untuk CR M:N Ã dibuat tabel tersendiri
berdasarkan relationshipnya dengan kolom-kolomnya terdiri dari alternate
key dan primary key dari masing-masing entity
6.1.3 Contoh Aplikasi ER
CONTOH
Untuk
keperluan penjelasan konsep dan penggunaan ER Model,digunakan satu contoh
database “COMPANY” yang didalamnya mencatat :
-
Data Pegawai
(Employee)
-
Data Departemen
(Department)
-
Data Proyek
(Projects)
Penjelasan dari sebagian data Company yang diperoleh setelah
fase “Requirement collection and analysis” sbb :
1.
COMPANY terdiri
dari sejumlah Departements. Setiap department mempunyai satu nama yang unik,
nomor yang unik, dan seorang pegawai (Employee) yang bertindak sebagai manager
dari department. Tanggal mulai bekerja dari manager juga dicatat dalam database
(Tanggal pengangkatan sebagai manager).
Satu department dapat tersebar di
sejumlah lokasi.
2.
Suatu department
dapat mengendalikan sejumlah project. Setiap project mempunyai satu nama yang
unik, nomor yang unik, dan satu lokasi tertentu.
3.
Data pegawai yang
perlu dicatat berupa : nama, social security number, address, salary, sex dan
birthdate.
Seorang pegawai ditempatkan di satu
department, tetapi dapat bekerja di sejumlah project yang tidak harus
dikendalikan oleh department dimana pegawai tersebut ditempatkan.
Jumlah jam perminggunya dari pegawai
yang bekerja pada suatu project perlu dicatat. Juga perlu dicatat supervisor
langsung dari setiap pegawai.
4.
Untuk
tujuan/keperluan asuransi pegawai, maka perlu dicatat anggota keluarga dari
setiap pegawai. Data yang dicatat berupa : nama anggota keluarga, sex,
birthdate dan hubungan keluarga (relationship)
Alternative
Notasi untuk ER Model ex (Min,Max)
Fname
6.2
Normalisasi
6.2.1 Konsep dasar normalisasi
Normalisasi adalah
suatu teknik untuk meng-organisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam
suatu organisasi.
Tujuan dari
normalisasi
Ø Untuk
menghilangkan kerangkapan data
Ø Untuk
mengurangi kompleksitas
Ø Untuk
mempermudah pemodifikasian data
Tahapan Normalisasi
Bentuk Tidak Normal
Menghilangkan
perulangan group
Bentuk
Normal Pertama (1NF)
Menghilangkan
ketergantungan sebagian
Bentuk
Normal Kedua (2NF)
Menghilangkan
ketergantungan transitif
Bentuk
Normal Ketiga (3NF)
Menghilangkan
anomali-anomali hasil dari
ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan
Ketergantungan Multivalue
Bentuk
Normal Keempat (4NF)
Menghilangkan
anomali-anomali yang tersisa
Bentuk
Normal Kelima
Ketergantungan
Fungsional
Definisi :
Atribut Y pada relasi R dikatakan
tergantung fungsional pada atribut X (R.X ---> R.Y), jika dan hanya jika
setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal, terdapat skema
database PEMASOK-BARANG.
Pemasok (No-pem,
Na-pem)
Tabel PEMASOK-BARANG
No_pem
|
Na_pem
|
P001
P002
P003
|
Baharu
Sinar
Harapan
|
Ketergantungan
fungsional dari tabel PEMASOK-BARANG adalah :
No-pem ---> Na-pem
Ketergantungan
Fungsional Penuh
Definisi :
Atribut Y pada relasi R dikatakan tergantung
fungsional penuh pada atribut X pada relasi R, jika Y tidak
tergantung pada subset dari X (
bila X adalah key gabungan)
Contoh :
KIRIM-BARANG( No-pem,
Na-pem, No-bar, Jumlah)
No_pem
|
Na_pem
|
No_bar
|
Jumlah
|
P001
P001
P001
P002
P003
|
Baharu
Baharu
Baharu
Sinar
Harapan
|
B001
B002
B003
B003
B002
|
1000
1500
2000
1000
2000
|
Ketergantungan
fungsional :
No-pem --> Na-pem
No-bar, No-pem --> Jumlah (Tergantung
penuh thd keynya)
Ketergantungan
Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung
transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi
R dan atribut Z tergantung pada atribut
Y pada relasi R. ( X
Y, Y Z , maka
X Z )
Contoh
:
No-pem
|
Kode-kota
|
Kota
|
No-bar
|
Jumlah
|
P01
|
1
|
Jakarta
|
B01
|
1000
|
P01
|
1
|
Jakarta
|
B02
|
1500
|
P01
|
1
|
Jakarta
|
B03
|
2000
|
P02
|
3
|
Bandung
|
B03
|
1000
|
P03
|
2
|
Surabaya
|
B02
|
2000
|
Ketergantungan fungsional :
No-pem Kode-kota
Kode-kota Kota ,
maka
No-pem Kota
6.1.2 Proses
Normalisasi dan contoh kasus
q Data
diuraikan dalam bentuk tabel, selanjutnya
dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
q Apabila
tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu
dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang
optimal.
Bentuk Normal Kesatu
(1NF)
Suatu relasi dikatakan sudah
memenuhi Bentuk Normal Kesatu bila
setiap data bersifat atomik
yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data
Tabel KIRIM-1
(Unnormal)
No_pem
|
Kode_kota
|
Kota
|
No_bar
|
Jumlah
|
P001
P002
P003
|
1
3
2
|
Jakarta
Bandung
Surabaya
|
B001
B002
B003
B003
B002
|
1000
1500
2000
1000
2000
|
Tabel KIRIM-2
(1NF)
No_pem
|
Kode_kota
|
Kota
|
No_bar
|
Jumlah
|
P001
P001
P001
P002
P003
|
1
1
1
3
2
|
Jakarta
Jakarta
Jakarta
Bandung
Surabaya
|
B001
B002
B003
B003
B002
|
1000
1500
2000
1000
2000
|
Diagram
Ketergantungan Fungsional
Bentuk Normal Kedua
(2NF)
Suatu relasi dikatakan sudah
memenuhi Bentuk Normal Kedua bila relasi
tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah
tergantung penuh terhadap keynya.
Tabel PEMASOK-1 (2NF)
No_pem
|
Kode_kota
|
Kota
|
P001
P002
P003
|
1
3
2
|
Jakarta
Bandung
Surabaya
|
Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah
memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal
kedua dan atribut yang bukan key tidak
tergantung transitif terhadap keynya.
Tabel KIRIM-3
(3NF)
No_pem
|
No_bar
|
Jumlah
|
P001
P001
P001
P002
P003
|
B001
B002
B003
B003
B002
|
1000
1500
2000
1000
2000
|
Tabel PEMASOK-2 (3NF) Tabel PEMASOK-3 (3NF)
No-pem Kode-kota
Kode-kota Kota
P01 1 1 Jakarta
P02 3
2 Surabaya
P03 2 3 Bandung
Normalisasi pada database perkuliahan
Asumsi :
q Seorang mahasiswa
dapat mengambil beberapa mata kuliah
q Satu mata kuliah
dapat diambil oleh lebih dari satu mahasiswa
q Satu mata kuliah
hanya diajarkan oleh satu dosen
q Satu dosen dapat
mengajar beberapa mata kuliah
q Seorang mahasiswa
pada mata kuliah tertentu hanya
mempunyai satu nilai
Tabel MAHASISWA-1 ( Unnormal )
No
Mhs
|
Nama Mhs
|
Jurusan
|
KodeMK
|
Nama MK
|
KodeDosen
|
Nama
Dosen
|
Nilai
|
2683
|
Welli
|
MI
|
MI350
|
Manajamen
DB
|
B104
|
Ati
|
A
|
|
|
|
MI465
|
Analsis Prc. Sistem
|
B317
|
Dita
|
B
|
5432
|
Bakri
|
Ak.
|
MI350
|
Manajemen DB
|
B104
|
Ati
|
C
|
|
|
|
AKN201
|
Akuntansi Keuangan
|
D310
|
Lia
|
B
|
|
|
|
MKT300
|
Dasar
Pemasaran
|
B212
|
Lola
|
A
|
Tabel MAHASISWA-2 ( 1NF )
No
Mhs
|
Nama Mhs
|
Jurusan
|
KodeMK
|
Nama MK
|
KodeDosen
|
Nama Dosen
|
Nilai
|
2683
|
Welli
|
MI
|
MI350
|
Manajamen
DB
|
B104
|
Ati
|
A
|
2683
|
Welli
|
MI
|
MI465
|
Analsis Prc. Sistem
|
B317
|
Dita
|
B
|
5432
|
Bakri
|
Ak.
|
MI350
|
Manajemen DB
|
B104
|
Ati
|
C
|
5432
|
Bakri
|
Ak.
|
AKN201
|
Akuntansi Keuangan
|
D310
|
Lia
|
B
|
5432
|
Bakri
|
Ak.
|
MKT300
|
Dasar Pemasaran
|
B212
|
Lola
|
A
|
Diagram Ketergantungan Fungsional
Tabel KULIAH (2NF)
Kode-MK
|
Nama-MK
|
Kode-Dosen
|
Nama-Dosen
|
MI350
|
Manajamen
DB
|
B104
|
Ati
|
MI465
|
Analsis Prc. Sistem
|
B317
|
Dita
|
AKN201
|
Akuntansi Keuangan
|
D310
|
Lia
|
MKT300
|
Dasar
Pemasaran
|
B212
|
Lola
|
Tabel
MAHASISWA-3 (3NF)
No-Mhs
|
Nama-Mhs
|
Jurusan
|
2683
|
Welli
|
MI
|
5432
|
Bakri
|
Ak.
|
Tabel NILAI (3NF)
No-Mhs
|
Kode MK
|
Nilai
|
2683
|
MI350
|
A
|
2683
|
MI465
|
B
|
5432
|
MI350
|
C
|
5432
|
AKN201
|
B
|
5432
|
MKT300
|
A
|
Tabel
MATAKULIAH (3NF)
Kode-MK
|
Nama-MK
|
Kode-Dosen
|
MI350
|
Manajamen
DB
|
B104
|
MI465
|
Analsis Prc. Sistem
|
B317
|
AKN201
|
Akuntansi Keuangan
|
D310
|
MKT300
|
DasarPemasaran
|
B212
|
Tabel DOSEN (3NF)
Kode- Dosen
|
Nama-Dosen
|
B104
|
Ati
|
B317
|
Dita
|
B310
|
Lia
|
B212
|
Lola
|
Sumber:
www.stafsite.gunadarma.ac.id
materi sidang comprehensi Wisnu Ajie Supardi S.Kom
www.gunadarma.ac.id