Anda di halaman 1dari 38

MATERI PERKULIAHAN

MANAJEMEN DATABASE
PERTEMUAN 6

DISUSUN OLEH :

OKI SETIONO, M.KOM

FAKULTAS KESEHATAN
Review Tugas-2
Entity (entitas)  RAWAT JALAN
1.   …..
2.   ….. (Logical Record Structure) 
3.   …..
4.   …..
5.   …..
6.   …..
7.   …..
RELATIONSHIP ANTARA ENTITY
Entitas             (Relasi)    Entitas
……. …… ……

Contoh :
Pasien Melakukan Pendaftaran
Dst…….

Silahkan lengkapi .... dari semua Entitas dan Relasi yang ada

Buatlah ERDnya dan tambahkan derajad kardinalitas menggunakan


Derajat Relasi Minimum - Maksimum
(seperti slide sebelumnya dan penjelasan video & buat dengan tools ERD)
Pembahasan
• Normalisasi
1. Tujuan Normalisasi
2. Penyimpangan dalam modifikasi
3. Keharusan menghilangkan masalah-masalah akibat
ketergantungan
4. Efek-efek normalisasi
5. Atribut tabel
6. Domain dan tipe data
7. Bentuk-bentuk normal
8. Contoh kasus
Referensi Video Materi :
• Materi video penjelasan normalisasi :
https://www.youtube.com/watch?v=3odbH0J7LvM

• Materi Contoh pengerjaan kasus normalisasi :


https://www.youtube.com/watch?v=APUF3Fs0ypg
Normalisasi
• Normalisasi adalah proses pembentukan struktur basis
data sehingga sebagian besar ambiguity bisa
dihilangkan.
• Proses normalisasi merupakan proses pengelompokan
data elemen menjadi tabel yang menunjukkan entity
dan relasinya (Kristanto, H., 1994).
• Normalisasi data merupakan suatu proses untuk
mendapatkan struktur tabel atau relasi yang efisien dan
bebas dari anomali, dan mengacu pada cara data item
dikelompokkan ke dalam struktur record.
• The goal of a relational database design is to generate
a set of relation scheme that allow us to store
informastion easily. One approach is to design scheme
that are in an appropriate normal form (silberschatz,
H., 1991)
• Normalisasi adalah suatu teknik untuk mengorganisasi
data ke dalam tabel-tabel untuk memenuhi
kebutuhan pemakai didalam suatu organisasi.
Tujuan Normalisasi

• Untuk menghilangkan kerangkapan data


• Untuk mengurangi kompleksitas
• Untuk mempermudah pemodifikasian data
Proses Normalisasi
• Data diuraikan dalam bentuk tabel, selanjutnya
dianalisis berdasarkan persyaratan tertentu ke beberapa
tingkat.
• Apabila tabel yang diuji belum memenuhi persyaratan
tertentu,maka tabel tersebut perlu dipecah menjadi
beberapa tabel yang lebih sederhana sampai memenuhi
bentuk yang optimal.
Kriteria Tabel efisien
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi
3 kriteria sbb:

1. 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.
2. Terpeliharanya ketergantungan fungsional pada saat
perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF)
(-akan dijelaskan pert. 7)
Tahapan Normalisasi
• Bentuk Tidak Normal

• Bentuk Normal Pertama (1NF) Menghilangkan perulangan group

• Bentuk Normal Kedua (2NF) Menghilangkan ketergantungan sebagian

• Bentuk Normal Ketiga (3NF) Menghilangkan ketergantungan transitif

• Bentuk Normal Boyce-Codd (BCNF) Menghilangkan anomali-anomali hasil dari ketergantungan fungsional

• Bentuk Normal Keempat (4NF) Menghilangkan Ketergantungan Multivalue

• Bentuk Normal Kelima Menghilangkan anomali-anomali yang tersisa


Ketergantungan Fungsional
• Definisi
Atribut Y pada relasi R dikatakan tergantung fungsional
pada atribut X (R.X  R.Y), jika dan hanya jika setiap nilai
X pada relasi R mempunyai tepat satu nilai Y pada R.

R= Relasi / Tabel
Y,X = Atribut didalam Tabel R.
Contoh Ketergantungan
• Tabel PEMASOK-BARANG
No_Pemasok Nama_Pemasok
P01 Imam_x
P02 Yazix
P03 Hana

• Ketergantungan fungsional dari tabel PEMASOK-


BARANG adalah :
• No_Pemasok  Nama_Pemasok
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
• KIRIM-BARANG( No_pem, Na_pem, No_bar, Jumlah)
No_pemasok Na_pemasok No_barang Jumlah
P01 Bahana B01 1000
P01 Bahana B02 1400
P01 Bahana B03 2000
P02 Sinar Mulia B03 1000
P03 Harapan B02 2000

• Ketergantungan fungsional :
• No-pemasok  Nama-pemasok
• No-barang, No-pemasok  Jumlah (Tergantung penuh thd keynya)
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. (X  Y, Y  Z , maka X Z )
Pengertian Dependensi Transitif
• Suatu atribut Z mempunyai dependensi transitif
terhadap X jika:
• Y memiliki dependensi terhadap X dan
• Z memiliki dependensi terhadap Y

X → Z
X→Y→Z
Contoh Dependensi Transitif
Kuliah Ruang Tempat Waktu
Jaringan Komputer Merapi Gedung Utara Senin, 08.00-09.50
Pengantar Basis Data Merbabu Gedung Utara Selasa, 08.00-09.50
Matematika I Rama Gedung Selatan Rabu, 10.00-11.50
Sistem Pakar Sinta Gedung Selatan Kamis, 08.00-09.50
Kecerdasan Buatan Merapi Gedung Utara Selasa, 10.00-11.50

Kuliah → { Ruang, Waktu }


Kuliah → Ruang → Tempat
Ruang → Tempat
Contoh Lain Dependensi Transitif
Id_Pelanggan Nama Salesman Area
A-001 Andi Farkan Jateng
A-002 Kurnia Jati Dian Jabar
B-001 Fika Dewi Joned Jatim
B-002 Gani Wirawan Farkan Jateng
C-001 Cici Kusuma Joned Jatim

(Latihan-2) Tentukan :
1. Ketergantungan fungsional
2. Ketergantungan fungsional penuh
Id_Pelanggan Nama Salesman Area 3. Ketergantungan transitif

Buatlah dengan menggunakan excel….


Contoh Lain Dependensi Transitif
No_Pesan No_Urut Kode_Item Nama_Item Jumlah

06008 1 P1 Pensil 5
06008 2 P2 Buku Tulis 10
06008 3 P3 Penggaris 6
06008 4 P4 Penghapus 4 (Latihan-3)Tentukan :
06009 1 P3 Penggaris 1 1. Ketergantungan fungsional
06009 2 P5 Pulpen 10 2. Ketergantungan fungsional penuh
06009 3 P6 Spidol 5 3. Ketergantungan transitif
06010 1 P1 Pensil 4
Buatlah dengan menggunakan excel….
06010 2 P2 Buku Tulis 10

No_Pesan No_Urut Kode_Item Nama_Item Jumlah


Problem pada Dependensi Transitif
Id_Pelanggan Nama Salesman Area
A-001 Andi Farkan Jateng
A-002 Kurnia Jati Dian Jabar
B-001 Fika Dewi Joned Jatim
B-002 Gani Wirawan Farkan Jateng
C-001 Cici Kusuma Joned Jatim
Anomali penyisipan:
Seorang salesman baru yang bertugas di Jateng tidak dapat dimasukkan dalam
tabel sampai salesman tersebut mendapatkan seorang pelanggan
Anomali penghapusan:
Jika pelanggan A-002 dihapus, informasi bahwa Dian menangani daerah Jabar ikut
hilang
Anomali peremajaan:
Jika katakanlah Farkan mendapat penugasan baru untuk menangani daerah
Kalimantan, maka sejumlah baris harus diremajakan agar data tetap konsisten
• Tahap Normalisasi dimulai dari tahap paling ringan
(1NF) hingga paling ketat (5NF)
• Biasanya hanya sampai pada tingkat 3NF atau BCNF
karena sudah cukup memadai untuk menghasilkan
tabel-tabel yang berkualitas baik.
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka
paling tidak tabel tersebut tidak melanggar Bentuk
Normal tahap ketiga (3rd Normal Form / 3NF).
Tabel Universal
Tabel Universal (Universal / Star Table)  sebuah tabel
yang merangkum semua kelompok data yang saling
berhubungan, bukan merupakan tabel yang baik.

Misalnya:
Tabel Universal
Bentuk-bentuk Normal
1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
4. Boyce-Code Normal Form (BCNF)
5. Bentuk Normal Tahap (4th Normal Form / 4NF)
6. Bentuk Normal Tahap (5th Normal Form / 5NF)
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)

• Bentuk normal 1NF terpenuhi jika sebuah tabel tidak


memiliki atribut bernilai banyak (multivalued attribute),
atribut composite atau kombinasinya dalam domain
data yang sama.
• Setiap atribut dalam tabel tersebut harus bernilai atomic
(tidak dapat dibagi-bagi lagi)
Contoh 1
Misal data mahasiswa sbb:

Atau:

Tabel-tabel di atas tidak memenuhi syarat 1NF


Contoh 1
Didekomposisi menjadi:
 Tabel Mahasiswa

 Tabel Hobi
Contoh 2 (composite)
JadwalKuliah
Kodekul NamaKul Dosen Kelas Jadwal

 Dimana nilai pada atribut jadwal berisi gabungan antara Hari


dan Jam.
 Jika asumsi hari dan jam memegang peranan penting dalam
sistem basis data, maka atribut Jadwal perlu dipisah sehingga
menjadi JadwalHari dan JadwalJam sbb:

JadwalKuliah
Kodekul NamaKul Dosen Kelas JadwalHari JadwalJam
Bentuk Normal Tahap Kedua
(2nd Normal Form)
• Bentuk normal 2NF terpenuhi dalam sebuah tabel jika
telah memenuhi bentuk 1NF, dan semua atribut selain
primary key, secara utuh memiliki Functional
Dependency pada primary key
• Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang
ketergantungannya (Functional Dependency) hanya
bersifat parsial saja (hanya tergantung pada sebagian
dari primary key)
• Jika terdapat atribut yang tidak memiliki ketergantungan
terhadap primary key, maka atribut tersebut harus
dipindah atau dihilangkan
Contoh - 3
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Mhs_nrp mhs_nama mhs_alamat mk_kode mk_nama mk_sks nihuruf

 Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang


dianggap sebagai primary key sedangkan:
{Mhs_nrp, mk_kode} mhs_nama
{Mhs_nrp, mk_kode}  mhs_alamat
{Mhs_nrp, mk_kode}  mk_nama
{Mhs_nrp, mk_kode}  mk_sks
{Mhs_nrp, mk_kode} nihuruf

 Tabel di atas perlu didekomposisi menjadi beberapa tabel yang


memenuhi syarat 2NF
Contoh - 3
Functional dependencynya sbb:
{Mhs_nrp, mk_kode}  nihuruf (fd1)
Mhs_nrp  {mhs_nama, mhs_alamat} (fd2)
Mk_kode  {mk_nama, mk_sks} (fd3)

fd1 (mhs_nrp, mk_kode, nihuruf)  Tabel Nilai


fd2 (Mhs_nrp, mhs_nama, mhs_alamat)  Tabel Mahasiswa
fd3 (mk_kode, mk_nama, mk_sks)  Tabel MataKuliah

Tabel Baru
Bentuk Normal Tahap Ketiga
(3rd Normal Form /3NF)
• Bentuk normal 3NF terpenuhi jika telah memenuhi
bentuk 2NF, dan jika tidak ada atribut non primary
key yang memiliki ketergantungan terhadap atribut
non primary key yang lainnya.
• Untuk setiap Functional Dependency dengan notasi
X  A, maka:

• X harus menjadi superkey pada tabel tsb.


• Atau A merupakan bagian dari primary key pada tabel
tsb.
Contoh - 4
Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
Mahasiswa
Nrp Nama Alm_Jalan Alm_Kota Alm_Provinsi Alm_Kodepos

 karena masih terdapat atribut non primary key (yakni alm_kota dan
alm_Provinsi) yang memiliki ketergantungan terhadap atribut non
primary key yang lain (yakni alm_kodepos):
alm_kodepos  {alm_Provinsi, alm_kota}
 Sehingga tabel tersebut perlu didekomposisi menjadi:
Mahasiswa (Nrp, nama, alm_jalan,
alm_kodepos) Tabel Baru
Kodepos (alm_kodepos, alm_provinsi,
alm_kota)
Latihan-4
Kasus Normalisasi (Database Akademik)
No-Mhs Nm-Mhs Jurusan Kd-MK Nama-MK Kd-Dosen Nm_Dosen Nilai

2683 Budi RM RM350 Manajemen Basis Data D104 Oki A


RM465 Analisis Prc. Sistem D317 Rendi B

5432 Raffi KM RM350 Manajemen Basis Data D104 Irene C


EPD201 Epidemiologi D310 Deddy B
SIK300 SistemInformasi kesehatan D212 Dadang A

Buatlah Normalisasinnya
Dari 1NF sampai 3NF (Bila ada…)

Buatlah dengan menggunakan excel….


Latihan-5
Kasus Normalisasi
(Database Rawat Inap)

Buatlah Normalisasinnya
Dari 1NF sampai 3NF (Bila ada…)

Buatlah dengan menggunakan excel….


CATATAN
• Kerjakan Latihan 2 s.d Latihan 5
• Dengan menggunakan excel
• Semua latihan tersebut dikerjakan dengan 1 file saja
• Pisahkan antar latihan dengan Sheet-1, sheet-2, dst ( pada lembar kerja excel)
• Selesaikan latihan tersebut karena akan dimasukkan kedalam poin TUGAS-3
• Minggu depan bahas materi terakhir (Normalisasi BCNF)
• Studi kasus soal minggu depan melanjutkan dari latihan 4 dan 5
ADA PERTANYAAN ?
Silahkan bertanya di Group Kelas

TERIMA KASIH

Anda mungkin juga menyukai