Relationship : Relationship digambarkan dalam bentuk intan/ diamonds.

3. Relationship : Relationship digambarkan dalam bentuk intan/ diamonds.

Gambar 10.16. Penggunaan notasi relationship pada ER-Diagram.

10.2.1. Entitas

Entitas adalah individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Dapat berupa suatu elemen dari suatu lingkungan, suatu sumber daya atau sebuah transaksi yang memiliki arti penting bagi suatu model yang akan dibangun.

Contoh Entitas set : o Semua Guru atau Guru saja. Himpunan ini memiliki anggota : Bapak Fahri, I bu Fitri, Bapak Joko

dan guru-guru yang lain. o Semua Siswa atau Siswa saja. Himpunan ini memiliki anggota : Joni, Ridho, Fanny, Donny dan

siswa-siswa yang lain. o Semua Mobil atau Mobil saja.

Rekayasa Perangkat Lunak 263

Himpunan ini memiliki anggota : mobil Daihatsu, mobil Toyota, mobil Suzuki, dan mobil-mobil yang lain.

Mengidentifikasi ada atau tidaknya entitas dalam suatu masalah memang tidak mudah. Tapi biasanya apabila kita menjumpai kata benda dalam permasalahan tersebut maka kata tersebut biasanya merupakan kandidat entitas. Sebagai contoh bila kita akan membangun basis data perpustakaan sekolah, maka kita akan menjumpai buku, siswa, guru, petugas perpustakaan sebagai calon kuat entitas.

10.2.2. Atribut

Setiap entitas mempunyai atribut. Atribut adalah karakteristik atau ciri yang membedakan antara entitas satu dengan entitas yang lainnya.

Contoh Atribut : o Entitas Siswa. Memiliki atribut antara lain: nis (nomor induk siswa), nama, alamat,

nomor telepon, tempat lahir, tanggal lahir dan lain-lain.

Gambar 10.17. Entitas siswa dan atributnya.

o Entitas Guru. Memiliki atribut antara lain: NI P, nama, alamat, pangkat, nomor

telepon, tempat lahir, tanggal lahir, bidang keahlian, dan lain-lain.

264 Rekayasa Perangkat Lunak

Gambar 10.18. Entitas guru dan atributnya.

o Entitas Mobil. Memiliki atribut antara lain: Nomor mesin, nomor rangka, warna,

tahun keluar, tipe mesin, bahan baker, dan lain-lain.

Gambar 10.19. Entitas mobil dan atributnya.

Tidak semua karakteristik dari entitas penting bagi suatu ruang lingkup masalah. Sebagai contoh pada masalah basis data perpustakaan, karakteristik nomor sepatu siswa bukanlah karakteristik yang penting yang dapat dijadikan sebagai atribut. Tetapi apabila ruang lingkup masalahnya adalah basis data pemesanan seragam sepatu siswa, maka nomor sepatu adalah atribut yang penting.

Rekayasa Perangkat Lunak 265

Selain memilih mana yang benar-benar penting bagi sebuah entitas, kita juga harus menentukan mana yang akan menjadi atribut kunci ( Primary Key).

Pada contoh di atas (contoh atribut) kita dapat dengan mudah menentukan primary key dari entitas yang ada.

Contoh Atribut kunci ( Primary key). : o Entitas Siswa. Misalkan atribut yang dimiliki adalah : NI S (nomor induk siswa),

nama, alamat, nomor telepon, tempat lahir, dan tanggal lahir. Dari keenam atribut ini, maka yang paling cocok menjadi primary key adalah NI S karena atribut ini yang paling unik. Tidak ada siswa yang memiliki NI S yang sama. Nama masih mungkin sama, tapi NI S tidak.

o Entitas Guru. Misalkan atribut yang dimiliki adalah: NI P, nama, alamat, pangkat,

nomor telepon, tempat lahir, tanggal lahir, dan bidang keahlian. Atribut yang paling cocok menjadi primary key adalah NI P karena atribut ini yang paling unik. Tidak ada guru yang memiliki NI P yang sama. Sehingga NI P dapat dijadikan pengidentifikasi entitas guru.

o Entitas Mobil. Misalkan atribut yang dimiliki adalah: Nomor mesin, nomor rangka,

warna, tahun keluar, tipe mesin, dan bahan baker. Di sini ada dua atribut yang unik yaitu nomor mesin dan nomor rangka. Pada kasus ini kita dapat memilih salah satu dari kedua atribut tersebut sebagai primary key.

Sebagai panduan, berikut ini merupakan cirri-ciri dari atribut yang dapat dipertimbangkan sebagai identifier ( candidate key) :

o Niliainya tidak berubah-ubah o Tidak mungkin berisi nilai null (kosong bukan nol) o Tidak berisi data nama atau lokasi yang mungkin berubah-ubah.

10.2.3. Relationship

Relationship atau relasi adalah hubungan yang terjadi antara sejumlah entitas. Misalkan dari entitas siswa ada seorang siswa yang memiliki NI S = “GHI 007” dan nama_siswa = “Donny” mempunyai relasi dengan entitas program keahlian dengan kode_program = “RPL” dan nama_program = “Rekayasa Perangkat Lunak”. Relasi di antara kedua entitas mengandung arti siswa tersebut sedang mengambil program keahlian tersebut pada sekolah tertentu.

266 Rekayasa Perangkat Lunak

Gambar 10.20. Relationship.

Ramakrishnan and Gehrke (2000) menyebutkan bahwa konsep relationship pada model E-R berbeda dengan konsep relation di dalam model data relasional. Relationship adalah mekanisme yang menghubungkan antara entitas. Dalam implementasi ke dalam DBMS baik entitas maupun relationship akan direpresentasikan dalam bentuk tabel ( relation).

Setiap relationship selalu mempunyai kardinalitas. Kardinalitas atau Derajat Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas lain pada himpunan entitas yang lain.

Pada gambar 10.20 kita sebenarnya dapat melihat sebuah kardinalitas antara himpunan entitas siswa dengan himpunan entitas program keahlian. Siswa dapat berelasi hanya dengan satu entitas pada himpunan entitas program keahlian. Sebaliknya satu entitas pada program keahlian dapat berelasi dengan banyak siswa. Pada gambar tersebut terlihat Donny hanya dapat berhubungan dengan Rekayasa Perangkat Lunak, sedangkan Rekayasa Perangkat Lunak dapat berhubungan dengan Donny dan Joni.

Ada beberapa jenis tingkat hubungan (kardinalitas) antara entitas satu dengan entitas lainnya. Kardinalitas menunjukkan jumlah maksimum entitas pada suatu himpunan entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Secara umum ada tiga bentuk kardinalitas antar himpunan entitas, yaitu :

o satu ke satu ( one to one) . Hubungan dengan kardinalitas one-to-one artinya satu anggota suatu entitas set hanya boleh berhubungan dengan satu anggota entitas set yang lain. Hubungan antara entitas set suami dengan istri dapat dikelompokkan dalam hubungan one-to-one.’

Rekayasa Perangkat Lunak 267

Gambar 10.21. Hubungan one-to-one suami dan istri.

o satu ke banyak / banyak ke satu ( one to many / many to one) . Kardinalitas satu ke banyak dan banyak ke satu dapat dianggap sama karena tinjauan kardinalitas selalu dilihat dari dua sisi. Contohnya adalah pada suatu sekolah mempunyai aturan satu kelas terdiri dari banyak siswa tetapi tidak sebaliknya, yaitu satu siswa tidak dapat belajar pada kelas yang berbeda.

Gambar 10.22. Hubungan one-to-many kelas dengan siswa.

o banyak ke banyak ( many to many) . Kardinalitas ini cukup rumit untuk dijelaskan namun seringkali kita jumpai. Misalnya hubungan siswa dengan mata pelajaran memiliki kardinalitas many-to-many. Siswa berhak mengambil (mempelajari) lebih dari satu matapelajaran dan setiap mata pelajaran boleh diambil (dipelajari) lebih dari satu siswa.