Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Normalisasi 1. Tujuan Pembelajaran 1.Memahami pentingnya normalisasi. 2.Memahami normalisasi bentuk pertama (1NF). 3.Memahami aturan pembuatan normalisasi.

Presentasi serupa


Presentasi berjudul: "Normalisasi 1. Tujuan Pembelajaran 1.Memahami pentingnya normalisasi. 2.Memahami normalisasi bentuk pertama (1NF). 3.Memahami aturan pembuatan normalisasi."— Transcript presentasi:

1 Normalisasi 1

2 Tujuan Pembelajaran 1.Memahami pentingnya normalisasi. 2.Memahami normalisasi bentuk pertama (1NF). 3.Memahami aturan pembuatan normalisasi 1NF. 4.Memahami normalisasi bentuk kedua (2NF) 5.Memahami aturan normalisasi 2NF 6.Memahami normalisasi bentuk ketiga (3NF) 7.Memahami normalisasi Boyce-Codd Normal Form (BCNF) 2

3 Pentingnya Normalisasi • Karena adanya struktur database yang kurang bagus  Data yang sama tersimpan di beberapa tempat (file atau record)  Ketidakmampuan untuk menghasilkan informasi tertentu  Terjadi kehilangan informasi  Terjadi adanya redundansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data  Adanya NULL VALUE 3

4 Tujuan Normalisasi • Tujuan normalisasi adalah menyempurnakan struktur table menjadi lebih baik • Bentuk normalisasi yang sering digunakan adalah 1 st NF, 2 nd NF, 3 rd NF, dan BCNF 4

5 FUNCTIONAL DEPENDENCY (FD) • Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional Dependency (FD) atau Ketergantungan Fungsional, khususnya dalam melakukan dekomposisi rancangan database. • Functional Dependency (FD) dapat disimbolkan dengan: A  B : artinya B memiliki ketergantungan dengan A • Berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A. 5

6 FUNCTIONAL DEPENDENCY (FD) • Contoh: Functional Dependency: • NRP  Nama • Mata_Kuliah, NRP  Nilai Non Functional Dependency: • Mata_Kuliah  NRP • NRP  Nilai 6

7 NORMALISASI 1NF 1 st Normal Form (1NF) • Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal (1NF). • Suatu relasi R disebut 1 st NF jika dan hanya jika kondisi tablenya dari unnormalized dirubah ke bentuk normal dengan kondisi semua attribute value-nya harus atomic (tidak boleh ada attribute yang composit / multivalue) 7

8 Unnormalized table (tabel tidak normal) Suatu tabel dikatakan unnormalized jika : a)Mempunyai penggandaan field yang sejenis Contoh : Tabel dibawah adalah tabel siswa mengambil mata kuliah SISWA b)Elemen datanya memungkinkan untuk null value (kosong) Contoh : Tabel yang mencatat No. SIM yang dimiliki siswa SISWA_SIM 8

9 Tabel dalam bentuk normal 1NF, jika … • Suatu tabel dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table, dimana terjadi penggandaan field yang sejenis dan memungkinkan ada field yang null (kosong) SISWA SIM 9

10 Latihan Soal 1.Apakah bentuk relasi table Department sudah memenuhi normal 1 (1NF)? Jika belum normalisasikan. 2.Apakah bentuk relasi table Emp_Proj sudah memenuhi normal 1 (1NF)? Jika belum normalisasikan. 10

11 NORMALISASI 2NF 2 st Normal Form (2NF) • Normalisasi 2NF: jika tabel berada dalam bentuk Normal Pertama (1NF) dan setiap atribut bukan kunci bergantung penuh pada kunci primer. • Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer. 11

12 Syarat 2 st Normal Form (2NF) Syarat 2 st Normal Form (2NF): • Memenuhi kriteria tabel Normal I (1NF) • Di dalam tabel tersebut tidak ada Redundansi / Pengulangan data dan Null Value. • Field-field yang bukan PK adalah Full Dependent (bergantung penuh) pada PK. 12

13 Contoh 2NF: • Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi) • Bentuk Normal II (2NF) : (Decompose) 13

14 Ilustrasi 2NF • Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi) • Bentuk Normal II (2NF) : (Decompose) 14

15 NORMALISASI 3NF 3 rd Normal Form (3NF) • Suatu relasi R disebut normal III (3 rd NF) jika berada dalam bentuk normal II (2 nd NF) dan tidak dijumpai adanya ketergantungan transitif (Transitive Dependency). • Kebergantungan Transitif (Transitive Dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci). 15

16 Syarat 3NF Syarat 3NF: • Harus berada dalam bentuk normal II (2NF). • Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif). 16

17 Contoh 3NF: • Bentuk Normal ke Dua (2NF) : Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field Nama dan Nilai adalah Full-Dependent terhadap NRP yang bertindak sebagai PK. Berbeda dengan field Keterangan di atas yang Dependent kepada NRP akan tetapi Tidak Mutlak. Ia lebih dekat ketergantungannya dengan field Nilai. Karena field Nilai Dependent kepada NRP dan field Keterangan Dependent kepada Nilai, maka field Keterangan juga dependent kepada NRP. Ketergantungan yang demikian ini yang dinamakan Transitive-Dependent (dependent secara transitif atau samar/tidak langsung). Untuk itu dilakukan Normalisasi III (3NF). •Bentuk Normal ke Tiga (3NF) : 17

18 Boyce-Codd Normal Form (BCNF) • Secara praktis, tujuan rancangan database adalah cukup sampai pada 3NF. Akan tetapi untuk kasus-kasus tertentu kita bisa mendapatkan rancangan yang lebih baik lagi apabila bisa mencapai ke BCNF. • BCNF ditemukan oleh: R.F. Boyce dan E.F. Codd • Suatu relasi R dikatakan dalam bentuk BCNF: jika dan hanya jika setiap Atribut Kunci (Key) pada suatu relasi adalah Kunci Kandidat (Candidate Key). • Kunci Kandidat (Candidate Key) adalah atribut-atribut dari entitas yang mungkin dapat digunakan sebagai kunci (key) atribut. • BCNF hampir sama dengan 3NF, dengan kata lain setiap BCNF adalah 3NF. 18

19 Contoh BCNF • Normal II (2NF) : • Normal III (3NF) atau BCNF 19

20 Implementasi Basis Data 20

21 Implementasi basis data • Merupakan upaya membangun basis data fisik yang ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS • Diawali dengan melakukan transformasi model data ke skema/struktur basis data • Diagram E-R ditransformasi ke basis data secara fisik • Himpunan entitas dan relasi ditransformasi ke tabel-tabel (file-file data) • Atribut-atribut dari himpunan entitas dan relasi ditransformasi ke field-field dari tabel yang sesuai 21

22 22 Transformasi model data ke basis data fisik • Transformasi umum/dasar • Implementasi himpunan entitas lemah dan sub entitas • Implementasi relasi tunggal (unary relation) • Implementasi relasi multi entitas (N-ary relation) • Implementasi relasi ganda (redundant relation) • Implementasi spesialisasi dan generalisasi • Implementasi agregasi 22

23 23 Transformasi umum/dasar Mahasiswa nim alamat_mhs nama_mhs tgl_lahir nimnama_mhsalamat_mhstgl_lahir Tabel Mahasiswa Transformasi himpunan entitas dan atribut ke basis data fisik 23

24 24 Transformasi umum/dasar kode_dosnama_dosalamat_dos Tabel Dosen Transformasi relasi satu ke satu ke basis data fisik kode_jurnama_jurkode_dos Tabel Jurusan JurusanDosen mengepalai kode_dosalamat_doskode_jurnama_jur kode_doskode_jur 11 nama_dos field yang ditambahkan dari relasi “mengepalai” 24

25 Kode_dosNama_dosAlamat_dos 01Agus 02Khamidinal 03Fikri Kode_jurNama_jurKode_dos 65TIF01 67KIMIA02 68FISIKA03 25

26 Kode_dosNama_dosAlamat_dosKode_jur 01Agus65 02Khamidinal67 03Fikri68 04Nurochman 05Didik Kode_jurNama_jur 65TIF 67KIMIA 68FISIKA 26

27 27 Transformasi umum/dasar kode_dosnama_dosalamat_dos Tabel Dosen Transformasi relasi satu ke banyak ke basis data fisik kode_kulnama_kulskssemesterkode_dostempatwaktu Tabel Kuliah field yang ditambahkan dari relasi “mengajar” KuliahDosen mengajar kode_dos alamat_dos kode_kulnama_kul kode_doskode_kul 1N waktutempatskssemester nama_dos 27

28 Kode_dosNamaAlamatKode-kulTempatWaktu 28 Kode_kulNamaSkssemester 28

29 29 Transformasi umum/dasar Transformasi relasi banyak ke banyak ke basis data fisik Tabel khusus yang mewakili himpunan relasi KuliahMahasiswa mempelajari nim alamat_mhs kode_kulnama_kul nim kode_kul NN indeks_nilaiskssemester nama_mhs tgl_lahir nimnama_mhsalamat_mhstgl_lahir Tabel Mahasiswa nimKode_kulIndeks_nilai Tabel mempelajari/tabel nilai Kode_kulnama_kulskssemester Tabel Kuliah 29

30 Implementasi himpunan entitas lemah Mahasiswa memiliki nim nama_mhs alamat_mhs tgl_lahir menyenangi Orang tua Hobbi nimnama_ortu nimhobbi nama_ortu hobbi alamat_ortu N nimnama_ortualamat_ortu Tabel Orang tua nimhobbi Tabel Hobbi nimnama_mhsalamat_mhstgl_lahir Tabel Mahasiswa 30

31 31 Implementasi sub entitas hasil spesialisasi Dosen tetap nik pangkat tgl_masuk Dosen tidak tetap nama_kantor alamat_kantor ISA Dosen nama_dos alamat_dos kode_dosnama_dosalamat_dos Tabel Dosen kode_dosnikpangkattgl_masuk Tabel Dosen Tetap kode_dosnama_kantoralamat_kantor Tabel Dosen Tidak Tetap Key yang diambil dari key himpunan entitas utamanya 31

32 Implementasi relasi tunggal (unary relation) Dosen mendampingi kuliah kuliah prasyarat nama_dos kode_kul nama_dos kode_kul 1 N N N kode_dosNama_dosAlamat_dosKode_dos_pend Tabel Dosen Kode_kulnama_kulskssemester Tabel Kuliah Kode_kulKode_kul_prasyarat Tabel Prasyarat Kuliah 32

33 Implementasi relasi multi entitas (N-ary relation) Kuliah Dosen Ruang pengajaran kode_kul nama_dos waktu kapasitas nama_ruang kode_ruang kode_kulNama_kulskssemesterKode_dosKode_ruangwaktu Tabel Kuliah 3 buah field yang mewakili relasi pengajaran 33

34 Implementasi relasi multi entitas (N-ary relation) kode_kulNama_kulskssemester Tabel Kuliah kode_kulKode_dosKode_ruangwaktu Tabel Pengajaran/jadwal Bila satu kuliah mungkin diselenggarakan lebih dari satu kali dalam seminggu dan di ruang yang berbeda 34

35 Implementasi relasi ganda (redundant relation) Dosen Kuliah mengajar menguasai 1 N N N nama_doskode_kul nama_dos kode_kul tempat waktu kode_dosnama_dosalamat_dos Tabel Dosen kode_kulNama_kulskssemesterKode_dos Tabel Kuliah Kode_dosKode_kul Tabel Menguasai 35

36 Implementasi spesialisasi dan generalisasi Mahasiswa Mahasiswa D3Mahasiswa S1 ISA generalisasi NimNama_mhsAlamat_mhsTgl_lahirProg_studi Tabel Mahasiswa 36

37 Implementasi agregasi Mahasiswa mempelajari Kuliah NN mengikuti praktikum N N jumlah_jam nama_pra kode_pra nim kode_pra kode_kul nilai nimKode_kulIndeks_nilai Tabel Mempelajari/nilai Kode_praNama_praJumlah_jam Tabel Praktikum nimKode_kulKode_pranilai Tabel Mengikuti 37


Download ppt "Normalisasi 1. Tujuan Pembelajaran 1.Memahami pentingnya normalisasi. 2.Memahami normalisasi bentuk pertama (1NF). 3.Memahami aturan pembuatan normalisasi."

Presentasi serupa


Iklan oleh Google