Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng.

Slides:



Advertisements
Presentasi serupa
Pertemuan 4 Heintje Hendrata, S.Kom Heintje Hendrata, S.Kom.
Advertisements

Basis data - day 4 Rachmat wahyu pramono Dosen Pembimbing:
NORMALISASI DATA Basis Data.
Normalisasi Pertemuan Minggu Ke-6.
TEKNIK PERANCANGAN BASIS DATA
Normalisasi.
Created by : Nurfajria Muchlis, S.Kom. UML merupakan metode pengembangan perangkat lunak (atau sistem informasi) dengan grafis yang mudah dipahami. UML.
Normalisasi Basis Data I.
PERANCANGAN BASIS DATA
Sistem Basis Data DANNY KRIESTANTO, S.KOM., M.ENG.
Normalisasi Basis Data
NORMALISASI.
NORMALISASI.
Pengantar Basis Data Sumber :
NORMALISASI.
SISTEM BASIS DATA STMIK – AUB SURAKARTA
IMPLEMENTASI NORMALISASI
Definisi, Ketergantungan, Langkah-Langkah
Mentari Puji Lestari TI 2B D3
10 Normalisasi Mata Kuliah: Basis Data ILMU KOMPUTER
Sistem Basis Data Redudancy Anomali.
Perancangan Data Base Relasi
Pertemuan 5 TEHNIK NORMALISASI.
BASIS DATA 11 NORMALISASI Bentuk 1NF s/d 3NF 1.
Normalisasi (bagian I)
Sistem Basis Data Renni Angreni, M.Kom.
Desain Database Disusun Oleh : Dr. Lily Wulandari
BASIS DATA 12 NORMALISASI Bentuk BCNF s/d 5NF 1.
Normalisasi dan Functional Dependency
UNIVERSUTAS NEGERI MAKASSAR
C H A P T E R 4 Normalisasi 1NF Chapter 8 - Process Modeling.
NORMALISASI BASIS DATA
Pertemuan Ke-12 Normalisasi
Analisa & Perancangan Sistem Informasi
FUNCTIONAL DEPENDENCY (NORMALISASI)
Basis Data dan SBP Disusun Oleh : Lily Wulandari.
NORMALISASI.
Pertemuan 9 ANALISA RANCANGAN DATABASE.
NORMALISASI Materi ke 9 & 10.

NORMALISASI.
NORMALISASI.

NORMALISASI.
PERANCANGAN BASIS DATA
Normalization (Part 1).
Soal Quiz Perancangan Basis Data
Sistem Basis Data Rahajeng Ratnaningsih, S. Kom STMIK – AUB Surakarta
TEKNIK NORMALISASI.
NORMALISASI DATA Basis Data.
NORMALISASI.
BASIS DATA 11 NORMALISASI Bentuk 1NF s/d 3NF 1.
NORMALISASI DATA Basis Data.
Basis Data 1 Rudi Hartono, S.E, M.Kom.
DEPENDENSI dan NORMALISASI
Pertemuan Minggu Ke-10 NORMALISASI.
NORMALISASI DATA MEETING 5 Febriyanno Suryana, S.Kom, MM
PERTEMUAN KE-12 NORMALISASI (II).
Normalisasi.
NORMALISASI DATA MEETING 5 Febriyanno Suryana, S.Kom, MM
Perancangan Database Bagian II
Normalisasi.
PERTEMUAN KE-11 NORMALISASI DATA (I).
Normalisasi.
Normalisasi.
Perancangan Data Base Relasi
NORMALISASI DATA Gede Aditra Pradnyana, S.Kom., M.Kom.
NORMALISASI.
Normalisasi.
NORMALISASI DATABASE Achmad fitro, M.Kom.
Transcript presentasi:

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Perancangan SBD dengan Model Relasional Normalisasi 1 Normalisasi 2 Normalisasi 3 BCNF

Normalisasi (Ramon, 2004) Merupakan proses langkah demi langkah yang dapat reversibel (dapat dibalik) yang menjadikan sebuah himpunan yang diketahui dari suatu relasi digantikan oleh kumpulan berurutan dari relasi-relasi yang memiliki suatu struktur yang lebih sederhana dan biasa. Setiap langkah dikenal sebagai suatu bentuk normal, mendefinisikan sebuah himpunan kriteria. Karena reversibel, maka himpunan asli dari relasi dapat dikembalikan tanpa ada informasi yang hilang.

Normalisasi (Hoffer,2002) Sebuah proses normal untuk menentukan atribut mana yang harus dikelompokkan bersama-sama di dalam sebuah relasi.

Tujuan Normalisasi Normalisasi ditujukan untuk menciptakan relasi yang berstruktur baik, dengan memenuhi kondisi (Kadir,2009): – Mengandung redundansi sesedikit mungkin – Memungkinkan baris-baris dalam relasi disisipkan, dimodifikasi, dan dihapus tanpa menimbulkan kesalahan atau ketidakkonsistenan

Redundansi Data yang disimpan berkali-kali Nama lainnya: duplikasi data

Anomali Data Anomali data akan terjadi pada proses insertion, deletion, dan update; yakni proses INSERT, DELETE, dan UPDATE. Namun umumnya hanya ada dua, yakni: UPDATE dan INSERT/DELETE karena yang mengalami anomali DELETE pasti juga akan mengalami anomali INSERT Dibutuhkan analisis tupel pada tabel untuk mengetahui apakah sebuah field/kolom akan mengalami anomali/kehilangan data ataukah tidak. Perhatikan tiap-tiap tahap normalisasi!

Contoh kasus: PEMASOK_BARANG Anomali Data KodeNama_BrgHargaKd_PemasokNm_PemasokKota T-001TV SN 14”600000P22PT SumberJakarta T-002TV SN 21”950000P22PT SumberJakarta T-003TV SS 14”450000P11PT Tunas JayaSurabaya T-004TV M 34” P33PT MekarSemarang T-005TV S 24” P44PT HolicSemarang

Anomali Data Anomali Penyisipan (INSERT) – Kunci ada yang bernilai null – Ada data yang perlu diisikan ulang (redundansi tinggi) Anomali Pengubahan (UPDATE) – Apabila ada satu sel yang berubah, tupel seluruh tabel dengan data yang mirip juga harus diubah (kerancuan data). Contoh: ada perusahaan yang pindah alamat Anomali Penghapusan (DELETE) – Saat data dihapus ada data lain yang ikut hilang

Anomali Data Kode_BarangNama_BarangHarga_JualKode_Pemasok T-001TV SN 14”600000P22 T-002TV SN 21”950000P11 T-003TV SS 14”450000P22 T-004TV M 34” P33 T-005TV S 12” P44 BARANG Kode_PemasokNama_PemasokKota P11PT Tunas JayaSurabaya P22PT SumberJakarta P33PT MekarSemarang P44PT HolicSemarang PEMASOK

Dependensi Dependensi sering digunakan dalam normalisasi. Ada beberapa jenis: – Dependensi fungsional – Dependensi sepenuhnya – Dependensi parsial – Dependensi total – Dependensi transitif

Dependensi Fungsional Sering kali cukup disebut dependensi saja. Merupakan kekangan antara dua buah atribut atau dua buah himpunan atribut. Contoh: R(A, B, …) B memiliki dependensi fungsional terhadap A apabila nilai A memiliki hubungan satu nilai dengan B

Notasi: A  B Dapat dibaca sebagai: – A panah B, – A menentukan B, atau – B tergantung secara fungsional pada A Item di sebelah kiri disebut penentu/determinan, sebelah kanan disebut dependen (“yang tergantung”) Dependensi Fungsional

Contoh kasus: PEMASOK_BARANG Dependensi Fungsional KodeNama_BrgHargaKd_PemasokNm_PemasokKota T-001TV SN 14” P22PT SumberJakarta T-002TV SN 21” P22PT SumberJakarta T-003TV SS 14” P11PT Tunas JayaSurabaya T-004TV M 34” P33PT MekarSemarang T-005TV S 24” P44PT HolicSemarang

Berdasarkan tabel tersebut, diperoleh: Kode  Nama_Brg Kode  Harga Kode  Kd_Pemasok Kode  Nm_Pemasok Kd_Pemasok  Nm_Pemasok Setiap Kode pasti berhubungan dengan satu Nama_Brg begitu juga antara Kode dan Harga. Begitu seterusnya. Misalnya: T-001 hanya cocok dengan 1 barang, yaitu TV SN 14” Catatan: Bagaimana kalau dibalik? Harga tidak menentukan barangnya, (karena banyak barang mempunyai harga yang sama); tapi satu jenis barang punya satu harga. Nama_Brg  Kode Nm_Pemasok  Kode_Pemasok Dependensi Fungsional

Perhatikan bagian ini: Kode  Nama_Brg Kode  Harga Kode  Kd_Pemasok Kode  Nm_pemasok Kd_Pemasok  Nm_Pemasok Ternyata, Kode menentukan lebih dari satu atribut. Notasinya dapat diganti sebagai berikut: Kode  {Nama_Brg, Harga, Kd_Pemasok} Kode  Nm_Pemasok (yang ini bagaimana?) Dependensi Fungsional

Contoh lain: DOSEN_PENDIDIKAN Sebuah atribut bisa tergantung lebih dari satu atribut. Contoh dalam kasus ini: {No_Dosen, Strata}  Lulus_Thn Dependensi Fungsional No_DosenNama_DosenJns_KlmnStrataLulus_Thn D41LintangPriaS11987 D41LintangPriaS21990 D42MurniWanitaS11988 D42MurniWanitaS21990 D42MurniWanitaS31999 D43RioPriaS11994

Dependensi Fungsional {No_Dosen, Strata}  Lulus_Thn No_Dosen saja tidak menentukan Lulus_Thn, karena untuk D41 saja ada 2 tahun lulus. Tapi pasangan No_Dosen dan Strata hanya memiliki satu nilai tahun lulus. Contohnya: {D42, S3}  1999

Dependensi Sepenuhnya Dikatakan memiliki dependensi sepenuhnya jika memiliki dua syarat berikut: 1.B mempunyai dependensi fungsional terhadap A 2.B tidak mempunyai dependensi terhadap bagian dari A

Dependensi Sepenuhnya Lulus_Thn tidak bergantung pada No_Dosen saja karena: 1.Untuk dosen D41 memiliki 2 nilai Lulus_Thn yaitu: 1987 dan Strata S1 memiliki 3 nilai, yakni: 1987, 1988, 1994 Dengan demikian, Lulus_Thn bergantung sepenuhnya terhadap gabungan No_Dosen dan Strata, dan tidak bergantung pada bagian dari {No_Dosen, Strata}. Oleh karena itu Lulus_Thn dikatakan memiliki dependensi sepenuhnya terhadap {No_Dosen, Strata}

Dependensi Parsial Syaratnya adalah sebagai berikut: 1.B adalah atribut bukan kunci primer dan A adalah kunci primer 2.B memiliki dependensi terhadap bagian dari A Contoh: Pada tabel DOSEN_PENDIDIKAN memiliki kunci primer {No_Dosen, Strata}. Atribut Jns_Klmn bergantung pada No_Dosen namun tidak pada Strata, dikatakan memiliki dependensi parsial.

Dependensi Total Dikatakan dependensi total jika memenuhi syarat berikut: 1.B memiliki dependensi fungsional terhadap A 2.A mempunyai dependensi fungsional terhadap B Notasinya : A ↔ B Seperti pada contoh : Nm_Pemasok  Kd_Pemasok Kd_Pemasok  Nm_Pemasok Dapat ditulis : Kode ↔ Nm_Pemasok

Dependensi Transitif Dikatakan memiliki dependensi transitif jika: 1.C memiliki dependensi fungsional terhadap B 2.B memiliki dependensi fungsional terhadap A Notasinya : A  B  C Pada contoh di depan: Kode  Kd_Pemasok Kd_Pemasok  Nm_Pemasok Kode  Nm_Pemasok Jadi ketiga dependensi ini sebenarnya dapat ditulis: Kode  Kd_Pemasok  Nm_Pemasok

Tahapan Normalisasi 1.1 st Normal Form – Atribut dengan nilai ganda (atau kelompok yang berulang-ulang) dihilangkan, menyisakan nilai tunggal (atau juga null) pada setiap cell. 2.2 nd Normal Form – Dependensi parsial dihilangkan 3.3 rd Normal Form – Dependensi transitif dihilangkan 4.Boyce/Codd Normal Form – Semua anomali yang tersisa dari dependensi fungsional dihilangkan 5.4 th Normal Form – Dependensi nilai ganda dihilangkan 6.5 th Normal Form – Anomali yang tersisa dihilangkan

1NF (First Normal Form) Sebuah relasi sudah berada di 1NF jika tidak ada satu pun atribut dengan nilai ganda. Jika Tabel dikonversi dari ERD, otomatis sudah tidak ada nilai ganda (lihat cara konversi data dengan nilai ganda)

Data Tidak Ternormalisasi No_pegNama_pegNo_klienNama_klien E37NinaK05Martini K08Anton K02Sarmini E38TonoK04Eka K10Andin E39HadiK06Mitha K24Buyung K90Indah

Data 1NF No_pegNama_pegNo_klienNama_klien E37NinaK05Martini E37NinaK08Anton E37NinaK02Sarmini E38TonoK04Eka E38TonoK10Andin E39HadiK06Mitha E39HadiK24Buyung E39HadiK90Indah

2NF (Second Normal Form) Syarat dari 2NF adalah: – Sudah berada dalam bentuk 1NF – Setiap atribut bukan kunci primer telah bergantung sepenuhnya pada kunci primer. Hilangkan Dependensi Parsial, langkahnya: – Ubahlah tiap dependensi parsial menjadi relasi, dengan kunci primer sebagai penentunya (baca lagi pengertian dependensi parsial) – Ubah dependensi yang terkait langsung dengan kunci primer sebagai relasi tersendiri dan kunci primernya adalah kunci primer dalam relasi semula.

Menghilangkan Dependensi Parsial Diandaikan terdapat sebuah relasi R dengan: R(A,B,C,D) Kunci Primer (A,B) A  D Maka relasi R dapat digantikan dengan dua buah relasi R1 dan R2 sebagai berikut: R1(A,D) dengan Primary Key-nya (A) R2(A,B,C) dengan Primary Key-nya (A,B) dan Foreign Key-nya (A) Referensi R1

Sehingga contoh kasus pada slide 27 dapat diubah menjadi: PEGAWAI(No_peg, Nama_peg) KLIEN(Id_klien, Nama_klien) PEGAWAI_KLIEN(No_Peg, Id_Klien) Menghilangkan Dependensi Parsial

PEGAWAIKLIEN Menghilangkan Dependensi Parsial No_pegNama_peg E37Nina E37Nina E37Nina E38Tono E38Tono E39Hadi E39Hadi E39Hadi Id_klienNama_klien K05Martini K08Anton K02Sarmini K04Eka K10Andin K06Mitha K24Buyung K90Indah

PEGAWAI_KLIEN Tips: pisahkan entitas objek dengan semua atribut yang melekat padanya dan buat tabel penghubung Menghilangkan Dependensi Parsial No_pegId_klien E37K05 E37K08 E37K02 E38K04 E38K10 E39K06 E39K24 E39K90

3NF (Third Normal Form) Syarat dari bentuk normal ketiga adalah: – Sudah berada dalam bentuk normal kedua – Tidak ada dependensi transitif (baca lagi pengertian tentang dependensi transitif) Mudahnya, dependensi transitif di dalam sebuah relasi adalah sebuah dependensi fungsional di antara dua atau lebih atribut yang bukan kunci primer

Menghilangkan Dependensi Transitif Bila terdapat sebuah relasi R R(A, B, C) dengan kunci primer (A) B  C Maka relasi R dapat digantikan dengan dua buah relasi R1 dan R2 sebagai berikut: R1(B, C) dengan kunci primer (B) R2(A, B) dengan kunci primer (A) dan kunci tamu (B) referensi R1

Jika diaplikasikan untuk tabel PEMASOK_BARANG pada slide 14, dapat dihasilkan: PEMASOK(Kd_Pemasok, Nm_Pemasok, Kota) BARANG(Kode, Nama_Brg, Harga, Kd_Pemasok) Menghilangkan Dependensi Transitif

BCNF (Boyce-Codd Normal Form) Suatu relasi sudah dalam BCNF bila semua dependensi/ketergantungan dalam relasi tersebut hanya terhadap kunci. BCNF disebut juga sebagai 3,5NF dan jarang terjadi karena pada umumnya 3NF sudah cukup.