SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Manajemen
DATA
Adam Mukharil Bachtiar, M.T.
Normalisasi
Pemahaman Normalisasi & Anomali
Teknik mendekomposisi satu tabel menjadi beberapa
buah tabel agar tidak terjadi anomali pada tabel tersebut
apa itu anomali?
Anomali Penyisipan (Insert)
Apa yang terjadi jika B. Jerman ditambahkan ke Kursus?
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
B.Jerman 90000
Solusi Anomali Penyisipan (Insert)
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
Kursus Biaya
B. Inggris 60000
B. Jepang 70000
B.Jerman 90000
No_Siswa ...
10 ..
15 ..
20 ..
No_Siswa Kursus
10 B. Inggris
.. ..
20 B. Jepang
Anomali Peremajaan (Update)
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bandung Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Apa yang terjadi jika Citra pindah kota ke Bogor?
Solusi Anomali Peremajaan (Update)
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bandung Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Pemasok Kota
Kartika Jakarta
Citra Bandung
Yudi Medan
Pemasok Barang Jumlah
Kartika Mouse 5
Citra Monitor 2
Yudi CPU 2
Citra Printer 1
Anomali Penghapusan (Delete)
Apa yang terjadi jika No_Siswa 10 dihapus?
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
No_Siswa Kursus Biaya
15 B. Inggris 60000
20 B. Jepang 60000
Solusi Anomali Penghapusan (Delete)
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000 Kursus Biaya
B. Inggris 60000
B. Jepang 70000
B.Jerman 90000
No_Siswa ...
15 ..
20 ..
No_Siswa Kursus
15 B. Inggris
20 B. Jepang
Semua solusi dari anomali
adalah memecah tabel,
itulah normalisasi
Ada aturannya ga
pak?
Apakah memecah
tabelnya boleh asal-
asalan?
tentu tidak, kan ada aturan
dependensi!!!
Pemahaman Dependensi
mulai dari istilah di
dependensi!!!
Menggambarkan relasi/hubungan, batasan, dan
keterkaitan antara atribut-atribut dalam suatu relasi
No_KTP à Nama
Determinan/Penentu Dependent
Atribut No_KTP menentukan atribut Nama dan atribut Nama
bergantung pada atribut No_KTP
Dependensi paling dasar
adalah dependensi
fungsional
Dependensi Fungsional
Sebuah atribut berdependensi fungsional terhadap atribut
lainnya jika dan hanya jika satu nilai pada atribut
tersebut tepat dipetakan satu terhadap satu nilai
dari atribut dependentnya
Pembeli Kota Barang Jumlah
P1 Yogyakarta B1 10
P1 Yogyakarta B2 5
P2 Jakarta B1 4
P2 Jakarta B2 7
P3 Solo B3 6
P3 Solo B4 6
Pembeli à Kota
{Pembeli, Barang} à Kota
Dependensi Fungsional
Selain dependensi
fungsional, ada 4 jenis
dependensi lainnya, yaitu:
Dependensi Total
Atribut y memiliki dependensi fungsional total
terhadap atribut x jika y berdependensi fungsional terhadap x
begitu juga sebaliknya (x ↔ y)
Dependensi Fungsional Total
Diasumsikan tidak pernah ada nama yang sama maka
No_Siswa ↔ Nama
No_Siswa Nama Alamat
A1 Budi Bandung
A2 Andi Bogor
A3 Ani Serang
A4 Dian Madura
A5 Andri Ciamis
Dependensi
Fungsional Penuh
Atribut y memiliki dependensi fungsional penuh
terhadap atribut x jika y berdependensi fungsional terhadap x
dan y hanya berdependensi fungsional
terhadap subset dari x
{x,y} à z
Dikatakan dependensi fungsional penuh jika z tidak hanya cukup
bergantung pada x saja atau y saja
Dependensi
Fungsional Sebagian
Atribut y memiliki dependensi fungsional
sebagian terhadap atribut x jika Y berdependensi
fungsional terhadap X dan Y tidak berdependensi fungsional
terhadap subset dari X
{x,y} à z
x à z
Maka z berdependensi fungsional sebagian terhadap x
Dependensi
Fungsional Transitif
Atribut z memiliki dependensi fungsional
transitif terhadap atribut x jika y berdependensi fungsional
terhadap x dan z berdependensi fungsional terhadap y
x à y
y à z
Jadi x à z
Maka z berdependensi fungsional transitif terhadap x
Dependensi Fungsional Transitif
Kuliah à {Kampus, Waktu}
Kampus à Ruang
Kuliah à Waktu (Kuliah à Kampus à Waktu)
Kuliah Kampus Ruang Waktu
RPL 5 5406 Senin
Basis Data 4 4417 Selasa
Kalkulus 2 2505 Rabu
Data Mining 1 1407 Kamis
Mari kita mulai
normalisasi!
Proses Normalisasi
Tabel Pada
Basis Data
Penentuan Atribut
Bentuk Normal
1 - BCNF
Unnormalized
Form
Dokumen Manual
• Atribut bawaan (dari dokumen)
• Atribut bentukan (dari aturan
bisnis atau asumsi)
Jenis Input
Bagian pada dokumen akan menjadi atribut apabila isian atau
nilainya bersifat dinamis (data bisa berubah nilai)
Contoh Atribut
Contoh Nilai
Bentuk Normalisasi
Bentuk
Tidak
Normal
Bentuk
Normal
Pertama
Bentuk
Normal
Kedua
Bentuk
Normal
Ketiga
BCNF
Bentuk
Normal
Keempat
Bentuk
Normal
kelima
Jarang Digunakan kecuali
jika masih ada anomali
Diberikan suatu kasus
bentuk unnormalized
PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS
15 Evergreen 103 Juni E. Arbough Elect. Engineer 84.50 23.8
101 John G. News Database Engineer 105.00 19.4
105 Alice K. Johnson Database Engineer 105.00 35.7
106 William Smithfield Programmer 35.75 12.6
102 David H. Senior System Analyst 96.75 23.8
18 Amber Wave 114 Annelise Jones Application Designer 48.10 24.6
118 James J. Frommer General Support 18.36 45.3
104 Anne K. Ramoras System Analyst 96.75 32.4
112 Darlene M. Smithson DSS Analyst 45.95 44.0
22 Rolling Tide 105 Alice K. Johnson Database Desginer 105.00 64.7
104 Anne K. Ramoras System Analyst 96.75 48.4
113 Delbert K. Joenbrood Application Designer 48.10 23.6
111 Geoff B. Wabash Clerical Support 26.87 22.0
106 William Smithfield Programmer 35.75 12.8
25 Starflight 107 Maria D. Alonzo Programmer 35.75 24.6
115 Travis B. Bawangi System Analyst 96.75 45.8
101 John G. News Database Designer 105.00 56.3
114 Annelise Jones Application Designer 48.10 33.1
108 Ralph B. Washington System Analyst 96.75 23.6
118 James J. Frommer General Support 18.36 30.5
112 Darlene M. Smithson DSS Analyst 45.95 41.4
Bentuk normal pertama
(1st normal form)
• Eliminasi nilai null pada repeating groups
• Identifikasi primary key (Suggestion)
• Identifikasi seluruh dependensi (Suggestion)
PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS
15 Evergreen 103 Juni E. Arbough Elect. Engineer 84.50 23.8
15 Evergreen 101 John G. News Database Designer 105.00 19.4
15 Evergreen 105 Alice K. Johnson Database Engineer 105.00 35.7
15 Evergreen 106 William Smithfield Programmer 35.75 12.6
15 Evergreen 102 David H. Senior System Analyst 96.75 23.8
18 Amber Wave 114 Annelise Jones Application Designer 48.10 24.6
18 Amber Wave 118 James J. Frommer General Support 18.36 45.3
18 Amber Wave 104 Anne K. Ramoras System Analyst 96.75 32.4
18 Amber Wave 112 Darlene M. Smithson DSS Analyst 45.95 44.0
22 Rolling Tide 105 Alice K. Johnson Database Designer 105.00 64.7
22 Rolling Tide 104 Anne K. Ramoras System Analyst 96.75 48.4
22 Rolling Tide 113 Delbert K. Joenbrood Application Designer 48.10 23.6
22 Rolling Tide 111 Geoff B. Wabash Clerical Support 26.87 22.0
22 Rolling Tide 106 William Smithfield Programmer 35.75 12.8
25 Starflight 107 Maria D. Alonzo Programmer 35.75 24.6
25 Starflight 115 Travis B. Bawangi System Analyst 96.75 45.8
25 Starflight 101 John G. News Database Designer 105.00 56.3
25 Starflight 114 Annelise Jones Application Designer 48.10 33.1
25 Starflight 108 Ralph B. Washington System Analyst 96.75 23.6
25 Starflight 118 James J. Frommer General Support 18.36 30.5
25 Starflight 112 Darlene M. Smithson DSS Analyst 45.95 41.4
Primary key:
{PROJ_NUM,EMP_NUM}
{PROJ_NUM,EMP_NUM} à PROJ_NAME, EMP_NAME, JOB_CLASS, CHG_HOUR, HOURS
Dependensi Fungsional Sebagian:
PROJ_NUM à PROJ_NAME
EMP_NUM à EMP_NAME, JOB_CLASS, CHG_HOUR
Dependensi Fungsional Transitif:
JOB_CLASS à CHG_HOUR
PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS
Primary key
Partial Dependency
Partial Dependency
Transitive
Dependency
Bentuk normal kedua
(2nd normal form)
• Pastikan tabel sudah dalam bentuk normal pertama
• Eliminasi depedensi fungsional sebagian
• Tentukan atribut yang berdepedensi terhadap atribut lain
PROJ_NUM PROJ_NAME
EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR
HOURS
Nama tabel: PROJECT
PROJ_NUM à PROJ_NAME
Nama tabel: EMPLOYEE
EMP_NUM à EMP_NAME, JOB_CLASS, CHG_HOURS
JOB_CLASS à CHG_HOUR
PROJ_NUM EMP_NUM
{PROJ_NUM,EMP_NUM} à HOURS
Nama tabel: ASSIGNMENT
Nama tabel: PROJECT
Nama tabel: EMPLOYEE
Nama tabel: ASSIGNMENT
PROJ_NUM PROJ_NAME
15 Evergreen
18 Amber Wave
.. ..
EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR
101 John G. News Database Engineer 105.00
102 David H. Senior System Analyst 96.75
.. .. .. ..
PROJ_NUM EMP_NUM HOURS
15 103 23.8
15 101 19.4
.. .. ..
Tabel hasil
normalisasi bentuk
kedua (2nd form)
Bentuk normal ketiga
(3rd normal form)
• Pastikan tabel sudah dalam bentuk normal kedua
• Eliminasi depedensi transitif
• Tentukan kembali depedensi antar atribut
PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS
HOURS
Nama tabel: PROJECT
PROJ_NUM à PROJ_NAME
Nama tabel: EMPLOYEE
EMP_NUM à EMP_NAME, JOB_CLASS
JOB_CLASS à CHG_HOUR
PROJ_NUM EMP_NUM
{PROJ_NUM,EMP_NUM} à HOURS
Nama tabel: ASSIGNMENT
JOB_CLASS CHG_HOUR
Nama tabel: JOB
Nama tabel: PROJECT Nama tabel: EMPLOYEE
Nama tabel: ASSIGNMENT
PROJ_NUM PROJ_NAME
15 Evergreen
18 Amber Wave
.. ..
EMP_NUM EMP_NAME JOB_CLASS
101 John G. News Database Engineer
102 David H. Senior System Analyst
.. .. ..
PROJ_NUM EMP_NUM HOURS
15 103 23.8
15 101 19.4
.. .. ..
JOB_CLASS CHG_HOUR
Database Engineer 105.00
System Analyst 96.75
.. ..
Nama tabel: JOB
Tabel hasil normalisasi bentuk ketiga (3rd form)
Bentuk normal Boyce-Codd
(Boyce-Codd normal form)
• Pastikan tabel sudah dalam bentuk normal ketiga
• Hanya dilakukan jika dan hanya jika semua determinan
merupakan candidate key
CA B
{A,B} à C, D
C à B
3rd normal form but not BCNF
D
DA C
{A,C} à D
3rd normal form and BCNF
BC
C à B
SISWA KURSUS TUTOR
Anwar B. Perancis Pierre
Anwar B. Inggris Richard
Budi B. Perancis Pierre
Cecep B. Inggris Suzanne
Ilustrasi tabel BCNF
SISWA TUTOR
Anwar Pierre
Anwar Richard
Budi Pierre
Cecep Suzanne
TUTOR KURSUS
Pierre B. Perancis
Richard B. Inggris
Suzanne B. Inggris
{SISWA,KURSUS} à TUTOR
TUTOR à KURSUS
TUTOR à KURSUS
Relasi SISWA dengan TUTOR
Pada kasus sebelumnya,
tabel sudah dalam bentuk
normal ketiga dan BCNF
Latihan Normalisasi
MANAJEMEN DATA

Contenu connexe

Tendances

Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Sistem Tiket Bioskop Menggunakan Diagram UML
Sistem Tiket Bioskop Menggunakan Diagram UMLSistem Tiket Bioskop Menggunakan Diagram UML
Sistem Tiket Bioskop Menggunakan Diagram UMLFarichah Riha
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 
Erd sistem informasi akademik
Erd sistem informasi akademikErd sistem informasi akademik
Erd sistem informasi akademikDiyat Diyat
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Miningdedidarwis
 
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...Bambang Sugianto
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modulDenny Safardan
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)rizki adam kurniawan
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
PENGANTAR BASIS DATA
PENGANTAR BASIS DATAPENGANTAR BASIS DATA
PENGANTAR BASIS DATAEDIS BLOG
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Joel Marobo
 

Tendances (20)

Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Sistem Tiket Bioskop Menggunakan Diagram UML
Sistem Tiket Bioskop Menggunakan Diagram UMLSistem Tiket Bioskop Menggunakan Diagram UML
Sistem Tiket Bioskop Menggunakan Diagram UML
 
Scrum: How to Implements (Update)
Scrum: How to Implements (Update)Scrum: How to Implements (Update)
Scrum: How to Implements (Update)
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
pemetaan erd
pemetaan erdpemetaan erd
pemetaan erd
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 
Erd sistem informasi akademik
Erd sistem informasi akademikErd sistem informasi akademik
Erd sistem informasi akademik
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
 
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
Kamus data (data dictionary) - (Bambang Sugianto - Politeknik Sawunggalih Aji...
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modul
 
Normalisasi data
Normalisasi dataNormalisasi data
Normalisasi data
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Tugas RPL SRS Erwan
Tugas RPL SRS ErwanTugas RPL SRS Erwan
Tugas RPL SRS Erwan
 
PENGANTAR BASIS DATA
PENGANTAR BASIS DATAPENGANTAR BASIS DATA
PENGANTAR BASIS DATA
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 

Similaire à MANAJEMEN DATA

Similaire à MANAJEMEN DATA (16)

Modul Normalisasi
Modul NormalisasiModul Normalisasi
Modul Normalisasi
 
Normalisasi Basis Data
Normalisasi Basis DataNormalisasi Basis Data
Normalisasi Basis Data
 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahan
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahan
 
Penjadwalan Jangka Pendek
Penjadwalan Jangka PendekPenjadwalan Jangka Pendek
Penjadwalan Jangka Pendek
 
4 value management fast
4 value management   fast4 value management   fast
4 value management fast
 
Slide bab 2_perintah masukan dan operator
Slide bab 2_perintah masukan dan operatorSlide bab 2_perintah masukan dan operator
Slide bab 2_perintah masukan dan operator
 
Modul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox ProModul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox Pro
 
207-P02.pdf
207-P02.pdf207-P02.pdf
207-P02.pdf
 
Tugas blog
Tugas blog Tugas blog
Tugas blog
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamental
 
Excel
ExcelExcel
Excel
 
Excel expert
Excel expertExcel expert
Excel expert
 
Modul basdat I
Modul basdat IModul basdat I
Modul basdat I
 
First 7 tools imu
First 7 tools imuFirst 7 tools imu
First 7 tools imu
 

Plus de Adam Mukharil Bachtiar

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfAdam Mukharil Bachtiar
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesAdam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAdam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAdam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAdam Mukharil Bachtiar
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAdam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAdam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAdam Mukharil Bachtiar
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAdam Mukharil Bachtiar
 

Plus de Adam Mukharil Bachtiar (20)

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdf
 
Clean Code - Formatting Code
Clean Code - Formatting CodeClean Code - Formatting Code
Clean Code - Formatting Code
 
Clean Code - Clean Comments
Clean Code - Clean CommentsClean Code - Clean Comments
Clean Code - Clean Comments
 
Clean Method
Clean MethodClean Method
Clean Method
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful Names
 
Model Driven Software Development
Model Driven Software DevelopmentModel Driven Software Development
Model Driven Software Development
 
Scrum: How to Implement
Scrum: How to ImplementScrum: How to Implement
Scrum: How to Implement
 
Data Mining Clustering
Data Mining ClusteringData Mining Clustering
Data Mining Clustering
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma Greedy
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
UML dan Use Case View
UML dan Use Case ViewUML dan Use Case View
UML dan Use Case View
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain Algoritma
 

MANAJEMEN DATA

  • 3. Teknik mendekomposisi satu tabel menjadi beberapa buah tabel agar tidak terjadi anomali pada tabel tersebut
  • 5. Anomali Penyisipan (Insert) Apa yang terjadi jika B. Jerman ditambahkan ke Kursus? No_Siswa Kursus Biaya 10 B. Inggris 60000 10 B. Perancis 80000 10 B. Jepang 70000 15 B. Inggris 60000 20 B. Jepang 60000 No_Siswa Kursus Biaya 10 B. Inggris 60000 10 B. Perancis 80000 10 B. Jepang 70000 15 B. Inggris 60000 20 B. Jepang 60000 B.Jerman 90000
  • 6. Solusi Anomali Penyisipan (Insert) No_Siswa Kursus Biaya 10 B. Inggris 60000 10 B. Perancis 80000 10 B. Jepang 70000 15 B. Inggris 60000 20 B. Jepang 60000 Kursus Biaya B. Inggris 60000 B. Jepang 70000 B.Jerman 90000 No_Siswa ... 10 .. 15 .. 20 .. No_Siswa Kursus 10 B. Inggris .. .. 20 B. Jepang
  • 7. Anomali Peremajaan (Update) Pemasok Kota Barang Jumlah Kartika Jakarta Mouse 5 Citra Bandung Monitor 2 Yudi Medan CPU 2 Citra Bandung Printer 1 Apa yang terjadi jika Citra pindah kota ke Bogor?
  • 8. Solusi Anomali Peremajaan (Update) Pemasok Kota Barang Jumlah Kartika Jakarta Mouse 5 Citra Bandung Monitor 2 Yudi Medan CPU 2 Citra Bandung Printer 1 Pemasok Kota Kartika Jakarta Citra Bandung Yudi Medan Pemasok Barang Jumlah Kartika Mouse 5 Citra Monitor 2 Yudi CPU 2 Citra Printer 1
  • 9. Anomali Penghapusan (Delete) Apa yang terjadi jika No_Siswa 10 dihapus? No_Siswa Kursus Biaya 10 B. Inggris 60000 10 B. Perancis 80000 10 B. Jepang 70000 15 B. Inggris 60000 20 B. Jepang 60000 No_Siswa Kursus Biaya 15 B. Inggris 60000 20 B. Jepang 60000
  • 10. Solusi Anomali Penghapusan (Delete) No_Siswa Kursus Biaya 10 B. Inggris 60000 10 B. Perancis 80000 10 B. Jepang 70000 15 B. Inggris 60000 20 B. Jepang 60000 Kursus Biaya B. Inggris 60000 B. Jepang 70000 B.Jerman 90000 No_Siswa ... 15 .. 20 .. No_Siswa Kursus 15 B. Inggris 20 B. Jepang
  • 11. Semua solusi dari anomali adalah memecah tabel, itulah normalisasi
  • 12. Ada aturannya ga pak? Apakah memecah tabelnya boleh asal- asalan?
  • 13. tentu tidak, kan ada aturan dependensi!!!
  • 15. mulai dari istilah di dependensi!!!
  • 16. Menggambarkan relasi/hubungan, batasan, dan keterkaitan antara atribut-atribut dalam suatu relasi
  • 17. No_KTP à Nama Determinan/Penentu Dependent Atribut No_KTP menentukan atribut Nama dan atribut Nama bergantung pada atribut No_KTP
  • 18. Dependensi paling dasar adalah dependensi fungsional
  • 20. Sebuah atribut berdependensi fungsional terhadap atribut lainnya jika dan hanya jika satu nilai pada atribut tersebut tepat dipetakan satu terhadap satu nilai dari atribut dependentnya
  • 21. Pembeli Kota Barang Jumlah P1 Yogyakarta B1 10 P1 Yogyakarta B2 5 P2 Jakarta B1 4 P2 Jakarta B2 7 P3 Solo B3 6 P3 Solo B4 6 Pembeli à Kota {Pembeli, Barang} à Kota Dependensi Fungsional
  • 22. Selain dependensi fungsional, ada 4 jenis dependensi lainnya, yaitu:
  • 24. Atribut y memiliki dependensi fungsional total terhadap atribut x jika y berdependensi fungsional terhadap x begitu juga sebaliknya (x ↔ y)
  • 25. Dependensi Fungsional Total Diasumsikan tidak pernah ada nama yang sama maka No_Siswa ↔ Nama No_Siswa Nama Alamat A1 Budi Bandung A2 Andi Bogor A3 Ani Serang A4 Dian Madura A5 Andri Ciamis
  • 27. Atribut y memiliki dependensi fungsional penuh terhadap atribut x jika y berdependensi fungsional terhadap x dan y hanya berdependensi fungsional terhadap subset dari x
  • 28. {x,y} à z Dikatakan dependensi fungsional penuh jika z tidak hanya cukup bergantung pada x saja atau y saja
  • 30. Atribut y memiliki dependensi fungsional sebagian terhadap atribut x jika Y berdependensi fungsional terhadap X dan Y tidak berdependensi fungsional terhadap subset dari X
  • 31. {x,y} à z x à z Maka z berdependensi fungsional sebagian terhadap x
  • 33. Atribut z memiliki dependensi fungsional transitif terhadap atribut x jika y berdependensi fungsional terhadap x dan z berdependensi fungsional terhadap y
  • 34. x à y y à z Jadi x à z Maka z berdependensi fungsional transitif terhadap x
  • 35. Dependensi Fungsional Transitif Kuliah à {Kampus, Waktu} Kampus à Ruang Kuliah à Waktu (Kuliah à Kampus à Waktu) Kuliah Kampus Ruang Waktu RPL 5 5406 Senin Basis Data 4 4417 Selasa Kalkulus 2 2505 Rabu Data Mining 1 1407 Kamis
  • 38. Tabel Pada Basis Data Penentuan Atribut Bentuk Normal 1 - BCNF Unnormalized Form Dokumen Manual • Atribut bawaan (dari dokumen) • Atribut bentukan (dari aturan bisnis atau asumsi) Jenis Input
  • 39. Bagian pada dokumen akan menjadi atribut apabila isian atau nilainya bersifat dinamis (data bisa berubah nilai) Contoh Atribut Contoh Nilai
  • 42. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS 15 Evergreen 103 Juni E. Arbough Elect. Engineer 84.50 23.8 101 John G. News Database Engineer 105.00 19.4 105 Alice K. Johnson Database Engineer 105.00 35.7 106 William Smithfield Programmer 35.75 12.6 102 David H. Senior System Analyst 96.75 23.8 18 Amber Wave 114 Annelise Jones Application Designer 48.10 24.6 118 James J. Frommer General Support 18.36 45.3 104 Anne K. Ramoras System Analyst 96.75 32.4 112 Darlene M. Smithson DSS Analyst 45.95 44.0 22 Rolling Tide 105 Alice K. Johnson Database Desginer 105.00 64.7 104 Anne K. Ramoras System Analyst 96.75 48.4 113 Delbert K. Joenbrood Application Designer 48.10 23.6 111 Geoff B. Wabash Clerical Support 26.87 22.0 106 William Smithfield Programmer 35.75 12.8 25 Starflight 107 Maria D. Alonzo Programmer 35.75 24.6 115 Travis B. Bawangi System Analyst 96.75 45.8 101 John G. News Database Designer 105.00 56.3 114 Annelise Jones Application Designer 48.10 33.1 108 Ralph B. Washington System Analyst 96.75 23.6 118 James J. Frommer General Support 18.36 30.5 112 Darlene M. Smithson DSS Analyst 45.95 41.4
  • 44. • Eliminasi nilai null pada repeating groups • Identifikasi primary key (Suggestion) • Identifikasi seluruh dependensi (Suggestion)
  • 45. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS 15 Evergreen 103 Juni E. Arbough Elect. Engineer 84.50 23.8 15 Evergreen 101 John G. News Database Designer 105.00 19.4 15 Evergreen 105 Alice K. Johnson Database Engineer 105.00 35.7 15 Evergreen 106 William Smithfield Programmer 35.75 12.6 15 Evergreen 102 David H. Senior System Analyst 96.75 23.8 18 Amber Wave 114 Annelise Jones Application Designer 48.10 24.6 18 Amber Wave 118 James J. Frommer General Support 18.36 45.3 18 Amber Wave 104 Anne K. Ramoras System Analyst 96.75 32.4 18 Amber Wave 112 Darlene M. Smithson DSS Analyst 45.95 44.0 22 Rolling Tide 105 Alice K. Johnson Database Designer 105.00 64.7 22 Rolling Tide 104 Anne K. Ramoras System Analyst 96.75 48.4 22 Rolling Tide 113 Delbert K. Joenbrood Application Designer 48.10 23.6 22 Rolling Tide 111 Geoff B. Wabash Clerical Support 26.87 22.0 22 Rolling Tide 106 William Smithfield Programmer 35.75 12.8 25 Starflight 107 Maria D. Alonzo Programmer 35.75 24.6 25 Starflight 115 Travis B. Bawangi System Analyst 96.75 45.8 25 Starflight 101 John G. News Database Designer 105.00 56.3 25 Starflight 114 Annelise Jones Application Designer 48.10 33.1 25 Starflight 108 Ralph B. Washington System Analyst 96.75 23.6 25 Starflight 118 James J. Frommer General Support 18.36 30.5 25 Starflight 112 Darlene M. Smithson DSS Analyst 45.95 41.4
  • 46. Primary key: {PROJ_NUM,EMP_NUM} {PROJ_NUM,EMP_NUM} à PROJ_NAME, EMP_NAME, JOB_CLASS, CHG_HOUR, HOURS Dependensi Fungsional Sebagian: PROJ_NUM à PROJ_NAME EMP_NUM à EMP_NAME, JOB_CLASS, CHG_HOUR Dependensi Fungsional Transitif: JOB_CLASS à CHG_HOUR PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS Primary key Partial Dependency Partial Dependency Transitive Dependency
  • 47. Bentuk normal kedua (2nd normal form)
  • 48. • Pastikan tabel sudah dalam bentuk normal pertama • Eliminasi depedensi fungsional sebagian • Tentukan atribut yang berdepedensi terhadap atribut lain
  • 49. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS Nama tabel: PROJECT PROJ_NUM à PROJ_NAME Nama tabel: EMPLOYEE EMP_NUM à EMP_NAME, JOB_CLASS, CHG_HOURS JOB_CLASS à CHG_HOUR PROJ_NUM EMP_NUM {PROJ_NUM,EMP_NUM} à HOURS Nama tabel: ASSIGNMENT
  • 50. Nama tabel: PROJECT Nama tabel: EMPLOYEE Nama tabel: ASSIGNMENT PROJ_NUM PROJ_NAME 15 Evergreen 18 Amber Wave .. .. EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR 101 John G. News Database Engineer 105.00 102 David H. Senior System Analyst 96.75 .. .. .. .. PROJ_NUM EMP_NUM HOURS 15 103 23.8 15 101 19.4 .. .. .. Tabel hasil normalisasi bentuk kedua (2nd form)
  • 52. • Pastikan tabel sudah dalam bentuk normal kedua • Eliminasi depedensi transitif • Tentukan kembali depedensi antar atribut
  • 53. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS HOURS Nama tabel: PROJECT PROJ_NUM à PROJ_NAME Nama tabel: EMPLOYEE EMP_NUM à EMP_NAME, JOB_CLASS JOB_CLASS à CHG_HOUR PROJ_NUM EMP_NUM {PROJ_NUM,EMP_NUM} à HOURS Nama tabel: ASSIGNMENT JOB_CLASS CHG_HOUR Nama tabel: JOB
  • 54. Nama tabel: PROJECT Nama tabel: EMPLOYEE Nama tabel: ASSIGNMENT PROJ_NUM PROJ_NAME 15 Evergreen 18 Amber Wave .. .. EMP_NUM EMP_NAME JOB_CLASS 101 John G. News Database Engineer 102 David H. Senior System Analyst .. .. .. PROJ_NUM EMP_NUM HOURS 15 103 23.8 15 101 19.4 .. .. .. JOB_CLASS CHG_HOUR Database Engineer 105.00 System Analyst 96.75 .. .. Nama tabel: JOB Tabel hasil normalisasi bentuk ketiga (3rd form)
  • 56. • Pastikan tabel sudah dalam bentuk normal ketiga • Hanya dilakukan jika dan hanya jika semua determinan merupakan candidate key
  • 57. CA B {A,B} à C, D C à B 3rd normal form but not BCNF D DA C {A,C} à D 3rd normal form and BCNF BC C à B
  • 58. SISWA KURSUS TUTOR Anwar B. Perancis Pierre Anwar B. Inggris Richard Budi B. Perancis Pierre Cecep B. Inggris Suzanne Ilustrasi tabel BCNF SISWA TUTOR Anwar Pierre Anwar Richard Budi Pierre Cecep Suzanne TUTOR KURSUS Pierre B. Perancis Richard B. Inggris Suzanne B. Inggris {SISWA,KURSUS} à TUTOR TUTOR à KURSUS TUTOR à KURSUS Relasi SISWA dengan TUTOR
  • 59. Pada kasus sebelumnya, tabel sudah dalam bentuk normal ketiga dan BCNF