NORMALISASI BASIS DATA. Institut Teknologi Sumatera

dokumen-dokumen yang mirip
Materi 5 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

PERANCANGAN BASIS DATA

Normalisasi 1 Normalisasi 2 Normalisasi 3 BCNF

Materi 4 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

Materi 4 PERANCANGAN BASIS DATA (PBD) 3 SKS Semester 5 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya

NORMALISASI. Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

ANOMALI. Anomali ada 3 jenis yaitu: Anomali pengubahan Anomali penyisipan Anomali penghapusan

SISTEM BASIS DATA. Pertemuan 5. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

20 Bhs.Jepang Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya akan tetapi belum ada seorangpun yang ikut kursus ini, shg

SISTEM BASIS DATA. Pertemuan 4. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

BASIS DATA Mia Fitriawati, S.Kom., M.Kom.

Normalisasi Lanjut. I. Review Normalisasi

SQL LANJUT BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Perancangan Basis Data

ANALISA RANCANGAN DATABASE

Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan (misalnya ketidakkonsistenan data karena adanya redudansi).

Bentuk normal pertama (1NF) untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua (2NF) untuk menghilangkan kebergantungan parsial.

OVERVIEW BASIS DATA RELASIONAL. Oleh: Ir. M. Ramadhan, MT

Database System 4 Normalization

Teknik Normalisasi. Normalisasi

Database desain juga termasuk diagram ER (Entity-hubungan model). Diagram ER adalah diagram yang membantu merancang database secara efektif dan

2. First Normal Form (1NF) Suatu tabel dianggap normal ke satu (1NF) jika : - Tidak terdapat baris yang bernilai ganda atau duplikat.

NORMALISASI. By Mrs Imana Malia Kondou

NORMALISASI. 2 nf. 3 nf BCNF. 4 nf. 5 nf. Hal. 1 dari 11

Contents. Normalisasi. Bentuk Normalisasi. Dependency. Status Kunci (Key) Dekomposisi

Perancangan Database Bagian II (Normalisasi( Normalisasi) TUJUAN PEMBELAJARAN

ALJABAR RELASIONAL BA S I S DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Teknik dan Penerapan Normalisasi

Normalisasi Data. Author : Minarni, S.Kom.,MM

Desain Database. Dr. Khamami Herusantoso 1/107

PERANCANGAN FISIK BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

Tujuan Umum Tujuan Khusus Pokok Bahasan/Materi

Menurut E.F. Codd: Normalisasi dipakai untuk membuat struktur tabel (relasi) dalam basis data mengurangi kemubaziran data; Kadang dipakai sebagai

NORMALISASI. Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel tabel

STMIK AMIKOM YOGYAKARTA

PERANCANGAN BASIS DATA PERTEMUAN KE -3. Rauf Fauzan, S.Kom.,M.Kom

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

BASIS DATA (BS203) NORMALISASI. fb: NDoro Edi. Page 1

BASIS DATA. Desain Database dan Normalisasi. Fakultas Ilmu Komputer UDINUS

NORMALISASI. Suzan Agustri 60

Modul 9 : Normalisasi 1st NF sampai dengan BCNF

PERANCANGAN SISTEM TERINCI DATABASE

TEHNIK NORMALISASI LANJUTAN

PARADIGMA VOL. IX. NO. 2, APRIL 2007

NORMALISASI DATA. Basis Data

SISTEM BASIS DATA AUB SURAKARTA

BAB 7 MERANCANG BASIS DATA

PERANCANGAN SISTEM TERINCI DATABASE

C H A P T E R 5-8. Normalisasi Database. Arif Basofi, S.Kom, MT.

DESAIN DATABASE DAN NORMALISASI

ANALISA RANCANGAN NORMALISASI & DATABASE

Perancangan Basis Data

ANOMALI. Terlihat ada ketidak konsistenan. Fakta pertama menyatakan bahwa pemasok citra berlokasi di Bogor, tetapi fakta kedua menyatakan di Bandung.

Copyright 2005 PENS-ITS C H A P T E R

BAB V. dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru

Pertemuan 7-8 NORMALISASI

Normalisasi Donny Yulianto, S.Kom

Bagian 4 Normalisasi. Kuliah Basis Data Pra S2 Ilmu Komputer - FMIPA Drs. Agfianto Eko Putra, M.Si.

2.1 Sistem Pendukung Keputusan

PERANCANGAN BASIS DATA. Alif Finandhita, S.Kom

PERTEMUAN 6. Normalisasi Database (Conoly-chap 14) (Ramakisman -chap 15)

Normalisasi. Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

NORMAL FORM. Normalisasi Table sendiri terbagi atas bentuk normal ke 1 sampai bentuk normal ke 5. lebih jelasnya

BASIS DATA (BS203) NORMALISASI. fb: NDoro Edi. Page 1

Pertemuan VII Normalization (1) Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

P9 Normalisasi. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta

ERD MAPPING BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

BAB 7 PENERAPAN BENTUK NORMALISASI

C H A P T E R. Copyright 2005 PENS-ITS

Basis Data 1 - TIS3333

HAL YANG PENTING DIINGAT DI DALAM TAHAPAN NORMALISASI

DESAIN DATABASE ERD (Entity Relationship Diagram) Normalisasi (komposisi)

VISUAL PROGRAMMING 2. bangdanu.wordpress.com. By: Danu Wira Pangestu

Rancangan Database. Database. File. Record. Data item atau field. Characters

BAB III OBJEK DAN METODE PENELITIAN. Bandung yang beralamat di jalan Tubagus Ismail Raya No. 22 Dago Bandung.

Nor o mal a i l s i a s s a i s La L n a j n u j t u an

BAB 6 BENTUK BENTUK NORMALISASI

PERANCANGAN DATA BASE BY LILIS PUSPITAWATI, SE.,M.SI

SISTEM BASIS DATA (Lanjutan) :

BAB III OBJEK DAN METODE PENELITIAN. Objek penelitian ditujukan untuk meneliti objek-objek yang terlibat dalam

Materi 1 SISTEM BASIS DATA 3 SKS Semester 2 S1 Sistem Informasi UNIKOM 2017 Nizar Rabbi Radliya

Copyright 2005 PENS-ITS C H A P T E R. Normalisasi Database

HUBUNGAN PERALATAN PENDUKUNG SISTEM PADA CONTOH KASUS PERANCANGAN SISTEM PENGOLAHAN DATA ORDER PAKAIAN BERBASIS KOMPUTER PADA BINATU KSH

DESAIN DATABASE. Pertemuan 06 3 SKS

BAB II LANDASAN TEORI. membentuk satu kesatuan untuk mencapai satu tujuan tertentu. Dapat dilihat dari. menekankan pada komponen atau elemennya.

PERTEMUAN 12 MACAM-MACAM BENTUK NORMALISASI

PERTEMUAN 3 NORMALISASI

Materi 1 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

Perancangan Database Bagian I. Ahmad Hanafi

BAB III OBJEK DAN METODE PENELITIAN. Berikut ini adalah gambaran umum dari perusahaan tempat penulis

Teknik Perancangan Basis Data

Kontrak Kuliah. Bentuk-Bentuk Normalisasi. Edi Sugiarto, S.Kom, M.Kom

NORMALISASI. Dr.Budi Setiyono, MT

Normalisasi Tabel Pada Basisdata Relasional

DATA MODELLING DALAM PROYEK SI Hanif Al Fatta M.Kom

Materi 3 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

Transkripsi:

NORMALISASI BASIS DATA Institut Teknologi Sumatera

PRE TEST Sebutkan kegunaan ERD. Sebutkan perbedaan metode perancangan basis data dengan cara top down vs bottom up. Jelaskan! 2

TUJUAN PERKULIAHAN Mahasiswa dapat merancang basis data dengan metode normalisasi (bottom up). Dalam merancang sebuah basis data, mahasiswa dapat menghilangkan duplikasi, anomali, dan berbagai macam ketergantungan. Mahasiswa dapat membentuk struktur tabel yang berkualitas melalui proses normalisasi terhadap data yang belum normal. 3

POKOK BAHASAN 1. Pengantar Normalisasi Anomali Ketergantungan 2. Normalisasi 3. Studi Kasus 4

CARA MERANCANG BASIS DATA Top Down Data belum terbentuk Prinsip sistem keseluruhan sudah diketahui Perancangan menggunakan Entity Relationship Diagram (ERD) Bottom Up Organisasi memiliki data existing (data nyata) yang siap ditempatkan kedalam baris dan kolom Mungkin terjadi perombakan signifikan dari struktur asli ke struktur basis data Perancangan menggunakan metode Normalisasi 5

TOP DOWN VS BOTTOM UP Jika dilaksanakan dengan kehati-hatian dan mengikuti kaidah yang ada, perancangan dengan kedua cara tersebut akan menghasilkan fisik basis data yang sama. Saling melengkapi, dapat dilakukan bersama-sama, atau bergantian. Dari data yang ada dilakukan normalisasi, untuk kepentingan evaluasi dan dokumentasi, hasil kerja normalisasi dapat diwujudkan dalam sebuah ERD. ERD yang ada dapat dimodifikasi dengan pertimbangan tertentu, hasilnya diimplementasikan dalam sejumlah struktur tabel basis data. Struktur tersebut dapat diuji kembali dengan aturan-aturan normalisasi. Hingga akhirnya diperoleh sebuah struktur data yang efektif dan efisien. 6

NORMALISASI Suatu proses yang digunakan untuk menentukan pengelompokan atribut-atribut dalam sebuah tabel sehingga diperoleh tabel dengan struktur yang baik. Suatu tabel dinyatakan normal apabila tabel tersebut memenuhi aturan-aturan tertentu. 7

TABEL DIKATAKAN BURUK Terdapat data sama yang tersimpan di banyak tempat. Menyebabkan data tidak konsisten Terjadi perulangan atau duplikasi sehingga terjadi pemborosan ruang penyimpanan. Terjadi kehilangan data yang tidak disengaja atau tidak diketahui. 8

TUJUAN NORMALISASI 1. Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya menangai bagian kecil dari sistem. 2. Menghilangkan duplikasi data. 3. Membuat data dapat diakses dan dimanipulasi secara cepat dan efisien. 9

TUJUAN NORMALISASI 4. Mengatur data sedemikian rupa sehingga ketika modifikasi data dilakukan pada satu tempat saja. 5. Memungkinkan baris-baris dalam tabel disisipkan, dimodifikasi, dan dihapus tanpa menimbulkan kesalahan atau ketidakkonsistenan (anomali). 10

Tabel Buruk Normalisasi Tabel Normal 11

PENGANTAR NORMALISASI Anomali Anomali penyisipan Anomali pengubahan Anomali penghapusan Ketergantungan Ketergantungan fungsional Ketergantungan sepenuhnya vs ketergantungan parsial Ketergantungan transitif 12

ANOMALI Anomali adalah masalah yang timbul ketika terjadi operasi pemutakhiran data. Misalnya: pengubahan data yang membuat data tidak konsisten, atau suatu data menjadi hilang. Bentuk Anomali Anomali Penyisipan Anomali pengubahan Anomali penghapusan 13

CONTOH REDUDANSI - ANOMALI Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang 1. Tentukan kunci primer dari tabel diatas! 2. Temukan bentuk anomali yang dapat terjadi pada tabel diatas! 14

ANOMALI PENYISIPAN Anomali penyisipan adalah masalah yang terjadi ketika suatu baris data disisipkan kedalam sebuah tabel. Anomali terjadi karena kunci primer pada baris data yang baru bernilai NULL. 15

ANOMALI PENYISIPAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang data disisipkan 16 Operator ingin menambahkan data pemasok pada pada tabel diatas. Anomali apa yg mungkin terjadi? P55 PT Bangun Jaya Jakarta data disisipkan P78 CV Mataram Solo

ANOMALI PENGUBAHAN Anomali pengubahan adalah masalah yang timbul ketika data dalam tabel diperbarui. Anomali pengubahan dapat muncul karena terdapat banyak data yg serupa (duplikat). Sehingga apabila satu data diubah, data lain tidak terkena efek perubahan. 17

ANOMALI PENGUBAHAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang data nama_pemasok dan kota diubah 18

ANOMALI PENGUBAHAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Karmila Jaya Yogyakarta B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang data nama_pemasok dan kota diubah 1. Ada dua data yg sepertinya sama, mana yg benar? 2. Bagaimana cara mengatasi hal ini? 19

ANOMALI PENGHAPUSAN Anomali penghapusan adalah masalah yang timbul ketika suatu baris dalam suatu tabel dihapus. Anomali pengubahan dapat muncul karena tidak adanya pemisahan/pengelompokan jenis data yang jelas dalam suatu tabel. 20

ANOMALI PENGHAPUSAN Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang apakah yg akan terjadi apabila kita menghapus data pemasok dg ID P11? 21

KETERGANTUNGAN Ketergantungan fungsional Ketergantungan sepenuhnya vs ketergantungan parsial Ketergantungan transitif 22

KETERGANTUNGAN FUNGSIONAL Ketergantungan fungsional (depedensi fungsional) adalah kekangan antara dua buah atribut (atau himpunan atribut). 23

KETERGANTUNGAN FUNGSIONAL Sebuah atribut dikatakan memiliki ketergantungan fungsional apabila setiap nilai dalam X berhubungan dengan satu nilai yang sama dalam Y. X Y Dibaca: X menentukan Y Y bergantung secara fungsional terhadap X 24

KETERGANTUNGAN FUNGSIONAL X Y Atribut yang berada di kiri tanda panah disebut penentu atau determinan. Adapun yang berada di kanan tanda panah dinamakan sebagai dependen atau yang bergantung. 25

CONTOH - KETERGANTUNGAN FUNGSIONAL kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang Berlaku notasi: kd_barang nama_barang kd_barang harga_jual kd_pemasok nama_pemasok kd_pemasok kota 26

CONTOH - KETERGANTUNGAN FUNGSIONAL Tabel Kuliah kd_mk NIP th_akademik IF4012 198803 2015/2016 IF4013 199212 2015/2016 IF6011 199007 2016/2017 IF6015 199305 2016/2017 IF4012 198803 2016/2017 Ketergantungan fungsional pada kumpulan atribut: {kd_mk, NIP} th_akademik 27

CONTOH - KETERGANTUNGAN FUNGSIONAL Tabel Dosen_Pendidikan NIP nama_dosen jenis_kelamin pendidikan th_lulus 198803 Rajif Pria S1 2010 199305 Indra Pria S1 2013 199007 Nana Wanita S1 2014 199305 Indra Pria S2 2015 198803 Rajif Pria S2 2012 Ketergantungan fungsional pada kumpulan atribut: {NIP, pendidikan} th_lulus 28

CONTOH - KETERGANTUNGAN FUNGSIONAL Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang Tentukan ketergantungan fungsional pada tabel diatas! 29

KETERGANTUNGAN SEPENUHNYA VS KETERGANTUNGAN PARSIAL Suatu atribut Y dikatakan memiliki ketergantungan sepenuhnya terhadap X, apabila: X adalah atribut (kumpulan atribut) yang menjadi kunci primer. Y tidak memiliki ketergantungan terhadap sebagian dari X. 30

KETERGANTUNGAN SEPENUHNYA VS KETERGANTUNGAN PARSIAL Ketergantungan parsial: X adalah kumpulan atribut yang membentuk kunci primer. Y memiliki ketergantungan terhadap sebagian dari X. Tabel yang baik, semua atributnya harus bergantung sepenuhnya terhadap kunci primer. 31

CONTOH - KETERGANTUNGAN PARSIAL Tabel Dosen_Pendidikan NIP nama_dosen jenis_kelamin pendidikan th_lulus 198803 Rajif Pria S1 2010 199305 Indra Pria S1 2013 199007 Nana Wanita S1 2014 199305 Indra Pria S2 2015 198803 Rajif Pria S2 2012 {NIP, pendidikan} adalah kunci primer NIP nama_dosen Ketergantungan parsial NIP jenis_kelammin 32

KETERGANTUNGAN TRANSITIF Suatu atribut Z dikatakan memiliki ketergantungan transitif terhadap X apabila: Z memiliki ketergantungan fungsional terhadap Y Y memiliki ketergantungan fungsional terhadap X X Y Z 33

CONTOH - KETERGANTUNGAN TRANSITIF Tabel Buku_Penulis ISBN Judul_buku kd_penerbit nama_penerbit kota 978 Basis Data C20 Informatika Bandung 979 Sistem Operasi C21 Andi Offset Yogya 980 Berlatih Fedora C20 Informatika Bandung 981 Seluk Beluk Mikrotik C21 Andi Offset Yogya 982 Belajar Office C22 Airlangga Surabaya Ketergantungan transitif: ISBN kd_penerbit kd_penerbit nama_penerbit, kd_penerbit kota Maka, ISBN kd_penerbit nama_penerbit ISBN kd_penerbit kota 34

CONTOH - KETERGANTUNGAN TRANSITIF Tabel Barang_Pemasok kd_barang nama_barang harga_jual kd_pemasok nama_pemasok kota B001 TV Sono Flat 27 2.700.000 P22 PT Citra Jaya Bogor B002 HP Samsul G7 2.250.000 P33 PT Kartika Yogya B003 Komputer DULL i3 4.500.000 P11 PT Amerta Bandung B004 TV Polyback 32 3.300.000 P33 PT Kartika Yogya B005 HP Lehngopo A100 1.400.000 P44 PT Nidya Tangerang 35 Temukan ketergantungan transitif pada tabel diatas! Temukan jenis ketergantungan lain pada tabel diatas!

SO... Pada satu saat yang sama, mungkin saja satu tabel memiliki banyak jenis ketergantungan. Supaya struktur tabel menjadi lebih baik, dan agar tidak terjadi anomali, maka penting bagi sebuah tabel untuk melewati proses normalisasi. 36

TAHAPAN NORMALISASI Bentuk normal pertama 1NF First normal form Bentuk normal kedua 2NF Second normal form Bentuk normal ketiga 3NF Third normal form Bentuk normal Boyce-Codd BCNF Boyce-Codd normal form Bentuk normal keempat 4NF Fourth normal form Bentuk normal kelima 5NF Fifth normal form 37

BENTUK NORMAL PERTAMA (1NF) Suatu keadaan yang membuat setiap perpotongan baris dan kolom hanya berisi satu nilai. Agar tabel berada dalam bentuk normal pertama, perlu langkah untuk menghilangkan atribut yang bernilai ganda. 38

LANGKAH NORMALISASI 1NF Berikut ini adalah tabel dalam bentuk belum normal / unnormalized form (UNF) Nomor Pegawai Nama Pegawai Nomor Klien Nama Klien P27 Amir Hamzah K01 K02 K03 Rini Sumarni Maman Abdurrohman Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 K07 Sulaiman Kohar Veronica Anggi Ubahlah tabel diatas menjadi tabel dalam bentuk normal pertama (1NF) 39

LANGKAH NORMALISASI 1NF 1. Bentuk sejumlah baris sehingga setiap sel berisi satu nilai. Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni K02 Maman Abdurrohman K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar K07 Veronica Anggi 40

LANGKAH NORMALISASI 1NF 2. Bagian yg kosong diisi dengan data yang sesuai. Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 41

LANGKAH NORMALISASI 1NF 3. Menentukan kunci primer. Penentuannya dapat dipilih melalui determinan-determinan yang muncul. Sehingga setiap baris dapat diidentifikasi secara unik. Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 42

BENTUK NORMAL KEDUA (2NF) Suatu tabel dikatakan memenuhi bentuk normal kedua apabila tabel tersebut: a. Telah memenuhi bentuk normal pertama (1NF) tidak ada lagi atribut bernilai ganda. b. Tidak mengandung ketergantungan parsial. 43

LANGKAH NORMALISASI 2NF Berikut ini adalah tabel yang memenuhi bentuk normal pertama (1NF). Ubahlah tabel berikut menjadi tabel yang memenuhi bentuk normal kedua. nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 44 identifikasi ketergantungan parsial dari tabel diatas!

LANGKAH NORMALISASI 2NF Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi {no_pegawai, nomor_klien} adalah kunci primer nomor_pegawai nama_pegawai nomor_klien nama_klien Ketergantungan parsial 45

LANGKAH NORMALISASI 2NF a. Ubah setiap kasus ketergantungan parsial menjadi sebuah tabel sendiri, dengan determinan (dari ketergantungan parsial tersebut) menjadi kunci primer nya. b. Manfaatkan kunci tamu agar relasi antar tabel tetap terjaga. c. Hapus data duplikat. d. Suatu tabel yang dipecah dalam tahapan normalisasi disebut juga dengan istilah dekomposisi tabel. 46

LANGKAH NORMALISASI 2NF Tabel Pegawai_Klien nomor_pegawai nama_pegawai nomor_klien nama_klien P27 Amir Hamzah K01 Rini Sumarni P27 Amir Hamzah K02 Maman Abdurrohman P27 Amir Hamzah K03 Imanuel Cristoper P28 Kartika Yani K04 Kurniawan Sugandi P29 Subekti K05 M. Mansyur P30 Hendra K06 Sulaiman Kohar P30 Hendra K07 Veronica Anggi 47 dekomposisi tabel menjadi..

LANGKAH NORMALISASI 2NF Tabel Pegawai Tabel Klien kunci tamu nomor_pegawai P27 P27 P27 P28 P29 P30 P30 nama_pegawai Amir Hamzah Amir Hamzah Amir Hamzah Kartika Yani Subekti Hendra Hendra nomor_klien nama_klien nomor_pegawai K01 Rini Sumarni P27 K02 Maman Abdurrohman P27 K03 Imanuel Cristoper P27 K04 Kurniawan Sugandi P28 K05 M. Mansyur P29 K06 Sulaiman Kohar P30 K07 Veronica Anggi P30 identifikasi dan hilangkan data duplikat 48

LANGKAH NORMALISASI 2NF Tabel Pegawai Tabel Klien kunci tamu nomor_pegawai P27 P28 P29 P30 nama_pegawai Amir Hamzah Kartika Yani Subekti Hendra nomor_klien nama_klien nomor_pegawai K01 Rini Sumarni P27 K02 Maman Abdurrohman P27 K03 Imanuel Cristoper P27 K04 Kurniawan Sugandi P28 K05 M. Mansyur P29 K06 Sulaiman Kohar P30 K07 Veronica Anggi P30 49

LANGKAH NORMALISASI 2NF Dibawah ini adalah opsi lain dalam dekomposisi tabel ini. Mana yg lebih baik? Tabel Pegawai Tabel Pegawai_Klien Tabel Klien nomor_pegawai P27 P28 P29 P30 50 nama_pegawai Amir Hamzah Kartika Yani Subekti Hendra nomor_pegawai P27 P27 P27 P28 P29 P30 P30 nomor_klien K01 K02 K03 K04 K05 K06 K07 nomor_klien K01 K02 K03 K04 K05 K06 K07 Diagram ER berperan utk check & recheck, periksa kembali apakah hasil dekomposisi tabel diatas sesuai dg teori ERD mapping!? Periksa kembali diagram ER dari tabel diatas! nama_klien Rini Sumarni Maman Abdurrohman Imanuel Cristoper Kurniawan Sugandi M. Mansyur Sulaiman Kohar Veronica Anggi

BENTUK NORMAL KETIGA (3NF) Suatu tabel dikatakan memenuhi bentuk normal ketiga apabila tabel tersebut: a. Telah memenuhi bentuk normal kedua (2NF) tidak ada lagi atribut bernilai ganda dan tidak terdapat ketergantungan parsial. b. Tidak mengandung ketergantungan transitif (jika memang ada). 51

LANGKAH NORMALISASI 3NF a. Bentuk tabel baru yang tidak melibatkan kunci primer pada tabel semula. Atribut perantara (pada ketergantungan transitif) akan menjadi kunci primer bagi tabel baru yang terbentuk. b. Manfaatkan kunci tamu agar relasi antar tabel tetap terjaga. c. Hapus data duplikat. 52

LANGKAH NORMALISASI 3NF Tabel Buku_Penulis ISBN Judul_buku kd_penerbit nama_penerbit kota 978 Basis Data C20 Informatika Bandung 979 Sistem Operasi C21 Andi Offset Yogya 980 Berlatih Fedora C20 Informatika Bandung 981 Seluk Beluk Mikrotik C21 Andi Offset Yogya 982 Belajar Office C22 Airlangga Surabaya Ketergantungan transitif: ISBN kd_penerbit kd_penerbit nama_penerbit, kd_penerbit kota Maka, ISBN kd_penerbit nama_penerbit ISBN kd_penerbit kota 53

LANGKAH NORMALISASI 3NF setelah dekomposisi Tabel Buku Tabel Penulis ISBN Judul_buku kd_penerbit kd_penerbit nama_penerbit kota 978 Basis Data C20 C20 Informatika Bandung 979 Sistem Operasi C21 C21 Andi Offset Yogya 980 Berlatih Fedora C20 C20 Informatika Bandung 981 Seluk Beluk Mikrotik C21 C21 Andi Offset Yogya 982 Belajar Office C22 C22 Airlangga Surabaya 54

LANGKAH NORMALISASI 3NF setelah dekomposisi Tabel Buku Tabel Penerbit ISBN Judul_buku kd_penerbit kd_penerbit nama_penerbit kota 978 Basis Data C20 C20 Informatika Bandung 979 Sistem Operasi C21 C21 Andi Offset Yogya 980 Berlatih Fedora C20 C22 Airlangga Surabaya 981 Seluk Beluk Mikrotik C21 982 Belajar Office C22 55

CONTOH LAIN TABEL NORMAL Tabel Barang kd_barang nama_barang harga_jual kd_pemasok B001 TV Sono Flat 27 2.700.000 P22 B002 HP Samsul G7 2.250.000 P33 B003 Komputer DULL i3 4.500.000 P11 B004 TV Polyback 32 3.300.000 P33 B005 HP Lehngopo A100 1.400.000 P44 Tabel Pemasok kd_pemasok nama_pemasok kota P22 PT Citra Jaya Bogor P33 PT Kartika Yogya P11 PT Amerta Bandung P44 PT Nidya Tangerang Buatlah simulasi tambah, ubah dan hapus data pada kedua tabel diatas! Apakah masih terjadi anomali? 56

BETUK NORMAL LAIN Bentuk normal Boyce-Codd (BCNF), Bentuk normal keempat (4NF), dan Bentuk normal kelima (5NF) tidak dipelajari pada matakuliah ini. Ketiga bentuk normal diatas (BCNF, 4NF, 5NF) sangat kompleks, namun manfaatnya tidak begitu besar. Sampai dengan bentuk normal ketiga telah dapat menghasilkan tabel yang berkualitas. 57

STUDI KASUS Tabel Jadwal_Kuliah NIP Nama Dosen Kode MK Nama MK SKS NIM Nama Mahasiswa 198803 Rajif IF402 Basis Data 3 111 113 114 Rahmat Joni Angel Tahun Akademik 2016/2017 2016/2017 2016/2017 199305 Indra IF405 Kecerdasan Buatan 4 113 Joni 2017/2018 A 199007 Nana IF601 Proyek Perangkat Lunak 4 289 Bagus 2017/2018 BC 198803 Rajif IF402 Basis Data 3 111 234 Rahmat Vicky 2017/2018 2017/2018 Bentuk data diatas menjadi tabel-tabel normal. Tunjukkan langkah-langkah yang dilewati data tersebut dalam proses normalisasi. Baik pada normalisasi tahap pertama, kedua, dan ketiga! Diskusikan bersama kelompok anda. Presentasikan! 58 Nilai D AB C A B

TERIMA KASIH 59

PR Lakukan mapping terhadap ERD tugas anda! Isikan data riil terhadap tabel hasil mapping tersebut. Ujilah masing-masing tabel hasil mapping tersebut dengan prinsip-prinsip normalisasi! Tunjukkan langkah-langkah normalisasi-nya. Mulai dari bentuk normal pertama, bentuk normal kedua, dan bentuk normal ketiga. Presentasikan! 60

PR Instal software basis data pada komputer anda. Gunakan perangkat lunak MySQL atau Maria DB. Aplikasikan rancangan basis data anda (yang sudah dinormalisasi) pada perangkat lunak tersebut. Masukkan semua data riil yang anda miliki pada perangkat lunak basis data tersebut. Susun dalam sebuah laporan dan presentasikan! 61