66
4.1 Usulan Prosedur Baru
Berdasarkan permasalahan yang dihadapi perusahaan, kami membuat suatu sistem untuk mengelola proyek-proyek yang ada pada perusahaan. Berikut ini rancangan diagram proses yang digambarkan dalam diagram konteks, diagram aliran data level 0 dan level 1. Diagram proses ini menggambarkan prosedur pelaksanaan proyek dari proses proyek diusulkan sampai proses proyek diselesaikan dan dokumen hasil proyek beserta dokumen lain yang berhubungan dengan proyek.
4.1.1 DFD
4.1.1.a Diagram Konteks
Gambar 4.1 Diagram Konteks Sistem PMO
4.1.1.b DFD Le vel 0
P roy ek Pim pinan
P MO A s sis tem Pim pinan P MO SD M Ve ndor Pe ga wai TI 1.0 Pe ner ima a n P roy ek 2.0 Pe m ros es an Pe ner ima a n P roy ek 3.0 Pe nc a ria n Ve ndor 4 .0 P enc ar ian SD M 5.0 Pe mbe ria n Sur at K e putusa n 6.0 Pe mr os es an P roy ek 7.0 Me m buat La pora n 8 .0 Pe nggunaa n Dok um en 9 .0 D okum e n Ve ndor 10 .0 D okum e n Pr oye k Inisia lis a si Pr oye k H a sil P roy ek P em be rian D okum e n
Me m onitor Inisia lis as i Pr oye k M em be rik an We wena ng Pe m ros es a n P roy ek C ek Lapor an Me m ber i-ka n Sura t K e se pak a tan Me ngatur P ros es Pe ner ima a n Ev a lua s i P roy ek , M entor ing Inis ialis as i P roy ek
Se le k si SD M & TIM Se lek si Ve ndor Pe ngumpula n D ok ume n Monitor Dok um en A k se s D ok um e n View D okum e n M eny e tujui Sur at K e se pak a tan Pe mbe ria n Pr ofil P ene tapa n S DM & TIM Pe m ber ian D okum en P em be ria n His tor y D ata Pe neta pa n Ve ndor Pe m be r ia n Dok um en View D okum e n View D ok um e n View D ok um e n P roje ctP ropos ed Vie w Dok um en Ms Em ploy e e Ms Me thodCa t
Tr Pr oje c tInit Doc
TrP roje ctInitD oc Tr Pr jTe a mP osC a ndida te
TrPr ojec tPr opose dD oc
TrPr ojec tInitD oc
4.1.1.c DFD Level 1
4.2 Perancangan Database
Dalam merancang basis data pada PT PLN (Persero) digunakan tiga fase utama yang merupakan proses suatu rancangan basis data untuk mendukung sistem yang akan dibuat, yaitu :
1. Desain Basis Data Konseptual (Conseptual Database Desain) 2. Desain Basis Data Logikal (Logical Database Desain)
3. Desain Basis Data Fisikal (Physical Database Desain)
4.2.1 Conseptual Database Design
Tahap–tahap perancangan conceptual database design adalah : a. Identifikasi Tipe Entitas
b. Identifikasi Tipe Relasi Antar Entitas
c. Identifikasi dan Asosiasi Attribut Suatu Entitas d. Identifikasi Attribut Domain Entitas Perancangan e. Identifikasi Attribut Candidate dan Primary Key f. Penggunaan Enhanced M odelling Concept g. M engecek Redundancy pada M odel
h. Validasi M odel Konseptual Lokal Terhadap Transaksi Pengguna
4.2.1.a Identifikasi Tipe Entitas
Pada tahap ini dilakukan pengidentifikasian entitas kebutuhan perusahaan. Berikut adalan tipe entitas yang telah diidentifikasikan :
Tabel 4.1 Identifikasi Tipe Entitas
Nama Entitas Alias Deskripsi Kejadian
ProjectInit Inisialisasi proyek
M encatat proyek-proyek yang sudah direalisasi Proyek yang telah di Approve ProjectProposed Pengajuan proyek M encatat proyek pengajuan atau yang diusulkan Proyek yang diajukan MsPrjM ethodStage Tahapan proyek M encatat tahapan-tahapan metodologi proyek Tahapan– tahapan proyek MsPrjActGroup Aktifitas Grup M encatat kelompok aktifitas proyek Aktifitas setiap proyek MsProjectCat Kategori proyek M encatat kategori proyek Kategori dari proyek
MsBranch Cabang M encatat
cabang-cabang atau sub-sub unit dari unit PLN
Cabang dari perusahaan
MsPrjTeamPos Posisi Tim M encatat posisi jabatan yang terdapat dalam tim proyek
Pegawai yang ada dalam Tim Proyek
pengguna sistem memiliki account
MsDomicile Domisili M encatat lokasi
domisili
Domisili dari pegawai
MsEmployee Pegawai M encatat pegawai Pegawai yang
ada dalam proyek
MsStatus Status M encatat status
pegawai
Status dari pegawai MsGender Jenis
Kelamin
M encatat jenis kelamin pegawai
Jenis kelamin dari pegawai
MsReligion Agama M encatat agama
pegawai Agama dari pegawai MsTrainingCourseCat Kategori Pelatihan M encatat kategori pelatihan Kategori pelatihan proyek MsRiskM gmtComponent Komponen
Resiko
M encatat bagian dari katalog resiko
Resiko dari proyek MsEvalIndicator Evaluasi
Proyek
M encatat indikasi yang digunakan untuk acuan evaluasi proyek
Evaluasi dari proyek
4.2.1.b Identifikasi Tipe Relasi Antar Entitas
Tabel 4.2 Identifikasi Tipe Relasi
Nama Entitas Multipli
city
Relationship Multiply
city
Nama Entitas
ProjectInit 1..* M empunyai 1..1 MsEvalIndicator
1..1 Diciptakan_oleh 1..1 ProjectProposed 1..1 M enciptakan 1..* MsPrjTeamPos
1..* M engolah 1..1 MsRiskM gmtComp
onent
1..* M enggunakan 1..1 MsPrjM ethodStage
1..* Dikerjakan_oleh 1..* MsEmployee
ProjectProposed 1..* M embuat 1..1 MsPrjActGroup
1..* Dibuat_berdasark an
1..1 MsProjectCat
1..* Dimiliki 1..1 MsBranch
MsEmployee 1..* M enjadi_bagian 1..1 MsUser
1..* M enetap 1..1 MsDomilicile
1..* M emperoleh 1..1 MsStatus 1..* Dimiliki_oleh 1..1 MsBranch
1..* M emiliki 1..1 MsGender
1..* M elakukan 1..1 MsTrainingCourseC at
1..* M enjadi 1..* MsPrjTeamPos
4.2.1.c Identifikasi dan Asosiasi Attribut Suatu Entitas
Tabel 4.3 Identifikasi Attibut Tabel ProjectInit
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
ProjectInit ProjectInitID PK dari ProjectInit
Char 11 No No
ProjectProposedID FK dari
ProjectProposed
Char 10 No No
RegDate Tanggal dicatat Datetime Yes No
SPKNo No SPK Varchar 25 No No
SPKDate Tanggal SPK Datetime No No
ProjectValue Besar nilai proyek
Int No No
DateFrom Tanggal mulai realisasi proyek
Datetime No No
DateTo Tanggal rencana
selesai realisasi proyek
Datetime No No
DatePrjClose Tanggal proyek selesai
Datetime No No
DisbTriWln1 Pengeluaran Triwulan 1
DisbTriWln2 Pengeluaran Triwulan 2 Int Yes No DisbTriWln3 Pengeluaran Triwulan 3 Int Yes No DisbTriWln4 Pengeluaran Triwulan 4 Int Yes No OtherDesc Catatan penjelasan lainnya Varchar 100 No No
PercentComplete Status pekerjaan proyek
Int No No
Fprocess Penanda apakah realisasi proyek sudah diproses
Int No No
FileName Nama dokumen Varchar 25 No No FileType Tipe dokumen Varchar 10 Yes No FileSize Ukuran dokumen Varchar 10 Yes No PrjM ethodStageID FK dari MsPrjM ethodSt age Char 12 No No
Tabel 4.4 Identifikasi Attibut Tabel ProjectProposed
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
ProjectProposed ProjectProposedID PK dari
ProjectProposed
Char 10 No No
RegDate Tanggal
pencatatan
Datetime Yes No
Name Nama proyek Varchar 25 No No
DescriptionProject Proposed Penjelasan proyek Varchar 100 No No PrjActGroupID FK dari MsPrjActGroup Char 3 No No ProjectCatID FK dari MsProjectCct Char 3 No No
ProposedNo No usulan Varchar 25 No No ProposedDate Tanggal usulan Datetime No No
SKINo No SKI Varchar 25 No No
SKIDate Tanggal SKI Datetime No No
ProjectValue Nilai proyek Int No No
ProjectFundSource Sumber pendanaan
Varchar 25 No No
mulai
DateTo Tanggal rencana
selesai
Datetime No No
LocationDesc Letak lokasi proyek Varchar 25 No No DisbTriWln1 Pengeluaran Triwulan 1 Int Yes No DisbTriWln2 Pengeluaran Triwulan 2 Int Yes No DisbTriWln3 Pengeluaran Triwulan 3 Int Yes No DisbTriWln4 Pengeluaran Triwulan 4 Int Yes No OtherDesc Catatan penjelasan lain Varchar 100 No No
UnitID FK dari MsUnit Char 3 No No
BranchID FK dari
MsBranch
Char 3 No No
Fprocess Penanda apakah usulan proses sudah diproses
Int No No
FileType Tipe dokumen Varchar 10 Yes No FileSize Ukuran dokumen Varchar 10 Yes No DescriptionProject ProposedDoc Penjelasan dokumen proyek Varchar 100 Yes No
Tabel 4.5 Identifikasi Attibut Tabel M sPrjM ethodStage
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsPrjM ethodStage PrjM ethodStageID PK dari tabel MsPrjM ethodSt age
Char 5 No No
NameM ethodStage Nama tahapan metodologi Varchar 75 No No ProjectInitID FK dari ProjectInit Char 11 No No EmployeeID FK dari MsEmployee Char 11 No No
NameM ethodCat Nama kategori metode
Varchar 25 Yes No
PercentComplete Persentase metode
RecordDate Tanggal penyimpanan Datetime Yes No Description Deskripsi metode Varchar 100 yes No
Tabel 4.6 Identifikasi Attibut Tabel M sPrjActGroup
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsPrjActGroup PrjActGroupID PK dari
MsPrjActGroup
Char 3 No No
Name Nama kelompok
aktifitas proyek
Varchar 25 No No
Tabel 4.7 Identifikasi Attibut Tabel M sProjectCat
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsProjectCat ProjectCatID PK dari MsProjectCat
Char 3 No No
Name Nama kategori
proyek
Varchar 50 No No
Nama Entitas Attribut Deskripsi Tipe Data (Length) NU LL Multi Value
MsBranch BranchID PK dari
MsBranch
Char 3 No No
NameBranch Nama cabang Char 12 No No
NameUnit Nama unit Varchar 50 No No
Tabel 4.9 Identifikasi Attibut Tabel M sPrjTeamPos
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsPrjTeamPos PrjTeamPosID PK dari
MsPrjTeamPos
Char 7 No No
NameTeamPos Nama posisi tim Varchar 25 No No NameTeamPosCrit eria Nama kriteria tim Varchar 25 No No ProjectInitID FK dari ProjectInit Char 11 No No EmployeeID FK dari MsEmployee Char 11 No No FundSource Jumlah Karyawan Int No No
Nama Entitas Attribut Deskripsi Tipe Data (Length) NU LL Multi Value
MsUser UserID PK dari MsUser Char 12 No No
Password Kata kunci untuk login
Varchar 25 No No
Name Nama user Varchar 25 No No
EmployeeID FK dari
MsEmployee
Char 12 No No
Tabel 4.11 Identifikasi Attibut Tabel M sDomicile
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsDomicile DomicileID PK dari
MsDomicile
Char 5 No No
NameDomicile Nama wilayah domisili
Varchar 25 No No
NameRegion Nama bagian Varchar 25 No No
Tabel 4.12 Identifikasi Attibut Tabel M sEmployee
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsEmployee
FullName Nama lengkap Varchar 25 No No
FGender FK dari
MsGender
Char 1 No No
JobPosition Jabatan pegawai Varchar 50 Yes No
JoinDate Tanggal masuk DateTime Yes No
ResignDate Tanggal keluar DateTime Yes No ProbationDate Tanggal mulai
percobaan
DateTime Yes No
PermanentDate Tanggal menjadi pegawai tetap
DateTime No No
PlaceOfBirth Tempat lahir Varchar 25 No No
DateOfBirth Tanggal lahir DateTime No No
ContactNo No yang dapat dihubungi
Varchar 15 Yes No
Address Alamat Varchar 35 Yes No
Email Email Varchar 25 No No
BloodType Golongan darah Varchar 5 No No FReligion FK dari
MsReligion
Char 1 No No
MsStatus
DriveLicType Jenis SIM Varchar 5 No No PassportNo Nomor paspor Varchar 15 Yes No M onthsWorkExp Pengalaman bekerja dalam bulan Varchar 10 Yes No TotalPrjExp Jumlah pengalaman proyek pernah ditangani Varchar 5 Yes No DiseaseCaseDes Riwayat penyakit Varchar 10 Yes No
UnitID FK dari MsUnit Char 3 No No
BranchID FK dari MsBranch Char 3 No No RegionID FK dari MsRegion Char 4 No No DomicileID FK dari MsDomicile Char 5 No No
Tabel 4.13 Identifikasi Attibut Tabel M sStatus
(Length) LL Value
MsStatus FM aritalStatus PK dari MsStatus
Char 1 No No
Name Jenis dari status Employee
Varchar 25 No No
Tabel 4.14 Identifikasi Attibut Tabel M sGender
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsGender FGender PK dari
MsGender
Char 1 No No
Name Nama Jenis
Kelamin
Varchar 25 No No
Tabel 4.15 Identifikasi Attibut Tabel M sReligion
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsReligion FReligion PK dari
MsReligion
Char 1 No No
Name Nama Religion Varchar 25 No No
Nama Entitas Attribut Deskripsi Tipe Data (Length) NU LL Multi Value MsTrainingCourse Cat TrainingCourseCat ID PK dari MsTrainingCour seCat Char 7 No No
Name Nama dari
kategori pelatihan
Varchar 25 No No
Date Tanggal Datetime Yes No
DateFrom Tanggal M ulai Datetime Yes No
DateTo Tanggal Selesai Datetime Yes No
EmployeeID FK dari
MsEmployee
Char 11 No No
Tabel 4.17 Identifikasi Attibut Tabel M sRiskM gmtComponent
Nama Entitas Attribut Deskripsi Tipe Data
(Length) NUL L Multi Value MsRiskM gmtCom ponent RiskM gmtCompon entID PK dari MsRiskM gmtCo mponent Char 7 No No ProjectInitID FK dari ProjectInit Char 11 No No
NameRiskM gmgtC omponent Nama komponen resiko Varchar 75 No No NameRiskM gmtCa t Nama kategori resiko Varchar 75 No No
Description Deskripsi resiko Varchar 100 Yes No
RiskDate Tanggal resiko Datetime No No
Treatment Usulan penyelesaian masalah
Varchar 100 No No
Tabel 4.18 Identifikasi Attibut Tabel M sEvalIndicator
Nama Entitas Attribut Deskripsi Tipe Data
(Length)
NU LL
Multi Value
MsEvalIndicator EvalIndicatorID PK dari
MsEvalIndicator Char 10 No No ProjectInitID FK dari ProjectInit Char 11 No No ReviewDate Tanggal evaluasi Datetime No No
EvaluationScore Nilai evaluasi Int No No
evaluasi NameEvalIndicator Group Nama indikasi evaluasi grup Char 12 No No
4.2.1.d Identifikasi Attribut Domain Entitas Perancangan
Tabel 4.19 Identifikasi Attibut Domain Tabel ProjectInit
NamaDomain Nama Field Attribut Domain
ProjectInit ProjectInitID Char 11
[P][R][T][I][0][9][0-9][0-9][0-9][0-9][0-9] ProjectProposedID Char 10 [P][P][-][0][9][.][0-9][0-9][0-9][0-9] RegDate Datetime SPKNo Varchar 25 SPKDate Datetime ProjectValue Int DateFrom Datetime DateTo Datetime DatePrjClose Datetime DisbTriWln1 Int
DisbTriWln2 Int DisbTriWln3 Int DisbTriWln4 Int OtherDesc Varchar 100 PercentComplete Int Fprocess Int FileName Varchar 25 FileType Varchar 10 FileSize Varchar 10 PrjM ethodStageID Char 12 [M ][S][T][0-9][0-9]
Tabel 4.20 Identifikasi Attibut Domain Tabel ProjectProposed
Nama Domain Nama Field Attribut Domain
ProjectProposed ProjectProposedID Char 10
[P][P][-][0][9][.][0-9][0-9][0-9][0-9] RegDate Datetime Name Varchar 25 DescriptionProjectProposed Varchar 100 PrjActGroupID Char 3 [0-9][0-9][0-9]
ProjectCatID Char 3 [0-9][0-9][0-9] ProposedNo Varchar 25 ProposedDate Datetime SKINo Varchar 25 SKIDate Datetime ProjectValue Int ProjectFundSource Varchar 25 DateFrom Datetime DateTo Datetime LocationDesc Varchar 25 DisbTriWln1 Int DisbTriWln2 Int DisbTriWln3 Int DisbTriWln4 Int OtherDesc Varchar 100 UnitID Char 3 [0-9][0-9][0-9] BranchID Char 3 [0-9][0-9][0-9] Fprocess Int FileName varchar(25)
FileType varchar(10) FileSize varchar(10) DescriptionProjectProposedDoc varchar(100)
Tabel 4.21 Identifikasi Attibut Domain Tabel MsPrjM ethodStage
Nama Domain Nama Field Attribut Domain
MsPrjM ethodStage PrjM ethodStageID Char 5
[M ][S][T][0-9][0-9] NameM ethodStage Varchar 75
ProjectInitID Char 11 [P][R][T][I][0][9][0-9][0-9][0-9][0-9][0-9] EmployeeID Char 11 [E][M ][P][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
NameM ethodCat Varchar 25
PercentComplete integer RecordDate datetime
Description Varchar 100
Tabel 4.22 Identifikasi Attibut Domain Tabel MsPrjActGroup
MsPrjActGroup PrjActGroupID Char 3
[0-9][0-9][0-9]
Name Varchar 25
Tabel 4.23 Identifikasi Attibut Domain Tabel MsProjectCat
Nama Domain Nama Field Attribut Domain
MsProjectCat ProjectCatID Char 3
[0-9][0-9][0-9]
Name Varchar 50
Tabel 4.24 Identifikasi Attibut Domain Tabel MsBranch
Nama Domain Nama Field Attribut Domain
MsBranch BranchID Char 3
[0-9][0-9][0-9]
NameBranch Char 12
NameUnit Varchar 50
Tabel 4.25 Identifikasi Attibut Domain Tabel MsPrjTeamPos
Nama Domain Nama Field Attribut Domain
MsPrjTeamPos PrjTeamPosID Char 7
[T][P][0-9][0-9][0-9][0-9][0-9]
NameTeamPosCriteria Varchar 25 ProjectInitID Char 11 [P][R][T][I][0][9][0-9][0-9][0-9][0-9][0-9] EmployeeID Char 11 [E][M ][P][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] FundSource int
Tabel 4.26 Identifikasi Attibut Domain Tabel MsUser
Nama Domain Nama Field Attribut Domain
MsUser UserID Char 12
Password Varchar 25
Name Varchar 25
EmployeeID Char 12
[E][M ][P][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
Tabel 4.27 Identifikasi Attibut Domain Tabel MsDomicile
Nama Domain Nama Field Attribut Domain
MsDomicile DomicileID Char 5
NameDomicile Varchar 25
NameRegion Varchar 25
Tabel 4.28 Identifikasi Attibut Domain Tabel MsEmployee
Nama Domain Nama Field Attribut Domain
MsEmployee EmployeeID Char 11
[E][M ][P][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] FullName Varchar 25 FGender Char 1 JobPosition Varchar 50 JoinDate DateTime ResignDate DateTime ProbationDate DateTime PermanentDate DateTime PlaceOfBirth Varchar 25 DateOfBirth DateTime ContactNo Varchar 15 Address Varchar 35 Email Varchar 25 BloodType Varchar 5 FReligion Char 1
[0-9] FM aritalStatus Char 1 [0-9] DriveLicType Varchar 5 PassportNo Varchar 15 M onthsWorkExp Varchar 10 TotalPrjExp Varchar 5 DiseaseCaseDes Varchar 10 UnitID Char 3 [0-9][0-9][0-9] BranchID Char 3 [0-9][0-9][0-9] RegionID Char 4 [R][G][0-9][0-9] DomicileID Char 5 [D][M ][S][0-9][0-9]
Tabel 4.29 Identifikasi Attibut Domain Tabel MsStatus
Nama Domain Nama Field Attribut Domain
MsStatus FM aritalStatus Char 1
[0-9]
Tabel 4.30 Identifikasi Attibut Domain Tabel MsGender
Nama Domain Nama Field Attribut Domain
MsGender FGender Char 1
[0-9]
Name Varchar 25
Tabel 4.31 Identifikasi Attibut Domain Tabel MsReligion
Nama Domain Nama Field Attribut Domain
MsReligion FReligion Char 1
[0-9]
Name Varchar 25
Tabel 4.32 Identifikasi Attibut Domain Tabel MsTrainingCourseCat
Nama Domain Nama Field Attribut Domain
MsTrainingCourse Cat TrainingCourseCatID Char 7 [T][R][C][R][0-9][0-9][0-9] Name Varchar 25 Date Datetime DateFrom Datetime DateTo Datetime EmployeeID Char 11 [E][M
][P][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
Tabel 4.33 Identifikasi Attibut Domain Tabel MsRiskM gmtComponent
Nama Domain Nama Field Attribut Domain
MsRiskM gmtCom ponent
RiskM gmtComponentID Char 7
[R][M ][C][O][M ][0-9][0-9]
ProjectInitID Char 11
[P][R][T][I][0][9][0-9][0-9][0-9][0-9][0-9]
NameRiskM gmgtComponent Varchar 75
NameRiskM gmtCat Varchar 75
Description Varchar 100
RiskDate Datetime
Treatment Varchar 100
Tabel 4.34 Identifikasi Attibut Domain Tabel MsEvalIndicator
Nama Domain Nama Field Attribut Domain
MsEvalIndicator EvalIndicatorID Char 10
[E][V][I][N][D][0-9][0-9][0-9][0-9][0-9]
ProjectInitID Char 11 ReviewDate Datetime EvaluationScore int
NameEvalIndicator Varchar 50 NameEvalIndicatorGroup Char 12
4.2.1.e Identifikasi Attribut Candidate dan Primary Key
Tabel 4.35 Identifikasi Attibut Candidate dan Primary Key
Entity Name Candidate Key Primary Key
ProjectInit ProjectInitID ProjectProposedID ProjectInitID ProjectProposed ProjectProposedID PrjActGroupID ProjectCatID UnitID BranchID ProjectPropsedID MsPrjM ethodStage PrjM ethodStageID FM ethodCat PrjM ethodStageID
MsPrjActGroup PrjActGroupID PrjActGroupID MsProjectCat ProjectCatID ProjectCatID MsBranch BranchID
UnitID
MsUnit UnitID UnitID
MsPrjTeamPos PrjTeamPosID PrjTeamPosID MsUser UserID EmployeeID UserID MsDomicile DomicileID RegionID DomicileID MsEmployee EmployeeID FGender FReligion FM aritalStatus UnitID BranchID RegionID DomicileID EmployeeID
MsRegion RegionID RegionID
MsStatus FM aritalStatus FM aritalStatus
MsGender FGender FGender MsReligion FReligion FReligion
MsTrainingCourseCat TrainingCourseCatID TrainingCourseCatID MsRiskM gmtComponent RiskM gmtComponentID
RiskM gmtCatID
RiskM gmtComponentID
MsEvalIndicator EvalIndicatorID EvalIndicatorGroupID
4.2.1.f Penggunaan Enhanced Modelling Concept
Dalam langkah ini, kita mempunyai pilihan untuk mengembangkan ER model dengan mengembangkan konsep enhanced model, seperti spesialisasi, generalisasi, penggabungan (aggregation), dan komposisi (composition). Namun dalam perancangan ini kami tidak menggunakan konsep enhanced modeling.
4.2.1.g Mengecek Redundancy pada Model
Langkah berikutnya adalah mengecek redundancy pada model yang bertujuan untuk memeriksa apakah ada rendudancy, yaitu perulangan–perulangan data yang dapat menyebabkan anomaly jika proses–prosees insert, update, dan delete dilaksanakan.
Ada dua tahap yang terdapat dalam langkah, yaitu :
a. Memeriksa hubungan one-to-one(1:1)
Tahap ini dilakukan untuk menggabungkan dua entity yang mewakili satu objek yang sama, jika terdapat primary key yang berbeda, maka pilih salah satu untuk dijadikan primary key, sedangkan yang lainnya menjadi alternate key. Pada tahap ini, kami tidak menemukan entitas–entitas yang menggambarkan satu objek yang sama.
b. Menghapus relasi yang menimbulkan redundan
Tahap ini dilakukan untuk meminimalkan model data yang memiliki relasi redundan yang tidak perlu. Untuk mengidentifikasi entitas tersebut dapat dilihat dari jumlah path yang terbentuk dari dua entitas tersebut yang menunjukkan
relasi yang sama. Dalam ERD konseptual awal yang telah dibuat tidak terdapat relasi yang redundan.
4.2.1.h Validasi Model Konseptual Lokal Terhadap Transaksi Pengguna
Tahapan ini bertujuan untuk memastikan model konseptual untuk mendukung transaksi yang dibutuhkan oleh user. Dalam validasi transaksi ini digunakan jalur pathways transaksi yang digambarkan dalam gambar 4.6 diagram ER untuk memeriksa model konseptual terhadap kebutuhan transaksi.
Adapun beberapa transaksi-transaksi yang terjadi adalah sebagai berikut : (a) M enampilkan data dari indicator evaluasi;
(b) M enampilkan data dari komponen resiko manajemen; (c) M enampilkan data dari pengajuan proyek;
(d) M enampilkan data dari pengajuan proyek yang telah disetujui; (e) M enampilkan data dari metode pelaksanaan proyek;
(f) M enampilkan data dari tim proyek;
(g) M engubah data dari tabel user sesuai dengan user itu sendiri;
(h) M enampilkan data dari pegawai yang bekerja pada PT PLN (Persero); (i) M enampilkan data dari kategori pelatihan;
(j) M emasukkan data ProjectInit yang diciptakan oleh ProjectProposed
4.2.2 Logical Database Design
M embuat sebuah model data logical dari sebuah model data konseptual lokal yang menggambarkan fakta–fakta perusahaan dan memvalidasikan untuk meyakinkan struktur itu benar dan mendukung permintaan transaksi. Langkah– langkah pada tahap logikal database desain adalah :
4.2.2.a Menghilangkan fitur – fitur yang tidak kompatibel dengan model relational
M enghilangkan model data konseptual lokal untuk memindahkan fitur yang tidak kompatibel dengan model relasional.
a. Menghilangkan Many-to-many (*:*) Tipe Relasi Biner
1) Relasi antara ProjectInit dan M sEmployee menghasilkan suatu entiti baru yaitu TrM entoring dengan attribut yaitu ProjectInitID, EmployeeID, Date.
Gambar 4.7 Relasi M any-to-many (*:*) ProjectInit dengan M sEmployee
2) Relasi antara M sEmployee dan M sPrjTeamPos menghasilkan suatu entiti baru yaitu TrPrjTeamPosCandidat dengan attribut yaitu PrjTeamPosInitID, EmployeeID.
Gambar 4.8 Relasi M any-to-many (*:*) MsEmployee dengan M sPrjTeamPos
b. Menghilangkan tipe hubungan rekursif many-to-many
Dalam model data konseptual lokal yang telah dibangun, tidak terdapat tipe relasi rekursif M any-to-many(*:*).
c. Menghilangkan tipe hubungan kompleks
Dalam model data konseptual lokal yang telah dibangun, tidak terdapat tipe relasi kompleks.
d. Menghilangkan multi-value attribute
Dalam model data konseptual lokal yang telah dibangun, tidak terdapat multi-value attribute.
4.2.2.b Membuat relasi untuk model data logikal
Pada tahap ini dibuat hubungan logical model yang mewakili entitas, relationship, dan attribut yang telah didefinisi.
Langkah–langkahnya adalah :
Tipe Entitas Kuat
M embuat relasi yang mengandung semua attribute sederhana
a. ProjectInit (ProjectInitID, RegDate, SPKNo, SPKDate, ProjectValue,
DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesk, PercentComplete, FProcess, FileName, FileType, FileSize, PrjM ethodStageID)
Primary Key ProjectInitID
b. ProjectProposed (ProjectProposedID, RegDate, Name,
DescriptionProjectProposed, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, FProcess, FileName, FileType, FileSize, DescriptionProjectProposedDoc)
c. MsPrjMethodS tage (PrjM ethodStageID, ProjectInitID, EmployeeID, NameM ethodStage, NameM ethodCat}, PercentComplete, RecordDate, Description)
Primary Key PrjM ethodStageID
d. MsPrjActGrou p (PrjActGroupID, Name)
Primary Key PrjActGroupID
e. MsProjectCat (ProjectCatID, Name)
Primary Key ProjectCatID
f. MsBranch (BranchID, NameBranch, NameUnit)
Primary Key BranchID
g. MsUnit (UnitID, Name)
Primary Key UnitID
h. MsPrjTeamPos (PrjTeamPosID, NameTeamPos, NameTeamPosCriteria,
ProjectInitID, EmployeeID, FundSource)
Primary Key PrjTeamPosID
i. MsUser (UserID, Name, Password, EmployeeID)
j. MsDomicile (DomicileID, NameDomicile, NameRegion)
Primary Key DomicileID
k. MsEmployee (EmployeeID, FullName, JobPosition, JoinDate, ResignDate,
ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Primary Key EmployeeID
l. MsRegion (RegionID, Name)
Primary Key RegionID
m. MsS tatus (FM aritalStatus, Name)
Primary Key FM aritalStatus
n. MsGender (FGender, Name)
Primary Key FGender
o. MsReligion (FReligion, Name)
p. MsTrainingCourseCat (TrainingCourseCatID, Name, Date, DateFrom, DateTo, EmployeeID)
Primary Key TrainingCourseCatID
q. MsRiskMgmtComponent
(RiskM gmtComponentID,ProjectInitID,NameRiskM gmtComponent, NameRiskM gmtCat, Description, RiskDate, Treatment)
Primary Key RiskM gmtComponentID
r. MsEvalIndicator (EvalIndicatorID, ProjectInitID, ReviewDate,
EvaluationScore, NameEvalIndicator, NameEvalIndicatorGroup)
Primary Key EvalIndicatorID
Tipe Entitas Lemah
Pada sistem basis data yang kami buat tidak terdapat tipe entitas lemah karena tidak ada entitas yang bergantung dengan entitas yang lain.
4.2.2.c Mengidentifikasi tipe relasi one-to-many (1:*) binary
Pada tahap ini akan dilakukan identifikasi tipe relasi one-to-many
a. Relasi antar ProjectInit dengan M sPrjTeamPos menghasilkan posting ProjectInitID ke entiti M sPrjTeamPos
Tabel 4.36 Identifikasi Tipe Relasi 1:* ProjectInitID ke MsPrjTeamPos post ProjectInitID ke M sPrjTeamPos
ProjectInit (ProjectInitID, RegDate, SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesk, PercentComplete, FProcess, FileName, FileType, FileSize, PrjM ethodStageID, ProjectProposedID) Primary Key ProjectInitID
Foreign Key PrjM ethodStageID references
MsPrjM ethodStage (PrjM ethodStageID)
Foreign Key ProjectProposedID references ProjectProposed (ProjectProposedID) MsPrjTeamPos (PrjTeamPosID, NameTeamPos, NameTeamPosCriteria, ProjectInitID, EmployeeID, FundSource) Primary Key PrjTeamPosID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID)
Foreign Key EmployeeID references MsEmployee (EmployeeID)
b. Relasi antar M sEvalIndicator dengan ProjectInit menghasilkan posting EvalIndicatorID ke entiti ProjectInit
Tabel 4.37 Identifikasi Tipe Relasi 1:* EvalIndicatorID ke ProjectInit post EvalIndicatorID ke ProjectInit
MsEvalIndicator EvalIndicatorID, ProjectInitID, ReviewDate, EvaluationScore, NameEvalIndicator, NameEvalIndicatorGro up)
Primary Key EvalIndicatorID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID)
ProjectInit (ProjectInitID, RegDate,
SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesk, PercentComplete, FProcess, FileName, FileType, FileSize, PrjM ethodStageID, ProjectProposedID) Primary Key ProjectInitID
Foreign Key PrjM ethodStageID references
MsPrjM ethodStage (PrjM ethodStageID)
references ProjectProposed (ProjectProposedID)
c. Relasi antar M sRiskM gmtComponent dengan ProjectInit menghasilkan posting RiskM gmtComponentID ke entiti ProjectInit
Tabel 4.38 Identifikasi Tipe Relasi 1:* RiskM gmtComponentID ke ProjectInit post RiskM gmtComponentID ke ProjectInit
MsRiskM gmtComponent
(RiskM gmtComponentID,Projec tInitID,NameRiskM gmtCompon
ent, NameRiskM gmtCat, Description, RiskDate, Treatment)
Primary Key RiskM gmtComponentID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID)
ProjectInit (ProjectInitID, RegDate, SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DibTriWln1, DibTriWln2, DibTriWln3, DibTriWln4, OtherDesc,
PercentComplete, Fprocess, ProjectProposedID)
Primary Key ProjectInitID Foreign Key ProjectProposedID references ProjectProposed (ProjectProposedID)
d. Relasi antar M sPrjActGroup dengan ProjectProposed menghasilkan posting PrjActGroupID ke entiti ProjectProposed
Tabel 4.39 Identifikasi Tipe Relasi 1:* PrjActGroupID ke ProjectProposed post PrjActGroupID ke ProjectProposed
MsPrjActGroup (PrjActGroupID, Name) Primary Key PrjActGroupID
ProjectProposed (ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID, BranchID, RegDate, Name, DescriptionProjectProp osed, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, FProcess, OtherDesc, FileName,
FileType, FileSize, DescriptionProjectProp osedDoc)
Primary Key ProjectProposedID
Foreign Key PrjActGroupID references MsPrjActGroup
(PrjActGroupID)
ForeignKey ProjectCatID references MsProjectCat
(ProjectCatID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key UnitID references M sUnit (UnitID)
e. Relasi antar MsProjectCat dengan ProjectProposed menghasilkan posting ProjectCatID ke eniti ProjectProposed
Tabel 4.40 Identifikasi Tipe Relasi 1:* ProjectCatID ke ProjectProposed post ProjectCatID ke ProjectProposed
MsProjectCat (ProjectCatID, Name) Primary Key ProjectCatID
ProjectProposed (ProjectProposedID, PrjAtGroupID,
ProjectCatID, UnitID, BranchID, RegDate, Name, DescriptionProjectProp osed, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, FProcess, OtherDesc, FileName, FileType, FileSize, DescriptionProjectProp osedDoc)
Primary Key ProjectProposedID
Foreign Key PrjActGroupID references MsPrjActGroup
ForeignKey ProjectCatID references MsProjectCat
(ProjectCatID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key UnitID references M sUnit (UnitID)
f. Relasi antar M sBranch dengan ProjectProposed menghasilkan posting BranchID ke entiti ProjectProjectProposed
Tabel 4.41 Identifikasi Tipe Relasi 1:* BranchID ke ProjectProposed post BranchID ke ProjectProposed
MsBranch (BranchID, NameBranch, NameUnit)
Primary Key BranchID
ProjectProposed (ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID, BranchID, RegDate, Name, DescriptionProjectProp osed, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue,
ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, FProcess, OtherDesc, FileName, FileType, FileSize, DescriptionProjectProp osedDoc)
Primary Key ProjectProposedID
Foreign Key PrjActGroupID references MsPrjActGroup
(PrjActGroupID)
ForeignKey ProjectCatID references MsProjectCat
(ProjectCatID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key UnitID references M sUnit (UnitID)
g. Relasi antar M sUser dengan M sEmployee menghasilkan posting UserID ke entiti MsEmployee
Tabel 4.42 Identifikasi Tipe Relasi 1:* UserID ke M sEmployee post UserID ke M sEmployee
MsUser (UserID, Name, Password, EmployeeID)
Primary Key UserID
Foreign Key EmployeeID references MsEmployee (EmployeeID)
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate, ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
h. Relasi antar M sDomicile dengan M sEmployee menghasilkan posting DomicileID ke entiti M sEmployee
Tabel 4.43 Identifikasi Tipe Relasi 1:* DomicileID ke M sEmployee post DomicileID ke M sEmployee
MsDomicile (DomicileID, NameDomicile, NameRegion)
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate,
Primary Key DomicileID ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Primary Key EmployeeID
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
i. Relasi antar M sStatus dengan M sEmployee menghasilkan posting FM aritalStatus ke entiti MsEmployee
Tabel 4.44 Identifikasi Tipe Relasi 1:* FM aritalStatus ke MsEmployee post FM aritalStatus ke M sEmployee
MsStatus (FM aritalStatus, Name) Primary Key FM aritalStatus
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate, ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo,
M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Primary Key EmployeeID
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
j. Relasi antar M sBranch dengan M sEmployee menghasilkan posting BranchID ke entiti M sEmployee
Tabel 4.45 Identifikasi Tipe Relasi 1:* BranchID ke M sEmployee post BranchID ke M sEmployee
MsBranch (BranchID, NameBranch, NameUnit)
Primary Key BranchID
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate, ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
k. Relasi antar M sGender dengan M sEmployee menghasilkan posting FGender ke entiti M sEmployee
Tabel 4.46 Identifikasi Tipe Relasi 1:* FGender ke M sEmployee post FGender ke M sEmployee
MsGender (FGender, Name) Primary Key FGender
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate,
ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Primary Key EmployeeID
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
l. Relasi antar M sReligion dengan M sEmployee menghasilkan posting FReligion ke entiti MsEmployee
Tabel 4.47 Identifikasi Tipe Relasi 1:* FReligion ke M sEmployee post FReligion ke M sEmployee
MsReligion (FReligion, Name) Primary Key FReligion
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate, ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo,
M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Primary Key EmployeeID
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
m. Relasi antar M sTrainingCourseCat dengan M sEmployee menghasilkan posting TrainingCourseCatID ke entiti M sEmployee
Tabel 4.48 Identifikasi Tipe Relasi 1:* TrainingCourseCatID ke M sEmployee post TrainingCourseCatID ke MsEmployee
MsTrainingCourseCat
(TrainingCourseCatID, Name, Date, DateFrom, DateTo, EmployeeID)
Primary Key TrainingCourseCatID
Foreign Key EmployeeID references MsEmployee (EmployeeID)
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate, ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
n. Relasi antar M sPrjM ethodStage dengan M sEmployee menghasilkan posting PrjM ethodStageID ke entiti M sEmployee
Tabel 4.49 Identifikasi Tipe Relasi 1:* PrjM ethodStageID ke M sEmployee post PrjM ethodStageID ke M sEmployee
MsPrjM ethodStage (PrjM ethodStageID, ProjectInitID, EmployeeID,
MsEmployee (EmployeeID, FullName, JobPosition, JoinDate,
NameM ethodStage, NameM ethodCat},
percentComplete, RecordDate, Description)
Primary Key PrjM ethodStageID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID)
Foreign Key EmployeeID references MsEmployee (EmployeeID) ResignDate, ProbationDate, PermanentDate, PlaceofBirth, DateofBirth, ContactNo, Address, Email, BloodType, DriveLicType, PasportNo, M onthsWorkExp, TotalPrjExp, DiseaseCaseDesc, FGender, FReligion, FM aritalStatus, UnitID, BranchID, RegionID, DomicileID)
Primary Key EmployeeID
Foreign Key FGender references MsGender (FGender)
Foreign Key FReligion references MsReligion (FReligion)
Foreign Key FM aritalStatus references MsStatus (FM aritalStatus) Foreign Key Unit ID references M sUnit
(UnitID)
Foreign Key BranchID references MsBranch (BranchID)
Foreign Key RegionID references MsRegion (RegionID)
Foreign Key DomicileID references MsDomicile (DomicileID)
4.2.2.d Mengidentifikasi tipe relasi one-to-many (1:1) binary
1. Relasi antar ProjectInit dengan ProjectProposed menghasilkan posting ProjectInitID ke entiti ProjectProposed
Tabel 4.50 Identifikasi Tipe Relasi 1:* ProjectInitID ke ProjectProposed post ProjectInitID ke ProjectProposed
ProjectInit (ProjectInitID, RegDate,
SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesk, PercentComplete, FProcess, FileName, ProjectProposed (ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID, BranchID, RegDate, Name, DescriptionProjectProp osed, ProposedNo, ProposedDate, SKINo,
FileType, FileSize, PrjM ethodStageID,
ProjectProposedID) Primary Key ProjectInitID
Foreign Key PrjM ethodStageID references
MsPrjM ethodStage (PrjM ethodStageID)
Foreign Key ProjectProposedID references ProjectProposed (ProjectProposedID)referen ces ProjectProposed (ProjectProposedID) SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, FProcess, OtherDesc, FileName, FileType, FileSize, DescriptionProjectProp osedDoc)
Primary Key ProjectProposedID
Foreign Key PrjActGroupID references MsPrjActGroup
(PrjActGroupID)
ForeignKey ProjectCatID references MsProjectCat
(ProjectCatID)
Foreign Key BranchID references MsBranch (BranchID)
references M sUnit (UnitID)
4.2.2.e Validasi relasi dengan normalisasi 1. MsEvalIndicator
UNF :
MsEvalIndicator (EvalIndicatorID ,ProjectInitID, ReviewDate, EvaluationScore, NameEvalIndicator, {NameEvalIndicatorGroup})
1NF :
MsEvalIndicator ({EvalIndicatorID, ProjectInitID, ReviewDate, EvaluationScore, NameEvalIndicator, NameEvalIndicatorGroup })
2NF :
MsEvalIndicator (EvalIndicatorID, ProjectInitID, Name, EvalIndicatorGroupID, ReviewDate, EvaluationScore)
MsEvalIndicatorGroup (EvalIndicatorGroupID, Name)
3NF :
MsEvalIndicator (EvalIndicatorID, Name, EvalIndicatorGroupID) MsEvalIndicatorGroup (EvalIndicatorGroupID, Name)
TrProjectEval (ProjectEvalID, ProjectInitID, EvalIndicatorID, ReviewDate, EvaluationScore)
2. MsRiskMgmtComponent UNF :
MsRiskM gmtComponent(RiskM gmtComponentID,ProjectInitID,NameRiskM gmtC omponent, {NameRiskM gmtCat}, Description, RiskDate, Treatment)
1NF :
MsRiskM gmtComponent({RiskM gmtComponentID,ProjectInitID,NameRiskM gmt Component, NameRiskM gmtCat, Description, RiskDate, Treatment})
2NF :
MsRiskM gmtComponent(RiskM gmtComponentID,ProjectInitID,RiskM gmtCatID, Name,Description, RiskDate, Treatment)
MsRiskM gmtCat (RiskM gmtCatID, Name)
3NF :
MsRiskM gmtComponent (RiskM gmtComponentID, RiskM gmtCatID, Name) MsRiskM gmtCat (RiskM gmtCatID, Name)
TrPrjRiskM gmtInit(PrjRiskM gmtInitID,ProjectInitID, RiskM gmtComponentID, Description, RiskDate, Treatment)
3. Project Proposed UNF :
ProjectProposed (ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID, BranchID, RegDate, Name, DescriptionProjectProposed, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4,
FProcess, OtherDesc {FileName, FileType, FileSize, DescriptionProjectProposedDoc})
1NF :
ProjectProposed ({ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID, BranchID, RegDate, Name, DescriptionProjectProposed, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4,
FProcess, OtherDesc, FileName, FileType, FileSize, DescriptionProjectProposedDoc})
2NF :
ProjectProposed (ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID, BranchID, RegDate, Name, Description, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, Fprocess, OtherDesc)
TrProjectProposedDoc (ProjectProposedDocID, FileName, FileType, FileSize, Description, ProjectProposedID)
4. MsTrainingCourseCat UNF :
MsTrainingCourseCat (TrainingCourseCatID, Name, Date, DateFrom, DateTo, EmployeeID)
1NF :
MsTrainingCourseCat (TrainingCourseCatID, Name, Date, DateFrom, DateTo, EmployeeID)
2NF :
MsTrainingCourseCat (TrainingCourseCatID, Name, Date, DateFrom, DateTo, EmployeeID)
3NF :
MsTrainingCourseCat (TrainingCourseCatID, Name)
TrEmpTrainingCourse (EmpTrainingCourseID, Date, DateFrom, DateTo, TrainingCourseCatID)
TrEmpTrainingCourseDtl (EmpTrainingCourseDtlID, EmpTrainingCourseID, EmployeeID)
5. MsDomicile
UNF
MsDomicile(DomicileID, NameDomicile, {NameRegion})
1NF
MsDomicile({DomicileID, NameDomicile, NameRegion})
2NF
MsDomicile(DomicileID, Name, RegionID) MsRegion(RegionID, Name)
6. MsPrjTeamPos
UNF :
MsPrjTeamPos(PrjTeamPosID, NameTeamPos, {NameTeamPosCriteria}, ProjectInitID, EmployeeID, FundSource)
1NF :
MsPrjTeamPos({PrjTeamPosID, NameTeamPos, NameTeamPosCriteria, ProjectInitID, EmployeeID, FundSource})
2NF :
MsPrjTeamPos(PrjTeamPosID, Name, PrjTeamPosCriteraID, ProjectInitID, EmployeeID, FundSorce)
MsPrjTeamPosCriteria(PrjTeamPosCriteriaID, Name)
3NF :
MsPrjTeamPos(PrjTeamPosID, Name)
MsPrjTeamPosCriteria(PrjTeamPosCriteriaID, Name)
TrPrjTeamPosInit(PrjTeamPosInitID, FundSource, ProjectInitID, PrjTeamPosID)
TrPrjTeamPosCriteriaInit(PrjTeamPosCriteriaInitID, PrjTeamPosInitID, PrjTeamPosCriteriaID)
7. ProjectInit
UNF :
ProjectInit(ProjectInitID, RegDate, SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesc, PercentComplete, FProcess, {FileName, FileType, FileSize, PrjM ethodStageID}, ProjectProposedID)
1NF :
ProjectInit({ProjectInitID, RegDate, SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesk, PercentComplete, FProcess, FileName, FileType, FileSize, PrjM ethodStageID, ProjectProposedID})
2NF :
ProjectInit(ProjectInitID, RegDate, SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesk, PercentComplete, FProcess, ProjectProposedID)
TrProjectInitDoc(ProjectInitDocID, ProjectInitID, FileName, FileType, FileSize, PrjM ethodStageID)
8. MsPrjMethodS tage
UNF :
MsPrjM ethodstage(PrjM ethodStageID,ProjectInitID,EmployeeID,
NameM ethodStage,{NameM ethodCat},percentComplete,RecordDate,Description)
1NF :
MsPrjM ethodstage ({PrjM ethodStageID, ProjectInitID, EmployeeID, NameM ethodStage, NameM ethodCat}, PercentComplete, RecordDate, Description)
2NF :
MsPrjM ethodStage (PrjM ethodStageID, Name, FM ethodCat)
MsM ethodCat (FM ethodCat, Name, ProjectInitID, EmployeeID, PercentComplete, RecordDate, Description)
3NF :
MsPrjM ethodStage (PrjM ethodStageID, Name, FM ethodCat) MsM ethodCat (FM ethodCat, Name)
TrPrjWorkPercentage (PrjWorkPercentageID, ProjectInitID, FM ethodCat, PercentComplete)
TrPrjTaskActivityInput (PrjTaskActivityInputID, RecordDate, ProjectInitID, FM ethodCat, EmployeeID, Description)
9. MsBranch
UNF :
MsBranch (BranchID, NameBranch, {NameUnit})
1NF :
MsBranch ({BranchID, NameBranch, NameUnit})
2NF :
MsBranch (BranchID, Name) MsUnit (UnitID, Name)
4.2.2.f Validasi relasi terhadap transaksi pengguna
Gambar 4.9 ERD Logikal dengan Jalur-Jalur Transaksi
Transaksi-transaksi yang terjadi antar lain :
Validasi M odel Logikal Terhadap Transaksi Pengguna a. M enampilkan data dari Grup Indikator Evaluasi b. M enampilkan data dari Indikator Evaluasi
c. M enampilkan data dari hasil registrasi indicator evaluasi yang dipilih d. M enampilkan data dari hasil registrasi manajemen resiko
e. M enampilkan data dari kategori manejemen resiko f. M enampilkan data dari component manajemen resiko g. M enampilkan data dari proyek yang telah di terima
h. M enampilkan dokumen-dokumen proyek yang berhubungan dengan proyek yang sedang dijalankan
i. M enampilkan persentase dari proyek sesuai dengan metode nya masing-masing j. M enampilkan data dari aktifitas apa saja yang telah dilakukan oleh karyawan k. M enampilkan metode-metode yang digunakan dalam menyelesaikan sebuah
proyek
l. M enampilkan data dari kategori metode
m. M enampilkan data dari proyek yang sedang di ajukan
n. M enampilkan dokumen-dokumen proyek yang sedang di ajukan o. M enampilkan nama-nama yang mementoring suatu proyek p. M enampilkan data dari posisi yang ada dalam perusahaan
q. M enampilkan data dari criteria posisi yang ada dalam perusahaan r. M enampilkan data dari posisi yang di pilih dalam sebuah proyek
s. M enampilkan data dari criteria posisi yang di pilih dalam sebuah proyek t. M enampilkan data dari karyawan perusahaan
u. M anampilkan data dari user
v. M enampilkan nama training dari hasil registrasi training karyawan w. M enampilkan nama dari hasil registrasi training karyawan
x. M enampilkan data dari training
A. Hasil dari proyek evaluasi mengevaluasi proyek B. Resiko analisa mengelola proyek
C. Pengajuan proyek menyimpan file untuk mendokumentasikan ke dalam dokumen pengajuan proyek
D. Project Init diciptakan oleh project proposed E. Dokumen proyek mendokumentasi proyek F. Persentase melaporkan keadaan proyek
G. Karyawan melakukan laporan kegiatan aktifitas kepada proyek H. M entor memonitoring proyek
I. Pelatihan dijalani oleh karyawan J. Posisi tim dibuat oleh proyek
K. criteria posisi tim memberikan criteria kepada posisi tim
4.2.2.g Menentukan batasan integritas
Tujuan dari langkah ini adalah untuk menentukan batas-batas integritas yang digunakan untuk menguji apakah setiap tabel yang diuji telah merujuk ke tabel lain
yang saling berhubungan. Berikut ini adalah batasan integritas yang ada dalam rancangan basis data ini :
Tabel 4.51 Batasan Integritas
MsEvalIndicator (EvalIndicatorID, Name, EvalIndicatorGroupID)
Primary Key EvalIndicatorID
Foreign Key EvalIndicatorGroupID references M sEvalIndicatorGroup
(EvalIndicatorGroupID) ON UPDATE CASCADE ON DELETE NO ACTION
MsEvalIndicatorGroup (EvalIndicatorGroupID, Name)
Primary Key EvalIndicatorGroupID
TrProjectEval (ProjectEvalID, ProjectInitID, EvalIndicatorID, ReviewDate,
EvaluationScore)
Primary Key ProjectEvalID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key EvalIndicatorID references MsEvalIndicator (EvalIndicatorID) ON
UPDATE CASCADE ON DELETE NO ACTION
MsRiskMgmtComponent (RiskM gmtComponentID, RiskM gmtCatID, Name)
Primary Key RiskM gmtComponentID
Foreign Key RiskM gmtCatID references M sRiskM gmtCat (RiskM gmtCatID) ON
UPDATE CASCADE ON DELETE NO ACTION
TrPrjRiskMgmtInit (PrjRiskM gmtInitID, ProjectInitID, RiskM gmtComponentID,
Primary Key PrjRiskM gmtInitID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key RiskM gmtComponentID references M sRiskM gmtComponent
(RiskM gmtComponentID) ON UPDATE CASCADE ON DELETE NO ACTION
MsRiskMgmtCat (RiskM gmtCatID, Name)
Primary Key RiskM gmtCatID
ProjectProposed (ProjectProposedID, PrjAtGroupID, ProjectCatID, UnitID,
BranchID, RegDate, Name, Description, ProposedNo, ProposedDate, SKINo, SKIDate, ProjectValue, ProjectFundSource, DateFrom, DateTo, LocationDesc, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, Fprocess, OtherDesc)
Primary Key ProjectProposedID
Foreign Key PrjActGroupID references M sPrjActGroup (PrjActGroupID) ON
UPDATE CASCADE ON DELETE CASCADE
Foreign Key ProjectCatID references M sProjectCat (ProjectCatID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key UnitID references M sUnit (UnitID) ON UPDATE CASCADE ON
DELETE CASCADE
Foreign Key BranchID references M sBranch (BranchID) ON UPDATE CASCADE
ON DELETE NO ACTION
TrProjectProposedDoc (ProjectProposedDocID, ProjectProposedID, FileName,
Primary Key ProjectProposedDocID
Foreign Key ProjectProposedID references ProjectProposed (ProjectProposedID)
ON UPDATE CASCADE ON DELETE NO ACTION
MsPrjActGrou p (PrjActGroupID, Name)
Primary Key PrjActGroupID
MsProjectCat (ProjectCatID, Name)
Primary Key ProjectCatID
MsTrainingCourseCat (TrainingCourseCatID, Name)
Primary Key TrainingCourseCatID
TrEmpTrainingCourse (EmpTrainingCourseID, TrainingCourseCatID, Date,
DateFrom, DateTo)
Primary Key EmpTrainingCourseID
Foreign Key TrainingCourseCatID references M sTrainingCourseCat
(TrainingCourseCatID) ON UPDATE CASCADE ON DELETE NO ACTION
TrEmpTrainingCourseDtl (EmpTrainingCourseDtlID, EmpTrainingCourseID,
EmployeeID)
Primary Key EmpTrainingCourseDtlID
Foreign Key EmpTrainingCourseID references TrEmpTrainingCourse
(EmpTrainingCourseID) ON UPDATE CASCADE ON DELETE CASCADE
Foreign Key EmployeeID references M sEmployee (EmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
Primary Key DomicileID
Foreign Key RegionID references M sRegion (RegionID) ON UPDATE CASCADE
ON DELETE NO ACTION
MsRegion (RegionID, Name)
Primary Key RegionID
MsPrjTeamPos (PrjTeamPosID, Name)
Primary Key PrjTeamPosID
MsPrjTeamPosCriteria (PrjTeamPosCriteriaID, Name)
Primary Key PrjTeamPosCriteriaID
TrPrjTeamPosInit (PrjTeamPosInitID, ProjectInitID, PrjTeamPosID, FundSource)
Primary Key PrjTeamPosInitID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key PrjTeamPosID references M sPrjTeamPos (PrjTeamPosID) ON
UPDATE CASCADE ON DELETE NO ACTION
TrPrjTeamPosCriteriaInit (PrjTeamPosCriteriaInitID, PrjTeamPosInitID,
PrjTeamPosCriteriaID)
Primary Key PrjTeamPosCriteriaInitID
Foreign Key PrjTeamPosInitID references TrPrjTeamPosInit (PrjTeamPosInitID)
ON UPDATE CASCADE ON DELETE CASCADE
Foreign Key PrjTeamPosCriteriaID references M sPrjTeamPosCriteria
ProjectInit (ProjectInitID, ProjectProposedID, FProcess, RegDate, SPKNo, SPKDate, ProjectValue, DateFrom, DateTo, DatePrjClose, DisbTriWln1, DisbTriWln2, DisbTriWln3, DisbTriWln4, OtherDesc, PercentComplete)
Primary Key ProjectInitID
Foreign Key ProjectProposedID references ProjectProposed (ProjectProposedID)
ON UPDATE CASCADE ON DELETE NO ACTION
TrProjectInitDoc (ProjectInitDocID, ProjectInitID, PrjM ethodstageID, FileName,
FileType, FileSize)
Primary Key ProjectInitDocID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key PrjM ethodstageID references M sPrjM ethodStage (PrjM ethodstageID)
ON UPDATE CASCADE ON DELETE NO ACTION
TrPrjWorkPercentage (PrjWorkPercentageID, ProjectInitID, FM ethodCat,
PercentComplete)
Primary Key PrjWorkPercentageID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key FM ethodCat references M sM ethodCat (FM ethodCat) ON UPDATE
CASCADE ON DELETE NO ACTION
TrPrjTaskActi vityInput (PrjTaskActivityInputID, ProjectInitID, FM ethodCat,
Primary Key PrjTaskActivityInputID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key FM ethodCat references M sM ethodCat (FM ethodCat) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key EmployeeID references M sEmployee (EmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
MsPrjMethodstage (PrjM ethodstageID, FM ethodCat, Name)
Primary Key PrjM ethodstageID
Foreign Key FM ethodCat references M sM ethodCat (FM ethodCat) ON UPDATE
CASCADE ON DELETE NO ACTION
MsMethodCat (FM ethodCat, Name)
Primary Key FM ethodCat
MsBranch (BranchID, UnitID, Name)
Primary Key BranchID
Foreign Key UnitID references MsUnit (UnitID) ON UPDATE CASCADE ON
DELETE NO ACTION
MsUnit (UnitID, Name)
Primary Key UnitID
MsEmployee (EmployeeID, FGender, FReligion, FM aritalStatus, UnitID, BranchID,
RegionID, DomicileID, FullName, JobPosition, JoinDate, ResignDate, ProbarionDate, PermanentDate, PlaceOfBirth, DateOfBirth, ContactNo, Address,
Email, BloodType, DriveLicType, PassportNo, MonthWorkExp, TotalPrjExp, DiseaseCaseDesc)
Primary Key EmployeeID
Foreign Key FGender references M sGender (FGender) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign Key FReligion references M sReligion (FReligion) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key FM aritalStatus references M sStatus (FM aritalStatus) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key UnitID references MsUnit (UnitID) ON UPDATE CASCADE ON
DELETE CASCADE
Foreign Key BranchID references M sBranch (BranchID) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign Key RegionID references M sRegion (RegionID) ON UPDATE CASCADE
ON DELETE CASCADE
Foreign Key DomicileID references M sDomicile (DomicileID) ON UPDATE
CASCADE ON DELETE NO ACTION
MsGender (FGender, Name)
Primary Key FGender
MsS tatus (FM aritalStatus, Name)
Primary Key FM aritalStatus
Primary Key FReligion
MsUser (UserID, EmployeeID, Password, Name)
Primary Key UserID
Foreign Key EmployeeID references MsEmployee (EmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
TrMentoring (PrjM entoringID, ProjectInitID, EmployeeID, Date)
Primary Key PrjM entoringID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID) ON UPDATE
CASCADE ON DELETE CASCADE
Foreign Key EmployeeID references MsEmployee (EmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
TrPrjTeamPosCandidate (PrjTeamPosCandidateID, PrjTeamPosInitID,
EmployeeID)
Primary Key PrjTeamPosCandidateID
Foreign Key PrjTeamPosInitID references TrPrjTeamPosInit (PrjTeamPosInitID)
ON UPDATE CASCADE ON DELETE CASCADE
Foreign Key EmployeeID references MsEmployee (EmployeeID) ON UPDATE
CASCADE ON DELETE NO ACTION
4.2.2.h Menggabungkan model data logikal lokal ke dalam model global.
Tujuan dari langkah ini adalah untuk menggabungkan model data logikal lokal ke dalam model data logikal global
Tabel 4.52 M odel data Logikal Global
MsEvalIndicator (EvalIndicatorID, Name, EvalIndicatorGroupID)
Primary Key EvalIndicatorID
Foreign Key EvalIndicatorGroupID references M sEvalIndicatorGroup
(EvalIndicatorGroupID)
MsEvalIndicatorGroup (EvalIndicatorGroupID, Name)
Primary Key EvalIndicatorGroupID
TrProjectEval (ProjectEvalID, ProjectInitID, EvalIndicatorID, ReviewDate,
EvaluationScore)
Primary Key ProjectEvalID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID)
Foreign Key EvalIndicatorID references M sEvalIndicator (EvalIndicatorID)
MsRiskMgmtComponent (RiskM gmtComponentID, RiskM gmtCatID, Name)
Primary Key RiskM gmtComponentID
Foreign Key RiskM gmtCatID references M sRiskM gmtCat (RiskM gmtCatID)
TrPrjRiskMgmtInit (PrjRiskM gmtInitID, ProjectInitID, RiskM gmtComponentID,
Description, RiskDate, Treatment)
Primary Key PrjRiskM gmtInitID
Foreign Key ProjectInitID references ProjectInit (ProjectInitID)