You are on page 1of 17

Normalisasi 1NF, 2NF, 3NF/BCNF

Normalisasi Table dari 1NF,2NF, 3NF/BCNF


Berikut adalah table yang akan kita gunakan




Ini adalah unormalized table data yang akan kita normalkan, langkah-langkahnya
adalah sebagai berikut:

1st Normal Form (1NF)
Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi
bentuk normal pertama (1NF).
Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value-
nya simple/atomic(tidak boleh ada attribute yang composit & multivalue)
Tujuan 1NF adalah:
Membuang adanya pengulangan (Redudansi) data,
Menghindari adanya pencatatan Null Value, dan
Menjaga setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu
nilai tunggal.
Beberapa table dapat mengandung partial dependency



Pada table data kursus ini, untuk 1NF, kita menghilangkan adanya pencatatan null
value serta membuang adanya pengulangan

2st Normal Form (2NF)
Sudah dalam bentuk / lolos 1NF.
Dibuat berdasarkan FULL FUNCTIONAL DEPENDENCY (ketergantungan fungsional
penuh)
Normalisasi 2NF: jika tabel berada dalam bentuk normal pertama (1NF) dan
setiap atribut bukan kunci (bukan PK) bergantung penuh (FULL
DEPENDENT) pada kunci primer (PK).
Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci
primer.




Pada tahap 2NF kita mencari ketergantungan fungsional dari table data kursus
IDSiswa -> NamaSiswa, Telephone, TanggalLahir (table siswa)
KursusID -> Kursus, SKS (table pelajaran)
IDsiswa,Kursus-> Nilai, bobot (table nilai)
Maka dari itu kita membuat 3 tabel sesuai ketergantungan dependensinya yaitu table
siswa, table pelajaran, dan table nilai


3rd Normal Form (3NF)
Suatu relasi R disebut normal ke tiga (3rd NF) jika sudah memenuhi dalam
bentuk normal ke dua (2nd NF) dan tidak dijumpai adanya ketergantungan
TRANSITIF (Transitive Dependency).
Kebergantungan transitif (transitive dependency) adalah ketergantungan fungsional
antara 2 (atau lebih) atribut bukan key (kunci/PK).
Syarat 3NF:
Harus berada dalam bentuk normal ke dua (2NF).
Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full-
dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara
transitif).




Pada tahap 2NF kita masih menjumpai masalah yaitu
Nilai->bobot
Maka table nilai harus di bagi dua menjadi table nilai dan table bobot.

Sekian postingan saya kali ini semoga bermanfaat











Normalisasi Database 1NF, 2NF dan 3NF (Peminjaman Kaset)

Kali ini saya akan memposting tentang normalisasi database di mulai dari database yang tidak
normal/unnormal menjadi 1NF, 2NF dan 3NF. Sebelumnya, apakan normalisasi database itu?

Normalisasi : Teknik/pendekatan yang digunakan dalam membangun disain lojik database relasional
melalui organisasi himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi
sedemikian sehingga menghasilkan struktur tabel yang normal.
Tujuan :
Minimalisasi redundansi (pengulangan data)
Memudahkan identifikasi entitas
Mencegah terjadinya anomali
Berikut adalah contoh kasus database peminjaman kaset yang tidak normal/unnormal :





INF (First Normal Form)


Karena tidak normal, maka kita akan menjadikan database tersebut menjadi INF (First Normal Form) :


Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika setiap
atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada pengulangan grup
atribut dalam baris. Bentuk 1NF tidak boleh mengandung grup atribut yang
berulang. Tujuan membentuk 1NF : ::. semantik tabel menjadi lebih
eksplisit ::. semua operator aljabar relasional dapat diaplikasikan pada tabel.

Hasil :




Apakah 2NF ?

Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika :

1. memenuhi 1NF
2. setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan
bukan hanya sebagian atribut kunci (fully functionally dependent).

Hasil : Database sebelumnya dipecah jadi 2, Tabel Peminjam dan Tabel Kaset





Apakah sudah 3NF ?


Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :

1. memenuhi 2NF
2. setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut bukan kunci yang lain dalam
relasi tsb (tidak terdapat ketergantungan transitif pada atribut bukan kunci).

Hasil : Atribut (Jumlah_Hari_Pinjam) di pisah dari Table PEMINJAM sehingga memunculkan Table TRANSAKSI






Sekian dari postingannya, Terima kasih.















Normalisasi 1nf, 2nf, 3nf
BENTUK NORMAL PERTAMA (1NF)
Berikut adalah contoh data-data yang belum ternormalisasi:


Pada data tabel di atas, contoh data belum ternormalisasi sehingga
dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.



BENTUK NORMALISASI KEDUA (2NF)
Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi
bentuk 1NF.



Bentuk 1NF-nya:


Bentuk 2NF-nya didapat dengan teknik berikut ini:
Pada bentuk 1NF-nya, terlihat bahwa kolom NIM merupakan PrimaryKey.
NIM -> Nama, Dosen Wali. Artinya adalah bahwa atribut Nama dan Dosen Wali
bergantung pada NIM.
Tetapi NIM <> Kode MataKuliah. Artinya adalah bahwa atribut Kode_MataKuliah tidak tergantung pada
NIM.
Sehingga, bentuk 2NF-nya terbagi atas 2 table:

Table1


Table2


BENTUK NORMALISASI KETIGA (3NF)
Berikut ini adalah contoh tabel Mahasiswa yang sudah dalam bentuk 1NF:



Bentuk 2NF-nya:
Table1


Table2


Table3


Namun, di Table1, atribut nonkey(Nilai dan Bobot) masih memiliki ketergantungan fungsional. Maka,
untuk memenuhi bentuk 3NF, Table1 harus dipecah lagi menjadi:











Bentuk Tidak Normal - UNF (Masukan semua atribut yang ada pada dokumen dasar baik itu
pada format dokumen Masukan maupun dokumen Keluaran pada satu himpunan). | Tampilkan
contoh
Bentuk Normal 1 - 1NF (Tidak ada baris yang duplikat ; Tentukan atribut yang akan dijadikan
Candidate Key (Calon Kunci yang akan menjadi Kunci Utama). | Tampilkan contoh
Bentuk Normal 2 - 2NF (Sudah dalam bentuk Normal Pertama; Semua atribut yang tidak
termasuk dalam Primary Key memiliki ketergantungan fungsional pada Primary Key secara utuh.
| Tampilkan contoh
Bentuk Normal 3 - 3NF (Sudah dalam bentuk Normal Kedua; Pisahkan atribut yang merupakan
atau menjadi atribut detail (tidak tergantung secara langsung kepada atribut Primary Key).
Pisahkan atribut (pada kotak merah) dari himppunan / dari tabel asal pisahkan ke tabel baru. |
Tampilkan contoh

Teknik Normalisasi
Normalisasi

Normalisasi adalah proses pengelompokkan elemen-elemen data kedalam sebuah tabel yang
dapat menunjukkan entitas dan relasi masing-masing tabel. Normalisasi sering juga diartikan
sebagai pengelompokkan atribut-atribut kedalam sebuah relasi sehingga membentuk Well
structure Relation.

Perhatikan Dokumen Kartu pengobatan masyarakat berikut ini. Kartu pengobatan tersebut dapat
diubah menjadi data yang Unnormalisasi, 1NF, 2NF, 3NF dll.

Berdasarkan dokumen diatas saya akan menguraikan sebagian dari bentuk-bentuk dari
normalisasi, seperti berikut ini:
1. Unnormalisasi
Dikatakan sebagai Unnormalisasi atau bentuk tidak normal karena data-data yang ada
didalamnya tidak lengkap atau bisa berulang. Yang menyebakan data berulang atau tidak
lengkap salah satunya ialah karena data tersebut direkam dengan tidak memperhatikan
format yang telah ditentukan. Sebagai contoh dari unnormalisasi perhatikan gambar berikut
ini:


Dari gambar diatas menunjukkan adanya peulangan dibaagian kode dokter dan
Nama pasien.
2. Bentuk Normal Kesatu (1NF /First normal form)

Ciri-ciri Normal kesatu yaitu Data disimpan dalam flag file dan memiliki ketergantungan
Partial. Seperti gambar berikut ini:


Dari gambar diatas terdapat beberapa field yang menjadi atribut Candidate Key. Candidate Key
dalam hal ini adalah satu set minimal atribut yang mengidentifikasi secara unik suatu kejadian
dari entity. Atribut yang menjadi Candidate Key antara lain:
No pasien
Nopen
Kode dokter
Kode sakit
Kode obat

3. Bentuk Normal Kedua (2NF /Second Normal Form)
Bentuk normal kedua memiliki ketergantungan Transitif. Dan biasanya sudah memenuhi
syarat normal kesatu.


4. Bentuk normal Ketiga (3NF /Third Normal Form)

Bentuk normal ketiga biasanya sudah memenuhi syarat normal kedua dan tidak memiliki
ketergantugan secara transitif. Dengan kata lain setiap atribute bukan kunci haruslah bergantung
hanya pada primary key dan pada primary key secara menyeluruh.

You might also like