76fe0 04 teknik normalisasi (2)
Desain Database
Dengan Teknik NORMALISASI
Pengetahuan Awal
•
•
•
•
•
•
Data vs Informasi
Attribut (Field)
Baris/Tupel (Record)
Relasi/Tabel
Basis Data (Database)
Attribute Key Primary Key, Foreign Key
Barang
Kode_Barang
Kumpulan Table Pada “Koperasi
ABC” Karyawan
Nama_Barang
satuan
Harga
NIK
Nama_Karyawan
Bagian
40000
K1001
Agus Haryanto
Personalia
Botol
3000
K1002
Amri Setiadi
Kasir
Kecap ABC
Botol
2000
K1003
Mahdiyansyah
Sales
B004
Susu Bendera 400 gr
Kotak
15000
K1004
Yuri Irawan
Sales
B005
Rinso 1 Kg
Plastik
12000
K1005
Rachmat Nasir S
Sales
B001
Indomie Kari Ayam
Kardus
B002
Saus ABC 50 ml
B003
Detail_Pjl
H_Pjl
No_Fa
k
Kode_Barang
F0001
B001
Indomie Kari Ayam
Kardus
F0001
B002
Saus ABC 50 ml
Botol
F0002
B001
Indomie Kari Ayam
Kardus
F0002
B003
Kecap ABC
Botol
F0003
B001
Indomie Kari Ayam
Kardus
Nama_Barang
Satuan
Harga
Jumla
h
40000
1
3000
2
40000
5
2000
3
40000
2
No_Fak
Tgl_Fak
NIK
F0001
01/10/2004
K1001
F0002
02/10/2004
K1002
F0003
03/10/2004
K1003
Normalisasi
Teknik Normalisasi merupakan teknik
pengelompokan data elemen menjadi tabeltabel yang menunjukkan Relasi/Tabel dan
Hubungan antar Tabel.
Definisi
Syarat Normalisasi yang Optimal
adalah telah teruji dengan baik dalam beberapa
kondisi.
Apakah sudah tidak ada kesulitan pada saat;
•menambah,
•menghapus,
•membaca dan
•mengubah isi database dengan beberapa
relasi/tabel yang ada
Normalisasi
1. Mengidentifikasi hubungan antar Atribut/Field
2. Mengkombinasikan Atribut untuk membentuk
Relasi/Tabel
Tujuan
3. Mengkombinasikan Relasi/Tabel untuk membentuk
Database
4. Menghindari terjadiya anomali (kejadian menyimpang)
dan
inkonsistensi data karena terjadinya:
* Penambahan Record
* Modifikasi isi Atribut/Field
* Pengahupusan Record
Normalisasi
Kolom / Atribut / Field
Baris / Record / Tupel adalah kumpulan atribut-atribut yang
berelasi secara logika
Struktur
Relasi
(Tabel)
Candidate Key merupakan atribut-atribut dalam suatu table yang
mungkin dapat mengidentifikasikan secara unik suatu kejadian
spesifik dari entity. Jika satu kunci kandidat berisi lebih dari satu
atribut, maka kunci tersebut disebut Composite Key.
Primary Key merupakan suatu atribut yang tidak hanya
mengidentifikasikan secara unik kejadian spesifik, namun juga
dapat mewakili setiap kejadian dari suatu entity
Foreign Key merupakan atribut atau satu set atribut yang
digunakan untuk melengkapi suatu relationship (hubungan antar
table) yang menunjuk ke table induknya. Foreign Key berada
pada entity (table) anak, yang sama dengan Primary Key entity
(table) induk relasinya
Normalisasi
Functional Dependency
Jika terdapat sebuah relasi R(A, B), dimana atribut B adalah
bergantung fungsi pada atribut A, jika dan hanya jika setiap nilai
A mempunyai hubungan dengan tepat satu nilai B dalam setiap
satu waktu (bila setiap nilai yang berlaku pada B dapat
ditentukan oleh A). Dimana dalam notasi ditulis sebagai berikut:
A B atau B = f(A).
Contoh:
Nama Pegawai bergantung secara fungsi pada NIP, dan NIP
dapat menunjukkan secara fungsi dari sebuah Nama
Pegawai dalam keseluruhan isi tabel Pegawai, maka dalam
notasinya dapat ditulis sebagai berikut:
NIP Nama Pegawai atau Nama Pegawai = f(NIP).
Normalisasi
Fully Functional Dependency
Sebuah Relasi R( A, B, X ), dimana X tergantung fungsional pada AB.
X dinyatakan tergantung fungsional penuh (fully functional dependency)
bila tidak terjadi: A X atau B X, melainkan hanya AB X.
Normalisasi
Unnormalized Form
Bentuk ini merupakan kumpulan data yang akan direkam,
tidak ada keharusan mengikuti suatu format tertentu
(format bebas), bisa saja tidak lengkap atau terduplikasi.
Data dikumpulkan apa adanya sesuai dengan
kedatangannya.
1st Normal Form/1NF
BentukBentuk
Normalisasi
Sebuah relasi berada dalam 1NF, jika relasi tersebut tidak
berisi atribut yang berulang-ulang (repeating groups).
2nd Normal Form/2NF
Sebuah Relasi adalah dalam 2NF, jika Relasi tersebut
dalam 1NF dan untuk setiap atribut bukan kunci (non-key)
adalah tergantung fungsional kepada Primary Key (PK).
3rd Normal Form/3NF
Sebuah Relasi adalah dalam 3NF, jika Relasi tersebut dalam
1NF dan 2NF dan untuk setiap atribut NK (non-key) tidak
punya hubungan yang transitif, atau setiap atribut NK
haruslah hanya bergantung pada PK, atau tidak bergantung
fungsional kepada NK attribute yang lainnya.
Normalisasi
Petunjuk pengembangan Relasi hingga 3NF:
1. Tentukan atribut-atribut dalam relasi
2. Kelompokkan atribut yang secara logis mempunyai hubungan
dalam relasi
3. Pilih CK (Candidate Key)
4. Bila ada RG (Rrepeating Group), normalisasikan terlebih dahulu
5. Pilih PK
6. Identifikasikan ketergantungan fungsional
7. Dekomposisi relasi selagi ada atribut NK yang belum
tergantung sepenuhnya terhadap PK
8. Kombinasikan relasi dengan PK yang identik
9. Temukan ketergantungan transitif (atribut yang tergantung
pada lebih dari 1 kunci)
10.Dekomposisi relasi sampai tidak ada ketergantungan transitif
Normalisasi
Kasus 1:
Riwayat Pendidikan Formal Pegawai
NIP
Nama
Alamat
Telp.
Level
SD
SMP
.
.
S3
: ………………………………
: ………………………………
: ………………………………
………..…………………….
: …………….………
Nama Sekolah
Tahun
Nilai RataRata
Normalisasi
Kasus 2:
Order Barang ke Vendor dari Banyak Departemen
No. Order : …………
Tanggal : ……………….
Kd. Vendor : …………
Nama
: …………………………………..……………………
Alamat
: ………………………………….…
………………………………….…
Telp.
: ……………….
Kode
Deskripsi
Qty
Dept.
Nama Deprtement
Normalisasi
Kasus 3:
Penjualan Barang Tiap Sales Ke Banyak
Pelanggan
No. Jual
: …………
Tanggal : ………..……….
Kd. Pelanggan : …………
Nama
: …………………………………..……………….…
Alamat
: ………………………………….………………..… Telp. : ……..………….
Kd. Sales : ………… Nama Sales : …………………………………….……………….
Kode
Deskripsi
Qty
Harga
Total Kotor
Discount
Total Bersih
Total
TERIMA KASIH
Dengan Teknik NORMALISASI
Pengetahuan Awal
•
•
•
•
•
•
Data vs Informasi
Attribut (Field)
Baris/Tupel (Record)
Relasi/Tabel
Basis Data (Database)
Attribute Key Primary Key, Foreign Key
Barang
Kode_Barang
Kumpulan Table Pada “Koperasi
ABC” Karyawan
Nama_Barang
satuan
Harga
NIK
Nama_Karyawan
Bagian
40000
K1001
Agus Haryanto
Personalia
Botol
3000
K1002
Amri Setiadi
Kasir
Kecap ABC
Botol
2000
K1003
Mahdiyansyah
Sales
B004
Susu Bendera 400 gr
Kotak
15000
K1004
Yuri Irawan
Sales
B005
Rinso 1 Kg
Plastik
12000
K1005
Rachmat Nasir S
Sales
B001
Indomie Kari Ayam
Kardus
B002
Saus ABC 50 ml
B003
Detail_Pjl
H_Pjl
No_Fa
k
Kode_Barang
F0001
B001
Indomie Kari Ayam
Kardus
F0001
B002
Saus ABC 50 ml
Botol
F0002
B001
Indomie Kari Ayam
Kardus
F0002
B003
Kecap ABC
Botol
F0003
B001
Indomie Kari Ayam
Kardus
Nama_Barang
Satuan
Harga
Jumla
h
40000
1
3000
2
40000
5
2000
3
40000
2
No_Fak
Tgl_Fak
NIK
F0001
01/10/2004
K1001
F0002
02/10/2004
K1002
F0003
03/10/2004
K1003
Normalisasi
Teknik Normalisasi merupakan teknik
pengelompokan data elemen menjadi tabeltabel yang menunjukkan Relasi/Tabel dan
Hubungan antar Tabel.
Definisi
Syarat Normalisasi yang Optimal
adalah telah teruji dengan baik dalam beberapa
kondisi.
Apakah sudah tidak ada kesulitan pada saat;
•menambah,
•menghapus,
•membaca dan
•mengubah isi database dengan beberapa
relasi/tabel yang ada
Normalisasi
1. Mengidentifikasi hubungan antar Atribut/Field
2. Mengkombinasikan Atribut untuk membentuk
Relasi/Tabel
Tujuan
3. Mengkombinasikan Relasi/Tabel untuk membentuk
Database
4. Menghindari terjadiya anomali (kejadian menyimpang)
dan
inkonsistensi data karena terjadinya:
* Penambahan Record
* Modifikasi isi Atribut/Field
* Pengahupusan Record
Normalisasi
Kolom / Atribut / Field
Baris / Record / Tupel adalah kumpulan atribut-atribut yang
berelasi secara logika
Struktur
Relasi
(Tabel)
Candidate Key merupakan atribut-atribut dalam suatu table yang
mungkin dapat mengidentifikasikan secara unik suatu kejadian
spesifik dari entity. Jika satu kunci kandidat berisi lebih dari satu
atribut, maka kunci tersebut disebut Composite Key.
Primary Key merupakan suatu atribut yang tidak hanya
mengidentifikasikan secara unik kejadian spesifik, namun juga
dapat mewakili setiap kejadian dari suatu entity
Foreign Key merupakan atribut atau satu set atribut yang
digunakan untuk melengkapi suatu relationship (hubungan antar
table) yang menunjuk ke table induknya. Foreign Key berada
pada entity (table) anak, yang sama dengan Primary Key entity
(table) induk relasinya
Normalisasi
Functional Dependency
Jika terdapat sebuah relasi R(A, B), dimana atribut B adalah
bergantung fungsi pada atribut A, jika dan hanya jika setiap nilai
A mempunyai hubungan dengan tepat satu nilai B dalam setiap
satu waktu (bila setiap nilai yang berlaku pada B dapat
ditentukan oleh A). Dimana dalam notasi ditulis sebagai berikut:
A B atau B = f(A).
Contoh:
Nama Pegawai bergantung secara fungsi pada NIP, dan NIP
dapat menunjukkan secara fungsi dari sebuah Nama
Pegawai dalam keseluruhan isi tabel Pegawai, maka dalam
notasinya dapat ditulis sebagai berikut:
NIP Nama Pegawai atau Nama Pegawai = f(NIP).
Normalisasi
Fully Functional Dependency
Sebuah Relasi R( A, B, X ), dimana X tergantung fungsional pada AB.
X dinyatakan tergantung fungsional penuh (fully functional dependency)
bila tidak terjadi: A X atau B X, melainkan hanya AB X.
Normalisasi
Unnormalized Form
Bentuk ini merupakan kumpulan data yang akan direkam,
tidak ada keharusan mengikuti suatu format tertentu
(format bebas), bisa saja tidak lengkap atau terduplikasi.
Data dikumpulkan apa adanya sesuai dengan
kedatangannya.
1st Normal Form/1NF
BentukBentuk
Normalisasi
Sebuah relasi berada dalam 1NF, jika relasi tersebut tidak
berisi atribut yang berulang-ulang (repeating groups).
2nd Normal Form/2NF
Sebuah Relasi adalah dalam 2NF, jika Relasi tersebut
dalam 1NF dan untuk setiap atribut bukan kunci (non-key)
adalah tergantung fungsional kepada Primary Key (PK).
3rd Normal Form/3NF
Sebuah Relasi adalah dalam 3NF, jika Relasi tersebut dalam
1NF dan 2NF dan untuk setiap atribut NK (non-key) tidak
punya hubungan yang transitif, atau setiap atribut NK
haruslah hanya bergantung pada PK, atau tidak bergantung
fungsional kepada NK attribute yang lainnya.
Normalisasi
Petunjuk pengembangan Relasi hingga 3NF:
1. Tentukan atribut-atribut dalam relasi
2. Kelompokkan atribut yang secara logis mempunyai hubungan
dalam relasi
3. Pilih CK (Candidate Key)
4. Bila ada RG (Rrepeating Group), normalisasikan terlebih dahulu
5. Pilih PK
6. Identifikasikan ketergantungan fungsional
7. Dekomposisi relasi selagi ada atribut NK yang belum
tergantung sepenuhnya terhadap PK
8. Kombinasikan relasi dengan PK yang identik
9. Temukan ketergantungan transitif (atribut yang tergantung
pada lebih dari 1 kunci)
10.Dekomposisi relasi sampai tidak ada ketergantungan transitif
Normalisasi
Kasus 1:
Riwayat Pendidikan Formal Pegawai
NIP
Nama
Alamat
Telp.
Level
SD
SMP
.
.
S3
: ………………………………
: ………………………………
: ………………………………
………..…………………….
: …………….………
Nama Sekolah
Tahun
Nilai RataRata
Normalisasi
Kasus 2:
Order Barang ke Vendor dari Banyak Departemen
No. Order : …………
Tanggal : ……………….
Kd. Vendor : …………
Nama
: …………………………………..……………………
Alamat
: ………………………………….…
………………………………….…
Telp.
: ……………….
Kode
Deskripsi
Qty
Dept.
Nama Deprtement
Normalisasi
Kasus 3:
Penjualan Barang Tiap Sales Ke Banyak
Pelanggan
No. Jual
: …………
Tanggal : ………..……….
Kd. Pelanggan : …………
Nama
: …………………………………..……………….…
Alamat
: ………………………………….………………..… Telp. : ……..………….
Kd. Sales : ………… Nama Sales : …………………………………….……………….
Kode
Deskripsi
Qty
Harga
Total Kotor
Discount
Total Bersih
Total
TERIMA KASIH