ERD (Entity Relationship Diagram)
ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpanan (tabel). ERD digunakan untuk memodelkan struktur data dan hubungan antar data, kita dapat menguji data dengan mengabaikan proses yang harus dilakukan serta bisa mengetahui data apa yang kita perlukan, serta bagaimana data-data tersebut bisa saling berhubungan.
Pada dasarnya terdapat 3 macam simbol yang digunakan untuk menggambarkan struktur dan hubungan antar data, yaitu :
1. Entity
Entity adalah obyek yang dapat dibedakan dalam dunia nyata
- Entity set adalah kumpulan dari entity yang sejenis
- Entity set dapat berupa :
– Obyek secara fisik : Rumah, Kendaraan, Peralatan
– Obyek secara konsep : Pekerjaan , Perusahaan, Rencana
Suatu objek, merupakan bagian dari sitem yang dapat diidentifikasi dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Entity dapat berupa sebuah kelompok dari sesuatu, harus dapat dibedakan.
2. Atribut
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut
di dalam suatu entity atau relationship.
Jenis-jenis atribut :
- Key : Atribut yang digunakan untuk menentukan suatu entity secara unik.
- Atribut Simple : Atribut yang bernilai tunggal.
- Atribut Multivalue : Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
- Atribut Composite : Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
3. Relationship (hubungan)
Merupakan penghubung antar satu entiti dengan entiti yang lain, ataupun satu entiti ke dalam entiti itu sendiri. Relationship dibagi menjadi 3 jenis, yaitu :
- Satu ke satu (1-1)
Seorang supir hanya dapat menyetir satu mobil. Satu mobil pun hanya bisadigunakan oleh seorang supir.
- Satu ke banyak/ banyak ke satu(1-n / n-1)
Satu kelas dapat terdiri dari banyak siswa, dan banyak siswa bisa belajar di dalam satu kelas. Tapi tidak sebaliknya, seorang siswa tidak bisa belajar di kelas yang berbeda.
- Banyak ke banyak (n-n)
Seorang karyawan bisa mengerjakan satu atau lebih proyek. Dan setiap proyek bisa dikerjakan oleh seorang atau lebih karyawan.
Transformasi dari ERD ke Database Relasional
- Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple, sedangkan untuk atribut composite hanya dimuat komponen-komponennya saja.
PEGAWAI (NOPEG, ALM1, KDPOS, …….)
- Setiap relasi yang mempunyai atribut multivalue, buatlah relasi baru dimana Primary Key nya merupakan gabungan dari Primary Key dari relasi tersebut dengan atribut multivalue.
LOKPR(NOPRO, LOKASI)
- Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu foreign key yang menunjuk ke nilai primary keynya.
PEGAWAI (NOPEG, ….., SUPERVISOR-ID)
- Setiap Unary Relationship M:N, buatlah relasi baru dimana primary keynya merupakan gabungan dari dua atribut dimana keduanya menunjuk ke primary key relasi awal dengan penamaan yang berbeda.KOMBAR (NOBAR, NOKOMP , JUMLAH)
- Setiap Binary Relationship 1:1, dimana Participation Constraint keduanya total, buatlah suatu relasi gabungan dimana Primary Keynya dapat dipilih salah satu.PEGAWAI (NOPEG, … , NOPRO, …).
- Setiap Binary Relationship 1:1 dan salah satu Participation Constraintnya Total, maka Primary Key pada relasi yang Participation Constraintnya Partial menjadi Foreign Key pada relasi yang lainnya.BAGIAN (NOBAG, … , MANAGER)
- Setiap Binary Relationship 1:1, dimana kedua Participation Constraintnya partial, maka selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari Primary Key kedua tipe Entity yang berelasi.PEKERJAAN ( NOPEG, NOPRO, …)
- Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai Participation Constraint Total, maka Primary Key pada relasi yang bersisi 1 dijadikan Foreign Key pada relasi yang bersisi N.PROYEK (NOPRO, … , NOBAG)
- Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai Participation Constraint partial, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.PEKERJAAN (NOPEG, NOPRO, ……)
- Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.PEKERJAAN (NOPEG, NOPRO, …..)
- Setiap Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key ketiga tipe Entity yang berelasi.PEKERJAAN ( NOPEG, NOPRO , NOKOT)
- Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya dimana PrimaryKeynya adalah gabungan dari Partial Key dan Primary Key dari relasi induknya ( identifying owner).TANGGUNGAN (NOPEG, NAMA, ….)
Hasil Transformasi dari Diagram ER ke database relasional :
Skema Database
- PEGAWAI (NOPEG, NAPEG, ALM1, KDPOS, TGLLAH, UMUR, SUPERVISOR-ID, NOBAG)
- BAGIAN (NOBAG, NABAG, LOKASI, MANAGER)
- PROYEK (NOPRO, NAPRO, NOBAG)
- LOKPR (NOPRO, LOKAPR)
- PEKERJAAN (NOPEG, NOPRO, JAM)
- TANGGUNGAN (NOPEG, NAMA, JNKELT,HUBUNGAN)
Database
Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur data dan juga batasan-batasan data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat mengorganisasi data, menghidari duplikasi data, hubungan antar data yang tidak jelas dan juga update yang rumit.
Proses memasukkan dan mengambil data ke dan dari media penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis data (database management system | DBMS). DBMS merupakan sistem perangkat lunak yang memungkinkan pengguna database (database user) untuk memelihara, mengontrol dan mengakses data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu mengolah pendefinisian data, menangani permintaan pemakai untuk mengakses data, memeriksa sekuriti dan integriti data yang didefinisikan oleh DBA (Database Administrator), menangani kegagalan dalam pengaksesan data yang disebabkan oleh kerusakan sistem maupun disk dan menangani unjuk kerja semua fungsi secara efisien.
Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data kepada pengguna. Jadi sistem menyembunyikan informasi tentang bagaimana data disimpan, dipelihara dan tetap bisa diambil (diakses) secara efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa mengetahui kompleksitas strukturnya.
Pembagian basis data menurut jenisnya:
Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu. Beberapa kendala dalam menggunakan basis data jenis ini adalah rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi dan juga adanya duplikasi data yang mungkin sulit dihindari. Salah satu tipe basis data flat-file adalah file CSV yang menggunakan pemisah koma untuk setiap nilainya.
Basis data relasional. Basis data ini mempunyai struktur yang lebih logis terkait cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-tabel yang berada di basis data dapat dihubungkan satu dengan lainnya. Basis data relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan proses pencarian informasi yang lebih lambat karena perlu menghubungkan tabel-tabel terlebih dahulu apabila datanya tersebar di beberapa tabel. Beberapa contoh basis data relasional adalah Microsoft Access, MySQL, Oracle, MS SQL Server dan Postgresql.
Normalisasi
Normalisasi merupakan sebuah teknik dalam logika desain sebuah basis data, yaitu mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).
Tujuan dari Normalisasi
- Untuk menghilang kerangkapan data
- Untuk mengurangi kompleksitas
- Untuk mempermudah pemodifikasian data
Ketergantungan Fungsional : Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X –> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R
Ketergantungan Fungsional Penuh : Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan)
Ketergantungan Fungsional Transitif : Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X –> Y, Y –> Z, maka X –> Z )
Proses Normalisasi
1. Normalisasi ke-1
Suatu data dikatakan normal pertama jika sudah memiliki karakter berikut ini :
- Mendefinisikan atribut kunci (key).
- Tidak ada grup yang berulang.
- Semua atribut bukan key tergantung pada atribut kunci.
2. Normalisasi ke-2
Suatu data dikatakan normal kedua jika sudah memiliki karakter berikut ini :
- Sudah memenuhi dalam bentuk normal pertama.
- Sudah tidak ada ketergantungan parsial, dimana seluruh field tergantung pada sebagian key field.
3. Normalisasi ke-3
Suatu data dikatakan normal jika sudah memiliki karakter berikut ini :
- Sudah berada pada bentuk normal kedua.
- Tidak ada ketergantungan transitif (field bukan key bergantung pada field bukan key lainnya).

Tidak ada komentar:
Posting Komentar