69
Page 1 QUIZ 1 Introduction to Database

QUIZ 1 Introduction to Database - si.itmaranatha.orgsi.itmaranatha.org/v2/attachments/article/92/02. Model ER Bag 1.pdf• Suatu entitas direpresentasikan oleh sekumpulan atribut

Embed Size (px)

Citation preview

Page 1

QUIZ 1 – Introduction to

Database

Page 2

BASIS DATA (BS203)

[email protected]

fb: NDoro Edi

MODEL ENTITY RELATIONSHIP

Bagian I

Page 3

Outline

• Konsep model data & basis data

• Konsep Dasar Model ER:

- Entitas & Himpunan Entitas

- Atribut

- Tipe-tipe Atribut

- Relasi & Himpunan Relasi

- Peran

- Kardinalitas/Derajat Relasi

• Constraints

• Keys

3

Page 4

Konsep Model Data

• Definisi Model Data : Kumpulan perangkat

konseptual untuk menggambarkan : – Data

– Hubungan data

– Semantik (makna) data

– Batasan Data

4

Page 5

2 Model Data, yaitu

• Entity - Relationship Model (E-R)

• Relational Model

5

Page 6

Konsep Model Basis Data

• Model E-R

6

Semesta

Data di dunia

nyata Diagram Data

Page 7

Model Entity-Relationship

• Definisi:

Model ER adalah suatu teknik pemodelan data yang

memandang dunia nyata sebagai sesuatu yang terdiri dari

obyek-obyek dasar, yang disebut entitas, dan relasi antar

obyek tersebut

• Model ini sangat berguna dalam memetakan kebutuhan

spesifikasi desai n struktur lojik basis data dari suatu

organisasi

• Model ER terdiri dari 3 komponen dasar: himpunan

entitas, himpunan relasi, dan atribut

Page 8

Entitas

Relasi

Atribut

3 komponen dasar

8

Page 9

Konsep Dasar Model ER

• Entitas & Himpunan Entitas

• Atribut

• Tipe-tipe Atribut

• Relasi & Himpunan Relasi

• Peran

• Kardinalitas/ Derajat Relasi

Page 10

Entitas

• Definisi Entitas:

Entitas adalah suatu benda atau obyek di dalam dunia nyata

yang dapat dikenali secara berbeda dari obyek yang lain

• Contoh:

Setiap mahasiswa di kampus Maranatha adalah entitas

• Setiap entitas memiliki sekumpulan sifat (properties).

Beberapa dari sifat ini ada yang dapat mengidentifikasi

suatu entitas secara unik

• Contoh: setiap mahasiswa memiliki mahasiswa_nrp

yang nilainya mampu mengidentifikasi seorang

mahasiswa secara unik

Page 11

Himpunan Entitas

• Definisi Himpunan Entitas:

Himpunan Entitas adalah sekumpulan entitas yang

memiliki tipe yang sama dan berbagi sifat-sifat

(atribut) yang sama.

• Contoh:

– Sekumpulan orang yang belajar di kampus

Maranatha adalah suatu himpunan Mahasiswa

– Sekumpulan orang yang merupakan customer suatu

bank dapat disebut sebagai himpunan nasabah

Page 12

Konsep Dasar Model ER

• Entitas & Himpunan Entitas

• Atribut

• Tipe-tipe Atribut

• Relasi & Himpunan Relasi

• Peran

• Kardinalitas/ Derajat Relasi

Page 13

Atribut

• Suatu entitas direpresentasikan oleh sekumpulan atribut.

Atribut adalah sifat-sifat deskriptif yang dimiliki oleh

setiap anggota dari suatu himpunan entitas.

• Contoh atribut untuk himpunan entitas mahasiswa:

mahasiswa_nrp, mahasiswa_nama, mahasiswa_kota

• Setiap entitas memiliki nilai untuk setiap atributnya.

• Misalnya, suatu entitas mahasiswa memiliki nilai-nilai

atribut sbb:

– Mahasiswa_nrp = 1373002

– Mahasiswa_nama = Yohanes

– Mahasiswa_kota = Bandung

Page 14

Atribut (2)

• Untuk setiap atribut, terdapat sekumpulan nilai-nilai yang

diperbolehkan, yang disebut sebagai domain atau value

set.

• Contoh:

1. Domain untuk atribut mahasiswa_nama: String, panjangnya 30

2. Domain untuk atribut customer_id: String, dengan bentuk “C-n”

dimana n merupakan bilangan integer positif

3. Domain untuk atribut kredit_nomor: String ,dengan bentuk “K-n”

dimana n merupakan bilangan integer positif

Page 15

Jenis-jenis Atribut

• Simple & Composite Attribute

• Single-valued & Multivalued Attribute

• Derived Attribute

Page 16

Simple & Composite Attribute

• Atribut simpel / sederhana:

Atribut atomik yang tidak dapat dibagi lagi menjadi

subbagian yang lebih kecil. Misal: mahasiswa_nrp

• Atribut komposit:

Atribut yang dapat dibagi lagi menjadi sub-sub atribut yang

lebih kecil, yang mempunyai makna.

• Contoh:

– Atribut nama dapat didesain sebagai atribut komposit yang

terdiri atas nama_depan, nama_tengah, nama_belakang

– Atribut alamat terdiri atas jalan, kota, provinsi, kode_pos

• Atribut komposit dapat juga memiliki tingkatan.

Contoh: Komponen atribut alamat_jalan dapat dibagi menjadi

nama_jalan, nomor_blok, nomor_rumah

Page 17

Contoh Atribut Komposit

1

7

nama

nama_depan

nama_tengah

nama_belakang

alamat

kota provinsi jalan Kode_pos

nama_jalan Nomor_blok Nomor_rumah

Contoh Atribut Komposit

dengan tingkatan

Page 18

Single-valued & Multivalued Attribute

• Atribut single-value hanya memiliki satu nilai

tunggal.

• Contoh: mahasiswa_nrp, kredit_nomor,

rekening_saldo, kredit_jumlah

• Atribut Multivalue memiliki sekumpulan nilai.

• Contoh: Entitas pegawai memiliki atribut

nomor_telepon.

• Atribut ini dapat diberi suatu batas bawah dan

batas atas, misalnya nomor_telepon seorang

pegawai memiliki batas bawah=0, batas atas =2.

Page 19

Contoh Atribut Multivalue

Misal: Pegawai A, memiliki 2 telepon: telp rumah

dan HP

telepon

Pegawai

Page 20

Derived Attribute

• Nilai dari atribut derived dapat diambil dari nilai

atribut yang lain.

• Contoh: Seorang mahasiswa mempunyai atribut

mahasiswa_usia. Apabila mahasiswa tersebut

memiliki tanggal_lahir, maka mahasiswa_usia

merupakan atribut derived yang nilainya

diperoleh dari perhitungan tanggal lahir

• mahasiswa_usia = tanggal sistem –

tanggal_lahir

Page 21

Contoh Atribut derived

usia

mahasiswa

tanggal_lahir

Page 22

Atribut NULL

Not Applicable (Nilai tidak ada karena atribut tidak dipakai) ◦ Contoh: no_fax, gelar, dll.

Missing (Nilai ada tetapi hilang) ◦ Contoh: berat_badan

Not Known (Nilai tidak diketahui apakah ada atau tidak) ◦ Contoh: no_telepon

Page 23

E-R Diagram Dengan Atribut Komposit, Atribut Bernilai Banyak, dan Atribut

Turunan

2

3

Page 24

E-R Diagram Dengan Atribut Bernilai

Banyak dan Atribut Turunan

Turunan dari Date_Employed & Tgl hari ini Atribut bernilai banyak:

pegawai dapat mempunyai beberapa skill

Page 25

E-R Diagram Dengan Atribut Bernilai Banyak dan Atribut Komposit

2

5

Page 26

Konsep Dasar Model ER

• Entitas & Himpunan Entitas

• Atribut

• Tipe-tipe Atribut

• Relasi & Himpunan Relasi

• Peran

• Kardinalitas/ Derajat Relasi

Page 27

Himpunan Relasi

• Relasi adalah hubungan di antara

beberapa entitas

• Himpunan relasi adalah sekumpulan relasi

yang memiliki tipe yang sama

• Contoh: Entitas customer dan entitas

kredit memiliki relasi meminjam

Page 28

Contoh kasus: basis data bank dengan

entitas nasabah dan kredit

Page 29

Contoh kasus:

Himpunan Relasi “Meminjam”

Page 30

Relasi Rekursif

• Entitas yang dihubungkan oleh suatu

relasi (relationship) tidak harus

menunjuk pada entitas yang berbeda.

• Entitas yang sama dapat ikut serta lebih

dari satu kali di dalam relasi dengan

peran (role) yang berbeda.

3

0

Page 31

Peran pada Entitas (entity’s role)

• Definisi : Fungsi yang diperankan oleh suatu

entitas di dalam suatu relasi (menunjukkan arti

relasi).

• Contoh: relasi bekerja-untuk

•Seorang staf pegawai bekerja untuk

seorang manajer, dan manajer tersebut

bekerja juga untuk manajer atasannya,

dst

3

1

Page 32

Relasi bekerja-untuk

3

2

Pegawai bekerja-untuk

staf

Contoh Kasus: Peran pertama seorang pegawai bernama Maradona: Staf Peran kedua Maradona: Manajer

manajer

• Label manajer dan staf dinamakan peran; fungsi ini menjelaskan sebagai apa entitas Pegawai berinteraksi lewat relasi bekerja-untuk

Page 33

Constraints

• Suatu skema ER dapat memiliki batasan-

batasan (constraints) yang harus dipatuhi.

• Ada 2 jenis contraints:

- Mapping cardinalities

- Participation constraints

3

3

Page 34

Mapping Cardinalities

DEFINISI

• Cardinal Number = bilangan yang menunjukan jumlah sesuatu, misal 1, 2, atau 3

• Ordinal Number = bilangan yang menunjukan urutan, misal kesatu, kedua, atau ketiga.

• Mapping = Pemetaan

• Mapping Cardinalities Jumlah Pemetaan

• Biasa disebut juga sebagai Cardinality Ratio

• Definisi lengkap:

Mapping Cardinalities adalah bilangan yang

mengekspresikan jumlah entitas yang mana entitas lain

dapat berhubungan melalui suatu himpunan relasi.

3

4

Page 35

Mapping Cardinalities (2)

Untuk setiap himpunan relasi R antara

himpunan entitas A dan himpunan entitas

B, pasti memiliki salah satu dari mapping

cardinalities sbb:

• One to one (Satu ke Satu)

• One to many (Satu ke Banyak)

• Many to one (Banyak ke Satu)

• Many to many (Banyak ke Banyak)

3

5

Page 36

Mapping Cardinality: One to One

• Setiap entitas di A berhubungan dengan paling banyak dengan satu entitas di B, dan begitu juga sebaliknya, setiap entitas di B berhubungan dengan paling banyak dengan satu entitas di A.

36

Contoh kasus di UK Maranatha:

Seorang mahasiswa hanya memiliki satu rekening bank BCA Maranatha. Suatu rekening bank di BCA Maranatha hanya dapat dimiliki oleh seorang Mahasiswa

Page 37

Contoh kasus : One to One

Page 38

• Setiap entitas di A berhubungan dengan berapapun (nol atau lebih) entitas di B. Namun, setiap entitas di B hanya dapat berhubungan paling banyak dengan satu entitas di A.

38

Mapping Cardinality: One to Many & Many to One

Contoh kasus di perpustakaan Maranatha:

Seorang mahasiswa dapat meminjam 0,1, atau beberapa buku. Namun, suatu buku hanya dapat dipinjam oleh seorang mahasiswa

Page 39

Contoh Kasus: Many to One

Page 40

• Setiap entitas di A berhubungan dengan berapapun (nol atau lebih) entitas di B, dan sebailknya, setiap entitas di B berhubungan dengan berapapun (nol atau lebih) entitas di A.

40

Mapping Cardinality: Many to Many

Contoh kasus di UK Maranatha:

Seorang mahasiswa dapat mengambil satu atau beberapa mata kuliah, dan setiap mata kuliah dapat diambil oleh saru atau beberapa mahasiswa.

Page 41

Contoh Kasus: Many to Many

Page 42

RELASI REKURSIF & KARDINALITAS

Menikah Orang

Istri

Suami

Diatur Pegawai

Manager

Pekerja

Prasyarat Mata Kuliah

Page 43

Atribut Deskriptif (Descriptive Attributes)

4

3

• Himpunan relasi dapat pula mempunyai atribut.

Contoh: Mhsw – buku tgl_pinjam

Mahasiswa Buku Meminjam

Tgl pinjam

Page 44

Kardinalitas dan Desain ER

4

4

Kardinalitas mempengaruhi desain ER.

Contoh:

o Andaikan 1 anggota boleh meminjam banyak buku tetapi 1 buku hanya boleh dipinjam oleh 1 anggota saja lalu dibuang

o Andaikan 1 anggota boleh meminjam hanya 1 buku dan buku tsb. hanya boleh dipinjam oleh 1 anggota saja lalu dibuang

Page 45

Atribut Relasi

• Atribut himpunan relasi dapat dipindahkan ke entitas yang berpartisipasi untuk relasi One to One, One to Many, dan Many to One.

Ke entitas yang mana? Banyak atau Satu?

Notes : TIDAK BERLAKU untuk relasi Many to Many.

4

5

Page 46

Participation Constraints

• Participation Constraints seringkali juga disebut sebagai suatu derajat relasi.

Total Participation Partial Participation

apabila setiap/semua entitas di E berpartisipasi dalam relasi R.

Apabila tidak semua/ hanya beberapa saja entitas di E yang berpartisipasi dalam relasi R.

Page 47

Contoh Kasus:

customer – meminjam - kredit

• Pada suatu Bank, seorang customer dapat meminjam kredit. Tapi tidak semua customer harus meminjam kredit.

• Artinya, setiap entitas kredit berhubungan minimal dengan satu customer. Dengan kata lain, partisipasi kredit pada relasi meminjam adalah TOTAL.

• Di lain pihak, seorang customer tidak perlu harus meminjam kredit. Dengan kata lain, partisipasi customer pada relasi meminjam adalah PARTIAL. 4

7

Page 48

Contoh Kasus:

customer – meminjam - kredit

4

8

PARTISIPASI PARTIAL

PARTISIPASI TOTAL

Page 49

PARTISIPASI TOTAL/SEBAGIAN

4

9

Contoh:

Mahasiswa – orang tua

Buku perpustakaan – mahasiswa

Mahasiswa – mata kuliah

Ibu – anak

Suami – istri

Mata kuliah – ruang kelas

Pelanggan membuat order

Supplier men-supply barang

Page 50

Keys (kunci)

• IDE DASAR: Bagaimana kita dapat membedakan secara unik suatu entitas dengan entitas yang lainnya di dalam satu himpunan entitas?

• Kita harus memiliki suatu cara agar suatu entitas di dalam himpunan entitas dapat dibedakan satu dengan yang lainnya

• Secara konseptual, setiap individu entitas adalah tunggal (distinct). Namun, dari sudut basis data, perbedaan antar entitas ini harus ditunjukkan lewat atribut-atributnya.

• Dengan kata lain, agar kita dapat membedakan suatu entias dari entitas yang lain, maka tidak diperbolehkan ada dua entitas yang semua nilai atributnya persis sama. Bagaimana caranya?

• Jawabannya adalah dengan menggunakan KEY.

Page 51

Key (2)

• Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik.

• Key memampukan kita untuk mengidentifikasi himpunan atribut yang dapat membedakan entitas yang satu dengan yang lainnya.

• Key berlaku juga untuk relasi

5

1

Page 52

Jenis-jenis Key

• Super Key

• Candidate Key

• Primary Key

• Alternate Key

5

2

Page 53

Super Key (Kunci Super)

• Definisi:

himpuan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.

• Mungkin ada lebih dari 1 Superkey pada sebuah tabel

• Contoh: Entitas Customer

Super key: customer_id

Super key: {customer_id, customer_name}

Bukan Super key: customer_name

Page 54

TABEL MAHASISWA

NRP Nama Alamat Tgl_Lahir

0472001 Ria Jl. Badak 2 11/09/85

0472002 Riny Jl. Sapi 3 12/01/85

0472003 Erica Jl. Macan 1 09/09/84

0472004 John Jl. Riau 3 01/03/85

0472005 Lucas Jl. Duku 4 04/03/85

0472006 Paul Jl. Badak 5 01/03/85

0472007 Philip Jl. Riau 30 01/03/85

0472008 Mary Jl. Riau 3 03/03/83

5

4

Page 55

Super Key

• Contoh Superkey pada tabel Mahasiswa:

–NRP

–Nama, jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini

–{NRP, Nama}

–{NRP, Nama, Alamat}

–{NRP, Nama, Alamat, Tgl_Lahir}

5

5

Page 56

Candidate Key (Calon Kunci)

• Definisi:

kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.

• Sebuah Candidate Key pastilah Super key, tapi belum tentu sebaliknya.

56

Page 57

Candidate Key

• Suatu super key dapat memiliki atribut-atribut yang

sebenarnya sudah merupakan super key.

– Misal: {customer_id, customer_name} adalah sebuah super key.

– Note: customer_id itu sendiri merupakan super key.

• Pada candidate key, tidak diperbolehkan memiliki key di

dalam key

– Misal: {customer_id, customer_name} bukan candidate key,

karena customer_id adalah key

• Candidate key seringkali disebut sebagai super key

minimal.

• Contoh candidate key: {customer_name,

customer_address}

Page 58

Candidate Key

• Pada sebuah tabel dimungkinkan adanya lebih dari satu Candidate-Key.

• Contoh Candidate-Key pada tabel Mahasiswa:

– (nama), jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini

– (NRP)

5

8

Page 59

CONTOH

• Contoh:

Orang (No_KTP, nama, alamat)

Bagaimana jika di alamat yang sama, tidak ada 2 orang yang bernama sama?

5

9

Page 60

CONTOH

No_KTP Nama Alamat

123 Budi Jl. Duku 2

124 Etica Jl. Badak 3

125 Budi Jl. Sunda 4

126 John Jl. Badak 3

127 Joshua Jl. Macan 6

128 Budi Jl. Badak 3

6

0

Page 61

Primary Key (Kunci utama)

• Definisi: candidate key yang dipilih oleh

perancang basis data sebagai alat utama untuk

mengidentifikasi entitas pada suatu himpunan

entitas

• Primary key harus dipilih sedemikian rupa

sehingga atributnya tidak pernah atau jarang

berubah

• Contoh: mahasiswa_nrp dapat dipilih sebagai

primary key.

6

1

Page 62

Primary Key

Pemilihan Primary key didasari oleh:

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

Key tersebut lebih ringkas

Jaminan keunikan Key tersebut lebih baik

6

2

Page 63

Key Pada Himpunan Relasi

Setiap relasi individual harus dapat dibedakan dengan relasi individual yang lain dalam sebuah himpunan relasi.

Karena itulah, himpunan relasi juga harus memiliki key!

63

Page 64

Key Pada Himpunan Relasi

Pada umumnya, key pada himpunan relasi

dibentuk dari key dari masing-masing

himpunan entitas yang dihubungkannya.

Contoh: Jika key pada himpunan entitas

pertama adalah {x} dan key pada

himpunan entitas kedua adalah {y}, maka

key pada himpunan relasi dari keduanya

adalah {xy}.

6

4

Page 65

Alternate Key (kunci alternatif)

• Adalah candidate key yang tidak dipilih

menjadi primary key.

• Contoh: {mahasiswa-nama, mahasiswa-

alamat} adalah candidate key, namun

tidak dipilih menjadi primary key.

6

5

Page 66

Rangkuman Kuliah-2

• Konsep Dasar Model ER:

- Entitas & Himpunan Entitas

- Atribut

- Tipe-tipe Atribut

- Relasi & Himpunan Relasi

- Peran pada Entitas

- Kardinalitas/Derajat Relasi

• Constraints

• Keys

6

6

Page 67

Latihan

Page 68

More on Atribut Vs Entitas

True or false?

o Entitas Orang terdiri dari atribut pegawai dan

mahasiswa

o Entitas Mobil dengan atribut Suzuki dan Toyota?

o Entitas Hewan dengan atribut Babi, Anjing, dan Kucing?

o Entitas Buku dengan atribut IDbuku, judul, pengarang?

6

8

Page 69

Tentukan super key

• Contoh:

Pegawai

(NIK, alamat, tgl_lahir, No_KTP)

Orang (No_KTP, nama, tgl_lahir)

6

9