BAB III MODEL E-R (ENTITY-RELATIONSHIP) 3.1 Entitas dan Atribut

dokumen-dokumen yang mirip
MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

Database Design. Pemodelan data & Model Entity-Relationship. Pertemuan 4. Dahlia Widhyaestoeti, S.Kom

Modul ke: Pertemuan - 8. Model Relasi Entitas. Fakultas Ilmu Komputer. Ariefah Rachmawati. Program Studi Sistem Informasi.

Basis Data I Danny Kriestanto, S.Kom., M.Eng

Entity Relationship Diagram. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

Pertemuan 2-3 ER-MODEL

ENTITY RELATIONSHIP DIAGRAM. SiBaDa Sesi 4

Copyright 2005 PENS-ITS C H A P T E R

Pemodelan Data (1) Week 2

ER-DIAGRAM (ENTITY RELATIONSHIP DIAGRAM)

Entity Relationship Model

ER (Entity-Relationship) Model dan Mapping ke Model Relasional. Politeknik Elektronika Negeri Surabaya

Basis Data. Pemodelan Database dengan ER Diagram (Entity Relationship Diagram) Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Desain Data Base. Proses Desain Data Base

ENTITY RELATIONSHIP DIAGRAM

STMIK AMIKOM YOGYAKARTA

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

PEMODELAN DATA (ER-D) Basis Data -1 / Dian Dharmayanti

ENTITY RELATIONSHIP DIAGRAM

C H A P T E R. DUKUNGAN DATABASE DALAM PEMBANGUNAN SISTEM INFORMASI : Konsep Dasar PERANCANGAN Database. Information Technology, EEPIS-ITS

Entity Relationship Model

Perancangan Basis Data Relasional. (Entity Relationship Model) By : Hanung N. Prasetyo

ENTITY RELATIONSHIP DIAGRAM

PERTEMUAN 3. Model E-R (Lanjutan)

Pertemuan 4 ENTITY RELATIONSHIP ENTITY RELATIONSHIP

ER (ENTITY RELATIONSHIP) MODEL

ENTITY RELATIONSHIP DIAGRAM (ERD)

ER (ENTITY RELATIONSHIP) MODEL

Hanif Fakhrurroja, MT

Sistem Basis Data BAB 8 MODEL DATA DAN ENTITY RELATIONSHIP MODEL. Komponen model data dapat dikategorikan menjadi 3 (tiga) bagian yang meliputi:

BAB V. dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru

C H A P T E R. Copyright 2005 PENS-ITS

PERANCANGAN BASIS DATA. Alif Finandhita, S.Kom

SISTEM BASIS DATA 1 Imam Asrowardi, S.Kom.

Pertemuan Transformasi ER-MODEL INDIKATOR. 1. Memahami ER model 2. Menerapkan transformasi ER- Model ke Model Relasional.

ERD, EERD DAN PEMETAAN KE MODEL RELASIONAL

Entity Relationship Model

Tabel dan Key dalam Database Tipe data dan Karakter pada Database. Author : Minarni, S.Kom.,MM

MODEL ENTITY-RELATIONSHIP

Pertemuan 11. Donny Yulianto, S.Kom

PERTEMUAN 6 & 7 ENTITY RELATIONSHIP DIAGRAM (ERD)

ENTITY RELATIONSHIP DIAGRAM SISTEM BASIS DATA

Sistem Basis Data ( )

PERANCANGAN DATABASE E-R DIAGRAM. Pengolahan Basis Data D3-TI STMIK AMIKOM

PERTEMUAN 4 ENTITY-RELATIONSHIP DIAGRAM (ERD) JUM AT,

Model Data Dalam SBD

Pertemuan 4. Entity-Relationship Diagram (ERD)

Adri Priadana. ilkomadri.com

BAB IV Normalisasi Data

PERANCANGAN SISTEM TERINCI DATABASE

QUIZ 1 Introduction to Database. Page 1

PERANCANGAN SISTEM DATABASE

KONSEP SISTEM BASIS DATA

PERTEMUAN 8 & 9 MODEL ENTITY RELATIONSHIP DIAGRAM (ERD) KONSEP DASAR MODEL ENTITY RELATIONSHIP

Entity Relationship Diagram.

Pertemuan III Entity Relationship Diagram Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

ENTITY RELATIONAL MODEL. Dr.Budi Setiyono, MT

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

C H A P T E R DUKUNGAN DATABASE DALAM PEMBANGUNAN SISTEM INFORMASI : KONSEP DASAR PERANCANGAN DATABASE

SISTEM BASIS DATA (Lanjutan) :

ENTITY RELATIONSHIP DIAGRAM. By Tim Dosen

MODEL ENTITY-RELATIONSHIP

Model Data: Model data merupakan kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan batasan data Jenis

Model Data. Universitas Darwan Ali Kalimantan Tengah. Author : Minarni, S.Kom.,MM

Basis data ERD. Entity. Atribut ENTITY RELATIONSHIP DIAGRAM 13/10/2015 TIU TIK. Entity

E-R Diagram Kusnawi, S.Kom, M.Eng

Mahasiswa dapat melakukan perancangan basis data dengan model entity relationship

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Pertemuan 4 ENTITY RELATIONSHIP ENTITY RELATIONSHIP

PERANCANGAN SISTEM TERINCI DATABASE

SISTEM BASIS DATA. Pertemuan 4. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

BAB II LANDASAN TEORI. (Davis, 1995, hal.68). Informasi menurut Gordon B. Davis adalah data yang telah

Perancangan Basis Data

Pemodelan Database. Pengolahan Basis Data

PERTEMUAN 2 MODEL DATA MODEL ENTITY RELATIONSHIP ( MODEL E-R)

Kontrak Kuliah. Entity Relationship Diagram Bagian 1. Edi Sugiarto, S.Kom, M.Kom

ENTITY RELATIONSHIP MODEL

KOMPONEN ENTITY RELATIONSHIP

MODEL DATA POKOK BAHASAN. Pendahuluan

Diagram E-R. ERD (Entity Relationship Diagram) Alat Bantu Perancangan Basis Data

Modul 3 Konsep Perancangan Basis Data

OVERVIEW BASIS DATA RELASIONAL. Oleh: Ir. M. Ramadhan, MT

Metodologi Perancangan basis data secara konseptual

Review Basis Data 1. by: Ahmad Syauqi Ahsan

KODE MK : ST 126 UT3. Pemodelan Data. Agus Romadhona

Contoh ERD sistem penjualan Barang Online

SISTEM BASIS DATA Presented By

MODEL RELASIONAL. Model Data adalah kumpulan bentukanbentukan deskripsi data level tinggi yang menyembunyikan rincian penyimpanan data level rendah.

SISTEM BASIS DATA MODEL ENTITY-RELATIONSHIP

bergantung pada keberadaan entitas lainnya[9]. relasi yang merekatkan dua entitas adalah bersifat

Entity Relationship Diagram

Model Entity Relationship Bagian I

BASIS DATA MODEL RELASIONAL

BAB II. 2.1 Model Data High Level Data Model (Conceptual Data Model)

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Atribut NPM (underlined) = primary key

ASSALAMU ALAIKUM WR.WB

Entity Relationship Diagram - ERD. Mardhiya Hayaty, ST

Tujuan Umum Tujuan Khusus Pokok Bahasan/Materi

BAB IV Konsep Model Relasional

Transkripsi:

BAB III MODEL E-R (ETITY-RELATIOSHIP) Pemodelan data adalah langkah kedua dalam membangun sistem basisdata. Salah satu model data seperti yang tersebut pada bab I dan bab II adalah model Entity- Relationship (E-R). Disebut model Entity-Relationship karena model ini digunakan untuk menggambarkan hubungan (relationship) antara beberapa entitas (entity) dalam suatu basis data. Model E-R merupakan model data konseptual yang populer dan sampai saat ini masih digunakan dalam tahapan perancangan aplikasi basis data. E-R tidak menggambarkan bagaimana suatu data disimpan dalam komputer atau bagaimana implementasinya, sehingga diharapkan lebih memudahkan pengguna dalam memahami permasalahan. Dasar penyusunan model E-R adalah dengan menggunakan business rule. Model E-R diperkenalkan oleh Chen pada 976 dan terus berkembang sampai sekarang. Menurut Hoffer (2002), sampai 995 ada 0 model E-R yang bisa digunakan. Jadi tidak ada satu model yang dijadikan standar. Untuk permasalahan yang semakin berkembang saat ini, muncullah Extended Entity-Relationship (EER). Bab ini membahas model E-R sesuai dengan yang dikemukakan oleh Chen. Untuk model lainnya bisa dipelajari sendiri dengan dasar yang diberikan. 3. Entitas dan Atribut Obyek dasar yang direpresentasikan oleh model E-R adalah entitas (entity), yaitu "sesuatu" di dunia nyata yang ada dan bebas, serta dapat dibedakan dari obyek yang lain. Sebuah entitas bisa ada secara fisik (misal: orang, mobil, rumah) ataupun secara abstrak (misal: pekerjaan, matakuliah, bahkan suatu kejadian atau konsep). Setiap entitas mempunyai sekumpulan atribut yang sebagai karakteristik atau yang menerangkan entitas tersebut, masing-masing atribut mempunyai nilai (value) tersendiri. Gambar 3. menunjukkan contoh sebuah entitas e dengan enam buah atribut (Kode MK, ama MK, SKS, Js, Semester, Prasyarat) dan nilainya masing-masing. Gambar 3. Contoh suatu entitas. Basis Data Darmawan Satyananda 23

3.. Jenis-jenis Atribut Kita bisa menggolongkan atribut berdasar sifatnya. Semua atribut pada Gambar 3. dinamakan atribut atomik (atomic) atau sederhana (simple) karena tidak dapat dibagi menjadi beberapa atribut yang lebih kecil. Kebalikannya adalah atribut komposit (composite) karena tersusun dari sejumlah atribut lain, misalnya atribut Alamat yang dapat dibagi menjadi atribut Jalan, Kota, KodePos, dan Propinsi. Atribut komposit berguna bila perlu dilakukan pengacuan kepada suatu atribut sebagai satu kesatuan ataupun kepada komponen atribut komposit tersebut. Sebuah atribut disebut bernilai tunggal (single-valued) bila atribut tersebut hanya mempunyai satu nilai. Contohnya adalah atribut Umur yang hanya mempunyai sebuah nilai (tidak mungkin seseorang mempunyai dua buah umur). Sebaliknya atribut yang mungkin mempunyai beberapa nilai disebut bernilai jamak (multi-valued). Contohnya untuk atribut Pendidikan, seseorang mungkin hanya mempunyai ijazah S-, atau ijazah S- dan S-2, atau tidak sama sekali. Dalam beberapa kasus, dua atau lebih atribut bisa saling terhubung, misalnya antara atribut Umur dan TanggalLahir. ilai atribut Umur dapat ditentukan dari selisih antara tanggal sekarang dengan nilai atribut TanggalLahir. Atribut seperti Umur dikatakan sebagai atribut turunan (derived attribute). Atribut lain yang nilainya harus disimpan dan tidak bisa ditentukan dari atribut lain disebut sebagai stored attribute. 3..2 ilai ull Suatu entitas mungkin mempunyai nilai atribut yang tidak sesuai. Sebagai contoh adalah atribut JumlahAnak yang hanya sesuai bagi orang yang sudah berkeluarga. Bagi yang belum berkeluarga atau tidak mempunyai anak, maka atributnya tidak memiliki nilai. Bila sebuah entitas tidak mempunyai nilai yang sesuai, maka kepada atributnya diberikan nilai khusus yang disebut nilai null. ilai null menyatakan: Tidak ada nilai yang sesuai untuk atribut tersebut (not applicable), misalnya atribut JumlahAnak yang berisi null karena seseorang yang tidak mempunyai anak. ilai untuk atribut tidak diketahui, dalam bentuk: o ilainya tidak ada (nilainya seharusnya ada, tetapi informasi tersebut tidak diketahui). Sebagai contoh, null terpaksa diberikan kepada atribut ama karena nama seseorang tidak diketahui (setiap orang pasti mempunyai nama, tetapi informasinya saat ini tidak diketahui) o Tidak ada informasi apakah nilainya ada atau tidak. Contohnya, atribut Status diberi nilai null karena status perkawinan sesorang yang tidak diketahui. Basis Data Darmawan Satyananda 24

3..3 Tipe Entitas (Entity Type) dan Himpunan Entitas (Entity Set) Sebuah basis data terdiri dari sekelompok entitas dengan atribut yang sama. Bila entitas-entitas dengan atribut yang sama dikelompokkan, maka bisa dikatakan entitasentitas tersebut mempunyai tipe entitas (entity type) yang sama. Tipe entitas mencatat daftar atribut entitas-entitas yang sekelompok dan tipe entitas ini diberi nama tertentu. Gambar 3.2 menunjukkan tipe entitas MATAKULIAH dan daftar atribut yang dipunyai. Tipe entitas menjadi skema atau intension bagi entitas yang mempunyai struktur yang sama. Sekumpulan entitas dengan tipe entitas yang sama disebut sebagai himpunan entitas (entity set). Perhatikan bahwa himpunan entitas mengelompokkan data, sedangkan tipe entitas mencatat strukturnya. Himpunan entitas biasanya bernama sama dengan tipe entitas. Himpunan entitas juga sebagai extension dari tipe entitas. Entitas tunggalnya sendiri dinamakan dengan instance. Pada Gambar 3.2. terdapat lima instance. Untuk setiap himpunan entitas, tidak dimungkinkan ada entitas yang sama. Pengertian sama adalah semua atributnya bernilai sama. SKEMA (ITESIO) MATAKULIAH Kode_MK, ama_mk, SKS, JS, Semester, Prasyarat ISTACE (EXTESIO) MAU 40 MAU 402 MAU 485 MAU 487 MAU 423 Kalkulus I Kalkulus II Fisika Dasar I Kimia Dasar I Metode umerik 3 3 3 2 3 4 4 4 4 4 2 5 MAU 40 MAU 402 Gambar 3.2 Sebuah himpunan entitas dan beberapa entitas anggotanya. Sebuah basis data mempunyai sejumlah himpunan entitas yang berbeda. Masingmasing hanya berisi maksud yang sejenis saja. Sebagai contoh, basis data mengenai data akademik pada sebuah universitas. Pada basis data itu bisa dipunyai himpunan entitas DOSE, MAHASISWA, MATAKULIAH, RUAG_KULIAH, ILAI, dan sebagainya. Entitas dalam sebuah himpunan entitas bisa juga ada pada himpunan entitas lain dengan makna yang berbeda. Misalnya entitas seorang mahasiswa bisa jadi sebagai anggota dari himpunan entitas ASABAH pada sebuah bank. 3..4 Kunci Suatu Entitas Untuk dapat mengidentifikasi secara unik sebuah entitas dalam himpunan entitas, maka diperlukan sebuah atribut yang nilainya berbeda untuk setiap entitas individualnya. Atribut demikian disebut pengenal (identifier) atau atribut kunci (key attribute). Untuk himpunan entitas MATAKULIAH pada contoh di atas, atribut yang bisa menjadi kunci Basis Data Darmawan Satyananda 25

adalah Kode_MK, karena tidak ada mata kuliah yang mempunyai kode mata kuliah yang sama. Bila sebuah atribut saja tidak dapat menjadi pembeda, maka dapat digunakan kombinasi beberapa atribut, selama kombinasi tersebut memberikan nilai yang berbeda untuk setiap entitas. Kunci super (superkey) adalah himpunan satu atau lebih atribut yang apabila digunakan secara bersama memungkinkan untuk mengenali sebuah entitas dalam himpunan entitas. Kode_MK pada himpunan entitas MATAKULIAH adalah kunci super. Kombinasi Kode_MK dengan SKS juga merupakan kunci super, tetapi SKS sendiri bukan kunci super karena ada nilai SKS yang sama dalam sebuah himpunan entitas. Dengan demikian bila K adalah kunci super, maka semua superset K adalah kunci super. Kunci super yang tidak mempunyai subset berupa kunci super disebut dengan kunci kandidat (candidate key). Singkatnya, kunci kandidat adalah satu atau sekumpulan atribut yang berpeluang menjadi pengenal. Sebuah himpunan entitas mungkin mempunyai beberapa kunci kandidat, misalnya pada data mobil bisa dipunyai kunci kandidat omorpolisi, omormesin, omorrangka. Ketiganya berpeluang menjadi pengenal karena masing-masing memiliki nilai yang unik. Kunci kandidat yang terpilih menjadi pengenal disebut dengan kunci primer (primary key). ilai kunci yang dipilih menjadi kunci super sebaiknya adalah nilai yang tidak mungkin berubah, karena perubahan yang terjadi dapat menghasilkan atribut yang bernilai sama, sehingga atribut tersebut tidak dapat lagi menjadi kunci. Himpunan entitas juga dimungkinkan untuk mempunyai lebih dari satu atribut kunci, atau tidak mempunyai kunci sama sekali. Himpunan entitas yang tidak mempunyai kunci disebut dengan weak entity set (dibahas pada sub bab 3.5). 3..5 Domain Suatu Atribut Domain (himpunan nilai/value set) adalah suatu nilai yang mungkin bagi suatu atribut. Sebagai contoh, domain dari atribut ama adalah sekumpulan karakter alfabet yang dipisahkan oleh spasi dan tidak mengandung angka; domain dari atribut IPK untuk entitas mahasiswa adalah bilangan pecahan positif 0.00 sampai 4.00. 3.2 Keterhubungan (Relationship) Untuk ilustrasi dari beberapa hal yang akan dijelaskan pada sub bab 3.2 dan 3.3, akan digunakan permasalahan yang terjadi pada lingkup universitas. Dalam sebuah jurusan (yang dikepalai oleh seorang ketua jurusan) terdapat sejumlah dosen dan mahasiswa. Setiap mahasiswa memiliki dosen wali (penasihat akademik) dan seorang dosen bisa menjadi dosen wali bagi sejumlah mahasiswa. Dosen tersebut masing-masing menempati ruangan kerja tertentu, sedangkan satu ruang hanya bisa diisi seorang dosen. Dalam hal pengajaran, seorang dosen bisa mengajar sejumlah matakuliah, Basis Data Darmawan Satyananda 26

masing-masing pada ruangan kelas tertentu. Satu matakuliah hanya bisa diajar oleh seorang dosen. Mahasiswa bisa mengambil sejumlah matakuliah yang disediakan dan mendapat nilai atas kuliah yang diikutinya. Dari permasalahan tersebut himpunan entitas yang ada adalah: MAHASISWA: IM, ama, DosenWali DOSE: IP, amadosen, RuangKerja MATAKULIAH: KodeMK, amamk, SKS, JS, Dosen, RuangKuliah RUAG_KULIAH: KodeRuangKuliah, Kapasitas RUAG_KERJA: KodeRuangKerja, otelepon Bagaimana cara menyusun himpunan entitas dan atribut, akan dibahas lebih lanjut pada sub bab 3.4. Di dalam suatu basis data, antar himpunan entitas dimungkinkan terjadi keterhubungan atau relasi (relationship) untuk mencerminkan kondisi yang terjadi di dunia nyata. Misal pada basis data tentang sistem akademik universitas di atas. Bila dinyatakan bahwa setiap mahasiswa pasti mempunyai seorang dosen wali (dosen penasihat akademik), maka kita bisa merelasikan kedua himpunan entitas itu. Relasi terjadi antar entitas mahasiswa dengan entitas dosen. 3.2. Himpunan Relasi Himpunan relasi (Relationship Set) adalah semua relasi dengan jenis (type) yang sama, atau bisa dikatakan sebagai semua relasi yang terjadi pada himpunanhimpunan entitas yang saling berelasi. Sebuah relasi yang terjadi pada satu waktu dinamakan dengan relationship instance. Setiap entitas yang saling terhubung tersebut dikatakan "berpartisipasi" dalam relasi. Gambar 3.3 Himpunan relasi MEMILIKI antara MAHASISWA dan DOSE. Untuk memperjelas, himpunan relasi diberi nama tertentu. Gambar 3.3 menunjukkan himpunan relasi yang terjadi antara MAHASISWA dan DOSE (relasinya diberi nama MEMILIKI). Penamaan relasi dapat menggunakan kata kerja (seperti Basis Data Darmawan Satyananda 27

BEKERJA_DI) ataupun kata benda (seperti ASABAH), tergantung makna dari entitas yang berelasi. 3.2.2 Derajat Himpunan Relasi Derajat dari suatu himpunan relasi adalah banyaknya himpunan entitas yang berpartisipasi. Pada dasarnya himpunan entitas yang berpartisipasi bisa berapapun, tetapi yang umum adalah berderajat satu (uner), berderajat dua (biner), dan tiga (terner). Semakin besar derajatnya, semakin sulit pemahaman dan implementasinya. Himpunan relasi MEMILIKI antara MAHASISWA dan DOSE pada Gambar 3.3 berderajat dua. Secara umum, himpunan relasi terner memberikan informasi yang lebih banyak daripada relasi biner. Contoh dari relasi terner dapat dilihat pada Gambar 3.4. Pada contoh tersebut dapat dilihat himpunan relasi MEGAJAR pada tiga himpunan entitas (DOSE, MATAKULIAH, RUAG_KULIAH), yang menerangkan dosen yang mengajar matakuliah tertentu pada ruangan tertentu. Gambar 3.4 Relasi terner MEGAJAR 3.2.3 ama Peran dan Relasi Rekursif Setiap himpunan entitas yang berpartisipasi di dalam sebuah himpunan relasi disebut memainkan peran (role) dalam suatu relasi. ama peran (role name) menyatakan peran yang dilakukan oleh entitas dalam suatu relasi. Pada himpunan relasi MEMILIKI (Gambar 3.3), entitas dosen berperan sebagai dosen wali dan entitas mahasiswa berperan sebagai yang memiliki dosen wali. Basis Data Darmawan Satyananda 28

ama peran tidak diperlukan apabila dalam suatu relasi semua entitas yang berpartisipasi adalah jelas/nyata. Apabila suatu himpunan entitas yang sama berpartisipasi lebih dari sekali dalam suatu himpunan relasi dengan peran yang berbeda, barulah nama ini menjadi penting untuk membedakan makna dari setiap partisipasinya (sebagai klarifikasi atas arti dari relasi tersebut). Relasi yang melibatkan sebuah himpunan entitas yang masing-masing mempunyai peran yang berbeda disebut dengan relasi rekursif. Contohnya adalah himpunan relasi MEGAWASI yang menghubungkan ketua jurusan dengan dosen di mana keduanya adalah anggota dari himpunan entitas DOSE. Himpunan entitas DOSE berpartisipasi dua kali dalam relasi ini, sebagai pengawas dan sebagai yang diawasi. Angka "" pada Gambar 3.5 menunjukkan peran sebagai pengawas dan angka "2" sebagai yang diawasi. Gambar 3.5 Relasi rekursif MEGAWASI. 3.2.4 Aturan Dalam Himpunan Relasi Himpunan relasi mempunyai aturan (constraint) yang membatasi kombinasi yang mungkin antara entitas yang berpartisipasi dalam suatu himpunan relasi. Contohnya bila dinyatakan bahwa suatu fakultas hanya dapat dipimpin oleh satu orang, maka hanya ada satu relasi yang menghubungkan salah satu entitas di DOSE dengan salah satu entitas di FAKULTAS, dan tidak dimungkinkan ada relasi lain yang melanggar ketentuan tersebut. Ada dua jenis utama aturan untuk relasi, yaitu rasio kardinalitas (cardinality ratio) dan partisipasi (participation). Keduanya secara bersamaan dinamakan aturan struktural (structural constraints). 3.2.4. Rasio Kardinalitas Rasio kardinalitas disebut juga sebagai kardinalitas pemetaan (mapping cardinalities). Aturan ini menyatakan banyaknya entitas yang dapat diasosiasikan Peter Rob (2004) menyebutnya sebagai connectivity. Basis Data Darmawan Satyananda 29

(dihubungkan) dengan entitas lain melalui suatu himpunan relasi, atau dengan kata lain adalah banyaknya asosiasi yang bisa dimiliki oleh sebuah entitas. Untuk himpunan relasi biner R antara himpunan entitas A dan B, rasio kardinalitas yang mungkin adalah: :, :, :, M:. Penentuan kardinalitasnya bergantung kepada situasi yang dimodelkan oleh model E-R. Dalam relasi : (one to one) sebuah entitas di A diasosiasikan dengan paling banyak sebuah entitas di B, dan sebuah entitas di B diasosiasikan dengan paling banyak sebuah entitas di A. Pengertian paling banyak bisa juga menyatakan tidak ada asosiasi. Contohnya bila dinyatakan bahwa seorang dosen bisa menempati ruang kerja tertentu dan ruang kerja itu hanya untuk satu orang dosen saja, maka himpunan relasi yang terjadi bisa dilihat pada Gambar 3.6. Himpunan relasi MEEMPATI terjadi antara himpunan entitas DOSE dengan himpunan entitas RUAG_KERJA. Gambar 3.6 Relasi MEEMPATI : antara DOSE dengan RUAG_KERJA. Pada relasi : (one to many), sebuah entitas di A diasosiasikan dengan sembarang (nol atau lebih) entitas di B, sedangkan sebuah entitas di B hanya dapat diasosiasikan dengan paling banyak sebuah entitas di A. Contohnya adalah himpunan relasi rekursif MEGAWASI (Gambar 3.5), seorang dosen (sebagai ketua jurusan) bisa mengawasi beberapa dosen sekaligus dan seorang dosen hanya mempunyai seorang dosen sebagai pengawas. Relasi : (many to one) merupakan kebalikan dari relasi :, sebuah entitas di A diasosiasikan dengan paling banyak sebuah entitas di B, sedangkan sebuah entitas di B dapat diasosiasikan dengan sembarang (nol atau lebih) entitas di A. Contohnya adalah himpunan relasi MEMILIKI yang menghubungkan himpunan entitas MAHASISWA dan DOSE (Gambar 3.3). Seorang mahasiswa hanya memiliki satu dosen wali, sedangkan seorang dosen wali menjadi wali bagi beberapa mahasiswa. Antara : dan : sebenarnya sama saja, tergantung dari sisi mana kita melihat permasalahannya. Pada relasi M: (many to many), sebuah entitas di A dapat diasosiasikan dengan sembarang (nol atau lebih) entitas di B, demikian juga sebuah entitas di B dapat Basis Data Darmawan Satyananda 30

diasosiasikan dengan sembarang (nol atau lebih) entitas di A. Contohnya adalah himpunan relasi MEGAMBIL antara MAHASISWA dan MATAKULIAH (Gambar 3.7). Seorang mahasiswa bisa mengambil beberapa matakuliah sekaligus, demikian juga sebuah matakuliah bisa diikuti lebih dari satu mahasiswa. Gambar 3.7 Relasi M: antara MAHASISWA dengan MATAKULIAH. 3.2.4.2 Aturan Partisipasi Aturan partisipasi menyatakan apakah keberadaan suatu entitas dalam suatu himpunan relasi tergantung pada entitas lain. Ada dua macam aturan partisipasi yaitu partisipasi total dan partisipasi sebagian (partial). Sebagai contoh adalah relasi antara entitas mahasiswa dan dosen yang menyatakan bahwa setiap mahasiswa harus mempunyai dosen wali, tetapi mungkin saja seorang dosen tidak menjadi dosen wali. Dengan demikian entitas mahasiswa harus berpartisipasi dalam relasi MEMILIKI, artinya bahwa tidak mungkin seorang mahasiswa tidak mempunyai dosen wali (Gambar 3.3). Partisipasi dari MAHASISWA dalam relasi MEMILIKI dikatakan total. Partisipasi total disebut juga ketergantungan (existence dependency). Bila keberadaan (eksistensi) entitas x tergantung kepada keberadaan entitas y, maka x dikatakan tergantung kepada y. Entitas y disebut sebagai entitas dominan (dominant entity) dan entitas x disebut entitas subordinat (subordinate entity). Partisipasi DOSE dalam relasi MEMILIKI dikatakan sebagai partisipasi parsial. Artinya bahwa tidak semua dosen menjadi dosen wali, hanya sebagian saja. 3.2.5 Atribut Himpunan Relasi Perhatikan himpunan relasi MEGAMBIL pada Gambar 3.7, seorang mahasiswa bisa mengambil lebih dari satu matakuliah dan satu matakuliah diikuti oleh lebih dari satu mahasiswa. Sifat relasi adalah bila sebuah entitas sudah berpartisipasi dalam relasi dengan sebuah entitas lain, maka keduanya tidak akan bisa berelasi lagi. Misal entitas mahasiswa Ali sudah berelasi dengan entitas Kalkulus I, maka kedua entitas ini tidak bisa Basis Data Darmawan Satyananda 3

berelasi lagi. Bagaimana menyatakan bahwa mungkin saja seorang mahasiswa mengambil matakuliah yang sama lebih dari sekali? Untuk mengatasi masalah itu, pada setiap relasi ditambahkan atribut relasi. Aribut relasi berfungsi sebagai atribut pembeda, digunakan untuk membedakan sebuah relasi dari relasi lain dalam himpunan relasi. Pembedaan ini diperlukan bila entitas yang berpartisipasi dalam beberapa relasi adalah sama. Kembali pada fakta mahasiswa yang bisa mengambil matakuliah yang sama lebih dari sekali, untuk membedakan relasi yang terjadi bisa ditambahkan atribut TahunAmbil pada himpunan relasi MEGAMBIL. Misalkan Ali sudah mengambil Kalkulus I pada tahun 2004, dia bisa mengambil lagi pada tahun 2005. Dengan demikian dipunyai dua relasi untuk entitas yang sama dan dibedakan dari tahun pengambilan. Kegunaan lain atribut relasi adalah sebagai informasi tambahan terhadap sebuah relasi. Untuk kegunaan ini, atribut relasi disebut dengan atribut penjelas (descriptive attribute). Kembali pada himpunan relasi MEGAMBIL, bagaimana caranya mencatat nilai matakuliah yang diambil? Untuk ini diperlukan sebuah atribut lagi yaitu ilai. Permasalahannya, diletakkan di mana atribut ilai ini? Penentuan letak suatu atribut baru didasarkan pada kardinalitasnya. Untuk relasi dengan kardinalitas :, atribut relasi dapat diletakkan pada salah satu entitas yang berpartisipasi. Untuk relasi :, contohnya adalah relasi MEEMPATI antara himpunan entitas DOSE dan RUAG_KERJA. Kita bisa menambahkan atribut TglMulai yang menyatakan tanggal mulai seorang dosen menempati ruang kerjanya. Atribut tersebut dapat diletakkan pada himpunan entitas DOSE atau RUAG_KERJA karena relasinya adalah : sehingga hanya sebuah entitas yang tepat berpartisipasi dengan sebuah entitas lainnya. Tidak ada bedanya diletakkan di sisi mana, karena bila sudah berpartisipasi kedua entitas tersebut tidak akan membentuk relasi yang lain. Untuk relasi : dan :, atribut dapat diletakkan pada sisi dari relasi. Contoh relasinya adalah pada relasi BEKERJA_DI antara himpunan entitas DOSE dan JURUSA. Sebuah jurusan mempunyai sejumlah dosen, dan sebaliknya satu dosen hanya bekerja di satu jurusan. Bila ingin mencatat kapan seorang dosen mulai bekerja di jurusan tertentu, kita bisa memasukkan atribut TglMulai pada himpunan entitas DOSE. Hal ini dikarenakan setiap entitas DOSE berpartisipasi hanya dengan sebuah entitas pada JURUSA. TglMulai tidak mungkin dimasukkan ke JURUSA karena hanya ada satu entitas jurusan yang berelasi dengan sejumlah entitas dosen. Pada relationship M: atribut tersebut harus dinyatakan sebagai atribut relasi. Contohnya adalah untuk himpunan relasi MEGAMBIL dapat dimasukkan atribut ilai sebagai atribut relasi, karena ilai baru bisa diisikan setelah seorang mahasiswa mengambil matakuliah tertentu. Atribut ilai tidak bisa diletakkan di entitas mahasiswa Basis Data Darmawan Satyananda 32

karena mahasiswa pasti punya lebih dari satu nilai, dan tidak juga di entitas matakuliah karena satu matakuliah akan diambil banyak mahasiswa. 3.3 Himpunan Entitas Lemah (Weak entity set) Kebanyakan himpunan entitas keberadaannya tidak saling tergantung dengan himpunan entitas lain, misalnya antara MAHASISWA dengan DOSE pada himpunan relasi MEMILIKI. Walaupun dinyatakan seorang mahasiswa memiliki dosen wali (ada keterhubungan di antara keduanya), tetapi keberadaan entitas dari kedua himpunan entitas tersebut tidak saling tergantung. Tidak semua dosen menjadi dosen wali dan sebaliknya, kita bisa menyimpan informasi mahasiswa yang belum mempunyai dosen wali, kalau memang mahasiswa itu baru diterima. Himpunan entitas yang keberadaannya tidak saling tergantung ini dinamakan himpunan entitas kuat (strong entity set). Sebaliknya, himpunan entitas lemah (weak entity set) adalah himpunan entitas yang keberadaannya tergantung kepada himpunan entitas lain. Contoh kasusnya: adalah penelitian yang dilakukan oleh paling banyak dua orang dosen. Untuk kasus ini, terdapat himpunan entitas PEELITIA dengan atribut: JudulPenelitian, Waktu, Dana, Dosen, Dosen2. Kita bisa membentuk himpunan relasi MELAKUKA antara himpunan entitas DOSE dan PEELITIA. Perhatikan bahwa setiap entitas di PEELITIA pasti dan selalu tergantung dengan entitas di DOSE karena tidak mungkin ada penelitian tanpa ada dosen peneliti. Himpunan entitas yang keberadaannya tergantung ini (misalnya PEELITIA) dinamakan himpunan entitas lemah (weak entity set). Tanpa ada entitas yang menjadi tempat bergantung, entitas di himpunan entitas lemah tidak mempunyai arti. Himpunan entitas yang menjadi tempat bergantung disebut pemilik pengenal (identifying owner) dan keterhubungan yang menghubungkan keduanya disebut keterhubungan pengenal (identifying relationship). Himpunan entitas lemah selalu mempunyai partisipasi total karena tidak mungkin kita mengidentifikasi entitas lemah tanpa entitas pemilik, tapi tidak selalu setiap existence dependency adalah himpunan entitas lemah. Selain dari makna yang terkandung, ciri lain adalah dari atribut kuncinya. Himpunan entitas kuat selalu mempunyai atribut kunci untuk membedakan entitasentitas di dalamnya, sedangkan himpunan entitas lemah tidak mempunyai atribut kunci. Yang dipunyai himpunan entitas lemah adalah kunci parsial (partial key), dan kunci parsial ini belum bisa digunakan sebagai pengenal unik bila tidak dikombinasikan dengan kunci entitas pemiliknya. Jadi pada contoh di atas, kunci parsial himpunan entitas PEELITIA adalah JudulPenelitian dan kombinasi dengan kunci himpunan entitas DOSE yaitu IP baru bisa digunakan sebagai pengenal di dalam himpunan entitas Basis Data Darmawan Satyananda 33

MEMPUYAI. 3.4 Penggunaan Model E-R Tahapan pengembangan sistem basis data diawali dengan pengamatan dan identifikasi permasalahan, untuk kemudian menghasilkan sebuah business rule. Seperti yang disebutkan pada bab II, identifikasi dilakukan dengan melihat proses yang berjalan (baik secara manual maupun dari sistem yang lama), data apa yang digunakan, dokumen yang digunakan, siapa yang terlibat, dan hal-hal lain yang terkait. Selanjutnya dilakukan pencarian data baru yang mendukung kebutuhan sistem. 3.4. Business Rule Business rule adalah pernyataan yang menentukan atau membatasi beberapa aspek bisnis (Hoffer, 2002), atau deskripsi yang jelas dan tidak ambigu mengenai kebijakan atau prosedur dalam suatu lingkungan organisasi (Rob, 2004). Bentuknya adalah narasi yang mudah dipahami pengembang dan pengguna sistem, sehingga menghindari kesalahpahaman. Contoh sebuah business rule untuk sistem informasi akademik: Seorang mahasiswa bisa mengambil sebuah matakuliah bila dia sudah lulus pada matakuliah prasyarat Setiap matakuliah terdiri dari beberapa kelas paralel (offering) dan mahasiswa hanya diperkenankan mengambil satu kelas tertentu untuk matakuliah yang dipilihnya. Dosen bisa mengajar pada lebih dari satu kelas paralel untuk matakuliah yang sama, atau mengajar pada kelas paralel untuk matakuliah lain. Untuk memperjelas, bisa juga dibuat definisi data. Contohnya sebagai berikut: Kelas paralel (offering) adalah kelas yang diadakan untuk matakuliah tertentu. Setiap matakuliah minimal mempunyai satu kelas paralel. Untuk pertimbangan tertentu, kelas-kelas ini mungkin digabung menjadi satu. Sumber business rule dalam suatu organisasi adalah pemimpin atau manajer yang mengeluarkan kebijakan, dokumen tertulis, dan adalah orang yang ada dalam suatu organisasi maupun yang terlibat dalam sistem. Berdasarkan business rule inilah database dewsigner selanjutnya merancang sistem basis data. Perancangannya didasarkan pada model data tertentu, misalkan model Entity-Relationship. Perancangan dilakukan dengan membuat diagram E-R yang menggambarkan himpunan entitas, atributnya, keterhubungannya, dan kardinalitasnya. 3.4.2 Contoh Kasus: Sistem Basis Data PERUSAHAA Yang akan digunakan sebagai studi kasus adalah basis data PERUSAHAA yang menyimpan informasi mengenai karyawan yang bekerja pada sebuah perusahaan, Basis Data Darmawan Satyananda 34

departemen tempat bekerja dan proyek yang ditanganinya. Business rule yang bisa disusun dari tahapan identifikasi adalah:. Perusahaan ini terbagi atas beberapa departemen. Setiap departemen mempunyai nama, kode departemen, dan seorang karyawan sebagai manajer yang memimpin departemen. Terdapat catatan mengenai tanggal awal seorang karyawan memimpin departemen ini. Sebuah departemen mempunyai beberapa lokasi pekerjaan. 2. Sebuah departemen mengontrol beberapa proyek, setiap proyek mempunyai nama proyek, kode proyek, dan lokasi proyek berada. 3. Untuk setiap karyawan dicatat nama karyawan, nomor induk, alamat, gaji, jenis kelamin, dan tanggal lahir. Seorang karyawan hanya tercatat pada departemen tertentu tetapi dapat bekerja pada beberapa proyek sekaligus. Proyek ini dapat dikontrol oleh beberapa departemen. Selain itu juga dicatat jumlah jam kerja per minggu untuk setiap proyek yang diikutinya. 4. Untuk keperluan asuransi dan tunjangan, untuk setiap karyawan dicatat nama anggota keluarga, jenis kelamin, tanggal lahir, dan hubungan keluarganya. Langkah pertama pemodelan dengan E-R adalah menentukan himpunan entitasnya. Sebagai panduan, ciri dari entitas adalah biasanya menggunakan kata benda. Tetapi yang paling pokok adalah apakah kata benda itu mempunyai sesuatu data yang harus disimpan. Kalau memang ada, besar kemungkinan itu adalah entitas. Data yang disimpan dinyatakan sebagai atribut. Dengan demikian dari permasalahan di atas dapat ditentukan entitasnya sebagai berikut:. Himpunan entitas DEPARTEME dengan atribut amadepartemen, KodeDepartemen, Lokasi, Manajer, TglMulaiManajer. Lokasi adalah atribut yang bernilai jamak. amadepartemen dan KodeDepartemen adalah atribut kunci karena tidak ada departemen yang bernama sama. 2. Himpunan entitas PROYEK dengan atribut amaproyek, KodeProyek, Lokasi, DeptPengontrol. Seperti halnya pada Departemen, amaproyek dan KodeProyek adalah atribut kunci. 3. Himpunan entitas KARYAWA dengan atribut amakaryawan, IP, JenisKlm, Alamat, Gaji, Departemen, dan Pengawas. Alamat dapat berupa atribut komposit. 4. Himpunan entitas TAGGUGA dengan atribut Karyawan, amatanggungan, JenisKlm, TglLahir, dan Hubungan. Alternatifnya, himpunan entitas yang ditemukan bisa dituliskan dalam bentuk lain untuk menyatakan atribut komposit atau atribut jamak, sebagai berikut: DEPARTEME: amadepartemen, KodeDepartemen, {Lokasi}, Manajer, TglMulaiManajer PROYEK: amaproyek, KodeProyek, Lokasi, DeptPengontrol Basis Data Darmawan Satyananda 35

KARYAWA: amakaryawan, IP, JenisKlm, Alamat, Gaji, Departemen, Pengawas, {BekerjaDi(Proyek, JamKerja)} TAGGUGA: Karyawan, amatanggungan, JenisKlm, TglLahir, Hubungan Untuk karyawan yang bekerja pada beberapa proyek, dapat digunakan atribut komposit BekerjaDi dengan komponen simpel (Proyek, JamKerja). Tanda kurung { dan } menyatakan bahwa atribut tersebut adalah bernilai jamak. Dari himpunan entitas yang ditemukan, lihat kembali business rule-nya untuk mencari keterhubungan atau relasi yang mungkin. Tentukan juga kardinalitasnya. Himpunan relasi yang bisa ditemukan dari business rule di atas adalah sebagai berikut:. MEMIMPI, himpunan relasi : antara KARYAWA dan DEPARTEME. Partisipasi KARYAWA adalah parsial, sedangkan DEPARTEME partisipasinya belum jelas. Bila seorang karyawan hanya bisa memimpin departemen, maka partisipasinya adalah total. Sebuah atribut TglMulaiManajer ditambahkan dalam relasi ini. 2. MEMPUYAI, adalah himpunan relasi : antara DEPARTEME dan KARYAWA. Partisipasi keduanya adalah total. 3. MEGEDALIKA, himpunan relasi : antara DEPARTEME dan PROYEK. Partisipasi PROYEK adalah total, sedangkan DEPARTEME adalah parsial. 4. MEGAWASI, suatu himpunan relasi : antara KARYAWA (dengan peran sebagai pengawas) dan KARYAWA (yang diawasi). Partisipasi keduanya adalah parsial karena tidak semua karyawan adalah manajer dan tidak semua karyawan mempunyai seorang pengawas. 5. BEKERJA_DI, adalah relasi M: antara KARYAWA dengan PROYEK, dengan atribut relasinya adalah JamKerja yang menyatakan jumlah jam kerja seorang karyawan bekerja pada suatu proyek. Partisipasi keduanya adalah total. 6. MEAGGUG adalah relasi : antara KARYAWA dan TAGGUGA, yang juga sebagai relasi pengenal untuk himpunan entitas lemah TAGGUGA. Partisipasi dari KARYAWA adalah parsial, sedangkan untuk TAGGUGA adalah total. Penemuan relasi ini berakibat hilangnya beberapa atribut yang redundan, yang bisa diwakili oleh relasi. Atribut yang dihilangkan antara lain Manajer dan TglMulaiManajer dari DEPARTEME, DeptPengontrol dari PROYEK, Departemen, Pengawas, dan BekerjaDi untuk KARYAWA, dan Karyawan dari TAGGUGA. Setelah menemukan atribut dan relasinya, maka langkah selanjutnya adalah menentukan salah satu atrinbut sebagai pengenal. Carilah atribut yang mempunyai nilai yang tidak mungkin ganda atau berubah menjadi ganda. Atribut kunci atau pengenal yang ditemukan untuk setiap himpunan relasi adalah sebagai berikut: DEPARTEME: KodeDepartemen (Walaupun KodeDepartemen dan amadepartemen sama-sama mempunyai nilai unik, KodeDepartemen dipilih karena Basis Data Darmawan Satyananda 36

peluang untuk mempunyai nilai ganda lebih kecil) PROYEK: KodeProyek (Kunci kandidatnya adalah KodeProyek dan amaproyek, alasan terpilihnya KodeProyek sama dengan alasan untuk DEPARTEME) KARYAWA: IP (Karena mungkin ada amakaryawan yang ganda) TAGGUGA: amatanggungan (amatanggungan dipilih karena inilah atribut yang paling mungkin bernilai unik, selanjutnya dikombinasikan dengan pengenal KARYAWA, yaitu oinduk). 3.5 Diagram E-R Keseluruhan struktur logis suatu basis data dalam model Entity-Relationship dapat disajikan secara grafis dengan diagram E-R. Komponen yang ada dalam diagram E- R dapat dilihat pada Gambar 3.8. = Entitas = Entitas lemah = Relationship = Relasi pengenal = Atribut = Atribut kunci = Atribut bernilai jamak = Atribut turunan = Atribut komposit E R E 2 = Partisipasi total E 2 di R E R E 2 = Rasio kardinalitas : dari E :E 2 di R. R (min, max) E = Aturan struktural (min, max) pada partisipasi E di R Gambar 3.8 otasi diagram E-R. Gambar 3.9 menunjukkan diagram E-R secara keseluruhan untuk contoh basis data PERUSAHAA. Himpunan entitas ditunjukkan dengan bentuk persegi panjang dan himpunan relasi ditunjukkan dengan bentuk belah ketupat yang terhubung dengan himpunan entitas yang berpartisipasi dalam relasi tersebut. Atribut ditunjukkan dalam Basis Data Darmawan Satyananda 37

bentuk lonjong yang terhubung dengan himpunan entitas atau himpunan relasi. Komponen atribut komposit dihubungkan dengan atribut kompositnya. Atribut bernilai jamak ditunjukkan dalam bentuk lonjong bergaris ganda dan atribut turunan ditunjukkan dalam bentuk lonjong bergaris putus-putus. Atribut kunci ditulis dengan garis bawah. Himpunan entitas lemah dibedakan dari himpunan entitas lainnya dengan bentuk persegi panjang bergaris ganda, dan relasi pengenalnya bergaris ganda juga. Kunci parsial dari himpunan entitas lemah ditulis bergaris bawah putus-putus. amadepartemen KodeDepartemen Gaji IP amakaryawan JenisKlm MEMPUYAI JumKaryawan Lokasi TglLahir KARYAWA TglMulaiManajer DEPARTEME Alamat pengawas yg diawasi MEMIMPI MEGOTROL MEGAWASI JamKerja M BEKERJA_DI PROYEK MEAGGUG amaproyek KodeProyek LokasiProyek TAGGUGA amatanggungan JenisKlm TglLahir Hubungan Gambar 3.9 Diagram E-R untuk basis data PERUSAHAA. 3.5. otasi Alternatif Aturan struktural Sebagai alternatif dari kedua aturan struktural yang telah disebutkan (sub bab 3.2.4), dapat juga ditambahkan notasi (min, max) pada diagram E-R untuk menyatakan relasi minimum dan maksimum yang mungkin terjadi antara dua himpunan entitas. Contohnya relasi MEMPUYAI antara DEPARTEME dengan KARYAWA dengan rasio kardinalitas :M. Pada sisi KARYAWA dapat dituliskan (,) yang menyatakan bahwa karyawan minimal bekerja pada departemen, dan maksimal bekerja pada departemen. Pada sisi DEPARTEME, dapat dituliskan (2,n), artinya bahwa seorang Basis Data Darmawan Satyananda 38

departemen tersebut minimal mempunyai 2 karyawan, dan maksimal mempunyai n karyawan. Contoh penggambarannya dapat dilihat pada Gambar 3.0. Hati-hati, penulisan notasi ini berkebalikan dengan penulisan rasio kardinalitas. Hoffer (2002) menyebut notasi ini sebagai cardinality constraints dan Peter Rob (2004) menyebutnya sebagai cardinality. Karena ada banyak macam notasi diagram E- R, perlu juga diperhatikan bahwa ada diagram yang menggambarkannya dalam posisi yang terbalik. Jadi (2,n) ditulis pada sisi KARYAWA dan (,) pada sisi DEPARTEME. KARYAWA (,) (2,n) MEMPUYAI DEPARTEME Gambar 3.0 Contoh penggambaran notasi alternatif aturan struktural. 3.5.2 Penyempurnaan Diagram E-R Diagram yang dihasilkan belum tentu sempurna, masih ada hal-hal yang bisa diubah. Ingatlah bahwa proses perancangan adalah iteratif, seorang perancang bisa kembali ke tahapan sebelumnya sampai didapatkan hasil yang dianggap sempurna. Perbaikan yang bisa dilakukan terhadap diagram yang sudah dibentuk adalah:. Sebuah konsep pada awalnya bisa dimodelkan sebagai atribut, tetapi pada saat penggambarannya bisa dimodelkan menjadi relationship karena atribut itu mengacu pada atribut di himpunan entitas lain. Konsekuensinya, atribut yang mengacu (atribut yang redundan) tadi bisa dihilangkan. Hal ini sudah dibahas pada sub bab 3.4.2. 2. Atribut yang muncul pada beberapa himpunan entitas bisa dijadikan sebagai entitas tersendiri. Kembali pada contoh tentang sistem akademik, seandainya pada awalnya himpunan entitas DOSE, MAHASISWA, MATAKULIAH sama-sama mempunyai atribut Jurusan, kita bisa membentuk himpunan entitas JURUSA, dan ketiga entitas tadi mengacu kepada JURUSA. 3. Seandainya ada satu himpunan entitas dengan satu atribut (misalnya JURUSA dengan atribut amajurusan) dan hanya berelasi dengan satu tipe entitas lain (misalnya MAHASISWA), maka entitas satu atribut bisa dimasukkan sebagai atribut tipe entitas lain (amajurusan menjadi atribut MAHASISWA). 4. Bergantung kepada kompleksitasnya, dua himpunan entitas dengan kardinalitas : bisa saja digabungkan menjadi sebuah himpunan entitas saja. Basis Data Darmawan Satyananda 39

3.5.3 Associative Entity Set Sebuah relationship bisa saja menghubungkan lebih dari satu himpunan entitas. Tetapi semakin banyak yang berpartisipasi, maka semakin rumit pula implementasinya. Untuk menyederhanakan, relationship bisa dikonversikan menjadi himpunan entitas. Sebagai contoh adalah relationship terner MEMASOK yang menghubungkan himpunan entitas PEMASOK, BARAG, dan PROYEK (terdapat pemasok yang memasok barang ke proyek tertentu). (A) ama_pemasok Jumlah ama_proyek PEMASOK M MEMASOK PROYEK M Kode_Barang BARAG (B) ama_pemasok Jumlah PEMASOK MEMASOK PEMASOKA Kode_Barang ama_proyek BARAG MEGAMBIL MEMBERI PROYEK (C) ama_pemasok ama_proyek PEMASOK M MEMASOK PROYEK M Kode_Barang MEYEDIAKA BARAG M MEMAKAI Gambar 3. Himpunan relasi terner. (A) Himpunan relasi terner MEMASOK, (B) Relasi terner yang diubah menjadi relasi biner, (C) Tiga buah relasi biner untuk himpunan relasi MEMASOK. Pada Gambar 3. A, MEMASOK menghubungkan tiga himpunan entitas. Alternatifnya, MEMASOK bisa diubah menjadi himpunan entitas baru PEMASOKA yang Basis Data Darmawan Satyananda 40

tetap terhubung dengan ketiga himpunan entitas yang ada. Konsekuensinya, kardinalitasnya juga berubah menjadi : (lihat Gambar 3. B). Himpunan entitas baru ini dinamakan dengan associative entity set (himpunan entitas asosiatif). Gambar 3. C menunjukkan 3 buah relationship biner yang mirip dengan MEMASOK pada Gambar 3. A, tetapi tidak ekivalen karena secara arti berbeda. Pada Gambar 3. A, MEMASOK melibatkan tiga himpunan entitas sehingga bisa langsung diketahui misalnya pemasok S memasok barang apa saja ke proyek P atau proyek P menerima barang B dari pemasok yang mana. Pada Gambar 3. C, memang bisa diketahui pemasok P memasok barang apa, pemasok P memasok ke proyek yang mana, barang B dipasok ke proyek mana saja, tetapi belum tentu semuanya adalah satu kesatuan data. Jadi ada potensi kehilangan dan ketidaksesuaian data. Hati-hati dalam merancang diagram, pastikan bahwa semua data sudah mewakili permasalahan yang dimodelkan. Himpunan entitas asosoatif juga bisa digunakan untuk mengkonversikan relationship biner M: menjadi dua buah relationship :. Misalnya pada relasi BEKERJA_DI yang menghubungkan KARYAWA dan PROYEK. BEKERJA_DI bisa diubah menjadi himpunan entitas BEKERJA_DI dengan satu atribut yaitu JamKerja. Selanjutnya himpunan entitas KARYAWA dihubungkan dengan BEKERJA_DI dengan kardinalitas :; pada sisi KARYAWA dan pada sisi BEKERJA_DI. Hal yang sama berlaku untuk PROYEK yang dihubungkan dengan BEKERJA_DI. Kardinalitasnya :; di sisi PROYEK dan di sisi BEKERJA_DI. Seorang perancang basis data harus dapat memutuskan apakah suatu relasi disajikan dalam bentuk himpunan relasi berderajat n ataukah memecahnya menjadi derajat yang lebih kecil tanpa menghilangkan makna sebenarnya. 3.6 Kelebihan dan Kelemahan Model E-R Model E-R telah lama digunakan (bahkan sampai sekarang). Selain model ini, masih banyak model-model lain yang digunakan. Menurut Peter Rob (2004), keleibihan model E-R adalah (i) sederhana, (ii) menyajikan visualisasi melalui ERD, (iii) alat komunikasi yang efektif, dan (iv) terpadu dengan model relasional. ERD memvisualkan konsep tentang data dan keterkaitannya secara sederhana sehingga menjadi alat komunikasi yang efektif dan mudah difahami oleh perancang, pemrogram, dan pengguna. Model ini dengan mudah ditransformasi menjadi model relasional. Sedangkan kelemahan model ini adalah:. Kurang dapat menyatakan batasan Aturan struktural (sub bab 3.5.) bisa digunakan untuk menyatakan batasan berapa banyak suatu entitas bisa terlibat dalam relationship. Tetapi model ini tidak bisa menyatakan batasan seperti IPK mahasiswa ada dalam rentangan 0,0 sampai 4,0. Basis Data Darmawan Satyananda 4

Batasan ini hanya bisa diterapkan pada tingkatan aplikasi melalui kode program. 2. Terbatas dalam penyajian relationship Relationship hanya bisa digunakan antar entitas, tidak bisa antar atribut dalam suatu entitas, misalkan menyatakan keterhubungan antara IPK dengan prestasi (contohnya IPK 3,50 setara dengan prestasi sangat memuaskan ). 3. Tidak memiliki DML DML baru bisa dijumpai pada model Relasional, sehingga rancangan dalam model E-R harus dibawa ke model Relasional lebih dulu. 4. Potensi kehilangan informasi ERD akan tampak padat bila suatu entitas memiliki banyak atribut dan banyak entitas yang terlibat dalam diagram serta bila kurang teliti dalam menentukan relationship. 3.7 Rangkuman Bab III membahas mengenai salah satu model dalam basis data yaitu model E-R (Entity Relationship). Model ini menggambarkan relasi (relationship) di antara entitasentitas. Entitas (entity) adalah sebuah obyek yang ada dan bisa dibedakan dari obyek yang lain. Kumpulan semua entitas dengan tipe yang sama disebut sebagai Himpunan Entitas, sedangkan relasi dengan tipe yang sama disebut sebagai Himpunan Relasi. Model E-R disusun pada tahapan pemodelan data secara lojik pada pengembangan sistem basis data. Suatu entitas mempunyai beberapa atribut,setiap atribut mempunyai nilai tertentu, dan setiap nilai mempunyai domain tertentu. ull adalah nilai yang diberikan kepada suatu atribut bila kita menganggap atribut tersebut tidak mempunyai nilai atau tidak ada nilai yang sesuai. Beberapa jenis atribut: dilihat dari jumlahnya: simpel/atomik dan komposit dilihat dari nilainya: bernilai tunggal dan bernilai jamak dilihat dari cara mendapatkan nilainya: stored attribut dan derived attribute Atribut kunci atau pengenal (identifier) adalah atribut yang digunakan sebagai pengenal suatu entitas dalam himpunan entitas. Atribut kunci biasanya merupakan atribut dengan nilai tunggal, serta bisa berupa atribut simpel atau komposit. Himpunan entitas lemah adalah suatu himpunan entitas yang tidak mempunyai atribut yang cukup untuk membentuk kunci primer. Lawan dari himpunan entitas lemah adalah himpunan entitas kuat. Relationship adalah asosiasi di antara beberapa entitas. Entitas yang saling terhubung dikatakan berpartisipasi dalam relasi. Derajat himpunan relasi adalah jumlah himpunan entitas yang berpartisipasi, umumnya berupa biner atau terner. Selain Basis Data Darmawan Satyananda 42

terhubung dengan himpunan entitas lain, suatu himpunan entitas juga bisa terhubung dengan dirinya sendiri, hal seperti ini disebut dengan relasi rekursif. Dalam relasi rekursif diperlukan nama peran untuk menjelaskan peran yang diambil oleh setiap relasi. Suatu himpunan relasi mempunyai aturan struktural sebagai berikut: rasio kardinalitas (jumlah entitas yang bisa terhubung dengan entitas lain dalam suatu himpunan relasi): :, :, M:. aturan partisipasi (kebergantungan suatu himpunan relasi terhadap himpunan relasi yang lain): total, parsial. Pada bagian akhir, disajikan bagaimana cara menyusun dan memperbaiki diagram E-R, serta juga disajikan apa kelebihan dan kekurangan model E-R. 3.8 Soal Latihan. Berikan suatu contoh relasi dengan rasio kardinalitas :, :, M:, yang berbeda dengan yang sudah diberikan 2. Apa yang dimaksud dengan relasi rekursif? 3. Sebutkan perbedaan antara himpunan entitas lemah dan himpunan entitas kuat. 4. Sebuah klinik melayani pemeriksaan pasien yang datanya sudah dicatat sebelumnya. Data yang dicatat antara lain nama pasien, umur, alamat, pekerjaan dan nomor identitas pasien. Pada saat setiap pasien berobat ke klinik, pasien tersebut ditangani oleh seorang dokter spesialis tertentu. Tetapi mungkin saja pada waktu berobat yang lain dia ditangani dokter yang berbeda. Seorang dokter bisa melayani banyak pasien. Ada catatan tersendiri mengenai data dokter dan spesialisasinya. Untuk setiap kali berobat, dia mendapatkan diagnosa dari dokter, resep yang harus dibeli (jenis obat dan jumlahnya), serta menggunakan jasa tertentu (misalnya periksa darah, periksa jantung). Setiap obat dan jasa yang digunakan mempunyai harga tersendiri. Catatan lain untuk setiap pemeriksaan adalah tanggal berobat dan biaya yang harus dibayarkan. Tugas anda adalah menyusun diagram E-R dari deskripsi tersebut. Tentukan atribut yang mungkin dan tambahkan bila dirasa ada hal lain yang perlu dicatat untuk memperjelas permasalahan. 5. Perpustakaan PUSTAKA JAYA mempunyai sejumlah cabang yang saling terhubung. Anggota yang terdaftar bisa meminjam pada berbagai cabang (tidak terikat pada cabang tertentu). Informasi yang dicatat dari anggota antara lain nomor anggota, nama anggota, alamat, telepon, dan nomor KTP/SIM. Untuk setiap buku, informasi yang dicatat adalah kode buku, judul buku, penerbit, dan pengarang. Ada kemungkinan sebuah buku dikarang oleh beberapa orang sekaligus. Catatan tentang buku yang dipunyai perpustakaan ditangani secara terpusat, sehingga kode yang Basis Data Darmawan Satyananda 43

dibuat berlaku untuk semua cabang. Kemudian informasi yang dicatat tentang cabang perpustakaan adalah kode cabang, nama cabang, dan alamatnya. Setiap buku mungkin terdiri dari beberapa copy, untuk setiap copy ada catatan tersendiri mengenai kode copy, dan kode cabang perpustakaan di mana buku itu berada. Pada saat seorang anggota meminjam buku, ada catatan tersendiri mengenai peminjaman ini. Yang dicatat adalah kode copy buku, kode anggota, dan tanggal pinjam. Pada saat pengembalian, juga dicatat mengenai tanggal kembali dan denda yang dibayarkan bila terlambat mengembalikan. Buatlah skema dan diagram E-R yang sesuai dengan masalah tersebut, tentukan juga aturan strukturalnya. Basis Data Darmawan Satyananda 44