86545609 5 pemodelan data erd dan normalisasi

20
Pemodelan Data Halaman 1 dari 20 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

Upload: gebound

Post on 24-Apr-2015

94 views

Category:

Documents


18 download

DESCRIPTION

erd dan kawan2nya

TRANSCRIPT

Page 1: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 1 dari 20

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

Page 2: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 2 dari 20

Relationship set

Penghubung atribut dengan entitas dan entitas dengan relasi

atribut

Key atribut

Derived atribut

Composite atribut

Contoh penggunaan ERD Model Peter Chen

Gambar 5.1. Implementasi ERD Model Peter Chen

relasi

atribut

atribut

atribut

atribut

N 1 1 M

NIM

Mahasiswa Matakuliah belajar

nama Tgl lahir

umur

alamat

Jalan

kota

Kd pos

Kd Mat

Nama Mat SKS

atribut atribut

Page 3: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 3 dari 20

Model yang juga digunakan adalah model Martin dengan menggunakan simbol seperti di bawah ini :

Tabel. 5.2. simbol ERD Model Martin

Notasi 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 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.

Mahasiswa

NIM

Mahasiswa

NIM

Jadwal

Hari Waktu KDJur KDRu NRD NIM

Dosen

NRD

Ruangan

KDRu

Jurusan

KDJur

mengambil mengajar

digunakanmempunyai

Page 4: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 4 dari 20

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.

B1

B2

B3

B4

A

A1

A2

A3

A4

B

NIK

1 1

Nama Alamat

KARYAWAN

NIK

Kode_Bagian Nama_Bagian

BAGIAN

Kode_Bagian

mengepalai

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).

A

A1

A2

A3

B

B1

B2B3B4

B5

Page 5: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 5 dari 20

Kode_jur

1 M

Nama_jur Jenjang

Jurusan

Kode_jur

NIM Nama_MHS

NIM

Mengambil

Alamat

Mahasiswa

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.

B1

B2

B3

B4

A

A1

A2

A3

B

Kode_Cust

M M

Nama Alamat

Customer

Kode_Cust

Kode_Brg Nama_Brg

Kode_Brg

Harga

Barang

Tgl_Beli Qty

Beli

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.

Page 6: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 6 dari 20

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

Upah_Harian Harian Kontrak

ISA

Lama_kontrak

Table Karyawan Table Harian Table Kontrak

NIK Nama Alamat NIK Upah_Harian 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.

Page 7: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 7 dari 20

M

Id_Proyek Nama_Proyek

Proyek

Id_Kerja durasiId_Pegawai Nama

PegawaiM

Id_Pegawai Id_Proyek

Kode_Mesin

Nama_Mesin

Mesin

M

M

Id_Kerja

Kode_Mesin

Menggunakan

Kerja

Table Pegawai Table Proyek Table Kerja

Id_Pegawai Nama Id_Proyek Nama_Proyek Id_Pegawai Id_Proyek Id_Kerja Durasi

Table Mesin Table Menggunakan

Kode_Mesin 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.

Page 8: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 8 dari 20

Kode_Ang MNama

Alamat Tgl_Lahir

ANGGOTA

N

Kode_Ang

Kode_Anak

Anak

Table Anggota Table Anak

Kode_Ang 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

M N

Nama Alamat

Customer

Kode_Petugas

Plat_No Kelas

Tgl_Berangkat

Kapasitas

Bis

Kode_Cust Plat_No

Reservasi

Kode_Petugas Nama Petugas

Petugas

M

Table Customer Table Bis Table Petugas

Kode_Cust Nama Alamat Plat_No Kelas Kapasitas Kode_Petugas Nama_Petugas

Table Reservasi

Kode_Cust Plat_No Kode_Petugas Tgl_Berangkat

Page 9: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 9 dari 20

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 Pengawas Proyek Bagian - milik Dipimpin

oleh

Pegawai Bekerja di - - Bekerja pada

Pengawas Memimpin - - - Proyek menggunakan - -

Page 10: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 10 dari 20

3. Gambar ERD sementara Kita menghubungkan entitas yang mempunyai relasi seperti yang ditunjukan pada matriks relasi entitas.

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.

5. Tentukan kunci utama (Primary-keys) Kunci utama adalah Nama Bagian, Nomor Pengawas, Nomor Pegawaidan Nomor Proyek.

BAGIAN PENGAWAS

PROYEK PEGAWAI

Dipimpin oleh

Bekerja di

Bekerja pada

M N

M

N

1 1BAGIAN PENGAWAS

PROYEK PEGAWAI

Dipimpin oleh

Bekerja di

Bekerja pada

Page 11: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 11 dari 20

6. Gambar ERD berdasarkan kunci 7. Menentukan Atribut

Atribut yang diperlukan adalah Nama Bagian, Nama Proyek, Nama Pengawas, Nama Pegawaiselain primary-keys.

8. Pemetaan Atribut

Atribut Entitas Atribut Entitas Nama Bagian Bagian NmBag Bagian Nama Proyek Proyek NoPro Proyek Nama Pengawas Pengawas NoPws PengawasNama Pegawai Pegawai NoPeg Pegawai

Atribut relasi

Masa Jabatan Dipimpin oleh Masa Kerja Bekerja di Masa Kerja Proyek Bekerja pada

NaBAG NoPAW

NoPEG NoPRO

M N

M

N

1 1BAGIAN PENGAWAS

PROYEK PEGAWAI

Dipimpin oleh

Bekerja di

Bekerja pada

1

Page 12: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 12 dari 20

9. Gambar ERD dengan Atribut

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.

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.

1 1

M

N M N

BAGIAN PENGAWAS

PROYEK PEGAWAI

Dipimpin oleh

Bekerja di

Bekerja pada

NaBAG NoPAW

NoPEG NoPRO

Nama BAGIAN

Nomor Pengawas

Nama Pegawai

Nomor Proyek

Masa Kerja

Masa Kerja Proyek

Masa Jabatan

Page 13: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 13 dari 20

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 Nama_Kelas Instruktur

1234 1543 1775

Fisika Dasar Matematika Program Teknik

Heri Sugeha Yuyun Sara Maman Kasidi

SISWA(No_siswa,Nama,Wali_studi,Kelas1,Kelas2,Kelas3)

Page 14: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 14 dari 20

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 Wali_studi Kelas_1 Kelas_2 Kelas_3 22890100 22890101

Tanzania Nia

Zaenudin Rizki

1234 1234

1543 1775

1543

Bentuk normal kesatu dari bentuk di atas menjadi : No_Siswa Nama Wali_studi Kelas_1 22890100 22890100 22890101 22890101 22890101

Tanzania Tanzania Nia Nia Nia

Zaenudin Zaenudin Rizki Rizki Rizki

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 Relasi AMBILKELAS (ada kelas).

No_Siswa Nama Wali studi No_siswa kode_kelas 22890100 22890101

Tanzania Rizki

Zaman Nia

22890100 22890100 22890101 22890101 22890101

1234 1543 1234 1775 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

Page 15: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 15 dari 20

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 Instruktur 22890100 22890101 22890102 22890101 22890109

2281 2281 2291 2291 2291

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 Relasi SEMINAR-INSTRUKTUR Instruktur Seminar No_Siswa Instruktur

Budi Kardi Mac Rachmat

2281 2281 2291 2291

22890100 22890101 22890102 22890101 22890109

Budi Kardi Mac Rachmat Rachmat

5.3.2. Penerapan Bentuk Normalisasi Proses perancangan database dapat dimulai dari dokumen dasar yang dipakai dalam sistem. PT. SANTI PUTRA Faktur Pembelian Barang Jalan Setiabudhi No. 25 Palu Kode Supplier : G01 Tanggal : 07/07/97 Nama Supplier : Gobel Nustra Nomor : 987

1. Step I bentuk unnormalized Bentuk menjadi tabel unnormalized, dengan memakai semua field data yang ada . No Fac

Kd Sup

Nama Supp

Kd Brg

Nama Brg

Tanggal Jatuh Tempo

Q Harga Jumlah Total

779 998

S02 G01

Hitachi Gobel N

R02 A01 A02

Mouse Monitor CPU

020797 070797 070797

020797 070797 070797

10 10 10

10.000 400.000 250.000

100.000 4.000.000 2.500.000

100.000

6.500.000

KODE NAMA BARANG QTY HARGA JUMLAH A01 A02

MUGEN MONITOR 14” SPC MONITOR 14”

10.0 10.0

1.350.000,00 2.000.000,00

13.500.000,00 20.000.000,00

Jatuh tempo Faktur : 09/07/97 Total 33.500.000,00

Page 16: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 16 dari 20

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 field-field 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

Kd Sup

Nama Supp

Kd Brg

Nama Brg

Tanggal Jatuh Tempo

Q Harga Jumlah Total

779 998 998

S02 G01 G01

Hitachi Gobel N Gobel N

R02 A01 A02

Mouse Monitor CPU

020797 070797 070797

020797 070797 070797

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 field-field lain terhadap field kunci, maka didapatkan tabel sebagai berikut :

Page 17: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 17 dari 20

Tabel Supplier Table Barang * Kode Supplier * Kode Barang Nama Supplier Nama Barang Tabel Nota * No. Factur, Tanggal, Tempo, Qty, Harga, Keterangan Total * Kunci Primer dari tabel ** Kunci tamu/ penghubung

* Kode Supplier dari tabel terhadap * Kode Barang 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:

* Kode Barang Nama Barang

* Kode Supplier Nama Supplier

* No. Factur, * Kode barang Q, Harga

* No. Factur, Tanggal Tempo, Total, K **Kode Supplier

Tabel Supplier Tabel Barang

Tabel Nota Tabel Transaksi Barang

Page 18: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 18 dari 20

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 Tabel Barang

ode Supplier

Nama Supplier

Kode Barang

Nama Barang

G01 S02

Gobel Nustra Hitachi

R01 A01 A02

Mouse Monitor CPU

Tabel Nota

No. Factur Kode Supplier Tanggal Tempo Total 779 996

S02 G01

02/02/97 07/02/97

02/03/97 07/03/97

100.000 6.500.000

Tabel Transaksi Barang

No. Factur Kode Barang Q Harga 779 998 998

R02 A01 A02

10 10 10

100.000 4.000.000 2.500.000

6. Step VI Hubungan relasi antar tabel Gambar hubungan relasi antar file yang ada adalah : 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.

Tabel Supplier Tabel Barang

Tabel Nota Tabel Transaksi Barang

Page 19: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 19 dari 20

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 Dosen

Kode_MK Mata_kuliah NIP K-001 Komp. Aplikasi 001 B-002 Basis Data 002 K-002 Algoritma 001

NIP Nama_dosen 001 Kiki, ST 002 Asep, ST

Foreign key Primary key

Page 20: 86545609 5 Pemodelan Data ERD Dan Normalisasi

Pemodelan Data

Halaman 20 dari 20

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