Model Data ENTITY RELATIONSHIP Helda Yudiastuti, M.Kom. Definisi Model ER (Entity Relationship) adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model Data Konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan, dan pembaruan basis data. Komponen Model ER 1. Entitas (Entity) Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan. 2. Relationship Memodelkan koneksi/hubungan diantara entitas-entitas. 3. Atribut-atribut (properti) Memodelkan properti-properti dari entitas dan relationship. 4. Konstrain-konstrain Ketentuan validitas. Note: Model ER digambarkan dengan diagram ER. Diagram ER merupakan representasi grafis himpunan entitas, relationship, dan konstrain integritas yang dihasilkan aktivitas pengembang. ENTITY Entity adalah sebuah “benda” (thing) atau “objek”(object) di dunia nyata yang dapat dibedakan dari semua objek lainnya Entity sets adalah sekumpulan entiti yang mempunyai tipe yang sama. Kesamaan tipe ini dapat dilihat dari atribut/property yang dimiliki oleh setiap entiti. Misal : kumpulan orang yang menyimpan uang pada suatu bank dapat didefinisikan sebagai entiti set nasabah kumpulan orang yang belajar di perguruan tinggi didefinisikan sebagai mahasiswa Lambang: ENTITY • Langkah pertama dalam pemodelan ER adalah memilih entitas-entitas yang akan digunakan untuk memodelkan sistem/perusahaan. • Entitas dapat berupa objek konkret di dunia nyata seperti mahasiswa, pekerja, mobil dsb. • Entitas dapat juga berupa objek abstrak seperti rekening. • Himpunan entitas adalah kumpulan entitas bertipe sama Himpunan entitas Contoh ENTITAS RELATIONSHIP Relationship adalah hubungan diantara beberapa entiti. Relationship set adalah sekumpulan relasi yang mempunyai tipe yang sama. Relationship set digambarkan dengan diamond seperti tampak pada gambar ATRIBUT sebutan untuk mewakili suatu entity Atribut dalam ERD dilambangkan dengan bentuk elips SUPERKEY satu atau lebih atribut (kump atribut) yang dapat membedakan setiap baris data dalam table secara unik Contoh Superkey : NIM NIM dan Nama NIM dan Alamat NIM dan Jurusan NIM, Nama dan alamat NIM, Nama dan Jurusan NIM, Nama, Alamat dan Jurusan Bukan Superkey : Nama Alamat Jurusan Nama dan Alamat Nama dan Jurusan Alamat dan jurusan Nama, Alamat dan Jurusan KANDIDAT KEY kumpulan atribut minimal yang membedakan setiap baris data dalam table secara unik. Untuk bisa menjadi kandidat key, suatu atribut harus memenuhi persyaratan sebagai berikut: untuk satu nilai hanya mengindentifikasikan satu baris dalam satu relasi (unik) tidak memiliki subset yang juga merupakan kunci relasi tidak dapat bernilai null Dengan kata lain, sebuah kandidat key adalah superkey yang paling sedikit jumlah atributnya. Dari contoh pada superkey dari tabel Mahasiswa pada tabel 4.1, yang memenuhi persyaratan sebagai kandidat key adalah atribut NIM. Atribut Kunci dan Bukan Kunci Dalam sebuah himpunan entitas harus dapat membedakan mana atribut yang berfungsi sebagai kunci (Primary key) dan yang bukan (Atribut Deskriptif). Atribut NIM merupakan kunci dari Himpunan Entitas Mahasiswa, karena NIM merupakan pengidentifikasi entitas yang paling unik untuk semua entitas dalam himpunan entitas tersebut. Contoh Atribut yang merupakan atribut deskriptif : nama_mhs Alamat_mhs Tglhr_mhs, dll Kunci Relasi /Kunci Utama (Primary Key) Nilai dari kunci relasi harus mengidentifikasikan sebuah baris yang unik didalam sebuah relasi. Kunci relasi terdiri dari satu atau lebih atribut-atribut relasi Agar bisa menjadi sebuah primary key sebuah atribut haruslah memenuhi persyaratan sebagai kandidat key. Dalam contoh tabel mahasiswa pada tabel 4.1, NIM adalah kunci relasinya. Kunci Alternatif (Alternate Key) Kunci yang tidak ada didunia nyata, tetapi diadakan dan dijadikan primary key Kunci alternatif dibuat ketika tidak ada satupun atribut dalam sebuah relasi yang bisa mewakili relasi tersebut, atau ada yang bisa menjadi kandidat key tetapi tidak cukup efektif untuk digunakan sebagai primary key Komposit Key Primary key yang terdiri dari lebih dari 1 atribut Foreign Key(FK) Sebuah FK adalah sekumpulan atribut dalam suatu relasi (misal A) sedemikian sehingga kumpulan atribut ini bukan kunci relasi A tetapi merupakan kunci dari relasi lain Kardinalitas/Derajat Relasi Kerdinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. Macam Kardinalitas: Satu ke Satu (One to One) Satu ke Banyak (One to Many) Banyak ke Satu (Many to One) Banyak ke Banyak (Many to Many) Satu ke Satu (One to One) Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya Satu ke Banyak (One to Many) Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A Banyak ke Satu (Many to One) Merupakan kebalikan dari relasi satu-ke-banyak Banyak ke Banyak (Many to Many) Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan demikian juga sebaliknya, dimana setiap entitas pada pada himpunen entitas B berhubungan banyak entitas pada himpunan entitas A. Contoh Relasi One to One Setiap dosen paling banyak mengepalai satu jurusan (walau tidak semua dosen mengepalai jurusan). Dan setiap jurusan dikepalai paling bayak satu dosen. Mengepalai : Foreign-Key (Kunci Asing) -> penghubung Contoh Relasi One to Many Setiap dosen dapat mengajar lebih dari satu mata kuliah, sedangkan setiap mata kuliah diajar paling banyak satu dosen. Contoh Relasi Many to Many Setiap mahasiswa dapat mempelajari banyak mata kuliah dan setiap mata kuliah dapat dipelajari oleh banyak mahasiswa. Catatan ERD: Penentuan derajat relasi tergantung dari aturan bisnis (business rule) yang ada ada di perusahaan/instansi. Walau notasi derajat relasi tidak sedominan notasi yang lain, tapi derejat relasi sangat berperan dalam tahap implementasi. TAHAP PEMBUATAN ERD Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat. Misalnya entitas yang terlihat adalah : Mahasiswa, Dosen, Matakuliah Menentukan atribut-atribut key dari masing-masing himpunan entitas. Untuk entitas Mahasiswa, atribut yang terlibat yaitu: NIM, Nama, Alamat, Jurusan. Untuk entitas Dosen, atribut yang terlibat adalah : NIP, Nama, Alamat Untuk entitas Matakuliah, atribut yang terlibat adalah: Kode_MatKul, Nama, SKS Menentukan PK dari setiap entitas yang ada. PK dari entitas Mahasiswa : NIM PK dari entitas Dosen : NIP PK dari entitas Matakuliah : Kode_Matkul Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas-himpunan entitas yang ada beserta foreign key-nya Dosen dengan matakuliah berelasi secara langsung dengan relasi mengajar, yaitu dosen mengajar matakuliah Tahap membangun ERD 1.Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Tahap membangun ERD…. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas Tahap membangun ERD…. 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta Primary key Tahap membangun ERD…. 4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi Tahap membangun ERD…. 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut deskriptif (non key) Latihan Pilih suatu sistem yang anda ketahui, tuliskan asumsi-asumsi dan entitasnya Gambarkan ER-Diagram dari sistem tersebut TUGAS Buatlah ERD untuk : Sistem pembelian tiket kereta api Sistem service kendaraan Sistem Reservasi hotel Sistem Rawat inap rumah sakit