Anda di halaman 1dari 13

LAPORAN PRAKTIKUM

MODUL X
NORMALISASI

Disusun Oleh :
Narantyo Maulana A.N
NIM : 19104048

Dosen
Sena Wijayanto, S.Pd., M.T

PROGRAM STUDI S1 REKAYASA PERANGKAT LUNAK


FAKULTAS INFORMATIKA
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
2021
BAB I
TUJUAN PRAKTIKUM

a. Mahasiswa mampu membuat database yang baik (Efisien)


b. Mahasiswa mampu melakukan normalisasi tabel
BAB II
DASAR TEORI

A. Atribut Tabel
1. Key dan Atribut Deskriptif
Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan
semua baris data (row) dalam tabel secara unik. Jika suatu atribut dijadikan key, maka
tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut.
2. Atribut sederhana dan Komposit
Atribut sederhana adalah atribut atomik yang tidak dapat dibagi lagi. Contoh:
Atribut nama mahasiswa.
3. Atribut bernilai tunggal dan bernilai banyak
Atribut bernilai tunggal (single value attribute) adalah atribut- atribut yang
memiliki nilai paling banyak satu nilai untuk setiap baris data. Contoh: atribut nim, nama
mahasiswa, alamat, tanggal lahir.
4. Atribut harus bernilai dan nilai Null
Atribut Harus Bernilai (Mandatory Attribute): Atribut yang ditetapkan harus
memiliki nilai, tidak boleh kosong/null. Contoh: Atribut Nim, Nama mahasiswa.
5. Atribut turunan
Atribut turunan (Derevatif Attribute) adalah atribut yang nilai- nilainya diperoleh
dari pengolahan atau dapat diturunkan dari atribut atau tabel lain. Atribut ini sebenarnya
dapat ditiadakan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada
didalam atribut lain. Contoh: atribut angkatan, IP, Usia.

B. Ketergantungan (Dependency)
Ketergantungan merupakan konsep yang mendasari normalisasi. Ketergantungan
menjelaskan hubungan antar atribut atau secara lebih khusus menjelaskan nilai suatu
atribut yang menentukan nilai atribut
lainnya. Ketergantungan ini kelak akan menjadi acuan bagi pendekomposisian data
kedalam bentuk yang paling efisien. Jenis-jenis ketergantungan:
1. Ketergantungan Fungsional
Ketergantungan Fungsional didefinisikan sebagai berikut: Suatu atribut Y
mempunyai Ketergantungan Fungsi terhadap atribut X jika dan hanya jika setiap nilai X
berhubungan dengan sebuah nilai Y. Berarti A secara fungsional menentukan B atau B
secara fungsional tergantung pada A.
Ditulis dengan notasi: X → Y
2. Ketergantungan Fungsional Penuh
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada
relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan). Suatu
atribut Y mempunyai dependensi sepenuhnya terhadap atribut X jika:
✓ Y mempunyai dependensi terhadap X
✓ Y tidak mempunyai dependensi terhadap bagian dari X
3. Ketergantungan Total
Didefinisikan sebagai berikut: Suatu atribut Y mempunyai ketergantungan total
terhadap atribut X jika:
✓ Y memiliki ketergantungan fungsional terhadap X
✓ X mempunyai ketergantungan fungsional terhadap Y

Ditulis dengan notasi: X ↔Y

4. Ketergantungan Transitif
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y
tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada
relasi R.
✓ Y memiliki dependensi terhadap X dan
✓ Z memiliki dependensi terhadap Y
Ditulis dengan notasi: X → Y → Z

C. 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. Proses normalisasi bertujuan untuk,
meminimalisasi redundansi (pengulangan data), memudahkan identifikasi entitas, mencegah
terjadinya anomali, mengurangi kompleksitas, menciptakan basisdata yang efektif dan efisien.
Proses Normalisasi : 1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan
persyaratan tertentu ke beberapa tingkat. 2. Apabila tabel yang diuji belum memenuhi persyaratan
tertentu (bentuk normal), maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih
sederhana sampai memenuhi bentuk yang optimal. Beberapa
bentuk normal (normal forms, NF):
1NF, 2NF, 3NF, BCNF → based on keys and functional dependencies 4NF, 5NF
→ based on keys and multi-valued dependencies
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sebagai
berikut:
a. 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.
b. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency
Preservation).
c. Tidak melanggar Boyce-Code Normal Form (BCNF)

1. Bentuk Normal Pertama (1NF)


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 (say anything once). Semua operator
aljabar relasional dapat diaplikasikan pada tabel.
2. Bentuk Normal Kedua (2NF)
Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika:
a. Memenuhi 1NF
b. Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua
atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).

Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi menjadi beberapa
tabel yang masing-masing memenuhi 2NF. Bila terdapat ketergantungan parsial maka:
eliminate.

Tujuan membentuk 2NF:

Semantik tabel 2NF menjadi lebih eksplisit (fully FD)


Mengurangi update anomali yang masih mungkin terjadi pada 1NF

3. Bentuk Normal Ketiga (3NF)


Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika:
a. Memenuhi 2NF
b. 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.

Pengertian lain dari bentuk normal ketiga (3NF) jika dan hanya jika setiap FD
nontrivial: X → A, dimana X dan A atribut (atau kompositnya), memenuhi salah satu
kondisi :

a. X adalah superkey
b. A merupakan anggota candidate key (A disebut prime attribute)

Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, maka untuk
normalisasi ke bentuk 3NF, tabel 2NF didekomposisi menjadi beberapa tabel hingga
masing-masing memenuhi 3NF. Jika suatu relasi memenuhi 2NF dan hanya memiliki
tepat satu atribut yang bukan kunci utama maka relasi tsb memenuhi 3NF.

Tujuan membentuk 3NF:

Semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key).

Menghindari update anomali yang masih mungkin terjadi pada 2NF.

4. BCNF (Boyce-Code Normal Form)


Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional
dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X → Y maka
X adalah super key.
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu
termasuk BCNF. Perbedaannya, untuk functional
dependency X → A, BCNF tidak membolehkan A sebagai bagian dari primary key.
Untuk normalisasi ke bentuk BCNF, maka tabel 3NF didekomposisi menjadi
beberapa tabel yang masing-masing memenuhi BCNF.
Tujuan membentuk BCNF :
Semantik multiple candidate key menjadi lebih eksplisit (FD hanya pada candidate key).
Menghindari update anomali yang masih mungkin terjadi pada 3NF.
5. Bentuk Normal Keempat (4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk
BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional
dependencies.
6. Bentuk Normal Kelima (5NF)
Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless
decomposition menjadi tabel-tabel yg lebih kecil. Jika 4 bentuk normal
sebelumnyadibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan
konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-
tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula.
BAB III

GUIDED

Rancangan tabel penyimpanan data dan normalisasi hingga 3NF atau BCNF.

1. Bentuk Tidak Normal (Tabel Universal)


Kode Nama Alamat Telepon Nomor Tanggal Kode Nama Harga Jumlah Sub Total Total
Suplier Suplier Nota Barang Barang Satuan

SP001 PT.Niagara Jl.Supersemar No. 14 0222-775634 PB0012 12 Desember 2020 BR00003 Meja
1.200.000 5
6.000.000 30.000.000
Surabaya BR00004 Kursi 8.000.000
800.000 10
BR00005 Papan Tulis 7.000.000
1.400.000 5
BR00007 Proyektor 9.000.000
3.000.000 3
SP003 PT.Berlian Jl. Superwomen No. 17 021-795689 PB0015 15 Januari 2021 BR00006 Dispenser 3.000.000 4.400.000
1.500.000 2
Jakarta BR00009 Tempat 1.000.000
Sampah 100.000 10
BR00011 Ember 400.000
40.000 10

2. Bentuk Normal Pertama (1NF)


Kode Nama Alamat Telepon Nomor Tanggal Kode Nama Harga Jumlah Sub Total
Suplier Suplier Nota Barang Barang Satuan Total
SP001 PT.Niagara Jl.Supersemar No. 14 0222- PB0012 12 Desember BR00003 Meja 1.200.000 5 6.000.00 30.000.00
Surabaya 775634 2020 0 0
SP001 PT.Niagara Jl.Supersemar No. 14 0222- PB0013 13 Desember BR00004 Kursi 800.000 10 8.000.00 30.000.00
Surabaya 775635 2020 0 0
SP001 PT.Niagara Jl.Supersemar No. 14 0222- PB0014 14 Desember BR00005 Papan Tulis 1.400.000 5 7.000.00 30.000.00
Surabaya 775636 2020 0 0
SP001 PT.Niagara Jl.Supersemar No. 14 0222- PB0015 15 Desember BR00007 Proyektor 3.000.000 3 9.000.00 30.000.00
Surabaya 775637 2020 0 0
SP003 PT.Berlian Jl. Superwomen No. 17 021- PB0015 15 Januari 2021 BR00006 Dispenser 1.500.000 2 3.000.00 4.400.00
Jakarta 795689 0 0
SP003 PT.Berlian Jl. Superwomen No. 17 021- PB0016 15 Januari 2021 BR00009 Tempat 100.000 10 1.000.00 4.400.00
Jakarta 795690 Sampah 0 0
SP003 PT.Berlian Jl. Superwomen No. 17 021- PB0017 15 Januari 2021 BR00011 Ember 40.000 10 400.00 4.400.00
Jakarta 795691 0 0
3. Bentuk Normal Kedua (2NF)
Table Nota
Table Suplier Nomor Nota (PK)
Kode Suplier (PK) Tanggal
Nama Suplier Kode Suplier (FK)
Alamat Kode Barang (FK)
Telepon Harga Satuan (FK)
Sub Total
Total

Table Barang Table Harga


Kode Barang (PK) Harga Satuan (PK)
Nama Barang Jumlah

4. Bentuk Normal Ketiga (3NF)

Table Transaksi Barang Table Suplier


Nomor Nota (FK) Kode Suplier (PK)
Harga Satuan (FK) Nama Suplier
Jumlah Alamat
Total Telepon
Table Nota
Nomor Nota (PK)
Tanggal
Kode Suplier (FK) Table Harga
Kode Barang (FK) Table Barang Harga Satuan (PK)
Sub Total Kode Barang (PK) Kode Barang (FK)
Total Nama Barang Jumlah
BAB IV
UNGUIDED

Implementasi DBMS MySQL bentuk normal ketiga (3NF) atau BCNF dari persoalan GUIDED.
1. Tabel Barang

Data tabel barang

2. Tabel Suplier

Data tabel supplier

3. Tabel Harga
Data tabel harga

4. Tabel Nota

Data tabel nota

5. Tabel Transaksi Barang

Data tabel transaksi barang


BAB V
KESIMPULAN

Dari praktikum ini saya dapat memahami bahwa normalisasi yaitu


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.
Proses normalisasi bertujuan untuk, meminimalisasi redundansi (pengulangan data),
memudahkan identifikasi entitas, mencegah terjadinya anomali, mengurangi
kompleksitas, menciptakan basisdata yang efektif dan efisien. Sedangkan pada normalisasi
ketergantungan (Dependecy) merupakan konsep yang mendasari normalisasi karena
menjelaskan hubungan antar atribut atau secara lebih khususnya menjelaskan nilai suatu
atribut yang menentukan nilai atribut lainnya.

Anda mungkin juga menyukai