Dependensi &
Basis Data
Normalisasi
Pemberdayaan Umat Berkelanjutan
Pengertian Dependensi
Dependensi
Dependensi Fungsional
Di pelatihan ini kita akan belajar
mengenai Dependensi Fungsional.
Dependensi menggambarkan relasi atau
hubungan, batasan, dan keterkaitan antara
atribut dalam suatu relasi. Suatu atribut
Dependensi secara dikatakan bergantung pada atribut lain
umum bisa diartikan
secara fungsional jika kita menggunakan
sebagai ketergantungan
harga atribut lain.
Dependensi Fungsional
A B
A menentukan fungsional B
atau
B bergantung pada A
Contoh Dependensi Fungsional
mata_kuliah nim nama_mhs grade
Struktur Data 01023111001 Aditia Nurohman B
Struktur Data 02023111008 Imran Sihaloho A
Basis Data 01023111001 Aditia Nurohman A
Basis Data 02023111002 Ades Roydatul A
Struktur Data 02023111002 Ades Roydatul B
Struktur Data 01023111009 Tisatun Riza A
• nim => nama_mhs, karena untuk setiap nim yang sama, maka nama_mhs juga sama
• {mata_kuliah, nim} => grade, karena atribut grade bergantung pada mata_kuliah dan
nim yang sama, maka grade juga sama
Dependensi Penuh dan Dependensi Parsial
• nim => nama_mhs, nama_mhs disebut dengan
nim nama_mhs kode_ruang
dependensi penuh karena setiap nama_mhs memiliki
nim yang berbeda beda
01023111001 Aditia Nurohman B31 • {nim, nama_mhs} => kode_ruang, namun jika kode_ruang
direlasikan dengan atribut nim dan nama_mhs maka
02023111008 Imran Sihaloho B33
disebut dengan dependensi parsial karena jika salah satu
01023111001 Aditia Nurohman B26 atribut dihilangkan maka ketergantungan masih tetap
ada.
02023111002 Ades Roydatul B26
Dependensi parsial atau ketergantungan sebagian
02023111002 Ades Roydatul B33
merupakan ketergantungan fungsional dimana beberapa
01023111009 Tisatun Riza B31 atribut dapat dihilangkan dari suatu dependensi namun
ketergantungannya masih tetap ada.
Dependensi Transitif
nim nama_mhs kode_kota nama_kota
01022111003 Amelia Siregar K001 Sipirok
01022111013 Dimas Firmansyah K002 Banjar
01022111014 Kharisma Amalia K003 Salatiga
01022111018 Putri Lestari K004 Banyumas
• nim => {nama_mhs, kode_kota, nama_kota}
• kode_kota => nama_kota
• nama_kota dikatakan sebagai dependensi transitif karena nama_kota
bergantung terhadap nim melalui kode_kota. Atau bisa dikatakan nama_kota
bergantung kepada kode_kota, sedangkan kode_kota bergantung kepada nim
Pengertian Normalisasi
Normalisasi
Tujuan Normalisasi
Normalisasi ini bertujuan untuk :
• Menghilangkan kerangkapan data
• Mengurangi kompleksitas yang
tidak berarti
• Untuk mempermudah
Normalisasi adalah suatu teknik untuk
pemodifikasian data
mengorganisasi data ke dalam tabel-tabel
untuk memenuhi kebutuhan pemakai di
dalam suatu organisasi
Tahapan Normalisasi
UNF 3NF
Unnormalized Form, Third Normal Form, kita
bentuk tabel yang harus memisahkan
belum normal dependensi transitif
1NF 4NF
First Normal Form, kita Fourth Normal Form,
harus menghilangkan kita harus
perulangan grup dan menghilangkan
memilih primary key dependensi multivalue
2NF 5NF
Second Normal Form, Fifth Normal Form, kita
kita harus memisahkan harus menghilangkan
dependensi parsial anomali yang tersisa
Contoh Unnormalized Form (UNF)
kode_proje judul_proje projek_man budget_proj id_karyawa nama_karya no_departe nama_depa upah_perja
k k ajer ek n wan men rtemen m
Sistem Bambang
PC01 75 juta K1001 Abdul Smith L004 IT 2,2 juta
Pensiunan Susanto
K1030 Asep Jones L023 Analist 1,85 juta
K2010 Ujang Lewis L004 IT 2,1 juta
Sistem
PC02 Mimi Peri 100 juta K1010 Tuti Similikity L004 IT 2,175 juta
Penjualan
K1001 Abdul Smith L004 IT 1,8 juta
Achmad
K3102 L028 Database 2,55 juta
Gilbert
Rizal
K1320 L008 Salary 1,7 juta
Richard
Sistem Atta Achmad
PC03 90 juta K3102 L028 Database 2,35 juta
Penggajian Halilintar Gilbert
K2010 Ujang Lewis L004 IT 1,75 juta
K1004 James Udin L009 HRD 1,65 juta
First Normal Form (1NF)
kode_proj judul_proj projek_ma budget_pr id_karyaw nama_kar no_depart nama_dep upah_perj
ek ek najer ojek an yawan emen artemen am
Peraturan yang harus di terapkan di 1NF : PC01
Sistem
Pensiunan
Bambang
Susanto
75 juta K1001
Abdul
Smith
L004 IT 2,2 juta
• Nama setiap atribut harus unik K1030
Asep
Jones
L023 Analist 1,85 juta
• Value setiap atribut tidak boleh lebih K2010
Ujang
Lewis
L004 IT 2,1 juta
dari 1 data PC02
Sistem
Penjualan
Mimi Peri 100 juta K1010
Tuti
Similikity
L004 IT 2,175 juta
• Setiap baris harus unik K1001
Abdul
Smith
L004 IT 1,8 juta
• Tidak boleh ada perulangan grup K3102
Achmad
Gilbert
L028 Database 2,55 juta
Rizal
K1320 L008 Salary 1,7 juta
Richard
Yang harus dilakukan : PC03
Sistem Atta
90 juta K3102
Achmad
L028 Database 2,35 juta
Penggajian Halilintar Gilbert
• Memilih Primary Key K2010
Ujang
L004 IT 1,75 juta
Lewis
James
K1004 L009 HRD 1,65 juta
Udin
Hasil 1NF
kode_projek judul_projek projek_manajer budget_projek id_karyawan nama_karyawan no_departemen nama_departemen upah_perjam
Sistem Bambang
PC01 75 juta K1001 Abdul Smith L004 IT 2,2 juta
Pensiunan Susanto
Sistem Bambang
PC01 75 juta K1030 Asep Jones L023 Analist 1,85 juta
Pensiunan Susanto
Sistem Bambang
PC01 75 juta K2010 Ujang Lewis L004 IT 2,1 juta
Pensiunan Susanto
PC02 Sistem Penjualan Mimi Peri 100 juta K1010 Tuti Similikity L004 IT 2,175 juta
PC02 Sistem Penjualan Mimi Peri 100 juta K1001 Abdul Smith L004 IT 1,8 juta
PC02 Sistem Penjualan Mimi Peri 100 juta K3102 Achmad Gilbert L028 Database 2,55 juta
PC02 Sistem Penjualan Mimi Peri 100 juta K1320 Rizal Richard L008 Salary 1,7 juta
Sistem
PC03 Atta Halilintar 90 juta K3102 Achmad Gilbert L028 Database 2,35 juta
Penggajian
Sistem
PC03 Atta Halilintar 90 juta K2010 Ujang Lewis L004 IT 1,75 juta
Penggajian
Sistem
PC03 Atta Halilintar 90 juta K1004 James Udin L009 HRD 1,65 juta
Penggajian
Second Normal Form (2NF)
kode_pro judul_proj projek_ma budget_pr id_karya nama_kar no_depart nama_dep upah_perj
jek ek najer ojek wan yawan emen artemen am
Sistem Bambang Abdul
PC01 75 juta K1001 L004 IT 2,2 juta
Pensiunan Susanto Smith
Peraturan yang harus di terapkan di 2NF : PC01
Sistem
Pensiunan
Bambang
Susanto
75 juta K1030
Asep
Jones
L023 Analist 1,85 juta
• Sudah melakukan 1NF PC01
Sistem Bambang
75 juta K2010
Ujang
L004 IT 2,1 juta
Pensiunan Susanto Lewis
• Memisahkan atribut yang memiliki PC02
Sistem
Mimi Peri 100 juta K1010
Tuti
L004 IT 2,175 juta
Penjualan Similikity
dependensi penuh dengan primary key Sistem Abdul
PC02 Mimi Peri 100 juta K1001 L004 IT 1,8 juta
Penjualan Smith
Sistem Achmad
PC02 Mimi Peri 100 juta K3102 L028 Database 2,55 juta
Penjualan Gilbert
Yang harus dilakukan :
Sistem Rizal
PC02 Mimi Peri 100 juta K1320 L008 Salary 1,7 juta
• Memisahkan dependensi parsial Penjualan Richard
Sistem
Atta Achmad
PC03 Penggajia 90 juta K3102 L028 Database 2,35 juta
Halilintar Gilbert
n
Sistem
Atta Ujang
PC03 Penggajia 90 juta K2010 L004 IT 1,75 juta
Halilintar Lewis
n
Sistem
Atta James
PC03 Penggajia 90 juta K1004 L009 HRD 1,65 juta
Halilintar Udin
n
Hasil 2NF
Tabel Projek
kode_projek judul_projek projek_manajer budget_projek
Tabel Utama PC01 Sistem Pensiunan
Bambang
75 juta
Susanto
kode_projek id_karyawan upah_perjam
PC02 Sistem Penjualan Mimi Peri 100 juta
PC01 K1001 2,2 juta Sistem
PC03 Atta Halilintar 90 juta
Penggajian
PC01 K1030 1,85 juta
PC01 K2010 2,1 juta
PC02 K1010 2,175 juta Tabel Karyawan
PC02 K1001 1,8 juta id_karyawan nama_karyawan no_departemen nama_departemen
PC02 K3102 2,55 juta
K1001 Abdul Smith L004 IT
PC02 K1320 1,7 juta
K1030 Asep Jones L023 Analist
PC03 K3102 2,35 juta K2010 Ujang Lewis L004 IT
PC03 K2010 1,75 juta K1010 Tuti Similikity L004 IT
PC03 K1004 1,65 juta
K3102 Achmad Gilbert L028 Database
K1320 Rizal Richard L008 Salary
K1004 James Udin L009 HRD
Third Normal Form (3NF)
Peraturan yang harus di terapkan di 3NF :
Tabel Karyawan
• Sudah melakukan 2NF
• Semua atribut yang tidak menjadi id_karyawan nama_karyawan no_departemen nama_departemen
primary key tidak boleh bergantung K1001 Abdul Smith L004 IT
pada atribut yang bukan primary key
K1030 Asep Jones L023 Analist
K2010 Ujang Lewis L004 IT
Yang harus dilakukan : K1010 Tuti Similikity L004 IT
• Memisahkan dependensi transitif
K3102 Achmad Gilbert L028 Database
K1320 Rizal Richard L008 Salary
K1004 James Udin L009 HRD
Hasil 3NF
Tabel Projek
kode_projek judul_projek projek_manajer budget_projek Tabel Karyawan
Bambang
PC01 Sistem Pensiunan 75 juta id_karyawan nama_karyawan no_departemen
Susanto
PC02 Sistem Penjualan Mimi Peri 100 juta K1001 Abdul Smith L004
Sistem K1030 Asep Jones L023
PC03 Atta Halilintar 90 juta
Penggajian
K2010 Ujang Lewis L004
Tabel Utama K1010 Tuti Similikity L004
kode_projek id_karyawan upah_perjam K3102 Achmad Gilbert L028
PC01 K1001 2,2 juta K1320 Rizal Richard L008
PC01 K1030 1,85 juta K1004 James Udin L009
PC01 K2010 2,1 juta
PC02 K1010 2,175 juta Tabel Departemen
PC02 K1001 1,8 juta
no_departemen nama_departemen
PC02 K3102 2,55 juta
L004 IT
PC02 K1320 1,7 juta L023 Analist
PC03 K3102 2,35 juta L028 Database
PC03 K2010 1,75 juta L008 Salary
PC03 K1004 1,65 juta L009 HRD
Kesimpulan Dependensi
Dependensi secara umum bisa diartikan sebagai ketergantungan, di pelatihan ini dependensi yang
akan kita bahas adalah Dependensi Fungsional. Dependensi Fungsional adalah gambaran hubungan
ketergantungan antara dua atribut atau kolom pada sebuah tabel/relasi, biasanya menggambarkan
hubungan antara Primary Key (PK) dan atribut non-kunci (non-key) lainnya.
Dependensi fungsional terbagi menjadi 3 macam, yaitu :
• Dependensi Penuh, adalah jika diberikan atribut A dan B pada suatu tabel, B dikatakan memiliki
ketergantungan secara penuh pada A jika B memiliki ketergantungan pada A, dan B tidak tergantung
pada atribut lain selain A.
• Dependensi Parsial, merupakan ketergantungan fungsional dimana beberapa atribut dapat dihilangkan
dari suatu dependensi namun ketergantungannya masih tetap ada.
• Dependensi Transitif, merupakan kondisi dimana terdapat 3 atribut contoh nya A, B, dan C. C bergantung
kepada A namun harus melalui B.
Kesimpulan Normalisasi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi
kebutuhan pemakai di dalam suatu organisasi. Ada beberapa tahapan yang harus kita lalui untuk melakukan
normalisasi yaitu :
• UNF (Unnormalized Form), sebuah form/tabel yang datanya belum di normalisasikan
• 1NF (First Normal Form), tujuan utamanya untuk menghilangkan perulangan grup dan memilih primary
key
• 2NF (Second Normal Form), tujuannya yaitu menghilangkan ketergantungan parsial
• 3NF (First Normal Form), tujuannya yaitu untuk menghilang ketergantungan transitif