Rangkuman SIstem Basis Data Pertemuan 3
Pengertian Normalisasi
Hallo
teman-teman? apa kabar.. semoga baik, pada artikel kali ini saya akan sedikit
membahas tentang apa itu Normalisasi, Bentuk – Bentuk Normalisasi dan Mapping
cardinality pada ERD atau entity relationship diagram.
Apa sih Normalisasi database itu? Normalisasi
database adalah suatu pendekatan sistematis untuk meminimalkan
redundansi data pada suatu database agar database tersebut dapat bekerja dengan
optimal. Jika anda seorang database administrator ketika terjadi sesuatu pada
database seperti penurunan kinerja, mungkin anda akan ditanya apakah database
tersebut telah di normalisasi.
Tujuan Normalisasi Database
Apa tujuan dari normalisasi sih kak? Tujuan dari normalisasi database
adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua
adalah memastikan dependensi data (Data berada pada tabel yang tepat).
Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3
kemungkinan yang akan merugikan sistem secara keseluruhan.
1.
INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa
jenis data secara langsung di database.
2.
DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan,
artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
3.
UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi
database, dalam artian data yang diubah tidak sesuai dengan yang
diperintahkan atau yang diinginkan.
Normalisasi
database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9
bentuk normalisasi yang ada
yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF,
dan 6NF. Namun dalam prakteknya dalam dunia industri bentuk normalisasi
ini yang paling sering digunakan ada sekitar 5 bentuk.
Bentuk – bentuk Normalisasi
Normal Form
Data yang direkam dan dimasukkan secara mentah dalam suatu tabel pada
bentuk ini sangat mungkin terjadi inkonsistensi dan anomali data
Contoh Normal Form
Normalisasi Database
Form
1. Normal Form (1NF)
Bentuk normal yang pertama atau 1NF mensyaratkan beberapa kondisi dalam
sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
·
Menghilangkan duplikasi kolom dari tabel yang sama.
·
Buat tabel terpisah untuk masing-masing kelompok data terkait dan
mengidentifikasi setiap baris dengan kolom yang unik (primary key).
Contoh Normalisasi Database 1NF
Normalisasi Database 1NF
dari manual bon pembelian diatas kita dapat menjadi bentuk normal pertama dengan
memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga
seluruh record / baris harus lengkap adanya.
2. Normal form (2NF)
Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah
dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.
·
Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka
pada tabel terpisah.
·
Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan
foreign key.
·
Tidak ada atribut dalam tabel yang secara fungsional bergantung pada
candidate key tabel tersebut.
Contoh normalisasi database bentuk 2NF
Normalisasi
Database 2NF
Bentuk normal kedua dengan melakukan dekomposisi tabel diatas menjadi
beberapa tabel dan mencari kunci primer dari tiap-tiap tabel tersebut dan
atribut kunci haruslah unik.
3. Normal Form (3NF)
Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh
atribut atau field yang tidak berhubungan dengan primary key. Dengan demikian
tidak ada ketergantungan transitif pada setiap kandidat key. Syarat dari bentuk
normal ketiga atau 3NF adalah :
·
Memenuhi semua persyaratan dari bentuk normal kedua.
·
Menghapus kolom yang tidak tergantung pada primary key.
Contoh Normalisasi Database Bentuk 3NF
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai
atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan
harus memenuhi bentuk normal kedua (2 NF).
Normalisasi Database 3NF
Mapping cardinality
adalah hubungan antara entitas terhadap entitas dimana diantaranya terdapat
relasi atau relationship, dan untuk jenis jenis dari mapping cardinality ada 3
yaitu :
1.One To Many (I-M)
One to Many adalah perbandingan antara entity pertama dengan entity kedua berbading satu berbanding banyak :
Contoh:
Gambar diatas menggambarkan 2 entitas dengan 1 relasi dimana kita membacanya ialah, 1 ruangan dapat ditempati oleh banyak pasien.
One to Many adalah perbandingan antara entity pertama dengan entity kedua berbading satu berbanding banyak :
Contoh:
Gambar diatas menggambarkan 2 entitas dengan 1 relasi dimana kita membacanya ialah, 1 ruangan dapat ditempati oleh banyak pasien.
2.One To One(I-I)
One To One adalah perbandingan antara entity pertama dengan entity kedua berbading satu berbanding satu :
Contoh:
One To One adalah perbandingan antara entity pertama dengan entity kedua berbading satu berbanding satu :
Contoh:
gambar diatas menggambarkan
hubungan 2 entitas dengan 1 relasi cara membacanya adalah 1 karyawan menempati
1 jabatan begitu pula sebaliknya, 1 jabatan diduduki oleh 1 karyawan
3.Many To Many(M-M)
Many To Many adalah perbandingan antara entity pertama dengan entity kedua
berbading Banyak berbanding banyak :
Contoh :
Contoh :
Pada gambar di atas
terdapat 2 entitas dengan 1 relasi dimana relasinya atau mappingnya adalah many
to many, cara mencocokannya adalah sesuai dengan gambar diatas mengartikan
bahwa 1 cutomer dapat memesan banyak barang, lalu kondisinya kita balik, 1 barang
dapat dipesan oleh banyak customer, nah ketika kita menemukan hal tersebut
didalam suatu relasi database, maka relasionnya atau belah ketupatnya dimana
pada study case dia atas adalah “pesan”, menjadi table dalam database sebagai
table pengampu.
Analisis Kasus (sistem basis data)
Analisa Kasus
·
Perpustakaan
Smart adalah perpustakaan umum yang anggotanya pelajar, mahasiswa, dan masyarakat, yang di dirikan olehWalikota Jakarta Barat. Keberadaan perpustakaan berlokasi di Walikota yang aplikasi pelayanan masih bersifat tradisional.
·
Prosesnya
:
a.
Setiap calon anggota yang akan menjadi anggota harus mengisi formulir dengan biaya administrasi
Rp.10.000,-
b.
Anggota dapat meminjam buku maksimal 3 buku
c.
Untuk
masa peminjaman selama 1 minggu ( 7
Hari )
d.
Keterlambatan pengembalian dikenakan denda sesuai dengan kondisi denda, diantaranya :
1.
Denda keterlamabatan pengembalian di kenakan biaya administrasi
Rp.500,-/hari.
2.
Denda buku perpustakaan rusak maka
di kenakan biaya revisi buku perpustakaan
.(biaya ini di kenakan setelah buku
di perbaiki)
3.
Denda buku hilang, maka
di kenakan biaya pergantian seharga buku.
4.
Perpustakaan
smart dapat menerima sumbangan dari donator statusnya.
Tabel Pegawai
No
|
NIP
|
Nama
|
No.Hp
|
Alamat
|
1
|
1522
|
Dwitiya
|
08998157107
|
Jln. Makan Bang, bali
|
2
|
1789
|
Fahmi
|
08778112231
|
Jln.yuk bareng, medan
|
Tabe Anggota
No
|
No.Anggota
|
Nama
|
No.Hp
|
Alamat
|
1
|
18890
|
Ramdan
|
0892556790
|
Jln. Kemana aja deh, Bogor
|
2
|
19990
|
Rifqi
|
0897123321
|
Jln.Ayuk aja kemana, depok
|
3
|
201011
|
Fauzan
|
0879112312
|
Jln.Young Lex,Bandung
|
Tabel Denda
No
|
KodeDenda
|
KeteranganBiaya
|
1
|
Dend001
|
Denda keterlambatan
Rp.500,-
|
2
|
Dend002
|
Denda kerusakan,
Biaya setelah buku di
perbaiki
|
3
|
Dend003
|
Denda kehilangan, Biaya sesuai buku yang hilang
|
TabelBuku
No
|
Kode Buku
|
Nama Buku
|
Jenis Buku
|
1
|
Book012
|
Koala Kumal
|
Novel
|
2
|
Book013
|
Arsitektur Organisasi
Komputer
|
Pelajaran
|
3
|
Book014
|
Statistika
|
Pelajaran
|
Tabel Peminjaman
No
|
Kode Peminjaman
|
Tanggal Peminjaman
|
No.Anggota
|
Jumlah buku yang di
pinjam
|
Kode Buku
|
1
|
Book231
|
12/04/2017
|
18890
|
2
|
Book012
Book013
|
2
|
Book213
|
07/03/2017
|
19990
|
1
|
Book014
|
1
Tabel Pengembalian
No
|
Kode Peminjaman
|
Tanggal Pengembalian
|
Kode Denda (Jika
Ada Denda)
|
1
|
Book231
|
14/04/2017
|
Tidak ada denda
|
2
|
Book213
|
12/04/2017
|
Dend002
|
Book231
|
15/04/2017
|
Dend001
|