Basis Data Terapan Review Basis Data Pendahuluan • Pada model entity relationship , semesta data yang ada di dunia nyata diterjemahkan / ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data yang biasa disebut dengan Entity Relationship Diagram (ERD) • ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpanan data. Komponen utama pembentuk ERD adalah - Entity (entitas) - Relationship (relasi) Kedua komponen ini dideskripsikan lebih jauh melalui sejumlah atribut/properti Entity • suatu objek yang dapat diidentifikasi dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. • sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity set) • Suatu entitas dapat berada dalam himpunan entitas yang berbeda Contoh : seorang pasien akan dikelompokkan ke Himpunan Entitas Pasien sedangkan seorang dokter akan dikelompokkan dalam Himpunan Entitas Dokter • Untuk selanjutnya penggunaan istilah entity set akan diwakili dengan sebutan entity (entitas) saja • Contoh entitas : pelanggan, mahasiswa, mobil, universitas, perpustakaan, rumah, dan lain sebagainya Relationship (Relasi) • Menunjukkan hubungan yang terjadi diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda • Kumpulan semua relasi diantara entitasentitas yang terdapat pada himpunanhimpunan entitas membentuk Himpunan Relasi (Relationship Set) Contoh : Entitas mahasiswa mempunyai relasi dengan entitas mata kuliah Relasi yang terjadi dapat mengandung arti bahwa mahasiswa tersebut mengambil mata kuliah tersebut Untuk selanjutnya penggunaan istilah relationship set akan diwakili dengan sebutan relationship (relasi) saja Untuk menjelaskan hubungan yang terjadi diantara kedua himpunan entitas dapat diberi nama pada himpunan relasi yang ada Misal : himpunan relasi “mempelajari” Attributes (atribut) - Atribut mendekripsikan karakteristik (properti) dari suatu entitas - Untuk setiap entitas pasti memiliki atribut Misal : entitas mahasiswa memiliki atribut npm, nama Cardinality (Kardinalitas/Derajat Relasi) • Kardinalitas atau derajat relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain • Kardinalitas yang terjadi dapat berupa : - one to one (satu ke satu) - one to many (satu ke banyak) atau Satu ke satu Banyak ke satu Satu ke Banyak Banyak ke Banyak Derajat Relasi Minimum • Menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar himpunan entitas Tahap Pembuatan Diagram ER • Mengidentifikasi dan menetapkan entitas-entitas apa saja yang akan terlibat • Mengidentifikasi dan menetapkan relasi yang terjadi diantara entitas-entitas yang ada • Menentukan derajat / kardinalitas untuk tiap relasi • Menentukan atribut kunci dari masing-masing entitas • Melengkapi dengan atribut yang lain yang bukan kunci Diagram ER dalam Notasi Lain Notasi Derajat Relasi Min-Max (0,N) (1,M) (0,1) (1,1) Pengelompokan Atribut • Atribut key dan atribut deskriptif. • Atribut sederhana dan atribut komposit • Atribut bernilai tunggal dan atribut bernilai banyak • Atribut harus bernilai dan nilai null • Atribut turunan Key dan Atribut Deskriptif • Key Pada dasarnya key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Artinya jika suatu atribut dijadikan sebagai key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk suatu atribut yang dijadikan key tersebut • Atribut Deskriptif adalah atribut – atribut yang tidak menjadi kunci primer Atribut Sederhana dan Atribut Komposit • Atribut Sederhana (Simple Attribute) atribut atomik yang tidak dapat dipilah lagi • Atribut Komposit (Composite Attribute) atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna Atribut Bernilai Tunggal dan Atribut Bernilai Banyak • Atribut Bernilai Tunggal (Single Valued Attribute) Atribut yang memiliki paling banyak satu nilai untuk setiap baris • Atribut Bernilai Banyak (Multivalued Attribute) Atribut yang dapat diisi dengan lebih dari satu nilai tetapi jenisnya sama Atribut Harus Bernilai dan Nilai Null • Atribut harus bernilai (Mandatory Attribute) Atribut pada suatu tabel yang harus berisi data • Non Mandatory Attribute Atribut pada suatu tabel yang nilainya boleh dikosongkan Atribut Turunan ( Derived Attribute) • Atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut lain yang berhubungan 1 A 1 B X X Y F1: A F 2: B + C F1: A X ... C Y F1: A + B F 2: C F 2: B + C ... ... Y ... ... F1: A + B X ... X F 2: C ... Y Y ... ... ... 1 A N B X X C Y Y F1: A F 2: B + C F1: A X ... F 2: B + C ... ... Y ... ... X M A N B X X C Y Y F1: A , F2: B , F3:C F1: A X ... F 2: C ... Y ... F1: B ... ... X Y ... ... ... Studi kasusu: Keuangan (penggajian) • Asumsi: – Setiap karyawan mendapatkan gaji setiap bulan, berdasarkan absensi, tunjangan, transport, dan uang makan. – Setiap karyawan bekerja pada bagian atau departemen. – Setiap karyawan memiliki jabatan. – Tambahkan asumsi yang menurut Anda perlu. – Setiap manajer mengepalai satu bagian atau departemen. Menentukan entitas • • • • • Karyawan Bagian Jabatan Gaji Absen Menentukan atribut • Karyawan: NIK, nama, alamat, no_tlp, jns_kel, dst • Bagian: kd_bg,nm_bg, dst • Jabatan: kd_jab,nm_jab, dst • Gaji, tgl_gaji, tunjangan, transport, uang makan, dst • Absen, tgl_absen, jam_masuk, jam pulang, keterangan, dst Menentukan relasi Menentukan atribut • Karyawan: NIK, nama, alamat, no_tlp, jns_kel, …,kd_bg – PK: NIK – FK: kd_bag • Bagian: kd_bg,nm_bg, dst – PK: kd_bag • Jabatan: kd_jab,nm_jab, …, NIK – PK: kd_jab – FK: NIK • Gaji, No_kw, tgl_gaji, tunjangan, transport, uang makan, ..,NIK – PK: No_kw – FK: NIK • Absen, tgl_absen, jam_masuk, jam pulang, keterangan, …, NIK – FK: NIK