You are on page 1of 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 Entity set

Deskripsi

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 NIM Mahasiswa

Tgl lahir Kd Mat umur 1 M belajar N 1 Matakuliah

alamat Jalan kota Kd pos

Nama Mat

SKS

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

Deskripsi Simbol Nama Entitas Primary key field

NIM

Relasi banyak ke banyak

Relasi Satu ke satu

Relasi Satu ke banyak

Terdiri dari / bagian

Contoh penggunaan ERD Model Martin

Mahasiswa

Dosen

NIM
Jadwal mengambil mempunyai Hari Waktu KDJur KDRu NRD NIM

NRD
mengajar digunakan

Jurusan

Ruangan

KDJur

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.

A
A1 A2 A3 A4

B
B1 B2 B3 B4

NIK

Nama

Alamat

Kode_Bagian

Nama_Bagian

KARYAWAN

mengepalai

BAGIAN

NIK

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

A
A1 A2 A3

B
B1 B2 B3 B4 B5

Halaman 4 dari 20

Pemodelan Data

Kode_jur

Nama_jur

Jenjang

NIM

Nama_MHS

Alamat

Jurusan

Mengambil

Mahasiswa

Kode_jur

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.

A
A1 A2

B
B1 B2 B3

A3

B4

Kode_Cust

Nama

Alamat

Tgl_Beli

Qty

Kode_Brg Nama_Brg

Harga

Customer

Beli

Barang

Kode_Cust

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

Harian

Kontrak

Lama_kontrak

Table Karyawan NIK Nama Alamat

Table Harian NIK Upah_Harian

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

durasi

Id_Proyek

Nama_Proyek

Pegawai

Kerja

Proyek

Id_Pegawai M

Id_Proyek

Id_Kerja Menggunakan

Kode_Mesin M Kode_Mesin Mesin Nama_Mesin

Table Pegawai Id_Pegawai Nama

Table Proyek Id_Proyek Nama_Proyek

Table Kerja Id_Pegawai Id_Proyek Id_Kerja Durasi

Table Mesin Kode_Mesin Nama_Mesin

Table Menggunakan 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

Pemodelan Data

Kode_Ang

Nama

Kode_Ang

ANGGOTA

Anak

Alamat

Tgl_Lahir

Kode_Anak

Table Anggota Kode_Ang Nama Alamat Tgl_Lahir

Table Anak 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 Kode_Cust Plat_No Plat_No Kelas Kapasitas

Customer

Reservasi

Bis

Kode_Petugas M Petugas

Tgl_Berangkat

Kode_Petugas

Nama Petugas

Table Customer Kode_Cust Nama Alamat

Table Bis Plat_No Kelas Kapasitas

Table Petugas 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 Bekerja di Pegawai milik menggunakan Pengawas Proyek Dipimpin oleh Bekerja pada -

Bagian Pegawai

Pengawas Memimpin Proyek

Halaman 9 dari 20

Pemodelan Data

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

BAGIAN

Dipimpin oleh

PENGAWAS

Bekerja di

PEGAWAI

Bekerja pada

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.

BAGIAN M
Bekerja di

Dipimpin oleh

PENGAWAS 1

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

BAGIAN M
Bekerja di

Dipimpin oleh

PENGAWAS 1 1

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 NmBag NoPro NoPws NoPeg Entitas Bagian Proyek Pengawas Pegawai

Atribut Masa Jabatan Masa Kerja Masa Kerja Proyek

relasi Dipimpin oleh Bekerja di Bekerja pada

Halaman 11 dari 20

Pemodelan Data

9. Gambar ERD dengan Atribut


NaBAG Nama BAGIAN Nomor Pengawas NoPAW

BAGIAN M
Bekerja di

Dipimpin oleh

PENGAWAS
Masa Jabatan

Masa Kerja

N PEGAWAI M
Bekerja pada
Nomor Proyek

Masa Kerja Proyek

PROYEK

NoPEG

Nama Pegawai

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 Relasi AMBILKELAS (ada kelas). No_siswa kode_kelas 22890100 1234 22890100 1543 22890101 1234 22890101 1775 22890101 1543

Wali studi Zaman Nia

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 JUMLAH 13.500.000,00 20.000.000,00 33.500.000,00

HARGA 1.350.000,00 2.000.000,00 Total

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

Q 10 10 10

Harga 10.000 400.000 250.000

Jumlah 100.000 4.000.000 2.500.000

Total 100.000 6.500.000

Halaman 15 dari 20

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

Q 10 10 10

Harga 10.000 400.000 250.000

Jumlah 100.000 4.000.000 2.500.000

Total 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 Tabel Nota * No. Factur, Tanggal, Tempo, Qty, Harga, Total * Kode Supplier * Kode Barang

Table Barang * Kode Barang Nama 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 Tabel Barang Kode Nama Barang Barang R01 Mouse A01 Monitor A02 CPU

Kode Supplier S02 G01

Tanggal 02/02/97 07/02/97

Tempo 02/03/97 07/03/97

Total 100.000 6.500.000

Tabel Transaksi Barang No. Factur Kode Barang 779 R02 998 A01 998 A02

Q 10 10 10

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 Barang

Tabel Nota

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 Mata_kuliah NIP Komp. Aplikasi 001 Basis Data 002 Algoritma 001 Dosen NIP 001 002 Nama_dosen Kiki, ST Asep, ST

Foreign key

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

You might also like