perancangan basis data
DESCRIPTION
Perancangan Basis Data MPPLTRANSCRIPT
Perancangan Basis Data (Konseptual, Logis dan fisis)
Oleh : Tim Pengajar Basis Data
1
BASIS DATA TEKNIK INFORMATIKA - ITS
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
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
KOMPONEN YANG TERLIBAT DALAM PERANCANGAN KONSEPTUAL
BASIS DATA TEKNIK INFORMATIKA - ITS 4
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
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
BASIS DATA TEKNIK INFORMATIKA - ITS
Contoh ER-Diagram Perusahaan
7
ENTITAS
BASIS DATA TEKNIK INFORMATIKA - ITS 8
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
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
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
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
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
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
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
ATRIBUT
BASIS DATA TEKNIK INFORMATIKA - ITS 16
BASIS DATA TEKNIK INFORMATIKA - ITS
Atribut
• Karakteristik pada suatu entitas• Identik dengan kolom atau field pada suatu
tabel
17
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
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
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
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
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
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
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
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
RELASI ANTAR ENTITAS
BASIS DATA TEKNIK INFORMATIKA - ITS 26
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
MEMETAKAN ER-D KE TABEL (CDM KE PDM)
BASIS DATA TEKNIK INFORMATIKA - ITS 42
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
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
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
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
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
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
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
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
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
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
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
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
BASIS DATA TEKNIK INFORMATIKA - ITS
Evaluasi (1)
1. Selesaikan mapping pada ER-D perusahaan yang ada, sehingga menjadi basis data relasional
55
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
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
Referensi
1. Konsep & Tuntunan Praktis Basis Data, Abdul Kadir, penerbit Andi Yogyakarta
2. Materi Data Flow Diagram
58BASIS DATA TEKNIK INFORMATIKA - ITS