Pemodelan Data ERD Dan Normalisasi PDF
Pemodelan Data ERD Dan Normalisasi PDF
BAB 5
Pemodelan Data
Tujuan Pembelajaran
Pada bab ini akan dijelaskan notasi dari entity relationship diagram sebagai tahap awal
untuk menggunakan entity relationship diagram dalam proses pengembangan
dtaabase.
Setelah bab ini para mahasiswa dapat memiliki kemampuan :
Mengetahui simbol dan tatacara serta aturan penggunaan notasi entity relationship
diagram,
Menggunakan simbol kardinalitas untuk menampilkan relasinya.
Mengerti pola hubungan yang penting,
Mampu mendeteksi kesalahan dalam entity relationship diagram,
Mengerti cara merepresentasikan aturan bisnis dalam entity relationship diagram
5.1. Pendahuluan
Pada bab ini akan dibahas mengenai kemampuan dasar untuk memodelkan data
sehingga kemudian dapat dengan mudah mengerti notasi dari entity relationship
diagram, untuk selanjutnya dapat menggunakannya dalam proses pengembangan
database.
Notasi
Deskripsi
Entity set
entitas
Halaman 1 dari 20
Pemodelan Data
Relationship set
relasi
Penghubung atribut dengan
entitas dan entitas dengan
relasi
atribut
atribut
Key atribut
atribut
Derived atribut
atribut
Composite atribut
atribut
atribut
atribut
nama
Tgl lahir
Kd Mat
NIM
umur
Mahasiswa
1 M
alamat
Jalan
belajar
N 1
Nama Mat
Matakuliah
SKS
Kd pos
kota
Halaman 2 dari 20
Pemodelan Data
Model yang juga digunakan adalah model Martin dengan menggunakan simbol seperti
di bawah ini :
Tabel. 5.2. simbol ERD Model Martin
Notasi
Mahasiswa
NIM
Deskripsi
Simbol
Nama Entitas
Primary key
field
Mahasiswa
Dosen
NIM
NRD
Jadwal
mengambil
mempunyai
Jurusan
Hari
Waktu
KDJur
KDRu
NRD
NIM
KDJur
mengajar
digunakan
Ruangan
KDRu
Halaman 3 dari 20
Pemodelan Data
Mapping Cardinality berdasarkan dua entity set (binary relationship set), dapat berupa :
1. Satu ke Satu (One to One)
Ini berarti setiap entitas pada himpunan entitas A berhubungan dengan paling
banyak satu entitas di himpunan entitas B, begitu pula sebaliknya setiap entitas
pada himpunan B berhubungan paling banyak satu entitas yang ada di himpunan
entitas A.
NIK
Nama
KARYAWAN
A1
B1
A2
B2
A3
B3
A4
B4
Alamat
Kode_Bagian
mengepalai
NIK
Nama_Bagian
BAGIAN
Kode_Bagian
B
B1
A1
A2
A3
B2
B3
B4
B5
Halaman 4 dari 20
Pemodelan Data
Kode_jur
Nama_jur
Jurusan
Jenjang
NIM
Mengambil
Kode_jur
Nama_MHS
Alamat
Mahasiswa
NIM
B
B1
A1
B2
A2
B3
A3
Kode_Cust
Nama
Customer
Alamat
B4
Tgl_Beli
Qty
Kode_Brg Nama_Brg
Beli
Kode_Cust
Harga
Barang
Kode_Brg
Halaman 5 dari 20
Pemodelan Data
Jika suatu entity set tidak mempunyai primary key, maka entity set tersebut
disebut weak weak entity, dan sebaliknya entitys set yang memiliki primary key disebut
strong entity. Konsep ini berhubungan dengan konsep existence dependency yaitu
suatu strong entity secara definisi adalah dominant entity, sementara weak entity
adalah subordinate entity.
Nama
Alamat
Karyawan
ISA
Upah_Harian
Table Karyawan
NIK
Nama
Harian
Kontrak
Table Harian
Alamat
NIK
Upah_Harian
Lama_kontrak
Table Kontrak
NIK
Lama_Kontrak
2. Aggregation
Satu keterbatasan dari model ERD adalah tidak mungkin mengekpresikan suatu
relationship diantara relationship. Untuk mencegah hal itu, digunakan aggregation
yaitu suatu abstraksi yang menunjukan bahwa suatu relationship dianggap sebagai
sebagai suatu entity set yang tingkatnya lebih tinggi.
Halaman 6 dari 20
Pemodelan Data
Id_Pegawai
Nama
Id_Kerja
Pegawai
durasi
Id_Proyek
Kerja
Id_Pegawai
Nama_Proyek
Proyek
Id_Proyek
M
Id_Kerja
Menggunakan
Kode_Mesin
M
Kode_Mesin
Mesin
Nama_Mesin
Table Pegawai
Table Proyek
Table Kerja
Id_Pegawai
Id_Proyek
Id_Pegawai
Nama
Table Mesin
Kode_Mesin
Nama_Proyek
Id_Proyek
Id_Kerja
Table Menggunakan
Nama_Mesin
Id_Kerja
Kode_Mesin
Halaman 7 dari 20
Durasi
Pemodelan Data
Kode_Ang
Nama
Kode_Ang
ANGGOTA
Alamat
Anak
Tgl_Lahir
Kode_Anak
Table Anggota
Kode_Ang
Table Anak
Nama
Alamat
Tgl_Lahir
Kode_Ang
Kode_Anak
Nama
Alamat
Customer
Kode_Cust
Plat_No
Reservasi
Kode_Petugas
Plat_No
Kelas
Kapasitas
Bis
Tgl_Berangkat
M
Petugas
Kode_Petugas
Nama Petugas
Table Customer
Table Bis
Plat_No Kelas
Table Petugas
Kapasitas
Kode_Petugas
Nama_Petugas
Table Reservasi
Kode_Cust
Plat_No
Kode_Petugas
Tgl_Berangkat
Halaman 8 dari 20
Pemodelan Data
Contoh Kasus
Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai
pengawas dan setidaknya satu pegawai. Pegawai harus ditugaskan pada paling tidak
satu bagian, tetapi dapat pula beberapa bagian.
Paling tidak satu pegawai mendapat tugas sebuah proyek. Namun, seorang pegawai
dapat libur dan tidak mendapat tugas
proyek. Field data yang penting adalah Nama Bagian, Proyek, Pengawas, Nomor
Pengawas, Nomor Pegawai dan Nomor Proyek.
1. Menentukan Entitas
Entitas pada sistem adalah Bagian, Pegawai, Pengawas dan Proyek. Entitas
perusahaan tidak termasuk dalam sistem karena dia hanya memiliki satu instansi.
Entitas yang benar harus mempunyai lebih dari satu instansi.
2. Menentukan Relasi
Kita membuat matriks relasi entitas, sebagai berikut :
Bagian
Pegawai
Bagian
Bekerja di
Pengawas Memimpin
Proyek
Pegawai
milik
menggunakan
Pengawas Proyek
Dipimpin
oleh
Bekerja
pada
-
Halaman 9 dari 20
Pemodelan Data
Dipimpin
oleh
BAGIAN
PENGAWAS
Bekerja
di
Bekerja
pada
PEGAWAI
PROYEK
4. Tentukan Kardinalitas
Dari deskripsi permasalahan kita, kita mengetahui bahwa :
Setiap bagian dipimpin oleh satu pengawas.
Seorang pengawas hanya memimpin satu bagian.
Setiap bagian memiliki paling sedikit satu Pegawai.
Setiap Pegawai bekerja di paling sedikit satu bagian.
Setiap proyek menggunakan paling sedikit satu Pegawai.
Seorang Pegawai dapat bekerja dalam banyak proyek atau bahkan tidak sama
sekali.
Dipimpin
oleh
BAGIAN
M
PENGAWAS
1
Bekerja
di
N
PEGAWAI
Bekerja
pada
N
PROYEK
Halaman 10 dari 20
Pemodelan Data
NoPAW
Dipimpin
oleh
BAGIAN
M
PENGAWAS
1
1
Bekerja
di
N
PEGAWAI
Bekerja
pada
N
PROYEK
NoPEG
NoPRO
7. Menentukan Atribut
Atribut yang diperlukan adalah Nama Bagian, Nama Proyek, Nama Pengawas,
Nama Pegawaiselain primary-keys.
8. Pemetaan Atribut
Atribut
Nama Bagian
Nama Proyek
Nama Pengawas
Nama Pegawai
Entitas
Bagian
Proyek
Pengawas
Pegawai
Atribut
Masa Jabatan
Masa Kerja
Masa Kerja Proyek
Atribut
NmBag
NoPro
NoPws
NoPeg
Entitas
Bagian
Proyek
Pengawas
Pegawai
relasi
Dipimpin oleh
Bekerja di
Bekerja pada
Halaman 11 dari 20
Pemodelan Data
BAGIAN
Nama
BAGIAN
Dipimpin
oleh
M
Bekerja
di
NoPEG
PENGAWAS
Masa
Jabatan
Masa
Kerja
Masa Kerja
Proyek
N
PEGAWAI
NoPAW
Nomor
Pengawas
Nama
Pegawai
Bekerja
pada
Nomor
Proyek
PROYEK
NoPRO
Jika ada suatu relasi (hubungan antara 2 entitas) yang tidak digambarkan
atributnya, hal ini berarti relasi tersebut hanya memiliki atribut minimal, yaitu atribut
yang berasal dari key atribut 2 entitas yang dihubungkannya.
10. Periksa Hasil
Lakukan pemeriksaan terhadap ER-D, bila tidak ada koreksi maka ER-D dapat
memodelkan data dalam sistem dengan baik.
5.3. Normalisasi
Normalisasi berasal dari E.F. Codd salah satu perintis teknologi basis data, dimana
metodologi ini digunakan untuk menciptakan struktur table (relasi) dalam basis data
dengan tujuan mengurangi redundansi data. Normalisasi terkadang hanya dipakai
sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi
seperti ERD. Normalisasi memberikan acuan yang sangat membantu untuk mencegah
membuat struktur table yang kurang fleksible atau mengurangi ketidakefisienan.
Normalisasi adalah teknik perancangan yang banyak digunakan sebagai pemandu
dalam merancang basisdata relasional. Teori normalisasi didasarkan pada konsep
bentuk normal. Sebuah tabel relasional dikatakan pada bentuk normal tertentu jika
tabel memenuhi himpunan batasan tertentu.
Normalisasi adalah bagian perancangan basisdata. Tanpa normalisasi, sistem
basisdata menjadi tidak akurat, lambat, tidak efisien. Perancangan dengan
normalisasi, ada beberapa hal yang dingin dicapai, yaitu :
Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok
hanya menangani bagian kecil sistem.
Meminimalkan jumlah data berulang dalam basisdata.
Membuat basisdata yang datanya diakses dan dimanipulasi secara cepat dan
efisien tanpa melupakan integritas data.
Halaman 12 dari 20
Pemodelan Data
Mengatur data sedemikian rupa sehingga ketika memodifikasi data, Anda hanya
mengubah pada satu tempat (integritas referensial).
Tujuan normalisasi adalah membuat kumpulan tabel relasional yang bebas dari data
berulang dan dapat dimodifikasi secara benar dan konsisten.
Normalisasi mengharuskan relasi pada suatu basisdata dalam bentuk normal.
Bentuk normal sendiri merupakan seperangkat aturan yang dikenakan dan harus
dipenuhi oleh relasi basisdata pada setiap level normalisasi.
Beberapa level yang sering digunakan pada normalisasi adalah sebagai berikut :
1. Bentuk tidak normal ( Unnormalized Form)
2. Bentuk normal pertama ( 1NF/ First Normal Form)
3. Bentuk normal kedua ( 2NF/ Second Normal Form)
4. Bentuk normal ketiga ( 3NF/ Third Normal Form)
5. Bentuk normal Boyce-Codd ( BCNF/ Boyce-Codd Normal Form)
6. Bentuk normal keempat ( 4NF/ Fourth Normal Form)
7. Bentuk normal kelima ( 5NF/ Fifth Normal Form)
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak
diharapkan, misalnya menyebabkan ketidak konsistenan data atau membuat sesuatu
data menjadi hilang ketika data lain dihapus.
Dependensi (ketergantungan) merupakan konsep yang mendasari normalisasi.
Dependensi menjelaskan hubungan antar atribut atau secara lebih khusus
menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya. Dependensi ini
akan menjadi acuan bagi pendekomposisian data ke dalam bentuk yang paling efisien.
Nama_Kelas
Fisika Dasar
Matematika
Program Teknik
Instruktur
Heri Sugeha
Yuyun Sara
Maman Kasidi
SISWA(No_siswa,Nama,Wali_studi,Kelas1,Kelas2,Kelas3)
Halaman 13 dari 20
Pemodelan Data
Siswa yang punya nomor siswa, nama dan wali studi mengikuti 3 mata pelajaran /
kelas. Disini ada perulangan kelas sebanyak 3 kali, ini bukan bentuk 1NF.
Contoh Data :
No_Siswa
Nama
22890100
Tanzania
22890101
Nia
Wali_studi
Zaenudin
Rizki
Kelas_1
1234
1234
Kelas_2
1543
1775
Kelas_3
1543
Nama
Tanzania
Tanzania
Nia
Nia
Nia
Wali_studi
Zaenudin
Zaenudin
Rizki
Rizki
Rizki
Kelas_1
1234
1543
1234
1775
1543
Wali studi
Zaman
Nia
Halaman 14 dari 20
Pemodelan Data
instruktur seminar tersebut. Setiap instruktur boleh hanya mengambil satu seminar
saja. Pada contoh ini No_siswa dan Seminar menunjukkan seorang instruktur.
Relasi SEMINAR
No_Siswa
Seminar
2281
22890100
2281
22890101
2291
22890102
2291
22890101
2291
22890109
Instruktur
Budi
Kardi
Mac
Rachmat
Rachmat
Bentuk relasi SEMINAR adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor
seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar
hanya pada satu seminar. Seminar bergantung secara fungsi pada satu atribut bukan
seperkey seperti yang disyaratkan oleh BCNF. Maka relasi SEMINAR haruslah
dipecah jadi dua yaitu :
Relasi PENGAJAR
Instruktur
Seminar
2281
Budi
2281
Kardi
2291
Mac
2291
Rachmat
Relasi SEMINAR-INSTRUKTUR
No_Siswa Instruktur
Budi
22890100
Kardi
22890101
Mac
22890102
Rachmat
22890101
Rachmat
22890109
: 07/07/97
: 987
HARGA
1.350.000,00
2.000.000,00
Total
JUMLAH
13.500.000,00
20.000.000,00
33.500.000,00
No
Fac
779
998
Kd
Sup
S02
G01
Nama
Supp
Hitachi
Gobel N
Kd
Brg
R02
A01
A02
Nama
Brg
Mouse
Monitor
CPU
Tanggal
020797
070797
070797
Jatuh
Tempo
020797
070797
070797
Harga
Jumlah
10
10
10
10.000
400.000
250.000
100.000
4.000.000
2.500.000
Halaman 15 dari 20
Total
100.000
6.500.000
Pemodelan Data
Menuliskan semua data yang akan direkam, bagian yang double tidak perlu ditulis.
Terlihat record-record yang tidak lengkap, sulit untuk membayangkan bagaimana
bentuk record yang harus dibentuk untuk merekam data tersebut.
2. Step II bentuk normal kesatu
Bentuklah menjadi bentuk normal kesatu dengan memisah-misahkan data pada fieldfield yang tepat dan bernilai otomic, juga seluruh record harus lengkap adanya. Bentuk
file adalah flat file. Dengan bentuk normal kesatu ini telah dapat dibuat satu file dengan
11 field yaitu No factur, kode supplier, nama supplier, kode barang, nama barang,
tanggal, jatuh tempo, quantitas, harga, jumlah, total satu factur.
No
Fac
779
998
998
Kd
Sup
S02
G01
G01
Nama
Supp
Hitachi
Gobel N
Gobel N
Kd
Brg
R02
A01
A02
Nama
Brg
Mouse
Monitor
CPU
Tanggal
020797
070797
070797
Jatuh
Tempo
020797
070797
070797
Harga
Jumlah
Total
10
10
10
10.000
400.000
250.000
100.000
4.000.000
2.500.000
100.000
4.000.000
2.500.000
Halaman 16 dari 20
Pemodelan Data
Tabel Supplier
* Kode Supplier
Nama Supplier
Table Barang
* Kode Barang
Nama Barang
Tabel Nota
* No. Factur, Tanggal,
Tempo, Qty, Harga,
Total
* Kode Supplier
* Kode Barang
Keterangan
* Kunci Primer dari tabel
** Kunci tamu/ penghubung
dari tabel terhadap
induknya
Dengan pemecahan seperti di atas maka sebagian dari pertanyaan perngujian pada
bentuk normal kesatu yaitu inserting, deleting, updating dapat terjawab. Kode dan
nama supplier baru dapat masuk kapanpun tanpa harus ada transaksi pada tabel
Nota, cukuplah dibuka tabel Supplier dan disisipkan satu record baru.
Demikian pula pada saat update dan delete baik itu tabel supplier dan juga tabel
barang.
Namun permasalahan masihlah ada yaitu pada tabel Nota.
a. Field Q dan Harga pada tabel tersebut tidak bergantung penuh pada kunci primer no
factur, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai
kebergantungan yang transitif dan haruslah dipisahkan dalam dua tabel.
b. Masih terdapat redundancy data yaitu setiap kali satu factur yang terdiri dari 5
macam barang yang dibeli, maka 5 kali harus dituliskan no factur, tanggal factur,
jatuh tempo, dan total. Ini harus pula dipisahkan bila terjadi penggandaan tulisan
berulang-ulang.
4. Step IV Bentukl Normal Ketiga
Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang
tergantung transitif, harus bergantung penuh pada kunci utama.
Maka terbentuklah tabel sebagai berikut:
Tabel Supplier
* Kode Supplier
Nama Supplier
Tabel Nota
* No. Factur,
Tanggal Tempo,
Total, K
**Kode Supplier
Tabel Barang
* Kode Barang
Nama Barang
Tabel Transaksi Barang
* No. Factur,
* Kode barang
Q, Harga
Halaman 17 dari 20
Pemodelan Data
Kode Supplier
S02
G01
Tabel Barang
Kode
Nama Barang
Barang
R01
Mouse
A01
Monitor
A02
CPU
Tanggal
02/02/97
07/02/97
Q
10
10
10
Tempo
02/03/97
07/03/97
Total
100.000
6.500.000
Harga
100.000
4.000.000
2.500.000
Tabel Supplier
Tabel Nota
Tabel Barang
Halaman 18 dari 20
Pemodelan Data
Dosen
Mata_kuliah NIP
Komp. Aplikasi 001
Basis Data
002
Algoritma
001
Foreign key
NIP
001
002
Nama_dosen
Kiki, ST
Asep, ST
Primary key
Halaman 19 dari 20
Pemodelan Data
5.4. Kesimpulan
Entity-relationship (E-R) data model didasarkan pada persepsi terhadap dunia nyata
yang tersusun atas kumpulan objek-objek dasar yang disebut entitas dan relasi.
Entitas digambarkan dalam basisdata dengan kumpulan atribut. Kumpulan semua
entitas bertipe sama disebut kumpulan entitas / entity set.
Relasi adalah hubungan antara beberapa entitas. Kumpulan relasi bertipe sama
disebut kumpulan relasi / relationship set.
Pemetaan Kardinalitas ( Mapping Cardinalities ) menyatakan jumlah entitas dimana
entitas lain dapat dihubungkan ke entitas tersebut melalui sebuah himpunan relasi (
relationship set).
Pemetaan berguna dalam menentukan himpunan relasi biner meskipun pemetaan
dapat berperan dalam deskripsi himpunan relasi yang melibatkan lebih dari dua
himpunan entitas.
PUSTAKA
Abraham Silberschatz & Henry F. Korth, Database System Concepts, 4Th Edition.
Wikipedia, the free encyclopedia
Halaman 20 dari 20