Anda di halaman 1dari 24

Normalisasi

TUJUAN PEMBELAJARAN UMUM :


Setelah lulus matakuliah Perancangan Basisdata Mahasiswa dapat
membangun aplikasi basis data sederhana untuk keperluan aplikasi
perkantoran, instansi maupun perusahaan

Menterjemahkan operasi basisdata sederhana

Membangun dan memanipulasi data menggunakan


SQL

Membuat model ERD (Entity


Mentransformasikan model data
Relationship Diagram) untuk
menggambarkan hubungan antar data konseptual ke model data fisik

Membuat normalisasi data terhadap struktur


table yang telah dibuat
Menunjukkan hubungan antara basisdata jaringan,
hirarki dan relasional

Menjelaskan komponen-komponen yang berada dalam


lingkup sistem basis data

Menjelaskan objektif dari penggunaan basisdata


JENIS-JENIS ATRIBUT
Atribut Kunci adalah satu atau gabungan dari
beberapa atribut yang dapat membedakan
semua baris data dalam tabel secara unik.
Dikatakan unik jika pada atribut yang dijadikan
kunci tidak boleh ada baris data dengan nilai
yang sama.
Dalam metode relasional, ada 6 kunci
• Kunci Calon (Candidat key)
• Kunci calon adalah salah satu rangkaian yang mempunyai nilai unik untuk
membedakan atau mengidentifikasi nilai-nilai kombinasi yang unik diantara semua
kejadian yang spesifik dari entetitas. Kunici calon ini tidak boleh berisi atribut dari
tabel yang lain. kombinasi dari atribut yang dapat digunakan untuk
mengidentifikasi secara unik rekor database tanpa data apapun yang asing. Setiap
tabel dapat memiliki satu atau lebih kunci calon.

Contoh:
Tabel pegawai berisi atribut
 nip
 no_ktp
 nama
 tempat_lahir
 tanggal_lahir
 alamat
 Kota
Kunci Utama (Primary Key)
Kunci utama adalah atribut merupakan kunci calon yang telah dipilih untuk
mengidentifikasi setiap record secara unik. Kunci utama harus merupakan atribut yang
benar-benar unik dan tidak boleh ada nilai NULL. Kunci utama adalah suatu nilai dalam
basis data yang digunakan untuk mengidentifikasi suatu baris dalam table.

Salah satu dari kunci calon dapat dipilih menjadi kunci utama dengan 3 kriteria sbb:
•Kunci tersebut lebih natural untuk dijadikan acuan
•Kunci tersebut lebih sederhana
•Kunci tersebut cukup unik

No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary
key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary
key, maka primary key nya adalah no induk.
Kunci Alternatif (Alternate Key)
Kunci Alternatif adalah kunci alternatif yang tidak terpilih. Misal : dalam suatu entitas
terdapat dua atribut yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan
kunci hanya satu, maka anda harus memilih salah satu. Atribut yang dipilih, disebut kunci
utama. sedangkan atribut yang tidak dipilih disebut dengan kunci .

Contoh:
Tabel pegawai berisi atribut
 nip
 no_ktp
 nama
 tempat_lahir
 tanggal_lahir
 alamat
 Kota

nip dan no_ktp adalah kunci calon dan untuk kunci utama adalah salah satu yang dipilih dari
kunci calon. Misalnya nip di jadikan kunci utama, maka no_ktp otomatis menjadi kunci
alternatif.
• Kunci Tamu (Foreign Key)
Jika sebuah kunci utama terhubungan ke tebel lain, maka keberadaan
kunci utama pada tersbut di sebut sebagai kunci tamu. Kunci
tamu adalah Sebuah kumpulan atribut dalam satu relasi yang
digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada
relasi yang lain (harus berkorespondensi dengan kunci utama pada
relasi yang kedua), seperti: ‘logical pointer’.

Sedangkan hubungan antara keduanya (kunci utama dan kunci tamu)


di jelaskan sebagai berikut:
• Kunci utama adalah atribut kunci dari suatu tabel yang
menunjukkan bahwa atribut tersebut tidak bisa diisi dengan data
yang sama, atau dengan kata lain kunci utama menjadikan setiap
record memiliki identitas sendiri-sendiri yang membedakan satu
sama lainnya (unik).
• Kunci tamu adalah atribut yang melengkapi satu relationship yang
menunjukan ke induknya, dengan kata lain keduanya saling
berkaitan.
Kunci Komposit (Composite key)
Dalam desain basisdata, kunci komposit adalah kunci yang terdiri dari 2
atau lebih atribut yang secara unik mengidentifikasi suatu kejadian
entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci
sederhana dalam haknya sendiri.
Hal ini sering bingung dengan kunci gabungan, meskipun ini juga
merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik
mengidentifikasi suatu kejadian, setidaknya satu atribut yang membentuk
kunci komposit bukanlah kunci sederhana.

Kunci Sekunder (Secondary Key)


Kunci sekunder adalah sebuah atribut atau kombinasi yang
digunakan hanya untuk tujuan pengambilan data.
Pedahuluan
• Normalisasi adalah proses penyusunan table-tabel
yang tidak redudan (dobel), yang dapat menyebabkan
anomali pada saat terjadi operasi manipulasi data
seperti tambah, hapus, dan ubah.

• Normalisasi adalah proses pembentukan struktur basis


data sehingga sebagian besar ambiguity bisa
dihilangkan.

• Normalisasi adalah suatu teknik yang menstrukturkan


data dalam cara – cara tertentu untuk membantu
mengurangi atau mencegah timbulnya masalah yang
berhubungan dengan pengolahan data dalam basis
data
Tujuan
• Normaliasi diperlukan agar kerelasian dalam basis
data menjadi mudah dimengerti, mudah
dipelihara, mudah memprosesnya, dan mudah
untuk dikembangkan sesuai dengan kebutuhan
baru.
• Normalisasi mengharuskan relasi pada suatu
basis data dalam bentuk normal.
• Bentuk normal sendiri merupakan seperangkat
aturan yang dikenakan dan harus dipenuhi oleh
relasi basis data pada setiap level normalisasi.
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)
• 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.

• Jika kriteria ketiga (BCNF) tidak dapat terpenuhi,


maka paling tidak tabel tersebut tidak melanggar
Bentuk Normal tahap ketiga (3rd Normal Form /
3NF ).
Level Normalisasi

1. Bentuk Normal Tahap pertama(1st Normal


Form/1NF)
2. Bentuk Normal Tahap kedua(2nd Normal
Form/2NF)
3. Bentuk Normal Tahap (3rd Normal Form/3NF)
4. Boyce-Code Normal Form(BCNF)
5. Bentuk Normal Tahap (4th Normal Form/4NF)
6. Bentuk Normal Tahap(5th Normal Form/5NF)
Tahapan Normalisasi
Bentuk Tidak Normal

Menghilangkan perulangan group


Bentuk Normal Pertaman (1 NF)

Menghilangkan ketergantungan sebagian


Bentuk Normal Kedua (2 NF)

Menghilangkan ketergantungan transitif


Bentuk Normal Ketiga (3 NF)

Menghilangkan anomali-anomali hasil dari


ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)

Menghilangkan Ketergantungan Multivalue


Bentuk Normal Keempat (4 NF)

Menghilangkan anomali-anomali yang tersisa


Bentuk Normal Kelima
Normal pertama (1st normal form)
Aturan :
• Mendefinisikan atribut kunci
• Semua atribut bukan kunci tergantung pada atribut kunci
Normal kedua (2nd normal form)
Aturan :
• Sudah memenuhi bentuk normal pertama
• Tidak ada ketergantungan parsial (dimana seluruh field hanya
tergantung pada sebagian field kunci)
Normal ketiga (3rd normal form)
Aturan :
• Sudah berada dalam bentuk normal kedua
• Tidak ada ketergantungan transitif (dimana field bukan kunci
tergantung pada field bukan kunci lainnya)
Normal Boyce-Codd (Boyce Codd
Aturan :
• Sudah berada dalam bentuk normal ketiga
• Semua determinannya merupakan candidate key
Contoh :
Faktur Pembelian Barang
Step 1 bentuk unnormalized

Menuliskan semua field data yang akan direkam, bagian yang double tidak perlu
Dituliskan. Terlihat record yang tidak lengkap
Step 2 Bentuk Normal Kesatu
Step 3 Bentuk Normal Kedua
Step 4 Bentuk Normal Ketiga
Step 5 pengujian dengan data contoh
Step 6 hubungan relasi antar tabel
Buatlah Normalisasi dari KRS dibawah
ini…

Anda mungkin juga menyukai