Anda di halaman 1dari 14

Ringkasan PBD untuk UAS

1. Normalisasi
a. Definisi normalisasi
Normalisasi adalah sebuah teknik atau proses agar table menjadi
normal untuk mengurangi redudansi data.
b. Tujuan normalisasi (hal 452)
Tujuan utama dari normalisasi adalah untuk mengurangi dampak
negative dari redudansi data (dampak negative tersebut adalah
menaikkan storage data dan adanya anomali [insert, update, delete]
data) ini dari ibunya
Dari buku, tujuan normalisasi adalah
Database lebih mudah diakses dan dimaintain oleh pengguna
Mengurangi pemakaian storage data.
c. Anomali
Anomali ada tiga yaitu insertion, deletion dan modification anomali
Insertion anomali

Pada saat kita melakukan insert pada table di atas, maka dapat
terjadi inkonsistensi data pada branch address. Misalnya, ada
pegawai baru yang bekerja di B007, kita harus memastikan alamat
branch tersebut telah benar dan sama di tuple/record yang telah
ada sebelumnya agar data tetap konsisten.
Oleh karena itu, dilakukan normalisasi dengan memisahkan Staf
dan Branch ke dalam dua table yang berbeda.

Deletion anomali

Masih merujuk pada gambar table stafbranch. Bila kita melakukan


SQL statement untuk menghapus staf SA9, maka detail dari
branch B007 akan hilang bagaikan butiran debu.

Modification anomali
Masih merujuk pada gambar table stafbranch. Bila kita ingin
mengupdate

alamat

branch

dari

B003,

maka

kita

harus

mengupdate semua tuple staf yang bekerja pada branch tersebut.


Kalau tidak, bisa terjadi inkonsistensi data.
d. Bagaimana normalisasi mendukung desain database? (hal 453)
Use Top down approach
Use Normalization as a Bottom-Up technique to create set of

relations
Use Normalization as a Validation technique to check structure of
relations

e. Tahap-tahap normalisasi (hal 464-473)

UNF (Unnormalized form)


Semua atribut dalam yang ada dalam sebuah kwitansi transaksi
dijadikan sebuah table
(lihat halaman 468)

1NF (First Normal Form)

Pada 1NF itu ada 2 cara, pertama flatten table

Yang kedua memisahkan header dan detail

2NF (Second Normal Form) (hal 470)


Remove Partial Dependency
Partial dependency adalah ketika beberapa atribut bisa
dikeluarkan dari suatu table tapi masih dapat berdiri sendiri
(hal 459).

3NF (Third Normal Form) (hal 471)


Remove transitive dependency
Transitive dependency adalah B bergantung secara fungsional
terhadap A, C bergantung secara fungsional terhadap B, maka
C secara transitif bergantung pada A melalui B. (hal 460)
Hasil 3NF:

f. Advanced Normalization
Tujuan BCNF adalah untuk mengurangi redundancy yang bisa muncul
pada relasi yang ada di 3NF
Tujuan 4NF untuk menghindari relasi memiliki nontrivial multi-valued
dependency.
Tujuan 5NF

untuk

menghindari

relasi

memiliki

nontrivial

join

dependency.
2. Metodologi
Design methodology adalah pendekatan terstruktur yang menggunakan
bantuan prosedur, teknik, tools, dan dokumentasi untuk mendukung dan
memfasilitasi proses desain.

a. Conceptual Database Design (hal 503 chapter 16)


Conceptual Database Design adalah proses membangun model
data yang digunakan dalam perusahaan, independent dari semua
physical consideration.
Tujuan utama dari Conceptual Database Design adalah untuk
membangun

representasi

konseptual

dari

database,

termasuk

identifikasi entitas, relationship, dan attribute yang penting.


Langkah-langkah dalam Conceptual db design (hal 508)

Step 1.1 Mengidentifikasi tipe entitas


Tujuan: untuk mengidentifikasi entitas apa saja yang diperlukan.
Tipe entitas dapat diidentifikasi dengan cara memeriksa users
requirement

specification.

Dari

spesifikasi

ini,

kita

dapat

mengidentifikasi noun yang disebutkan. Cara alternative adalah


mencari objek yang memiliki eksistensi in their own right. Misalnya,
staf adalah sebuah entitas karena staf eksis meskipun kita tidak
mengetahui nama, posisi, dll.

Step 1.2 Mengidentifikasi tipe relasi


Tujuan: untuk mengidentifikasi relasi penting yang ada di antara
tipe entitas.
Kita dapat menggunakan grammar dari spesifikasi kebutuhan
untuk mengidentifikasi relasi. Pada umumnya, relasi diindikasikan
oleh kata kerja atau verbal expression.
Menggunakan ERD

Gunakan ER diagram untuk memudahkan penggambarkan

entitas dan bagaimana mereka berelasi satu sama lain.


Menentukan multiplicity constraints of relationship types
Multiplicity constraint digunakan untuk mengecek dan
mempertahankan

kualitas

data.

Constraint

ini

untuk

menegaskan kejadian entitas yang dapat diaplikasikan


ketika database diupdate untuk menetukan apakah update
tersebut

melanggar

aturan

yang

telah

ditentukan

perusahaan.
Mengecek fan dan chasm trap

Step1.3 Mengidentifikasi dan menghubungkan atribut dengan tipe


entitas atau relasi
Tujuan: untuk menghubungkan atribut dengan entitas atau relasi
yang sesuai
Dengan cara yang sama, dengan mengidentifikasi entitas, kita
mencari

noun

atau

noun

phrase

dari

user

requirement

spesicfication. Attribute dapat diidentifikasi di mana nuon atau noun


phrase

adalah

sebuah

property,

kualitas,

identifier,

atau

karakteristik dari salah satu entitas atau relasi.


Simple/composite attribute
Identifikasi semua simple attribute yang direpresentasikan
dalam konseptual data model termasuk attribute yang

menyusun composite atribut.


Single/multi-valued attribute
Contoh: telephone.
Derived attribute
Derived atribut harus ditampilkan dalam data model untuk
menghindari potensi hilangnya informasi.
Document attribute
Simpan informasi berikut utk setiap attribute
- Attribute name and description
- Datatype and length
- Alias dari attribute
- Apakah atribut composite atau tidak, jika ya, simple
-

atribut yang menyusun composite attribute


Apakah atribut multivalued atau tidak

Apakah atribut derived atau tidak, jika ya, bagaimana

perhitungannya
Default value dari attribute

Step 1.4 Menentukan domain atribut


Domain attribute yang ditentukan adalah tipe data, size dan value.

Step

1.5

Menentukan

candidate,

primary

dan

alternate

key

attributes
Tujuan: untuk mengidentifikasi candidate key untuk setiap tipe
entitas dan jika lebih dari satu, maka harus memilih satu sebagai
primary key, dan yang lain menjadi alternate key.
Candidate key adalah minimal set atribut dari entitas yang
mengidentifikasi secara unik setiap kejadian dari entitas. Primary
key adalah candidate key yang terpilih untuk mengidentifikasi
entitas secara unik. Candidate key yang tersisa disebut sebagai
alternate key.
Ketika memilih primary key, pakai guidelines berikut untuk
membantu.
-

Candidate
Candidate
Candidate
Candidate

key dengan minimal set of attribute


key yang nilainya paling jarang berubah
key dengan karakter paling sedikit (untuk textual)
key dengan nilai minimum paling kecil (untuk

numeric)
Candidate key yang paling gampang digunakan dari sisi pandang
user

Step 1.6 Mempertimbangkan menggunakan enhanced modeling


concepts (optional)
Tujuan: Mempertimbangkan

penggunaan

enhanced

modeling

concepts, seperti specialization/generalization, aggregation, and


composition.

Step 1.7 Memeriksa model untuk redudansi


Tujuan: Untuk mengecek adanya redundancy dalam model
- Memeriksa ulang relasi one to one
- Mengeluarkan relasi yang redundan

Mempertimbangkan dimensi waktu

Step 1.8 Memeriksa model konseptual dengan transaksi pengguna


Tujuan: untuk memastikan konseptual data model mendukung
transaksi yang dibutuhkan
- Mendeskripsikan transaksi
- Menggunakan transaksi pathways

Step 1.9 Meninjau conceptual data model dengan pengguna


Tujuan: Untuk meninjau conceptual data model dengan pengguna
untuk memastikan bahwa mereka menganggap model tersebut
menjadi representasi yang benar dari kebutuhan data perusahaan.

b. Logical Database Design


Logical database design adalah proses membangun model data
yang digunakan dalam perusahaan berdasarkan sebuah data model
yang

spesifik,

tetapi

independent

dari

DBMS

tertentu

dan

pertimbangan physical lainnya.


Tujuan utama Logical db design adalah untuk mengubah
representasi konseptual menjadi struktur logikal database, yang
termasuk mendesain relasi.
Langkah-langkah dalam Logikal db design

c. Physical Database Design


Physical Database design adalah proses memproduksi deskripsi
dari implementasi database di secondary storage; menjelaskan relasi
dasar, file organisasi, dan index yang digunakan untuk mencapai akses

data yang efisien dan integrity constraint yang diperlukan dan security
measures.
Tujuan

utama

physical

database

design

adalah

untuk

memutuskan bagaimana struktur logikal diimplementasikan secara


fisik (berdasarkan relasi) ke dalam DBMS target.
Langkah-langkah dalam physcial db design

d. Monitor and Tuning


Step 7 Consider the introduction of controlled redundancy
Tujuan: untuk menentukan apakah introducing redundancy ke dalam
controlled manner dengan melonggarkan peraturan normalisasi akan
meningkatkan performa sistem. (denormalisasi).
Step 7.1 Combining (1:1) Relationship

Misalnya ada table client dan interview. Kita dapat menggabungkan


table tersebut menjadi satu table baru yaitu ClientInterview agar
dapat menghemat space.

Step 7.2 Duplicating non-key attributes in (1:*) relationship to


reduce join
Misalkan ada table Property For Rent dan Private Owner. Seringkali
ketika kita ingin menampilkan Property For Rent maka kita juga
akan menampilkan pemilik property tersebut. Untuk mengurangi
join, maka kita dapat menambahkan attribute non key misalkan
nama belakang dari owner pada table property for rent.
(hal 589-590)

Step 7.3 Duplicating foreign key attributes in (1:*) relationship to


reduce join

Misalkan ada tiga table seperti gambar di atas. Kita ingin


mengetahui private owner tersebut berada di branch yang mana.
Apabila table dalam database seperti pada gambar di atas, maka
kita akan mendapatkan informasi branch melalui property for rent,
sehingga ada join yang harus dibuat. Untuk mengurangi join, maka
kita tinggal menambahkan foreign key branch no pada table private
owner.

Step 7.4 Duplicating attributes in (*:*) relationships to reduce joins


(Hal 593)
Intinya, masukin attribute dari table lain yang diperlukan dalam
suatu table yang akan diselect (hanya yg many to many relationship
(biasanya attributenya dimasukin ke table detail))

Step 7.5 Introducing repeating groups


Repeating group dapat disatukan lagi ke dalam sebuah table kalau :
- Jumlah pasti dari item repeating group dapat diketahui
- Angkanya static dan tidak akan berubah-ubah
- Jumlahnya tidak terlalu besar, pada umumnya tidak lebih besar
dari 10.

Step 7.6 Creating extract tables


Intinya, untuk mempercepat kinerja pembuatan report pada saat
peak time, kita membuat extract table yang memiliki denormalisasi
yang tinggi berdasarkan relasi yang dibutuhkan oleh report.

Step 7.7 Partioning relations


Terbagi atas 3 :
Horizontal, Vertical dan mix (gabungan hori dan verti).

Implikasi dari denormalisasi :


a. Mempertimbangkan kembali pilihan indeks terhadap relasi yang
didenormalisasi.
b. Bagaimana mempertahankan integritas data.
Solusi umum:
a. Trigger -> untuk mengupdate otomatis derived atau duplicated data
b. Transaction -> mengupdate denormalised data sebagai single action
c. Batch reconciliation -> membuat denormalisasi data konsisten

Step 8 Monitor and tune the operational System


Faktor yang harus diukur efisiensinya:
a. Transaction throughput -> jumlah transaksi yang dapat dilakukan
dalam jangka waktu tertentu
b. Response time -> waktu yang dibutuhkan untuk menyelesaikan
sebuah transaksi
c. Disk storage -> jumlah total dari disk space yang dibutuhkan untuk
menyimpan database file.

Anda mungkin juga menyukai