TEKNIK PERANCANGAN
TEKNIK PERANCANGAN
BASIS DATA
BASIS DATA
Teknik/Model Entity Relationship
Teknik/Model Entity Relationship
TEKNIK
Proses Normalisasi
Proses Normalisasi
Proses normalisasi
Proses normalisasi
adalah proses
adalah proses
pengelompokkan data elemen menjadi tabel
pengelompokkan data elemen menjadi tabel
tabel yang menunjukkan entity dan relasinya.
tabel yang menunjukkan entity dan relasinya.
Pada proses normalisasi selalu dilakukan
Pada proses normalisasi selalu dilakukan
pengujian database pada beberapa kondisi,
pengujian database pada beberapa kondisi,
antara lain:
antara lain:
Proses Normalisasi
Proses Normalisasi
Dua konsep yang harus diketahui
Dua konsep yang harus diketahui
lebih dahulu yang berhubungan
lebih dahulu yang berhubungan
dengan normalisasi, yaitu:
dengan normalisasi, yaitu:
–
Field/ atribute kunci
Field/ atribute kunci
–
Kebergantungan fungsi (
Kebergantungan fungsi (
functional
functional
dependency
Field/Attribute Kunci
Field/Attribute Kunci
Setiap file/tabel selalu terdapat kunci dari
Setiap file/tabel selalu terdapat kunci dari
file/tabel berupa satu field atau satu set field
file/tabel berupa satu field atau satu set field
yang dapat mewakili record.
yang dapat mewakili record.
– Misalnya nomor pegawai Misalnya nomor pegawai
Jadi
Jadi
Key
Key
adalah satu atau gabungan dari
adalah satu atau gabungan dari
beberapa atribut yang dapat membedakan
beberapa atribut yang dapat membedakan
semua baris data (row) dalam tabel secara unik.
semua baris data (row) dalam tabel secara unik.
Macam-macam Field/attribute kunci:
Macam-macam Field/attribute kunci:
– Candidate KeyCandidate Key (Kunci Kandidat/Kunci Calon) (Kunci Kandidat/Kunci Calon) – Primary KeyPrimary Key (Kunci Primer) (Kunci Primer)
Candidate Key/Kunci Kandidat
Candidate Key/Kunci Kandidat
Kunci kandidat
Kunci kandidat
adalah satu atribute atau
adalah satu atribute atau
satu set minimal atribute yang
satu set minimal atribute yang
mengidentifikasikan secara unik suatu
mengidentifikasikan secara unik suatu
kejadian spesifik dari entity.
kejadian spesifik dari entity.
Jika satu kunci kandidat berisi lebih dari
Jika satu kunci kandidat berisi lebih dari
satu atribute, maka biasanya disebut
satu atribute, maka biasanya disebut
sebagai
sebagai
composite key (kunci
composite key (kunci
campuran/ gabungan).
Candidate Key/Kunci Kandidat
Candidate Key/Kunci Kandidat
Contoh:
Contoh:
File Pegawai berisi attribute:
File Pegawai berisi attribute:
– No Induk Pegawai (NIP) No Induk Pegawai (NIP) - Tempat Lahir- Tempat Lahir - Kota - Kota – No KTPNo KTP - Tanggal Lahir- Tanggal Lahir - Alamat - Alamat – NamaNama
Kunci kandidatKunci kandidat disini adalah: disini adalah:
– No Induk Pegawai (NIP), karena unik tidak mungkin No Induk Pegawai (NIP), karena unik tidak mungkin ganda.
ganda.
– No KTP, karena unik tidak mungkin ganda.No KTP, karena unik tidak mungkin ganda.
– Nama, sering dipakai sebagai kunci pencarian namun tidak Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya
dapat dikatakan kunci karena sering seseorang punya
nama yang sama.
nama yang sama.
– Nama + Tanggal lahir, mungkin dapat dipakai sebagai Nama + Tanggal lahir, mungkin dapat dipakai sebagai
kunci karena kemungkinan sangat kecil seseorang punya
kunci karena kemungkinan sangat kecil seseorang punya
nama sama yang lahir pada hari yang sama.
nama sama yang lahir pada hari yang sama.
– Nama + tempat lahir + tanggal lahir, dapat dipakai Nama + tempat lahir + tanggal lahir, dapat dipakai sebagai kunci
sebagai kunci
Primary Key/Kunci Primer
Primary Key/Kunci Primer
Primary Key
Primary Key
adalah satu atribute atau
adalah satu atribute atau
satu set minimal atribute yang tidak hanya
satu set minimal atribute yang tidak hanya
mengidentitikasi secara unik suatu
mengidentitikasi secara unik suatu
kejadian spesifik, tapi juga dapat mewakili
kejadian spesifik, tapi juga dapat mewakili
setiap kejadian dari suatu entity.
setiap kejadian dari suatu entity.
Setiap
Setiap
kunci kandidat
kunci kandidat
punya peluang
punya peluang
menjadi
menjadi
primary key
primary key
, tetapi sebaiknya
, tetapi sebaiknya
dipilih satu saja yang dapat mewakili
dipilih satu saja yang dapat mewakili
secara menyeluruh terhadap entity yang
secara menyeluruh terhadap entity yang
ada.
Primary Key/Kunci
Primary Key/Kunci
Primer
Primer
Contoh:
Contoh:
– No Induk (NIP)No Induk (NIP), karena unik tidak mungkin ganda , karena unik tidak mungkin ganda dan mewakili secara menyeluruh terhadap entity
dan mewakili secara menyeluruh terhadap entity Pegawai, dan setiap pegawai selalu punya nomor Pegawai, dan setiap pegawai selalu punya nomor induk
induk
– No KTPNo KTP, ini hanya dipakai bila sampai dengan , ini hanya dipakai bila sampai dengan pembayaran gaji pegawai ternyata nomor induk pembayaran gaji pegawai ternyata nomor induk belum keluar.
Alternate Key
Alternate Key
(Kunci alternatif)
(Kunci alternatif)
Alternate Key
Alternate Key
adalah kunci kandidat yang tidak
adalah kunci kandidat yang tidak
dipakai sebagai
dipakai sebagai
primary key
primary key
.
.
Kerap kali kunci
Kerap kali kunci
alternatif dipakai sebagai kunci pengurutan
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
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
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
Bentuk-Bentuk Normalisasi
Bentuk-Bentuk Normalisasi
Bentuk tidak normal (Unnormalized
Bentuk tidak normal (Unnormalized
Form)
Form)
Bentuk Normal Kesatu (1NF/ First
Bentuk Normal Kesatu (1NF/ First
Normal Form)
Normal Form)
Bentuk Normal Kedua (2NF/ Second
Bentuk Normal Kedua (2NF/ Second
Normal Form)
Normal Form)
Bentuk Normal Ketiga (3NF/Third
Bentuk Normal Ketiga (3NF/Third
Normal Form)
Bentuk tidak normal
Bentuk tidak normal
(Unnormalized Form)
(Unnormalized Form)
Bentuk ini memiliki ciri-ciri, yaitu :
Bentuk ini memiliki ciri-ciri, yaitu :
–
Merupakan kumpulan data yang akan
Merupakan kumpulan data yang akan
direkam
direkam
–
Dapat saja data tidak lengkap atau
Dapat saja data tidak lengkap atau
terduplikasi
terduplikasi
–
Data dikumpulkan apa adanya sesuai
Data dikumpulkan apa adanya sesuai
dengan kedatangannya.
Bentuk Normal Kesatu
Bentuk Normal Kesatu
(1NF/ First Normal Form)
(1NF/ First Normal Form)
Bentuk normal ke satu mempunyai ciri yaitu:
Bentuk normal ke satu mempunyai ciri yaitu:
– Setiap data dibentuk dalam flat file (file data/ rata)Setiap data dibentuk dalam flat file (file data/ rata) – Data dibentuk dalam satu record demi satu record Data dibentuk dalam satu record demi satu record
dan nilai dari field field berupa "atomic value". dan nilai dari field field berupa "atomic value". – Tidak ada set atribute yang berulang-ulang atau Tidak ada set atribute yang berulang-ulang atau
atribute bernilai ganda (multivalue). atribute bernilai ganda (multivalue).
– Tiap field hanya satu pengertian, bukan merupakan Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua,
kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan hanya satu arti saja dan juga bukanlah pecahan
Bentuk Normal Kesatu
Bentuk Normal Kesatu
(1NF/ First Normal Form)
(1NF/ First Normal Form)
KELAS(Kode_kelas, nama_kelas,
KELAS(Kode_kelas, nama_kelas,
instruktur)
instruktur)
merupakan bentuk 1NF karena tidak ada yang
merupakan bentuk 1NF karena tidak ada yang
berganda dan tiap atribute satu pengertian
berganda dan tiap atribute satu pengertian
yang tunggal.
yang tunggal.
Kode Kelas
Kode Kelas
Nama Kelas
Nama Kelas
Instruktur
Instruktur
1234
1234
Fisika Dasar
Fisika Dasar
Suroso
Suroso
1543
1543
Matematika
Matematika
Paulus
Paulus
1775
Bentuk Normal Kesatu
Bentuk Normal Kesatu
(1NF/ First Normal Form)
(1NF/ First Normal Form)
SISWA(No_siswa, Nama, Wali_studi,
SISWA(No_siswa, Nama, Wali_studi,
Kelas1, Kelas2, Kelas3)
Kelas1, Kelas2, Kelas3)
Siswa yang punya nomor siswa, nama dan wali
Siswa yang punya nomor siswa, nama dan wali
studi mengikuti 3 mata pelajaran/ kelas.
studi mengikuti 3 mata pelajaran/ kelas.
Disini ada
Disini ada
perulangan kelas 3 kali,
perulangan kelas 3 kali,
ini
ini
bukan bentuk 1 NF.
bukan bentuk 1 NF.
No_siswa
No_siswa Nama Nama Wali_StudiWali_Studi
Kelas1
Kelas1
Kelas2
Kelas2
Kelas3
Kelas3
2289010022890100 TanzaniaTanzania SurosoSuroso
1234
1234
1543
1543
22890101Bentuk Normal Kesatu
Bentuk Normal Kesatu
(1NF/ First Normal Form)
(1NF/ First Normal Form)
bentuk 1 NF.
bentuk 1 NF.
No_siswa
No_siswa Nama Nama Wali_StudiWali_Studi
Kode_kelas
Kode_kelas
2289010022890100 TanzaniaTanzania ZamanZaman
1234
1234
2289010022890100 TanzaniaTanzania ZamanZaman
1543
1543
2289010122890101 NiaNia RizkiRizki
1234
1234
2289010122890101 NiaNia RizkiRizki
1775
1775
22890101Bentuk Normal Kedua
Bentuk Normal Kedua
(2NF/ Second Normal Form)
(2NF/ Second Normal Form)
Bentuk normal kedua mempunyai syarat
Bentuk normal kedua mempunyai syarat
yaitu:
yaitu:
–
Bentuk data telah memenuhi kriteria bentuk
Bentuk data telah memenuhi kriteria bentuk
normal kesatu.
normal kesatu.
–
Atribute bukan kunci haruslah bergantung
Atribute bukan kunci haruslah bergantung
secara fungsi pada kunci utama/
secara fungsi pada kunci utama/
primary
primary
key.
key.
–
Sudah ditentukan kunci-kunci field, dimana
Sudah ditentukan kunci-kunci field, dimana
kunci field haruslah unik dan dapat mewakili
kunci field haruslah unik dan dapat mewakili
atribute lain yang menjadi anggotanya.
Bentuk Normal Kedua
Bentuk Normal Kedua
(2NF/ Second Normal Form)
(2NF/ Second Normal Form)
Dari contoh relasi SISWA pada bentuk
Dari contoh relasi SISWA pada bentuk
normal kesatu, terlihat bahwa:
normal kesatu, terlihat bahwa:
–
kunci utama/ primary key adalah nomor
kunci utama/ primary key adalah nomor
siswa.
siswa.
–
Nama siswa dan Wali_studi bergantung
Nama siswa dan Wali_studi bergantung
fungsi pada No_siswa, tetapi kode_kelas
fungsi pada No_siswa, tetapi kode_kelas
bukanlah fungsi dari SISWA maka file
bukanlah fungsi dari SISWA maka file
SISWA dipecah menjadi 2 relasi/tabel
Bentuk Normal Kedua
Bentuk Normal Kedua
(2NF/ Second Normal Form)
(2NF/ Second Normal Form)
Relasi SISWA
Relasi SISWA
No_siswa
No_siswa Nama Nama Wali_StudiWali_Studi 22890100
22890100 TanzaniaTanzania ZamanZaman 22890101
22890101 NiaNia RizkiRizki
Relasi AMBILKELAS
Relasi AMBILKELAS
No_siswa
No_siswa Kode_Kelas Kode_Kelas 22890100
22890100 12341234 22890100
22890100 15431543 22890101
22890101 12341234 22890101
22890101 17751775 22890101
Bentuk Normal Ketiga
Bentuk Normal Ketiga
(3NF/Third Normal Form)
(3NF/Third Normal Form)
Untuk menjadi bentuk normal ketiga:
Untuk menjadi bentuk normal ketiga:
–
Relasi haruslah dalam bentuk normal kedua
Relasi haruslah dalam bentuk normal kedua
dan semua atribute bukan primer tidak
dan semua atribute bukan primer tidak
punya hubungan yang transitif.
punya hubungan yang transitif.
–
Setiap atribute bukan kunci haruslah
Setiap atribute bukan kunci haruslah
bergantung hanya pada primary key dan
bergantung hanya pada primary key dan
pada primary key secara menyeluruh.
pada primary key secara menyeluruh.
–
Contoh pada bentuk normal kedua di atas
Contoh pada bentuk normal kedua di atas
termasuk juga bentuk normal ketiga karena
termasuk juga bentuk normal ketiga karena
seluruh atribute yang ada bergantung penuh
seluruh atribute yang ada bergantung penuh
pada kunci primernya.
PENERAPAN
Proses perancangan database dapat
Proses perancangan database dapat
dimulai dari dokumen dasar yang dipakai
dimulai dari dokumen dasar yang dipakai
dalam sistem.
dalam sistem.
PENERAPAN
Step I bentuk unnormalized
Step I bentuk unnormalized
Bentuklah menjadi tabel unnormalized, dengan
Bentuklah menjadi tabel unnormalized, dengan
mencantumkan semua field data yang ada
mencantumkan semua field data yang ada
Step II bentuk normal kesatu
Step II bentuk normal kesatu
Bentuklah menjadi bentuk normal kesatu
Bentuklah menjadi bentuk normal kesatu
dengan memisah-misahkan data pada field-field
dengan memisah-misahkan data pada field-field
yang tepat dan bernilai atomic
yang tepat dan bernilai atomic
Seluruh record harus lengkap adanya.
Seluruh record harus lengkap adanya.
Bentuk
Bentuk
file adalah flat file.
Step II bentuk normal kesatu
Step II bentuk normal kesatu
Kelemahan-kelemahan bentuk normal kesatu yaitu:Kelemahan-kelemahan bentuk normal kesatu yaitu:
– Inserting/ penyisipanInserting/ penyisipan
Kita tidak dapat memasukkan kode dan nama supplier saja tanpa Kita tidak dapat memasukkan kode dan nama supplier saja tanpa
ada transaksi pembelian, sehingga supplier baru dapat masuk bila
ada transaksi pembelian, sehingga supplier baru dapat masuk bila
ada transaksi pembelian.
ada transaksi pembelian.
– Deleting/ PenghapusanDeleting/ Penghapusan
Bila satu record di atas dihapus misalnya nomor factur 779, maka Bila satu record di atas dihapus misalnya nomor factur 779, maka
berakibat pula menghapus data supplier S02 (Hitachi), padahal data
berakibat pula menghapus data supplier S02 (Hitachi), padahal data
supplier masih diperlukan.
supplier masih diperlukan.
– Updating/ PengubahanUpdating/ Pengubahan
Kode dan nama supplier terlihat ditulis berkali kali, bila suatu ketika Kode dan nama supplier terlihat ditulis berkali kali, bila suatu ketika
terjadi perubahan nama supplier misalnya maka harus mengganti
terjadi perubahan nama supplier misalnya maka harus mengganti
disemua record yang mengandung nama tersebut.
disemua record yang mengandung nama tersebut. Bila ada yang Bila ada yang terlewat maka membuat data tidak konsisten lagi.
terlewat maka membuat data tidak konsisten lagi.
– RedundancyRedundancy
Field jumlah di atas merupakan redundancy, karena setiap kali Field jumlah di atas merupakan redundancy, karena setiap kali
harga dikalikan dengan quantitas akan menghasilkan jumlah. Maka
harga dikalikan dengan quantitas akan menghasilkan jumlah. Maka
field tersebut dapatlah dibuang, bila tidak dibuang maka
field tersebut dapatlah dibuang, bila tidak dibuang maka
mengakibatkan tidak konsisten. Tidak konsisten disini disebabkan
mengakibatkan tidak konsisten. Tidak konsisten disini disebabkan
karena bila ada perubahan harga, hanya data harga yang diubah,
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
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,
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
Step III bentuk normal kedua
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
Step IV bentuk normal ketiga
Step IV bentuk normal ketiga
Bentuk normal ketiga mempunyai syarat
Step V Pengujian Data Contoh
Step V Pengujian Data Contoh
Pengujian disini untuk memastikan
Step VI Hubungan Relasi Antar Tabel
Step VI Hubungan Relasi Antar Tabel
Menggambarkan relasi antar tabel
Satu supplier punya banyak nota
Satu nota punya bebebrapa transaksi barang
Step VII Kelengkapan Field-Field
Step VII Kelengkapan Field-Field
Dalam Tabel
Dalam Tabel
Permasalahan di atas hanya mengacu pada satu
--SELESAI--Attention Please!!
Attention Please!!
Minggu Depan akan diadakan Tes Tengah
Minggu Depan akan diadakan Tes Tengah
Semester
Semester
Kisi-Kisi Soal Ujian Mid Semester
Pengertian basis data, operasi dasar basis data, tujuan Pengertian basis data, operasi dasar basis data, tujuan
basis data, pengertian Sistem Basis Data, Komponen-2 basis data, pengertian Sistem Basis Data, Komponen-2
SBD SBD
Terminologi Sistem Basis Data, Pengertian DBMS, Terminologi Sistem Basis Data, Pengertian DBMS,
Kegunaan/Syarat Database, Abstraksi Data, Paket Kegunaan/Syarat Database, Abstraksi Data, Paket
Bahasa, Pengguna Database Bahasa, Pengguna Database
Teknik Perancangan Database, Relasi, Kardinalitas, Teknik Perancangan Database, Relasi, Kardinalitas,
Diagram E-R, Tahapan Pembuatan Diagram E-R, Diagram E-R, Tahapan Pembuatan Diagram E-R, Diagram E-R dengan Kamus Data, Derajat Relasi Diagram E-R dengan Kamus Data, Derajat Relasi
Minimum Minimum
Varian Entitas : Entitas Kuat, Entitas Lemah, Sub EntitasVarian Entitas : Entitas Kuat, Entitas Lemah, Sub Entitas Varian Relasi : Relasi Tunggal, Relasi Multi Entitas, Relasi Varian Relasi : Relasi Tunggal, Relasi Multi Entitas, Relasi
Ganda, Spesialisasi, Generalisasi, Agregasi, Modifikasi Ganda, Spesialisasi, Generalisasi, Agregasi, Modifikasi