Anda di halaman 1dari 20

Pemodelan Data

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.

5.2. Entity-Relationship Modell (ERD)


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 adalah sekumpulan sesuatu yang digunakan dalam sebuah aplikasi.
Entitas digambarkan dalam database dengan kumpulan atribut. Kumpulan semua
entitas bertipe sama disebut kumpulan entitas / entity set.
Atribut adalah data yang dapat menggambarkan entitasnya.
Contoh : atribut nim, nama, alamat dan kota dapat menggambarkan data mahasiswa.
Atribut-atribut membentuk entitas mahasiswa.
Relasi adalah hubungan antara beberapa entitas. Kumpulan relasi bertipe sama
disebut kumpulan relasi / relationship set.
Contoh : relasi menghubungkan mahasiswa dengan matakuliah yang diambinya.

5.2.1. Notasi Entity-Relationship


Model Peter Chen menggunakan simbol seperti di bawah ini.
Tabel. 5.1. simbol ERD Model Peter Chen

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

Contoh penggunaan ERD Model Peter Chen

nama

Tgl lahir
Kd Mat

NIM

umur

Mahasiswa

1 M

alamat
Jalan

belajar

N 1

Nama Mat

Matakuliah

SKS

Kd pos
kota

Gambar 5.1. Implementasi ERD Model Peter Chen

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

Relasi banyak ke banyak

Relasi Satu ke satu

Relasi Satu ke banyak

Terdiri dari / bagian

Contoh penggunaan ERD Model Martin

Mahasiswa

Dosen

NIM

NRD
Jadwal

mengambil
mempunyai

Jurusan

Hari
Waktu
KDJur
KDRu
NRD
NIM

KDJur

mengajar
digunakan

Ruangan

KDRu

5.2.2. Kardinalitas / Cardinalities


Sejumlah entity set dapat berasosiasi dengan entity set yang lain melalui suatu
relationship ditunjukan dengan mapping cardinalities. Cardinality yaitu sebuah
pemetaan (mapping) yang mengacu pada sejumlah objek pada entity set S1 yang
dapat direlasikan ke objek pada entity set S2, demikian juga dengan sebaliknya.
Sejumlah kemungkinan banyaknya hubungan antar entitas tersebut, merujuk kepada
hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan
entitas yang lain dan begitu sebaliknya.

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

2. Satu ke Banyak (One to Many) atau Banyak ke Satu


Ini berarti 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 yaitu satu
entitas pada himpunan entitas A. Kardinalitas relasi satu ke banyak dan Banyak ke
satu dapat dianggap sama, karena tinjauan kardinalitas relasi selalu dapat dilihat
dari dua sisi (dari himpunan entitas A ke himpunan entitas B dan dari himpunan
entitas B ke himpunan entitas A).

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

3. Banyak ke Banyak (Many to Many)


Ini berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan
banyak entitas pada himpunan entitas B dan demikian juga sebaliknya, dimana
setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas
pada himpunan entitas A.

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

5.2.3. Key (Kunci)


Secara Konseptual, entity dan relationship secara individu berbeda, tetapi dari
pandangan database perbedaan diantara keduanya, dapat dilihat berdasarkan
atributnya. Hal ini digunakan Superkey yaitu kumpulan satu atau beberapa atribut,
yang diambil secara kolektif yang dapat mengidentifikasikan secara unik suatu entity di
dalam entity set. Tetapi hal itu akan memberikan kesukaran, karena superkey mungkin
bisa berisi beberapa atribut yang sangat banyak. Yang diperlukan dari superkey adalah
super set sekecil mungkin, oleh karena itu minimal superkey disebut Candidate Key.
Kemungkinan bisa terjadi bahwa beberapa kumpulan atribut yang berbeda
dapat berperan sebagai candidate key. Maka digunakan istilah Primary Key untuk
menyatakan suatu candidate key yang dipilih dalam mengidentifikasi entity dalam
entity set. Foreign Key adalah atribut yang melengkapi suatu hubungan yang
menunjukan ke induknya (primary). Kunci tamu ditempatkan di entitas anak, juga sama
dengan kunci primary induk yang merelasikannya.

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.

5.2.4. Varian ERD


Sejumlah varian dari pemodelan menggunakan Entity Relationship:
1. Generalization and Specialization
Hasil pemecahan suatu entity set yang lebih tinggi ke tingkat lebih rendah disebut
specialization, sebaliknya hasil gabungan dua atau lebih entity set yang tingkatnya
rendah, untuk menghasilkan entity set yang tingkatnya lebih tinggi disebut
generalization.
NIK

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

3. Relasi Tunggal (Unary Relation)


Implementasi relasi tunggal (unary relation) dari/ke himpunan yang yang sama
dalam ER-Diagram tergantung pada derajat relasi. Untuk relasi satu ke banyak
akan diimplementasikan table baru yang merepresentasikan relasi tersebut. Table
baru ini mendapatkan field dari semua atribut relasi yang ditambahkan dengan
atribut key dari himpunan entitas.

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

4. Relasi Multi Entitas (N-ary relation)


Relasi multi entitas yang menghubungkan lebih dari dua himpunan entitas (N
entitas, dimana N>2) akan diimplementasikan pada sebuah table khusus.
Kode_Cust

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

Kode_Cust Nama Alamat

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

5.2.5. Membangun Entity-Relationship Diagram


1. Menentukan Entitas
Menentukan peran, kejadian/kegiatan, lokasi, hal nyata dan kosenp dimana
pengguna akan menyimpan data.
2. Menentukan Relasi
Tentukan hubungan antara sepasang entity menggunakan matriks relationship.
3. Gambar ERD sementara
Gambarkan entity-entity dan relationship diantara entity untuk menghubungkannya.
4. Tentukan Kardinalitas
Tentukan kardinalitas (pemunculan suatu entity di entity lainnya yang
berhubungan).
5. Tentukan kunci utama (Primarykeys)
Identifikasi atribut data yang secara unik mengidentifikasi setiap entity.
6. Gambar ERD berdasarkan kunci
Sertakan primarydi setiap entity.
7. Menentukan Atribut
Kumpulkan informasi detil yang penting dalam sistem yang sedang dikembangkan.
8. Pemetaan Atribut
Untuk setiap atribut, letakkan dalam satu entity yang tepat. Cari juga atribut yang
ada dalam relationship.
9. Gambar ERD dengan Atribut
Sesuaikan ERD hasil langkah 6 dengan entity atau relationship hasil langkah 8.
10. Periksa Hasil
Apakah Entity Relationship Diagramakhir telah secara tepat mencerminkan data
sistem?

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

3. Gambar ERD sementara


Kita menghubungkan entitas yang mempunyai relasi seperti yang ditunjukan pada
matriks relasi entitas.

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

5. Tentukan kunci utama (Primary-keys)


Kunci utama adalah Nama Bagian, Nomor Pengawas, Nomor Pegawaidan
Nomor Proyek.

Halaman 10 dari 20

Pemodelan Data

6. Gambar ERD berdasarkan kunci


NaBAG

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

9. Gambar ERD dengan Atribut


NaBAG

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.

5.3.1. Bentuk Normalisasi


Aturan normalisasi merupakan suatu aturan yang dikenakan pada relasi-relasi dalam
basis data serta harus dipenuhi oleh relasi pada setiap level normalisasi. Beberapa
level yang digunakan pada normalisasi yaitu.
1. Bentuk Normal Kesatu (1NF/First Normal Form)
Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam flat file (file
datar / rata), data dibentuk dalam satu record demi satu record dan nilai dari field
berupa "otomic value". Tidak ada set atribut yang berulang-ulang atau atribut bernilai
ganda (multivalue). Tiap field hanya satu pengertian, bukan merupakan kumpulan kata
yang mempunyai arti yang mendua, hanya satu arti saja dan juga bukanlah pecahan
kata-kata sehingga artinya lain.
Misalnya :
KELAS(Kode_kelas,nama_kelas,instruktur)
Merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribut satu
pengertian yang tunggal.
Contoh Data
Kode_Kelas
1234
1543
1775

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

Bentuk normal kesatu dari bentuk di atas menjadi :


No_Siswa
22890100
22890100
22890101
22890101
22890101

Nama
Tanzania
Tanzania
Nia
Nia
Nia

Wali_studi
Zaenudin
Zaenudin
Rizki
Rizki
Rizki

Kelas_1
1234
1543
1234
1775
1543

2. Bentuk Normal Kedua (2NF/Second Normal Form)


Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria
bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada
kunci utama/ primary key. Sehingga untuk membentuk normal kedua haruslah sudah
ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribut lain
yang menjadi anggotanya.
Dari contoh relasi SISWA pada bentuk normal kesatu, terlihat bahwa kunci
utama/primary key adalah nomor siswa. Nama siswa dan Wali_studi bergantung
fungsi pada No_siswa, tetapi kode_kelas bukanlah fungsi dari SISWA maka file
SISWA dipecah menjadi 2 relasi yaitu :
Relasi SISWA
No_Siswa
Nama
22890100
Tanzania
22890101
Rizki

Wali studi
Zaman
Nia

Relasi AMBILKELAS (ada kelas).


No_siswa kode_kelas
22890100
1234
22890100
1543
22890101
1234
22890101
1775
22890101
1543

3. Bentuk Normal Ketiga (3NF/Third Normal Form)


Untuk menjadi bentuk normal ketiga relasi haruslah dalam bentuk normal kedua dan
semua atribut bukan primer tidak punya hubungan yang transitif. Dengan kata lain,
setiap atribut bukan kunci harus bergantung hanya pada primary key dan secara
menyeluruh.
Contoh pada bentuk normal kedua di atas termasuk juga bentuk normal ketiga karena
seluruh atribut yang ada disitu bergantung penuh pada kunci primernya.
4. Boyce-Codd Normal Form (BCNF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk normal
ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap
atribut harus bergantung fungsi pada atribut superkey.
Pada contoh di bawah ini terdapat relasi SEMINAR, kunci primer adalah no_siswa +
seminar. Siswa boleh mengambil satu atau dua seminar. Setiap seminar
membutuhkan 2 instruktur dan siswa setiap dibimbing oleh salah satu diantara 2

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

5.3.2. Penerapan Bentuk Normalisasi


Proses perancangan database dapat dimulai dari dokumen dasar yang dipakai dalam
sistem.
PT. SANTI PUTRA
Jalan Setiabudhi No. 25 Palu
Kode Supplier
: G01
Nama Supplier
: Gobel Nustra
KODE
NAMA BARANG
A01
MUGEN MONITOR 14
A02
SPC MONITOR 14
Jatuh tempo Faktur : 09/07/97

Faktur Pembelian Barang


Tanggal
Nomor
QTY
10.0
10.0

: 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

1. Step I bentuk unnormalized


Bentuk menjadi tabel unnormalized, dengan memakai semua field data yang ada .

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

Namun bentuk normal kesatu ini mempunyai banyak kelemahan yaitu


a. Inserting/penyisipan
Kita tidak dapat memasukkan kode dan nama supplier saja tanpa ada transaksi
pembelian, sehingga supplier baru dapat masuk bila ada transaksi pembelian.
b. Deleting/Penghapusan
Bila satu record diatas dihapus misalnya No. 1 factur 779, maka berakibat pula
menghapus data supplier SO2 (Hitachi), pada hal data supplier masih diperlukan.
c. Updating/Pengubahan
Kode dan nama supplier terlihat ditulis berkali-kali, bila suatu ketika terjadi perubahan
nama supplier misalnya maka harus mengganti disemua record yang mengandung
hal tersebut. Bila ada yang terlewat maka membuat data tidak konsisten lagi.
d. Redundancy
Field jumlah di atas merupakan redundancy, karena setiap kali harga dikalikan
dengan quantitas akan menghasilkan jumlah. Maka field tersebut dapatlah dibuang,
bila tidak dibuang maka mengakibatkan tidak konsisten. Tidak konsisten disini
disebabkan karena bila ada perubahan harga, hanya data harga yang diubah, data
jumlah tidak maka nilai jumlah tidak sama dengan q x harga.
3. Step III bentuk normal kedua
Pembentukan bentuk normal kedua dengan mencari kunci-kunci field yang dapat
dipakai sebagai patokan dalam pencarian dan sifatnya unik.
Melihat kondisi dari permasalahan factur diatas dapat diambil kunci kandidat yaitu:
Kode supplier
Kode barang
Bentuklah tiga tabel dengan kunci tersebut, lihatlah kebergantungan fungsional fieldfield lain terhadap field kunci, maka didapatkan tabel sebagai berikut :

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

5. Step V Pengujian dengan data contoh


Pengujian disini untuk memastikan kebenaran isi tabel dan hubungan antara tabel
tersebut. Ujilah bahwa setiap tabel haruslah punya hubungan dengan tabel yang
lainya. Bila tidak ada hubungan antar tabel maka dapat dikatakan perancangan untuk
membuat satu database adalah gagal.
Table Supplier
ode
Nama
Supplier
Supplier
G01
Gobel
S02
Nustra
Hitachi
Tabel Nota
No. Factur
779
996

Kode Supplier
S02
G01

Tabel Transaksi Barang


No. Factur
Kode Barang
779
R02
998
A01
998
A02

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

6. Step VI Hubungan relasi antar tabel


Gambar hubungan relasi antar file yang ada adalah :

Tabel Supplier

Tabel Nota

Tabel Barang

Tabel Transaksi Barang

Pengertian relasi di atas adalah


a. Satu supplier punya banyak Faktur. Faktur punya relasi terhadap supplier, Dalam
hal ini tidaklah dapat dibalik supplier punya relasi terhadap Faktur.
b. Satu faktur punya beberapa transaksi barang
c. Satu barang terjadi beberapa kali transaksi pembelian barang
7. Step VII Kelengkapan Field-Field dalam perancangan
Permasalahan di atas hanya mengacu pada satu dokumen factur pembelian barang,
padahal pada kenyataannya factur tersebut punya dokumen pelengkap misalnya
Factur Penjualan Barang, Laporan Stock barang, Laporan Pembelian dan masih
banyak laporan dan dokumen data entry lainnya.

Halaman 18 dari 20

Pemodelan Data

Lewat step-step perancangan seperti di atas maka diperoleh field-field untuk


melengkapi tabel-tabel yang ada dalam satu database, misalnya Tabel Barang dengan
bertambahnya field yang lain menjadi :
Tabel Barang
Kode Barang
Nama Barang
Harga Beli
Harga Jual
Sisa Stock Akhir
Sisa Stock Awal Bulan

5.4. Integritas Data


Secara etimologis, integritas berarti kesatuan. Dalam konteks basis data, obyek
integritas tersebut adalah data. Sehingga dapat disimpulkan bahwa integritas data
merupakan keutuhan dan kesatuan data dalam basis data sehingga data tersebut
dapat menjadi sumber informasi yang dapat digunakan. Munculnya istilah integritas
terutama disebabkan oleh adanya konsep basisdata relasional dan adanya
normalisasi.
Pemilahan data ke dalam tabel-tabel yang mempunyai relasi membuat integritas
keseluruhandata menjadi sangat penting. Relasi antara satu tabel dengan tabel yang
lain harus benarbenar terjadi sehingga keutuhan data dapat terjaga.
Pada basisdata relasional dikenal istilah integrity constraint ( batasan integritas).
Batasan ( constraint) integritas memastikan bahwa perubahanperubahan yang
dilakukan oleh pengguna yang berhak tidak akan menghasilkan inkonsistensi data.
Batasan integritas menjaga terhadap kerusakan baik yang disengaja maupun tidak
disengaja pada basis data.
Ilustrasi dari integritas data pada suatu basis data relasional.
Tabel Mata_kuliahdan tabel dosenmemiliki satu kolom yang sama yaitu kolom NIP.
Terlihat bahwa satu dosen dapat mengajar lebih dari satu mata kuliah.
Dalam derajat relasi, hubungan kedua entitas ini dapat dinyatakan dengan hubungan
banyak ke satu( many to one).
Yang berarti bahwa setiap entitas pada himpunan Mata_kuliah : NIP berhubungan
dengan paling banyak 1 entitas pada himpunan Dosen : NIP.
Adanya pemilahan tabel ( yang disebabkan oleh normalisasi) menyebabkan dikenalnya
kunci tamu ( foreign key) dalam relasi antar tabel.
Kunci tamu merupakan kolom yang mereferensikan pada kunci primer tabel lain, untuk
menjaga relasi antar tabel.
Dalam contoh di atas, yang diklasifikasikan sebagai kunci tamu( foreiign key) adalah
kolom NIPpada tabel Mata_kuliah. Sedangkan kolom NIP pada tabel dosen
merupakan kunci primer ( primary key) dari tabel Dosen.
Mata_kuliah
Kode_MK
K-001
B-002
K-002

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

Awalnya aplikasi basisdata dibuat dengan menggunakan sistem file dalam


penyimpanan basisdatanya. Aplikasi basisdata juga belum mempunyai DBMS (
Database Management System) sendiri.
Penggunaan sistem file dalam penyimpanan data memiliki beberapa kelemahan,
diantaranya adalah sebagai berikut :
1. Pengulangandan inkonsistensi data.
2. Biasanya data disimpan dalam format file yang berbedabeda, sehingga
dimungkinkan adanya duplikasi pada file yang berbeda.
3. Kesulitan dalam pengaksesandata.
4. Sulit dalam mengisolasi karena banyaknya file serta formatnya.
5. Masalah integritas
6. Constraint (batasan) integritasmenjadi bagian dari kode program. Sehingga akan
cukup sulit ketika akan melakukan perubahan atau penambahan batasan tersebut.
7. Masalah keamanan
8. Akses data yang bersamaan oleh banyak pengguna.

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

Anda mungkin juga menyukai