Sub Topik
Menentukan entity Kardinalitas Batasan Partisipasi Mapping dari ER Diagram ke dlm Tabel
Menentukan Entity
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)
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.
PPPGT VEDC MALANG
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.
PPPGT VEDC MALANG
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
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)
PPPGT VEDC MALANG
Kardinalitas
Notasi ER Diagram
Entity sets digambarkan dengan Relationship sets digambarkan dengan Hubungan antara Entity sets Relationship sets serta atribut entity sets digambarkan dengan garis Atribut digambarkan dengan
Alamat
ID
Alamat_Perush
Pegawai
Bekerja
Perusahaan
NmDepan
Inisial Nama
NmBlk
ERD Perusahaan
Gaji bekerja untuk nama nomor lokasi 8
Alamat JenisKel
( 1,1)
Pegawai NoKTP
( 1,N)
( 1,1)
TglMulai
( 0,1 )
Departemen
(0,N)
mengepalai
JmlPegawai
(0,1)
,N (1
(0, N)
(0,N )
)
mengatur bekerja pada
(1, N)
menanggung LamaJam
Proy ek
(1,1)
Nomor Tanggungan
Nama
(1,1)
Lokasi
memimpin
Hubungan
Entitas B
data 1 data 2 data 3 data 4
Contoh: relasi bekerja untuk pada entitas pegawai terhadap entitas departemen
data 1 data 2 data 3 data 4 data 1 data 2 data 3
Batasan Partisipasi
2. Partisipasi sebagian partisipasi pegawai dalam relasi mengepalai terhadap departemen, tidak setiap data pada pegawai dihubungkan dengan departemen dengan relasi ini. Atau tidak semua pegawai mengepalai departemen
Partisipasi Total
Contoh: Semua pegawai harus bekerja di bawah suatu departemen (relasi disisi pegawai adalah relasi total) Notasi :
Partisipasi total: digambarkan dengan garis ganda pada relasi disisi pegawai
Partisipasi total : digambarkan dengan satu garis pada relasi disisi pegawai digabungkan dengan minimum 1 (minimum bekerja pada 1 departemen)
(Min,max)
PPPGT VEDC MALANG
Partisipasi Parsial
Contoh:Beberapa pegawai mengepalai sebuah departemen (setiap pegawai tidak harus mengepalai suatu departemen) Notasi:
Partisipasi parsial: digambarkan dengan satu garis pada relasi disisi pegawai Partisipasi parsial : ditandai dengan satu garis pada relasi disisi pegawai digabungkan dengan minimum 0 (tidak mengepalai departemen)
PPPGT VEDC MALANG
Menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar entitas. Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1
Contoh:
pada relasi bekerja untuk pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu
Macam relasi
relasi Biner (binary relation) relasi tunggal (unary relation) relasi Multi entitas (n-ary relation) relasi ganda (redundant relation)
(0,1 )
(0,
memimpin
N)
NoKursus
(1,1)
Pegawai
(1,N)
(0,1 )
Departemen
mengepalai
(1,1)
Foreign key adalah kolom yang diambil dari primary key entitas lain yang menggunakan hubungan antar 2 tabel tsb.
Fakta Adi, Budi dan Cici bekerja pada bagian Persinalia. Sedangkan Rudi dan Santo bekerja pada bagian Gudang Dari fakta diatas dan panah relasi sebelah kiri, bagaimana cara menuliskan data yang menunjukkan hubungan/relasi antar tabel pegawai dan departemen?
Algoritma 1
Untuk setiap entitas kuat EK, buat tabel baru EK yang memasukkan semua attribut sederhana (simple attribut) Untuk atribut komposit, hanya atribut sederhananya yang disertakan Pilih salah satu key attribute dari EK sebagai primary key. Jika key yang terpilih merupakan atribut komposit, seluruh atribut sederhananya merupakan primary key
Algoritma 1
NmDepan Inisial Nama
Langkah 1
NmBlk
Tabel PEGAWAI
NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji
Gaji
Atribut komposit nama tidak menjadi field/kolom pada tabel PEGAWAI, tetapi yg dimasukkan adalah bagian simple attributnya.
Algoritma 2
Untuk setiap entitas lemah EL yang dimiliki oleh entitas kuat EK, buat tabel baru EL yang memasukkan semua atribut sederhana EL Tambahkan pada EL foreign key yang diambil dari primary key EK Primary key yang dibentuk merupakan gabungan primary key EK dan partial key dari EL (jika ada)
Algoritma 2
Pegawai NoKTP
Tabel TANGGUNGAN
Langkah 2
(1 , 1)
(0,N)
menanggung
Tanggungan
Hubungan
Algoritma 3
Untuk setiap relasi 1:1 antara entitas EK1 dan EK2: Jika sama-sama merupakan partisipasi total, pilih salah satu. Tambahkan semua semua simple attribut dari entitas yang lain Jika sama-sama merupakan partisipasi parsial, pilih salah satu. Tambahkan foreign key dari primary key entitas yang lain Jika salah satu merupakan partisipasi total, pilih yang berpartisipasi total. Tambahkan foreign key dari primary key entitas yang lain Kemudian tambahkan semua simple atribut dari relasi tersebut
Algoritma 3
NoKTP Pegawai
(0,1)
Departemen mengepalai
(1,1)
Langkah 1-3
Tabel DEPARTEMEN
Peg_NoKTPKepala
Algoritma 4
Untuk setiap relasi 1:N antara entitas EK1 dan EK2, pilih entitas yang memiliki derajat maksimum relasi=1 Tambahkan sebuah foreign key dari primary key entitas lain yang memiliki derajat maksimum relasi = N Tambahkan pula seluruh atribut dari relasi tersebut
Algoritma 4
NoKTP bekerja untuk nama nomor
Pegawai
(1,1)
(1,N)
Departemen
Tabel PEGAWAI
Langkah 4
Dep_NomorBekerja Dep_NamaBekerja
Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya
Algoritma 5
Untuk setiap relasi M:N antara entitas EK1 dan EK2, buat tabel baru MN Tambahkan seluruh simple attribut dari relasi tersebut Tambahkan pula foreign key yang diambil dari primary key masing-masing entitas yang direlasikan Primary key merupakan gabungan dari seluruh foreign key tersebut
Algoritma 5
NoKTP Pegawai bekerja pada (1,N) Proyek
(1,N)
LamaJam
Nomor
Nama
Langkah 5
Tabel BEKERJAPADA
Peg_NoKTP Pro_Nomor Pro_Nama LamaJam
Algoritma 6
Untuk setiap multivalued attribute, buat tabel baru MV Tambahkan seluruh simple attributnya Tambahkan pula sebagai foreign key, primary key dari entitas yang memiliki Primary key merupakan gabungan dari dari seluruh fieldnya
Algortima 6
nama
nomor
lokasi 8
Langkah 6
Departemen
JmlPegawai
NmDepan
Inisial Nama
NmBlk
ERD Perusahaan
Gaji bekerja untuk nama nomor lokasi 8
Alamat JenisKel
( 1,1)
Pegawai NoKTP
( 1,N)
( 1,1)
TglMulai
(0,1 )
Departemen
(0,N)
mengepalai
JmlPegawai
(0,1)
,N (1
(0, N)
(0,N )
)
mengatur bekerja pada
(1, N)
menanggung LamaJam
Proy ek
(1,1)
Nomor Tanggungan
Nama
(1,1)
Lokasi
memimpin
Hubungan
Contoh
Berdasarkan ERD
Step 1:
Langkah pertama mendefinisikan entitas kuat
Tabel Pegawai Entitas pegawai memiliki atribut NoKTP,JenisKel,Alamat,Gaji dan atribut composit Nama (NmDepan,Inisial,NmBlk). Sehingga skema tabel pegawai sbb:
NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji
Tabel Departemen Entitas departemen memiliki atribut Nomor,Nama, JmlPegawai dan atribut multi valued lokasi yang bisa menjadi tabel lain yang mengacu ke tabel departemen. Skemanya adalah sbb:
Nomor Nama JmlPegawai
Contoh
Tabel proyek Entitas proyek terdiri dari atribut Nomor, Nama,Lokasi. Skema dari tabel proyek adalah
Nomor Nama Lokasi
Step 2:
Langkah kedua adalah mendefinisikan entitas lemah
Tabel Tanggungan Entitas tanggungan bergantung pada entitas pegawai. Atibutnya adalah Nama,JenisKel,TglLahir,Hubungan. Primary key dari entitas pegawai masuk ke entitas tanggungan
NoKTP Nama JenisKel TglLahir Hubungan
Contoh
Step 3:
Tabel Departemen Pada relasi mengepalai, suatu departemen dikepalai oleh 1 pegawai sehingga primary key entitas pegawai masuk ke entitas departemen, ditambahkan dengan atribut tglMulai
Nomor Nama JmlPegawai NoKTP TglMulai
Step 4:
Tabel Pegawai Pada relasi memimpin dan bekerja, primary key dari departemen masuk ke entitas pegawai dan setiap pegawai memiliki pimpinan
NoKTP
NmDepan
Inisial NmBlk
JenisKel
Alamat
Gaji
NoKTP_Pimpinan
dep_nomor
Dep_nama
Contoh
Tabel Proyek Berdasarkan relasi mengatur, maka primary key dari entitas departemen masuk ke entitas proyek
Nomor Nama Lokasi dep_nomor dep_nama
Step 5:
Tabel BekerjaPada Pada relasi bekerja pada memiliki relasi many to many sehingga akan muncul tabel baru yang primary keynya berasal dari entitas pegawai dan proyek
noKTP proyek_nomor proyek_nama lamaJam
Contoh
Step 6:
Tabel Departemen_Lokasi Dari atribut muti valued lokasi akan dibuat tabel baru yang skemanya sebagai berikut
dep_nomor dep_nama Lokasi