materi 5. normalisasi

58
NORMALISASI Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Unika Santo Thomas SU

Upload: melva-amma-kalian

Post on 05-Dec-2014

828 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Materi 5. normalisasi

NORMALISASI

Lamhot Sitorus, M.Kom

Fakultas Ilmu Komputer Unika Santo Thomas SU

Page 2: Materi 5. normalisasi

PengantarPerancangan basis data

diperlukan memperoleh basis data yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam pemanipulasian (tambah, edit, hapus) data

09/04/2023 2Lamhot Sitorus / PengantarBasis Data

Page 3: Materi 5. normalisasi

Pengantar Merancang basis data :

1. Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui

2. Langsung membuat model Entity-Relationship

Page 4: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

4

PengantarNormalisasi, perancang/desainer

basis data bertitik tolak dari situasi yang nyata rule

Page 5: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

5

DependencyKetergantungan Fungsional

(Functional Dependency)Ketergantungan Fungsional

Sepenuhnya(Full Functional Dependency)

Ketergantungan Total (Total Dependent)

Ketergantungan Transitif (Transitive Dependency)

Page 6: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

6

Dependency FungsionalSuatu atribut Y mempunyai

dependency fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y

X Y(X secara fungsional menentukan

Y)

Contoh :PESANAN_JUAL(Pembeli, Kota, Barang,

Jumah)

Page 7: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

7

Dependency FungsionalPembeli Kota Barang Jumlah

P1 Yogya B1 10P1 Yogya B2 5P2 Solo B1 7P2 Solo B2 6P2 Solo B3 6P3 Klaten B3 7P3 Klaten B4 6

Page 8: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

8

Dependency FungsionalPembeli KotaPembeli yang sama Kota juga

sama{Pembeli, Barang} Jumlah{Pembeli, Barang} Kota{Pembeli, Barang} {Jumlah,

Kota}

Page 9: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

9

Dependency Fungsional SepenuhnyaSuatu atribut Y mempunyai

dependency fungsional penuh terhadapatribut X jika :◦Y mempunyai dependency

fungsional terhadap X◦Y tidak memiliki dependency

terhadap bagian dari XContoh : diketahui suatu Tabel

berikut :PELANGGAN(Kode_Pelanggan,

Nama, Kota, Nomor_Fax)

Page 10: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

10

Dependency Fungsional Sepenuhnya

{Kode_Pelanggan, Kota} Nomor_FaxKode_Pelanggan Nomor_Fax

Nomor_Fax tidak dependency sepenuhnya terhadap {Kode_Pelanggan, Kota}

Nomor_Fax hanya dependency sepenuhnya terhadap Kode_Pelanggan

Page 11: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

11

Dependency TotalSuatu atribut Y mempunyai

dependensi total terhadap atribut X, jika :◦Y memiliki dependensi fungsional

terhadap X◦X memiliki dependensi fungsional

terhadap Y

X Y

Contoh : perhatikan tabel berikut.

Page 12: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

12

Dependency TotalKode_Pemas

okNama_Pemas

okKota

K1 Kartika Jakarta

C1 Citra Bandung

C2 Candra Jakarta

C3 Caca Medan

Kode_Pemasok Nama_Pemasok

Page 13: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

13

Dependency TransitifAtribut Z mempunyai

dependency transitif terhadap atribut X , jika :◦Y memilikidependency fungsional

terhadap X◦Z memiliki dependency fungsional

terhadap Y

X Y Z

Contoh Perhatikan

Page 14: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

14

Dependency Transitif

Kuliah {Ruang, Waktu}Ruang TempatKuliah Ruang Tempat

KULIAH RUANG

TEMPAT WAKTU

Jaringan Komputer

Merapi Gedung Utara Senin, 08.00-09.50

Matematika I Rama Gedung Selatan

Selasa, 07.00 – 08.45

Sistem Pakar Sinta Gedung Selatan

Rabu, 10.00-11.45

Fisika I Merapi Gedung Utara

Selasa, 08.00-09.50

Page 15: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

15

Anomali (Anomaly)Efek samping yang tidak

diharapkan◦Menyebabkan ketidakkonsistenan◦Data menjadi hilang ketika dilakukan

penghapusan

Page 16: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

16

Anomali (Anomaly)Anomali Penyisipan (Insertion

Anomaly)Anomali Penghapusan (Deletion

Anomaly)Anomali Peremajaan (Update

Anomaly)

Page 17: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

17

Anomali PeremajaanNilai atribut yang mubazir

dilakukan perbaikan/peremajaan,tetapi tidak dilakukan secara keseluruhan

KetidakkonsistenanContoh perhatikan Tabel

PESANAN berikut.

Page 18: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

18

Anomali Peremajaan (2)Pemasok Kota Barang Jumlah

Kartika Jakarta Monitor 10

Citra Padang Zip Drive 5

Candra Bandung Keyboard 4

Citra Padang Mouse 5

Citra Padang Memori 25

Candra Bandung Motherboard

12

Page 19: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

19

Anomali Peremajaan (3)Andaikan Citra Pindah ke Kota

“Medan” dan diperbaiki hanya pada record ke 2, apa yang terjadi?

Page 20: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

20

Anomali PenyisipanPenambahan dilakukan ternyata

ada elemen data yang masih kosong dan elemen tersebut justru menjadi kunci

Atau Penambahan dilakukan

mengakibatkan perlunya pengubahan data lain yang tidak ada hubungan secara lojik

Contoh Perhatikan dua contoh berikut.

Page 21: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

21

Anomali Penyisipan (2)

No_Siswa Nama_Kursus Biaya

10 Bahasa Inggris 60.000

10 Bahasa Prancis 80.000

10 Bahasa Mandarin 60.000

15 Bahasa Inggris 60.000

20 Bahasa Jepang 65.000

Page 22: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

22

Anomali Penyisipan (3)Nama_Kursus Bahasa Batak

dibuka tetapi belum ada pesertanya, apa yang terjadi?

Seorang Siswa mendaftar dengan Nama Kursus Bahasa Karo, apa yang terjadi?

Page 23: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

23

Anomali Penyisipan (4)Tabel PEMERIKSAAN PEMERIKSAAN={No_Daftar,

Tgl_daftar, Tgl_periksa, No_Pasien, Nama_Pasien, Kode_Dokter, Nama_Dokter, Kode_Sakit, Deskripsi_Sakit, Kode_obat, Nama_obat, Dosis}

Page 24: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

24

Anomali Penyisipan (5)Dokter baru dimasukkan tetapi

belum menangani pasien, apa yang terjadi?

Obat baru / obat yang belum pernah diresep dimasukkan kedalam tabel, apa yang terjadi?

Penyakit baru tetapi belum pernah ada pasien didiagnosa dimasukkan, apa yang terjadi?

Page 25: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

25

Anomali PenghapusanSuatu baris / record dihapus

mengakibatkan data yang lain hilang

Page 26: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

26

Anomali Penghapusan (2)No_Siswa Nama_Kursus Biaya

10 Bahasa Inggris 60.000

10 Bahasa Prancis 80.000

10 Bahasa Mandarin 60.000

15 Bahasa Inggris 60.000

20 Bahasa Jepang 65.000

Page 27: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

27

Anomali Penghapusan (3)Hapus record yang terakhir

dengan nomor siswa 20, apa yang terjadi?

Tabel PEMERIKSAAN, data seorang pasien dihapus yang kebetulan dokter hanya mempunyai pasien yang dihapus, apa yang terjadi?

Page 28: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

28

DekomposisiMemecah suatu relasi yang

memiliki banyak atribut menjadi beberapa relasi yang memiliki jumlah atribut yang lebih sedikit berdasarkan kebergantungan fungsional yang ada.

Gunakan diagram dependensi

Page 29: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

29

Diagram Dependensi Fungsional

Dapat disajikan dalam diagram dependensi

KULIAH RUANG

TEMPAT WAKTU

Jaringan Komputer

Merapi Gedung Utara Senin, 08.00-09.50

Matematika I Rama Gedung Selatan

Selasa, 07.00 – 08.45

Sistem Pakar Sinta Gedung Selatan

Rabu, 10.00-11.45

Fisika I Merapi Gedung Utara

Selasa, 08.00-09.50

Page 30: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

30

Dekomposisi

Kuliah

Ruang

Waktu

Tempat

Page 31: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

31

NormalisasiMengurangi kemubaziran dataMenghilangkan AnomaliAlat verifikasi terhadap Model E-RMemperoleh tabel yang fleksibel

dan efisien

Page 32: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

32

Normalisasi (2) Tahapan Normalisasi :

◦ Bentuk Normal Tahap Pertama (1NF)

◦ Bentuk Normal Tahap Kedua (2NF)◦ Bentuk Normal Tahap Ketiga (3NF)◦ Bentuk Normal Boyce-Codd

(BCNF)◦ Bentuk Normal Tahap Keempat

(4NF)◦ Bentuk Normal Tahap Kelima (5NF)

Page 33: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

33

Normalisasi (3)Tahap pertama hingga ketiga

merupakan bentuk normal yang umum

BCNF perbaikan terhadap normal ketiga

4NF dan 5NF kasus khususLevel normalisasi bergantung

pada level sebelumnyaLevel makin dalam

kecenderungan tabel lebih baik bahkan anomali hilang

Page 34: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

34

Normal Tahap Pertama (1NF)

Suatu tabel dikatakan 1NF jika :◦Tidak ada baris data yang terduplikat

atau berulang dalam tabel◦Setiap kolom memiliki nilai tunggal

artinya tidak ada perulangan, group atau array

◦Data dalam satu kolom memiliki tipe data yang sejenis

Tujuan 1NF menghilangkan elemen data yang berulang

Page 35: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

35

Normal Tahap Pertama (1NF)

NIP NAMA JABATAN KEAHLIAN LAMA (Tahun)

107 Ilham Analis Senior

Cobol 6

Oracle 1

109 Rian Analis Yunior

Cobol 2

Basis data 2

112 Fika Pemrograman

Cobol 1

Basis data 1

Visual 1

Tabel JABATAN

Page 36: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

36

Normal Tahap Pertama (1NF)NIP NAMA JABATAN KEAHLIAN LAMA

(Tahun)

107 Ilham Analis Senior

Cobol 6

107 Ilham Analis Senior

Oracle 1

109 Rian Analis Yunior

Cobol 2

109 Rian Analis Yunior

Basis data 2

112 Fika Pemrograman

Cobol 1

112 Fika Pemrograman

Basis data 1

112 Fika Pemrograman

Visual 1

Page 37: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

37

Normal Tahap Pertama (1NF)

Nomor_Pesanan

Tgl_Pesanan

Item_1

Item_2

Item_3

Item_4

Total

50001 12/03/2011

P1 P2 P3 P4 45000

50002 12/03/2011

P3 P5 P6 32500

50003 13/03/2011

P1 P2 12000

Tabel PESANAN

Page 38: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

38

Normal Tahap Pertama (1NF)Nomor_Pesan

anTgl_Pesan

anItem Total

50001 12/03/2011 P1 45000

P2

P3

P4

50002 12/03/2011 P3 32500

P5

P6

50003 13/03/2011 P1 12000

P2

Page 39: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

39

Normal Tahap Pertama (1NF)Nomor_Pesan

anTgl_Pesan

anItem Total

50001 12/03/2011 P1 45000

50001 12/03/2011 P2 45000

50001 12/03/2011 P3 45000

50001 12/03/2011 P4 45000

50002 12/03/2011 P3 32500

50002 12/03/2011 P5 32500

50002 12/03/2011 P6 32500

50003 13/03/2011 P1 12000

50003 13/03/2011 P2 12000

Page 40: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

40

Bentuk Normal Tahap Kedua (2NF)Berada pada bentuk normal

pertamaSemua atribut bukan kunci

memiliki dependensi sepenuhnya terhadap kunci primer

Atau setiap atribut bergantung kepada kunci primer

Page 41: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

41

Bentuk Normal Tahap Kedua (2NF)Tabel JABATAN

◦Nama dan Jabatan Dependency Fungsional terhadap NIP (Karena NIP yang sama mempunyai Nama dan Jabatan yang sama)

◦NIP dan Keahlian menentukan Lama◦Lakukan Dekomposisi

Page 42: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

42

Bentuk Normal Tahap Kedua (2NF)

Nama

Jabatan

Lama

Keahlian

NIP

Keahlian

Page 43: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

43

Bentuk Normal Tahap Kedua (2NF)Tabel PEGAWAI

NIP NAMA JABATAN

107 Ilham Analis Senior

109 Rian Analis Yunior

112 Fika Pemrograman

Page 44: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

44

Bentuk Normal Tahap Kedua (2NF)Tabel KEAHLIAN

NIP KEAHLIAN LAMA (Tahun)

107 Cobol 6

107 Oracle 1

109 Cobol 2

109 Basis data 2

112 Cobol 1

112 Basis data 1

112 Visual 1

Page 45: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

45

Bentuk Normal Tahap Kedua (2NF)Nomor_Pesan

anTgl_Pesan

anItem Total

50001 12/03/2011 P1 45000

50001 12/03/2011 P2 45000

50001 12/03/2011 P3 45000

50001 12/03/2011 P4 45000

50002 12/03/2011 P3 32500

50002 12/03/2011 P5 32500

50002 12/03/2011 P6 32500

50003 13/03/2011 P1 12000

50003 13/03/2011 P2 12000

Page 46: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

46

Bentuk Normal Tahap Kedua (2NF)Dari Tabel diatas dapat kita

dekomposisi sehingga diperoleh tabel-tabel berikut.

Nmr_Pesanan menentukan Tgl_Pesanan dan Total

Nmr_Pesanan menentukan Item

Item

Nmr_Pesanan

Tgl_PesananTotal

Page 47: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

47

Bentuk Normal Tahap Kedua (2NF)

PESANAN1(Nmr_Pesanan, Tgl_Pesanan, Total)

PESANAN2(Nmr_Pesanan, Item)

Page 48: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

48

Bentuk Normal Tahap Kedua (2NF)

Nomor_Pesanan

Tgl_Pesanan

Total

50001 12/03/2011 45000

50002 12/03/2011 32500

50003 13/03/2011 12000

Tabel Pesanan-1

Page 49: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

49

Bentuk Normal Tahap Kedua (2NF)

Nomor_Pesanan

Item

50001 P1

50001 P2

50001 P3

50001 P4

50002 P3

50002 P5

50002 P6

50003 P1

50003 P2

Tabel Pesanan-2

Page 50: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

50

Bentuk Normal Tahap Ketiga (3NF)Suatu Relasi dikatakan dalam 3NF,

jika :◦Berada dalam bentuk 2NF◦Setiap atribut bukan kunci tidak memiliki

dependensi transitif terhadap kunci primer

Tabel Pegawai dan Keahlian telah memenuhi kriteria di atas sehingga kedua relasi termasuk dalam 3NF

Demikian juga dengan Tabel Pesanan-1 dan Pesanan-2

Page 51: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

51

Bentuk Normal Tahap Ketiga (3NF)Tabel BelanjaNmr_Pesanan

Nmr_Urut Kode_Item Nama_Item

50001 0001 P1 Pensil

50001 0002 P2 Buku Tulis

50001 0003 P3 Penggaris

50001 0004 P4 Penghapus

50002 0001 P3 Penggaris

50002 0002 P5 Pulpen

50002 0003 P6 Spidol

50003 0001 P1 Pensil

50003 0002 P2 Buku Tulis

Page 52: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

52

Bentuk Normal Tahap Ketiga (3NF)Kunci Primer Nmr_Pesanan dan

Nmr_UrutKode_Item dan Nama_Item mempunyai

dpendensi fungsional terhadap PK{Nmr_Pesanan, Nmr_Urut} {Kode_Item,

Nama_Item}Kode_Item Nama_ItemTabel Belanja dapat didekomposisiR1={Nmr_Pesanan,Nmr_Urut,Kode_Item

}R2={Kode_Item, Nama_Item}

Page 53: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

53

Bentuk Normal Tahap Ketiga (3NF)Tabel R1

Nmr_Pesanan

Nmr_Urut Kode_Item

50001 0001 P1

50001 0002 P2

50001 0003 P3

50001 0004 P4

50002 0001 P3

50002 0002 P5

50002 0003 P6

50003 0001 P1

50003 0002 P2

Page 54: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

54

Bentuk Normal Tahap Ketiga (3NF)Tabel Deteil

Kode_Item Nama_Item

P1 Pensil

P2 Buku Tulis

P3 Penggaris

P4 Penghapus

P5 Pulpen

P6 Spidol

Page 55: Materi 5. normalisasi

09/04/2023 Lamhot Sitorus / PengantarBasis Data

55

Sejauhmana Normalisasi Perlu?Pertanyaan yang sering

dilontarkanTidak ada patokannyaKita harus terus melakukan

normalisasi hingga tidak menemukan anomali lagi

Pada umumnya hingga 3NF sudah cukup memadai menghilangkan anomali

Page 56: Materi 5. normalisasi

10/04/2023 Lamhot Sitorus / PengantarBasis Data

56

LatihanRancanglah diagram E-R dari kasus aplikasi

database sederhana untuk sistem informasi akademis suatu universitas.

Entities yang dimuat adalah :◦ Mahasiswa: menyimpan semua informasi pribadi

mengenai semua mahasiswa◦ Dosen: menyimpan semua informasi pribadi

mengenai semua dosen◦ Mata_kuliah: menyimpan semua informasi

mengenai semua mata kuliah yang ditawarkan◦ Ruang: menyimpan semua informasi mengenai

ruang kelas yang digunakanKetentuan ketentuan yang berlaku dapat anda

tentukan

Page 57: Materi 5. normalisasi

10/04/2023 Lamhot Sitorus / PengantarBasis Data

57

LatihanDiberikan tabel Mahasiswa di bawah ini,

lakukan normalisasi sampai bentuk normal ke tiga

Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF).

Page 58: Materi 5. normalisasi

Terima Kasih, Semoga Sukses...........