Anda di halaman 1dari 10

Relational Concepts (Modul 2)

Landasan Teori

1) Normalisasi

Normalisasi merupakan proses mendesain struktur database dan teknik


pengelompokan atribut data yang membentuk suatu entitas yang sederhana, non-
redundant, dan fleksibel, sehingga dapat dipastikan bahwa tabel yang dihasilkan bersifat
normal atau baik.

Tujuan Normalisasi adalah supaya hubungan dalam basis data menjadi mudah
dimengerti, mudah dipelihara, mudah diproses, dan mudah untuk dikembangkan sesuai
dengan kebutuhan yang baru. Selain itu, menghilangkan kerangka atau redudansi data,
memastikan bahwa suatu tabel memiliki data yang tepat (depedensi data), mengurangi
anomali data, mengurangi kompleksitas, dan mempermudah dalam pemodifikasian data.

Keuntungan Normalisasi terdapat tiga kategori, Development Cost (Biaya


Pengembangan), Usability (Kegunaan), Extensibility (Ekstensibilitas).

- Development Cost (Biaya Pengembangan): Meskipun membutuhkan waktu


lebih lama untuk mendesain database yang dinormalisasi, database seperti itu
lebih mudah untuk dikerjakan dan mengurangi biaya pengembangan.
- Usability (Kegunaan): Menempatkan kolom di tabel yang benar membuatnya
lebih mudah untuk memahami database dan menulis kueri yang benar. Ini
membantu mengurangi waktu biaya dan desain.
- Extensibility (Ekstensibilitas): Database yang tidak dinormalisasi seringkali
lebih kompleks dan karena itu lebih sulit untuk dimodifikasi. Hal ini
menyebabkan penundaan dalam peluncuran database baru dan peningkatan
biaya pengembangan.

2) Bentuk dan Tahapan Normalisasi


a. Bentuk Normalisasi
Ada beberapa bentuk umum normalisasi, yaitu:
1) 1NF
2) 2NF
3) 3NF

b. Tahapan Normalisasi
Berikut adalah langkah-langkah untuk melakukan normalisasi:
1) UNF (Unnormalization Form)
UNF (Unnormalization Form) adalah sebuah sebutan untuk tabel yang memiliki
atribut bernilai ganda.

Contoh:

IdTransa IdAnggo NamaAngg Alamat IdBuku JudulBuku LamaPinja


ksi ta ota am
T001 110 Po Dayeuhko 17013 Manajeme 3
lot 43 n Bisnis
Terintegra
si
T002 232 Tigress Dago 17013 Pemogra 2
33 man Web
17013 Pemogra 4
46 man C++
dan C
T003 314 Master Batunung 17013 Pilihan 3
Shifu gal 54 Hidup
17013 Berani 5
55 Tampil
Beda dan
Percaya
Diri
T004 132 Kai Sukabirus 17013 Marketing 3
66 in
Challengin
g Times
T005 342 Master Batunung 17013 Dinamika 2
Oogawa gal 38 Penerapan
Supllay
Chain
Managem
ent

Keterangan:
Tabel di atas dalam bentuk unnormalized table atau tabel yang belum dilakukan
normalisasi. Dalam contoh tersebut, nama relasi / tabel adalah Peminjaman. Dan
peminjaman dengan IdTransaksi T002 yang bernama Tigress sudah pernah
meminjam buku 2 kali. Sehingga peminjam dengan IdTransaksi T002 yang
bernama Tigress memiliki bagian yang berulang (perhatikan atribut Alamat,
IdBuku, JudulBuku, LamaPinjaam) untuk peminjaman yang sama atau yang
disebut double transaction. Sehingga data tentang IdTransaksi, IdAnggota dan
NamaAnggota terlihat kosong atau tidak dituliskan pada transaksi yang kedua,
karena akan berisi data yang sama atau berulang.

2) 1NF (First Normal Form)


1NF (First Normal Form) adalah relasi dimana perpotongan/intersection antara
kolom-kolom dan baris hanya berisi tepat satu nilai data saja.

Maka, syarat dari bentuk 1NF adalah:


1. Setiap atribut bernilai tunggal untuk setiap baris
Cara mengubah UNF menjadi 1NF:
 Baris data yang memiliki nilai ganda dijadikan beberapa baris (sejumlah
datanya)
 Isi bagian perpotongan baris dan kolom yang kosong dengan data yang
sesuai
 Tetapkan PK untuk tabel 1NF yang telah terbentuk

Contoh:

IdTransa IdAnggo NamaAngg Alamat IdBuku JudulBuku LamaPinja


ksi ta ota am
T001 110 Po Dayeuhko 17013 Manajeme 3
lot 43 n Bisnis
Terintegra
si
T002 232 Tigress Dago 17013 Pemogra 2
33 man Web
17013 Pemogra 4
46 man C++
dan C
T003 314 Master Batunung 17013 Pilihan 3
Shifu gal 54 Hidup
17013 Berani 5
55 Tampil
Beda dan
Percaya
Diri
T004 132 Kai Sukabirus 17013 Marketing 3
66 in
Challengin
g Times
T005 342 Master Batunung 17013 Dinamika 2
Oogawa gal 38 Penerapan
Supllay
Chain
Managem
ent

IdTransa IdAnggo NamaAngg Alamat IdBuku JudulBuku LamaPinja


ksi ta ota am
T001 110 Po Dayeuhko 17013 Manajeme 3
lot 43 n Bisnis
Terintegra
si
T002 232 Tigress Dago 17013 Pemogra 2
33 man Web
T002 232 Tigress Dago 17013 Pemogra 4
46 man C++
dan C
T003 314 Master Batunung 17013 Pilihan 3
Shifu gal 54 Hidup
T003 314 Master Batunung 17013 Berani 5
Shifu gal 55 Tampil
Beda dan
Percaya
Diri
T004 132 Kai Sukabirus 17013 Marketing 3
66 in
Challengin
g Times
T005 342 Master Batunung 17013 Dinamika 2
Oogawa gal 38 Penerapan
Supllay
Chain
Managem
ent

Keterangan:
- Dilihat dari tabel di atas, 1NF merupakan penjabaran dari UNF dimana data
yang tadinya memiliki double transaction ketika sudah diubah ke 1NF akan
menjadi satu klien satu transaksi. Hal ini memudahkan kita untuk mendata
transaksi yang telah terjadi.
3) 2NF (Second Normal Form)
2NF (Second Normal Form) merupakan sebuah tabel yang telah memenuhi 1NF
dan tidak mengandung ketergantugan parsial. Ketergantugan parsial adalah
merubah/memecah relasi sehingga sebuah atribut bergantung fungsi kepada
primary key yang ditentukan.

Syarat 2NF:
1. Berada pada bentuk 1NF
2. Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci
primer (primary key)

Cara mengubah 1NF menjadi 2NF:

 Bagian tabel yang terlibat dalam kebergantungan parsial dijadikan tabel baru
dengan determinnya sebagai primary key tabel ini
 Bagian tabel yang tersisa dijadikan tabel baru dengan PK tabel semula sebagai
PK tabel ini

Contoh:

IdTransa IdAnggo NamaAngg Alamat IdBuku JudulBuku LamaPinja


ksi ta ota am
T001 110 Po Dayeuhko 17013 Manajeme 3
lot 43 n Bisnis
Terintegra
si
T002 232 Tigress Dago 17013 Pemogra 2
33 man Web
T002 232 Tigress Dago 17013 Pemogra 4
46 man C++
dan C
T003 314 Master Batunung 17013 Pilihan 3
Shifu gal 54 Hidup
T003 314 Master Batunung 17013 Berani 5
Shifu gal 55 Tampil
Beda dan
Percaya
Diri
T004 132 Kai Sukabirus 17013 Marketing 3
66 in
Challengin
g Times
T005 342 Master Batunung 17013 Dinamika 2
Oogawa gal 38 Penerapan
Supllay
Chain
Managem
ent

Langkah-langkah untuk mengkonversi tabel di atas menjadi 2NF:

- Gambarkan Functional Dependency Diagram

- Identifikasi Ketergantugan Parsial


FD2 dan FD3 merupakan ketergantugan parsial
- Tentukan Hasil Dekomposisi 2NF
a. Tabel Buku (IdBuku, JudulBuku)

IdBuku JudulBuku
1701343 Manajemen Bisnis Terintegrasi
1701333 Pemograman Web
1701346 Pemograman C++ dan C
1701354 Pilihan Hidup
1701355 Berani Tampil Beda dan Percaya Diri
1701366 Marketing in Challenging Times
1701338 Dinamika Penerapan Supllay Chain Management

b. Tabel Peminjaman (IdTransaksi, IdAnggota, NamaAnggota, Alamat)

IdTransaksi IdAnggota NamaAnggota Alamat


T001 110 Po Dayeuhkolot
T002 232 Tigress Dago
T003 314 Master Shifu Batununggal
T004 132 Kai Sukabirus
T005 342 Master Oogawa Batununggal

c. Tabel DetailPeminjaman (IdTransaksi, IdBuku, LamaPinjaam)

IdTransaksi IdBuku LamaPinjaam


T001 1701343 3
T002 1701333 2
T002 1701346 4
T003 1701354 3
T003 1701355 5
T004 1701366 3
T005 1701338 2

Keterangan:
Inti dari 2NF adalah memecah normalisasi 1NF yang telah ada menjadi beberapa
taebl dimana setiap tabel akan dibuat berdasarkan primay key yang telah
ditentukan.
4) 3NF (Third Normal Form)
3NF (Third Normal Form) adalah sebuah tabel yang telah memenuhi 2NF dan tidak
mengandung ketergantungan transitif. Agar sebuah tabel yang mengandung
ketergantugan transitif bisa memenuhi bentuk 3NF, maka bagian ketergantugan
transitifnya harus dihilangkan.

Cara mengubah 2NF menjadi 3NF:


 Jika ketergantungan transitif yang dimiliki tabel adalah relasi A  B  C maka
atribut B dan C dipisahkan menjadi tabel baru dengan determinan perantaranya (B)
sebagi PK tabel ini
 Bagian tabel yang tersisa dijadikan tabel baru PK tabel semula sebagai PK dan
tambahan pula atribut B sebagai FK tabel ini

Untuk mengkonversi tabel 2NF menjadi 3NF, lakukan langkah-langkah berikut:


1. Gambarkan Functional Dependency Diagram
a. Functional Diagram Tabel Buku
Berikut adalah functional diagram dari Tabel Buku:

b. Functional Diagram Tabel Peminjaman


Berikut adalah functional diagram dari Tabel Peminjaman:

c. Functional Diagram Tabel Detail Peminjaman


Berikut adalah functional diagram dari Tabel Detail Peminjaman:

2. Identifikasi Ketrgantugan Transitifnya


a. Tabel Buku tidak memiliki ketergantugan transitif
b. Tabel Peminjaman memiliki ketergantugan transitif yaitu IdTransaksi =>
IdAnggota => {NamaAnggota, Alamat}
3. Menentukan Hasil Dekomposisi 3NF
a. Tabel Peminjaman (IdAnggota, NamaAnggota, Alamat)

IdAnggota NamaAnggota Alamat


110 Po Dayeuhkolot
232 Tigress Dago
314 Master Shifu Batununggal
132 Kai Sukabirus
342 Master Oogawa Batununggal

b. Tabel Peminjaman (IdTransaksi, IdAnggota)

IdTransaksi IdAnggota
T001 110
T002 232
T003 314
T004 132
T005 342
c. Tabel DetailPeminjaman (IdTransaksi, IdBuku, LamaPinjam)

IdTransaksi IdBuku LamaPinjaam


T001 1701343 3
T002 1701333 2
T002 1701346 4
T003 1701354 3
T003 1701355 5
T004 1701366 3
T005 1701338 2

d. Tabel Buku (IdBuku, JudulBuku)

IdBuku JudulBuku
1701343 Manajemen Bisnis Terintegrasi
1701333 Pemograman Web
1701346 Pemograman C++ dan C
1701354 Pilihan Hidup
1701355 Berani Tampil Beda dan Percaya Diri
1701366 Marketing in Challenging Times
1701338 Dinamika Penerapan Supllay Chain Management

4. Buat Skema Basis Data Hasil Dekomposisi 3NF


Berikut adalah skema database yang dihasilkan dari dekomposisi 3NF yang sudah
dilakukan:
Sesuai dengan tujuan normalisasi, dengan menggunaka merancang database sesuai
dengan hasil dekomposisi 3NF akan dapat menghindari duplikasi data dan anomali
data yang mungkin terjadi pada databas yang tidak normal.
3) Referential Integrity
Referential Integrity (RI) adalah konsep database yang digunakan untuk memastikan bahwa
hubungan antara tabel database tetap tersinkronisasi selama modifikasi data.

PRIMARY KEY dan FOREIGN KEY dapat digunakan untuk membantu menegakan integritas
referensi database. Selain itu Foreign Key mereferensikan batasan Primary Key, Foreign Key
dapat merujuk pada batasan UNIQUE untuk membantu menjaga Referential Integrity.
Model untuk menegakkan Referential Integrity
Ada beberapa metode yang tersedia di SQL Server:
 Primary Key Constraint
 Foreign Key Constraint
 Unique Constraint
 Indexes
 Triggers

Anda mungkin juga menyukai