Merupakan obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique). Memiliki atribut yang mendeskripsikan karakteristik dari objek tersebut. Dapat berupa: Fisik (mobil, rumah, manusia, pegawai dsb) Abstrak/konsep (department, pekerjaan, mata kuliah dsb)
Lambang entitas
Nama_entitas
Atribut
Merupakan karakteristik dari sebuah entitas Berfungsi untuk mendeskripsikan karakter entity atau relationship. Misal entity pegawai memiliki atribut nik, nama, alamat, nohp,dll
Entity
Contoh lain
Atribut *nomesin noplat model merk harga warna thn_pembuatan
Varian Entitas :
Strong Entity (entitas kuat) Entitas yg tidak memiliki ketergantungan dg entitas yang lain. Lambang :
Nama_entitas
Varian Entitas :
Weak Entity (entitas Lemah) Entitas yg keberadaannya ketergantungan pada entitas yang lain. Lambang :
tanggungan Entitas tanggungan disebut sebagai entitas lemah karena jika data seorang pegawai dihapus maka data tanggungannya juga akan terhapus. Keberadaan data tanggungan tergantung pada data di pegawai
NIP
Nama
nama
status
Tanggungan
Pegawai
miliki
Jenis Atribut
Simple Attribute dan Composite Attribute Multi Valued Attribute Derived Attribute (Attribut Turunan) Key Attribute (Atribut Kunci)
Atribut Simple
idbarang Nama
BARANG
Kualitas
Harga
Atribut Composite
Tgl_lhr
PEGAWAI
Atribut Derivatif
PEGAWAI
Atribut Key
nama alamatlengkap Id_pegawai
Tgl_lhr
PEGAWAI
idruang
RUANG
kapasitas
foto
Namaruang
lokasi
Atribut Multivalue
agama Gelar
Tgl_lhr
PEGAWAI
Atribut Multivalue
Hubungan kuat
Atribut
Atribut Composite
Weak Entity
Hubungan lemah
Atribut Derivatif
Atribut key
Cardinality ( Kardinalitas )
Kardinalitas adalah hubungan diantara dua entitas Ada 4 bentuk kardinalitas : 1. Satu ke 1 ( 1 : 1 ) 2. Satu ke banyak (1 : M ) atau banyak ke satu (M: 1 ) 3. Banyak ke banyak ( M : N )
One to One
Hubungan satu ke satu. Contoh seorang Dosen memimpin satu jurusan.
NIP
Nama
1 1
Dosen
memimpin
Jurusan
Kode dos
Nama_dos
Tabel Dosen
Kode_dos Nama_dos Alamat_dos
Dosen
One to Many
Hubungan satu ke banyak. Contoh seorang dosen mengajar beberapa mata kuliah
NIP
Nama
1 Dosen
Kd_MK M
namaMK
ajar
Matakuliah
Many to Many
Hubungan banyak ke banyak. Contoh mahasiswa mengambil matakuliah.
Nim
Nama
M
Kd_mk N
Nm_mk
mahasiswa
ambil
Matakuliah
Tabel SISWA
Tabel MK
Contoh Diagram ER
1 n Daftar Mahasiswa n ambil
Fakultas
1 miliki
n Dosen
1
Key
Key : Elemen Record yang dipakai untuk menemukan Record tersebut pada waktu akses Primary key Field yang mengidentifikasikan sebuah record dalam file Bersifat unik Primari Key
NIM 0222500250 0222300023 0144500024 NAMA TUTI WATI ALE UMUR 21 20 24
Primary key
Foreign key
SKS 2 4 2
Normalisasi
Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Tujuan : Minimalisasi redundansi (pengulangan data) Memudahkan identifikasi entitas Mencegah terjadinya anomali
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.
non-atomic
Unnormalized Not 1NF
NamaSales Yeni, SE Yeni, SE Memey Memey Tina Ir. Yanto Ir. Yanto Made Telepon 3517261 3520165 4744621 08122861427 08566241521 7265122 7123910 6723192
1NF
ISBN Thn_Terbit ID_Pengarang 12-1202-19222 1992 K0121 12-1202-19222 1992 K1021 11-1090-29101 2001 K1021 11-1090-29102 2001 K2091 11-1090-29102 2001 K0121 12-1201-90871 2002 K2092 12-1201-90871 2002 K2091 13-2089-12910 2001 K2019
1NF
Suatu tabel memenuhi bentuk normal 2 ( 2 NF ) Jika : 1. jika tabel berada dalam bentuk Normal Pertama (1NF) 2. setiap atribut bukan kunci bergantung penuh pada kunci primer.
Peserta Workshop
NIM Modul Biaya Key : NIM+Modul Grade FD : Modul Biaya (Biaya ditentukan oleh Modul yang diambil mahasiswa)
Grade A A B A B 1NF
Not 2NF Sebab dalam tabel ini, Biaya tidak bergantung penuh pada atribut kunci (NIM,Modul)
Delphi 6 150000
Workshop
NIM P11.2004.0129 P11.2004.0130 P11.2004.0129 P11.2004.0201 P11.2004.0250
Works1
Works2 35
Suatu tabel memenuhi bentuk normal 3 (3 NF) jika berada dalam bentuk normal II (2NF) dan tidak dijumpai adanya ketergantungan transitif (Transitive Dependency). Kebergantungan Transitif (Transitive Dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci).
S2 S3 S4
Akan dibentuk suatu tabel dengan skema TPS=(S,Status,City,P,Qty) dengan (S,P) = primary key dan berlaku FD : SStatus SCity CityStatus Lakukan normalisasi dari 1NF hingga 3NF.
37
38
TPS2
S S1 S1 S1 S1 S1 S1 S2 S2 S3 S4 S4 S4 P P1 P2 P3 P4 P5 P6 P1 P2 P2 P2 P4 P5 Qty 300 200 400 200 100 100 300 400 200 200 399 400
Sekarang kita dapat menambah data (S5,30,JAKARTA) dgn aman Tapi masih ada anomaly : Karena CityStatus maka kita tidak bisa entry data City baru sebelum Status punya nilai. Penghapusan 1 baris sebagian data City juga bisa merusak keutuhan informasi S. Selain itu, masih ada redundansi pada Status dan City
1NF 2NF 3NF redundansi partial not potensial better then previous redundant We may not eliminate all redundant but we make its minimize
39
S S1 S2 S3 S4
S S1 S1 S1 S1 S1 S1 S2 S2 S3 S4 S4 S4
ANOMALI
Kamus besar bahasa indonesia : Anomali berarti ketidak normalan, penyimpangan dari normal, Anomali dalam database merupakan efek samping yang tidak diharapkan yang ditimbulkan dari proses pada database Untuk dinormalkan harus dilakukan normalisasi data Contoh efek samping adalah sebagai berikut : 1. Ketidak-konsistenan data. 2. Adanya kehilangan data akibat dari penghapusan data lain. Anomali basis data terdiri dari 3 komponen : 1. Anomali peremajaan (Update). 2. Anomali Penghapusan (Delete). 3. Anomali penyisipan (Insert).
4 4 4 4 4 4 4 4
a.
GASAL 2007/2008
GASAL 2007/2008
Contoh :
Pada relasi KRS itu terjadi anomali penyisipan, apabila seorang Mahasiswa mengambil beberapa mata kuliah untuk satu semester dan tahun akademik tertentu. Masalahnya bagaimana menyimpan fakta bahwa ada satu mata kuliah baru yang tidak diambil oleh mahasiswa ? Penyisipan tidak bisa dilakukan karena tidak ada informasi mahasiswa yang mengambil mata kuliah tersebut.
C.
GASAL 2007/2008
GASAL 2007/2008