Entity Relationship Diagram
Teknik Disain Database Proses Hasil Menemukan dan merelasikan seluruh Entitas yang ada Entity Retaionship Diagram (ERD) Diagram hubungan (relationship) antar Entitas Mengurai atribut-atribut dalam sebuah form, dan mengelompokkannya menjadi relasi-relasi (beberapa table) Teknik Normalisasi Sekumpulan Relasi/Table
Entity Relationship Diagram Entity-Relationship (ER) merupakan model data konseptual yang menggambarkan hubungan antar Entitas dalam lingkup domain tertentu yang dibangun berdasarkan persepsi dari dunia nyata. Model ER terdiri dari Entitas, Attribut dan Relasi/Relationship (hubungan) Entitas merupakan suatu objek nyata (fisik) maupun abstrak (konsep) yang memiliki nilai dalam sejumlah attribut tertentu, sehingga dapat dibedakan objek yang satu dengan lainnya Attribut merupakan kelengkapan (properti) dari sebuah Entitas. Setiap attribut berisikan suatu nilai (data) yang mungkin, sesuai dengan fakta dan karakteristiknya Relasi/Relationship merupakan hubungan yang terjadi antar Entitas. Relasi dinotasikan dengan diamond dan dituliskan dengan kata kerja
Entity Relationship Diagram Mobil Kata benda abstrak ataupun riil Pangkat Entitas Pegawai Komponen ERD Gaji Atribut Element Data Kardinalitas Batasan ralationship yang menyatakan “berapa banyak” suatu Entitas ataupun Attribut mempunyai relasi dengan lainnya Relationship Hubungan antar Entitas menurut rule bussines yang disepakati 0 – Tidak ada 1 – Satu N - Banyak
Entity Relationship Diagram Sifat Entitas: Signifikan memang perlu disimpan di database Umum tidak menunjuk pada sesuatu yang khusus Fundamental dapat berdiri sendiri sebagai entity yang dasar dan independent Unitary merupakan satu kesatuan yang tidak dapat dipecah lagi
Entity Relationship Diagram Sifat Attribut : Signifikan memang penting dan perlu dicatat sebagai kelengkapan sebuah Entitas Bersifat langsung (direct) dan bukan derived. Direct Tanggal_Lahir Derived Umur/Usia
Entity Relationship Diagram Range Jangkauan antara nilai awal dan nilai akhir Unit Ukuran Domain Atribut inchi, cm, kg, km, m3 Batasan atau validasi terhadap nilai yang diberikan Berapa digit pembulatan untuk nilai pecahan atau lainnya Presisi Seleksi Nilai yang hanya dapat dipilih dari sebuah daftar yang valid (jenis kelamin, propinsi, kota di Jawa Timur, dll.)
Entity Relationship Diagram Atribut merupakan representasi elemen data dari sebuah Entitas. Arti Kardinalitas Pada Atribut Kardinalitas atribut mempunyai nilai Minimum & Maksimum Minimum Kardinalitas Attribut mempunyai nilai : 0 Atribut optional 1 Atribut Not Null
Entity Relationship Diagram Mobil PEMILIK 1:1 NOPOL TAHUN WARNA JENIS TGLSERVIS 0:N BIAYASERVIS Aturan ERD Pertama Bila ada relasi attribut banyak (0:N), maka buatlah entitas child Mobil PEMILIK 1:1 NOPOL TAHUN WARNA JENIS Servis BIAYASERVIS TGLSERVIS Parent Child
Entity Relationship Diagram Bila ada relasi antar entiti dengan derajat banyak ke banyak (N:M), maka buatlah entitas asosiatif, hingga derajad hubungannya satu ke banyak (1:N) dan banyak ke satu (N:1) dan seterusnya. Aturan ERD Kedua Peserta Kursus Peserta Kelas Kursus
Entity Relationship Diagram Urailah kasus-kasus relasi antar entitas berikut menurut aturan ERD yang berlaku Dosen Matakuliah Bussines Rule 1. Seorang Dosen bisa mengajar beberapa Matakuliah, bisa juga Cuma mengajar 1 Matakuliah, begitu juga sebaliknya. 2. Untuk dapat mengajar 1 Matakuliah, Dosen harus memiliki Kelas dengan beberapa Mahasiswa yang mengambil Matakuliah tersebut Studi Kasus Customer Product Bussines Rule 1. Untuk menjadi seorang Customer, dia harus pernah melakukan satu atau beberapa kali Order, untuk satu atau beberapa Product sekaligus 2. Product tetap ditawarkan walaupun tidak pernah diorder oleh Customer. 3. Setiap Order dari Customer, dibuatkan daftar untuk 1 atau lebih Product yang diorder, sebagai bukti Order.
Normalisasi Teknik Normalisasi merupakan teknik pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entiti dan relasinya. Definisi Syarat Normalisasi yang Optimal adalah telah teruji dalam beberapa kondisi, apakah masih ada kesulitan pada saat menambah, menghapus, membaca dan mengubah isi database dengan beberapa relasi antar tabel yang ada.
Normalisasi Tujuan 1. Identifikasi hubungan antar Atribut/Field 2. Mengkombinasikan Atribut untuk membentuk Relasi/Tabel 3. Mengkombinasikan Relasi/Tabel untuk membentuk Database 4. Menghindari terjadiya anomali (kejadian menyimpang) dan inkonsistensi data karena terjadinya: * Penambahan Record * Modifikasi isi Atribut/Field * Pengahupusan Record Tujuan
Struktur Relasi (Tabel) Normalisasi Kolom / Atribut / Field Baris / Record adalah kumpulan atribut-atribut yang berelasi secara logika Candidate Key merupakan atribut-atribut dalam suatu table yang mungkin dapat mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Jika satu kunci kandidat berisi lebih dari satu atribut, maka kunci tersebut disebut Composite Key. Struktur Relasi (Tabel) Primary Key merupakan suatu atribut yang tidak hanya mengidentifikasikan secara unik kejadian spesifik, namun juga dapat mewakili setiap kejadian dari suatu entity Foreign Key merupakan atribut atau satu set atribut yang digunakan untuk melengkapi suatu relationship (hubungan antar table) yang menunjuk ke table induknya. Foreign Key berada pada entity (table) anak, yang sama dengan Primary Key entity (table) induk relasinya
Functional Dependency Normalisasi Functional Dependency Jika terdapat sebuah relasi R(A, B), dimana atribut B adalah bergantung fungsi pada atribut A, jika dan hanya jika setiap nilai A mempunyai hubungan dengan tepat satu nilai B dalam setiap satu waktu (bila setiap nilai yang berlaku pada B dapat ditentukan oleh A). Dimana dalam notasi ditulis sebagai berikut: A B atau B = f(A). Contoh: Nama Pegawai bergantung secara fungsi pada NIP, dan NIP dapat menunjukkan secara fungsi dari sebuah Nama Pegawai dalam keseluruhan isi tabel Pegawai, maka dalam notasinya dapat ditulis sebagai berikut: NIP Nama Pegawai atau Nama Pegawai = f(NIP).
Fully Functional Dependency Normalisasi Fully Functional Dependency Sebuah Relasi R( A, B, X ), dimana X tergantung fungsional pada AB. X dinyatakan tergantung fungsional penuh (fully functional dependent) bila tidak terjadi: A X atau B X, melainkan hanya AB X.
Bentuk-Bentuk Normalisasi Unnormalized Form Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu (format bebas), bisa saja tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. 1st Normal Form/1NF Sebuah relasi berada dalam 1NF, jika relasi tersebut tidak berisi atribut yang berulang-ulang (repeating groups). Bentuk-Bentuk Normalisasi 2nd Normal Form/2NF Sebuah Relasi adalah dalam 2NF, jika Relasi tersebut dalam 1NF dan untuk setiap atribut bukan kunci (non-key) adalah tergantung fungsional penuh kepada Primary Key (PK). 3rd Normal Form/3NF Sebuah Relasi adalah dalam 3NF, jika Relasi tersebut dalam 1NF dan 2NF dan untuk setiap atribut NK (non-key) tidak punya hubungan yang transitif, atau setiap atribut NK haruslah hanya bergantung pada PK, atau tidak bergantung fungsional kepada NK attribute yang lainnya.
Petunjuk pengembangan Relasi hingga 3NF: Normalisasi Petunjuk pengembangan Relasi hingga 3NF: Tentukan atribut-atribut dalam relasi Kelompokkan atribut yang secara logis mempunyai hubungan dalam relasi Pilih CK (Candidate Key) Bila ada RG (Rrepeating Group), normalisasikan terlebih dahulu Pilih PK Identifikasikan ketergantungan fungsional Dekomposisi relasi selagi ada atribut NK yang belum tergantung sepenuhnya terhadap PK Kombinasikan relasi dengan PK yang identik Temukan ketergantungan transitif (atribut yang tergantung pada lebih dari 1 kunci) Dekomposisi relasi sampai tidak ada ketergantungan transitif
Riwayat Pendidikan Formal Pegawai Normalisasi Kasus 1: Riwayat Pendidikan Formal Pegawai NIP : ……………………………… Nama : ……………………………… Alamat : ……………………………… ………..……………………. Telp. : …………….……… S3 . SMP SD Nilai Rata-Rata Tahun Nama Sekolah Level
Order Barang ke Vendor dari Banyak Departemen Normalisasi Kasus 2: Order Barang ke Vendor dari Banyak Departemen No. Order : ………… Tanggal : ………………. Kd. Vendor : ………… Nama : …………………………………..…………………… Alamat : ………………………………….… ………………………………….… Telp. : ………………. Nama Deprtement Dept. Qty Deskripsi Kode
Penjualan Barang Tiap Sales Ke Banyak Pelanggan Normalisasi Kasus 3: Penjualan Barang Tiap Sales Ke Banyak Pelanggan No. Jual : ………… Tanggal : ………..………. Kd. Pelanggan : ………… Nama : …………………………………..……………….… Alamat : ………………………………….………………..… Telp. : ……..…………. Kd. Sales : ………… Nama Sales : …………………………………….………………. Total Bersih Discount Total Kotor Total Harga Qty Deskripsi Kode
TERIMA KASIH