30
Bab 2 - 1 /24 Manajemen Data – Arif Djunaidy – FTIF ITS Manajemen Data Manajemen Data Bab 2 Bab 2 Entity Relationship Model Entity Relationship Model

Manajemen Data Bab 2 Entity Relationship Model

  • Upload
    oliana

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

Manajemen Data Bab 2 Entity Relationship Model. Pokok Bahasan. Langkah-langkah dalam desain suatu basis data ? Overview desain basis data Pemodelan data menggunakan Entity Relationship Modeling (ER Model). Desain Basis Data & ER Diagram (ERD). - PowerPoint PPT Presentation

Citation preview

Page 1: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 1/24Manajemen Data – Arif Djunaidy – FTIF ITS

Manajemen DataManajemen Data

Bab 2Bab 2Entity Relationship Entity Relationship

ModelModel

Page 2: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 2/24Manajemen Data – Arif Djunaidy – FTIF ITS

Pokok Bahasan

Langkah-langkah dalam desain suatu basis data ?Overview desain basis dataPemodelan data menggunakan Entity Relationship Modeling (ER Model)

Page 3: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 3/24Manajemen Data – Arif Djunaidy – FTIF ITS

Desain Basis Data & ER Diagram (ERD)

3 langkah pertama sangat relevan dengan ER model:

1. Analisis kebutuhan (Requirements Analysis)2. Desain basis data konseptual (Conceptual Database

Design)3. Desain basis data logikal (Logical Database Design)

3 langkah berikutnya di luar cakupan desain ER:

4. Penghalusan skema (Schema Refinement)5. Desain basis data fisik (Physical Database Design)6. Desain aplikasi & sekuritas (Application and Security

Design)

Proses desain basis data dpt dibagi menjadi 6 langkah:

Page 4: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 4/24Manajemen Data – Arif Djunaidy – FTIF ITS

Contoh: Narasi KebutuhanSuatu perusahaan membutuhkan sebuah basis data guna mencatat semua data pegawai, departemen, dan berbagai proyek yang ditanganinya. Penjelasan dari sebagian data yang diperoleh setelah fase analisis dan pengumpulan kebutuhan adalah seperti berikut:1. Perusahaan terdiri dari sejumlah departemen, yang masing-

masing mempunyai sebuah nama dan nomor departemen yang unik. Setiap departemen dipimpin oleh seorang pegawai yang bertindak sebagai manajer dari departemen tersebut. Untuk ini perlu dicatat tanggal mulai kapan manajer tersebut diangkat. Sebuah departemen dapat ditempatkan di lebih dari satu lokasi.

2. Sebuah departemen dapat mengendalikan sejumlah proyek. Setiap proyek mempunyai sebuah nomor dan nama yang unik, serta mempunyai satu lokasi tertentu.

3. Data pegawai yang perlu dicatat berupa nama, nomor pegawai, alamat, gaji, jenis kelamin, dan tempat serta tanggal lahir. Seorang pegawai dipekerjakan di satu departemen tertentu dan dapat dilibatkan dalam lebih dari satu proyek. Perlu dicatat jumlah jam per minggu dari setiap pegawai yang terlibat dalam suatu suatu proyek. Selain itu perlu juga dicatat pegawai yang menjadi atasan langsung dari sejumlah pegawai lainnya.

4. Untuk keperluan asuransi pegawai, maka perlu dicatat anggota keluarga dari setiap pegawai. Data yang dicatat berupa nama anggota keluarga, tanggal lahir, jenis kelamin, dan hubungan keluarga (sebagai isteri/suami atau anak).

Page 5: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 5/24Manajemen Data – Arif Djunaidy – FTIF ITS

Overview Desain Basis Data

Desain konseptual: (ER Model digunakan dlm tahap ini) entities dan relationships apa yang ada dalam

suatu perusahaan? Informasi apa dari entities dan relationships

yang hrs disimpan dlm basis data? integrity constraints dan business rules apa

saja yang hrs diberlakukan? `skema’ basis data dlm ER Model dpt disajikan

dlm bentuk diagram (ER Diagram / ERD). ERD dpt dipetakan menjadi skema relasional

(tabel)

Page 6: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 6/24Manajemen Data – Arif Djunaidy – FTIF ITS

Dasar-dasar ER Model

Entity: Objek dunia nyata yang dpt dibedakan secara unik dengan objek-objek lainnya. Sebuah entity dijelaskan (dlm DB) dengan menggunakan satu set attributesEntity Set: Sekumpulan entities yang sama. Contoh, semua mahasiswa, semua mata kuliah Semua entities dalam sebuah entity set mempunyai

sekumpulan attributes yang sama (utk sementara hingga dibahas bentuk hirarki ISA !)

Setiap entity mempunyai sebuah key (dpt lebih dari satu) Setiap attribute mempunyai sebuah domain (satu set nilai

yang diperbolehkan untuk attribute tersebut) Setiap attribute bersifat atomic dan single-valued

Employees

ssnname

lot

Page 7: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 7/24Manajemen Data – Arif Djunaidy – FTIF ITS

Relationship: Asosiasi antara dua atau lebih entities. Contoh, Siti works_in Information Systems department

Relationship Set: Sekumpulan relationships yang sama. Sebuah n-ary relationship set R merelasikan n entity sets E1 ...

En; dimana setiap relationship dlm R melibatkan entities e1 E1, ..., en En

• Entity set yang sama dpt berpartisipasi dlm sejumlah relationship sets yang berbeda, atau dlm “peran” yang berbeda dlm suatu set yang sama.

lot

dname

budgetdid

sincename

Works_In DepartmentsEmployees

ssn

subor-dinate

Reports_To

lot

name

Employees

super-visor

ssn

Dasar-dasar ER Model (L/jutan)

Page 8: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 8/24Manajemen Data – Arif Djunaidy – FTIF ITS

Binary: melibatkan 2 buah entity

Jenis Relationship

Unary: hanya melibatkan 1 entity

N-ary: melibatkan lebih dari 2 buah entity(Contoh: ternary atau 3-ary)

lot

dname

budgetdid

sincename

Works_In DepartmentsEmployees

ssn

Reports_To

lot

name

Employees

super-visor

ssn

PnamePricePart#

Qty

Sname

Contact Parts Suppliers

Sup#

Departments

Dep# Dname

Page 9: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 9/24Manajemen Data – Arif Djunaidy – FTIF ITS

Key Constraints

Perhatikan Works_In: seorang employee dpt bekerja di banyak departments; sebuah department dpt mempunyai banyak employees.

dname

budgetdid

since

lot

name

ssn

ManagesEmployees Departments

lot

dname

budgetdid

sincename

Works_In DepartmentsEmployees

ssn

Sebaliknya, setiap department paling banyak mempunyai satu manager, berdasarkan key constraint pada relasi Manages.

Page 10: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 10/24Manajemen Data – Arif Djunaidy – FTIF ITS

Contoh: Instance dari “Works_In” Relationship Set

lot

dname

budgetdid

sincename

Works_In DepartmentsEmployees

ssn

Page 11: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 11/24Manajemen Data – Arif Djunaidy – FTIF ITS

Kardinalitas Relationships

1-to M

1-to-1

E1 E2

RE1 E2

E1 E2

RE1 E2

M-to-1

RE1 E2

M-to-N

RE1 E2

RE1 E2

E1 E2

E1 E2

1 1

RE1 E21 M M N

RE1 E2M 1

RE1 E2

Page 12: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 12/24Manajemen Data – Arif Djunaidy – FTIF ITS

Participation ConstraintsApakah setiap department mempunyai seorang manager? Jika ya, hal ini menyatakan participation constraint: partisipasi

dari Departments dlm Manages adalah total, sedang partisipasi Employee dlm manages adalah partial.

• Setiap nilai did dlm tabel Departments hrs muncul pada setiap baris dalam tabel Manages (dengan nilai non-null ssn !)

lot

name dnamebudgetdid

sincename dname

budgetdid

since

Manages

since

DepartmentsEmployees

ssn

Works_In

Page 13: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 13/24Manajemen Data – Arif Djunaidy – FTIF ITS

Kardinalitas Relationships(+ Participation Constraints)

1-to M

1-to-1

E1 E2

RE1 E2

E1 E2

RE1 E2

M-to-1

RE1 E2

M-to-N

RE1 E2

RE1 E2

E1 E2

E1 E2

0,1 0,1

RE1 E20,1 1,M 1,M 1,N

RE1 E21,M 0,1

RE1 E2

Page 14: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 14/24Manajemen Data – Arif Djunaidy – FTIF ITS

Weak EntitiesSebuah weak entity dpt diidentifikasi secara unik hanya dengan memperhatikan key dari entity lainnya (owner entity). Owner entity set dan weak entity set hrs berpartisipasi dlm

sebuah one-to-many relationship set (one owner, many weak entities).

Weak entity set hrs mempunyai partisipasi total dlm identifying relationship set.

Sebuah weak entity dapat memiliki partial key (sebuah attribute yang bernilai unik dalam sebuah owner entity-nya, tapi dapat bernilai sama pada owner entity yang berbeda)

lot

name

agepname

DependentsEmployees

ssn

Policy

cost

Page 15: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 15/24Manajemen Data – Arif Djunaidy – FTIF ITS

ISA (`is a’) Hierarchies

Contract_Emps

namessn

Employees

lot

hourly_wagesISA

Hourly_Emps

contractid

hours_worked

Seperti dlm C++, Java, atauPL lainnya, attributes dpt diwariskan (inherited).

Jika dideklarasi “A ISA B”, maka setiap entity A juga termasuk dlm entity B.

Overlap constraints: Dapatkah Ali menjadi seorang Hourly_Emps dan sekaligus juga sebagai seorang Contract_Emps entity? (Allowed/disallowed)Covering constraints: Apakah setiap Employees entity hrs juga menjadi seorang Hourly_Emps atau seorang Contract_Emps entity? (Yes/no) Alasan pengunaan ISA: Utk menambah “descriptive attributes” yang berlaku secara spesifik

utk sebuah subclass tertentu. Utk mengidentifikasi subset nilai entitities yang diperlukan untuk

berpartisipasi dlm sebuah relationship.

Page 16: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 16/24Manajemen Data – Arif Djunaidy – FTIF ITS

Aggregation

Digunakan bilamana hrs memodelkan sebuah relationship yang melibatkan entitity sets dan relationship set. Aggregation

Memungkinkan utk memperlakukan sebuah relationship set sbg sebuah entity set utk tujuan partisipasi dlm sejumlah relationships (lainnya).

Monitors adalah sebuah relationship, dengan sebuah descriptive attribute.

Dpt juga dikatakan bhw setiap sponsorship dimonitor oleh paling sedikit seorang employee.

budgetdidpid

started_on

pbudgetdname

until

DepartmentsProjects Sponsors

Employees

Monitors

lotname

ssn

since

Page 17: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 17/24Manajemen Data – Arif Djunaidy – FTIF ITS

Aggregation (L/jutan)

Aggregation Ternary Relationship

budgetdidpid

started_on

pbudgetdname

until

DepartmentsProjects Sponsors

Employees

Monitors

lotname

ssn

since budgetdidpid

started_on

pbudgetdname

until

DepartmentsProjects Monitors

Employees

lotname

ssn

since

Page 18: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 18/24Manajemen Data – Arif Djunaidy – FTIF ITS

Desain Konseptual Menggunakan ER Model

Pilihan-pilihan desain: Apakah sebuah konsep hrs dimodelkan sbg

sebuah entity atau sebuah attribute ? Apakah sebuah konsep hrs dimodelkan sbg

sebuah entity atau sebuah relationship ? Identifying relationship: Binary atau Ternary ?

atau Aggregation?

Constraints dalam ER Model: Sebanyak mungkin semantik dari data

dituangkan dalam ERD Tetapi mungkin beberapa “constraints” tidak

dapat digambarkan dalam ERD

Page 19: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 19/24Manajemen Data – Arif Djunaidy – FTIF ITS

Entity v.s. AttributeContoh, apakah address hrs dimodelkan sbg attribute dari entity Employee atau sbg sebuah entity (yang dihubungkan ke entity Employee oleh sebuah relationship) ?Jawab: bergantung pada penggunaan informasi address yang diinginkan, dan juga semantik dari data, maka salah satu dari alternatif berikut dapat digunakan:

• Jika utk setiap Employee diperbolehkan memiliki sejumlah addresses, maka address hrs dimodelkan sbg sebuah entity, karena sebuah attribute tidak boleh memiliki banyak nilai (multi-valued)

• Jika struktur (city, street, dll.) dianggap penting, misalnya diinginkan utk mencari (retrieve) data employee berdasarkan nama city, maka address hrs dimodelkan sebagai sebuah entity (karena nilai-nilai dari attribute harus atomic)

Page 20: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 20/24Manajemen Data – Arif Djunaidy – FTIF ITS

Entity v.s. Attribute (L/jutan)

Works_In4 tidak membolehkan seorang “employee” utk bekerja di sebuah “department” utk dua periode atau lebih

name

Employees

ssn lot

Works_In4

from todname

budgetdid

Departments

dnamebudgetdid

name

Departments

ssn lot

Employees Works_In4

Durationfrom to

Namun, jika diinginkan utk mencatat beberapa nilai dari sebuah “descriptive attribute” utk setiap nilai dari sebuah relationship, maka sebuah entity baru Duration dapat didefinisikan

Page 21: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 21/24Manajemen Data – Arif Djunaidy – FTIF ITS

Entity v.s. RelationshipERD pertama OK, jika seorang manager diberikan kebijakan utk menen- tukan budget (dbudget) yang terpisah utk setiap department yang dipimpinnyaBgm jika seorang manager diberikan kebijakan utk menentukan budget yang meliputi semua dept yang dipimpinnya? Redundancy: dbudget

yang disimpan utk setiap dept yang dikelola oleh seorang manager.

Misleading: menganjurkan dbudget utk diasosiasikan dengan kombinasi department-mgr

Manages2

name dnamedid

Employees Departments

ssn lot

dbudgetsince

dnamedid

DepartmentsManages2

Employees

namessn lot

since

Managers dbudget

ISA

ERD kedua ini mengatasi persoalan !

Page 22: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 22/24Manajemen Data – Arif Djunaidy – FTIF ITS

Binary v.s. Ternary Relationships

Jika setiap “policy” hanya dimiliki oleh 1 employee, dan setiap dependent dikaitkan dengan policy tsb, maka ERD petama kurang akurat!ERD kedua lebih baik. Constraints tambahan apa yang terdapat dalam ERD kedua?

agepname

DependentsCovers

name

Employees

ssn lot

Policies

policyid cost

Beneficiary

agepname

Dependents

policyid cost

Policies

Purchaser

name

Employees

ssn lot

Bad design

Better design

Page 23: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 23/24Manajemen Data – Arif Djunaidy – FTIF ITS

Binary vs. Ternary Relationships (L/jutan)Contoh sebelumnya mengilustrasikan sebuah kasus dimana dua buah binary relationships adalah lebih baik daripada sebuah ternary relationshipSebuah contoh utk kasus sebaliknya: sebuah relasi ternary Contracts merelasikan entity sets Parts (P), Departments (D) dan Suppliers (S), dan mempunyai attribut deskriptif qty. Tidak ada kombinasi binary relationships yang pas utk menggantikannya: S “dpt-menyuplai” P, D “memerlukan” P, dan D

“berbisnis” denan S tdk mengimplikasikan bahwa D telah menyepakati utk membeli P dari S.

Bagaimana attribut deskriptif qty hrs dicatat dalam ERD?

Page 24: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 24/24Manajemen Data – Arif Djunaidy – FTIF ITS

Bahan Diskusi #1:

PERAWAT BANGSAL

FUNGSI

Pnama PidBnama Bid

Fnama Fid

Bekerja

Disertifikasi Menjamin

1. Sebuah fungsi F1 dimana tidak ada perawat yang tersertifikasi untuk fungsi tersebut, dijamin oleh beberapa bangsal (Ya/Tidak?)

2. Sorang perawat yang disertifikasi untuk dua fungsi F1 dan F2 bekerja pada sebuah bangsal yang menjamin tidak ada fungsi yang menjadi tanggung jawab bangsal tersebut (Ya/Tidak?)

3. Seorang perawat yang disertifikasi untuk fungsi F1 bekerja untuk sebuah bangsal yang hanya menjamin fungsi F3 dan F4 (Ya/Tidak?)

4. Seorang perawat tidak memiliki sertifikasi, walaupun ia bekerja pada bangsal B1 (Ya/Tidak?)

5. Seorang perawat dengan Pid P1 disertifikasi hanya untuk fungsi-fungsi F1 dan F2, dan tidak satupun bangsal yang ada menjamin fungsi-fungsi tersebut (Ya/Tidak?)

Page 25: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 25/24Manajemen Data – Arif Djunaidy – FTIF ITS

Bahan Diskusi #2:

Dengan menggunakan notasi yang dibahas dalam kuliah, gambarkan Diagram ER untuk kasus kecil berikut yang berkaitan dengan sebagian kecil basis data perusahaan manufaktur. Basis data berisikan informasi mengenai

pegawai, pabrik, dan produk. Setiap pegawai mempunyai nomor pegawai

(NPeg), nama dan gaji. Seorang pegawai diidentifikasi secara unik berdasarkan NPeg.

Setiap pabrik mempunyai sebuah nomor ID, nama dan bujet. Nomor ID mengidentifikasi sebuah pabrik dengan unik.

Page 26: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 26/24Manajemen Data – Arif Djunaidy – FTIF ITS

Bahan Diskusi #2 (Lanjutan):

Setiap produk juga mempunyai ID dan nama. Nomor ID mengidentifikasi sebuah produk secara unik.

Setiap pegawai (bawahan) harus melaporkan paling banyak ke seorang pegawai lain (sebagai atasan langsung).

Setiap pegawai boleh bekerja paling sedikit di satu pabrik.

Setiap produk dipabrikasi di tepat satu pabrik. Setiap produk dapat merupakan komponen dari

beberapa produk lainnya.

Page 27: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 27/24Manajemen Data – Arif Djunaidy – FTIF ITS

Bahan Diskusi #3:

Dalam suatu instansi yang melakukan registrasi kendaraan bermotor perlu dicatat kendaraan-kendaraan yang terdaftar (Registered-Vehicle) dan pemilik dari setiap kendaraan yang didaftarkan (Owner). Jenis kendaraan yang didaftarkan dapat berupa mobil (Car) atau truk (Truck). Setiap objek dari kendaraan dicatat nomor identifikasi (vehicle-id) yang unik untuk setiap kendaraan, model kendaraan (model), negara pembuatnya (make), dan tahun pembuatannya (year). Khusus untuk kendaraan jenis mobil perlu dicatat tambahan informasi berupa tipe mobil (style), sedang untuk jenis kendaraan truk tambahan informasi yang perlu dicatat berupa berat kendaraan (tonnage). Bilaman suatu objek kendaraan telah didaftarkan, maka kendaraan tersebut akan diberi identitas berupa nomor plat kendaraan (license plate number) yang unik untuk setiap kendaraan.

Page 28: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 28/24Manajemen Data – Arif Djunaidy – FTIF ITS

Bahan Diskusi #3 (Lanjutan):

Pemilik dari kendaraan dapat terdiri dari pemilik pribadi (Person), instansi pemerintah (Government), atau suatu perusahaan (Company). Untuk pemilik pribadi identitas yang perlu dicatat berupa nomor kartu penduduk yang unik dari orang yang menjadi pemilik (SSN), nama (name), alamat (adrress), dan nomor lisensi mengemudi (driver license number) yang juga unik untuk setiap orang. Untuk pemilik instansi pemerintah perlu dicatat nama instansi (gname) yang unik untuk setiap instansi dan alamat dari instansi (gaddress). Sedang untuk pemilik perusahaan perlu dicatat nama perusahaan (cname) dan alamatnya (caddress).

Page 29: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 29/24Manajemen Data – Arif Djunaidy – FTIF ITS

Bahan Diskusi #3 (Lanjutan):

Untuk mengetahui suatu kendaraan pernah dimiliki oleh siapa dan juga untuk mengetahui seorang pemilik pernah memiliki kendaraan apa saja, maka perlu dicatat data yang berkaitan dengan korespondensi antara pemilik kendaraan dan kendaraan-kendaraan yang pernah dimilikinya. Informasi tambahan yang perlu dicatat bilamana seorang pemilik telah mendaftarkan kendaraannya adalah tanggal kapan kendaraan itu dibeli (purchase date)

Page 30: Manajemen Data Bab 2 Entity Relationship Model

Bab 2 - 30/24Manajemen Data – Arif Djunaidy – FTIF ITS

Akhir Bab 2Akhir Bab 2