ERD Session 1 Perancangan Basis Data seringkali diasosiasikan dengan pembuatan model Entity-Relatinship (model E-R), di mana kelompok-kelompok data dan relasi antar kelompok data tersebut diwujudkan dalam bentuk diagram. Sesuai namanya ada 2 (dua) komponen utama pembentuk Model Entity-Relatinship yaitu; Entitas (Entity) Relasi (Relation) Kedua komponen dideskripsikan lebih jauh melalui sejumlah Atribut/Properti. Entitas (Entity) dan Himpunan Entitas (Entity Sets) Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Contoh Entitas : Kursi yang kita duduki Seseorang yang menjadi pegawai di sebuah perusahaan Pegawai Sebuah mobil yang melintas di depan kita, dll. Himpunan Entitas (Entity Sets) adalah sekelompok Entitas yang sejenis dan berada dalam lingkup yang sama. Contoh Himpunan Entitas : Semua Pasien, atau Pasien saja. dengan Entitas Amir, Budiman, Cicik, dan seterusnya. Semua Dokter, atau Dokter saja. dengan Entitas Amir, Budiman, Cicik, dan seterusnya. Semua Mobil, atau Mobil saja. Dengan entitas mobil Suzuki mobil toyota, mobil honda, dll. Semua Mahasiswa, atau Mahasiswa saja. dengan Entitas Amir, Budiman, Cicik, dan seterusnya. Sederhananya, Entitas menunjuk pada individu suatu objek, sedangkan Himpunan Entitas menunjuk pada rumpun (famili) dari individu tersebut. Catatan : Dalam berbagai pembahasan / literatur, penyebutan Himpunan Entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan Entitas saja. Karena itu sering ditemui, penggunaan istilah Entitas (Entity) disebuah literatur sebenarnya menunjukan pada Himpunan Entitas. Gambar Himpunan Entitas Mahasiswa Atribut (Attributes/Properties) Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik (properti) dari Entitas tersebut. Atribut yang sebenarnya identik dengan pemakaian istilah kolom data. Contoh : Himpunan Entitas mahasiswa memiliki 4 buah atribut, yaitu nim, nama_mhs, alamat_mhs dan tgl_mhs. Yang harus diperhatikan dalam pembuatan Model E-R adalah kedudukan atribut dalam entitas (berfungsi sebagai primary key dan mana yang bukan (atribut deskriptif). Relasi (Relationship) dan Himpunan Relasi (Relationship Sets) Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Misalnya : entitas seorang mahaiswa dengan nim=’980001’ dan nama_mhs=’Ali Akbar’ (yang ada di himpunan mahasiswa) mempunyai relasi dengan entitas sebuah mata kuliah dengan kode_kul=’IF-110’ dan nama_kul=’Struktur Data’. Relasi di antara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/memperlajari mata kuliah tersebut di sebuah perguruan tinggi. Kumpulan semua relasi di antara entitas-entitas yang terdapat pada himpunan entitas-himpunan entias tersebut membentuak Himpunan Relasi (Realtionship Sets). Himpunan entitas Mata Kuliah ini memiliki relasi dengan himpunan entitas Mahasiswa yang dapat digambarkan sebagai berikut: Penjelasan Gambar Tabel Dari gambar diatas, terlihat adanya relasi antara entitas ‘Ali Akbar’ dengan entitas ‘Struktur Data’, entitas ‘Basis Data’, dan entitas ‘Matematika I’. Relasi ini mengandung arti, bahwa mahasiswa bernama ‘Ali Akbar’ mengambil/mempelajari 3 matakuliah, yaitu ‘Struktur Data’, ‘Basis Data’ dan ‘Matematika’. Dan seterusnya, kesemua relasi yang ada di antara kedua himpunan entitas tersebut membentuk sebuah himpunan relasi. Untuk menjelaskan hubungan apa yang terjadi di antara ke dua himpuan entitas tersebut, kita dapat memberikan nama Himpunan Relasi ‘Mempelajari’, atau Himpunan Relasi ‘Belajar’. Kardinalitas/Derajat Relasi Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas Relasi yang terjadi di antara dua himpunan entitas (misal A dan B) dapat berupa: Satu ke Satu (One to One) Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya Satu ke Banyak (One to Many) Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A. Banyak ke Satu (Many to One) Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B. 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. Catatan : Kardinalitas Relasi Satu ke Banyak dan Banyak ke Satu dapat dianggap sama, karena ditinjauan Kardinalitas Relasi selalu dilihat dari dua sisi (dari Himpunan Entitas A ke Himpunan Entitas B dan Himpunan Entitas B ke Himpunan Entitas A). Diagram Entity-Relationship (Diagram E-R) Berisi komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari ‘dunia nyata’ bagi sistem yang dibahas, dapat digambarkan dengan lebih sistematis dengan menggunakan Diagram E-R. Notasi-Notasi simbolik di dalam Diagram E-R yang dapat digunakan adalah: Simbol-Simbol Diagram E-R Contoh Relasi E-R Penggambaran relasi antar relasi himpunan entitas lengkap dengan kardinalitas relasi dan atributnyaatributnya: Relasi Satu ke Satu (One to One) Adanya relasi antara himpunan entitas dosen dengan himpunan entitas jurusan. Himpunan relasinya kita beri nama “mengepalai”. Pada relasi ini, setiap dosen paling banyak mengepalai satu jurusan(Walaupun memang tidak semua dosen yang menjadi ketua jurusan). Dan setiap jurusan pasti dikepalai oleh banyak satu orang dosen. Relasi Satu ke Banyak (One to Many) Adanya relasi antara himpunan entitas Dosen dengan himpunan entitas Kuliah. Himpunan relasinya diberi nama “Mengajar”. Pada relasi ini, setiap dosen dapat mengajar lebih dari satu matakuliah, sedang setiap mata kuliah diajar hanya oleh paling banyak satu orang dosen Relasi Banyak ke Banyak (Many to Many) Adanya relasi antara himpunan entitas Mahasiswa dengan himpunan entitas Kuliah. Himpunan relasinya diberi nama “Mempelajari”. Pada relasi ini, setiap mahasiswa dapat mempelajari lebih dari satu mata kuliah. Demikian juga sebaliknya, setiap matakuliah dapat dipelajari oleh lebih dari satu orang mahasiswa Tahapan Pembuatan Diagram E-R 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan dibuat terlibat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign-key-nya. 4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key). Langkah 1 Tentukan himpunana entitas yang mewakili sebuah kumpulan entitas/individu yang jelas eksistensinya dan dapat berdiri sendiri. Banyaknya Himpunan entitas yang ditentukan sebatas seberapa jauh ruang lingkup yang ingin di akomodasi dalam rancangan basis data tersebut. Contoh : Langkah 2 Atribut-atribut key yang disertakan di masing-masing himpunan entitas merupakan atribut terpenting yang dapat mengidentifikasi (membedakan) setiap entitas yang ada didalamnya Langkah 3 Menentukan relasi-relasi yang terjadi diantara himpunan entitas akan sangat menentukan kualitas rancangan basis data yang dibangun. Relasi-relasi yang ditetapkan harus mengakomodasi semua fakta yang ada dan menjamin semua kebutuhan penyajian data, tetapi disisi lain juga dibuat seoptimal mungkin agar tidak memakan ruang penyimpanan yang lebih besar dan tidak menyulitkan operasi pengolalaan data. Himpunan relasi Mempelajari akan dapat mengakomodasi adanya fakta tentang sejumlah mahasiswa yang mengambil mata kuliah tertentu dan sebaliknya sejumlah mata kuliah yang diambil/dipelajari oleh mahasiswa tertentu. Demikian juga himpunan relasi mengajar yang dapat mengakomodasi fakta tentang dosen yang mengajar mata kuliah tertentu. Langkah 4 Fakta memperlihatkan bahwa seorang mahasiswa boleh mengambil beberapa mata kuliah sekaligus dan begitu juga sebaliknya, sebuah mata kuliah dapat diikuti banyak mahasiswa sekaligus, maka derajar relasinya banyak-ke-banyak Langkah 5 Berangkat dari fakta yang ada, atribut-atribut deskriptif yang dapat disertakan pada maising-masing himpunan entitas dan himpunan relasi adalah (di dalam elip dan tidak bergaris bawah) : Diagram E-R dengan Kamus Data Pada sebuah sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut-atribut dalam sebuah diagram E-R seringkali malah menggangu objektif yang ingin dicapai. Di sini dapat memisahkan pendeklarasian atribut-atribut ini dari Diagram E-R dan menyatakannya dalam sebuah kamus data. Karena itu, diperbolehkan untuk menggambarkan Diagram E-R dengan tambahan Kamus Data seperti berikut ini: Contoh : Kamus Data: Mahasiswa = {Nim, nama_mhs, alamt_mhs, tgl_mhs} Kuliah = {Kode_kul, nama_kul, sks, semester} Dosen = {Nama_dos, alamat_dos} Mempelajari = {Nim, Kode_kul, indeks_nilai} Mengajar = {kode_kul, Nama_dos, waktu, tempat}