Basis Data ASSALAMU ALAIKUM WR.WB Basis data MIF W4-09 1
Basis Data Hubungan ERD dengan Normalisasi & Denormalisasi KELOMPOK VI MIF W4 09 Basis data MIF W4-09 2
Apa itu ERD.?? Diagram E-R berupa model datakonseptual, yang merepresentasikan data dalam suatu organisasi. Merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity). ERD menekankan pada struktur dan relationship data. Basis data MIF W4-09 3
Komponen ERD. Tiga notasi dasar yang bekerja pada model E-R yaitu : Entitas Relasi Atribut Basis data MIF W4-09 4
Entitas 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: Notasi : Fisik (mobil, rumah, manusia, pegawai dsb) Abstrak/konsep (department, pekerjaan, mata kuliah dsb) Kejadian (pembelian, penjualan, peminjaman, dll) nama_entity Basis data MIF W4-09 5
Varian Entitas : Strong Entity (entitas kuat) Himpunan entitas yg tidak memiliki ketergantungan dg entitas yang lain. Notasi : Nama_entitas Basis data MIF W4-09 6
Varian Entitas : Weak Entity (entitas Lemah) Himpunan entitas yg keberadaannya ketergantungan dengan entitas yang lain. Himpunan entitas yg demikian tidak memp. atribut yg berfungsi sebagai key yg benar-benar menjamin keunikan entitas. Notasi dan contoh : 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 Basis data MIF W4-09 7
ATRIBUTE karakteristik dari entity atau relationship yang menyediakan detail tentang entity atau relationship tersebut sehingga dapat dibedakan. Nilainya jarang berubah. Merupakan karakteristik dari sebuah entitas (biasanya berhubungan dengan field dalam sebuah tabel). Penentuan atribut bagi suatu entitas didasarkan pada relevansinya terhadap entitas tersebut. Basis data MIF W4-09 8
Attribut Atribut dalam ERD dilambangkan dengan bentuk elips Pegawai Entitas Departemen Atribut NIP, Nama, Alamat, Agama, jenis kelamin No, Nama, lokasi Basis data MIF W4-09 9
Macam-macam Atribut Simple Attribute dan Composite Attribute Single Valued Attribute dan Multi Valued Attribute Mandatory Attribute Derived Attribute (Attribut Turunan) Key Attribute (Atribut Kunci) Basis data MIF W4-09 10
Simple Attribute dan Composite Attribute Atribut sederhana/ Simple Attribute : atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih mendasar. Contoh : atribut harga dari entity barang. Atribut komposit/ Composite Attribute : atribut yang terdiri dari beberapa atribut yang lebih mendasar. Contoh : Entity mahasiswa memiliki atribut nama yang terdiri dari nama depan (first name), nama tengah (middle name) dan nama belakang (last name). Basis data MIF W4-09 11
Single Valued Attribute dan Multi Valued Attribute Atribut Berharga Tunggal (Single-valued Attribute) : atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu. Contoh : atribut umur. Atribut Berharga Banyak (Multi-valued Attribute) : atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentu. Contoh : atribut hobi. Basis data MIF W4-09 12
Derived Attribute (Attribut Turunan) Atribut Derivatif : suatu atribut yang dihasilkan dari atribut lain. Contoh : atribut umur yang dapat dihasilkan dari atribut tgl_lahir. Basis data MIF W4-09 13
Key Attribute (Atribut Kunci) Satu atau beberapa atribut yang mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris lain pada suatu entitas Macam key attribute: Superkey Candidat Key Primary key Basis data MIF W4-09 14
Superkey: satu atau gabungan beberapa atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik Contoh Superkey untuk entitas pegawai: NoKTP, Nama, Alamat, JenisKel, Gaji NoKTP, Nama, Alamat, JenisKel NoKTP, Nama, Alamat NoKTP, Nama Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain) NoKTP Candidat Key: superkey yang jumlah atributnya paling sedikit Contoh candidat key untuk entitas pegawai Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain) NoKTP Primary key: suatu candidat key yang dipilih menjadi kunci utama karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris Contoh : NoKTP antara satu pegawai dengan pegawai lain pasti berbeda, dalam hal ini noktp dapat digunakan sebagai suatu key Notasi : Basis data MIF W4-09 15
Simbol-Simbol Atribut (oval) nama_atribut nama_atribut nama_atribut nama_atribut_kunci nama_atribut_komposit nama_atribut nama_atribut bernilai ganda nama_atribut_derivatif nama_entity Basis data MIF W4-09 16
Relasi Hubungan antara beberapa entitas Notasi : Relasi kuat: Relasi lemah: Basis data MIF W4-09 17
Macam Relasi Unary : relasi dengan 1 entitas Binary: relasi antara 2 entitas One-to-one (1:1) One-to-many (1:N) atau many-to-one (N:1) Many-to-many (M:N) Ternary: relasi antara 3 entitas atau lebih Basis data MIF W4-09 18
employee supervisor supervise employee work_on company supervison title level employee_id employee_name job brunch_name Brunch_city employee work_on brunch Basis data MIF W4-09 19
Cardinality Ratio Menjelaskan jumlah keterhubungan satu entity dengan entity yang lainnya. (1 : 1) : satu entitas pada tipe entitas A berhubungan dengan paling banyak satu entitas pada tipe entitas B dan juga sebaliknya. Contoh : seorang manager hanya memimpin satu departemen dan begitu sebaliknya. manager manages departement M1 M2 M3 R1 R2 R3 D1 D2 D3 manager 1 1 manages departement Basis data MIF W4-09 20
Cardinality Ratio (lanj) (1 : N / N : 1) : suatu entitas di A dihubungkan dengan sejumlah entitas di B. Contoh : banyak karyawan berkerja untuk satu depertement atau satu departement memiliki banyak karyawan yang bekerja untuknya. employee E1 E2 E3 E4 E5 E6 works_for R1 R2 R3 R4 R5 R6 departement D1 D2 D3 employee N 1 works_for departement Basis data MIF W4-09 21
Cardinality Ratio (lanj) (M : N) : setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya setiap entitas B juga dapat berhubungan dengan banyak entitas A. Contoh : satu proyek mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek. employee works_on project E1 E2 E3 E4 R1 R2 R3 R4 R5 R6 P1 P2 P3 employee M works_on N project Basis data MIF W4-09 22
Symbol E-R Diagram Symbol Keterangan Symbol Keterangan = Entity = Atribut Komposit = Weak Entity = Relationship = Atribut Derivatif = Identifying Relationship E1 R E2 = Total Participation Of E2 In R = Atribut E1 1 R N E2 = Cardinality Ratio 1:N For E1:E2 In R = Atribut Kunci = Atribut Multivalue Basis data MIF W4-09 23
Contoh ERD : Basis data MIF W4-09 24
Normalisasi Basis data MIF W4-09 25
Normalisasi Sebuah upaya untuk memperoleh sebuah basis data dengan struktur yang baik (ruang penyimpanan yang efisien) dengan cara menerapkan sejumlah aturan (bentuk normal) pada setiap tabel yang menjadi anggota basis data tersebut. Basis data MIF W4-09 26
Tujuan Normalisasi Agar data yang ada tidak redundan dan memiliki data integrity yang kuat sehingga ketika kita melakukan relasi antara tabel akan dengan mudah kita menjaga data integrity dan mendapatkan datanya. Basis data MIF W4-09 27
Permasalahan dalam Normalisasi Redundansi data (ruang penyimpanan) Anomalies (penyimpangan dalam proses modifikasi data) o Insert Anomalies o Update Anomalies o Delete Anomalies Basis data MIF W4-09 28
Redundansi Data normalisasi redundan Basis data MIF W4-09 29
Redundansi Data Basis data MIF W4-09 30
Insert Anomalies Bagaimana jika kategori diisi minuman ringan sedangkan rak diisi A.1? data tidak konsisten! Basis data MIF W4-09 31
Update Anomalies Bagaimana jika kategori mie instan ingin diganti dengan makanan ringan? tentu harus mengubah semua data! Basis data MIF W4-09 32
Delete Anomalies Bagaimana jika barang fanta dihapus? semua data yang termasuk dalam kategori minuman ringan akan ikut terhapus! Basis data MIF W4-09 33
Normalisasi Pada sejumlah kasus, penerapan normalisasi secara ketat (strict) dapat mengakibatkan menurunnya performansi pemanfaatan basis data. Normalisasi digunakan saat melakukan perancangan basis data, dengan pertimbangan tertentu normalisasi ini dapat 'dilanggar. Basis data MIF W4-09 34
Denormalisasi Basis data MIF W4-09 35
Denormalisasi Pelanggaran Normalisasi basis data disebut dengan Denormalisasi. Satu-satunya alasan mengapa kita boleh melakukan denormalisasi adalah pertimbangan performansi. Jika performansi yang kita peroleh bisa menjadi jauh lebih baik, maka normalisasi yang telah dilakukan cukup beralasan untuk dilanggar. Basis data MIF W4-09 36
Normalisasi Normalisasi akan meningkatkan data integrity tetapi juga akan meningkatkan query complexity. Denormalisasi akan mengurangi data integrity dan juga akan mengurangi query complexity Basis data MIF W4-09 37
Normalisasi vs. Denormalisasi Pada basis data relational, redundansi tidak bisa dihilangkan sama sekali khususnya redundansi pada atribut-atribut yang berfungsi sebagai key primer. Karena dengan inilah keterhubungan antara tabel satu dengan yang lain dapat terakomodasi Basis data MIF W4-09 38
Normalisasi vs. Denormalisasi Relasi antar tabel tidak akan ada jika redundansi dihilangkan sama sekali. Basis data MIF W4-09 39
Normalisasi vs. Denormalisasi Akan tetapi redundansi juga harus diminimalisir karena berpotensi mengganggu integritas basis data. Khususnya pada saat terjadi operasi perubahan data yang tidak dijalarkan ke tabel-tabel lain yang berhubungan Basis data MIF W4-09 40
Normalisasi vs. Denormalisasi Performansi dapat ditingkatkan dengan mengendalikan redundansi untuk mengurangi perhitungan, kompleksitas perintah dan jumlah tabel yang harus dilibatkan (join). Untuk itu digunakan Denormalisasi basis data. Basis data MIF W4-09 41
Any Question? Basis data MIF W4-09 42
Bentuk-bentuk Denormalisasi Atribut yang terderivasi (atribut turunan) Atribut yang berlebihan Tabel rekapitulasi (summary table) Basis data MIF W4-09 43
Atribut turunan Atribut yang nilainya bisa diperoleh dari nilainilai yang sudah ada pada atribut lain Basis data MIF W4-09 44
Atribut turunan Tampilkan berapa banyak matakuliah yang sudah diambil oleh mahasiswa tertentu! select count(*) from mengambil where NIM= 04523356 ; Basis data MIF W4-09 45
Atribut turunan Dari contoh sebelumnya, bagaimana jika data mahasiswa sangat banyak sedangkan proses untuk menampilkan jumlah matakuliah, jumlah sks ataupun IPK sering dilakukan? membutuhkan waktu yang lama! Basis data MIF W4-09 46
Atribut turunan Untuk itu perlu ditambahkan atribut baru pada tabel mahasiswa (total_sks, total_matkul,ipk) Basis data MIF W4-09 47
Atribut yang berlebihan Atribut terkodekan (encoded attribute) Atribut gabungan (concatenated attribute) Atribut tumpang-tindih (overlapping attribute) Atribut bermakna ganda (alternate attribute) Basis data MIF W4-09 48
Atribut berlebihan : atribut terkodekan Atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya Contoh : id_mk di tabel kuliah yang didalamnya sudah terkandung data program studi. Data program studi ini sebenarnya tidak diperlukan lagi karena sudah ada atribut prog_studi di tabel kuliah Kode kuliah simbada : 52304424 Basis data MIF W4-09 49
Atribut berlebihan : atribut terkodekan Basis data MIF W4-09 50
Atribut berlebihan : atribut terkodekan Tapi akan menjadi aneh jika kode matakuliah tidak mengikuti format aturan penulisan yang ada. Untuk itu kita bisa lakukan denormalisasi dengan tetap menuliskan kode matakuliah seperti di atas. Basis data MIF W4-09 51
Atribut berlebihan : atribut gabungan Atribut dalam domain komposit Contoh : atribut nim di tabel mahasiswa merupakan gabungan dari tahun masuk/angkatan dengan program studi dan no urut mahasiswa. Dengan demikian atribut ini sebenarnya tidak atomik karena masih bisa dibagi lagi NIM : 04523500 angkatan no urut Basis data MIF W4-09 52
Atribut berlebihan : atribut gabungan Sama hal nya dengan atribut terkodekan, akan menjadi aneh jika nomor mahasiswa tersebut hanyalah nomor urut. Tentu hal ini akan membutuhkan informasi lebih tentang angkatan dan terdaftar di jurusan mana mahasiswa tersebut. Basis data MIF W4-09 53
Atribut berlebihan (atribut tumpang-tindih) Atribut dengan nilai yang tidak sepenuhnya ekslusif Contoh : atribut semester di tabel kuliah berisikan : 1 matakuliah ganjil 2 matakuliah genap 3 matakuliah ganjil & genap nilai 3 mencakup semester genap dan ganjil sekaligus (jadi tidak ekslusif). Basis data MIF W4-09 54
Atribut berlebihan : atribut tumpang-tindih Basis data MIF W4-09 55
Atribut berlebihan : atribut tumpang-tindih Jadi sebaiknya matakuliah dimasukkan dua kali, jika itu dilaksanakan di semester ganjil dan genap. Tentu saja hal ini melanggar aturan normalisasi (redundansi), tapi untuk performansi hal ini dapat dilanggar Basis data MIF W4-09 56
Atribut berlebihan : atribut bermakna ganda Atribut yang memiliki arti berbeda tergantung kelompok entitasnya Contoh : Di tabel dosen terdapat atribut gaji. Bagi dosen tetap atribut ini berisi gaji tetap perbulan, sedangkan bagi dosen tidak tetap gaji ini berisi insentif mengajar tiap sks. Basis data MIF W4-09 57
Atribut berlebihan : atribut bermakna ganda Basis data MIF W4-09 58
Atribut berlebihan : atribut bermakna ganda Jika gaji dosen harus dibedakan, maka harus disediakan 2 buah atribut yakni gaji_tetap dan gaji_tidak_tetap. Walaupun sama-sama berisi tentang jumlah gaji yang diterima dosen, hal ini tentu saja melanggar aturan normalisasi karena ada blok data yang kosong. Tetapi sekali lagi, denormalisasi dalam hal ini boleh dilakukan. Basis data MIF W4-09 59
Wasalamualaikum wr.wb Semoga bermanfaat dan memenuhi standart penilaian baik dari bapak dosen BASIS DATA yaitu : Bapak HENDRA DJATNIKA. Basis data MIF W4-09 60
Team Penyusun Kelompok VI : R.Dadan Achmad Hamdan NPM : 09402240 Yudhi Supriatna NPM : 09402483 Ujang Wandi NPM : 09402255 Salman Hafidz NPM : Ihsanudin NPM : 09402444 Basis data MIF W4-09 61