Analisa Perancangan Sistem 05 Ika M ERD LRS Normalisasi
Analisa Perancangan Sistem
Graphic Tools-2 ER-Diagram LRS Normalisasi
Graphic Tools – 2 Perancangan Basis Data Ika Menarianti Definisi Basis Data
Database adalah sekumpulan data
store yang tersimpan dalam magnetik disk, optical disk atau mendia penyimpanan sekunder lainnya. Database adalah sekumpulan
program-program aplikasi umum yang bersifat “batch” yang mengeksekusi dan memproses data secara umum (pencarian, update,Database Management System
Database yang disimpan dapat diakses
dengan menggunakan DataBase management System.DBMS adalah untuk Tujuan menyediakan lingkungan yang mudah dan efisien untuk penggunaan, penarikan dan penyimpanan data dan DBMS Lanj. 1 Pengelolaannya meliputi:
a) Pendefinisian struktur
penyimpananb) Penyediaan mekanisme untuk
manipulasi informasic) Penyediaan keamanan dalam
penarikan dan penyimpanan data dan infomasiAtribut
Merupakan sifat atau karakteristik suatu
entitas yang myediakan penjelasan detail
tentang entitas tersebut. Contoh : MAHASISWA: NIM, Nama, Alamat, Kota, Kodepos
MOBIL : No_mobil, Warna , Jenis, CC
DOSEN : NID, Nama, Keahlian, Mata Kuliah, Status
BUKU: Kode_buku, Nama_buku, Pengarang, Penerbit, Tahun, Harga TUPLE / RECORD
Terdiri dari kumpulan atribut dan atribut tersebut
saling berkaitan dengan menginformasikan
tentang suatu entitas atau relasi secara lengkapNim Nama Alamat
000234 Ika Jalan raya 000653 Ryan Jalan sempit 000786 Okta Jalan setapak
Setiap baris adalah tuple
Entity Relationship Diagram (ER-Diagram)
Adalah suatu model jaringan yang
menggunakan susunan data yang disimpan dalam sistem secara abstrakER-Diagram tidak menyatakan bagaimana
memanfaatkan data, membuat data, mengubah data dan menghapus data
ER-Diagram memperlihatkan hubungan
antar data store pada Data Flow Diagram Elemen ER_Diagram -1 Entity
Entity
Adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama kata benda orang, benda, lokasi dan kejadian (ada unsur waktu didalamnya) Elemen ER_Diagram -2
Relations
hip
Relationship
Adalah hubungan yang terjadi antara entitas. Diberi
nama dengan kata kerja dasar.
Himpunan relasi yaitu kumpulan semua relasi
diantara entitas-entitas yang terdapat dalam himpunan entitas. Elemen ER_Diagram -3
Adalah sifat atau karakteristik yang menjelaskan entitas dan relationship. Nilai atribut:
1) Identifier (key) untuk menentukan entity
secara unikAtribut
Atribut
Elemen ER_Diagram -4
Relationship Degree jumlah entitas
- yang berpartisipasi dalam satu relationship
Kardinalitas (Cardinality)
- menunjukkan jumlah maksimum tuple yang dapat berelasi dengan entitas pada entitas yang lain
- berasal dari entity yang sama
Pegawai h
M Derajat Relationship -2 Binary Relationship relasi yang terjadi antara
- dua entity yang berbeda
Contoh 1: N M
Mahasisw Ambil Kuliah a
Contoh 2 M
Pegawai ja en
Derajat Relationship -3
Ternary Relationship relasi yang terjadi dari
tiga tipe entitas secara sepihak Mahasis wa KRS Dose n Mata
Kuliah Pabrik cata t
Gudan g
Barang
Contoh 1 Contoh 2 Kardinalitas
- One To One dinyatakan dengan satu kejadian
pada entitas pertama, hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan sebaliknya
- One to Many atau Many to One satu kejadian
pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua.
- Many to Many kejadian pada sebuah entitas
akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya Notasi ER-diagram
- Menyatakan himpunan entitas
- Menyatakan himpunan relasi / relasi saja
E a R
- Menyatakan atribut (atribut yang bernilai key digaris bawahi)
- Garis penghubung relasi dan entitas
Kardinalitas relasi dapat dinyatakan dengan
banyaknya garis cabang atau dengan Tahapan Pembuatan ER_Diagram
- Mengidentifikasi den menetapkan seluruh entitas yang akan terlibat
Karyawan Pekerjaan Mandor
- Menentukan atribut-atribut key (primary key) dari masing-masing entitas
NIM Kode_Pk NIK rj
Karyawan Pekerjaan Mandor
- Mengidentifikasi dan menetapkan seluruh derajat/
kardinalitas relasi diantara entitas- entitas yang
ada beserta foreign key
NIK NIM Kode_Pk
Karyawan Mandor rj
Kode_Pk Kode_Pk NIK rj rj Melak
Pekerjaan Miliki ukan NIM
- Melengkapi entitas dan relasi dengan atribut deskriptif non key
Nm_Kryw Kode_Pk Nm_Pkrj NIK n NIK rj Melak
Karyawan Pekerjaan ukan
Kode_Pk Alama Kode_Pk Tgl_l rj t rj hr
NI Gol NIM
M Awasi Alama t
Nm_Mnd Keahli
Mandor r an Kamus Data Karyawan = {NIK, Nm_krywn, Alamat, Tgl_lhr,
- Gol } Pekerjaan = {Kd_Pkrj, Nm_Pkrj} >
Mandor = {NIM, Nm_mndr, keahlian, alamat}
a. Setiap entity akan diubah kebentuk
sebuah kotak dengan nama entity berada diluar kotak dan atribut berada didalam kotak
b. Sebuah relasi kadang disatukan dalam
sebuah kotak bersam entity, kadan dipsah dalam kotak tersendiriTransformasi-1a (One to One)
@NO_SURAT_NIKAH @NO_SURAT_
NO.KTP_SUAMI NIKAH
NAMA_SUAMI
SUAMI
NO.KTP_SUAM TMPT_LHR_SUAMI
I TGL_LHR_SUAMI NAMA_SUAMI TMPT_LHR_SU AMI
Nika
TGL_LHR_SUA @NO_SURAT_NIKAH
h
MI NO.KTP_ISTRI NAMA_ISTRI
@NO_SURAT_ TMPT_LHR_ISTRI
ISTRI
NIKAH TGL_LHR_ISTRI
NO.KTP_ISTRI TGL_NIKAH
NAMA_ISTRI TMPT_LHR_IST RI
Transformasi-1b (One to One)
@NO_SURAT_ @NO_SURAT_NIK
NIKAH AH NO.KTP_SUAM
SUAMI NO.KTP_SUAMI
SUAMI
I NAMA_SUAMI NAMA_SUAMI
TMPT_LHR_SUAM TMPT_LHR_SU
I AMI TGL_LHR_SUAMI
TGL_LHR_SUA
Nika
MI
h
@NO_SURAT_NIK AH
ISTRI NO.KTP_ISTRI
@NO_SURAT_ NAMA_ISTRI
NIKAH
ISTRI
TMPT_LHR_ISTRI NO.KTP_ISTRI
TGL_LHR_ISTRI NAMA_ISTRI
TGL_NIKAH TMPT_LHR_IST RI TGL_LHR_ISTR
Transformasi-2 (One to Many)
@NO_PEGAWAI @NO_PEGAW
@KODE_PROYEK PEGAW AI
NAMA_PEGAWAI
PEGAWAI
AI NAMA_PEGAW
ALAMAT AI ALAMAT @KODE_PROY
KERJ
@KODE_PROYEK EK
A
PROYEK TGL_MULAI
TGL_MULAI BIAYA BIAYA
PROYEK Transformasi ERD One to Many ke LRS Transformasi-3 (Many to Many) @KODE_PELANGG AN NAMA
M
@@[@KODE_PELANGG AN] @@[@KODE_BARANG] JUMLAH
M
@KODE_BARANG NAMA_BARANG
@KODE_PELANGGAN NAMA
PELANGG AN BARANG BELI
@@[@KODE_PELANG GAN] @@[@KODE_BARANG] JUMLAH @KODE_BARANG NAMA_BARANG HARGA_BARANG
PELANGGAN BELI BARANG Normalisasi
- Normalisasi adalah suatu proses memperbaiki /
membangun dengan model data relasional dan secara umum lebih tepat dikoneksikan dengan model data logika Normalisasi adalah proses pengelompokkan data
- kedalam bentuk tabel/relasi untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi
- “tabel” kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atribut lainnya
Normalisasi adalah proses untuk mengidentifikasi
Macam-macam penyimpangan
- atau kesalahan yang terjadi sebagai akibat dari operasi menyisipkan tuple/ record pada sebuah relasi
Insertion Anomaly merupakan error
- Delete Anomaly merupakan error atau kesalahan sebagai akibat operasi pengahapusan terhadap record Update Anomaly merupakan error atau
- kesalahan sebagai akibat operasi perubahan terhadap record
Menggambarkan hubungan antara
atribut dengan relasi.B functional dependency Terhadap A A
B Jika A dan B adalah atribut dari relasi R
B dikatakan bergantung functional terhadap A (BA), jika masing-masing nilai dari A dalam relasi R berpasangan secara tepat dengan satu nilai dari B dalam relasi R
Tabel Staff_Cabang
NIK Nama Alamat Jabatan Gaji Kd_Cb Almt_Cb No_telp
g g
SL2 John White Jl. Nanas Manager 30000 B5 Jl. Zeta 765825
1 SG3 Ann Beech Jl. Sawo Analist 12000 B3 Jl. Beta 876423
7 SG1 David Ford Jl. Apel Deputy 18000 B3 Jl. Beta 785345
4 SA9 Mary Howe Jl. Salak Assistan 9000 B7 Jl. Alpha 735672 t
Jabatan functional
SG5 Susan Jl. Melon Manager 24000 B3 Jl. Beta 834476
dependency
NIK Jabatan
Brand
SL4 Julie Lee Jl. Jeruk Assistan 9000 B5 Jl. Zeta 836459
Terhadap NIK
1 t
(a)Jabatan memiliki ketergantungan fungsional Terhadap NIK (b)NIK tidak memilik ketergantungan fungsional terhadap jabatan
NIK tidak functional dependency
NIK Jabatan
- 1:1. Kardinalitas relasi antara jabatan dan NIK adalah 1:M. NIK adalah determinan dari KF (Ketergantungan Fungsional)
Kardinalitas relasi antara NIK dan jabatan adalah Identifikasi relasi Staff_Cabang:
NIK Nama
NIK Alamat
NIK Jabatan
NIK Gaji
NIK Kd_Cbg
NIK Almt_Cbg
NIK No_Telp
Kd_Cbg Almt_Cbg
Kd_Cbang No_Telp
Almt_Cbg Kd_Cbg
No_Telp Kd_Cbg NIK Nama, Alamat, Jabatan, Gaji, Kd_Cbg, Almt_Cbg, No_telp Kd_CbgAlmt_Cbg, No_Telp
Bentuk Tidak Normal Data dikumpulkan apa adanya sesuai dengan saat menginput
No.Cu Nam No_ Alamat_p Tgl_pi Tgl_se Biaya No_Pe Nam st a Prop roperty njam lesai milik a_pe erty milik
CR76 Badi PG4 Jl. Mawar 1-juli- 31- 350 CO40 Ewin / 07
93 Aug- Jakarta
95 PG1 1-Sep- 450 CO93 Durk 6 Jl. 95 1-Sep- i Hasan /
96
12 jakarta CR56 Danu PG4 Jl. Mawar 1- 10- 350 CO40 Ewin
/ 07 Sep_9 Jun_9 Jakarta
2
3 PG1 450 CO93 Durk
Tabel Pelanggan_Biaya
Tabel pelanggan_biaya memiliki multivalue
karena terdapat 2 nilai untuk No_property yaitu PG4 dan PG16 untuk nama Pelanggan (Badi)
Untuk memenuhi kriteria 1NF kita harus merubah seluruh atribut multivalue dengan menghilangkan repeating group, yaitu : No_Property, Alamat_property, Tgl_pinjam,
Tgl_selesai, Biaya, No_pemilik, Nama_pemilik Bentuk Normal Satu (INF)
Tahap penghilangan beberapa group elemen yang
berulang agar menjadi satu harga tunggal yang berinteraksi diantara setiap baris pada tabel. Syarat 1NF :
1. Setiap data dibentuk kedalam flat file, data
dibentuk satu record satu nilai
2. Tidak ada set atribut yang berulang atau bernilai
ganda3. Telah ditentukan primary key-nya
4. Tiap atribut hanya memiliki satu pengertian
Dari tabel Pelanggan_Biaya dapat diidentifikasi kan Primary key : No_Pelanggan, No_Property
No_Pe langg an Nam a No_Pr operty Alamat_pro perty
Tgl_pin
jam
Tgl_sele sai Biay a No_P emili kNama _pemi lik CR76 Badi PG4 Jl. Mawar /
07 Jakarta
1-juli-
93 31-Aug-95 350 CO40 Ewin CR76 Badi PG16 Jl. Hasan / 12 jakarta
1-Sep-
95 1-Sep- 96 450 CO93 Durki
CR56 Danu PG4 Jl. Mawar /
07 Jakarta
1-Sep-
92 10-Jun_93 350 CO40 Ewin CR56 Danu PG16 Jl. Hasan / 12 jakarta
10-Oct-
93 1-Dec- 94 450 CO93 Durki
Tabel Pelanggan_Biaya dalam bentuk Normal ke
Satu ( 1NF)Bentuk Normal kedua (2NF)
Jika A dan B adalah atribut dari suatu relasi, B dikatakan
sepenuhnya memiliki KF terhadap A. Contoh pada KF : NIK, Nama Kd_CabangMasing-masing nilai dari NIK, Nama berelasi dengan
Kd_Cabang. Relasi ini tidak memiliki KF sepenuhnya, karena Kd_Cabang masih memilik KF pada himpunan bagian (NIK, Nama).Kd_cabang adalah Full Functional dependency hanya pada NIKSyarat 2NF:
1. Bentuk data telah memenuhi kriteria bentuk normal
kesatu
2. Atribut bukan kunci(non-key) harus memiliki KF
sepenuhnya pada primary keyKF relasi Pelanggan_biaya : No_Pelanggan, No_Property Tgl_pinjam, Tgl_selesai No_Pelanggan Nama No_Property Alamat_property, Biaya, No_Pemilik, Nama_pemilik No_Pemilik Nama_pemilik
Relasi Pelanggan_Biaya belum memenuhi 2NF. Perlu dibuat relasi baru (3 tabel) yaitu
CR56 PG16
c) Relasi Property_Pemilik
b) Relasi Biaya
PG4 Jl. Mawar / 07 Jakarta 350 CO40 Ewin PG16 Jl. Hasan / 12 jakarta 450 CO93 Durki
No_Pemilik Nama_pemil ik
No_Proper ty Alamat_property Biay a
10-Oct-93 1-Dec-94
No_pelangg an Nama
CR76 Badi CR56 danu
CR56 PG4
95 CR76 PG16 1-Sep-95 1-Sep-96
1-juli-93 31-Aug-
Tgl_sele sai CR76 PG4
No_Propert y Tgl_pinja m
a) Relasi Pelanggan No_pelangg an
1-Sep-92 10-Jun_93
Bentuk Normal ketiga (3NF)
Suatu kondisi dimana A, B, C adalah atribut dari suatu
relasi sehingga A B dan BC, maka AC ( C memiliki KF terhadap A melalui B, dan harus dipastikan bahwa A tidak memiliki KF terhadap B atau C.
NIK Kd_Cabang dan Kd_Cabang Alamat_Cabang
NIK Alamat_Cabang
Syarat 3NF:1. Bentuk data telah memenuhi kriteria 2NF
2. Atribut Non-key harus tidak memiliki
ketergantungan transitif, tidak boleh memiliki KF
terhadap atribut non keyKF yang terjadi
- Tabel Pelanggan
No_Pelanggan Nama
- Tabel Biaya
No_Pelanggan, No_Property Tgl_Pinjam, Tgl_selesai
- Tabel property_pemilik
No_Property Alamat_property, Biaya, No_pemilik, Nama_pemilik No_pemilik Nama_pemilik
Pada Property _pemilik terdapat KF transitif yang perlu dihilangkan, maka harus dipecah menjadi Bila digambarkan ke dalam tabel menjadi
No_Proper Alamat_property Biaya No_pemilik ty
PG4 Jl. Mawar / 07 350 CO40 Jakarta PG16 Jl. Hasan / 12 450 CO93
(c-1) relasi property_untuk_pemilik
jakarta
No_pemilik Nama_pemilik
CO40 Ewin CO93 Durki
(c-2) relasi pemilik
Hasil akhir Normalisasi
CR56 PG16
(c-1) relasi property_untuk_pemilik (c-2) relasi pemilik
CO40 Ewin
No_pemili k Nama_pemi lik
PG4 Jl. Mawar / 07 Jakarta 350 CO40 PG16 Jl. Hasan / 12 jakarta 450 CO93
Alamat_property Biaya No_pemilik
b) Relasi Biaya No_Proper ty
10-Oct-93 1-Dec-94
No_pelangg an Nama
CR76 Badi CR56 danu
CR56 PG4
95 CR76 PG16 1-Sep-95 1-Sep-96
1-juli-93 31-Aug-
CR76 PG4
Tgl_pinja m Tgl_sele sai
No_pelangg an No_Proper ty
a) Relasi Pelanggan
1-Sep-92 10-Jun_93 Boyce Code Normal Form (BCNF)
Jika dan hanya jika setiap determinan adalah
Candidate key. Dari relasi Pelanggan, Biaya, property_untuk_pemilik dan Pemilik sudah memenuhi BCNF karena hanya memiliki satu determinan candidate key.Meski relasi memiliki 3 determinan yaitu: No_Pelanggan, No_Property Tgl_Pinjam, Tgl_selesai No_Pelanggan, Tgl_Pinjam No_Property, Tgl_selesai No_Property, Tgl_Pinjam No_Pelanggan, Tgl_selesai Tapi telah memenuhi BCNF jadi tidak perlu didekomposisi
Contoh Kasus Normalisasi
a. Tabel Mahasiswa uji normalisasi hingga 2NF
Nm_Mh NIM Kd_Makul s Nm_Mh NIM Kd_Mak s ul
Jones 6152 MAT231, ECO220,
1 HST221 Jones 6152 MAT231
1 Diana 6130 HST221 Jones 6152 ECO220
1 Tony 6142 ENG202, MAT231
Bentuk tidak normal
5 Jones 6152 HST221
1 Paula 6123 MAT231, ENG202
Tabel mahasiswa belum
Diana 6130 HST221
memenuhi 1NF karena masih memiliki multivalue atribut, maka
Tony 6142 ENG202
perlu dikonversikan hingga nilai B entuk 1NF
5
atribut bernilai tunggal, dengan
Nm_Mhs NIM Jones 61521 Jones 61521 Jones 61521 Diana 61300 Tony 61425 Tony 61425 Paula 61230 Paula 61230
NIM Kd_Makul 61521 MAT231 61521 ECO220 61521 HST221 61300 HST221 61425 ENG202 61425 MAT231 61230 ENG202 61230 MAT231
Karena atribut Nm_Mhs bergantung secara fungsional
pada NIM dan atribut Kd_Makul juga bergantung pada NIM
maka perlu dipecah menjaadi 2 tabel untuk memenuhi
2NF Tabel mahasiswa 1 Tabel mahasiswa 2
b. Tabel Mahasiswa-C uji normalisasi hingga 3NF
2 C
1. NIM Nm_Mhs, Tgl_lhr
Dari Tabel Mahasiswa-C didapat KF:
bernilai ganda
2 Sudah memenuhi bentuk 1NF karena tidak terdapat atribut yang
2 C
3 Paula 61230 06/14/87 MAT231 Kalkulus
3 B
3 Paula 61230 06/14/87 ENG202 Bhs. Inggris
3 B
2 Tony 61425 11/01/86 MAT231 Kalkulus
4 Tony 61425 11/01/86 ENG202 Bhs. Inggris
Nm_Mh s Nim Tgl_lhr Kd_Maku l
2 A
3 Diana 61300 14/28/88 HST221 History
2 B
4 Jones 61521 12/05/87 HST221 History
3 A
1
3 Jones 61521 12/05/87 ECO220 Ekonomi-
3 B
Jones 61521 12/05/87 MAT231 Kalkulus
Nila i Bobo t
Makul SK S
2. Kd_Makul Makul, SKS Belum memenuhi 2NF karena atribut tgl_lhr dan Makul tidak memiliki KF terhadap NIM dan Kd_Makul. Maka perlu dipecah menjadi 3 tabel, yaitu: Nm_Mh s Nim Tgl_lhr
Jones 61521 12/05/87 Diana 61300 14/28/88 Tony 61425 11/01/86 Paula 61230 06/14/87
Kd_Makul Makul SKS MAT231 Kalkulus
3 ECO220 Ekonomi-1 3 HST221 History
2 ENG202 Bhs. Inggris
3 Nim Kd_Makul Nilai Bobot 61521 MAT231 B 3 61521 ECO220 A 4 61521 HST221 B 3 61300 HST221 A 4 61425 ENG202 C 2 61425 MAT231 B 3 61230 ENG202 B 3 61230 MAT231 C
2 Tabel Mahasiswa-C1
Tabel Mahasiswa-C2 Tabel Mahasiswa-C3 Tabel Mahasiswa-C1 dan Tabel Mahasiswa-C2 telah memenuhi
3NF. Tabel Mahasiswa-C3 belum memenuhi kriteris 3NF karena atribut non-key (Nilai dan Bobot) masih memiliki KF. Maka perlu
Nim Kd_Makul Nilai 61521 MAT231 B 61521 ECO220 A 61521 HST221 B 61300 HST221 A 61425 ENG202 C 61425 MAT231 B 61230 ENG202 B 61230 MAT231 C
Nilai Bobo t A
4 B
3 C
2 D
1 E
Tabel Mahasiswa-C3A Tabel Mahasiswa-C3B
Telah memenuhi bentuk 3NF Transformasi data store DFD ke ERD. LRS dan Spesifikasi Basis Data
RANCANGAN SISFO PERSEDIAAN BARANG
TEKNISI
m
ra
g
ia
-D
R
E
S
R
L
e
k
D
R
E
i
as
m
or
sf
n
ra Transformasi LRS ke Tabel Tabel-1
No_Re Bagia Kode_Br Nama_B Jumla Unit
Permintaan
f n g rg h
Tabel-2 Persediaan
PK PK Kode_B Nama_Br Typ Mer Jumla Unit Statu No_ref Spare_pa rg g e k h s rt
PK PK PK
Tabel-3 Pengambilan
Spare_p Tgl Kode_Br Nama_B Jumla Lokas Nama No_Work_ord art g rg h i er PK PK
PK
Tabel-4 Work_Order
No_W Super Chief_E Work_ Pro Work_ Spar Work_ Work_ Work_ No_
ork_O visor_ ngineer Palce/ ble Descri e_par Comp Starte Checke AMM
rder Name _Name Floor m ption t leted d dPK PK
Tabel-5 AMM
Period No_AM Tgl_M Ke Lo Peralata Masalah Tindaka St e M si t k n n
Selesai
Referensi :
Al Bahra, “ Analisa dan Desain Sistem Informasi”,
Graha Ilmu, 2005