ENTITAS RELATION DIAGRAM MODEL Tujuan: 1. Memahami konsep dasar ER Model. 2. Mengenal notasi ER Diagram. 3. Memahami Entity, Attribute, Entity Set dan Key (Primary Key dan Foreign Key) 4. Memahami relasi dan himpunan relasi. 5. Memahami rasio kardinalitas (1-1,1-N,M-N) 6. Memahami Participation Constraint (total & partial). Lessons 1. ER Data Model 2. Jenis atribut dan Notasi ER Diagram 3. Relasi dan Rasio Kardinalitas 4. Participation Constraint Dependencies Pengertian Entity Relationship Diagram Entity Relationship Diagram adalah sebuah hubungan antar entity atau obyek-obyek dasar yang divisualkan dengan diagram. Dalam ERD atau Entity Relationship Diagram juga diterapkan penggunaan simbol yang menggambarkan 3 informasi diantaranya : Dalam sistem Entity Relationship Diagram (ERD), terdapat beberapa istilah penting diantaranya : 1. Entitas Enititas atau Entity merupakan suatu objek yang mewakili sesuatu hal yang nyata. Dapat dibedakan satu dengan lainnya. Contoh Entitas adalah Siswa, Guru, Pegawai, Buku, Barang, Pelanggan dan lainnya. 2. Atribut Atribut merupakan sebuah sub-bagian dari entitas. Misalnya terdapat entitas Buku dengan atribut Judul , Penulis , Penerbit , ISBN. Atau entitas Siswa dengan atribut Nama , NIS , Alamat , Tempat / Tanggal Lahir dan beberapa atribut lainnya. Istilah lain atribut adalah Field. 3. Relasi Istilah selanjutnya adalah Relasi. Relasi atau Relation adalah hubungan antara dua atau lebih entitas yang saling berkaitan. Misalnya, Entitas Barang dengan Distributor. Kedua Entitas ini dihubungkan dengan relasi “dipasok”. Artinya Barang dipasok oleh Distributor dan Distributor memasok Barang. Barang memiliki atribut Jenis , Satuan, Harga. Begitu pula dengan Distributor, memiliki atribut Nama dan Alamat. Dalam keadaan tertentu, tidak hanya Entitas yang diberi atribut. Relasi juga dapat diberikan atribut. Untuk lebih jelasnya bisa dilihat pada contoh berikut. Bentuk-Bentuk Relasi Pada ERD, terdapat beberapa bentuk relasi yang dapat terjadi antar entitas. Bentuk-bentuk relasi tersebut diantaranya : 1) Relasi One-to-One Relasi ini menunjukkan setiap entitas pada himpunan entitas A berhubungan dengan tepat satu entitas pada himpunan entitas B atau sebaliknya. Relasi ini mirip dengan Korespodensi Satu-Satu pada materi Matematika. Contoh : 1 Pria menikahi 1 wanita 2) Relasi One-to-Many Relasi ini menunjukkan bahwa setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas dalam himpunan entitas B. Contoh : 1 Pemain Bulutangkis memiliki beberapa raket 3) Relasi Many-to-One Relasi ini menunjukkan bahwa banyak entitas pada himpunan entitas A berhubungan dengan satu entitas dalam himpunan entitas B. Contoh : 1 Bus ditumpangi beberapa orang 4) Relasi Many-to-Many Relasi ini menunjukkan bahwa setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas dalam himpunan entitas B. Dan setiap entitas pada himpunan entitas B berhubungan banyak dengan banyak entitas pada himpunan entitas A. Relasi ini merupakan gabungan relasi One-to-Many dengan Many-to-One. Contoh : 1 Guru mengajar banyak siswa dan satu siswa diajar banyak guru. Membuat Entity Relationship Diagram (ERD) Dalam membuat ERD yang baik, kita juga harus membuat diagram secara logika, praktis dan agar mudah dipahami. Untuk menciptakan hal itu, lakukan langkah-langkah sebagai berikut: 1.Menentukan entitas yang terlibat dalam sistem database tersebut 2.Menentukan relasi antar entitas 3.Menggambar ERD Sementara 4.Menganalisis ERD 5.Menyempurnakan ERD ER Data Model • Setiap atribut pada entitas memiliki kunci atribut (key atribut) yang bersifat unik. • Beberapa atribut juga dapat ditetapkan sebagai calon kunci (candidate key). Misal. - Entitas Mahasiswa dengan atribut NRP sebagai key atribut - Entitas Dosen dengan NIP sebagai key atribut, dan sebagainya. • Beberapa entitas kemungkinan tidak memiliki atribut kunci sendiri, entitas demikian disebut Entitas Lemah (Weak Entity). Lessons 1. ER Data Model 2. Jenis atribut dan Notasi ER Diagram 3. Relasi dan Rasio Kardinalitas 4. Participation Constraint Dependencies Jenis Atribut dan Notasi ER Diagram • Ada beberapa notasi yang digunakan untuk membuat ER Diagram. Misal. notasi Chen, Martin, El Masri dan Korth, akan tetapi pada umumnya adalah sama. • Perbedaannya adalah pada pemilihan simbol-simbol yang digunakan. • Pada materi ini, digunakan notasi El Masri karena lebih umum banyak digunakan dan mudah dibaca dan dimengerti. ER Data Model ER Data Model • Entitas Lemah (Weak Entity) adalah entitas yang keberadaannya sangat bergantung dengan entitas lain. - Tidak memiliki Key Attribute sendiri. - Entitas tempat bergantung disebut Identifying Owner/Owner. - Entitas lemah tidak memiliki identifier-nya sendiri. - Atribut entitas lemah berperan sebagai Partial Identifier (identifier yang berfungsi secara sebagian). Contoh: NIP Nama Karyawan Nama_Pendamping Memiliki Pendamping Tgl_Lahir Buatlah flow diagram ERD berdasarkan simbol-simbol diatas dari entitas siswa, guru, pelajaran, orangtua. 1. Rinci atribut dari masing masing entitas 2. Gambarkan keterhubungannya antar entitas dengan menggunakan relasi ER Data Model Jenis – Jenis Atribut: • Simple / Atomic Attribute: adalah atribut yang tidak dapat dibagi-bagi lagi menjadi atribut yang lebih mendasar. • Composite Attribute: atribut yang terdiri dari beberapa atribut yang lebih mendasar/lebih kecil lagi. Contoh: - Atribut ALAMAT, terdiri atas atribut JALAN, KOTA, KODE_POS. - Atribut NAME, terdiri atas atribut FNAME,MNAME dan LNAME pada suatu entitas (EMPLOYEE). ER Data Model • Single-Valued Attribute: atribut yang hanya memiliki satu harga/nilai. Contoh: - Atribut UMUR pada entitas PEGAWAI - Atribut LOCATIONS pada entitas DEPARTMENT • Null Values Attribute: adalah atribut dari entitas yang tidak memiliki nilai. Contoh: Atribut PENDIDIKAN TINGGI untuk tamatan SMP. ER Data Model • Derived Attribute: adalah atribut yang nilainya dapat diisi atau diturunkan dari perhitungan atau algoritma tertentu. Contoh: - Atribut UMUR, dapat dihitung dari atribut TGL_LAHIR - Atribut LAMA_KULIAH, dapat dihitung dari NRP yang merupakan kombinasi antara digit tahun dan digit yang lain (2696 100…). - Atribut INDEX_PRESTASI, dapat dihitung dari NILAI yang diperoleh MAHASISWA. NRP Nama NRP Nama Nama_MK NO_MK Alamat Mahasiswa Mahasiswa Mata Kuliah Lama_Kuliah Hobby No_Telp Prasyarat Multi-Valued Attribute Derived Attribute Lessons 1. ER Data Model 2. Jenis atribut dan Notasi ER Diagram 3. Relasi dan Rasio Kardinalitas 4. Participation Constraint Dependencies Cardinality Ratio Constraint Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya. Jenis Cardinality Ratio • 1 : 1 (One-To-One) Sebuah entity A diasosiasikan pada sebuah entity B, dan sebuah entity B diasosiasikan dengan paling banyak sebuah entity A. a1 b1 a2 b2 a3 b3 a4 b4 A B MEMILIKI PEGAWAI KENDARAAN • 1 : N (One-To-Many) Sebuah entity A diasosiasikan dengan sejumlah entity B, tetapi entity B dapat diasosiasikan paling banyak satu entity A. a1 b1 b2 a2 b3 b4 a3 b5 A B • N : 1 (Many-To-One) • Suatu entity A dapat diasosiasikan dengan paling banyak sebuah entity B, tetapi entity B dapat diasosiasikan dengan sejumlah entity di A. a1 b1 a2 a3 b2 a4 a5 b3 A B • M : N (Many-To-Many) • Suatu entity A dapat diasosiasikan dengan sejumlah entity B dan entity B dapat diasosiasikan dengan sejumlah entity di A. a1 b1 a2 b2 a3 b3 a4 b4 A B Relasi dan Rasio Kardinalitas • Relasi adalah hubungan antar entitas. • Relasi dapat memiliki atribut, dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu. Nilai No_MK Nama NRP Mahasiswa Mengambil Hobby Nama_MK Mata_Kuliah SKS Prasyarat Penjelasan: • Bentuk ER diatas antara Mahasiswa Mengambil Mata_Kuliah, tentunya ada Nilai yang dihasilkan. • Dimana atribut nilai ditempatkan? Relasi dan Rasio Kardinalitas Nilai No_MK Nama NRP Mahasiswa Hobby Mengambil Nama_MK Mata_Kuliah Prasyarat SKS Penjelasan: • Jika atribut Nilai ditempatkan pada entitas Mahasiswa (dimana Nilai merupakan salah satu atribut dari entitas Mahasiswa), maka semua mata kuliah yang diambil oleh seorang mahasiswa menghasilkan nilai yang sama (tidak realistis). • Jika atribut Nilai ditempatkan pada entitas Mata_Kuliah (dimana Nilai merupakan salah satu atribut dari entitas Mata_Kuliah), maka semua mahasiswa yang mengambil mata kuliah tertentu akan memiliki nilai yang sama (tidak realistis). • Attribut Nilai harus ditempatkan pada relasi Mengambil, yang berarti seorang mahasiswa tertentu yang mengambil mata kuliah tertentu, akan mendapatkan nilai tertentu pula. Relasi dan Rasio Kardinalitas Derajad Relasi • Derajad Relasi adalah jumlah entitas yang berpatisipasi dalam suatu relasi. • Derajad Relasi dapat berupa: - Unary Relationship (Relasi Berderajad 1) - Binary Relationship (Relasi Berderajad 2) - Ternary Relationship (Relasi Berderajad 3) Relasi dan Rasio Kardinalitas Unary Relationship (Relasi Berderajad 1) • adalah relasi dimana entitas yang terlibat hanya 1. • Sering disebut relasi rekursif (recursive relationship). Contoh: 1 Karyawan 1 1 Menikah Karyawan N N Memimpin Karyawan N Berteman_ Dengan Relasi dan Rasio Kardinalitas Binary Relationship (Relasi Berderajad 2) • Atau relasi Biner adalah relasi yang melibatkan 2 entitas. Contoh: Pria 1 Fakultas Ruang_Kuliah 1 Menikah 1 M Mengatur Menempati N N Wanita Jurusan Mahasiswa Relasi dan Rasio Kardinalitas Ternary Relationship (Relasi Berderajad 3) • adalah relasi tunggal yang menghubungkan 3 entitas yang berbeda. Contoh: Harga_Per-Unit Supplier M Cara_Pengiriman Menyediakan N Komponen N Gudang Lessons 1. ER Data Model 2. Jenis atribut dan Notasi ER Diagram 3. Relasi dan Rasio Kardinalitas 4. Participation Constraint Dependencies Participation Constraint Dependencies Participation Constraint Dependency • Menunjukkan apakah keberadaan suatu entitas bergantung penuh / tidak dengan entitas relasinya. • Batasan (constraint) adalah jumlah minimum relasi dimana tiap entitas dapat ikut berpatisipasi. • Ada 2 jenis Participation Constraint: 1. Partisipasi Total ( ) adalah bentuk partisipasi yang menunjukkan ketergantungan penuh suatu entitas (semua dan harus). 2. Partisipasi Parsial ( ) adalah bentuk partisipasi yang menujukkan ketergantuan tidak penuh suatu entitas (beberapa, tidak harus semua) Participation Constraint Dependencies Rasio Kardinalitas 1 : 1 : One-to-One PEGAWAI p1 p2 p3 p4 MANAGE r1 r2 r3 Participation Constraint DEPARTEMEN d1 d2 d3 1 PEGAWAI 1 DEPARTEMEN MANAGE N : 1 : Many-to-One PEGAWAI p1 p2 p3 p4 BEKERJA_PADA r1 r2 r3 r4 DEPARTEMEN d1 d2 d3 PEGAWAI N BEKERJA_ PADA 1 DEPARTEMEN M : N : Many-to-Many PEGAWAI p1 p2 p3 p4 BEKERJA_DI r1 r2 r3 r4 PROJECT d1 d2 d3 PEGAWAI M BEKERJA_ DI N PROJECT ERD SI RAWAT INAP nm_pelayanan username * password Operator biaya kd_pelayanan * ket 1 ~ Memasukkan biaya_pelayanan no_register ** 1 tgl_keluar kode * lama_inap tot_biaya pasien_ keluar ~ Mencatat Membayar ~ Mendapatkan ket ~ no_register * ~ diagnosa pasien_masuk tgl_masuk nama 1 kode * penjamin tgl_lahir Rincian_ Biaya nama_ortu umur pekerjaan sex kd_pelayanan ** biaya layanan no_telp status kota alamat ERD SI PENJUALAN HANDPON tgl_pembelian kode_pembelian * nama_stok kode_stok** kode_stok * jumlah harga jumlah pembelian membeli stok_barang 1 1 keterangan 1 tot_hrg_beli total_jumlah tot_hrg_jual nama_pembeli menentukan keterangan tgl_penjualan kode_barang * kode_reseller ** kode_penjualan * M kode_stok ** barang nama_barang M jual M kode_reseller * harga_jual nama_reseller M harga_beli reseller kategori alamat M telpon harga_reseller kode_pembatalan** deposit kode_penjualan** kode_penambahan* membatalkan menambah_ deposit kode_barang** tgl_penambahan no_telpon kode_reseller** 1 jumlah jumlah pembatalan 1 rekening kode_pembatalan * saldo Tgl_pembatalan kode_reseller * keterangan kredit tanggal debet ERD SI AKADEMIK Tpt_lahir Nama Alamat Telepon Kd_jurusan* NPM* I I Jurusan Kota Memilih Mahasiswa Tgl_lahir Angkatan Nama_jurusan I Kd_jur** Tgl_lahir M Mempunyai I Kode_mk** Npm** Kd_krs* Npm** Nilai_huruf Nilai_angka I Th_angkatan Ips KRS Nilai Semester Dosen_wali Th_akademik Ipk Semester Sks_sdh_dtp M Menperoleh Kode_ruang Kd_mk* Nama_ruang Nama_mk I I Ruang Sks Menentukan M Mata Kuliah No_ruang** M Kapasitas Semester No_dosen** Mengajar I Alamat No_dosen Dosen Nama Kota Telepon ERD SI PUSKESMAS Tgl_berkunjung No_jamkesmas Nama_pasien No_index* Umur Jenis_kelamin Nama_pasien Umur Alamat Alamat Nama_KK Tgl_berkunjung ~ Pilihan_klinik No_askes No_index* Jenis_kelamin Jamkesmas Nama_KK Pilihan_klinik Keperluan ** Keperluan ** Askes Tgl_berkunjung ~ Menginput data pasien Nama_pasien Keterangan Jenis_kelamin Umur No_index* Alamat ~ Umum Pilihan_klinik Keperluan ** 1 Biaya Administrasi Username User Biaya Keperluan Total Password 1 Bayar Jumlah Ket Bayar Biaya_keperluan Keperluan** Biaya_administrasi Update data ~ Biaya klinik umum ~ Biaya klinik sanitasi ~ Biaya klinik gigi Keperluan** ~ Keperluan** Biaya_administrasi Biaya_keperluan Keperluan** Biaya klinik KIA Biaya_keperluan Biaya_administrasi Biaya_administrasi Biaya_keperluan _.oOo._ QUESTIONS..? Latihan A Buat rancangan ER Diagram untuk sistem database Perpustakaan Kampus dengan deskripsi sebagai berikut: 1. Sistem database perpustakaan kampus yang melibatkan anggota perpustakaan, koleksi buku, dan pegawai perpustakaan. 2. Dalam sistem, digambarkan anggota dapat meminjam buku, sedang pegawai melayani anggota dan menajemen buku-buku perpustakaan. 3. Seorang anggota dapat meminjam buku lebih dari 1, begiu juga sebaliknya. 4. Seorang pegawai melayani semua anggota perpustakaan, tapi tidak sebaliknya. 5. Dan seorang pegawai juga harus memanajemen semua koleksi buku perpustakaan. 6. Setiap anggota yang datang ke perpustakaan belum tentu datang untuk meminjam buku (mungkin karena hal lain: pingin baca, buku tidak ada/masih dipinjam, dll), begitu juga sebaliknya. 7. Seorang pegawai perpustakaan, harus melayani anggota (spt: resigtrasi, pelayanan, dll), begitu juga sebaliknya. 8. Dan pegawai juga harus memanajemen koleksi buku perpustakaan, begitu juga sebaliknya. Latihan A 9. Pada anggota, yang harus dicatat yaitu id anggota, nama, status (dosen, mahasiswa), id status (NIP, NIM), alamat, no telepon. 10. Pada buku yang harus dicatat adalah id buku, judul, pengarang, penerbit 11. Pada pegawai, yang harus dicatat adalah id pegawai, nama, alamat, no telepon. 12. Setiap terjadi peminjaman buku, harus dicatat tanggal meminjam, tanggal kembali dan jumlah buku yang dipinjam. 13. Setiap pegawai memanajemen buku, tercatat tanggal buku saat pertama kali di-entry. 14. Dan pegawai juga harus mencatat tanggal registrasi anggota perpustakaan saat melayani anggota / pengunjung (calon anggota). Soal: Buat rancangan ER Diagram dari deskripsi diatas, sertakan pula relasi kardinalitas beserta Key Latihan B Sebuah perusahaan jasa sewa mobil “CV. Sewo Car”, memiliki spesifikasi database sebagai berikut: • Sebuah rental mobil yang disewakan kepada pelanggan. • Tiap pelanggan dapat menyewa labih dari satu mobil dalam sekali transaksi, akan tetapi tidak sebaliknya dan sewaktu-waktu mobil juga tidak dapat disewakan karena kemungkinan keterbatasan kendaraan. • Setiap kali transaksi, terjadi sebuah perjanjian kontrak antara kedua belah pihak dengan adanya catatan kode kontrak, batas tanggal sewa, jumlah mobil yang disewa, dan harga total. • Pada pelanggan yang harus dicatat adalah nomor pelanggan, nama, alamat, no telepon (rumah, HP, kantor, dll), no KTP. • Pada mobil yang harus dicatat adalah Id mobil, no plat mobil, tahun pembuatan, merk (Toyota, Honda, Daihatsu, Suzuki, Nissan, dll), jenis (Kijang, Innova, Altis, Vios, Xenia, Katana, dll), tipe (LX, LGX, V-VTI, dll), jumlah penumpang, jumlah armada, bahan bakar dan harga sewa. Soal: Buat rancangan ER Diagram dari deskripsi diatas, sertakan pula relasi kardinalitas beserta batasan partisipasi total/parsialnya.