Anda di halaman 1dari 19

CONTOH

STUDI KASUS
NORMALISASI DAN ERD
IYA N GU STIA NA , S. KO M , M. KO M
SOAL SUPPLIER SEMBAKO

Supplier sembako memasok kebutuhan rumah tangga ke warung-


warung. Setiap pengiriman selalu diantar oleh sopir secara
bergantian sesuai dengan jadwalnya masing-masing. Sembako yang
diantar disertai dengan faktur pengiriman. Satu faktur terdiri dari
beberapa jenis barang, serta barang yang dikirim dimungkinkan ke
setiap warung banyak yang sama baik tipe model ataupun merknya.

Tugasnya :
Buatlah table pengiriman barang dari faktur tersebut.
SOAL SUPPLIER SEMBAKO

Faktur yang tercatat hanya 2 faktur ada bukti fisiknya yaitu :


1. Faktur nomor 212/13-NOV/SPB
2. Faktur nomor 213/13-NOV/SPB
3. Untuk faktur nomor 214/14-NOV/SPB & faktur no 216/14-NOV/SPB
tidak ada bukti fisiknya.
FAKTUR PENGIRIMAN SEMBAKO
PROSES NORMALISASI KE 1
Untuk membuat table langkahnya adalah :
1. Memasukan semua data yang ada dalam faktur ke dalam satu table yang biasa disebut UN-NORMAL.
PROSES NORMALISASI KE 1
1. Lengkapi semua data dari setiap atribut sampai mempunyai nilai tunggal (atomic),
2. Dalam proses ini boleh menambah atau mengurangi atribut
Ada penambahan
kode_konsumen dan
kode_supir

Proses melengkapi semua data


(mengisi record yang kosong) biasa disebut
juga proses normalisasi tahap 1
PROSES NORMALISASI KE 2
Tahap berikutnya mencari PRIMARY Key.
Pencarian Primary Key dimulai dengan mengumpulkan atribut yang di anggap cocok.
Terutama atribut yang bernilai tunggal. Pencarian primary key berdasarkan atribut yang paling
kuat. Atribut yang paling kuat cirinya adalah :
1. Sedikit disebut : Muncul dalam faktur yang berbeda dengan nilai yang berbeda & jadi ciri
khas faktur
2. Bernilai tunggal : Kemungkinan datanya hanya muncul satu kali dalam satu faktur
3. Bernilai unik : Tidak ada nilai yang sama

Maka diperoleh atribut candidate key sebagai berikut :


NOMOR_SURAT, KODE_KONSUMEN, KODE_SUPIR, KODE_BRG
PROSES NORMALISASI KE 2
NOMOR_SURAT, KODE_KONSUMEN, KODE_SUPIR, KODE_BRG

Dari atribut candidate key di atas yang paling kuat adalah :


NOMOR_SURAT

Mengapa ?
Karena hanya muncul 1 kali dalam satu faktur, tidak muncul didalam faktur lainnya,
sedangkan KODE_KONSUMEN, KODE_SUPIR, KODE_BRG, bisa muncul
berkali-kali dalam faktur yang berbeda. Apalagi KODE_BRG bisa muncul berkali-
kali dalam faktur yang sama. Sehingga KODE_BRG disebut juga atribut bernilai
jamak.
PROSES NORMALISASI KE 2
Langkah selanjutnya mengelompokan atribut atribut bernilai tunggal berdasarkan
primary key yaitu : NOMOR_SURAT
Sehingga menjadi seperti dibawah ini :
NOMOR_SURAT <- KODE_KONSUMEN, KONSUMEN, TGL_KIRIM,
KODE_SUPIR, NAMA_SUPIR,NO_KENDARAAN
Memisahkan atribut primary key yang bernilai jamak yaitu :KODE_BRG
Sehingga menjadi seperti dibawah ini :
NOMOR_SURAT,KODE_BRG <- KODE_BRG,NAMA_BRG,MERK, JUMLAH,
KETERANGAN
Proses seperti di atas disebut juga proses Normalisasi tahap 2. Seperti gambar
table dislide berikutnya :
NOMOR_SURAT <- KODE_KONSUMEN, KONSUMEN, TGL_KIRIM, KODE_SUPIR, NAMA_SUPIR,
NO_KENDARAAN

NOMOR_SURAT,KODE_BRG <- KODE_BRG,NAMA_BRG,MERK, JUMLAH, KETERANGAN


Tahapan ini disebut NORMAL KE 2, terdiri dari 2 table yang mempunyai relasi dengan
penghubung NOMOR SURAT. Langkah selanjutnya cek, apakah masih ada atribut selain
primary key yang mempunyai ketergantungan. Kalau ada maka harus dipecah lagi
menjadi bentuk NORMAL KE 3.

Ternyata masih
ada atribut yang
tergantung pada
atribut lainnya

Atribut bukan kunci yang


punya ketergantungan pada
atribut lain (konsumen pada
kode konsumen, nama supir
& no kendaraan pada
kode_supir dan nama_brg
pada kd_brg
PROSES NORMALISASI KE 3
1. Langkah berikutnya memisahkan atribut yang mempunyai ketergantungan
pada atribut lain yang bukan primary key (ketergantungan transitif).
2. Ciri atribut bukan kunci yang mempunyai ketergantungan pada atribut lain
adalah sebagai berikut :
A <- B <- C
A : Adalah primary key, B : atrtibut , C : atrtibut
gambar diatas menjelaskan atribut B tergantung pada primary key A, ini
memang seharusnya. Tapi yang jadi masalah adalah atribut C tergantung pada
pada atribut B, kenapa masalah ?, karena atribut B bukan primary key . Ini
terkenal dengan istilah ketergantungan transitif. Sehingga harus dipisahkan
dalam tabel baru, dengan komposisi menjadi :
A <- B dan B <- C
PROSES NORMALISASI KE 3
Maka akan diperoleh tabel baru hasil pemisahan atribut yang mempunyai
tergantung transitif. Komposisi Asal (keadaan normalisasi ke 2) :

NOMOR_SURAT <- KODE_KONSUMEN, KONSUMEN, TGL_KIRIM, KODE_SUPIR,


NAMA_SUPIR, NO_KENDARAAN
Menjadi :
PROSES NORMALISASI KE 3
NOMOR_SURAT <- KODE_KONSUMEN, TGL_KIRIM,KODE_SUPIR

KODE_KONSUMEN <- KONSUMEN

KODE_SUPIR <- NAMA_SUPIR, NO_KENDARAAN


PROSES NORMALISASI KE 3
Tabel kelompok kedua, atribut yang mempunyai tergantung transitif. Komposisi
Asal (keadaan normalisasi ke 2) :

NOMOR_SURAT <- KD_BRG, NAMA_BRG, MERK, JUMLAH, KETERANGAN


PROSES NORMALISASI KE 3
Menjadi :

NOMOR_SURAT, KD_BRG <- JUMLAH, KETERANGAN

KODE_BRG <- NAMA_BRG, MERK


PEMBUATAN KELOMPOK TABEL
Hasil dari pemecahan atribut transitif menghasilkan beberapa buah table, proses ini disebut
NORMAL KE 3. Sekarang setiap table hasil pecahan, harus diberi nama sesuai dengan isi table
nya yaitu :

FAKTUR = {NOMOR_SURAT, KODE_KONSUMEN, TGL_KIRIM,KODE_SUPIR}


KONSUMEN = {KODE_KONSUMEN, KONSUMEN}
SUPIR = {KODE_SUPIR, NAMA_SUPIR, NO_KENDARAAN}
DETAIL_FAKTUR = {NOMOR_SURAT, KD_BRG, JUMLAH, KETERANGAN}
BARANG = {KODE_BRG, NAMA_BRG, MERK}
Dibuatkan Model ERD :
PROSES PEMBUATAN ERD3
PROSES RELASI TABEL
Dibuatkan Model Relasinya :

Table inilah yang nanti akan diterjemahkan dalam bentuk fisik pembuatan database, sehingga
nanti akan dibuatkan 1 buah database dan 5 buah table.

Anda mungkin juga menyukai