normalisasi

37
Normalisasi 1

Upload: blake-jennings

Post on 30-Dec-2015

63 views

Category:

Documents


1 download

DESCRIPTION

1. Normalisasi. 2. Tujuan Pembelajaran. Memahami pentingnya normalisasi . Memahami normalisasi bentuk pertama (1NF). Memahami aturan pembuatan normalisasi 1NF. Memahami normalisasi bentuk kedua (2NF) Memahami aturan normalisasi 2NF Memahami normalisasi bentuk ketiga (3NF) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Normalisasi

Normalisasi

1

Page 2: Normalisasi

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 2NF6. Memahami normalisasi bentuk ketiga (3NF)7. Memahami normalisasi Boyce-Codd Normal Form

(BCNF)

2

Page 3: Normalisasi

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

Page 4: Normalisasi

Tujuan Normalisasi

• Tujuan normalisasi adalah menyempurnakan struktur table menjadi lebih baik

• Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF, dan BCNF

4

Page 5: Normalisasi

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

Page 6: Normalisasi

FUNCTIONAL DEPENDENCY (FD)

• Contoh:

Functional Dependency:• NRP Nama• Mata_Kuliah, NRP NilaiNon Functional Dependency:• Mata_Kuliah NRP• NRP Nilai

6

Page 7: Normalisasi

NORMALISASI 1NF

1st Normal Form (1NF)• Merubah dari bentuk tabel tidak normal

(unnormalized table) menjadi bentuk normal (1NF).

• Suatu relasi R disebut 1st 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

Page 8: Normalisasi

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

Page 9: Normalisasi

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

Page 10: Normalisasi

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

Page 11: Normalisasi

NORMALISASI 2NF

2st 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

Page 12: Normalisasi

Syarat 2st Normal Form (2NF)

Syarat 2st 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

Page 13: Normalisasi

Contoh 2NF:

• Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)

• Bentuk Normal II (2NF) : (Decompose)

13

Page 14: Normalisasi

Ilustrasi 2NF

• Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)

• Bentuk Normal II (2NF) : (Decompose)

14

Page 15: Normalisasi

NORMALISASI 3NF

3rd Normal Form (3NF)• Suatu relasi R disebut normal III (3rd NF) jika

berada dalam bentuk normal II (2nd 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

Page 16: Normalisasi

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

Page 17: Normalisasi

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

Page 18: Normalisasi

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

Page 19: Normalisasi

Contoh BCNF

• Normal II (2NF) :

• Normal III (3NF) atau BCNF

19

Page 20: Normalisasi

Implementasi Basis Data

20

Page 21: Normalisasi

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

Page 22: Normalisasi

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

Page 23: Normalisasi

23

Transformasi umum/dasar

Mahasiswa

nim

alamat_mhs

nama_mhs

tgl_lahir

nim nama_mhs

alamat_mhs

tgl_lahir

Tabel Mahasiswa

Transformasi himpunan entitas dan atribut ke basis data fisik

23

Page 24: Normalisasi

24

Transformasi umum/dasar

kode_dos nama_dos alamat_dos

Tabel Dosen

Transformasi relasi satu ke satu ke basis data fisik

kode_jur nama_jur kode_dos

Tabel Jurusan

JurusanDosen mengepalai

kode_dos alamat_dos kode_jur nama_jurkode_dos kode_jur

1 1

nama_dos field yang ditambahkan dari relasi “mengepalai”

24

Page 25: Normalisasi

Kode_dos Nama_dos Alamat_dos

01 Agus

02 Khamidinal

03 Fikri

Kode_jur Nama_jur Kode_dos65 TIF 01

67 KIMIA 02

68 FISIKA 03

25

Page 26: Normalisasi

Kode_dos Nama_dos Alamat_dos Kode_jur

01 Agus 65

02 Khamidinal 67

03 Fikri 68

04 Nurochman

05 Didik

Kode_jur Nama_jur65 TIF

67 KIMIA

68 FISIKA

26

Page 27: Normalisasi

27

Transformasi umum/dasar

kode_dos

nama_dos

alamat_dos

Tabel Dosen

Transformasi relasi satu ke banyak ke basis data fisik

kode_kul

nama_kul

sks

semester

kode_dos

tempat

waktu

Tabel Kuliahfield yang ditambahkan dari relasi “mengajar”

KuliahDosen mengajar

kode_dos

alamat_dos

kode_kul nama_kulkode_dos kode_kul

1 N

waktu tempat sks semester

nama_dos

27

Page 28: Normalisasi

Kode_dos Nama Alamat Kode-kul Tempat Waktu

28

Kode_kul Nama Sks semester

28

Page 29: Normalisasi

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_kul nama_kulnim kode_kul

N N

indeks_nilai sks semester

nama_mhs

tgl_lahir

nim nama_mhs

alamat_mhs

tgl_lahir

Tabel Mahasiswanim Kode_kul Indeks_nil

ai

Tabel mempelajari/tabel nilaiKode_kul nama_kul sks semest

er

Tabel Kuliah

29

Page 30: Normalisasi

Implementasi himpunan entitas lemah

Mahasiswa

memiliki

nim

nama_mhs

alamat_mhs

tgl_lahir menyenangi

Orang tua

Hobbi

nim nama_ortu

nim hobbi

nama_ortu

hobbi

alamat_ortu

1

1

1

N

nim nama_ortu

alamat_ortu

Tabel Orang tua

nim hobbi

Tabel Hobbi

nim nama_mhs alamat_mhs

tgl_lahir

Tabel Mahasiswa

30

Page 31: Normalisasi

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_dos

nama_dos

alamat_dos

Tabel Dosen

kode_dos

nik pangkat tgl_masuk

Tabel Dosen Tetap

kode_dos nama_kantor

alamat_kantor

Tabel Dosen Tidak Tetap

Key yang diambil dari key himpunan entitas utamanya 3

1

Page 32: Normalisasi

Implementasi relasi tunggal (unary relation)

Dosen mendampingi

kuliah kuliah prasyarat

nama_dos

kode_kul

nama_dos

kode_kul

1

N

N

N

kode_dos

Nama_dos

Alamat_dos

Kode_dos_pend

Tabel Dosen

Kode_kul nama_kul sks semester

Tabel Kuliah

Kode_kul Kode_kul_prasyarat

Tabel Prasyarat Kuliah

32

Page 33: Normalisasi

Implementasi relasi multi entitas (N-ary relation)

Kuliah Dosen

Ruang

pengajaran

kode_kul kode_kul nama_dosnama_dos

waktu

kapasitasnama_ruang

kode_ruang

kode_ruang

kode_kul

Nama_kul

sks semester Kode_dos Kode_ruang waktu

Tabel Kuliah

3 buah field yang mewakili relasi pengajaran

33

Page 34: Normalisasi

Implementasi relasi multi entitas (N-ary relation)

kode_kul

Nama_kul

sks semester

Tabel Kuliah

kode_kul

Kode_dos Kode_ruang waktu

Tabel Pengajaran/jadwal

Bila satu kuliah mungkin diselenggarakan lebih dari satu kali dalam seminggu dan di ruang yang berbeda

34

Page 35: Normalisasi

Implementasi relasi ganda (redundant relation)

Dosen Kuliah

mengajar

menguasai

1

N

N

N

nama_dos kode_kul

nama_dos kode_kul

tempat waktu

kode_dos

nama_dos

alamat_dos

Tabel Dosen

kode_kul

Nama_kul

sks

semester

Kode_dos

Tabel Kuliah

Kode_dos Kode_kul

Tabel Menguasai

35

Page 36: Normalisasi

Implementasi spesialisasi dan generalisasi

Mahasiswa

Mahasiswa D3 Mahasiswa S1

ISA

generalisasi

Nim Nama_mhs Alamat_mhs

Tgl_lahir Prog_studi

Tabel Mahasiswa

36

Page 37: Normalisasi

Implementasi agregasi

Mahasiswa mempelajari KuliahN N

mengikuti

praktikum

N

N

jumlah_jamnama_pra

kode_pra

nim

kode_pra

kode_kul

nilai

nim Kode_kul Indeks_nilai

Tabel Mempelajari/nilai

Kode_pra Nama_pra

Jumlah_jam

Tabel Praktikum

nim Kode_kul

Kode_pra

nilai

Tabel Mengikuti

37