perancangan basis data

58
Perancangan Basis Data (Konseptual, Logis dan fisis) Oleh : Tim Pengajar Basis Data 1 BASIS DATA TEKNIK INFORMATIKA - ITS

Upload: wahyuuwi

Post on 19-Jan-2016

84 views

Category:

Documents


0 download

DESCRIPTION

Perancangan Basis Data MPPL

TRANSCRIPT

Page 1: Perancangan Basis Data

Perancangan Basis Data (Konseptual, Logis dan fisis)

Oleh : Tim Pengajar Basis Data

1

BASIS DATA TEKNIK INFORMATIKA - ITS

Page 2: Perancangan Basis Data

Agenda

Definisi Perancangan Basis Data Konseptual, logis dan fisisER-D

Menentukan EntitasMelengkapi atribut yang diperlukanMenghubungkan entitas yang terbentuk

Konversi model konseptual ke model fisik (CDM ke PDM)Diskusi dan Latihan

2BASIS DATA TEKNIK INFORMATIKA - ITS

Page 3: Perancangan Basis Data

Perancangan Basis Data Konseptual

• Upaya untuk membuat model yang masih bersifat konsep

• Langkah-langkahnya:– Penentuan entitas pada basis data– Pendefinisian hubungan antar entitas– Penerjemahan hubungan ke dalam entitas

BASIS DATA TEKNIK INFORMATIKA - ITS 3

Page 4: Perancangan Basis Data

KOMPONEN YANG TERLIBAT DALAM PERANCANGAN KONSEPTUAL

BASIS DATA TEKNIK INFORMATIKA - ITS 4

Page 5: Perancangan Basis Data

Komponen pada Perancangan Konseptual

• Entitas: menyatakan objek atau kejadian– Contoh: PELANGGAN,

PEGAWAI, DEPARTEMEN, ORDER, dll

• Atribut/properti: item data yang menjadi bagian dari suatu entitas.– Contoh: PEGAWAI.Nama

• Hubungan (relationship): asosiasi atau kaitan atau hubungan antar entitas– Contoh: hubungan bimbingan

atau wali antara DOSEN dan MAHASISWA

• Kekangan (constraints) : digunakan untuk melindungi integritas data (misal melindungi kesalahan waktu pengisian)

BASIS DATA TEKNIK INFORMATIKA - ITS 5

Page 6: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

ER-Diagram

• ER-Diagram adalah suatu teknik pemodelan data yang menggambarkan entitas dan relasi antar entitas dalam sebuah sistem informasi

• Dibentuk oleh 2 komponen utama :– Entitas (Entity) – Relasi (Relationship)

6

Page 7: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh ER-Diagram Perusahaan

7

Page 8: Perancangan Basis Data

ENTITAS

BASIS DATA TEKNIK INFORMATIKA - ITS 8

Page 9: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Entitas • Merupakan obyek yang mewakili sesuatu dalam

dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique).

• Memiliki atribut yang mendeskripsikan karakteristik dari objek tersebut.

• Dapat berupa:– Fisik (mobil, rumah, manusia, pegawai dsb) – Abstrak/konsep (department, pekerjaan,

mata kuliah dsb)– Kejadian (pembelian, penjualan,

peminjaman, dll)• Notasi :

• Contoh : Nama Entitas

EntitasEntitas AtributAtribut

PegawaiPegawai NIP, Nama, Alamat, Agama, jenis kelamin NIP, Nama, Alamat, Agama, jenis kelamin

DepartemenDepartemen No, Nama, lokasiNo, Nama, lokasi

Departemen

No

Nama

Lokasi

9

Page 10: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Entitas Lemah

• Entitas yang keberadaannya tergantung pada entitas lain.– Contoh : Tanggungan

Tanggungan

Entitas tanggungan disebut sebagai entitas lemah karena jika data seorang pegawai dihapus maka data tanggungannya juga akan terhapus. Keberadaan data tanggungan tergantung pada data di pegawai

10

Page 11: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Cara Menemukan Entitas• Buat ilustrasi/gambaran cerita tentang sistem yang

akan dicari entitasnya• Tandai setiap objek yang diwakili oleh kata benda

yang ada di dalam ilustrasi tersebut• Untuk setiap objek tersebut yakinkan bahwa ia

memiliki karakteristik yang nanti disebut sebagai atribut

• Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas)

11

Page 12: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Menemukan Entitas(1)• Contoh : Sistem Kepegawaian di perusahaan A• Langkah 1: Buat ilustrasi/gambaran cerita tentang sistem kepegawaian di

perusahaan A– Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari

pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

12

Page 13: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Menemukan Entitas(2)• Langkah 2: Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam

ilustrasi tersebut– Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari

pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

13

Page 14: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Menemukan Entitas(2)

• Langkah 3: Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut– Perusahaan: NoPerusahaan, nama, alamat– Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji– Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji– Departemen: Nomor, Nama, lokasi, jumlah pegawai– Lokasi : lokasi – Proyek: Nomor, nama, lokasi– Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan

pegawai

14

Page 15: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Menemukan Entitas(3)

• Langkah 4: Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas)– Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu baris data)

bukan entitas– Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas kuat– Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama dengan entitas

Pegawai– Departemen: Nomor, Nama, lokasi, jumlah pegawai entitas kuat– Lokasi : lokasi (karakteristiknya departemen, tidak memiliki karakteristik lain

(unik)) bukan entitas – Proyek: Nomor, nama, lokasi entitas kuat– Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai

entitas lemah (tergantung pada pegawai)

15

Page 16: Perancangan Basis Data

ATRIBUT

BASIS DATA TEKNIK INFORMATIKA - ITS 16

Page 17: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Atribut

• Karakteristik pada suatu entitas• Identik dengan kolom atau field pada suatu

tabel

17

Page 18: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Macam-macam Atribut

• Simple Attribute dan Composite Attribute• Single Valued Attribute dan Multi Valued

Attribute• Mandatory Attribute• Derived Attribute (Attribut Turunan)• Key Attribute (Atribut Kunci)

18

Page 19: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Simple Attribute dan Composite Attribute

• Simple Attribute/atomic attribute adalah attribut terkecil yang tidak bisa dipilah lagi/suatu atribut yang tidak dapat dibagi-bagi lagi menjadi atribut yang lebih kecil– Contoh : atribut JenisKel pada

entitas pegawai– Notasi :

Composite attributeComposite attribute adalah adalah atribut yang atribut yang dapat dapat dibagidibagi menjadi menjadi atributatribut yang lebih yang lebih kecilkecil/atomic /atomic yang menggambarkan yang menggambarkan atribut dasaratribut dasar dengan dengan suatu suatu arti tertentuarti tertentu• ContohContoh : atribut : atribut NamaNama

pada entitas pegawai pada entitas pegawai dapat dipecah menjadi dapat dipecah menjadi atribut NmDepan, Inisial atribut NmDepan, Inisial dan NmBlkdan NmBlk

• Notasi :Notasi :

19

Page 20: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Single Valued Attribute dan Multi Valued Attribute

• Single value Attribute adalah suatu atribut yang hanya mempunyai satu nilai– Contoh : atribut NmDepan

pada entitas pegawai– NmDepan seorang pegawai

selalu bernilai satu nilai, tidak mungkin lebih dari satu

– Notasi :

Multi Value attributeMulti Value attribute adalah atribut yang adalah atribut yang bisa bisa memiliki lebih dari satu memiliki lebih dari satu nilainilai yang yang jenisnya samajenisnya sama dari sebuah data dari sebuah data tunggal.tunggal.• Contoh : atribut Contoh : atribut lokasi lokasi

pada entitas departemen pada entitas departemen dapat berisi 2 nilai atau dapat berisi 2 nilai atau lebih seperti Surabaya, lebih seperti Surabaya, JakartaJakarta

• Notasi :Notasi :

20

Page 21: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Derived Attribute

• Derived Attribute (Attribut Turunan) adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan– Contoh : atribut JmlPegawai pada entitas Departemen– Notasi :

21

Page 22: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Key Attribute

• Satu atau beberapa atribut yang mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris lain pada suatu entitas

• Macam key attribute:– Superkey– Candidat Key– Primary key

22

Page 23: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Macam Key Attribute• Superkey: satu atau gabungan beberapa atribut yang dapat membedakan setiap baris data

dalam sebuah tabel secara unik– Contoh Superkey untuk entitas pegawai:

• NoKTP, Nama, Alamat, JenisKel, Gaji• NoKTP, Nama, Alamat, JenisKel• NoKTP, Nama, Alamat• NoKTP, Nama• Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain)• NoKTP

• Candidat Key: superkey yang jumlah atributnya paling sedikit– Contoh candidat key untuk entitas pegawai

• Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain)• NoKTP

• Primary key: suatu candidat key yang dipilih menjadi kunci utama karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris

– Contoh : NoKTP antara satu pegawai dengan pegawai lain pasti berbeda, dalam hal ini noKTP dapat digunakan sebagai suatu key

– Notasi :

23

Page 24: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Cara Menemukan Atribut

• Tentukan dan lengkapi karakteristik dari tiap-tiap entitas

• Dari setiap karakteristik tersebut tentukan termasuk atribut apa

• Gambarkan entitas beserta atributnya dengan notasi yang sesuai

24

Page 25: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Evaluasi• Lengkapi karakteristik dari setiap entitas dari sistem kepegawaian

perusahaan berikut (jika belum lengkap) – Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji– Departemen: Nomor, Nama, lokasi, jumlah pegawai – Proyek: Nomor, nama, lokasi– Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai

• Dari setiap karakteristik tersebut tentukan termasuk atribut apa – Misal:

• Multi value atribut: lokasi departemen• ........

• Gambarkan entitas beserta atributnya dengan notasi yang sesuai

25

Page 26: Perancangan Basis Data

RELASI ANTAR ENTITAS

BASIS DATA TEKNIK INFORMATIKA - ITS 26

Page 27: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Relasi

• Hubungan antara beberapa entitas

Notasi : Notasi : • Relasi kuat:Relasi kuat:

• Relasi lemah:Relasi lemah:

Macam Relasi :Macam Relasi :• BinaryBinary: relasi antara 2 : relasi antara 2

entitasentitas One-to-one (1:1)One-to-one (1:1) One-to-many (1:N)One-to-many (1:N) atau atau

many-to-one (N:1)many-to-one (N:1) Many-to-many (M:N)Many-to-many (M:N)

• TernaryTernary: relasi antara 3 : relasi antara 3 entitas atau lebihentitas atau lebih

27

Page 28: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Rasio Kardinalitas (1)

Relasi One to Many

Tabel BTabel A

A1

A2

A3

B1

B2

B3

Tabel A Tabel B

A1

A2

A3

B1

B2

B3

Relasi one-to-one

Tabel A Tabel B

A1

A2

A3

B1

B2

B3

Relasi Many to Many

28

Page 29: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Rasio Kardinalitas(2)

• Setiap relasi mempunyai batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi

• Batasan tersebut ditentukan dari situasi yang diwakili relasi• Relasi “bekerja untuk” merupakan relasi biner dengan rasio

kardinalitas 1:N, berarti setiap departemen dapat direlasikan ke beberapa pegawai, tetapi satu pegawai hanya dapat direlasikan ke sebuah departemen

29

Page 30: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Batasan Partisipasi

• Menentukan bagaimana (harus ataukah tidak) partisipasi suatu entitas dengan relasinya pada entitas lain

• Ada 2 batasan partisipasi :– Total– Parsial

30

Page 31: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Partisipasi TotalContoh: Contoh: Semua Semua pegawaipegawai harusharus bekerja di bawah suatu bekerja di bawah suatu departemen departemen (relasi disisi (relasi disisi pegawai adalah relasi total)pegawai adalah relasi total)

Notasi :Notasi :

Partisipasi total:Partisipasi total: digambarkan digambarkan dengan garis ganda pada dengan garis ganda pada relasi disisi pegawairelasi disisi pegawai

Partisipasi totalPartisipasi total : : digambarkan dengan satu digambarkan dengan satu garis pada relasi disisi garis pada relasi disisi pegawai digabungkan dengan pegawai digabungkan dengan minimum 1 (minimum bekerja minimum 1 (minimum bekerja pada 1 departemen)pada 1 departemen)

(Min,max)

31

Page 32: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Partisipasi Parsial• Contoh:Beberapa pegawai mengepalai sebuah departemen (setiap pegawai

tidak harus mengepalai suatu departemen)• Notasi:

Partisipasi parsial: Partisipasi parsial: digambarkan dengan satu digambarkan dengan satu garis pada relasi disisi garis pada relasi disisi pegawaipegawai

Partisipasi parsialPartisipasi parsial :: ditandai ditandai dengan satu garis pada relasi dengan satu garis pada relasi disisi pegawai digabungkan disisi pegawai digabungkan dengan minimum 0 (tidak dengan minimum 0 (tidak mengepalai departemen)mengepalai departemen)

32

Page 33: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Cara Menentukan/Membuat Relasi (1)

• Dari gambaran cerita sistem, tandai setiap hubungan yang diwakili oleh kata kerja yang ada di dalam ilustrasi tersebut beserta entitas yang berhubungan

• Identifikasikan rasio kardinalitas dari setiap hubungan• Identifikasikan batasan partisipasi dari setiap hubungan yang

ada berikut kemungkinan atribut yang muncul dari setiap hubungan

• Gambarkan hubungan tersebut dalam bentuk notasi diagram dan gabungkan dengan notasi Entitas dan atribut yang dibuat sebelumnya

33

Page 34: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Membuat Relasi (2)• Langkah 1: dari gambaran cerita sistem, tandai dan tentukan setiap hubungan

yang diwakili oleh kata kerja yang ada di dalam ilustrasi tersebut beserta entitas yang berhubungan

– Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

34

Page 35: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Membuat Relasi (3)Identifikasi hubungan antara entitas

Entitas 1 Hubungan Entitas 2

Pengawas(Pegawai) memimpin Pegawai

Pegawai bekerja untuk Departemen

Pegawai mengepalai Departemen

Pegawai bekerja pada Proyek

Departemen mengatur Proyek

Pegawai menanggung Tanggungan

Memiliki makna sama, ambillah salah satu

Entitas 1 Hubungan Entitas 2

Pengawas(Pegawai) memimpin Pegawai

Pegawai dipimpinPengawas(Pegawai)

Pegawai bekerja untuk Departemen

Departemen terdiri dari Pegawai

Pegawai mengepalai Departemen

Departemen dikepalai Pegawai

Pegawai bekerja pada Proyek

Proyek terdiri dari Pegawai

Departemen mengatur Proyek

Proyek diatur Departemen

Pegawai menanggung Tanggungan

Tanggungan ditanggung Pegawai

35

Page 36: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Membuat Relasi (4)• Identifikasikan rasio kardinalitas dari setiap hubungan

– Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen. Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

36

Page 37: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Membuat Relasi (5)Identifikasi rasio kardinalitas dari setiap hubungan

Entitas 1

Banyaknya Entitas 1

yang berpartisipa

si

HubunganBanyaknya

Entitas 2 yang berpartisipasi

Entitas 2

Pegawai 1 memimpin N Pegawai

Pegawai 1 dipimpin 1 Pegawai

Pegawai 1bekerja untuk 1 Departemen

Departemen 1 terdiri dari N Pegawai

Pegawai 1 mengepalai 1 Departemen

Departemen 1 dikepalai 1 Pegawai

Pegawai 1 bekerja pada N Proyek

Proyek 1 terdiri dari N Pegawai

Departemen 1 mengatur N Proyek

Proyek 1 diatur 1 Departemen

Pegawai 1 menanggung N Tanggungan

Tanggungan 1 ditanggung 1 Pegawai

Pegawai

Departemen

Bekerja pada

1

1 1

N

Pegawai

Departemen

Bekerja pada

1

N

37

Page 38: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Membuat Relasi (6)• Identifikasikan batasan partisipasi dari setiap hubungan yang ada berikut

kemungkinan atribut yang muncul dari setiap hubungan – Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari

pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen. Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

38

Page 39: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Contoh Cara Membuat Relasi (7)Identifikasi batasan partisipasi dari setiap hubungan

Entitas 1

Banyaknya Entitas 1

yang berpartisipa

si

Hubungan

Banyaknya Entitas 2 yang berpartisipasi

(min,max)

Entitas 2

Pegawai 1 memimpin (0,N) Pegawai

Pegawai 1 dipimpin (0,1) Pegawai

Pegawai 1bekerja untuk (1,1) Departemen

Departemen 1 terdiri dari (1,N) Pegawai

Pegawai 1 mengepalai (0,1) Departemen

Departemen 1 dikepalai (1,1) Pegawai

Pegawai 1 bekerja pada (1,N) Proyek

Proyek 1 terdiri dari (1,N) Pegawai

Departemen 1 mengatur (0,N) Proyek

Proyek 1 diatur (1,1) Departemen

Pegawai 1 menanggung (0,N) Tanggungan

Tanggungan 1 ditanggung (1,1) Pegawai

Bekerja pada

1,1

1,NPegawai

Departemen

Bekerja pada

Pegawai

Departemen1

N

Sama dengan

39

Page 40: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Cara Menentukan/Membuat Relasi (8)

• Gambarkan hubungan tersebut dalam bentuk notasi diagram dan gabungkan dengan notasi Entitas dan atribut yang dibuat sebelumnya

40

Page 41: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Evaluasi

• Selesaikan pembuatan relasi untuk sistem kepegawaian perusahaan diatas

• Gambarkan ER-D yang lengkap untuk sistem kepegawaian perusahaan dengan 2 cara – Cara 1 : batasan partisipasi total digambarkan dengan garis

ganda– Cara 2 : batasan partisipasi total digambarkan dengan satu

garis dan (min,max)

41

Page 42: Perancangan Basis Data

MEMETAKAN ER-D KE TABEL (CDM KE PDM)

BASIS DATA TEKNIK INFORMATIKA - ITS 42

Page 43: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Mapping ER-D ke Tabel

• Tujuan: Membuat basis data relasional (basis data yang menyimpan beberapa tabel, antara satu tabel dengan tabel yang lain saling berhubungan)

• Langkah demi langkah yang dilakukan terhadap ER-D untuk menjadikannya database yang dapat diimplementasikan (dari level konseptual menjadi level fisik)

43

Page 44: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Algoritma Mapping (1-7)1. Untuk setiap entitas kuat EK, buat tabel baru EK yang menyertakan

seluruh simple atribut dan simple atribut dari composite atribut yang ada. Pilih salah satu atribut kunci sebagai primary key

2. Untuk setiap entitas lemah EH, buat tabel baru EH dengan mengikutsertakan seluruh simple atribut. Tambahkan primary key dari entitas kuatnya (owner entity type) yang akan digunakan sebagai primary key bersama-sama partial key dari entitas lemah

3. Untuk setiap multivalued atribut R, buatlah tabel baru R yang menyertakan atribut dari multivalue tersebut. Tambahkan primary key dari relasi yang memiliki multivalue tersebut. Kedua atribut tersebut membentuk primary key dari tabel R

44

Page 45: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Algoritma Mapping (1-7)4. Untuk setiap relasi binary 1:1, tambahkan primary key dari sisi yang

lebih “ringan” ke sisi (entitas) yang lebih “berat”. Suatu sisi dianggap lebih “berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga simple atribut yang terdapat pada relasi tersebut ke sisi yang lebih “berat”. Apabila kedua partisipasi adalah sama-sama total atau sama-sama partial, maka dua entitas tersebut boleh digabung menjadi satu tabel

5. Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih “berat” (sisi N). Tambahkan primary key dari sisi yang “ringan” ke tabel sisi yang lebih “berat”. Tambahkan juga seluruh simple atribut yang terdapat pada relasi biner tersebut

45

Page 46: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Algoritma Mapping (1-7)6. Untuk setiap relasi binary M:N, buatlah tabel baru R dengan atribut

seluruh simple atribut yang terdapat pada relasi biner tersebut. Tambahkan primary key yang terdapat pada kedua sisi ke tabel R. Kedua foreign key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk primary key dari tabel R

7. Ada dua alternatif :1. Untuk setiap relasi n-ary (ternary), buatlah tabel R yang menyertakan

seluruh primary key dari entitas yang ikut serta. Sejumlah n foreign key tersebut akan membentuk primary key untuk tabel R. Tambahkan seluruh simple atribut yang terdapat pada relasi n-ary tersebut.

2. Mengubah bentuk relasi ternary menjadi entitas lemah, kemudian memperbaiki relasi yang terjadi antara entitas lemah tersebut dengan entitas-entitas kuatnya dan melakukan algoritma mapping sesuai dengan aturan mapping.

46

Page 47: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 1 dari 7 (Entitas Kuat)

> Untuk setiap entitas kuat EK, buat tabel baru EKContoh :

Entitas Kuat Pegawai, buat tabel baru Pegawai

> Sertakan > Sertakan seluruh simple atribut seluruh simple atribut

> Sertakan> Sertakan simple atributsimple atribut dari composite atribut dari composite atribut yang ada. yang ada.

JenisKelAlamat

PegawaiNoKTP

Gaji

Pegawai

> Pilih salah satu > Pilih salah satu atribut atribut kuncikunci sebagai sebagai primary keyprimary keyJenisKel

Alamat

PegawaiNoKTP

GajiNmDepanInisialNmBlk

47

Page 48: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 2 dari 7 (Entitas Lemah)> Untuk setiap entitas lemah EH, buat tabel baru EH

Contoh :Untuk Entitas Lemah Tanggungan, buat tabel baru Tanggungan

> Sertakan > Sertakan seluruh simple atribut seluruh simple atribut

Tanggungan

> Tambahkan > Tambahkan primary keyprimary key dari dari entitas kuatnyaentitas kuatnya (owner entity type) yang akan (owner entity type) yang akan digunakan sebagai digunakan sebagai primary key bersama-sama partial keyprimary key bersama-sama partial key dari entitas lemah dari entitas lemah

TglLahirJenisKel

Tanggungan

Nama

Hubungan

TglLahirJenisKel

Tanggungan

Nama

Hubungan

NoKTP

48

Page 49: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 3 dari 7 (Multivalued Atribut)

> Untuk setiap multivalued atribut R, buatlah tabel baru R yang menyertakan atribut dari multivalue tersebut.

> Tambahkan > Tambahkan primary keyprimary key dari relasi yang memiliki multivalue tersebut. dari relasi yang memiliki multivalue tersebut. Kedua atributKedua atribut tersebut membentuk tersebut membentuk primary keyprimary key dari tabel R dari tabel R

Lokasi_departemenLokasi_departemenDLokasi

Lokasi_departemen

DNomorDLokasi

49

Page 50: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 4 dari 7 (Relasi 1:1)> Untuk setiap relasi binary 1:1, tambahkan primary key dari sisi yang lebih “ringan” ke sisi (entitas) yang

lebih “berat”. Suatu sisi dianggap lebih “berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga simple atribut yang terdapat pada relasi tersebut ke sisi yang lebih “berat”.

Minimum 1 Minimum 1 (partisipasi (partisipasi total) / lebih total) / lebih beratberat

JenisKelAlamat

PegawaiNoKTP

GajiNmDepanInisialNmBlk

Dnama

DepartemenDnomor

NoKTP_MGRMGR_tglMulai

Catatan: Catatan: Apabila kedua partisipasi adalah Apabila kedua partisipasi adalah

sama-sama total atau sama-sama-sama total atau sama-sama partial, sama partial,

maka maka dua entitas tersebut boleh dua entitas tersebut boleh digabung menjadi satu tabeldigabung menjadi satu tabel

tau tau tetap dipisah dan primary key tetap dipisah dan primary key dari masing-masing tabel dari masing-masing tabel menjadi foreign keymenjadi foreign key 50

Page 51: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 5 dari 7 (Relasi 1:N)> Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih

“berat” (sisi N). Tambahkan primary key dari sisi yang “ringan” ke tabel sisi yang lebih “berat”. Tambahkan juga seluruh simple atribut yang terdapat pada relasi biner tersebut

Dnama

DepartemenDnomor

NoKTP_MGRMGR_tglMulai

NN 11

JenisKelAlamat

PegawaiNoKTP

GajiNmDepanInisialNmBlkDNo

Sisi N Sisi N lebih beratlebih berat

51

Page 52: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 6 dari 7 (Relasi M:N)> Untuk setiap relasi binary M:N, buatlah tabel baru R dengan atribut seluruh simple atribut yang terdapat pada

relasi biner tersebut. Tambahkan primary key yang terdapat pada kedua sisi ke tabel R. Kedua foreign key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk primary key dari tabel R

Pnama

ProyekPnomor

Lokasi

MMNN

JenisKelAlamat

PegawaiNoKTP

GajiNmDepanInisialNmBlkDNo

PNoKTP

Bekerja_pada

Pnomor

LamaJam

52

Page 53: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Langkah 7 dari 7 (Relasi Ternary) – alternatif 1>Untuk setiap relasi n-ary (ternary), buatlah tabel R yang menyertakan

seluruh primary key dari entitas yang ikut serta. Sejumlah n foreign key tersebut akan membentuk primary key untuk tabel R. Tambahkan seluruh simple atribut yang terdapat pada relasi n-ary tersebut.

Sama dengan proses yang dilakukan untuk langkah ke 6. Karena dalam ER-D perusahaan ini tidak ada relasi n-ary maka langkah ini tidak dilakukan.

Contoh lain:

Supplier Proyek

Barang

Supply

KodeBarangNam aBarang

KodeSupplier

Nam aSupplier

KodeProyek

Nam aProyek

Jum lah

KodeBarang KodeProyek

SupplyKodeSupplier

Jumlah

53

Page 54: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

SupplierProyek

Barang

Supply

SB

SS SPY

JumlahKodeSupplier NamaSupplier KodeProyek

NamaProyek

NamaBarang

KodeBarang

1 1

1

N

NN

KodeBarang KodeProyek

SupplyKodeSupplier

Jumlah

Langkah 7 dari 7 (Relasi Ternary) – alternatif 2

54

Page 55: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Evaluasi (1)

1. Selesaikan mapping pada ER-D perusahaan yang ada, sehingga menjadi basis data relasional

55

Page 56: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Evaluasi (2)2. Bagaimana bentuk tabel dari ER berikut :

SupplierProyek

Barang

Supply

SB

SS SPY

JumlahKodeSupplier NamaSupplier KodeProyek

NamaProyek

NamaBarang

KodeBarang

1 1

M

N

NN

56

Page 57: Perancangan Basis Data

BASIS DATA TEKNIK INFORMATIKA - ITS

Evaluasi (3)

• Buat ilustrasi/gambaran cerita dan buat ER-D dari – sistem akademik di jurusan Teknik Informatika– sistem Penyewaan Mobil– sistem perpustakaan

57

Page 58: Perancangan Basis Data

Referensi

1. Konsep & Tuntunan Praktis Basis Data, Abdul Kadir, penerbit Andi Yogyakarta

2. Materi Data Flow Diagram

58BASIS DATA TEKNIK INFORMATIKA - ITS