5. Pemodelan Data ERD Dan Normalisasi
-
Upload
hanum-laila -
Category
Documents
-
view
2.975 -
download
1
Transcript of 5. Pemodelan Data ERD Dan Normalisasi
Pemodelan Data
BAB 5 Pemodelan DataTujuan PembelajaranPada 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. PendahuluanPada 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-RelationshipModel 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
relasiPenghubung atribut dengan entitas dan entitas dengan relasi atribut
atributKey atribut
atribut
Derived atribut
atributComposite 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 NotasiMahasiswa
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
NIMJadwal mengambil mempunyai Hari Waktu KDJur KDRu NRD NIM
NRDmengajar digunakan
Jurusan
Ruangan
KDJur
KDRu
5.2.2. Kardinalitas / CardinalitiesSejumlah 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.
AA1 A2 A3 A4
BB1 B2 B3 B4
NIK
Nama
Alamat
Kode_Bagian
Nama_Bagian
KARYAWAN
1
mengepalai
1
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).
AA1 A2 A3
BB1 B2 B3 B4 B5
Halaman 4 dari 20
Pemodelan Data
Kode_jur
Nama_jur
Jenjang
NIM
Nama_MHS
Alamat
Jurusan
1
Mengambil
M
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.
AA1 A2
BB1 B2 B3
A3
B4
Kode_Cust
Nama
Alamat
Tgl_Beli
Qty
Kode_Brg Nama_Brg
Harga
Customer
M
Beli
M
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 ERDSejumlah 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
M
Kerja
M
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
M
Kode_Ang
ANGGOTA
Anak
Alamat
Tgl_Lahir
N
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
M
Reservasi
N
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 Diagram1. 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 KasusSebuah 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 MBekerja di
1
Dipimpin oleh
PENGAWAS 1
N PEGAWAI
M
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 kunciNaBAG NoPAW
BAGIAN MBekerja di
1
Dipimpin oleh
PENGAWAS 1 1
N PEGAWAI
M
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 AtributNaBAG Nama BAGIAN Nomor Pengawas NoPAW
BAGIAN MBekerja di
1
Dipimpin oleh
1
PENGAWASMasa Jabatan
Masa Kerja
N PEGAWAI MBekerja padaNomor Proyek
Masa Kerja Proyek
N
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. NormalisasiNormalisasi 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 NormalisasiAturan 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 NormalisasiProses 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 DataSecara 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 keyHalaman 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. KesimpulanEntity-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