e-r

69
Albertus Deliar/2006 - Proses Entity Relationship 1 PROSES ENTITY RELATIONSHIP (ER) Materi: Konsep Proses Entity Relationship Properti relasi Dekomposisi hubungan banyak ke banyak Perangkap relasi • Model skeleton entity relationship Pemasangan attribut Desain tingkat pertama Desain tingkat dua

Upload: bangkit-adhi-nugraha

Post on 31-Jul-2015

104 views

Category:

Documents


16 download

TRANSCRIPT

Page 1: E-R

Albertus Deliar/2006 - Proses Entity Relationship 1

PROSES ENTITY RELATIONSHIP (ER)

Materi:• Konsep Proses Entity Relationship• Properti relasi• Dekomposisi hubungan banyak ke banyak• Perangkap relasi• Model skeleton entity relationship• Pemasangan attribut• Desain tingkat pertama• Desain tingkat dua

Page 2: E-R

Albertus Deliar/2006 - Proses Entity Relationship 2

KONSEP ENTITY RELATIONSHIP

Attribut 1Attribut 2 Attribut … Attribut n

Proses Normalisasi

Tabel 1 Tabel 2 Tabel … Tabel n

Attribut 3

Tabel Normal Penuh

Entitas 1 Entitas 2 Entitas … Entitas n

Proses Entity Relationship

Entitas 3

Pemasangan Attribut

Page 3: E-R

Albertus Deliar/2006 - Proses Entity Relationship 3

MODEL ENTITY RELATIONSHIP

Entity/ Entitas : a thing (object, concept)

Attribut : a property of an entity

Relationship : an association between two (or more) entities

Entitas kendaraan darat !!!

Propertinya ???

Page 4: E-R

Albertus Deliar/2006 - Proses Entity Relationship 4

ENTITAS

Setiap entitas memiliki anggota entitas.

Entitas dapat direpresentasikan sebagai tabel dengan:• Nama entitas = nama tabel• Karakteristik entitas = attribut tabel (kolom)• Anggota entitas = baris/record

Untuk membedakan anggota entitas diperlukan suatu ‘kode’ yang disebut sebagai ID Entitas.• Entitas Mahasiswa memiliki ID Entitas NIM• Entitas Dosen memiliki ID Entitas NIP

Diskusi:Apa perbedaan ID entitas dan ID tabel?

Page 5: E-R

Albertus Deliar/2006 - Proses Entity Relationship 5

CONTOH MODEL ER

Entitas komputer &

Propertinya??

Entitas harddisk &Propertinya??

Hubungan keduanya

??

Page 6: E-R

Albertus Deliar/2006 - Proses Entity Relationship 6

JENIS ENTITAS & PEMUNCULANNYA

Entitas : Gudang, Produk

Relasi : menyimpan

Attribut : G1 Jakarta, G2 Bandung, P2 Printer, …

GUDANG SIMPAN BARANG

G1 Jakarta

G2 Bandung

B4 Printer

B2 Scanner

B5 Plotter

B3 Harddisk

Page 7: E-R

Albertus Deliar/2006 - Proses Entity Relationship 7

DIAGRAM ENTITY RELATIONSHIP (ER)

Menggambarkan hubungan semua entitas. Dalam diagram, dituliskan juga derajat dan kelas

keanggotaan (dibahas kemudian)

GUDANG SIMPAN BARANG

Relasi

Page 8: E-R

Albertus Deliar/2006 - Proses Entity Relationship 8

DERAJAT HUBUNGAN/RELASI

Menunjukkan hubungan antar anggota dari suatu entitas terhadap anggota dari entitas lainnya.

Derajat hubungan ditentukan dari enterprise rules.

Secara mudah dapat diketahui melalui diagram pemunculannya. Dalam menggambarkan diagram pemunculannya, anggota entitas cukup diwakili oleh ID entitas saja.

GUDANG SIMPAN BARANG

G1G2

B4

B2

B3

Page 9: E-R

Albertus Deliar/2006 - Proses Entity Relationship 9

DERAJAT 1:1 Enterprise Rules :

• Seorang dosen (hampir selalu) mengajar satu mata-kuliah.• Satu mata-kuliah (hampir selalu) diajar oleh satu dosen.

DOSEN AJAR KULIAH

130 000 001 GD3132130 000 002

130 000 003GD4444GD4491GD1111130 000 004

Diskusi:Bagaimana bentuk diagram pemunculan untuk E-Rules:

• Seorang dosen secara pasti mengajar satu mata-kuliah.

• Satu mata-kuliah secara pasti diajar oleh satu dosen.

Page 10: E-R

Albertus Deliar/2006 - Proses Entity Relationship 10

DERAJAT 1:BANYAK / BANYAK:1 Enterprise Rules :

• Seorang dosen kemungkinan mengajar banyak mata-kuliah.• Satu mata-kuliah (hampir selalu) diajar oleh satu dosen.

DOSEN AJAR KULIAH

130 000 001 GD3132130 000 002130 000 003

GD4444GD4491GD1111130 000 004

Diskusi:Bagaimana bentuk diagram pemunculan untuk E-Rules:

• Seorang dosen diharuskan mengajar lebih dari satu mata-kuliah.

• Satu mata-kuliah secara pasti diajar oleh satu dosen.

GD1112

Page 11: E-R

Albertus Deliar/2006 - Proses Entity Relationship 11

DERAJAT BANYAK:BANYAK Enterprise Rules :

• Seorang dosen kemungkinan mengajar banyak mata-kuliah.• Satu mata-kuliah kemungkinan diajar oleh banyak dosen.

DOSEN AJAR KULIAH

130 000 001 GD3132130 000 002130 000 003

GD4444GD4491GD1111130 000 004GD1112

Page 12: E-R

Albertus Deliar/2006 - Proses Entity Relationship 12

DIAGRAM ER & DERAJAT RELASI

Derajat relasi digambarkan dalam diagram ER.

DOSEN AJAR KULIAH1 1

DOSEN AJAR KULIAH1 n

DOSEN AJAR KULIAHm n

1:1

1:n

m:n

Page 13: E-R

Albertus Deliar/2006 - Proses Entity Relationship 13

KELAS KEANGGOTAAN

Menunjukkan apakah semua anggota entitas memiliki hubungan dengan anggota entitas lagi secara pasti atau tidak.

Kelas keanggotaan:• OBLIGATORY / OBL (wajib):

Jika semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya.

• NON-OBLIGATORY / NON_OBL :Jika tidak semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya.

Page 14: E-R

Albertus Deliar/2006 - Proses Entity Relationship 14

CONTOH OBL/OBL

Enterprise rules:• Satu Departemen harus mempekerjakan paling

tidak satu Karyawan.• Seorang Karyawan harus dipekerjakan paling tidak

oleh satu Departemen.

Departemen kerja Karyawan

Anggota kedua entitas tersebut secara pasti berhubungan sehingga keduanya memiliki kelas obligatory

Page 15: E-R

Albertus Deliar/2006 - Proses Entity Relationship 15

CONTOH NON_OBL-NON_OBL

Enterprise rules:• Satu Departemen tidak perlu mempekerjakan

seorang Karyawan-pun.• Seorang Karyawan tidak perlu dipekerjakan oleh

Departemen manapun.

Departemen kerja Karyawan

Anggota kedua entitas tersebut tidak selalu memiliki hubungan satu sama lain sehingga keduanya memiliki kelas non-obligatory

Page 16: E-R

Albertus Deliar/2006 - Proses Entity Relationship 16

CONTOH OBL-NON_OBL

Enterprise rules:• Satu Departemen tidak perlu mempekerjakan

seorang Karyawan-pun.• Seorang Karyawan harus dipekerjakan paling tidak

oleh satu Departemen.

Departemen kerja Karyawan

Anggota entitas Departemen tidak selalu memiliki hubungan dengan anggota entitas Karyawan sehingga memiliki kelas non-obligatory.

Sebaliknya untuk entitas Karyawan sehingga berkelas obligatory

Page 17: E-R

Albertus Deliar/2006 - Proses Entity Relationship 17

TABEL SKELETON (KERANGKA) ER

Diagram E-R digunakan untuk menggambarkan berbagai unsur penting dari model konseptual, tetapi tidak menunjukkan atribut-attribut yang berhubungan dengan entitas dan jenis hubungannya (relationship).

Informasi tambahan tersebut, tentang keterkaitan attribut-attribut, dapat direpresentasikan dalam bentuk tabel normal penuh.

Representasi jenis tabel untuk setiap entitas dan jenis relasinya yang berupa tabel normal penuh (belum berisi attribut lainnya) disebut tabel skeleton ER.

Page 18: E-R

Albertus Deliar/2006 - Proses Entity Relationship 18

REPRESENTASI HUBUNGAN 1:1

Ada ketentuan tentang dosen dan mata kuliah:• Seorang dosen maksimal dapat mengajar satu

mata-kuliah.• Satu mata-kuliah maksimal dapat diajar oleh satu

dosen.

Setiap dosen dapat diidentifikasi melalui NIP.

Setiap mata kuliah dapat diidentifikasi dengan Kode_MK

Kondisi ini menggambarkan derajat relasi 1:1.

Representasi entitas dalam bentuk tabel:• Entitas Dosen (NIP, …)• Entitas Kuliah (Kode_MK, …)

Page 19: E-R

Albertus Deliar/2006 - Proses Entity Relationship 19

DERAJAT 1:1 / KELAS OBL-OBL

Enterprise rules:• Seorang dosen selalu mengajar satu mata-kuliah.• Satu mata-kuliah selalu diajar oleh satu dosen.

DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111130 000 004

DOSEN AJAR KULIAH1 1

Page 20: E-R

Albertus Deliar/2006 - Proses Entity Relationship 20

TABEL SKELETON 1:1/OBL-OBL

Karena keduanya obligatory maka kedua entitas tersebut dapat digabungkan membentuk 1 tabel normal penuh. Dengan kata lain, attribut entitas Dosen dapat dipasangkan (posted) ke dalam attribut entitas Kuliah, atau sebaliknya.

Terbentuk 1 tabel:• Tabel Dosen_Kuliah (NIP, …, Kode_MK, …)

Page 21: E-R

Albertus Deliar/2006 - Proses Entity Relationship 21

DERAJAT 1:1 / KELAS OBL-NON_OBL Enterprise rules:

• Seorang dosen dapat mengajar satu mata-kuliah atau tidak.

• Satu mata-kuliah selalu diajar oleh satu dosen.

DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111130 000 004

DOSEN AJAR KULIAH1 1

130 000 005

Page 22: E-R

Albertus Deliar/2006 - Proses Entity Relationship 22

TABEL SKELETON 1:1/OBL-NON_OBL

ID entitas non-obligatory harus dipasangkan ke entitas Artinya, ID entitas Dosen dipasangkan (posted) ke dalam entitas Kuliah.

Terbentuk 2 tabel:• Tabel Dosen (NIP, …)• Tabel Kuliah (Kode_MK, …, NIP)

Page 23: E-R

Albertus Deliar/2006 - Proses Entity Relationship 23

DERAJAT 1:1 / KELAS NON_OBL-NON_OBL

Enterprise rules:• Seorang dosen dapat mengajar satu mata-kuliah atau

tidak.• Satu mata-kuliah tidak selalu diajar oleh dosen.

DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111130 000 004

DOSEN AJAR KULIAH1 1

130 000 005 GD5555

Page 24: E-R

Albertus Deliar/2006 - Proses Entity Relationship 24

TABEL SKELETON 1:1/NON_OBL-NON_OBL

ID entitas non-obligatory harus membentuk satu tabel penghubung. Artinya, ID entitas Dosen dan ID entitas Kuliah dipasangkan (posted) ke tabel baru.

Terbentuk 3 tabel:• Tabel Dosen (NIP, …)• Tabel Dosen_Kuliah (NIP, Kode_MK)• Tabel Kuliah (Kode_MK, …)

Page 25: E-R

Albertus Deliar/2006 - Proses Entity Relationship 25

REPRESENTASI HUBUNGAN 1:n

Ada ketentuan tentang dosen dan mata kuliah:• Seorang dosen dapat mengajar lebih dari satu mata-

kuliah.• Satu mata-kuliah maksimal dapat diajar oleh satu

dosen.

Setiap dosen dapat diidentifikasi melalui NIP.

Setiap mata kuliah dapat diidentifikasi dengan Kode_MK

Kondisi Dosen:Kuliah menggambarkan derajat relasi 1:n.

Representasi entitas dalam bentuk tabel:• Entitas Dosen (NIP, …)• Entitas Kuliah (Kode_MK, …)

Page 26: E-R

Albertus Deliar/2006 - Proses Entity Relationship 26

DERAJAT 1:n / KELAS OBL-OBL Enterprise rules:

• Seorang dosen selalu mengajar satu atau lebih mata-kuliah.

• Satu mata-kuliah selalu diajar oleh satu dosen.

DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111

DOSEN AJAR KULIAH1 n

Page 27: E-R

Albertus Deliar/2006 - Proses Entity Relationship 27

TABEL SKELETON 1:n/OBL-OBL

Keduanya obligatory namun berelasi 1:n maka ID entitas [1] dipasangkan ke entitas [n]. Artinya NIP dipasangkan (posted) ke entitas Kuliah

Terbentuk 2 tabel:• Tabel Dosen (NIP, …)• Tabel Kuliah (Kode_MK, …, NIP)

Page 28: E-R

Albertus Deliar/2006 - Proses Entity Relationship 28

DERAJAT 1:n / KELAS OBL-NON_OBL

Enterprise rules:• Seorang dosen selalu mengajar satu atau lebih

mata-kuliah.• Satu mata-kuliah dapat atau tidak diajar oleh satu

dosen. DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111

DOSEN AJAR KULIAH1 n

GD5555

Page 29: E-R

Albertus Deliar/2006 - Proses Entity Relationship 29

TABEL SKELETON 1:n/OBL-NON_OBL

Karena derajat hubungannya 1:n dan tabel ‘banyak’ (many) berkelas non-obligatory maka perlu dibentuk tabel penghubung.

Terbentuk 3 tabel:• Tabel Dosen (NIP, …)• Tabel Dosen-Kuliah (NIP, Kode_MK)• Tabel Kuliah (Kode_MK, …)

Page 30: E-R

Albertus Deliar/2006 - Proses Entity Relationship 30

DERAJAT 1:n / KELAS NON_OBL-OBL

Enterprise rules:• Seorang dosen dapat mengajar satu atau lebih

mata-kuliah atau tidak• Satu mata-kuliah selalu diajar oleh dosen.

DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111

DOSEN AJAR KULIAH1 n

130 000 004

Page 31: E-R

Albertus Deliar/2006 - Proses Entity Relationship 31

TABEL SKELETON 1:n/NON_OBL-OBL

karena derajat hubungannya 1:n dan tabel ‘1’ (one) berkelas non-obligatory maka ID tabel ‘1’ dipasangkan ke tabel ‘banyak’.

Terbentuk 2 tabel:• Tabel Dosen (NIP, …)• Tabel Kuliah (Kode_MK, …, NIP)

Page 32: E-R

Albertus Deliar/2006 - Proses Entity Relationship 32

DERAJAT 1:n / KELAS NON-NON

Enterprise rules:• Seorang dosen dapat mengajar satu atau lebih

mata-kuliah.• Satu mata-kuliah dapat diajar oleh satu atau lebih

dosen. DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111

DOSEN AJAR KULIAH1 n

GD5555130 000 004

Page 33: E-R

Albertus Deliar/2006 - Proses Entity Relationship 33

TABEL SKELETON 1:n/NON-NON

Karena jeduanya berkelas non-obligatory maka perlu dibentuk tabel penghubung.

Terbentuk 3 tabel:• Tabel Dosen (NIP, …)• Tabel Dosen-Kuliah (NIP, Kode_MK)• Tabel Kuliah (Kode_MK, …)

Page 34: E-R

Albertus Deliar/2006 - Proses Entity Relationship 34

REPRESENTASI HUBUNGAN m:n

Untuk jenis hubungan ‘many to many’ ini tidak perlu memperhatikan kelas keanggotaan.

Untuk menghubungkan dua entitas selalu diperoleh tiga tabel, dimana satu tabel merupakan tabel penghubung yang berisikan attribut identifier dari kedua tabel lainnya.

Jika ada ketentuan tentang dosen dan mata kuliah:• Seorang dosen dapat mengajar lebih dari satu

mata-kuliah.• Satu mata-kuliah dapat diajar oleh lebih satu dosen.• Setiap dosen dapat diidentifikasi melalui NIP.• Setiap mata kuliah dapat diidentifikasi dengan

Kode_MK

Page 35: E-R

Albertus Deliar/2006 - Proses Entity Relationship 35

DERAJAT m:n

Enterprise rules:• Seorang dosen dapat mengajar satu atau lebih

mata-kuliah.• Satu mata-kuliah dapat diajar oleh satu atau lebih

dosen. DOSEN AJAR KULIAH130 000 001 GD3333130 000 002

130 000 003GD4444GD2222GD1111

DOSEN AJAR KULIAHm n

GD5555130 000 004

Page 36: E-R

Albertus Deliar/2006 - Proses Entity Relationship 36

TABEL SKELETON m:n

Karena jeduanya berderajat banyak-banyak maka perlu dibentuk tabel penghubung.

Terbentuk 3 tabel:• Tabel Dosen (NIP, …)• Tabel Dosen-Kuliah (NIP, Kode_MK)• Tabel Kuliah (Kode_MK, …)

Page 37: E-R

Albertus Deliar/2006 - Proses Entity Relationship 37

DEKOMPOSISI BANYAK-BANYAK

Merupakan pemisahan relasi m:n menjadi dua relasi 1:n.

Hal ini dikarenakan adanya beberapa SMBD yang tidak mampu menangani relasi m:n.

Jika dilakukan proses entity relationship, maka dekomposisi tersebut secara pasti dilakukan, karena hubungan m:n akan membentuk 3 tabel.

DOSEN AJAR KULIAHm n

DOSEN Dosen_Kuliah1 n

KULIAHn 1

Page 38: E-R

Albertus Deliar/2006 - Proses Entity Relationship 38

TUGAS

Buatlah review tentang proses pembentukan tabel skeleton ER untuk semua kombinasi derajat dan kelas.

Berikan juga alasan mengapa tabel yang terbentuk harus demikian. Contoh, pada derajat 1:1 dan kelas non_obl-non_obl harus terbentu 3 tabel, mengapa tidak 2 tabel? Berikan alasan dan juga ilustrasinya.

Review ini tidak boleh sama dengan bahan transparansi yang ada, baik tulisan maupun contoh, dan harus berupa narasi serta di tulis tangan.

Dikumpulkan pada kuliah berikutnya.

Page 39: E-R

Albertus Deliar/2006 - Proses Entity Relationship 39

PERANGKAP RELASI

Merupakan perangkap yang adakalanya dijumpai oleh perancang & pemakai model konseptual yang harus dihilangkan.

Perangkap ini biasanya muncul akibat salah interpretasi dalam mengartikan relasi (relationship).

Dari gambar diatas, apakah interpretasi yang dapat diberikan (pilih) :

1. Penjaga mengawasi hewan;

2. Makanan adalah yang dimakan hewan;

3. Makanan yang diawasi oleh penjaga;

4. Makanan adalah yang dimakan penjaga;

5. Hewan menyukai makanan;

6. Hewan diberi makan penjaga.

Page 40: E-R

Albertus Deliar/2006 - Proses Entity Relationship 40

PERANGKAP KIPAS (FAN TRAP)

Sering muncul pada bentuk relasi n:1-1:n.

Sebagai contoh :• Dari gambar (a) dibentuk hubungan Departemen

ke Pekerja melalui Divisi yang sangat mungkin dalam menyimpulkan pekerja mana dimiliki oleh departemen mana.

Departemen

Termasuk

dept

Divisi

Pekerja

1 1

nn

(a)

Termasuk

pek

Diskusi:Apa enterprise yang dapat diambil dari diagram diatas?

Page 41: E-R

Albertus Deliar/2006 - Proses Entity Relationship 41

Diskusi:Bagaimana diagram yang seharusnya dari hasil interpretasi?

HASIL INTERPRETASI• Dari gambar b memperlihatkan kesimpulan tersebut

tidak dapat terjadi karena tidak ada cara untuk mengetahui pekerja 1, 2, 3 dimiliki oleh departemen 1 atau 2.

• Hal yang mungkin terpikirkan ialah pekerja dimiliki oleh divisi tetapi bukan departemen.

DEPARTEMENTermasuk

dept DIVISI

1

A

2

Termasukpek PEKERJA

B

C

D

P1

P2

P3

P4

P5

(b)

Page 42: E-R

Albertus Deliar/2006 - Proses Entity Relationship 42

INTERPRETASI DAN DIAGRAM

Struktur ini mengeliminir ketidakjelasan tentang pekerja mana dimiliki departemen mana sehingga tidak ada keraguan untuk mengetahui pekerja mana milik divisi mana

Pemahaman tentang enterprise yang ada harus benar-benar dimengerti agar tidak salah dalam menginterpretasikannya ke bentuk struktur relasi.

Divisi

Termasuk

dept

Departemen

Pekerja

1 1

nn

(c)

Termasuk

pek

Page 43: E-R

Albertus Deliar/2006 - Proses Entity Relationship 43

DEFINISI

tabel skeleton ialah suatu jenis tabel dimana berisikan hanya identifier (entitas atau penghubungnya)–nya bersama-sama dengan identifier yang dipasangkan (posted).

model E-R (skeleton) ialah kombinasi dari diagram E-R dan tabel skeleton.

jenis tabel entitas atau jenis tabel relationship ialah berupa suatu tabel.

Page 44: E-R

Albertus Deliar/2006 - Proses Entity Relationship 44

QUIZ (30’)

Pasien, yang diidentifikasikan dengan pasien#, memiliki jadwal pertemuan konsultasi dengan dokter, yang diidentifikasikan dengan no_dokter. Rekaman pertemuan setiap harinya antar pasien dan dokter akan disimpan. Setiap pasien dapat saja bertemu lebih dari satu kali dengan dokter yang sama dalam beberapa hari.

Buatlah model kerangka ER secara lengkap.

Attribut yang diperlukan dapat ditambahkan sesuai kebutuhan.

Page 45: E-R

Albertus Deliar/2006 - Proses Entity Relationship 45

PERANCANGAN BASIS DATA

Materi:• Desain Tingkat 1 (1st level design)

Page 46: E-R

Albertus Deliar/2006 - Perancangan Basis Data 46

1ST LEVEL DESIGN

Digunakan karena rancangan akan dibutuhkan untuk pekerjaan selanjutnya dalam mentransformasikan desain ke implementasi akhir.

Mencakup :• Analisis data, yaitu kepemilikan data yang

dibutuhkan untuk analisis.• Analisis fungsional, yaitu bentuk transaksi yang

akan dioperasikan.

Page 47: E-R

Albertus Deliar/2006 - Perancangan Basis Data 47

CONTOH SKENARIO PERPUSTAKAAN

Suatu perpustakaan menyimpan data peminjam buku. Setiap peminjam buku diidentifikasikan dengan PEMINJAM# dan setiap buku oleh BUKU# (setiap judul buku memiliki persediaan lebih dari satu buku). Nama dan alamat dari setiap peminjam ditangani juga untuk memudahkan komunikasi seperti mengingatkan batas waktu peminjaman. Informasi yang diperlukan untuk buku-buku itu ialah judul, pengarang, penerbit, tgl. terbit, ISBN (International Standard Book Number), harga beli dan harga aktual (saat ini). Terdapat suatu batasan jumlah buku yang dapat diperoleh setiap kali pinjam, batas itu tergantung klasifikasi status peminjam yaitu sebagai junior atau senior. Buku-buku yang keluar dapat dipesan bagi peminjam lainnya tergantung waktu pengembalian. Perpustakaan menyediakan buku-buku versi terakhir saja. Jika versi terbaru muncul maka versi yang lama akan disingkirkan.

Page 48: E-R

Albertus Deliar/2006 - Perancangan Basis Data 48

LANGKAH 1

Sketsalah permasalahan dengan diagram E-R secara bebas.

•Diagram ini digambarkan secara sederhana untuk membantu pemikiran awal tentang data yang dibutuhkan, atau

•Gambarkan secara singkat (sketsa) permasalahan.

Page 49: E-R

Albertus Deliar/2006 - Perancangan Basis Data 49

LANGKAH 2

Persiapkan suatu daftar awal transaksi dimana model data harus dapat mendukungnya.

• Menyusun suatu daftar transaksi (tujuan setiap transaksi dinyatakan, daripada menuliskan proses attribut secara detail) :

a. Menyimpan detail dari peminjam baru.b. Menyimpan detail dari pembelian baru.c.Membuat peminjaman.d. Merekam pengembalian peminjaman.e. Menghapus peminjam.f. Menghapus pembelian.g. Memesan buku.h. Menghapus pemesanan.i. Memperbaharui harga saat ini (harga aktual).j. Mengirimkan pesan yang lewat batas waktu peminjaman.

Page 50: E-R

Albertus Deliar/2006 - Perancangan Basis Data 50

LANGKAH 3

Persiapkan suatu daftar awal atribut.• Menyusun suatu daftar attribut :

peminjam#, buku#, nama_peminjam, alamat_peminjam, judul, pengarang, penerbit, tgl_terbit, ISBN, harga_beli, harga_aktual, batas_pinjam, status_peminjam, tgl_pinjam, tgl_pesan.

• Beberapa attribut disini dapat berupa gabungan, seperti nama_peminjam dapat menjadi nama_keluarga dan panggilan.

Page 51: E-R

Albertus Deliar/2006 - Perancangan Basis Data 51

LANGKAH 4

Tuliskan suatu daftar awal jenis entitas yang dapat diidentifikasikan langsung dan pilihlah identifier entitasnya. Untuk setiap jenis entitas, tuliskan suatu tabel hanya dengan identifiernya.

• Berdasarkan skenario, identifier PEMINJAM# dan BUKU# dapat menunjukkan entitas yang mungkin dipilih yaitu Peminjam dan Buku.

• Entitas yang mungkin lainnya dapat diseleksi pada tahapan ini, tetapi untuk sementara waktu digunakan dua entitas saja.

• Tabel entitas yang dibentuk ialah :− Peminjam (peminjam#, …)− Buku (buku#, …)

Page 52: E-R

Albertus Deliar/2006 - Perancangan Basis Data 52

LANGKAH 5a

Gambarkan suatu diagram E-R yang menunjukkan relasi (relationship) antara semua jenis entitas, termasuk tingkat dan kelasnya secara detail.

• Seorang peminjam dapat meminjam langsung beberapa buku tetapi sebuah buku tidak dapat dipinjam langsung oleh beberapa peminjam.

• Sebuah buku tidak selalu dipinjam atau peminjam tidak selalu meminjam buku.

• Diagram E-R ialah :

Page 53: E-R

Albertus Deliar/2006 - Perancangan Basis Data 53

LANGKAH 5b

m

n

n1Peminjam Pinjam Buku

n1

1

Buku

(a)

(b) Peminjam

Judul

Pinjam

Pesan

n1

1m

n

n1

1

Buku

(c) Peminjam

Judul

Pinjam

Pesan

Sedia

Page 54: E-R

Albertus Deliar/2006 - Perancangan Basis Data 54

LANGKAH 6a

Buatlah suatu pemeriksaan awal dimana diagram E-R akan mendukung transaksi-transaksi, dan perbaikilah diagram jika perlu. Meskipun atribut-attribut belum dialokasikan ke entitas dan relasinya, hal ini tetap mungkin untuk memperoleh ide dimana transaksi dapat didukung pada tingkat entitas/relasinya. Lihat juga perangkap yang dapat terjadi.

• Transaksi a, b, e dan f muncul menjadi penyedia bagi pembuatan dan penghapusan kejadian pada Peminjam dan Buku, dan peminjaman (transaksi c dan d) dapat diproses melalui relasi Pinjam (kenyataannya pemrosesan tidaklah sesederhana ini, secara terperinci akan diberikan pada langkah 11).

Page 55: E-R

Albertus Deliar/2006 - Perancangan Basis Data 55

LANGKAH 6b• Harga aktual mungkin menjadi attribut dari Buku, maka

transaksi i dapat ditangani. Informasi yang dibutuhkan untuk pesan lewat batas waktu peminjaman (transaksi j) dapat ditemukan melalui Buku, Pinjam dan Peminjam.

• Permasalahan yang tertinggal ialah untuk pemesanan (transaksi g dan h). Seorang peminjam dapat meminta beberapa pesanan dan buku yang sama dapat dipesan oleh beberapa peminjam, suatu model berdasarkan Gb. a. dapat berisikan suatu repeating groups. Pada pemunculan pertama, solusinya ialah dengan menambahkan relasi Pesan antara Peminjam dan Buku, tetapi ini tidak cukup karena seorang peminjam tidaklah memesan buku melainkan judul. Jika terdapat beberapa buku untuk satu judul maka tidak menjadi masalah buku mana yang akan diberikan.

Page 56: E-R

Albertus Deliar/2006 - Perancangan Basis Data 56

LANGKAH 6c• Kekeliruan diagram E-R ini untuk mendukung

transaksi pemesanan memberi arti suatu kebingungan yang mendasar pada skenario dalam membedakan buku dan judul. Bukanlah judul yang dipinjamkan melainkan buku. Diagram dapat diperbaiki dengan memperkenalkan entitas Judul dan relasi Pesan (Gb. b), tetapi ini membuat sebuah perangkap hubungan antara Buku dan Judul.

• Pada saat buku dikembalikan peminjam, maka sangat penting untuk memeriksa apakah seseorang telah memesan judul dari buku tersebut, maka perangkap hubungan ini harus dieliminir. Hal ini dapat diselesaikan dengan menghubungkan Judul ke Buku melalui relasi Sedia (Gb. c). Diasumsikan bahwa Judul dapat diidentifikasikan dengan ISBN.

Page 57: E-R

Albertus Deliar/2006 - Perancangan Basis Data 57

LANGKAH 7

Mengembangkan tabel entitas (langkah 4) ke tabel skeleton dengan memperhatikan diagram E-R. Hapus semua attribut yang dipakai sebagai identifier tabel skeleton dari daftar attribut.

Tabel kerangka ialah :• Tabel entitas

− Peminjam (peminjam#, …)− Buku (buku#, ISBN, …)− Judul (ISBN, …)

• Tabel relasi− Pinjam (buku#, peminjam#, …)− Pesan (peminjam#, ISBN, …)

• Relasi Pesan direpresentasikan dengan memasangkan (posted) ISBN ke Buku.

Page 58: E-R

Albertus Deliar/2006 - Perancangan Basis Data 58

LANGKAH 8a

Tambahkan attribut selanjutnya dari daftar attribut ke tabel dengan memperhatikan syarat suatu tabel. Hapuslah attribut dari daftar attribut untuk setiap attribut yang dipasangkan ke tabel.

Penyerahan attribut :•Peminjam (peminjam#, nama_peminjam, alamat_peminjam)•Buku (buku#, ISBN, harga_beli)•Judul (ISBN, judul, tgl_terbit, harga_aktual)•Pinjam (buku#, peminjam#, tgl_pinjam)•Pesan (peminjam#, ISBN, tgl_pesan)Berlawanan dengan asumsi pada langkah 6, harga_aktual bukanlah attribut untuk Buku.

Page 59: E-R

Albertus Deliar/2006 - Perancangan Basis Data 59

LANGKAH 8b• Catatan, jika batas_pinjam dinyatakan sebelum

status_peminjam maka akan diletakkan ke dalam Peminjam tetapi berikutnya akan ditarik kembali mengikuti usaha pernyataan status_peminjam karena kondisi akhir akan menjadi penentu batas_pinjam tetapi tidak merupakan kandidat identifier dari Peminjam.

• Untuk alasan yang sama, kedua attribut ini akan juga dikembalikan ke daftar attribut jika status_peminjam berada dengan batas_pinjam.

• Asumsikan bahwa hanya ada satu penerbit yang disimpan di setiap judul, ini akan mengundang peletakkan penerbit ke tabel Judul.

Page 60: E-R

Albertus Deliar/2006 - Perancangan Basis Data 60

LANGKAH 8c• Kebingungan dengan ISBN adalah kode_penerbit

dimana akan menjadi penentu dari penerbit tetapi bukan kandidat identifier dari Judul.

• Tabel Buku tidak menyediakan suatu tempat yang nyaman walaupun BUKU# adalah determinan dari penerbit karena nilai penerbit dapat redundant jika terdapat beberapa buku dari judul yang sama.

• Penerbit harus tetap pada daftar attribut untuk semetara waktu.

Page 61: E-R

Albertus Deliar/2006 - Perancangan Basis Data 61

LANGKAH 9a

Jika terdapat attribut dari daftar attribut yang tidak dapat dipasangkan ke dalam tabel maka perlu dibentuk entitas atau relasi baru yang dapat mengakomodasikannya (perluasan model kerangka). Adakalanya hal tersebut tidak/sukar dilakukan maka ulangilah dari langkah 5.

• Attribut yang belum dipasangkan ialah nama pengarang, status_peminjam, batas_pinjam dan penerbit.

• Pengarang tidak diletakkan ke Judul karena akan menimbulkan repeating group. Jika tidak diperlukan untuk menyimpan berbagai attribut pengarang lainnya selain nama pengarang tersebut maka cukup untuk memperkenalkan Pengarang sebagai sub-entitas dari Judul.

Page 62: E-R

Albertus Deliar/2006 - Perancangan Basis Data 62

LANGKAH 9b• Untuk alasan yang diberikan pada langkah 8,

attribut status_peminjam dan batas_pinjam tidak dapat keduanya diletakkan pada Peminjam. Suatu entitas baru, Limit, diperlukan.

• Penerbit dapat dipasangkan dengan membentuk entitas baru yaitu Terbitan yang diidentifikasi dengan kode_penerbit. Entitas ini dihubungkan ke Judul melalui relasi Terbit.

− Peminjam (peminjam#, nama_peminjam, alamat_peminjam, status_peminjam)

− Buku (buku#, ISBN, harga_beli)− Judul (ISBN, judul, tgl_terbit, harga_aktual)− Limit (status_peminjam, batas_pinjam)− Pengarang (ISBN, pengarang)− Terbitan (kode_penerbit, penerbit)− Pinjam (buku#, peminjam#, tgl_pinjam)− Pesan (peminjam#, ISBN, tgl_pesan)

Page 63: E-R

Albertus Deliar/2006 - Perancangan Basis Data 63

LANGKAH 9c

n

1

n

1

n1

1m

n

n

1

Buku

Peminjam

Judul

Pinjam

Pesan

Sedia

Limit

Atur

n

1 Terbitan

Terbit

Pengarang

Tulis

Page 64: E-R

Albertus Deliar/2006 - Perancangan Basis Data 64

LANGKAH 10

Putuskanlah jika terdapat attribut atau transaksi lainnya yang harus dimasukkan ke dalam model atau akan dikembangkan di kemudian hari. Jika ada, masukkan ke daftar attribut dan transaksi serta ulangi ke langkah 6 untuk transaksi baru dan langkah 8 untuk attribut baru.

Transaksi lainnya yang termasuk untuk dipertimbangkan ialah :

1. Penyimpanan detail dari buku baru2. Penghapusan buku3. Pemberitahuan peminjam bahwa pemesanan saat ini

dalam persediaan4. Perubahan status peminjam5. Menemukan buku dari seorang pengarang

Page 65: E-R

Albertus Deliar/2006 - Perancangan Basis Data 65

LANGKAH 11a

Periksalah bahwa entitas yang dipilih, relasinya dan attribut tetap terlihat terpasang. Periksalah bahwa tabel telah normal penuh. Periksalah bahwa semua transaksi dapat didukung pada tingkat attribut. Jika diperlukan perubahan, ulangi prosedur.

Pemeriksaan semua transaksi dapat dilakukan dengan cara sebagai berikut :

Page 66: E-R

Albertus Deliar/2006 - Perancangan Basis Data 66

LANGKAH 11b D – delete

(penghapusan)

R – retrieve (pengambilan)

S – store (penyimpanan)

U – update (pembaharuan)

Page 67: E-R

Albertus Deliar/2006 - Perancangan Basis Data 67

LANGKAH 12

Hapus semua entitas yang superfluous.• Setiap tabel entitas berisikan setidaknya satu

attribut sebagai identifier-nya maka tidak ada tabel yang superfluous.

• Jika Pengarang, yang diidentifikasikan dengan pengarang, dipilih sebagai sebuah entitas maka tabel Pengarang sebaiknya saat ini dipikirkan mengandung superfluous, jika hanya berisikan nama pengarang saja.

Page 68: E-R

Albertus Deliar/2006 - Perancangan Basis Data 68

KOMENTAR AKHIR :

Pada saat bekerja dari skenario, sebaiknya menggarisbawahi pemilihan entitas, relasi dan attribut dengan warna yang berbeda untuk setiap kategori.

Sebaiknya memulai dengan 2 entitas saja, tidak perlu dengan banyak entitas sekaligus. Seringkali terjadi kesalahan dalam menginterpretasikan entitas.

Page 69: E-R

AKHIR PERKULIAHANAKHIR PERKULIAHAN

GD2131 GD2131 SISTEM BASIS DATASISTEM BASIS DATA

Oleh:

Albertus Deliar

KK. Inderaja dan SIG

Fakultas Teknik Sipil dan Lingkungan

Institut Teknologi Bandung

2006