TEKNIK PERANCANGAN BASIS DATA

PERANCANGAN
BASIS DATA

TEKNIK PERANCANGAN
BASIS DATA
Teknik/Model Entity Relationship
 Teknik Normalisasi


TEKNIK
NORMALISASI

Proses Normalisasi




Proses normalisasi adalah proses
pengelompokkan data elemen menjadi tabel
tabel yang menunjukkan entity dan relasinya.
Pada proses normalisasi selalu dilakukan

pengujian database pada beberapa kondisi,
antara lain:





menambah/ insert
menghapus/ delete
mengubah/ update
membaca/ retrieve

Proses Normalisasi
 Dua

konsep yang harus diketahui
lebih dahulu yang berhubungan
dengan normalisasi, yaitu:
– Field/ atribute kunci
– Kebergantungan fungsi (functional

dependency)

Field/Attribute Kunci


Setiap file/tabel selalu terdapat kunci dari
file/tabel berupa satu field atau satu set field
yang dapat mewakili record.
– Misalnya nomor pegawai





Jadi Key adalah satu atau gabungan dari
beberapa atribut yang dapat membedakan
semua baris data (row) dalam tabel secara unik.
Macam-macam Field/attribute kunci:






Candidate Key (Kunci Kandidat/Kunci Calon)
Primary Key (Kunci Primer)
Alternate Key (Kunci Alternatif)
Foreign Key (Kunci Tamu)

Candidate Key/Kunci Kandidat
Kunci kandidat adalah satu atribute atau
satu set minimal atribute yang
mengidentifikasikan secara unik suatu
kejadian spesifik dari entity.
 Jika satu kunci kandidat berisi lebih dari
satu atribute, maka biasanya disebut
sebagai composite key (kunci
campuran/ gabungan).


Candidate Key/Kunci Kandidat



Contoh:
File Pegawai berisi attribute:

– No Induk Pegawai (NIP) - Tempat Lahir
– No KTP
- Tanggal Lahir
– Nama



Kunci kandidat disini adalah:

- Kota
- Alamat

– No Induk Pegawai (NIP), karena unik tidak mungkin
ganda.
– No KTP, karena unik tidak mungkin ganda.

– Nama, sering dipakai sebagai kunci pencarian namun tidak
dapat dikatakan kunci karena sering seseorang punya
nama yang sama.
– Nama + Tanggal lahir, mungkin dapat dipakai sebagai
kunci karena kemungkinan sangat kecil seseorang punya
nama sama yang lahir pada hari yang sama.
– Nama + tempat lahir + tanggal lahir, dapat dipakai
sebagai kunci
– Alamat, kota (bukan kunci).

Primary Key/Kunci Primer
Primary Key adalah satu atribute atau
satu set minimal atribute yang tidak hanya
mengidentitikasi secara unik suatu
kejadian spesifik, tapi juga dapat mewakili
setiap kejadian dari suatu entity.
 Setiap kunci kandidat punya peluang
menjadi primary key, tetapi sebaiknya
dipilih satu saja yang dapat mewakili
secara menyeluruh terhadap entity yang

ada.


Primary Key/Kunci Primer


Contoh:
– No Induk (NIP), karena unik tidak mungkin ganda
dan mewakili secara menyeluruh terhadap entity
Pegawai, dan setiap pegawai selalu punya nomor
induk
– No KTP, ini hanya dipakai bila sampai dengan
pembayaran gaji pegawai ternyata nomor induk
belum keluar.

Alternate Key (Kunci alternatif)


Alternate Key adalah kunci kandidat yang tidak
dipakai sebagai primary key. Kerap kali kunci

alternatif dipakai sebagai kunci pengurutan
dalam laporan.

Foreign Key (Kunci Tamu/Asing)
Foreign Key adalah satu atribute (atau
satu set atribute) yang melengkapi satu
relationship (hubungan) yang
menunjukkan ke induknya.
 Kunci tamu ditempatkan pada entity anak
dan sama dengan kunci primary induk
yang direlasikan.


Foreign Key (Kunci Tamu/Asing)

Ketergantungan Fungsi
(Functional Dependency)





Definisi dari functional dependence adalah:
Diberikan sebuah relasi R, atribute Y dari R adalah
bergantung fungsi pada atribute X dari R jika dan hanya
jika setiap nilai X dalam R punya hubungan dengan
tepat satu nilai Y dalam R (dalam setiap satu waktu).
Notasi :
XY
atau
Y = F (X)

Ketergantungan Fungsi
(Functional Dependency)




Pada tabel relasi Pegawai berisi attribute :
– NIP
– Nama

– Tempat Lahir
– Tanggal Lahir
– Alamat
– Kota
Isi dari atribute Nama bergantung pada NIP. Jika Anda
mengetahui NIP pegawai, maka Anda dapat menentukan
Nama pegawai tersebut. Notasi untuk kebergantungan
fungsi ini adalah:
NIP  Nama
atau
Nama = F (NIP)

Bentuk-Bentuk Normalisasi
Bentuk tidak normal (Unnormalized
Form)
 Bentuk Normal Kesatu (1NF/ First
Normal Form)
 Bentuk Normal Kedua (2NF/ Second
Normal Form)
 Bentuk Normal Ketiga (3NF/Third

Normal Form)


Bentuk tidak normal
(Unnormalized Form)


Bentuk ini memiliki ciri-ciri, yaitu :
– Merupakan kumpulan data yang akan
direkam
– Dapat saja data tidak lengkap atau
terduplikasi
– Data dikumpulkan apa adanya sesuai
dengan kedatangannya.

Bentuk Normal Kesatu
(1NF/ First Normal Form)


Bentuk normal ke satu mempunyai ciri yaitu:






Setiap data dibentuk dalam flat file (file data/ rata)
Data dibentuk dalam satu record demi satu record
dan nilai dari field field berupa "atomic value".
Tidak ada set atribute yang berulang-ulang atau
atribute bernilai ganda (multivalue).
Tiap field hanya satu pengertian, bukan merupakan
kumpulan kata yang mempunyai arti mendua,
hanya satu arti saja dan juga bukanlah pecahan
kata-kata sehingga artinya lain.

Bentuk Normal Kesatu
(1NF/ First Normal Form)



KELAS(Kode_kelas, nama_kelas,
instruktur)
merupakan bentuk 1NF karena tidak ada yang
berganda dan tiap atribute satu pengertian
yang tunggal.
Kode Kelas
Nama Kelas
1234
Fisika Dasar
1543
Matematika
1775

Instruktur
Suroso
Paulus

Teknik Program Bagus

Bentuk Normal Kesatu
(1NF/ First Normal Form)





SISWA(No_siswa, Nama, Wali_studi,
Kelas1, Kelas2, Kelas3)
Siswa yang punya nomor siswa, nama dan wali
studi mengikuti 3 mata pelajaran/ kelas. Disini ada
perulangan kelas 3 kali,
ini bukan bentuk 1 NF.

No_siswa

Nama

Wali_Studi Kelas1 Kelas2 Kelas3

22890100 Tanzania

Suroso

22890101 Nia

Paulus

1234
1234

1543
1775

1543

Bentuk Normal Kesatu
(1NF/ First Normal Form)


bentuk 1 NF.

22890100 Tanzania Zaman

Kode_kelas
1234
1543

22890101 Nia

Rizki

1234

22890101 Nia

Rizki

1775

22890101 Nia

Rizki

1543

No_siswa

Nama

Wali_Studi

22890100 Tanzania Zaman

Bentuk Normal Kedua
(2NF/ Second Normal Form)


Bentuk normal kedua mempunyai syarat
yaitu:
– Bentuk data telah memenuhi kriteria bentuk
normal kesatu.
– Atribute bukan kunci haruslah bergantung
secara fungsi pada kunci utama/ primary
key.
– Sudah ditentukan kunci-kunci field, dimana
kunci field haruslah unik dan dapat mewakili
atribute lain yang menjadi anggotanya.

Bentuk Normal Kedua
(2NF/ Second Normal Form)


Dari contoh relasi SISWA pada bentuk
normal kesatu, terlihat bahwa:
– kunci utama/ primary key adalah nomor
siswa.
– Nama siswa dan Wali_studi bergantung
fungsi pada No_siswa, tetapi kode_kelas
bukanlah fungsi dari SISWA maka file
SISWA dipecah menjadi 2 relasi/tabel

Bentuk Normal Kedua
(2NF/ Second Normal Form)
Relasi SISWA
No_siswa
Nama
Wali_Studi
22890100 Tanzania Zaman
22890101 Nia
Rizki

Relasi AMBILKELAS
No_siswa
22890100

Kode_Kelas
1234

22890100

1543

22890101

1234

22890101

1775

22890101

1543

Bentuk Normal Ketiga
(3NF/Third Normal Form)


Untuk menjadi bentuk normal ketiga:
– Relasi haruslah dalam bentuk normal kedua
dan semua atribute bukan primer tidak
punya hubungan yang transitif.
– Setiap atribute bukan kunci haruslah
bergantung hanya pada primary key dan
pada primary key secara menyeluruh.
– Contoh pada bentuk normal kedua di atas
termasuk juga bentuk normal ketiga karena
seluruh atribute yang ada bergantung penuh
pada kunci primernya.

PENERAPAN
TEKNIK NORMALISASI

PENERAPAN
TEKNIK NORMALISASI


Proses perancangan database dapat
dimulai dari dokumen dasar yang dipakai
dalam sistem.

Step I bentuk unnormalized


Bentuklah menjadi tabel unnormalized, dengan
mencantumkan semua field data yang ada



Menuliskan semua data yang akan direkam

Step II bentuk normal kesatu




Bentuklah menjadi bentuk normal kesatu
dengan memisah-misahkan data pada field-field
yang tepat dan bernilai atomic
Seluruh record harus lengkap adanya. Bentuk
file adalah flat file.

Step II bentuk normal kesatu


Kelemahan-kelemahan bentuk normal kesatu yaitu:
– Inserting/ penyisipan

 Kita tidak dapat memasukkan kode dan nama supplier saja tanpa
ada transaksi pembelian, sehingga supplier baru dapat masuk bila
ada transaksi pembelian.

– Deleting/ Penghapusan

 Bila satu record di atas dihapus misalnya nomor factur 779, maka
berakibat pula menghapus data supplier S02 (Hitachi), padahal data
supplier masih diperlukan.

– Updating/ Pengubahan

 Kode dan nama supplier terlihat ditulis berkali kali, bila suatu ketika
terjadi perubahan nama supplier misalnya maka harus mengganti
disemua record yang mengandung nama tersebut. Bila ada yang
terlewat maka membuat data tidak konsisten lagi.

– Redundancy

 Field jumlah di atas merupakan redundancy, karena setiap kali
harga dikalikan dengan quantitas akan menghasilkan jumlah. Maka
field tersebut dapatlah dibuang, bila tidak dibuang maka
mengakibatkan tidak konsisten. Tidak konsisten disini disebabkan
karena bila ada perubahan harga, hanya data harga yang diubah,
data jumlah tidak maka nilai jumlah tidak sama dengan qty x harga.

Step III bentuk normal kedua






Pembentukan bentuk normal kedua dengan
mencari kunci-kunci field yang dapat dipakai
sebagai patokan dalam pencarian dan sifatnya
unik.
Melihat kondisi dari permasalahan factur di atas
dapat diambil kunci kandidat yaitu:
– No factur (no fac)
– Kode supplier
– Kode barang
Bentuklah tiga tabel dengan kunci tersebut,
lihatlah ketergantungan fungsional field-field lain
terhadap field kunci.

Step III bentuk normal kedua

Step III bentuk normal kedua
Dengan pemecahan seperti di atas maka
sebagian dari pertanyaan pengujian pada
bentuk normal kesatu yaitu inserting,
deleting, updating dapat terjawab. Kode
dan nama supplier baru dapat masuk
kapanpun tanpa harus ada transaksi pada
tabel Nota, cukuplah dibuka tabel Supplier
dan disisipkan satu record baru.
 Demikian pula pada saat update dan
delete baik untuk tabel Supplier dan juga
tabel Barang.


Step III bentuk normal kedua


Namun permasalahan masih ada yaitu pada
tabel Nota.
– Field Qty dan Harga pada tabel tersebut tidak
bergantung penuh pada kunci primer nomor nota, ia
juga bergantung fungsi pada kode barang. Hal ini
disebut sebagai kebergantungan yang transitif
dan haruslah dipisahkan dalam dua tabel.
– Masih terdapat redundancy yaitu setiap kali satu nota
yang terdiri dari 5 macam barang yang dibeli maka 5
kali pula dituliskan no nota, tanggal nota, tempo, dan
totai. Ini harus pula dipisahkan bila terjadi
penggandaan tulisan berulang ulang.

Step IV bentuk normal ketiga


Bentuk normal ketiga mempunyai syarat
setiap tabel tidak mempunyai field yang
bergantung transitif, harus bergantung
penuh pada kunci utama.

Step IV bentuk normal ketiga

Step V Pengujian Data Contoh


Pengujian
disini
untuk
memastikan
kebenaran isi tabel dan hubungan antara
tabel tersebut. Ujilah bahwa setiap tabel
haruslah punya hubungan dengan tabel
yang lainnya. Bila tidak ada penghubung
antar tabel maka dapat dikatakan
perancangan
untuk
membuat
satu
database adalah gagal.

Step V Pengujian Data Contoh

Step VI Hubungan Relasi Antar Tabel






Menggambarkan relasi antar tabel

Satu supplier punya banyak nota
Satu nota punya bebebrapa transaksi barang
Satu barang terjadi beberapa kali transaksi pembelian barang.

Step VII Kelengkapan Field-Field
Dalam Tabel


Permasalahan di atas hanya mengacu pada satu
dokumen Faktur pembelian barang, padahal pada
kenyataan sesungguhnya tentulah factur tersebut punya
dokumen pelengkap misalnya Nota Penjualan Barang,
Laporan Stock barang, Laporan Penjualan, Laporan
pembelian dan masih banyak laporan dan dokumen data
entry lainnya.

--SELESAI--

Attention Please!!
Minggu Depan akan diadakan Tes Tengah
Semester
 Waktu Tes = 60 Menit
 Sifat Tes = Open Book


Kisi-Kisi Soal Ujian Mid Semester









Pengertian basis data, operasi dasar basis data, tujuan
basis data, pengertian Sistem Basis Data, Komponen-2
SBD
Terminologi Sistem Basis Data, Pengertian DBMS,
Kegunaan/Syarat Database, Abstraksi Data, Paket
Bahasa, Pengguna Database
Teknik Perancangan Database, Relasi, Kardinalitas,
Diagram E-R, Tahapan Pembuatan Diagram E-R,
Diagram E-R dengan Kamus Data, Derajat Relasi
Minimum
Varian Entitas : Entitas Kuat, Entitas Lemah, Sub Entitas
Varian Relasi : Relasi Tunggal, Relasi Multi Entitas, Relasi
Ganda, Spesialisasi, Generalisasi, Agregasi, Modifikasi
Diagram E-R.