LAPORAN TUGAS
NORMALISASI DAN ERD
(Disusun untuk memenuhi tugas UAS mata kuliah Sistem Basis Data)
Dosen Pengampu
Defni, [Link]., [Link]
Mutia Rahmi Dewi, [Link]., [Link]
DISUSUN OLEH
MUHAMMAD IQBAL
2311082028
1D
PRODI TEKNOLOGI REKAYASA PERANGKAT LUNAK
JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI PADANG
2024
A. Normalisasi
Normalisasi adalah proses pembentukan struktur basis data sehingga
sebagian besar ambiguity bisa dihilangkan. Tahap Normalisasi dimulai dari tahap
paling ringan (1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada
tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-
tabel yang berkualitas baik.
Mengapa dilakukan normalisasi ?
▪ Optimalisasi struktur-struktur table
▪ Meningkatkan kecepatan
▪ Menghilangkan pemasukan data yang sama
▪ Lebih efisien dalam penggunaan media penyimpanan
▪ Mengurangi redundansi
▪ Menghindari anomali (insertion anomalies, deletion anomalies,
update anomalies).
▪ Integritas data yang ditingkatkan
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria
sbb:
1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus
dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel
tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel
baru tersebut bisa menghasilkan tabel semula dengan sama persis.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data
(Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF) • Jika kriteria
ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut
tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).
B. Tahapan Normalisasi
Tahapan yang harus dilalui normalisasi ada bentuk tidak normal, 1nf,,2nf, 3nf, 4nf,
dan 5 nf.
1. Bentuk tidak normal
Aktivitas utama dari tahap ini adalah untuk menghilangkan perulangan
group. Hal tersebut karena tahap bentuk tidak normal ini sejatinya
adalah keadaan data sebelum dinormalisasi, sehingga kemungkinan
akan banyak perulangan group atau duplikasi yang terjadi.
Pada tahap ini, saat mengepul data yang akan dinormalisasi,
kumpulkan saja terlebih dahulu berbagai data yang ada tanpa
memedulikan organisasi, duplikasi, atau redundasi yang ada. Tujuan
dari tahap ini adalah mengumpulkan seluruh data yang kemungkinan
dibutuhkan oleh pengguna dan akan dinormalisasi, sehingga kita dapat
menghilangkan duplikasi dan redundansi yang ada.
Id Nama Alamat No_buku1 Judulbuku1 Pengarang1 No_buku2 Judulbuku2 Pengarang2 Jml Tglpnjm
A001 Iqbal Pasaman B001 Java Yusuf 1 15/7/2024
A002 Dimas Solok B001 Java Yusuf B002 Python Rahmad 2 13/7/2024
A003 Nabil Sumsel B002 Python Rahmad 1 14/7/2024
A004 Ilham Panti B001 Java Yusuf B003 C++ Zandika 2 5/7/2024
A005 Fajri Batusangkar B002 Python Rahmad B004 Html Rahmad 2 12/7/2024
Atribut Bernilai Ganda
2. Bentuk Normal Pertama (1nf)
Pada tahap ini, setiap kolom dalam tabel haruslah memiliki nilai atomik
(tidak terpecah). Artinya, setiap sel dalam tabel harus berisi nilai
tunggal, bukan kumpulan nilai atau struktur data tertentu. Hal ini dapat
dilakukan dengan cara menghilangkan ketergantungan sebagiannya,
sehingga data tersebut akan menjadi nilai atomik.
Perpustakaan
Id Nama Alamat Nobuku Judulbuku pengarang Jml Tgl pinjam
A001 Iqbal Pasaman B001 Java Yusuf 1 15/7/2024
A002 Dimas solok B001 Java Yusuf 2 13/7/2024
A002 Dimas Solok B002 Pyhon Rahmad 2 13/7/2024
A003 Nabil Sumsel B002 Python Rahmad 1 14/7/2024
A004 Ilham Panti B001 Java Yusuf 2 5/7/2024
A004 Ilham Panti B003 C++ Zandika 2 5/7/2024
A005 Fajri Batusangkar B002 Python Rahmad 2 12/7/2024
A005 Fajri Batusangkar B004 Html rahmad 2 12/7/2024
......... data duplikat belum ada field kunci yang unik.
3. Bentuk normal kedua (2nf)
Syarat dari 2 nf ini adalah Menenuhi Criteria Bentuk Normal 1 NF.
Atribut Bukan Kunci Haruslah Bergantung Secara Fungsi Pada Primary
Key. Primary Key Harus Sudah Ditentukan Dan Bersifat Unik, Serta
Dapat Mewakili Atribut Lain Yang Menjadi Anggotany
Anggota
id Nama alamat
A001 iqbal Pasaman
A002 Dimas Solok
A003 Nabil Sumsel
A004 Ilham Panti
A005 Fajri Batusangkar
Pinjam
id nobuku jml tglpinjam
A001 B001 1 15/7/2024
A002 B001 2 13/7/2024
A002 B002 2 13/7/2024
A003 B002 1 14//7/2024
A004 B001 2 5/7/2024
A004 B003 2 5/7/2024
A005 B002 2 12/7/2024
A005 B004 2 12/7/2024
Data duplikat pada tabel pinjam belum ada field kunci yang unik.
Buku
Nobuku Judulbuku pengarang
B001 java Yusuf
B002 Python Rahmad
B003 C++ Zandika
B004 Html rahmad
4. Bentuk normal ketiga(3nf)
Telah Memenuhi kriteria Bentuk 2 NF. Semua Atribut Bukan Primer
Tidak Mempunyai Hubungan / Ketergantungan Transitif. Atribut bukan
kunci harus bergantung hanya pada primary key.
Anggota
id Nama alamat
A001 iqbal Pasaman
A002 Dimas Solok
A003 Nabil Sumsel
A004 Ilham Panti
A005 Fajri Batusangkar
Pinjam
id nobuku
A001 B001
A002 B001
A002 B002
A003 B002
A004 B001
A004 B003
A005 B002
A005 B004
Buku
Nobuku Judulbuku pengarang
B001 java Yusuf
B002 Python Rahmad
B003 C++ Zandika
B004 Html rahmad
Peminjaman
Id jmlpinjm Tglpnjm
A001 1 15/7/2024
A002 2 13/7/2024
A003 1 14/7/2024
A004 2 5/7/2024
A005 2 12/7/2024
5. Bentuk normalisasi keempat(4nf)
Tahap keempat normalisasi database, atau 4NF, memastikan bahwa
tidak ada ketergantungan multivalued dalam tabel. Dalam tahap ini,
setiap tabel harus dibagi menjadi tabel yang lebih kecil untuk
menghindari ketergantungan multivalued. Jika ada ketergantungan
multivalued dalam tabel, tabel harus dibagi menjadi beberapa tabel
untuk memisahkan informasi tersebut. Tahap 4NF memastikan bahwa
tidak ada redundansi data dalam tabel dan menghindari ketergantungan
multivalued.
6. Bentuk normalisasi kelima (5nf)
Tahap kelima normalisasi database, atau 5NF, adalah tahap tertinggi
normalisasi database dan opsional. Tahap ini memastikan bahwa tidak
ada ketergantungan join yang tidak perlu dalam tabel.
Dalam tahap ini, setiap tabel dibagi menjadi tabel yang lebih kecil untuk
memisahkan informasi yang berkaitan dengan ketergantungan join yang
tidak perlu. Tahap 5NF memastikan bahwa database sangat efisien dan
tidak mengandung anomali data.
Namun, tahap kelima normalisasi database tidak selalu diperlukan
dalam setiap lingkungan database. Tahap ini umumnya digunakan dalam
lingkungan database yang sangat kompleks dan besar, di mana efisiensi
dan penghematan ruang penyimpanan sangat penting.
C. Entity Relationship Digaram
Entity Relationship Diagram adalah suatu model penyajan data dengan
menggunakan Entity dan Relasionship. ERD menggambarkan model
konseptual untuk menggambarkan struktur logis dari basisdata berbasis
grafis. Tujuan dari penyajan ini adalah agar database dapat dipahami dan
dicancang dengan mudah
D. Symbol ERD
Entity
Entity adalah objek yang dapat dibedakan dalam dunia nyata. Sedangkan
Entity Set adalah kumpulan dari entitty yang sejenis. Entity set dapat berupa
objek secara fisik (Rumah, Kendaraan, Peralatan) atau objek secara
konsep(Pekerjaan, Perusahaan). Entity disimbolkan dengan persegi Panjang
Relationship
Relationship adalah hubgan yang terjadi antara satu atau lebih entity.
Sedangkan Relationship set adalah kumpulan relationship yang sejenis.
Relationship disimbolkan dengan jajar genjang .
Attribute
Attribute adalah karakteristik dari tiap entity atau relationship yang
menyediakan penjelasan detail mengenai entity atau relationship tersebut.
Nilai dari attribute adalah data aktual atau informasi yang disimpan pada
suatu attribut di dalam entity atau relationship, dimana tiap attribute
memiliki domain (value set) tersendiri. Domain (value set) adalah batas-
batas nilai yang diperbolehkan bagi suatu attribute. Attribute disimbolkan
dengan lingkaran ( ).
Jenis-jenis attribute yang digunakan dalam ERD adalah:
• Key : Atribut yang digunakan untuk menentukan suatu entity secara
unik. Atribut Simple : Atribut sederhana yang tidak dapat dibagi
dalam beberapa bagian.
• Atribut Komposit : Atribut yang dapat dibagi lagi dalam beberapa
bagian. Contoh : Alamat yang dapat dibagi lagi menjadi Negara,
Propinsi dan Kota
• Atribut Single-valued : Atribut yang memiliki paling banyak satu
nilai untuk setiap baris data.
• Multi-valued attributes : Atribut yang dapat diisi dengan lebih satu
nilai tetapi jenisnya sama. Contoh : Nomor Telp, Alamat, Gelar
• Atribut Turunan : Atribut yang diperoleh dari pengolahan dari
atribut lain yang berhubungan. Contoh : Umur, IP
• Attribute Key : Attribut yang dapat dijadikan kunci untuk mecari
data dalam relasi. Contoh: NIM Mahasiswa.
Derajat Relasi
Derajat Relasi menunjukan banyaknya himpunan entitas yang saling
berelasi. Jenis derajat himpunan relasi adalah:
• Unary Degree (Derajat Satu) melibatkan sebuah entitas yang
berelasi dengan dirinya sendiri
• Binary Degree(Derajat Dua) Himpunan relasi melibatkan dua
himpunan entitas. Secara umum himpunan relasi dalam sistem basis
data adalah binary.
• Ternary Degree (Derajat Tiga) Himpunan relasi memungkinkan
untuk melibatkan lebih dari dua himpunan entitas.
Pemetaan Kardinalitas Relasi
Pemetaan kardinalitas relasi menggambarkan banyaknya jumlah maksimum
entitas dapat berelasi dengan entitas pada himpunan entitas yang lain. Untuk
Himpunan relasi biner pemetaan kardinalitasnya dapat merupakan salah
satu dari tipe2 berikut
1. Satu ke Satu (One to one) Artinya, sebuah entity hanya dapat
berelasi dengan satu buah object di entity yang lain. Kardinalitas ini
disimbolkan dengan 1-1
2. Satu ke Banyak (One to many), disimbolkan dengan 1-m Artinya,
sebuah entity dapat berelasi dengan banyak object di entity yang
lain. Kardinalitas ini disimbolkan dengan 1-m
3. Banyak ke Satu (Many to one), disimbolkan dengan m-1 Ini adalah
kebalikan dari one to many, maksudnya banyak entity akan berelasi
dengan satu objek yang sama pada entity yang lain. Kardinalitas ini
disimbolkan dengan 1-m
4. Banyak ke Banyak (Many to many), disimbolkan dengan m-n
Artinya, akan ada banyak entity yang akan berelasi dengan banyak
object di entity yang lain. Kardinalitas ini disimbolkan dengan m-n.
Key
Penggunaan key merupakan cara untuk membedakan suatu entitas didalam
himpunan entitas dengan entitas lain. Secara konsep, Masing-masing entitas
(nilainya) berbeda, perbedaannya terlihat pada isi dari masing-masing
atributnya. Oleh karena itu, dibutuhkan suatu atribut yang memiliki nilai
yang menjadi pembeda dengan entitas lain. Key adalah satu atau gabungan
dari beberapa atribut yang dapat membedakan semua row dalam relasi
secara unik. Ada 3 macam key yang dapat diterapkan pada suatu relasi :
1. Super Key Merupakan satu atau lebih atribut (kumpulan atribut)
yang dapat membedakan satiap baris data dalam sebuah relasi secara
unik.
2. Candidate Key Merupakan kumpulan atribut minimal yang dapat
membedakan setiap baris data dalam sebuah relasi secara unik
3. Primary Key Merupakan salah satu dari candidate key yang terpilih
Pemilihan primary key dari sejumlah candidate key umumnya
didasari oleh:
a. Key tersebut lebih sering (lebih natural) untuk dijadikan
sebagai acuan
b. Key tersebut lebih ringkas
c. Jaminan keunikan key tersebut lebih baik
Peran (Role)
Relasi himpunan entitas tidak harus dalam bentuk yang berbeda, contoh
label “manager” dan “worker” disebut Roles (peran), yang menspesifikasi
bagaimana entitas employee berinteraksi melalui relasi Works-for. Peran
dalam ER diagram diindikasikan dengan memberikan label (nama) pada
garis yang menghubungkan relasi dengan entitas. Label peran bersifat
optional dan digunakan untuk mengklarifikasi semantik suatu relasi
Weak Entity
Weak Entity adalah suatu entity dimana keberadaan dari entity tersebut
tergantung dari keberadaan entity lain. Entity yang merupakan induknya
disebut Identifying Owner dan relationship-nya Disebut Identifyimg
Relationship. Weak Entity Selalu mempunyai Total Participation Constraint
dengan Identifying Owner
E. Langkah Langkah Pembuatan ERD
1. Identifikasi entitas
Langkah pertama dalam membuat ERD adalah mengidentifikasi semua
entitas yang akan kamu gunakan. Tulislah dalam sebuah persegi panjang
dengan deskripsi singkat tentang informasi apa yang akan disimpan.
Gambarlah sebuah persegi untuk setiap entitas yang terpikirkan olehmu,
jangan lupa berikan space di sekitar kotak untuk informasi lainnya nanti
2. Identifikasi dan deskripsikan relasi entitas
Cari dua entitas yang sekiranya mempunyai hubungan. Jika sudah
ditemukan, buatlah garis yang menghubungkan keduanya. Selanjutnya,
bagaimanakah kedua entitas tersebut berhubungan? Kamu bisa
membuat simbol diamond untuk mendeksripsikan hubungan kedua
entitas tersebut.
3. Tambahkan atribut
Jangan lupa tambahkan atribut kunci untuk setiap entitas dengan
menggunakan simbol oval. Ingat beberapa perbedaan atribut yang sudah
disebutkan di atas.
4. Penuhi diagram
Setelah kamu sudah membuat beberapa contoh entitas yang
terhubungkan oleh garis dan membuat diamond di antara kedua entitas
tersebut, berarti semua hubungan telah mempunyai deskripsi masing-
masing. Mungkin tidak setiap entitas mempunyai hubungan, atau
beberapa di antaranya malah memiliki relasi yang banyak, tapi itu tidak
masalah.
F. Contoh penerapan ERD
Disini saya membuat contoh penerapan erd terkait sebuah klinik bersalin
yang dinamai dengan klinik bersalin sehabat [Link] ini saya
tampilkan sepertti apa bentuk aplikasinya.
ERD dari aplikasi di atas sebagaibeikut