ENTOT SUHARTONO, SKOM, MKOM STUDI KELAYAKAN ENTITY RELATIONAL DIAGRAM (ERD) ENTOT SUHARTONO, SKOM, MKOM
PENDAHULUAN PEMODELAN DATA Model ini menunjukan orang, tempat, atau benda di mana data diambil dan hubungan antar data tersebut. Pemodelan data dibedakan menjadi dua: Model Data Logis Model Data Fisik Salah satu cara pemodelan data adalah ERD (Entity Relationship Diagram)
Contoh Sebuah perusahaan memiliki beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas diproyek.
Penyelesaian: Entitas: pengawas, bagian, pegawai, proyek Matriks Relasi: Bagian Pegawai Pengawas Proyek ditugaskan ke dijalankan oleh milik bekerja pada menjalankan menggunakan
ERD sementara: Dijalankan oleh Bagian Pengawas Ditugaskan ke Bekerja pada pegawai proyek
Menentukan kardinalitas Masing-masing bagian hanya punya satu pengawas Seorang pengawas bertugas di satu bagian Masing-masing bagian ada minimal satu pegawai Masing-masing pegawai bekerja paling tidak di satu bagian Masing-masing proyek dikerjakan paling tidak oleh satu pegawai
ERD dan Kardinalitas: 1 1 N M N M Dijalankan oleh Bagian Pengawas Ditugaskan ke M N Bekerja pada M pegawai proyek
ERD , Kardinalitas dan Primary Key: namaBGN noPengawas 1 Dijalankan oleh 1 Bagian Pengawas N Ditugaskan ke M N Bekerja pada M pegawai proyek noPegawai noProyek
Entitas asosiatif dan hubungan N-M: noPengawas namaBGN Dijalankan oleh 1 1 Pengawas Bagian 1 Ditugaskan ke Bekerja pada 1 proyek M namaBGN+ noPegawai Bagian Pegawai noProyek N noproyek+ noPegawai Terlibat 1 Bekerja pada N 1 M pegawai Pegawai proyek noPegawai
Melangkapi Atribut lainnya Bagian: nama_bagian Proyek: nama_proyek Pegawai: nama_pegawai Pengawas: nama_pengawas Proyek-pegawai: nomor_proyek, nomor_pegawai Pengawas: nomor_pengawas
Contoh KASUS Rencana Studi Kuliah Mahasiswa
Tahapan Menyusun awal ERD Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Menentukan atribut-atribut kunci dari masing-masing himpunan entitas Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya Menentukan derajat relasi (cardinality) untuk setiap himpunan relasi Melengkapi himpunan entitas dan himpunan relasi dengan atribut deskriptif (yang bukan kunci)
Mahasiswa Kuliah Dosen
Diagram E-R Kamus Data Pada sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut-atribut dalam ERD seringkali malah mengganggu tujuan yang ingin dicapai. Oleh karena itu dapat dinyatakan dalam Kamus Data Kamus data berisi daftar atribut yang diapit tanda ‘{‘ dan ‘}’. Atribut yang merupakan kunci digaris bawahi
Kamus data : Mahasiswa = {nomhs, nama, alamat} Kuliah = {kdmtk, nama mtk, sks} Dosen = {kode dosen, nama} Mempelajari = {nomhs, kdmtk, nilai} Mengajar = {kdmtk, kode dosen, jam, ruang}
Kamus data : Mahasiswa = {nomhs, nama, alamat} Kuliah = {kdmtk, nama mtk, sks} Dosen = {kode dosen, nama} Mempelajari = {nomhs, kdmtk, nilai} Mengajar = {kdmtk, kode dosen, jam, ruang}
Transformasi Model Data Basis Data Fisik Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data) NoMhs Nama Alamat KdMTK Nama SKS Kode Nama Alamat
Relasi dengan derajat relasi satu-ke-satu, yang menghubungkan 2 buah himpunan entitas akan direpresentasikan dalam bentuk penambahan / penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas
Kode_dos Nama ... Alamat KdMTK NmMTK SKS KD-D0S Jam Ruang Field yang ditambahkan dari relasi mengajar
Relasi dengan derajat relasi banyak-ke-banyak, yang menghubungkan 2 buah himpunan entitas akan diwujudkan dalam bentuk tabel khusus, yang memiliki field (atau foreign key) yang berasal dari kunci-kunci dari himpunan entitas yang dihubungkannya
Tabel khusus yang mewakili himpunan relasi Kode_dos Nama ... Alamat Nomhs Kdmtk Nilai Tabel khusus yang mewakili himpunan relasi KDMtk NmMtk SKS
SOAL Diketahui sebuah kasus sebagai berikut: Perusahan diorganisasikan ke dalam beberapa departemen. Setiap departemen memiliki nama dan nomor yang unik, dan employee yang bekerja pada perusahaan tersebut Departemen mengontrol beberapa projects yang masing- masing memiliki nama dan nomor yang unik, dan memiliki lokasi Data employee yang disimpan adalan nama, nrp, alamat, gaji, jenis kelamin, dan tanggal lahir. Perusahaan juga menyimpan data dari tanggungan setiap employee. Data yang disimpan adalah nama, jenis kelamin, tanggal lahir, dan hubungan dengan employee Dari data di atas, tentukan (jika ada): Entitas kuat, entitas lemah, dan entitas asosiatif Buatlah ERD untuk kasus di atas!
SOAL Buatlah ERD dari data berikut: Sebuah rumah sakit memiliki beberapa ruangan. Di rumah sakit tersebut tersedia beberapa dokter, yang memiliki id dan nama, serta bangsal tempat bertugas. Setiap pasien diperiksa oleh satu dokter. Dokter memeriksa pasien berdasar id, nama, TTL, penyakit dan ruangan. Setiap Dokter memeriksa satu ruangan. Terdapat suster yang memiliki id, nama dan bertugas (terjadwal) di beberapa bangsal Dokter dapat bertugas di dalam bangsal tertentu dengan melihat id dan nama ruangan. Beberapa pasien dapat berada di satu ruangan (bangsal). Dalam urusan administrasi, pasien dibedakan menjadi 2, yaitu outpatient dan resident patient. Outpatient dapat diketahui dari tanggal pengecekan. Resident Patient dapat dilihat dari tanggal masuk kembali.
Latihan Rancanglah diagram E-R dari kasus aplikasi database sederhanauntuk sistem informasi akademis suatu universitas. Entities yang dimuat adalah : mahasiswa: menyimpan semua informasi pribadi mengenai semua mahasiswa dosen: menyimpan semua informasi pribadi mengenai semua dosen mata_kuliah: menyimpan semua informasi mengenai semua mata kuliah yang ditawarkan ruang: menyimpan semua informasi mengenai ruang kelas yang digunakan
Normalisasi Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible . Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
Tujuan Normalisasi Untuk menghilang kerangkapan data Untuk mengurangi kompleksitas Untuk mempermudah pemodifikasian data
Proses Normalisasi Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF) Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Normalisasi Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). Tidak melanggar Boyce-Codd Normal Form (BCNF) (-akan dijelaskan kemudian-)
Normalisasi Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).
Normalisasi: 1NF, 2NF, 3NF Bentuk Normal ke Satu(1NF), Syarat : Tidak ada set atribut yang berulang atau bernilai ganda. Telah ditentukannya primary key untuk tabel atau relasi. Tiap atribut hanya memiliki satu pengertian. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah. Bentuk Normal ke Dua(2NF), Syarat : Bentuk data telah memenuhi kriteria bentuk normal ke satu. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
Normalisasi: 1NF, 2NF, 3NF (1) Bentuk Normal ke Tiga(3NF), Syarat : Bentuk data telah memenuhi kriteria bentuk normal ke dua. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Contoh Normalisasi : Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF)
Bentuk Normal ke dua(2NF) : Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai dan Bobot masih memiliki ketergantungan fungsional.
Contoh(cont’) Bentuk Normal ke tiga(3NF) :