64
BAB II Sisterm Basis Data Informatika PTIIK 1 Entity-Relationship Model

Bab 2 Model Data Relasional

Embed Size (px)

DESCRIPTION

Database Relational Model

Citation preview

BAB II

Sisterm Basis Data Informatika PTIIK 1

Entity-Relationship Model

Materi Entity Sets

Relationship Sets

Design Issues

Mapping Constraints

Keys

E-R Diagram

Extended E-R Features

Design of an E-R Database Schema

Reduction of an E-R Schema to Tables

Sisterm Basis Data Informatika PTIIK

2

Database dapat dimodelkan sebagai :

– Kumpulan entitas

– Relasi antar entitas

Sisterm Basis Data Informatika PTIIK

3

Entitas ? “sesuatu” atau “objek” di dunia nyata

yang dapat dibedakan dari objek lain

Kelompok objek independen yang dapatdiidentifikasi dan memiliki kesamaanproperti.

Entitas digambarkan (dalam basis data) dengan menggunakan himpunan atribut.

Sisterm Basis Data Informatika PTIIK

4

Entitas ?

Entitas dapat berupa objek nyata atauobjek konseptual, contoh:

Sisterm Basis Data Informatika PTIIK

5

Contoh entitas

Poli Anak RS :

- Anak (pasien)

- Dokter

- Perawat

- Penyakit

- Obat

Sisterm Basis Data Informatika PTIIK

6

Contoh entitas

Perpustakaan Brawijaya

Buku

Petugas

Mahasiswa

Dosen

Peminjaman

Pengembalian

Sisterm Basis Data Informatika PTIIK

7

Contoh entitasSupermarket Barang Petugas/Kasir Transaksi Penjualan dan Pembelian Suplier

Bengkel- Montir- Sparepart- Pelanggan- Servis- Supplier- Alat/inventaris- Transaksi

Sisterm Basis Data Informatika PTIIK

8

Contoh entitas

Bank

Nasabah

Tabungan

Pegawai

Peminjaman

Deposito

Asuransi

Sisterm Basis Data Informatika PTIIK

9

Representasi Entitas

Entitas digambarkan dalam bentukpersegi panjang dengan label yang menunjukkan nama entitas, umumnyaberupa kata benda tunggal. Hurufpertama setiap kata label entitas ditulisdengan huruf kapital; contoh:

Sisterm Basis Data Informatika PTIIK

10

Himpunan entitas Kumpulan entitas yang sejenis.

Misal : himpunan data pegawai Semua entity dalam himpunan entity memiliki

himpunan atribut yang sama

Tiap himpunan entity memiliki kunci (key)

Tiap atribut memiliki domain.

Entitas menunjuk kepada individu suatuobjek sedangkan himpunan entitas menunjukpada rumpun (family) dari individu tersebut

Sisterm Basis Data Informatika PTIIK

11

Contoh himpunan entitas

Semua orang yang memiliki rekening diBank (nasabah),

Semua Pelanggan, Mahasiswa, Dokter

Sisterm Basis Data Informatika PTIIK

12

Sisterm Basis Data Informatika PTIIK

13

ATRIBUT Setiap Entitas memiliki atribut yang

mendeskripsikan karakteristik (properti) dari entitas tersebut atau relasi

Contoh :

Customer = (Customer-Id, Customer-Name, Customer-Street, Customer-City)

Setiap Atribut akan memiliki nilai (values)

Domain (Value Set)– Batas-batas nilaiyang diperbolehkan bagi suatu atribut

Sisterm Basis Data Informatika PTIIK

14

Atribut pada sistem Poli AnakRS

: Anak (pasien) :

nama, tanggal lahir, riwayatpenyakit, alamat, nama ortu, jenis kelamin

- Dokter : NIP, Nama, Alamat, Spesialisasi

- Perawat : NIP, Nama, ALamat

- Penyakit : Nama penyakit, gejala

- Obat : nama, dosis, harga, jenis(tablet/sirup)

Sisterm Basis Data Informatika PTIIK

15

Atribut pada SIAM

SIAM

- Mahasiswa : NIM, Nama, Alamat, Jurusan, Prodi, TTL,Agama, Nama ORTU, jenisKelamin,....

- Mata Kuliah: Kode, Nama, SKS,Prasyarat, Status(W/P), semester,....

- Dosen : NIP, Nama, Alamat, Jenis Kelamin, Pangkat/Gol, ...

Sisterm Basis Data Informatika PTIIK

16

Tipe-tipe Atribut

1. Simple dan Composite attributes

2. Single-valued dan multi-valued attributes

3. Derived attributes

Sisterm Basis Data Informatika PTIIK

17

1. Simple dan Composite attributes

Atribut Simple/sederhana : Atribut yang terdiri atas komponen tunggal yang tidak dapat

dibagi menjadi komponen yang lebih kecil; contoh: atribut jabatan dan gaji pada entitas Staf. Atribut sederhana juga disebut dengan atribut atomik.

Atribut Komposit : Atribut yang dapat dibagi lagi dalam beberapa bagian; Atribut yang terdiri atas beberapa komponen independen

(dapat berdiri sendiri); contoh: atribut alamat pada entitas KantorCabang dengan

nilai (Jalan Prof. Dr. Soepomo, SH, No. 63, Yogyakarta, 55163). Atribut ini dapat dibagi menjadi jalan (Jalan Prof. Dr.

Soepomo, SH, No. 63), kota (Yogyakarta), dan kodePos(55163).

Sisterm Basis Data Informatika PTIIK

18

2. Single-valued dan multi-valued attributes

Atribut Single-valued /tunggal: Atribut yang memuat nilai tunggal. Umumnya, atribut-

atribut bernilai tunggal; contoh: entitas KantorCabang memiliki nilai kode yang

bersifat tunggal, misal B003.

Multi-valued attributes : Aribut yang memuat beberapa nilai. Contoh: entitas KantorCabang memiliki atribut telepon,

misal kantor cabang B003 memiliki nomor telepon 0274-123 456 dan 0274-567 890.

Contoh ini menunjukkan bahwa atribut telepon memilikidua nilai (mungkin juga lebih dari dua)

Sisterm Basis Data Informatika PTIIK

19

multi-valued attributes

Atribut multi-value dapat ditentukan nilaiminimal (batas_bawah) dan nilaimaksimal (batas_atas);

pada contoh di atas, misalnya, nomortelepon kantor cabang ditentukan antarasatu dan tiga nilai. Dengan kata lain, sebuah kantor cabang memiliki minimal satu nomor telepon dan sebanyak-banyaknya tiga nomor telepon.

Sisterm Basis Data Informatika PTIIK

20

3. Derived attributes/ AtributTurunan

Atribut Turunan : Atribut yang menyatakan suatu nilai yang berkaitan

dengan atribut-atribut lain; Atribut yang diperoleh dari pengolahan dari atribut

lain yang berhubungan. contoh:

atribut masaStudi yang diperoleh dari tglLulusdikurangi tglDaftar. Atribut masaStudi dikatakansebagai atribut turunan dari atribut tglDaftar dantglLulus.

atribut totalMhs yang diperoleh dengan caramenghitung jumlah mahasiswa aktif pada suatusemester tertentu.

Sisterm Basis Data Informatika PTIIK

21

Contoh entitas dan atributnya

Sisterm Basis Data Informatika PTIIK

22

Key Penggunaan key merupakan cara untuk

membedakan suatu entitas didalam himpunanentitas dengan entitas lain

Secara konsep, Masing-masing entitas (nilainya) berbeda,perbedaannya terlihat pada isi dari masing-masing atributnya.

Oleh karena itu, dibutuhkan suatu atribut yang memiliki nilai yang menjadi pembeda denganentitas lain

Key adalah satu atau gabungan dari beberapaatribut yang dapat membedakan semua row dalam relasi secara unik

Sisterm Basis Data Informatika PTIIK

23

Candidate KeyCandidate Key/ Kunci Kandidat/CK

Atribut-atribut yang mengidentifikasientitas secara unik;

contoh: atribut kancabNo merupakankunci kandidat untuk entitasKantorCabang, dan memiliki nilai unikuntuk setiap kantor cabang.

Kunci kandidat juga menyatakan bahwanilai atribut ini tidak boleh kosong (Null).

Sisterm Basis Data Informatika PTIIK

24

Primary Key

Kunci kandidat yang dipilih untuk mengidentifikasi entitassecara unik.

Entitas dapat memiliki kunci kandidat lebih dari satu, contoh: seorang mahasiswa memiliki noMhs yang bersifatunik bagi Universitas, juga memiliki noKTP yang bersifat unikbagi status kependudukan si mahasiswa.

Salah satu diantara dua kunci kandidat itu dapat dipilihsalah satu sebagai kunci primer.

Penentuan kunci kandidat yang dipilih sebagai kunciprimer sangat bergantung kepada kebutuhan sistem yang sedang dikembangkan.

Kandidat kunci yang tidak dipilih sebagai kunci primer dinamakan kunci alternatif.

Sisterm Basis Data Informatika PTIIK

25

Primary Key

Pemilihan primary key dari sejumlahcandidate key umumnya didasari oleh :

1. Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan

2. Key tersebut lebih ringkas

3. Jaminan keunikan key tersebut lebih baik

Sisterm Basis Data Informatika PTIIK

26

Kunci Komposit (Composite Key):

Kunci kandidat yang memuat dua ataulebih atribut.

Ada beberapa kasus yang membutuhkankunci berupa kombinasi/gabunganbeberapa atribut untuk mengidentifikasisecara unik.

Sisterm Basis Data Informatika PTIIK

27

Atribut ditulis dengan huruf kecil, kecuali jika terdiri atas dua kata atau lebih, huruf pertama kata kedua dan seterusnya ditulis dengan huruf kapital; contoh: kancabNo.

Atribut yang dipilih sebagai kunci primer diikuti dengan {PK}; contoh: kancabNo {PK}.

Atribut komposit dituliskan berindentasi (menjorok ke dalam); contoh:

alamat

jalan

kota

kodePos

Atribut turunan diawali dengan tanda garis mirin (slash, /); contoh: /jmlStaf.

Atribut multi-value dituliskan batas bawah dan batas atasnya; contoh: telepon [1..3

Sisterm Basis Data Informatika PTIIK

28

Simbol untuk notasi ER

Sisterm Basis Data Informatika PTIIK

29

Weak Entity Entitas yang tidak punya PK (Primary Key)

Keberadaannya tergantung darikeberadaan entitas lain.. jadi entitaslemah ada jika entita s kuat yang menyebabkan adanya dia itu ada. Tanpa entitas kuat, entitas lemah tidakakan muncul.

PK entitas lemah dibentuk dari PK entitaskuat dan discriminator

Sisterm Basis Data Informatika PTIIK

30

Weak Entity Sets (Cont.)

Entitas lemah digambarkan dengan double rectangles.

discriminator dari entitas lemah dengan garis putus2

payment-number – discriminator of the payment entity set

Primary key payment – (loan-number, payment-number)

Sisterm Basis Data Informatika PTIIK

31

Relasi

Definisi: Himpunan asosiasi (hubungan) antar entitas yang dapat diidentifikasidan bermakna.

Relasi dinyatakan dengan nama yang menunjukkan fungsinya, contoh Memilikiyang menghubungkan antaraKantorCabang dan Staf.

Relasi dimungkinkan memiliki atribut

Sisterm Basis Data Informatika PTIIK

32

Representasi Relasi Relasi digambarkan dalam bentuk garis

yang menghubungkan entitas-entitasyang berelasi, dengan label yang menunjukkan nama relasi.

Nama relasi umumnya berupa kata kerja. Huruf pertama setiap kata label relasiditulis dengan huruf kapital.

Nama relasi harus unik dalam satudiagram ER.

Sisterm Basis Data Informatika PTIIK

33

Representasi Relasi Relasi bersifat satu arah, karena umumnya makna

relasi hanya ‘masuk akal’ pada satu arah tertentu,

misal: Kantor Cabang memiliki Staf lebih ‘masukakal’ daripada Staf memiliki Kantor Cabang.

Untuk itu, nama relasi disertai dengan anak panahyang menunjukkan arah relasi;

contoh:

Sisterm Basis Data Informatika PTIIK

34

Himpunan Relasi

Sisterm Basis Data Informatika PTIIK

35

Derajad Relasi Derajat relasi menunjukkan jumlah entitas yang

terhubung dalam suatu relasi.

Entitas-entitas yang terhubung dalam suatu relasidisebut partisipan.

Relasi berderajat dua dinamakan relasi biner, yakni relasi yang melibatkan dua himpunanentitas

contoh:

a. relasi Memiliki yang menghubungkan entitasKantor Cabang dengan Staf.

b. relasi Mengambil dengan dua entitas yang berpartisipasi, yaitu Mahasiswa dan Matakuliah.

Secara umum himpunan relasi dalam sistem basis

Sisterm Basis Data Informatika PTIIK

36

Relasi Berderajat tiga Relasi berderajat tiga dinamakan relasi terner.

Relasi antara lebih dari dua entitas jarang terjadi

Terdapat tiga entitas yang berpartisipasi dalamrelasi terner, contoh: relasi Mendaftar yang menghubungkan entitas Staf, KantorCabang, danKlien.

Relasi ini menyatakan seorang staf mendaftar kliendi suatu kantor cabang.

Sisterm Basis Data Informatika PTIIK

37

Relasi Rekursif Definisi: Tipe relasi yang menghubungkan satu

entitas tunggal dengan dirinya sendiri. Relasi rekursif Mengaudit yang merepresentasikan relasi

dosen dengan auditor, seorang auditor merupakanbagian entitas dosen. Dengan kata lain, relasi inimenyatakan seorang dosen melakukan pemeriksaan(mengaudit) dosen lain.

Relasi ini dapat ditambahkan nama peran untukmenunjukkan posisi partisipasinya, pada contoh di atas: relasi Mengaudit menghubungkan entitas Dosen yang berperan sebagai Auditor dengan dosen lain yang berperan sebagai Auditee.

Sisterm Basis Data Informatika PTIIK

38

Pemetaan Kardinalitas Relasi Menggambarkan banyaknya jumlah maksimum

entitas dapat berelasi dengan entitas pada himpunan entitas yang lain.

Paling banyak digunakan dalam menjelaskanrelasi biner

Untuk relasi biner, pemetaan kardinalitasnyadapat merupakan salah satu dari tipe2 berikut :

1. Satu ke Satu (One to one)

2. Satu ke Banyak (One to many)

3. Banyak ke Satu (Many to one)

4. Banyak ke Banyak (Many to many)

Sisterm Basis Data Informatika PTIIK

39

Constraint Kardinalitas Dalam menggambarkam kardinalitas pada

Diagram ER, digunakan garis panah (→) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”, antara relasi denganentitas

Contoh : Relasi Satu ke satu

– Satu Customer hanya boleh berhubungandengan satu Loan,melalui relasi borrower

– Satu Loan hanya boleh berhubungan paling banyak oleh satu Customer, melalui relasiborrower

Sisterm Basis Data Informatika PTIIK

40

Relasi Satu ke Banyak

Dalam relasi satu ke Banyak, Paling banyak Satu Customer dapatberhubungan dengan beberapa(termasuk 0) Loan melalui borrower

Sisterm Basis Data Informatika PTIIK

41

Relasi Banyak ke Satu

Dalam relasi banyak ke satu, Satu Loan berhubungan dengan beberapa(termasuk 0) customer melaluiborrower,satu customer berhubungandengan paling banyak satu Loan melaluiborrower

Sisterm Basis Data Informatika PTIIK

42

Relasi Banyak ke Banyak

customer berhubungan denganbeberapa (mungkin 0) Loan melaluiborrower

Loan berhubungan dengan beberapa(mungkin 0) customer melalui borrower

Sisterm Basis Data Informatika PTIIK

43

Pemetaan kardinalitas

Sisterm Basis Data Informatika PTIIK

44

Pemetaan Kardinalitas

Sisterm Basis Data Informatika PTIIK

45

Dampak Pemetaan Kardinalitas pada Desain ER

Dalam mendesain Entity Relasionshippemetaan kardinalitas akan berpengaruhterhadap bagaimana data tersebut akandigambarkan

Sisterm Basis Data Informatika PTIIK

46

Diagram ER

Diagram ER merupakan model konseptual untuk menggambarkanstruktur logis dari basisdata berbasis grafis

Sisterm Basis Data Informatika PTIIK

47

Sisterm Basis Data Informatika PTIIK

48

Diagram E-R dengan atribut Composite,Multivalued dan derived

Sisterm Basis Data Informatika PTIIK

49

Himpunan Relasi denganAtribut

Sisterm Basis Data Informatika PTIIK

50

Peran (Roles) Relasi Himpunan entitas tidak harus

dalam bentuk yang berbeda

Peran dalam ER diagram diindikasikandengan memberikan label (nama) padagaris yang menghubungkan relasidengan entitas

Label peran bersifat optional dan digunakan untuk mengklarifikasi semantik suatu relasi

Sisterm Basis Data Informatika PTIIK

51

Peran (Roles)

Label “manager” dan “worker” disebutRoles (peran), yang menspesifikasibagaimana entitas employee berinteraksimelalui relasi Works-for

Sisterm Basis Data Informatika PTIIK

52

total constraint dan partial constraint!Perbedaan antara total constraint dan partial

constraint!

Total constraint :

adalah constraint yang mana data dalam entitasyang memiliki constraint tersebut terhubungsecara penuh ke dalam entitas dari relasinya.

Constraint partial :

adalah constraint yang mana hanya sebagiandata ( tidak seluruhnya) dalam entitas yang memiliki constraint tersebut terhubung ke dalamentitas dari relasinya.

Sisterm Basis Data Informatika PTIIK

53

Mengapa ER Model ?

Populer untuk model relasional

Sering dipergunakan untuk desain konseptual dari aplikasi database

Sisterm Basis Data Informatika PTIIK

54

Langkah –langkah membuat diagram ER

1. Mengidentifikasi dan menetapkanseluruh entitas yang terlibat

2. Menentukan atribut dari setiap entitas3. Menentukan key dari setiap entitas4. Mengidentifikasi dan menetapkan relasi

antar entitas yang ada beserta foreign key-nya

5. Menentukan kardinalitas/derajad relasiuntuk setiap relasi yang ada

6. Melengkapi entitas dan relasi denganatribut-atribut deskriptif

Sisterm Basis Data Informatika PTIIK

55

Foreign Key

Key (PK) yang berasal dari entitas lain yang berelasi dengannya

Sisterm Basis Data Informatika PTIIK

56

Contoh

Sisterm Basis Data Informatika PTIIK

57

Bagaimana jika terdapat set entitas yang samamuncul beberapa kali dalam satu set ER-Diagram.

Mengapa hal ini harus dihindari? Jelaskan!

Untuk menghindari redundancy

Menghemat penyimpanan (storage) data

Mengurangi efektifitas dan kecepatan akses

Untuk menghindari terjadinya asinkronisasi data pada saat diupdate

Sisterm Basis Data Informatika PTIIK

58

perbedaan antara weak entity dan strong entity!

Strong entity (entitas kuat) :

entitas yang mandiri, yang keberadaannyatidak bergantung pada keberadaan entitaslain.

Entitas kuat selalu memiliki karakteristik yang unik yakni sebuah atribut tunggal ataugabungan atribut-atribut yang secara unikdapat digunakan untuk membedakannyadari entitas kuat yang lain.-> Primary Key (PK)

Sisterm Basis Data Informatika PTIIK

59

perbedaan antara weak entity dan strong entity!

Weak entity (entitas lemah) :

entitas yang keberadaannya sangatbergantung pada keberadaan entitasyang lainnya.

Entitas lemah tidak memiliki arti apa-apadan tidak dikehendaki kehadirannyadalam diagram ER tanpa kehadiranentitas tempatnya bergantung.

Sisterm Basis Data Informatika PTIIK

60

Latihan

1. Sebuah perpustakaan kampus memiliki aturan-aturan sebagaiberikut :

1. Anggota dapat meminjam Buku pada perpustakaan lebihdari satu buku dalam sekali peminjaman.

2. Pada buku, yang harus di catat adalah NoBuku, Judul,Pengarang, Penerbit, Tahun terbit dan Jenis buku(majalah,Kumpulan atrikel, novel, komik, iptek, sekolah), Status(sedang dipinjam, ada diperpustakkan)

3. Pada anggota yang harus dicatat adalah nomor anggota,NIM, Nama, Alamat, Kota, No telepon, tanggal lahir danJurusan.

4. Pada setiap terjadi transaksi peminjaman, maka dicatattanggal pinjam, tanggal kembali dan jumlah buku yangdipinjam.

Identifikasi entitas2 nya, relasi antar entitas dan ER modelperusahaan tersebut

Sisterm Basis Data Informatika PTIIK

61

Latihan:2. Perusahaan penyelenggara pelatihan TIK memiliki 30 orang

instruktur untuk menangani sampai dengan 100 peserta per sesitraining. Perusahaan ini menawarkan lima materi training. Setiap materitraining dikelola oleh tim yang terdiri atas dua atau lebih instruktur. Setiap instruktur maksimal menjadi anggota tim dalam dua materitraining. Setiap sesi training seorang peserta hanya terdaftar padasatu materi training saja.

1. Identifikasi entitas-entitas perusahaan tersebut!

2. Identifikasi relasi-relasi antar entitasnya!

3. Gambarkan diagram ER model perusahaan training tersebut!

Sisterm Basis Data Informatika PTIIK

62

Model dataModel data : adalah sekumpulan cara / peralatan / tool

untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi.

Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional.

Keduanya menyediakan cara untukmendeskripsikan perancangan basis data pada tingkat logika.

Sisterm Basis Data Informatika PTIIK

63

Model ERD atau Conceptual Data Model (CDM): model yang dibuat berdasarkan anggapanbahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu.

Model Relasional atau Physical Data Model(PDM) : model yang menggunakan sejumlahtabel untuk menggambarkan data sertahubungan antara data-data tersebut. Setiaptabel mempunyai sejumlah kolom di manasetiap kolom memiliki nama yang unik.

Sisterm Basis Data Informatika PTIIK

64