PERANCANGAN
BASIS DATA
KP130 - 3 SKS
Puji syukur dan hormat, kami haturkan ke hadirat Allah SWT, karena atas
perkenan-Nya, sehingga kami dapat menyelesaikan Modul matakuliah Perancangan
Basis Data ini.
Penghargaan tertinggi dan ucapan terima kasih yang sebesar besarnya kepada
seluruh sivitas akademika Fakultas Teknologi Informasi Universitas Budi Luhur, yang
telah memberikan bantuan serta dukungan dalam menyusun Modul matakuliah ini.
Tim penyusun telah menyusun Modul Matakuliah ini semaksimal mungkin, namun
kami menyadari bahwa penyusun tentunya tidak lepas dari salah dan khilaf semata. Tim
penyusun sangat terbuka untuk berbagai masukan, ide dan saran dari berbagai pihak
agar modul matakuliah ini bisa lebih baik lagi.
Besar harapan kami Modul matakuliah ini dapat bermanfaat sebagai bahan Ajar
bagi mahasiswa di Fakultas Teknologi Informasi Universitas Budi Luhur.
Tim Penyusun
Daftar Isi
Gambar 1. Normalisasi dapat digunakan untuk mendukung perancangan basis data (Connolly dan Begg, 2015) ........ 8
Gambar 2. Kerangkapan Data Mahasiswa ............................................................................................................................................ 10
Gambar 3. Functional Dependency ......................................................................................................................................................... 11
Gambar 4. Jurusan secara fungsional tergantung dengan NIM dan NIM tidak secara fungsional tergantung –
Jurusan .............................................................................................................................................................................................................. 13
Daftar Tabel
Tujuan Normalisasi
Tujuan utama dalam perancangan basis data adalah untuk membuat
representasi yang tepat dari data, hubungan antara data, dan batasan-batasan pada
data yang sesuai dengan kebutuhan user. Dalam perancangan struktur basis data,
kita dapat menggunakan beberapa teknik. Salah satu teknik yang telah dipelajari
sebelumnya adalah dengan pemodelan ER. Pada Bab ini akan dijelaskan teknik
perancangan basis data lain, yaitu menggunakan teknik normalisasi.
Normalisasi adalah teknik formal yang dapat digunakan pada setiap tahap
perancangan basis data. Namun, pada bagian ini dijelaskan dua pendekatan utama
untuk menggunakan normalisasi, seperti yang diilustrasikan pada Gambar 1.
Menggunakan pendekatan
Sumber data Top-Down
dengan ER-Model
Model ER dipetakan
User ke kumpulan relasi
Spesifikasi kebutuhan
user Pendekatan 2 Normalisasi digunakan
Well-Structured sebagai teknik validasi untuk
mengecek struktur relasi
Dokumen: Form/Report
yang digunakan
Pendekatan 1
Deskripsi sumber
kebutuhan perusahaan
seperti Kamus data dan
model data
Gambar 1 diperlihatkan juga bahwa sumber data dari user seperti formulir,
laporan dan dokumen lainnya (pada saat perancangan dengan ERD) dapat
digunakan untuk membentuk struktur data dengan pendekatan Normalisasi.
Meskipun pendekatan ini prinsipnya dapat digunakan, namun dalam prakteknya
kurang maksimal jika menemukan kasus yang komplek atau terlalu luas. Dengan
Pendekatan 1, normalisasi akan sulit untuk dilakukan. Namun demikian,
normalisasi sangat baik digunakan sebagai teknik validasi (pendekatan 2), tidak
peduli apa ukuran atau kompleksitas dari basis data.
Pada materi ini akan dijelaskan normalisasi sebagai teknik validasi
untuk mengecek struktur relasi.
Normalisasi adalah teknik perancangan basis data yang dimulai dengan
memeriksa hubungan (disebut dependensi fungsional) antara atribut. Atribut
menggambarkan beberapa properti dari entitas. Normalisasi menggunakan
serangkaian pengujian untuk mengidentifikasi ketergantungan fungsional yang
optimal.
Satu konsep paling penting dalam teori merancang struktur relasional adalah
ketergantungan secara fungsional. Sebelum melakukan normalisasi, kita harus
memahami ketergantungan secara fungsional atau sering disebut Functional
Dependency (FD).
Menurut Elmasri dan Navathe (2010), tujuan dari penormalan relasi adalah:
a. Menghindari duplikasi data, duplikasi yang dimaksud adalah setiap relasi sudah
tidak memiliki kerangkapan data (record atau baris), jadi setiap primary key
pada setiap record bernilai unik.
b. Merupakan proses mendekomposisikan sebuah relasi yang masih memiliki
beberapa anomaly atau ketidakwajaran untuk menghasilkan relasi yang lebih
sederhana dan well-structured.
Relasi sederhana artinya bahwa relasi sudah tidak rumit atau struktur yang
sesuai dengan kondisi kebutuhan. Relasi well-structured (struktur yang bagus)
adalah sebuah relasi yang memiliki data redundancy yang minimal dan
memungkinkan user untuk melakukan insert, delete, dan update baris (record)
tanpa menyebabkan inkonsistensi data. Target yang dicapai bukan menghilangkan
redundancy akan tetapi mendapatkan redundancy yang minimal, karena pada
kenyataannya pada saat diimplementasikan harus memperhatikan kecepatan dan
keamanan.
Secara umum, tujuan normalisasi adalah untuk mendapatkan struktur relasi
yang sempurna, yaitu struktur yang sederhana dan bagus.
Perhatikan Gambar 2 di bawah ini:
Functional Dependency
Functional Dependency (FD) atau ketergantungan fungsional merupakan
sebuah konsep penting jika dihubungkan dengan normalisasi, yang menggambarkan
hubungan antara atribut. Pemahaman sederhananya untuk ketergantungan
fungsional, asumsikan bahwa skema relasional memiliki atribut (A, B, C,..., Z) dan
basis data dijelaskan oleh satu hubungan universal yang disebut R=(A, B, C,..., Z).
Pada asumsi ini berarti setiap atribut dalam basis data memiliki nama yang unik.
B Secara fungsional
tergantung sama A
A B
Jurusan NIM
NIM 1812501010
b) Sistem Informasi
NIM 1812501015
Gambar 4. Jurusan secara fungsional tergantung dengan NIM dan NIM tidak secara
fungsional tergantung – Jurusan
Ada hubungan satu-ke-satu antara atribut di sisi kiri (determinant) dan di sisi
kanan dari ketergantungan fungsional. (Perhatikan bahwa hubungan dalam arah
yang berlawanan — yaitu, dari atribut sisi kanan ke sisi kiri dapat berupa
hubungan satu-ke-satu atau satu-ke-banyak).
Mereka bertahan untuk selamanya.
Determinan memiliki jumlah minimal atribut yang diperlukan untuk
mempertahankan ketergantungan dengan atribut di sisi kanan. Dengan kata lain,
merupakan ketergantungan fungsional penuh antara atribut di sebelah kiri dan
sisi sebelah kanan.
Pada Tabel 2, merupakan sebuah tabel yang berisi nilai mahasiswa. Tabel
tersebit mempunyai primary kry yang berbentuk composite, yaitu NIM dan
KdMatakuliah. Pada relasi tersebut memiliki partial dependency. Hal tersebut
dapat terjadi, karena terdapat atribut yang mempunyai ketergantungan terhadap
bagian dari Key (bagian dari primary key). Dari Tabel 2 dapat diperlihatkan
functional dependency dibawah ini:
Multivalued Dependencies
Multivalued dependencies terjadi dalam situasi di mana ada beberapa atribut
multivalued independen dalam satu tabel. Multivalued dependencies adalah batasan
lengkap antara dua set atribut dalam suatu relasi. Hal ini mengharuskan tupel
tertentu hadir dalam suatu hubungan.
Multivalued dependecies ada ketika untuk setiap nilai dari atribut A, ada satu
set nilai hingga atribut B dan atribut C yang terkait dengannya. Namun, atribut B
dan C tidak tergantung satu sama lain. Dalam contoh yang telah kita gunakan,
hanya ada ketergantungan seperti itu. Pertama, untuk setiap judul film, ada
sekelompok aktor (bintang-bintang) yang terkait dengan film. Untuk setiap judul,
ada juga sekelompok produsen yang terkait dengannya. Namun, para aktor dan
produser tidak tergantung satu sama lain.
Sebuah tabel dikatan memiliki multivalued dependencies, jika memiliki kondisi
sbb:
1. Untuk ketergantungan A B, jika untuk nilai tunggal A terdapat beberapa
nilai B, maka tabel tersebut mungkin memiliki multivalued dependencies.
2. Sebuah tabel harus memiliki setidaknya 3 (tida) kolom/field agar memiliki
multivalued dependencies.
3. Untuk relasi R(A, B, C), jika ada multivalued dependencies antara, A dan B,
maka B dan C harus independen satu sama lain.
Jika semua kondisi ini benar untuk setiap relasi (tabel), dikatakan memiliki
multivalued dependencies. Contoh sebuah relasi yang memiliki multivalued
dependecies dapat dilihat pada Tabel 2.
Tabel 3. Data Jadwal
Matakuliah Buku Dosen
PSBD Manajemen Database Gandung Triyono
PSBD Perancangan Basis Data Safrina Amini
PSBD Konsep Dasar Basis Data Rusdah
ALGO1 Algoritma Dan Struktur Data Achmad Solichin
ALGO1 Algoritma 1 Painem
Dari Gambar 6 dilakukan transformasi dalam bentuk tabel seperti pada Tabel
2. Pada tabel tersebut didapatkan kolom NoSewa, NoSopir, NamaPel, NoKend,
JenisKend, TglAwal, TglAkhir, Harga dan NamaSopir. Tabel 2 merukan sebuah
contoh tabel yang dalam kondisi belum normal.
Tabel 2. FormPenyewaan
Rangkuman
a. Normalisasi adalah proses mendekomposisikan sebuah relasi yang masih
memiliki beberapa anomaly atau ketidakwajaran untuk menghasilkan relasi yang
lebih sederhana dan well-structured.
b. Tujuan dari penormalan relasi adalah menghindari duplikasi data, duplikasi yang
dimaksud adalah setiap relasi sudah tidak memiliki kerangkapan data (record
atau baris), jadi setiap primary key pada setiap record bernilai unik.
c. Functional Dependency (FD) atau ketergantungan fungsional merupakan sebuah
konsep penting jika dihubungkan dengan normalisasi, yang menggambarkan
hubungan antara atribut.
d. Full functional dependency atau ketergantungan fungsional penuh menunjukkan
jika A dan B adalah atribut dari suatu relasi, B sepenuhnya secara fungsional
tergantung pada A, tetapi tidak pada subset A (bagian dari A).
e. Ketergantungan fungsional A ® B dikatakan mempunyai ketergantungan
parsial (Partial Functional Dependency) jika ada beberapa atribut yang dapat
dihapus dari A dan ketergantungan masih berlaku.
f. Sebuah relasi dapat mempunyai ketergantungan secara parsial jika mempunyai
primary key composite. Ketergantuan secara parsial merupakan kondisi di mana
setiap atribut yang bukan primary key sepenuhnya tergantung pada primary
key. Setiap atribut yang bukan key harus didefinisikan oleh semua key (bukan
oleh bagian dari key).
g. Ketergantungan transitif adalah suatu kondisi di mana A, B, dan C adalah atribut
dari relasi dimana jika A ® B dan B ® C, maka C bergantung secara transitif
pada A melalui B (dengan ketentuan bahwa A tidak bergantung secara
fungsional pada B atau C).
h. Multivalued dependencies terjadi dalam situasi di mana ada beberapa atribut
multivalued independen dalam satu tabel.
i. Multivalued dependencies adalah batasan lengkap antara dua set atribut dalam
suatu relasi.
Latihan
1. Jelaskan dengan kalimat sendiri, apa yang anda ketahui tentang penormalan
relasi!
2. Jelaskan dengan kalimat sendiri, apa tujuan dari penormalan relasi!
3. Jelaskan dengan kalimat sendiri, apa yang anda ketahui functional dependency!
4. Jelaskan dengan kalimat sendiri, apa yang anda ketahui tentang transitive
functional dependency?
5. Jelaskan dengan kalimat sendiri, apa yang anda ketahui tentang partial
functional dependency?
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR
Jl. Raya Ciledug, Petukangan Utara, Pesanggrahan
Jakarta Selatan, 12260
Telp: 021-5853753 Fax : 021-5853752
http://fti.budiluhur.ac.id