BAB 4 PERANCANGAN S IS TEM YANG DIUS ULKAN
4.1
Perancangan Basis Data Berdasarkan analissis sistem yang berjalan pada PT. Trimitra Bangun Jagad
maka akan dirancang basis data sesuai kebutuhan perusahaan.
Perancangan Basis data yang dilakukan pada PT. Trimitra Bangun Jagad, dibagi dalam 3 tahapan, yaitu: 1.
Perancangan Basis Data Konseptual (conceptual database design)
2.
Perancangan Basis Data Logikal (logical database design)
3.
Perancanagn Basis Data Fisikal (physical database design)
4.1.1
Perancangan Basis Data Konseptual Perancangan Basis Data Konseptual merupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan. Beberapa langkah penting dalam merancang basis data secara konseptual adalah: 1. M engidentifikasi Tipe-tipe Entitas 2. M engidentifikasi Tipe-tipe Relationship 3. M engidentifikasi Atribut 4. M enentukan Domain Atribut 79
80 5. M enentukan Candidate keys dan Primary key 6. Pertimbangkan penggunaan EERD 7. Cek M odel Terhadap Redudansi 8. Validasi M odel Konseptual Dengan Transaksi User
4.1.1.1
Mengidentifikasi Tipe-tipe Entitas Tahapan ini adalah untuk menentukan tipe entitas utama yang dibutuhkan. M enentukan entitas dapat dilakukan dengan memeriksa spesifikasi kebutuhan pengguna. Entitas yang dihasilkan adalah sebagai berikut:
Nama Entitas
Deskripsi
Alias
Kejadian (Occurrence)
BOQ
Informasi mengenai rincian biaya suatu proyek yang akan dikerjaan
Client
Informasi mengenai perusahaan yang membutuhkan jasa dari PT. Trimitra Bangun Jagad
Employee
Informasi mengenai karyawan yang bekerja pada Karyawan PT. Trimitra Bangun Jagad
Setiap karyawan yang bekerja pada PT. Trimitra Bangun Jagad
Informasi mengenai tagihan pembayaran proyek yang diterbitkan untuk Client
Invoice
Setiap penagihan yang ditunjukkan kepada Client mengenai suatu proyek
Informasi mengenai barangbarang yang dibutuhkan dalam proyek pada PT.Trimitra Bangun Jagad
Material
Setiap barang-barang yang dibutuhkan dalam pengerjaan proyek
Informasi yang berisi pesan yang dikirimkan antar
Pesan yang digunakan
Setiap pesan yang dikirim dan diterima oelh
Invoice
M aterial
M essage
Bill Of Quantity
Setiap rincian biaya dalam suatu proyek
Klien
Setiap perusahaan yang membutuhkan jasa dari PT. Trimitra Bangun Jagad
81 karyawan digunakan untuk pengkoordinasian kerja
untuk berkoordinasi antar karyawan
karyawan PT. Trimitra Bangun Jagad
PO
Informasi mengenai proyek yang diberikan oleh Client kepada PT. Trimitra Bangun Jagad
Puchase Order
Progress
Informasi mengenai kondisi jalannya suatu proyek yang sedang dikerjakan
Proses suatu proyek
Setiap peroses proyek yang dilaporkan secara berkala
Project
Informasi berupa pekerjaan yang tercantum dalam PO
Proyek
Setiap proyek yang terdapat dalam sebuah PO
SPK
Informasi mengenai penunjukan kerja kepada SubKontraktor
Surat Penunjukan Kerja
SubKon
Informasi mengenai perusahaan lain yang ditunjuk oleh PT.Trimitra Bangun Jagad dalam melaksanakan proyek Tabel 4.1
4.1.1.2
Sub Kontraktor
Setiap proyek yang diadakan oleh Client
Setiap penunjukan kerja untuk SubKontraktor Setiap perusahaan yang bekerja sama di bawah instruksi PT. Trimitra Bangun Jagad
Tabel Tipe Entitas
Mengidentifikasi Tipe-tipe Relationship Tahapan ini adalah untuk
menentukan hubungan-
hubungan penting yang ada antara jenis-jenis entiti yang telah diidentifikasikan. Tipe hubungan antar entitas tersebut dapat dilihat pada tabel berikut ini:
82 Nama Entitas BOQ
Multiplicity
Relationship
Nama Entitas
Multiplicity
0..*
M emiliki
M aterial
0..*
1..*
M enyertai
Project
1..*
Client
1..1
M engajukan
PO
1..*
Employee
1..1
M emproses
BOQ
0..*
1..1
M emproses
Invoice
0..*
1..1
M enerima
M essage
0..*
1..1
M emproses
PO
0..*
1..1
M emproses
Project
0..*
1..1
M emproses
SPK
0..*
Invoice
1..*
M enyertai
Project
1..*
PO
1..1
M emiliki
Project
1..*
Project
1..*
M emiliki
Progress
1..*
SPK
1..*
M enyertai
Project
1..*
SubKon
1..1
M enerima
SPK
1..*
Tabel 4.2
Tabel Hubungan Antar Entitas
Berdasarkan hubungan antar entitas diatas, dapat dibuat Entity Relationship Diageam (ERD) sebagai berikut:
83
Gambar 4.1 Entity Relationship Diagram (ERD) Model Data Konseptual
84 4.1.1.3
Mengidentifikasi Atribut Tahapan ini adalah untuk menghubungkan atribut dengan entitas atau relasi yang tepat. Berikut adalah atributatribut dari setiap kelas:
BOQ Atribut
Nulls
Multi Valued
Deskripsi
Tipe Data
BOQ_ID
Secara unik mengidentifikasi BOQ
VARCHAR(50)
NO
NO
BOQ_Date
Tanggal BOQ diproses
DATETIM E
NO
NO
Tower
Tipe tower yang dibangun
VARCHAR(50)
NO
NO
Wide_Area
Luas lahan
VARCHAR(50)
NO
NO
Wide_Site
Luas Site
VARCHAR(50)
NO
NO
Price
Biaya perhitungan BOQ suatu proyek
BIGINT(15)
NO
NO
File
YES
BOQ_File_ Date
Tanggal upload file BOQ
DATETIM E
NO
NO
BOQ_File
Alamat master file BOQ
VARCHAR(150) NO
NO
Shop_Drawing_ File
Alamat master file shop drawing
VARCHAR(150)
YES
NO
Revision
Keterangan revisi BOQ
INT(4)
NO
NO
Information
Keterangan tentang BOQ
LONGTEXT
YES
NO
Tabel 4.3
Tabel Atribut Entitas BOQ
85 Client Atribut
Deskripsi
Tpe Data
Nulls
Multi Valued
Client_ID
Secara unik mengidentifikasi msClient
VARCHAR(10)
NO
NO
Client_Name
Nama klien pada PT. Trimtra Bangun Jagad
VARCHAR(50)
NO
NO
Address
Alamat tempat klien berada
VARCHAR(200)
YES
NO
Phone
Nomor telepon klien
VARCHAR(20)
YES
YES
Fax
Nomor fax klien
VARCHAR(20)
YES
YES
Email
Alamat email klien
VARCHAR(100)
YES
YES
Tabel 4.4
Tabel Atribut Entitas Client
Employee Atribut
Deskripsi
Tipe Data
Nulls
Multi Valued
Employee_ID
Secara unik mengidentifikasi Employee
VARCHAR(10)
NO
NO
Password
Password untuk karyawan
VARCHAR(50)
NO
NO
Employee_Name
Nama karyawan dari PT. Trimitra Bangun Jagad
VARCHAR(50)
NO
NO
Position
Posisi karyawan bekerja pada PT. Trimitra Bangun Jagad
VARCHAR(50)
NO
NO
Gender
Jenis kelamin dari karyawan
VARCHAR(10)
NO
NO
Enter_Date
Tanggal bergabung dengan perusahaan
DATETIM E
NO
NO
Address
Alamat tempat tinggal
VARCHAR(200) YES
NO
86 karyawan Phone
Nomor telepon karyawan
VARCHAR(20)
YES
YES
Email
Alamat email karyawan
VARCHAR(100) YES
YES
Image
Alamat file photo karyawan
VARCHAR(150)
YES
NO
Status
Status dari karyawan
VARCHAR(10)
NO
NO
Tabel 4.5
Tabel Atribut Entitas Employee
Invoice Atribut
Deskripsi
Tpe Data
Nulls
Multi Valued
Invoice_ID
Secara unik mengidentifikasi Invoice
VARCHAR(50)
NO
NO
Invoice_Date
Tanggal invoice diproses
DATETIM E
NO
NO
Invoice_Due_Date
Tanggal jatuh tempo invoice
DATETIM E
YES
NO
Description
YES
Description
Deskripsi pekerjaan proyek
VARCHAR(500)
NO
NO
QTY
Banyaknya unit
INT(4)
NO
NO
Price
Harga perunit
BIGINT(15)
NO
NO
File Invoice_File
YES Alamat master file Invoice
Invoice_File_Date Tanggal upload file Invoice Revision
Keterangan revisi invoice
VARCHAR(150)
NO
NO
DATETIM E
NO
NO
INT(4)
NO
NO
87 Information
Keterangan tentang invoice Tabel 4.6
LONGTEXT
YES
NO
Nulls
Multi Valued
Tabel Atribut Entitas Invoice
M aterial Atribut
Deskripsi
Tpe Data
M aterial_ID
Secara unik mengidentifikasi M aterial
VARCHAR(10)
NO
NO
M aterial_Name
Nama material yang ada di PT. Trimitra Bangun Jagad
VARCHAR(50)
NO
NO
QTY
Jumlah material yang dimiliki
INT(4)
NO
NO
Type
Jenis material
VARCHAR(50)
NO
NO
Tabel 4.7
Tabel Atribut Entitas Material
M essage Atribut
Deskripsi
Tpe Data
Nulls
Multi Valued
M essage_ID
Secara unik mengidentifikasi M essage
VARCHAR(25)
NO
NO
M essage_Date
Tanggal pesan dibuat
DATETIM E
NO
NO
Subject
Judul pesan
VARCHAR(200)
NO
NO
Sender
Nama sipengirim pesan
VARCHAR(50)
NO
NO
Content
Isi dari pesan
LONGTEXT
NO
NO
File
Alamat file yang disertakan
VARCHAR(150)
YES
NO
Status
Status dari pesan
VARCHAR(10)
NO
NO
Tabel 4.8
Tabel Atribut Entitas Message
88 PO Atribut
Deskripsi
Tpe Data
Nulls
Multi Valued
PO_ID
Secara unik mengidentifikasi PO
VARCHAR(50)
NO
NO
PO_Name
Nama proyek yang tercantum di PO
VARCHAR(50)
NO
NO
PO_Date
Tanggal PO diproses
DATETIM E
NO
NO
PO_Date_Printed Tanggal yang tercantum di PO
DATETIM E
NO
NO
Contract
Reference dari proyek yang dikerjakan
VARCHAR(50)
NO
NO
TO_Payment
Batas waktu pembayaran
VARCHAR(200)
NO
NO
Start_Date
Tanggal proyek dimulai
DATETIM E
NO
NO
Finish_Date
Tanggal batas proyek selesai
DATETIM E
NO
NO
PO_File
Alamat master file PO
VARCHAR(150)
YES
NO
Status
Status dari PO
VARCHAR(10)
NO
NO
Information
Keterangan tentang PO
LONGTEXT
YES
NO
Nulls
Multi Valued
Tabel 4.9
Tabel Atribut Entitas PO
Progress Atribut
Deskripsi
Tpe Data
Activity
M erupakan kegiatan dalam melaksanakan proyek
VARCHAR(50)
NO
NO
Start_Date_P
Rencana tanggal mulai
DATETIM E
YES
NO
Finish_Date_P
Rencana tanggal selesai
DATETIM E
YES
NO
89 Start_Date_A
Atual tanggal selesai
DATETIM E
YES
NO
Finish_Date_A
Aktual tanggal mulai
DATETIM E
YES
NO
Percent
Persentase
INT(4)
YES
NO
Remark
Penjelasan bila dibutuhkan
LONGTEXT
YES
NO
Tabel 4.10
Tabel Atribut Entitas Progress
Project Atribut
Deskripsi
Tipe Data
Nulls
Multi Valued
Site_ID
Secara unik mengidentifikasi Site
VARCHAR(30)
NO
NO
Site_Name
Nama Site
VARCHAR(50)
NO
NO
Project_Name
Nama Project
VARCHAR(50)
NO
NO
Area
Area tempat proyek dilaksanakan
VARCHAR(50)
NO
NO
Address
Alamat proyek dilaksanakan
VARCHAR(200)
YES
NO
Province
Propinsi dari area tersebut
VARCHAR(200)
NO
NO
SOW
Ruang lingkup dari proyek
VARCHAR(100)
NO
NO
QTY
Banyaknya unit
INT(4)
NO
NO
Price
Harga perunit
BIGINT(15)
NO
NO
Ttk_Koor_N
Titik koordinat utara pada tempat proyek
DOUBLE
YES
NO
Ttk_Koor_E
Titik koordinat timur pada tempat proyek
DOUBLE
YES
NO
Information
Keterangan pada Project
LONGTEXT
YES
NO
Tabel 4.11
Tabel Atribut Entitas Project
90 SPK Atribut
Deskripsi
Tpe Data
Nulls
Multi Valued
SPK_ID
Secara unik mengidentifikasi SPK
VARCHAR(50)
NO
NO
SPK_Date
Tanggal SPK diproses
DATETIM E
NO
NO
Job
Nama pekerjaan yang dikerjakan
VARCHAR(200)
NO
NO
Specification
Spesifik pekerjaan yang dikerjakan
VARCHAR(200)
NO
NO
TO_Implement
Lama pengerjaan proyek
VARCHAR(200) NO
NO
Pay_System
Sistem pembayaran
VARCHAR(200) NO
NO
Price
Biaya pembayaran
BIGINT(15)
NO
NO
File
YES
SPK_File
Alamat file master SPK
VARCHAR(150)
NO
NO
SPK_File_Date
Tanggal upload File SPK
DATETIM E
NO
NO
Representative
Karyawan dari SubKon yang akan menerima SPK
VARCHAR(50)
NO
NO
Revision
Keterangan revisi SPK
INT(4)
NO
NO
Information
Keterangan tentang SPK
LONGTEXT
YES
NO
Nulls
Multi Valued
Tabel 4.12
Tabel Atribut Entitas S PK
SubKon Atribut SubKon_ID
Deskripsi Secara unik mengidentifikasi SubKon
Tipe Data VARCHAR(10)
NO
NO
91 SubKon_Name
Nama subVARCHAR(50) kontraktor pada PT. Trimitra Bangun Jagad
NO
NO
Address
Alamat subkontraktor
YES
NO
Phone
Nomor telepon sub- VARCHAR(20) kontraktor
YES
YES
Fax
Nomor fax subkontraktor
VARCHAR(20)
YES
YES
Email
Alamat email subkontraktor
VARCHAR(100)
YES
YES
SubKon_EM P_Name
Nama karyawan yang bekerja pada sub-kontraktor
VARCHAR(50)
NO
YES
VARCHAR(200)
Tabel 4.13 Tabel Atribut Entitas SubKon
4.1.1.4
Menentukan Domain Atribut Pada tahap ini ditentukan nilai-nilai yang legal dari tiap-tiap atribut. Nilai-nilai tersebut dapat dilihat pada tabel berikut :
Nama Domain BOQ_ID
Nama Entitas BOQ
Nama Field BOQ_ID
Domain Atribute VARCHAR(50) aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua
92 digit Client_ID
Client
Client_ID
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
Employee_ID
Employee
Employee_ID
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
Invoice_ID
Invoice
Invoice_ID
VARCHAR(50) aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
M aterial_ID
M aterial
M aterial_ID
VARCHAR(10) aaabbbbbbb aaa = berisikan M TR merupakan singkatan dari material bbbbbbb = berisikan nomor urut
M essage_ID
M essage
M essage_ID
VARCHAR(25) aaaabbccddeeff-gggg aaaa = berisikan tahun bb = berisikan bulan cc = berisikan tanggal dd = berisikan jam ee = berisikan menit ff = berisikan detik gggg = berisikan id
93 pengirim PO_ID
PO
PO_ID
VARCHAR(50) aaaaa/bb/ccc/ddd/ee aaaaa = berisikan nomor urut bb = berisikan PO ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
Site_ID
Project
Site_ID
VARCHAR(30) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
SPK_ID
SPK
SPK_ID
VARCHAR(50) aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek eee = berisikan bulan invoice dibuat dalam romawi ff = berisikan tahun invoice dibuat dalam format dua digit
SubKon_ID
SubKon
SubKon_ID
VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
Name
Client
Client_Name
VARCHAR(50)
Employee
Employee_Name
VARCHAR(50)
94
Date
M aterial
M aterial_Name
VARCHAR(50)
M essage
Sender
VARCHAR(50)
PO
PO_Name
VARCHAR(50)
Project
Project_Name
VARCHAR(50)
Project
Site_Name
VARCHAR(50)
SPK
Representative
VARCHAR(50)
SubKon
SubKon_Name
VARCHAR(50)
SubKon
SubKon_Emp_Name
VARCHAR(50)
BOQ
BOQ_Date
DATETIM E
BOQ
BOQ_File_ Date
DATETIM E
Employee
Enter_Date
DATETIM E
Invoice
Invoice_Date
DATETIM E
Invoice
Invoice_Due_Date
DATETIM E
Invoice
Invoice_File_Date
DATETIM E
M essage
M essage_Date
DATETIM E
PO
PO_Date
DATETIM E
PO
PO_Date_Printed
DATETIM E
PO
Start_Date
DATETIM E
PO
Finish_Date
DATETIM E
Progress
Start_Date_P
DATETIM E
Progress
Finish_Date_P
DATETIM E
Progress
Start_Date_A
DATETIM E
Progress
Finish_Date_A
DATETIM E
SPK
SPK_Date
DATETIM E
SPK
SPK_File_Date
DATETIM E
95 Tower
BOQ
Tower
VARCHAR(50)
Wide
BOQ
Wide_Area
VARCHAR(50)
BOQ
Wide_Site
VARCHAR(50)
BOQ
Price
BIGINT(15)
Invoice
Price
BIGINT(15)
Project
Price
BIGINT(15)
SPK
Price
BIGINT(15)
BOQ
BOQ_File
VARCHAR(150)
BOQ
Shop_Drawing_File
VARCHAR(150)
Employee
Image
VARCHAR(150)
Invoice
Invoice_File
VARCHAR(150)
M essage
File
VARCHAR(150)
PO
PO_File
VARCHAR(150)
SPK
SPK_File
VARCHAR(150)
BOQ
Revision
INT(4)
Invoice
Revision
INT(4)
SPK
Revision
INT(4)
BOQ
Information
LONGTEXT
Invoice
Information
LONGTEXT
PO
Information
LONGTEXT
Progress
Remark
LONGTEXT
Project
Information
LONGTEXT
SPK
Information
LONGTEXT
Client
Address
VARCHAR(200)
Price
File
Revision
Information
Address
96 Employee
Address
VARCHAR(200)
Project
Address
VARCHAR(200)
Subkon
Address
VARCHAR(200)
Client
Phone
VARCHAR(20)
Employee
Phone
VARCHAR(20)
SubKon
Phone
VARCHAR(20)
Client
Fax
VARCHAR(20)
SubKon
Fax
VARCHAR(20)
Client
Email
VARCHAR(100)
Employee
Email
VARCHAR(100)
SubKon
Email
VARCHAR(100)
Password
Employee
Password
VARCHAR(50)
Position
Employee
Position
VARCHAR(50)
Gender
Employee
Gender
VARCHAR(10)
Status
Employee
Status
VARCHAR(10)
M essage
Status
VARCHAR(10)
PO
Status
VARCHAR(10)
Description
Invoice
Description
VARCHAR(500)
QTY
Invoice
QTY
INT(4)
M aterial
QTY
INT(4)
Project
QTY
INT(4)
Type
M aterial
Type
VARCHAR(50)
Subject
M essage
Subject
VARCHAR(200)
Content
M essage
Content
LONGTEXT
Contract
PO
Contract
VARCHAR(50)
Phone
Fax
Email
97 TO_Payment
PO
TO_Payment
VARCHAR(200)
Titik_Koordinat
Project
Ttk_Koor_N
DOUBLE
Project
Ttk_Koor_E
DOUBLE
Activity
Progress
Activity
VARCHAR(50)
Percent
Progress
Percent
INT(4)
Area
Project
Area
VARCHAR(50)
Province
Project
Province
VARCHAR(200)
SOW
Project
SOW
VARCHAR(100)
Job
SPK
Job
VARCHAR(200)
Specification
SPK
Specification
VARCHAR(200)
TO_Implement
SPK
TO_Implement
VARCHAR(200)
Pay_System
SPK
Pay_System
VARCHAR(200)
Tabel 4.14 Tabel Domain Atribut
4.1.1.5
Menentukan Candidate Key dan Primary Key Pada tahap ini diidentifikasi candidate key pada setiap entitas dan memilih primary key. Pemilihan primary key didasari pada keunikan key di masa datang, berikut dalah hasilnya :
Entity
Candidate Key
Primary Key
BOQ
BOQ_ID
BOQ_ID
Client
Client_ID
Client_ID
Client_Name Phone
98 Fax Email Employee
Employee_ID
Employee_ID
Password Employee_Name Phone Email Invoice
Invoice_ID
Invoice_ID
Description M aterial
M aterial_ID
M aterial_ID
M aterial_Name M essage
M essage_ID
M essage_ID
Content PO
PO_ID
PO_ID
Contract Progress
Activity
Activity
Remark Project
Site_ID
Site_ID
Site_Name
SOW
Area SOW SPK
SPK_ID
SPK_ID
SubKon
SubKon_ID
SubKon_ID
SubKon_Name Phone Fax Email
99 SubKon_M ember_Name
Tabel 4.15 Tabel Candidate Key dan Primary Key
Gambar 4.2 Entity Relationship Diagram (ERD) Model Data Konseptual dengan Primary Key
100 4.1.1.6
Pertimbangkan penggunaan EERD Pada tahap ini bertujuan untuk mempertimbangkan penggunaan model Enhanced Relationship Diagram dimana dalam model ini memiliki tiga konsep
utama yaitu
specialization-generalization, aggregation, dan composition. Pada ERD yang telah dibuat tidak terdapat ketiga hal tersebut sehingga pada tahap ini tidak kami lakukan.
4.1.1.7
Cek Model Terhadap Redudansi Pada tahap ini bertujuan untuk melakukan pengecekan pada ERD yang telah dibuat apakah ada hubungan antar entity yang bersifat redudansi. Pada ERD yang telah dibuat tidak ditemukan adanya hubungan yang redudansi antar entity sehingga tahap ini tidak kami lakukan.
4.1.1.8
Validasi Model Konseptual Dengan Transaksi User Tahapan ini bertujuan untuk memastikan model konseptual untuk mendukung traksaksi yang dibutuhkan oleh user. Untuk memvalidasi model konseptual terhadap transaksi pengguna dapat digunakan transaction pathwas. Gambar berikut merepresentasikan jalan (pathways) dari tiap transaksi secara langsung:
101
Gambar 4.3
Penggunaan Pathways untuk mengecek model konseptual yang mendukung transaksi user
102 Adapun beberapa transaksi-transaksi yang terjadi adalah sebagai berikut: a. BOQ menyertai Project b. BOQ memiliki M aterial c. Client mengajukan PO (Purchase Order) d. Employee memproses BOQ (Bill Of Quantity) e. Employee memproses Invoice f. Employee menerima M essage g. Employee memproses PO (Purchase Order) h. Employee menangani Project i. Employee memproses SPK (Surat Penunjukan Kerja) j. Invoice menyertai Project k. PO memiliki Project l. Project memiliki Progress m. SPK menyertai Project n. SubKon menerima SPK (Surat Penunjukan Kerja)
103 4.1.2
Perancangan Basis Data Logikal Perancangan Basis Data Logikal ini bertujuan untuk membangun sebuah model data logikal dari model data konseptual. Kemudia model data ini akan divalidasi dengan teknik normalisasi untuk meyakinkan bahwa strukturnya sudah benar dan juga model data ini benar-benar mendukung transaksi yang dibutuhkan. Adapun langkah-langkah dalam tahapan ini adalah sebagai berikut: 1. Hilangkan Fitur-fitur yang Tidak Kompatibel 2. Bentuk Table atau Relasi untuk M odel Data Logikal 3. Validasi Relasi dengan Normalisasi 4. Validasi Relasi dengan Transaksi User 5. Tentukan Integrity Constraints 6. Pembentukan M odel Data Logikal Global
104 4.1.2.1
Hilangkan Fitur-fitur yang Tidak Kompetibel Tujuan dari langkah ini adalah menghilangkan fiturfitur yang tidak kompetible. Langkah-langkahnya adalah sebagai berikut:
4.1.2.1.1
Menghilangkan many-to-many (*:*) binary
relationship Setiap
relationship
yang
mempunyai
hubungan antar entity many-to-many (*:*) harus dihilangkan.
Untuk
relationship
tersebut
mengidentifikasikan
sebuah
menghilangkannya dipecah entitas
dengan baru
dan
mengganti hubungannya dengan dua buah one-tomany (1:*) relationship.
Hubungan BOQ memiliki M aterial
105
Gambar 4.4
Hubungan BOQ memiliki Material
Hubungan SPK menyertai Project
Gambar 4.5
Hubungan S PK menyertai Project
106 Hubungan Invoice menyertai Project
Gambar 4.6
Hubungan Invoice menyertai Project
Hubungan Project memiliki Porgress
Gambar 4.7
Hubungan Project memiliki Progress
107 Hubungan BOQ menyertai Project
Gambar 4.8
Hubungan BOQ Menyertai Project
4.1.2.1.2
Menghilangkan many-to-many (*:*) hubungan recursif Hingga saat ini belum terdapat relasi many to many (*:*) rekursif.
4.1.2.1.3
Menghilangkan hubungan kompleks Hingga saat ini belum terdapat kompleks relationship.
108 4.1.2.1.4
Menghilangkan multi-valued atribut Untuk menghilangkan relationship yang mengandung multi-valued, atribut tersebut dipecah dengan mengidentifikasikan sebuah entitas baru dengan hubungan one-to-many (1:*) relationship.
Entitas BOQ
Gambar 4.9
Menghilangkan multi-valued pada entitas BOQ
Entitas Client
Gambar 4.10
Menghilangkan multi-valued pada entitas Client
109 Entitas Employee
Gambar 4.11
Menghilangkan multi-valued pada entitas Employee
Entitas Invoice
Gambar 4.12
Menghilangkan multi-valued pada entitas Invoice
Entitas S PK
Gambar 4.13
Menghilangkan multi-valued pada entitas S PK
110 Entitas S ubkon
Gambar 4.14
Menghilangkan multi-valued pada entitas Subkon
4.1.2.2
Bentuk Tabel atau Relasi untuk Model Data Logikal Pada tahap ini dibuat hubungan logikal model yang mewakili entity, relationship dan atribut yang telah didefinisi. Langkah-langkahnya adalah : 4.1.2.2.1
Tipe Entitas Kuat M embuat relasi yang mengandung semua atribut sederhana.
BOQ (BOQ_ID, BOQ_Date, Tower, Wide_Area, Wide_Site, Price, Revision, Information) Primary Key BOQ_ID
111 Client (Client_ID, Client_Name, Address) Primary Key Client_ID
Employee
(Employee_ID,
Password,
Employee_Name, Position, Gender, Enter_date, Address, Image, Status) Primary Key Employee_ID
Invoice
(Invoice_ID,
Invoice_Date,
Invoice_Due_Date, Revision, Information) Primary Key Invoice_ID Material (M aterial_ID, M aterial_Name, QTY, Type) Primary Key M aterial_ID
Message (M essage_ID, M essage_Date, Subject, Sender, Content, File, Status) Primary Key M essage_ID
PO
(PO_ID,
PO_Date_Printed, Start_Date,
PO_Name, Contract,
Finish_Date,
Information) Primary Key PO_ID
PO_Date, TO_Payment,
PO_File,
Status,
112
Progress (Activity) Primary Key Activity
Project
(Site_ID,
Site_Name,
Project_Name,
Area, Address, Province, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information) Primary Key Site_ID, SOW
S PK (SPK_ID, SPK_Date, Job, Specification, TO_Implement,
Pay_System,
Price,
Representative, Revision, Information) Primary Key SPK_ID
SubKon (SubKon_ID, SubKon_Name, Address) Primary Key SubKon_ID
4.1.2.2.2
Tipe Entitas Lemah M engidentifikasi relasi yang tidak dapat berdiri sendiri (bergantung pada entitas lain).
BOQDetail Primary Key tidak ada sampai saat ini
113 TransProjectS PK Primary Key tidak ada sampai saat ini
TransProjectInvoice Primary Key tidak ada sampai saat ini
TransProjectProgress (Start_Date_P, Finish_Date_P, Start_Date_A, Finish_Date_A, Percent, Remark) Primary Key tidak ada sampai saat ini
TransProjectBOQ Primary Key tidak ada sampai saat ini
BOQFile (BOQ_File, BOQ_File_Date, Shop_Drawing_File)
Primary Key tidak ada sampai saat ini
ClientPhone (Phone) Primary Key tidak ada sampai saat ini ClientEmail (Email) Primary Key tidak ada sampai saat ini
114 ClientFax (Fax) Primary Key tidak ada sampai saat ini
EmployeePhone (Phone) Primary Key tidak ada sampai saat ini
EmployeeEmail (Email) Primary_Key tidak ada sampai saat ini InvoiceDescription (Description, QTY, Price) Primary Key tidak ada sampai saat ini
InvoiceFile ( Invoice_File, Invoice_File_Date ) Primary key tidak ada sampai saat ini
S PKFile (SPK_File, SPK_File_Date) Primary key tidak ada sampai saat ini SubKonPhone (Phone) Primary key tidak ada sampai saat ini
SubKonEmail (Email) Primary key tidak ada sampai saat ini
SubKonFax (Fax) Primary key tidak ada sampai saat ini
115 SubKonEMP(SubKon_EM P_Name) Primary key tidak ada sampai saat ini
4.1.2.2.3
Tipe hubungan binary entitas one to many (1:*) Pada tahap ini entitas dengan multiplicity many (1..*) mendapat foreign key dari entitas dari multiplicity one (1..1).
Hubungan BOQ Memiliki BOQFile BOQ _ID di-post ke dalam BOQ File sebagai Foreign key
BOQ (BOQ_ID, BOQ_Date, Tower,
BOQFile (BOQ_File, BOQ_ID,
Wide_Area, Wide_Site, Price, Revision,
BOQ_File_Date, Shop_Drawing_File)
Information)
Primary Key BOQ_ID, BOQ_File
Primary Key BOQ_ID
Foreign Key BOQ_ID references BOQ (BOQ_ID)
Hubungan Client mengajukan PO Client_ID di-post ke dalam PO sebagai Foreign key
Client (Client_ID, Client_Name, Address)
PO (PO_ID, Client_ID, PO_Name, PO_Date, PO_Date_Printed,
116 Primary Key Client_ID
Contract, TO_Payment, Start_Date, Finish_Date, PO_File, Status, Information) Primary Key PO_ID Foreign Key Client_ID references Client (Client_ID)
Hubungan Client memiliki ClientPhone Client_ID di-post ke dalam ClientPhone sebagai Foreign key
Client (Client_ID, Client_Name, Address)
ClientPhone (Client_ID, Phone)
Primary Key Client_ID
Primary Key Client_ID, Phone Foreign Key Client_ID references Client (Client_ID)
Hubungan Client memiliki ClientEmail Client_ID di-post ke dalam ClientEmail sebagai Foreign key
117 Client (Client_ID, Client_Name, Address)
ClientEmail (Client_ID, Email)
Primary Key Client_ID
Primary Key Client_ID, Email Foreign Key Client_ID references Client (Client_ID)
Hubungan Client memiliki ClientFax Client_ID di-post ke dalam ClientFax sebagai Foreign key
Client (Client_ID, Client_Name, Address)
ClientFax (Client_ID, Fax)
Primary Key Client_ID
Primary Key Client_ID, Fax Foreign Key Client_ID references Client (Client_ID)
Hubungan Employee Memproses PO Employee_ID di-post ke dalam PO sebagai Foreign key
Employee (Employee_ID, Password,
PO (PO_ID, Employee_ID, Client_ID,
Employee_Name, Position, Gender,
PO_Name, PO_Date,
Enter_date, Address, Image, Status)
PO_Date_Printed, Contract,
118 Primary Key Employee_ID
TO_Payment, Start_Date, Finish_Date, PO_File, Status, Information) Primary Key PO_ID Foreign Key Client _ID references Client (Client_ID) Foreign Key Employee _ID references Employee (Employee_ID)
Hubungan Employee Memproses Invoice Employee_ID di-post ke dalam Invoice sebagai Foreign key
Employee (Employee_ID, Password,
Invoice (Invoice_ID, Employee_ID,
Employee_Name, Position, Gender,
Invoice_Date, Invoice_Due_Date,
Enter_date, Address, Image, Status)
Revision, Information)
Primary Key Employee_ID
Primary Key Invoice_ID Foreign Key Employee_ID references Employee (Employee _ID)
119 Hubungan Employee Menerima Message Employee_ID di-post ke dalam Message sebagai Foreign key
Employee (Employee_ID, Password,
Message (M essage_ID, Employee_ID,
Employee_Name, Position, Gender,
M essage_Date, Subject, Sender,
Enter_date, Address, Image, Status)
Content, File, Status)
Primary Key Employee_ID
Primary Key M essage_ID Foreign Key Employee_ID references Employee (Employee _ID)
Hubungan Employee Memproses BOQ Employee_ID di-post ke dalam BOQ sebagai Foreign key
Employee (Employee_ID, Password,
BOQ (BOQ_ID, Employee_ID,
Employee_Name, Position, Gender,
BOQ_Date, Tower, Wide_Area,
Enter_date, Address, Image, Status)
Wide_Site, Price, Revision,
Primary Key Employee_ID
Information) Primary Key BOQ_ID Foreign Key Employee_ID references Employee (Employee _ID)
120 Hubungan Employee Memproses S PK Employee_ID di-post ke dalam SPK sebagai Foreign key
Employee (Employee_ID, Password,
S PK (SPK_ID, Employee_ID,
Employee_Name, Position, Gender,
SPK_Date, Job, Specification,
Enter_date, Address, Image, Status)
TO_Implement, Pay_System, Price,
Primary Key Employee_ID
Representative, Revision, Information) Primary Key SPK_ID Foreign Key Employee_ID references Employee (Employee _ID)
Hubungan Employee Menangani Project Employee_ID di-post ke dalam Project sebagai Foreign key
Employee (Employee_ID, Password,
Project (Site_ID, Employee_ID,
Employee_Name, Position, Gender,
Site_Name, Project_Name, Area,
Enter_date, Address, Image, Status)
Address, Province, SOW, QTY, Price,
Primary Key Employee_ID
Ttk_Koor_N, Ttk_Koor_E, Information) Primary Key Site_ID, SOW Foreign Key Employee_ID references
121 Employee (Employee _ID)
Hubungan Employee memiliki EmployeePhone Employee_ID di-post ke dalam EmployeePhone sebagai Foreign key
Employee (Employee_ID, Password,
EmployeePhone (Employee_ID, Phone)
Employee_Name, Position, Gender,
Primary Key Phone, Employee_ID
Enter_Date, Address, Image, Status)
Foreign Key Employee_ID references
Primary Key Employee_ID
Employee (Employee_ID)
Hubungan Employee memiliki EmployeeEmail Employee_ID di-post ke dalam EmployeeEmail sebagai Foreign key
Employee (Employee_ID, Password,
EmployeeEmail (Employee_ID,
Employee_Name, Position, Gender,
Email)
Enter_Date, Address, Image, Status)
Primary Key Email, Employee_ID
Primary Key Employee_ID
Foreign Key Employee_ID references Employee (Employee_ID)
122
Hubungan Invoice memiliki InvoiceDescription Invoice_ID di-post ke dalam
InvoiceDescription sebagai Foreign key
Invoice (Invoice_ID, Employee_ID,
InvoiceDescription (Invoice_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Description, QTY, Price)
Information)
Primary Key Invoice_ID,
Primary Key Invoice_ID
Description
Foreign Key Employee_ID references
Foreign Key Invoice_ID
Employee (Employee _ID)
references Invoice (Invoice_ID)
Hubungan Invoice memiliki InvoiceFile Invoice_ID di-post ke dalam
InvoiceFile sebagai Foreign key
Invoice (Invoice_ID, Employee_ID,
InvoiceFile (Invoice_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Invoice_File, Invoice_File_Date)
Information)
Primary Key Invoice_ID,
Primary Key Invoice_ID
Invoice_File
Foreign Key Employee_ID references
Foreign Key Invoice_ID
Employee (Employee _ID)
references Invoice (Invoice_ID)
123 Hubungan PO Memiliki Project PO_ID di-post ke dalam Project sebagai Foreign key
PO (PO_ID, Employee_ID, Client_ID,
Project (Site_ID, PO_ID,
PO_Name, PO_Date, PO_Date_Printed,
Employee_ID, Site_Name,
Contract, TO_Payment, Start_Date,
Project_Name, Area, Address,
Finish_Date, PO_File, Status, Information)
Province, SOW, QTY, Price,
Primary Key PO_ID
Ttk_Koor_N, Ttk_Koor_E,
Foreign Key Client _ID references Client
Information)
(Client_ID)
Primary Key Site_ID, SOW
Foreign Key Employee _ID references
Foreign Key PO_ID references PO
Employee (Employee_ID)
(PO _ID) Foreign Key Employee_ID references Employee (Employee _ID)
Hubungan S PK Memiliki S PKFile SPK_ID di-post ke dalam SPKFile sebagai Foreign key
S PK (SPK_ID, Employee_ID, SPK_Date,
S PKFile (SPK_File, SPK_ID,
Job, Specification, TO_Implement,
SPK_File_Date)
Pay_System, Price, Representative,
Primary Key SPK_File, SPK_ID
124 Revision, Information)
Foreign Key SPK_ID references SPK
Primary Key SPK_ID
(SPK_ID)
Foreign Key Employee_ID references Employee (Employee _ID)
Hubungan S ubKon Menerima S PK SubKon_ID di-post ke dalam SPK sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
S PK (SPK_ID, SubKon_ID,
Address)
Employee_ID, SPK_Date, Job,
Primary Key SubKon_ID
Specification, TO_Implement, Pay_System, Price, Representative, Revision, Information) Primary Key SPK_ID Foreign Key SubKon_ID references SubKon (SubKon_ID) Foreign Key Employee_ID references Employee (Employee _ID)
Hubungan S ubKon Memiliki S ubKonPhone SubKon_ID di-post ke dalam SubKonPhone sebagai Foreign key
125 SubKon (SubKon_ID, SubKon_Name,
SubKonPhone (SubKon_ID, Phone)
Address)
Primary Key SubKon_ID, Phone
Primary Key SubKon_ID
Foreign Key SubKon_ID references SubKon (SubKon_ID)
Hubungan S ubKon Memiliki S ubKonFax SubKon_ID di-post ke dalam SubKonFax sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
SubKonFax (SubKon_ID, Fax)
Address)
Primary Key SubKon_ID, Fax
Primary Key SubKon_ID
Foreign Key SubKon_ID references SubKon (SubKon_ID)
Hubungan S ubKon Memiliki S ubKonEmail SubKon_ID di-post ke dalam SubKonEmail sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
SubKonEmail (SubKon_ID, Email)
Address)
Primary Key SubKon_ID, Email
Primary Key SubKon_ID
Foreign Key SubKon_ID references SubKon (SubKon_ID)
126 Hubungan S ubKon Memiliki S ubKonEMP SubKon_ID di-post ke dalam SubKonEMP sebagai Foreign key
SubKon (SubKon_ID,
SubKonEMP (SubKon_ID,
SubKon_Name, Address)
SubKon_EM P_Name)
Primary Key SubKon_ID
Primary Key SubKon_ID, SubKon_EM P_Name Foreign Key SubKon_ID references SubKon (SubKon_ID)
Hubungan BOQ Memiliki BOQDetail Hubungan Material Terdapat dalam BOQDetail BOQ (BOQ_ID, Employee_ID, BOQ_Date,
Material (M aterial_ID,
Tower, Wide_Area, Wide_Site, Price,
M aterial_Name, QTY, Type)
Revision, Information)
Primary Key M aterial_ID
Primary Key BOQ_ID Foreign Key Employee_ID references Employee (Employee _ID)
BOQDetail (BOQ_ID, M aterial_ID) Primary Key BOQ_ID, M aterial_ID
127 Foreign Key BOQ_ID references BOQ (BOQ_ID) Foreign Key M aterial_ID references M aterial (M aterial_ID)
BOQ _ID dan Material_ID di-post ke dalam BOQ Detail sebagai Foreign key, gabungan kedua atribut tersebut menjadi primary key
Hubungan S PK Menyertai TransProjectS PK Hubungan Project Memiliki TransProjectS PK S PK (SPK_ID, SubKon_ID, Employee_ID,
Project (Site_ID, PO_ID,
SPK_Date, Job, Specification,
Employee_ID, Site_Name,
TO_Implement, Pay_System, Price,
Project_Name, Area, Address, Province,
Representative, Revision, Information)
SOW, QTY, Price, Ttk_Koor_N,
Primary Key SPK_ID
Ttk_Koor_E, Information)
Foreign Key SubKon_ID references
Primary Key Site_ID, SOW
SubKon (SubKon_ID)
Foreign Key PO_ID references PO (PO
Foreign Key Employee_ID references
_ID)
Employee (Employee _ID)
Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectS PK (SPK_ID, Site_ID, SOW) Primary Key SPK_ID, Site_ID, SOW Foreign Key SPK_ID references SPK (SPK_ID) Foreign Key Site _ID references Project (Site_ID)
128 Foreign Key SOW references Project (SOW)
SPK_ID, Site_ID dan SOW di-post ke dalam TransProjectSPK sebagai Foreign key, gabungan ketiga atribut tersebut menjadi primary key
Hubungan Invoice Menyertai TransProjectInvoice Hubungan Project Memiliki TransProjectInvoice Invoice (Invoice_ID, Employee_ID,
Project (Site_ID, PO_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Employee_ID, Site_Name,
Information)
Project_Name, Area, Address, Province,
Primary Key Invoice_ID
SOW, QTY, Price, Ttk_Koor_N,
Foreign Key Employee_ID references
Ttk_Koor_E, Information)
Employee (Employee _ID)
Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID) Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectInvoice (Invoice_ID, Site_ID, SOW) Primary Key Invoice_ID, Site_ID, SOW Foreign Key Invoice_ID references Invoice (Invoice_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
129
Invoice_ID, Site_ID dan SOW
di-post ke dalam TransProjectInvoice sebagai
Foreign key, gabungan ketiga atribut tersebut menjadi primary key
Hubungan Progress Menyertai TransProjectProgress Hubungan Project Memiliki TransProjectProgress Progress (Activity)
Project (Site_ID, PO_ID,
Primary Key Activity
Employee_ID, Site_Name, Project_Name, Area, Address, Province, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information) Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID) Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectProgress (Activity, Site_ID, SOW) Primary Key Activity, Site_ID, SOW Foreign Key Activity references Progress (Activity) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
130 Activity, Site_ID dan SOW di-post ke dalam TransProjectProgress sebagai Foreign key, gabungan ketiga atribut tersebut menjadi primary key
Hubungan BOQ Menyertai TransProjectBOQ Hubungan Project Memiliki TransProjectBOQ BOQ (BOQ_ID, Employee_ID, BOQ_Date,
Project (Site_ID, PO_ID,
Tower, Wide_Area, Wide_Site, Price,
Employee_ID, Site_Name,
Revision, Information)
Project_Name, Area, Address, Province,
Primary Key BOQ_ID
SOW, QTY, Price, Ttk_Koor_N,
Foreign Key Employee_ID references
Ttk_Koor_E, Information)
Employee (Employee _ID)
Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID) Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectBOQ (BOQ_ID, Site_ID, SOW) Primary Key BOQ_ID, Site_ID, SOW Foreign Key BOQ_ID references BOQ (BOQ_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
131 BOQ _ID, Site_ID dan SOW di-post ke dalam TransProjectBOQ sebagai Foreign key, gabungan ketiga atribut tersebut menjadi primary key
4.1.2.2.4
Tipe hubungan binary entitas one to one (1:1) Hingga saat ini tidak terdapat tipe hubungan binary entitas one to one (1:1).
4.1.2.2.5
Tipe hubungan rekursif one to one (1:1) Hingga saat ini tidak terdapat tipe hubungan rekursif one to one (1:1).
4.1.2.2.6
Tipe hubungan Superclass/subclass Berdasarkan analisa yang kami lakukan, hingga saat ini tidak terdapat tipe hubungan Superclass/subclass.
4.1.2.2.7
Tipe hubungan many to many (*:*) Pada hubungan many to many (*..*) ini dibuat untuk menggambarkan
hubungan dan
termasuk beberapa atribut yang merupakan bagian dari relasi. Primary key pada entitas merupakan foreign key pada hubungan entitas yang baru.
Hubungan many to many (*..*) pada BOQ memiliki Material BOQ (BOQ_ID, Employee_ID, BOQ_Date,
Material (M aterial_ID,
Tower, Wide_Area, Wide_Site, Price,
M aterial_Name, Qty, Type)
132 Primary Key M aterial_ID
Revision, Information) Primary Key BOQ_ID Foreign key Employee_ID references Employee(Employee_ID)
BOQDetail (BOQ_ID, M aterial_ID) Primary Key BOQ_ID, M aterial_ID Foreign key BOQ_ID references BOQ (BOQ_ID) Foreign key M aterial_ID references BOQ (M aterial_ID)
Hubungan many to many (*..*) pada S PK menyertai Project S PK (SPK_ID, SubKon_ID, Employee_ID,
Project (Site_ID, PO_ID,
SPK_Date, Job, Specification,
Employee_ID, Site_Name,
TO_Implement, Pay_System, Price,
Project_Name, Area, Address,
Representative, Revision, Information)
Province, SOW, QTY, Price,
Primary Key SPK_ID
Ttk_Koor_N, Ttk_Koor_E,
Foreign Key SubKon_ID references
Information)
SubKon (SubKon_ID)
Primary Key Site_ID, SOW
Foreign Key Employee_ID references
Foreign Key PO_ID references PO
Employee (Employee _ID)
(PO _ID)
133 Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectS PK (SPK_ID, Site_ID, SOW) Primary Key SPK_ID, Site_ID, SOW Foreign Key SPK_ID references SPK (SPK_ID) Foreign Key Site_ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
Hubungan many to many (*..*) pada Invoice menyertai Project Invoice (Invoice_ID, Employee_ID,
Project (Site_ID, PO_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Employee_ID, Site_Name,
Information)
Project_Name, Area, Address,
Primary Key Invoice_ID
Province, SOW, QTY, Price,
Foreign Key Employee_ID references
Ttk_Koor_N, Ttk_Koor_E,
Employee (Employee _ID)
Information) Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID)
134 Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectInvoice (Invoice_ID, Site_ID, SOW) Primary Key Invoice_ID, Site_ID, SOW Foreign Key Invoice_ID references Invoice (Invoice_ID) Foreign Key Site_ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
Hubungan many to many (*..*) pada Project memiliki Progress Progress (Activity)
Project (Site_ID, PO_ID,
Primary Key Activity
Employee_ID, Site_Name, Project_Name, Area, Address, Province, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information) Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID)
135 Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectProgress (Activity, Site_ID, SOW) Primary Key Activity, Site_ID, SOW Foreign Key Activity references Progress (Activity) Foreign Key Site_ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
Hubungan many to many (*..*) pada BOQ menyertai Project BOQ (BOQ_ID, Employee_ID, BOQ_Date,
Project (Site_ID, PO_ID,
Tower, Wide_Area, Wide_Site, Price,
Employee_ID, Site_Name,
Revision, Information)
Project_Name, Area, Address,
Primary Key BOQ_ID
Province, SOW, QTY, Price,
Foreign Key Employee_ID references
Ttk_Koor_N, Ttk_Koor_E,
Employee (Employee _ID)
Information) Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID)
136 Foreign Key Employee_ID references Employee (Employee _ID)
TransProjectBOQ (BOQ_ID, Site_ID, SOW) Primary Key BOQ_ID, Site_ID, SOW Foreign Key BOQ_ID references BOQ (BOQ_ID) Foreign Key Site_ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
4.1.2.2.8
Tipe hubungan complex Berdasarkan analisa yang kami lakukan, hingga saat ini tidak terdapat tipe hubungan complex.
4.1.2.2.9
Atribut multi-value Pada hubungan multi-value dibuat untuk menggambarkan hubungan dan termasuk beberapa atribut yang merupakan bagian dari relasi. Primary key pada entitas merupakan foreign key pada hubungan entitas yang baru.
137 Hubungan Employee Memiliki EmployeePhone Employee_ID di-post ke dalam EmployeePhone sebagai Foreign key
Employee (Employee_ID, Password,
EmployeePhone (Employee_ID, Phone)
Employee_Name, Position, Gender,
Primary Key Phone, Employee_ID
Enter_date, Address, Image, Status)
Foreign Key Employee_ID references
Primary Key Employee_ID
Employee (Employee_ID)
Hubungan Employee Memiliki EmployeeEmail Employee_ID di-post ke dalam EmployeeEmail sebagai Foreign key
Employee (Employee_ID, Password,
EmployeeEmail (Employee_ID, Email)
Employee_Name, Position, Gender,
Primary Key Email, Employee_ID
Enter_date, Address, Image, Status)
Foreign Key Employee_ID references
Primary Key Employee_ID
Employee (Employee_ID)
Hubungan S ubKon Memiliki S ubKonEmail SubKon_ID di-post ke dalam SubKonEmail sebagai Foreign key
138 SubKon (SubKon_ID, SubKon_Name,
SubKonEmail (SubKon_ID, Email) Primary Key SubKon_ID, Email
Address)
Foreign Key SubKon_ID references Primary Key SubKon_ID
SubKon (SubKon_ID)
Hubungan S ubKon Memiliki S ubKonPhone SubKon_ID di-post ke dalam SubKonPhone sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
SubKonPhone (SubKon_ID,
Address)
Phone)
Primary Key SubKon_ID
Primary Key SubKon_ID, Phone Foreign Key SubKon_ID references SubKon (SubKon_ID)
Hubungan S ubKon Memiliki S ubKonFax SubKon_ID di-post ke dalam SubKonFax sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
SubKonFax (SubKon_ID, Fax)
Address)
Primary Key SubKon_ID, Fax
Primary Key SubKon_ID
Foreign Key SubKon_ID references SubKon (SubKon_ID)
139 Hubungan S ubKon Memiliki S ubKonEMP SubKon_ID di-post ke dalam SubKonEMP sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
SubKonEMP (SubKon_ID,
Address)
SubKon_EM P_Name)
Primary Key SubKon_ID
Primary Key SubKon_ID, SubKon_EM P_Name Foreign Key SubKon_ID references SubKon (SubKon_ID)
Hubungan Client Memiliki ClientEmail Client_ID di-post ke dalam ClientEmail sebagai Foreign key
Client (Client_ID, Client_Name, Address)
ClientEmail (Client_ID, Email)
Primary Key Client_ID
Primary Key Client_ID, Email Foreign Key Client_ID references Client (Client_ID)
140 Hubungan Client Memiliki ClientPhone Client_ID di-post ke dalam ClientPhone sebagai Foreign key
Client (Client_ID, Client_Name, Address)
ClientPhone (Client_ID, Phone)
Primary Key Client_ID
Primary Key Client_ID, Phone Foreign Key Client_ID references Client (Client_ID)
Hubungan Client Memiliki ClientFax Client_ID di-post ke dalam ClientFax sebagai Foreign key
Client (Client_ID, Client_Name, Address)
ClientFax (Client_ID, Fax)
Primary Key Client_ID
Primary Key Client_ID, Fax Foreign Key Client_ID references Client (Client_ID)
Hubungan BOQ Memiliki BOQFile BOQ _ID di-post ke dalam BOQ File sebagai Foreign key
141 BOQ (BOQ_ID, Employee_ID, BOQ_Date,
BOQFile (BOQ_File, BOQ_ID,
Tower, Wide_Area, Wide_Site, Price,
BOQ_File_Date, Shop_Drawing_File)
Revision, Information)
Primary Key BOQ_ID, BOQ_File
Primary Key BOQ_ID
Foreign Key BOQ_ID references
Foreign key Employee_ID references
BOQ (BOQ_ID)
Employee(Employee_ID)
Hubungan Invoice memiliki InvoiceDescription Invoice_ID di-post ke dalam
InvoiceDescription sebagai Foreign key
Invoice (Invoice_ID, Employee_ID,
InvoiceDescription (Invoice_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Description, QTY, Price)
Information)
Primary Key Invoice_ID,
Primary Key Invoice_ID
Description
Foreign Key Employee_ID references
Foreign Key Invoice_ID
Employee (Employee _ID)
references Invoice (Invoice_ID)
Hubungan Invoice memiliki InvoiceFile Invoice_ID di-post ke dalam
InvoiceFile sebagai Foreign key
142 Invoice (Invoice_ID, Employee_ID,
InvoiceFile (Invoice_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Invoice_File, Invoice_File_Date)
Information)
Primary Key Invoice_ID,
Primary Key Invoice_ID
Invoice_File
Foreign Key Employee_ID references
Foreign Key Invoice_ID
Employee (Employee _ID)
references Invoice (Invoice_ID)
Hubungan S PK Memiliki S PKFile SPK_ID di-post ke dalam SPKFile sebagai Foreign key
S PK (SPK_ID, SubKon_ID, Employee_ID,
S PKFile (SPK_File, SPK_ID,
SPK_Date, Job, Specification,
SPK_File_Date)
TO_Implement, Pay_System, Price,
Primary Key SPK_File, SPK_ID
Representative, Revision, Information)
Foreign Key SPK_ID references SPK
Primary Key SPK_ID
(SPK_ID)
Foreign Key SubKon_ID references SubKon (SubKon_ID) Foreign Key Employee_ID references Employee (Employee _ID)
143 Hasil Relasi BOQ
BOQ_ID, Employee_ID, BOQ_Date, Tower, Wide_Area, Wide_Site, Price, Revision, Information Primary Key BOQ_ID Foreign key Employee_ID references Employee (Employee_ID)
BOQDetail
BOQ_ID, M aterial_ID Primary Key BOQ_ID, M aterial_ID Foreign key BOQ_ID references BOQ (BOQ_ID) Foreign key M aterial_ID references BOQ (M aterial_ID)
BOQFile
BOQ_File, BOQ_ID, BOQ_File_Date, Shop_Drawing_File Primary Key BOQ_ID, BOQ_File Foreign Key BOQ_ID references BOQ (BOQ_ID)
Client
Client_ID, Client_Name, Address Primary Key Client_ID
ClientEmail
Client_ID, Email Primary Key Client_ID, Email Foreign Key Client_ID references Client (Client_ID)
ClientFax
Client_ID, Fax Primary Key Client_ID, Fax Foreign Key Client_ID references Client (Client_ID)
ClientPhone
Client_ID, Phone Primary Key Client_ID, Phone Foreign Key Client_ID references Client (Client_ID)
Employee
Employee_ID, Password, Employee_Name, Position, Gender, Enter_date, Address, Image, Status Primary Key Employee_ID
EmployeeEmail
Employee_ID, Email Primary Key Employee_ID, Email Foreign Key Employee_ID references Employee (Employee_ID)
EmployeePhone
Employee_ID, Phone Primary Key Employee_ID, Phone Foreign Key Employee_ID references Employee
144 (Employee_ID) Invoice
Invoice_ID, Employee_ID, Invoice_Date, Invoice_Due_Date, Revision, Information Primary Key Invoice_ID Foreign Key Employee_ID references Employee (Employee _ID)
InvoiceDescription
Invoice_ID, Description, QTY, Price Primary Key Invoice_ID, Description Foreign Key Invoice_ID references Invoice (Invoice_ID)
InvoiceFile
Invoice_ID, Invoice_File, Invoice_File_Date Primary Key Invoice_ID, Invoice_File Foreign Key Invoice_ID references Invoice (Invoice_ID)
Material
M aterial_ID, M aterial_Name, QTY, Type Primary key M aterial_ID
Message
M essage_ID, Employee_ID, M essage_Date, Subject, Sender, Content, File, Status Primary Key M essage_ID Foreign Key Employee_ID references Employee (Employee _ID)
PO
PO_ID, Employee_ID, Client_ID, PO_Name, PO_Date, PO_Date_Printed, Contract, TO_Payment, Start_Date, Finish_Date, PO_File, Status, Information Primary Key PO_ID Foreign Key Client_ID references Client (Client_ID) Foreign Key Employee_ID references Employee (Employee_ID)
Progress
Activity Primary Key Activity
Project
Site_ID, PO_ID, Employee_ID, Site_Name, Project_Name, Area, Address, Province, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information Primary Key Site_ID, SOW Foreign Key PO_ID references PO (PO _ID) Foreign Key Employee_ID references Employee (Employee _ID)
145 S PK
SPK_ID, SubKon_ID, Employee_ID, SPK_Date, Job, Specification, TO_Implement, Pay_System, Price, Representative, Revision, Information Primary Key SPK_ID Foreign Key SubKon_ID references SubKon (SubKon_ID) Foreign Key Employee_ID references Employee (Employee _ID)
S PKFile
SPK_File, SPK_ID, SPK_File_Date Primary Key SPK_File, SPK_ID Foreign Key SPK _ID references SPK (SPK _ID)
SubKon
SubKon_ID, SubKon_Name, Address Primary Key SubKon_ID
SubKonEmail
SubKon_ID, Email Primary Key SubKon _ID, Email Foreign Key SubKon _ID references SubKon (SubKon _ID)
SubKonFax
SubKon_ID, Fax Primary Key SubKon _ID, Fax Foreign Key SubKon _ID references SubKon (SubKon _ID)
SubKonPhone
SubKon_ID, Phone Primary Key SubKon _ID, Phone Foreign Key SubKon _ID references SubKon (SubKon _ID)
SubKonEMP
SubKon_ID, SubKon_EM P_Name Primary Key SubKon_ID, SubKon_EM P_Name Foreign Key SubKon_ID references SubKon (SubKon_ID)
TransProjectS PK
SPK_ID, Site_ID, SOW Primary Key SPK_ID, Site_ID, SOW Foreign Key SPK_ID references SPK (SPK_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
TransProjectInvoice
Invoice_ID, Site_ID, SOW Primary Key Invoice_ID, Site_ID, SOW Foreign Key Invoice_ID references Invoice (Invoice_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
146 TransProjectProgress Activity, Site_ID, SOW, Start_Date_P, Finish_Date_P, Start_Date_A, Finish_Date_A, Percent, Remark Primary Key Activity, Site_ID, SOW Foreign Key Activity references Progress (Activity) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW) TransProjectBOQ
BOQ_ID, Site_ID, SOW Primary Key BOQ_ID, Site_ID, SOW Foreign Key BOQ_ID references BOQ (BOQ_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)
Tabel 4.16 Tabel Hasil Relasi
4.1.2.3
Validasi relasi dengan normalisasi Pada tahap ini dilakukan untuk menentukan apakah suatu model data logikal tidak terdapat redundancy, konsisten dan sudah mendekati atau mewakili sistem yang ada pada perusahaan.
1. BOQ BOQ_ID Employee_ID BOQ_Date Wide_Area Wide_Site Price Revision Information
(Primary Key) ( Partial Dependency)
147 @BOQ_ID + Employee_ID + BOQ_Date + Tower + Wide_Area + Wide_Site + Price + Revision + Information
1NF Di dalam entitas karyawan tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF
2NF Di dalam entitas BOQ, terdapat atribut Employee_ID yang merupakan partial dependency yang dapat dijadikan entity baru yaitu entity Employee sehingga diperlukan normalisasi 2NF menjadi : BOQ @BOQ_ID + #Employee_ID + BOQ_Date + Tower + Wide_Area + Wide_Site + Price + Revision + Information Employee @Employee_ID
3NF Di dalam entitas BOQ, dari semua atribut yang ada pada entitas tersebut tidak
ditemukan transitive
148 dependency sehingga
tidak diperlukan normalisasi
3NF.
2. BOQ_Detail BOQ_ID
(Primary key) (Partial Dependency)
M aterial_ID
(Primary key) (Partial Dependency)
@#BOQ_ID + @#M aterial_ID
1NF Di dalam entitas BOQ_Detail tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF
2NF Di dalam entitas BOQ, terdapat atribut M aterial_ID yang merupakan partial dependency
yang dapat
dijadikan entity baru yaitu entity M aterial sehingga diperlukan normalisasi 2NF menjadi : BOQ_Detail @#BOQ_ID + @#M aterial_ID
149 BOQ @BOQ_ID Material @M aterial_ID 3NF Di dalam entitas BOQ_Detail, semua atribut yang ada pada entitas tersebut tidak
ditemukan transitive
dependency sehingga tidak diperlukan normalisasi 3NF.
3. BOQ_File BOQ_File BOQ_ID
( Primary Key ) (PK) (Partial Dependency)
BOQ_File_Date Shop_Drawing_File
@BOQ_File + @#BOQ_ID + BOQ_File_Date + Shop_Drawing_File
1NF Di dalam entitas BOQ_File tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
150 Di dalam entitas BOQ_File, terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2N menjadi : BOQFile @BOQ_File + @#BOQ_ID + BOQ_File_Date + Shop_Drawing_File BOQ @BOQ_ID
3NF Di dalam entitas BOQ_File, semua atribut yang ada pada
entitas
tersebut
tidak
ditemukan
transitif
dependency sehingga tidak diperlukan normalisasi 3NF.
4. Client Client_ID
( Primary key )
Client_Name Address @Client_ID + Client_Name + Address
1NF
151 Di dalam entitas Client tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas Client, tidak terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2NF.
3NF Di dalam entitas Client, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
5. ClientEmail Client_ID
(Primary Key) (Partial Dependency)
Email
(Primary Key)
@#Client_ID + @Email
152 1NF Di dalam entitas ClientEmail tidak terdapat atribut yang mengalami reeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas ClientEmail, terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2N menjadi : ClientEmail @#Client_ID + @Email Client @Client_ID 3NF Di dalam entitas ClientEmail, semua atribut yang ada pada entitas tersebut tidak
ditemukan transitive
dependency sehingga tidak diperlukan normalisasi 3NF.
6. ClientPhone Client_ID
(Primary Key) (Partial Dependency)
Phone
(Primary Key)
153 @#Client_ID + @Phone 1NF Di dalam entitas ClientPhone tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas ClientPhone, terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2N menjadi : ClientPhone @#Client_ID + @Phone Client @Client_ID 3NF Di dalam entitas ClientPhone, semua atribut yang ada pada entitas tersebut tidak
ditemukan transitive
dependency sehingga tidak diperlukan normalisasi 3NF.
154 7. ClientFax Client_ID
(Primary Key) (Partial Dependency)
Fax
(Primary Key)
@#Client_ID + @Fax
1NF Di dalam entitas ClientFax tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF.
2NF Di dalam entitas ClientFax, terdapat atribut yang merupakan
partial
dependency
diperlukan normalisasi 2N menjadi : ClientFax @#Client_ID + @Fax Client @Client_ID 3NF
sehingga
tidak
155 Di dalam entitas ClientFax, semua atribut yang ada pada entitas tersebut tidak
ditemukan transitive
dependency sehingga tidak diperlukan normalisasi 3NF.
8. Employee Employee_ID
(Primary Key)
Password Employee_Name Position
(Transitive dependency)
Gender Enter_Date Address Image Status
@Employee_ID + Password + Employee_Name + Position + Gender + Enter_Date + Address + Image + Status
1NF Di dalam entitas Employee tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF
156 2NF Di dalam entitas Employee, tidak terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2NF. 3NF Di dalam entitas Employee, dari semua atribut yang ada pada entitas tersebut ditemukan transitive dependency yaitu position sehingga diperlukan normalisasi 3NF. Employee @Employee_ID + Password + Employee_Name + Gender + Enter_date + Address + Image + Status + #Position PositionEMP @Position
9. EmployeeEmail Employee_ID
(Primary Key) (Partial Dependency)
Email
(Primary Key)
@#Employee_ID + @Email 1NF
157 Di dalam entitas EmployeeEmail tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas EmployeeEmail, terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2N menjadi : EmployeeEmail @#Employee_ID + @Email Employee @ Employee _ID 3NF Di dalam entitas EmployeeEmail, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
10. EmployeePhone Employee_ID
(Primary Key) (Partial Dependency)
Phone
(Primary Key)
@#Employee_ID + @Phone
158 1NF Di dalam entitas EmployeePhone tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas EmployeePhone, terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2N menjadi : EmployeePhone @#Employee_ID + @Phone Employee @ Employee _ID 3NF Di dalam entitas EmployeePhone, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
159 11. Invoice Invoice_ID Employee_ID
(Primary Key) (Partial Dependency)
Invoice_Date Invoice_Due_Date Revision Information @Invoice_ID + #Employee_ID + Invoice_Date + Invoice_Due_Date + Revision + Information 1NF Di dalam entitas Invoice tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas Invoice, terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : Invoice @Invoice_ID + #Employee_ID + Invoice_Date + Invoice_Due_Date + Revision + Information Employee @Employee_ID 3NF
160 Di dalam entitas Invoice, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
12. InvoiceDescription Description
(Primary Key)
Invoice_ID
(PK) (Partial Dependency)
Qty Price
@Description + @#Invoice_ID + Qty + Price
1NF Di dalam entitas InvoiceDescription tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas InvoiceDescription, terdapat atribut yang
merupakan
partial
dependency
diperlukan normalisasi 2NF menjadi : InvoiceDescription
sehingga
161 @Description + @#Invoice_ID + Qty + Price Invoice @Invoice_ID 3NF Di dalam entitas InvoiceDescription, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive
dependency
sehingga
tidak
diperlukan
normalisasi 3NF.
13. InvoiceFile Invoice_File Invoice_ID
(Primary Key) (PK) (Partial Dependency)
Invoice_File_Date @Invoice_File + @#Invoice_ID + Invoice_File_Date 1NF Di dalam entitas InvoiceFile tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
162 Di dalam entitas InvoiceFile, terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : InvoiceFile @ Invoice_File + @#Invoice_ID + Invoice_File_Date Invoice @Invoice_ID
3NF Di dalam entitas InvoiceFile, semua atribut yang ada pada entitas tersebut tidak
ditemukan transitive
dependency sehingga tidak diperlukan normalisasi 3NF.
14. Material M aterial_ID
(Primary Key)
M aterial_Name Qty Type
(Transitive dependency)
@M aterial_ID + M aterial_Name + Qty + Type
163 1NF Di dalam entitas M aterial tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas M aterial, tidak terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2NF.
3NF Di dalam entitas M aterial, dari semua atribut yang ada pada entitas tersebut ditemukan transitive dependency yaitu type sehingga diperlukan normalisasi 3NF. Material @M aterial_ID + M aterial_Name + Qty + #Type TypeMaterial @Type
164 15. MES S AGE M essage_ID
( Primary Key)
Employee_ID
( Partial Dependency )
M essage_Date Subject Sender Content File Status
@M essage_ID + #Employee_ID + Date + Subject + Sender + Content + File + Status
1NF Di dalam entitas M essage tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas M essage, terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : Message
165 @M essage_ID + #Employee_ID + Date + Subject + Sender + Content + File + Status Emlpoyee @Employee_ID 3NF Di dalam entitas M essage, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF. 16. PO PO_ID Employee_ID Client_ID PO_Name PO_Date PO_Date_Printed Contract TO_Payment Start_Date Finish_Date PO_File Status Information
( Primary Key) ( Partial Dependency ) ( Partial Dependency )
166
@PO_ID + #Employee_ID + #Client_ID + PO_Name + PO_Date + PO_ Date_Printed + Contract + TO_Payment + Start_Date + Finish_Date + PO_File + Status + Information
1NF Di dalam entitas PO tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas PO, terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF yaitu : PO @PO_ID + #Employee_ID + #Client_ID + PO_Name + PO_Date + PO_Date_Printed + Contract + TO_Payment + Start_Date + Finish_Date + PO_File + Status + Information Employee @Employee_ID Client @Client_ID
167 3NF Di dalam entitas PO, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
17. Progress Activity
(Primary Key)
@ Activity
1NF Di dalam entitas Progress tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas Progress, tidak terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2NF. 3NF Di dalam entitas Progress, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
168 18. Project Site_ID
(Primary Key)
SOW
(Primary Key)
PO_ID
(Partial Dependency)
Ttk_Koor_N Ttk_Koor_E Employee_ID BOQ_ID Site_Name
( Partial Dependency ) (Partial Dependency ) (Transitive Dependency )
Project_Name Area Address Province QTY Price Information
@Site_ID, @SOW_ID, Ttk_Koor_N, Ttk_Koor_E ,PO_ID,Employee_ID,Site_Name, Project_Name, Area, Address, Province, QTY, Price, Information
1NF
169 Di dalam entitas Project tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF.
2NF Di dalam entitas Project,
terdapat atribut yang
merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : Project @Site_ID + @SOW + #PO_ID + Ttk_Koor_N + Ttk_Koor_E + #Employee_ID + #BOQ_ID + Site_Name + Project_Name + Area + Address + Province QTY + Price + Information PO @PO_ID + PO_Name Employee @Employee_ID + Employee_Name BOQ @BOQ + BOQ_Name 3NF
170 Di dalam entitas Project, semua atribut yang ada pada entitas
tersebut
ditemukan transitive dependency
sehingga diperlukan normalisasi 3NF menjadi : Project @#Site_ID + @SOW_ID + #PO_ID + #Employee_ID + #BOQ_ID + Project_Name
+
QTY
+
Price
+
Information
PO @PO_ID + PO_Name Employee @Employee_ID + Employee_Name BOQ @BOQ + BOQ_Name Site @Site_ID + Site_Name + Area + Address + Province
19. S PK SPK_ID SubKon_ID Employee_ID SPK_Date Job Specification
( Primary Key) ( Partial Dependency) ( Partial Dependency)
171 TO_Implement Pay_System Price Representative Revision Information
@SPK_ID + #SubKon_ID + #Employee_ID + SPK_Date + Job + Specification
+
TO_Implement
+
Pay_System
Representative + Revision + Information
1NF Di dalam entitas SPK tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas SPK, terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : S PK
+
Price
+
172 @SPK_ID + #SubKon_ID + #Employee_ID + SPK_Date + Job + Specification + TO_Implement + Pay_System + Price + Revision + Information SubKon @SubKon_ID Employee @Employee_ID 3NF Di dalam entitas SPK, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
20. S PKFile SPK_File
( Primary Key)
SPK_ID
( Primary Key), (Partial Dependency)
SPK_File_Date
@SPK_File + @#SPK_ID + SPK_File_Date
1NF
173 Di dalam entitas SPKFile tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF . 2NF Di dalam entitas SPKFile terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : S PKFile @SPKFile_ID + #SPK_ID S PK @SPK_ID 3NF Di dalam entitas SPKFile tidak terdapat atribut yang merupakan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
21. SubKon SubKon_ID
( Primary Key)
SubKon_Name Address @SubKon_ID + SubKon_Name + Address 1NF
174 Di dalam entitas SubKon tidak terdapat atribut yang merupakan repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas SubKon tidak terdapat atribut yang merupakan
partial
dependency
sehingga
tidak
diperlukan normalisasi 2NF. 3NF Di dalam entitas SubKon tidak terdapat atribut yang merupakan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
22. SubKonEmail SubKon_ID
(Primary Key) (Partial Dependency)
Email
(Primary Key)
@#SubKon_ID + @Email 1NF Di dalam entitas SubKonEmail tidak terdapat atribut yang merupakan repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
175 Di dalam entitas SubKonEmail terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi :
SubKonEmail @#SubKon_ID + @Email SubKon @SubKon _ID 3NF Di dalam entitas SubKonEmail tidak terdapat atribut yang merupakan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
23. SubKonFax SubKon_ID
(Primary Key) (Partial Dependency)
Fax
(Primary Key)
@#SubKon_ID + @Fax 1NF Di dalam entitas SubKonFax tidak terdapat atribut yang merupakan repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
176 Di dalam entitas SubKonFax terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi :
SubKonFax @#SubKon_ID + @Fax SubKon @SubKon _ID 3NF Di dalam entitas SubKonFax
tidak terdapat atribut
yang merupakan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
24. SubKonPhone SubKon_ID
(Primary Key) (Partial Dependency)
Phone
(Primary Key)
@#Subkon_ID + @Phone 1NF Di dalam entitas SubKonPhone tidak terdapat atribut yang merupakan repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
177 Di dalam entitas SubKonPhone terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : SubKonPhone @#SubKon_ID + @Phone SubKon @SubKon _ID 3NF Di dalam entitas SubKonPhone tidak terdapat atribut yang merupakan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
25. SubKonEMP SubKon_ID
(Primary Key) (Partial Dependency)
SubKon_EM P_Name
(Primary Key)
@#Subkon_ID + @SubKon_EM P_Name 1NF Di dalam entitas SubKonEMP tidak terdapat atribut yang merupakan repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
178 Di dalam entitas SubKonEM P terdapat atribut yang merupakan partial dependency sehingga diperlukan normalisasi 2NF menjadi : SubKonEMP @#SubKon_ID + @SubKon_EM P_Name
SubKon @SubKon _ID 3NF Di dalam entitas SubKonEMP tidak terdapat atribut yang merupakan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
26. TransProjectS PK SPK_ID
( Primary Key ), ( Partial Dependency)
Site_ID
( Primary Key ), ( Partial Dependency )
SOW
( Primary Key ), ( Partial Dependency )
@#Site_ID + @#SPK_ID + @#SOW 1NF Di dalam entitas TransProjectSPK tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF.
179 2NF Di dalam entitas TransProjectSPK, terdapat atribut yang
merupakan
partial
dependency
sehingga
diperlukan normalisasi 2NF menjadi :
TransProjectS PK @#Site_ID + @#SPK_ID + @#SOW S PK @SPK_ID Project @Site_ID + @SOW 3NF Di dalam entitas TransProjectSPK, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
27. TransProjectInvoice Invoice_ID
( Primary Key ), ( Partial Dependency)
Site_ID
( Primary Key ), ( Partial Dependency )
SOW
( Primary Key ), ( Partial Dependency )
180 @# Invoice_ID + @#SPK_ID + @#SOW 1NF Di dalam entitas TransProjectInvoice tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas TransProjectInvoice, terdapat atribut yang
merupakan
partial
dependency
sehingga
diperlukan normalisasi 2NF menjadi : TransProjectS PK @#Site_ID + @# Invoice_ID + @#SOW Invoice @Invoice_ID Project @Site_ID + @SOW
3NF Di dalam entitas TransProjectInvoice, semua atribut yang ada pada entitas tersebut tidak ditemukan
181 transitive
dependency
sehingga
tidak
diperlukan
normalisasi 3NF.
28. TransProjectProgress Activity
( Primary Key ), ( Partial Dependency)
Site_ID
( Primary Key ), ( Partial Dependency )
SOW
(Primary Key), (Partial Dependency)
Start_Date_P Finish_Date_P Start_Date_A Finish_Date_A Percent Remark @#Activity, @#Site_ID, @#SOW, Start_Date_P, Finish_Date_P, Start_Date_A, Finish_Date_A, Percent, Remark 1NF Di dalam entitas TransProjectProgress tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF
182 Di dalam entitas TransProjectProgress, terdapat atribut yang
merupakan
partial
dependency
sehingga
diperlukan normalisasi 2NF menjadi : TransProjectProgress @#Activity, @#Site_ID, @#SOW, Start_Date_P, Finish_Date_P, Start_Date_A, Finish_Date_A, Percent, Remark Progress @ Activity Project @Site_ID + @SOW 3NF Di dalam entitas TransProjectProgress, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive
dependency
sehingga
tidak
diperlukan
normalisasi 3NF.
29. TransProjectBOQ BOQ_ID
(Primary Key), (Partial Dependency)
Site_ID
(Primary Key), (Partial Dependency)
SOW
(Primary Key), (Partial Dependency)
183 @#BOQ_ID, @#Site_ID, @#SOW 1NF Di dalam entitas TransProjectBOQ tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF. 2NF Di dalam entitas TransProjectBOQ, terdapat atribut yang
merupakan
partial
dependency
sehingga
diperlukan normalisasi 2NF menjadi : TransProjectBOQ @#BOQ_ID, @#Site_ID, @#SOW BOQ @BOQ_ID Project @Site_ID + @SOW 3NF Di dalam entitas TransProjectBOQ, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.
184
4.1.2.4
Validasi relasi dengan transaksi user Semua
transaksi
didefinisikan pada tahap
pengguna
seperti
yang
telah
konseptual diperiksa kembali
terhadap relasi yang ada untuk memastikan relasi sudah benar dan dapat memenuhi transaksi-transaksi yang dibutuhkan pengguna.
4.1.2.5
Menentukan integrity constraints Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan. Terdapat 5 tipe integrity constraints yaitu : a.
Kebutuhan data Beberapa atribut suatu entitas harus terdiri dari nilai yang valid, dengan kata lain atribut- atribut ini tidak deperkenankan memiliki nilai null. Aturan-aturan seperti ini
telah
diidentifikasikan
pada
saat
atribut
didokumentasikan dikamus data.
b.
Domain constraints atribut Setiap atribut memiliki sebuah domain, yaitu kumpulan dari nilai yang legal. Aturan-aturan seperti ini harus telah diidentifikasikan pada saat memilih atributatribut domain untuk data model.
185
c.
Integritas entitas Primary key dari suatu entitas tidak boleh memiliki nilai null. Aturan-aturan seperti ini harus telah dipertimbangkan pada saat mengidentifikasikan primary key untuk setiap entitas.
d.
Referential integrity Pada tahap ini diidentifikasikan nilai dari foreign key jika terjadi pengubahan dan penghapusan key pada parent-nya.
BOQ (BOQ_ID, Employee_ID, BOQ_Date, Tower, Wide_Area, Wide_Site, Price, Revision, Information) Primary Key BOQ_ID Foreign Key Employee_ID references Employee (Employee _ID) ON UPDATE CASCADE ON DELETE NO ACTION
BOQDetail (BOQ_ID, M aterial_ID) Primary key BOQ_ID, M aterial_ID Foreign key BOQ_ID references BOQ (BOQ_ID)
186 ON UPDATE CASCADE ON DELETE CASCADE Foreign key M aterial_ID references BOQ (M aterial_ID) ON UPDATE CASCADE ON DELETE CASCADE
BOQFile (BOQ_File ,BOQ_ID, BOQ_File_Date, Shop_Drawing_File)
Primary Key BOQ_ID, BOQFile_ID Foreign Key BOQ_ID references BOQ (BOQ_ID) ON UPDATE CASCADE ON DELETE CASCADE
Client (Client_ID, Client_Name, Address) Primary Key Client_ID
ClientEmail (Client_ID, Email) Primary Key Client_ID, Email Foreign Key Client_ID references Client (Client_ID) ON UPDATE CASCADE ON DELETE CASCADE
187 ClientFax (Client_ID, Fax) Primary Key Client_ID, Fax Foreign Key Client_ID references Client (Client_ID) ON UPDATE CASCADE ON DELETE CASCADE
ClientPhone (Client_ID, Phone) Primary Key Client_ID, Phone Foreign Key Client_ID references Client (Client_ID) ON UPDATE CASCADE ON DELETE CASCADE
Position (Position) Primary Key Position
Employee (Employee_ID, Position, Password, Employee_Name, Gender, Enter_date, Address, Image, Status) Primary Key Employee_ID Foreign Key Position references Position (Position) ON UPDATE CASCADE ON DELETE NO ACTION
188 EmployeeEmail (Employee_ID, Email) Primary Key Employee_ID, Email Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE CASCADE
EmployeePhone (Employee_ID, Phone) Primary Key Employee_ID, Phone Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE CASCADE
Invoice (Invoice_ID, Employee_ID, Invoice_Date, Invoice_Due_Date, Revision, Information) Primary Key Invoice_ID Foreign Key Employee_ID references Employee (Employee _ID) ON UPDATE CASCADE ON DELETE NO ACTION
InvoiceDescription (Invoice_ID, Description, QTY, Price)
189 Primary Key Invoice_ID, Description Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE CASCADE ON DELETE CASCADE
InvoiceFile (Invoice_File, Invoice_ID, Invoice_File_Date) Primary Key Invoice_ID, InvoiceFile_ID Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE CASCADE ON DELETE CASCADE
Type (Type) Primary key Type
Material (M aterial_ID, M aterial_Name, Qty, Type) Primary key M aterial_ID Foreign Key Type references Type (Type) ON UPDATE CASCADE ON DELETE NO ACTION
Message (M essage_ID, Employee_ID, M essage_Date, Subject, Sender, Content, File, Status)
190 Primary Key M essage_ID Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE CASCADE
PO (PO_ID, Client_ID , Employee_ID, PO_Name, PO_Date, Date_Printed, Contract, TO_Payment, Start_Date, Finish_Date, PO_File, Status, Information) Primary Key PO_ID Foreign Key Client_ID references Client (Client_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE NO ACTION
Progress (Activity) Primary Key Activity
Site (Site_ID, Site_Name, Area, Address, Province) Primary Key Site_ID
191
Project (Site_ID, PO_ID, Employee_ID, Project_Name, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information) Primary Key Site_ID, SOW Foreign Key Employee_ID references Employee (Employee _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Site_ID references Site (Site _ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key PO_ID references PO (PO_ID) ON UPDATE CASCADE ON DELETE CASCADE
S PK (SPK_ID, SubKon_ID, Employee_ID, SPK_Date, Job, Specification, TO_Implement, Pay_System, Price, Revision, Information) Primary Key SPK_ID Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Employee_ID references Employee (Employee _ID) ON UPDATE CASCADE ON DELETE NO ACTION
192
S PKFile (SPK_File, SPK_ID, SPK_File_Date) Primary Key SPK _ID, SPKFile_ID Foreign Key SPK _ID references SPK (SPK _ID) ON UPDATE CASCADE ON DELETE CASCADE
SubKon (SubKon_ID, SubKon_Name, Address,) Primary Key SubKon_ID
SubKonEmail (SubKon _ID, Emai) Primary Key SubKon_ID, Email Foreign Key SubKon _ID references SubKon (SubKon_ID) ON UPDATE CASCADE ON DELETE CASCADE
SubKonFax (SubKon_ID, Fax) Primary Key SubKon_ID, Fax Foreign Key SubKon _ID references SubKon (SubKon_ID) ON UPDATE CASCADE ON DELETE CASCADE
193
SubKonPhone (SubKon_ID, Phone) Primary Key SubKon_ID, Phone Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASCADE ON DELETE CASCADE
SubKonEMP (SubKon _ID, SubKon_EM P_Name) Primary Key SubKon _ID, SubKon_EM P_Name Foreign Key SubKon _ID references SubKon (SubKon_ID) ON UPDATE CASCADE ON DELETE CASCADE
TransProjectS PK (SPK_ID, Site_ID, SOW) Primary Key SPK_ID, Site_ID, SOW Foreign Key SPK_ID references SPK (SPK_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key SOW references Project (SOW_ID) ON UPDATE CASCADE ON DELETE CASCADE
194
TransProjectInvoice (Invoice_ID, Site_ID, SOW) Primary Key Invoice_ID, Site_ID, SOW Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key SOW references Project (SOW_ID) ON UPDATE CASCADE ON DELETE CASCADE
TransProjectProgress (Activity, Site_ID, SOW, Start_Date_P, Finish_Date_P, Start_Date_A, Finish_Date_A, Percent, Remark) Primary Key Activity, Site_ID, SOW Foreign Key Activity references Progress (Activity) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key SOW references Project (SOW_ID) ON UPDATE CASCADE ON DELETE CASCADE
195
TransProjectBOQ (BOQ_ID, Site_ID, SOW) Primary Key BOQ_ID, Site_ID, SOW Foreign Key BOQ_ID references BOQ (BOQ_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key SOW references Project (SOW_ID) ON UPDATE CASCADE ON DELETE CASCADE
196 4.1.2.6
Diagram ER Logikal
InvoiceDescri ption Invoi ce
PK,FK1 Invoice_ID PK Description
PK
QT Y Price
FK1 Employee_ID Invoice_Date Invoice_Due_Date Revi sion Information
InvoiceFi le PK,F K1 PK
Invoice_ID Cl ientFax Client PK
Invoice_ID Invoice_File
PK F ax PK,FK1 Client_ID
Cli ent_ID
Invoice_File_Date
PK PK,F K1
PK Phone PK,FK1 Client_ID
Email Cli ent_ID
PO
Site_ID
PK
PO_ID
Site_Name Area Address Province
FK1 FK2
Client_ID Empl oyee_ID PO_Name PO_Date PO_Date_Printed Contract TO_Payment Start_Date Finish_Date PO_Fil e Status Information
Proj ect PK,FK1 PK
TransProjectProgress
F K2 F K3
Acti vity Si te_ID SOW Start_Date_P Finish_Date_P Start_Date_A Finish_Date_A Percent Remark
Si te_ID SOW PO _ID Employee_ID Project_Name QTY Price Ttk_Koor_N Ttk_Koor_E Information
Message_ID
FK1 Employee_ID Message_Date Subject Sender Content Fil e Status
Cl ientEmail ClentPhone
Invoice_ID Site_ID SOW
Si te
PK,FK1 PK,FK2 PK,FK2
PK
TransProjectInvoice PK,F K1 PK,F K2 PK,F K2
PK
Message
Cli ent_Name Address
Employee PK
Positi onEMP
Employee_ID
FK1 Position Password Employee_Name Gender Enter_Date Address Image Status
PK
EmployeePhone PK PK,FK1
Phone Empl oyee_ID
TransProjectBOQ TransProjectSPK
Progress PK
PK,FK1 PK,FK1 PK,FK2
PK,FK1 PK,FK1 PK,FK2
BOQ
Site_ID SOW SPK_ID
Activity
PK
BOQ_ID
F K1
Employee_ID BOQ_Date Tower Wi de_Area Wi de_Site Price Revisi on Informati on
Site_ID SOW BOQ_ID
Empl oyeeEmail PK Email PK,FK1 Employee_ID
BOQFi le PK,FK1 PK
BOQ_ID BOQ_F ile BOQ_F ile_Date Shop_Drawing_File
SPK PK
SPKFi le PK,F K1 PK
SPK_ID SPK_File SPK_File_Date
SPK_ID
FK1 SubKon_ID FK2 Employee_ID SPK_Date Job Specification T O_Implement Pay_System Price Representati ve Revision Information
BOQDetai l PK,F K1 PK,F K2
BOQ_ID Material_ID
Material PK
Materi al _ID
SubKon_ID
Type
FK1 Type Materi al _Name QTY
SubKon PK
TypeMaterial PK
SubKonEMP PK,F K1 PK
SubKon_ID SubKon_EMP_Name
SubKon_Name Address
SubKonPhone PK PK,FK1
Phone SubKon_ID
SubKonF ax PK PK,F K1
Fax SubKon_ID
SubKonEmai l PK Email PK,FK1 SubKon_ID
Gambar 4.15 Gambar Diagram ER Logikal
Position
197
4.1.3
Perancangan Basis Data Fisikal Perancangan basis data fisikal adalah menghasilkan gambaran
suatu proses untuk
dari implementasi basis data pada tempat
penyimpanan, menjelaskan dasar relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly, 2002, p478). Langkahlangkah dalam perancangan basis data fisikal adalah sebagai berikut : 4.1.3.1 Terjemahkan Model Data Logikal Global ke dalam DBMS 4.1.3.1.1
Merancang Relasi Dasar Tujuan dari tahap ini adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal global dalam DBM S yang diinginkan.
Tabel Identifikasi Relasional Model Data Logikal Global 1. BOQ Atribut BOQ_ID
Deskripsi
Tipe Data
Secara unik mengidentifikasi BOQ
VARCHAR(50) aaaaa/bbb/ccc/dd d/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ
Nulls NO
198
ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit Employee_ID
Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
BOQ_Date
Tanggal BOQ diproses
DATETIM E
NO
Tower
Tipe tower yang dibangun
VARCHAR(50)
NO
Wide_Area
Luas lahan
VARCHAR(50)
NO
Wide_Site
Luas Site
VARCHAR(50)
NO
Price
Biaya perhitungan BOQ suatu proyek
BIGINT(15)
NO
Revision
Keterangan revisi BOQ
INT(3)
NO
Information
Keterangan tentang BOQ
TEXT
YES
Tabel 4.17 Tabel Relasi Dasar BOQ
Primary Key (BOQ_ID) Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE NO ACTION
199
2. BOQFile
Atribut
Deskripsi
Tipe Data
Nulls
BOQ_ID
Secara unik mengidentifikasi VARCHAR(50) NO BOQ aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
BOQ_File
Alamat master file BOQ
VARCHAR(150)
YES
BOQ_File_ Date
Tanggal upload file BOQ
DATETIM E
YES
Shop_Drawing_File
Alamat master file shop drawing
VARCHAR(150)
YES
Tabel 4.18 Tabel Relasi Dasar BOQFile
Primary Key (BOQ_ID,BOQ_File) Foreign Key BOQ_ID references BOQ (BOQ_ID) ON UPDATE CASCADE ON DELETE NO ACTION
200
3. BOQDetail Atribut
Deskripsi
Tipe Data
Nulls
BOQ_ID
Secara unik mengidentifikasi BOQ
VARCHAR(50) NO aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
M aterial_ID
Secara unik mengidentifikasi M aterial
VARCHAR(10) NO aaabbbbbbb aaa = berisikan M TR merupakan singkatan dari material bbbbbbb = berisikan nomor urut
Tabel 4.19 Tabel Relasi Dasar BOQDetail
Primary Key ( BOQ_ID, M aterial_ID ) Foreign Key BOQ_ID references BOQ (BOQ_ID) Foreign Key M aterial_ID references M aterial (M aterial_ID) ON UPDATE CASCADE ON DELETE CASCADE
201
4. Client Atribut
Deskripsi
Tipe Data
Client_ID
Secara unik mengidentifikasi msClient
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
NO
Client_Name
Nama client pada PT. Trimtra VARCHAR(50) Bangun Jagad
NO
Address
Alamat tempat client berada
NO
VARCHAR(200)
Nulls
Tabel 4.20 Tabel Relasi Dasar Client Primary Key (Client_ID)
5. ClientPhone Atribut
Deskripsi
Tipe Data
Nulls
Client_ID
Secara unik mengidentifikasi msClient
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
NO
Phone
Nomor telepon Client
VARCHAR(20)
YES
Tabel 4.21 Tabel Relasi Dasar ClientPhone
Primary Key (Client_ID, Phone) Foreign Key Client_ID references Client (Client _ID) ON UPDATE CASCADE ON DELETE CASCADE
202
6. ClientFax Atribut
Deskripsi
Tipe Data
Nulls
Client_ID
Secara unik mengidentifikasi msClient
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
NO
Fax
Nomor fax client
VARCHAR(20)
YES
Tabel 4.22 Tabel Relasi Dasar ClientFax
Primary Key (Client_ID, Fax) Foreign Key Client_ID references Client (Client _ID) ON UPDATE CASCADE ON DELETE CASCADE
7. ClientEmail Atribut
Deskripsi
Tipe Data
Nulls
Client_ID
Secara unik mengidentifikasi msClient
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
NO
Email
Alamat email client
VARCHAR(100)
YES
Tabel 4.23 Tabel Relasi Dasar ClientEmail
203
Primary Key (Client_ID, Email) Foreign Key Client_ID references Client (Client _ID) ON UPDATE CASCADE ON DELETE CASCADE
8. Employee Atribut
Deskripsi
Tipe Data
Nulls
Employee_ID
Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
Position
Posisi bekerja pada PT.Trimitra Bangun Jagad
VARCHAR(50)
NO
Password
Password untuk karyawan
VARCHAR(50)
NO
Employee_Name
Nama karyawan dari PT. Trimitra Bangun Jagad
VARCHAR(50)
NO
Gender
Jenis kelamin dari karyawan
VARCHAR(10)
NO
Enter_Date
Tanggal bergabung dengan perusahaan
DATETIM E
NO
Address
Alamat tempat tinggal karyawan
VARCHAR(200)
NO
Image
Alamat file photo karyawan
VARCHAR(150)
YES
Status
Status dari karyawan
VARCHAR(10)
NO
Tabel 4.24 Tabel Relasi Dasar Employee
Primary Key (Employee_ID)
204
Foreign Key position references positionEM P (posistion) ON UPDATE CASCADE ON DELETE NO ACTION
9. EmployeeEmail Atribut
Deskripsi
Tipe Data
Nulls
Employee_ID
Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
Email
Email karyawan
VARCHAR(100)
YES
Tabel 4.25 Tabel Relasi Dasar EmployeeEmail Primary Key (Employee_ID, Email) Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE CASCADE
10. EmployeePhone Atribut
Deskripsi
Employee_ID
Secara unik mengidentifikasi Employee
Tipe Data VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan
Nulls NO
205
nomor urut Phone
No telp karyawan
VARCHAR(20)
YES
Tabel 4.26 Tabel Relasi Dasar EmployeePhone Primary Key (Employee_ID, Phone) Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE CASCADE
11. Invoice Atribut
Deskripsi
Tipe Data
Nulls
Invoice_ID
Secara unik mengidentifikasi Invoice
VARCHAR(50) NO aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
Employee_ID
Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
Site_ID
Secara unik
VARCHAR(10)
NO
206
mengidentifikasi Site
aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
SOW
Secara unik mengidentifikasi msClient
VARHCAR(50)
NO
Invoice_Date
Tanggal invoice diproses
DATETIM E
NO
Invoice_Due_Date
Tanggal jatuh tempo invoice
DATETIM E
NO
Revision
Keterangan revisi invoice
INT(4)
NO
Information
Keterangan tentang invoice
TEXT
YES
Tabel 4.27 Tabel Relasi Dasar Invoice
Primary Key (Invoice_ID) Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key SOW references Project (SOW) ON UPDATE CASCADE ON DELETE NO ACTION
207
12. InvoiceFile Atribut
Deskripsi
Tipe Data
Nulls
Invoice_ID
Secara unik mengidentifikasi Invoice
VARCHAR(50) NO aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
Invoice_File
Alamat master file Invoice
VARCHAR(150)
NO
Invoice_File_Date
Tanggal upload file Invoice
DATETIM E
NO
Tabel 4.28 Tabel Relasi Dasar InvoiceFile
Primary Key (Invoice_ID, Invoice_File) Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE CASCADE ON DELETE CASCADE
208
13. InvoiceDescription
Atribut
Deskripsi
Tipe Data
Nulls
Invoice_ID
Secara unik mengidentifikasi Invoice
VARCHAR(50) NO aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit
Description
Deskripsi pekerjaan proyek
TEXT
NO
QTY
Banyaknya unit
INT(4)
NO
Price
Harga perunit
BIGINT(15)
NO
Tabel 4.29 Tabel Relasi Dasar InvoiceDesription
Primary Key (Invoice_ID, Description) Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE CASCADE ON DELETE CASCADE
209
14. Material Atribut
Deskripsi
Tipe Data
Nulls
M aterial_ID
Secara unik mengidentifikasi M aterial
VARCHAR(10) aaabbbbbbb aaa = berisikan MTR merupakan singkatan dari material bbbbbbb = berisikan nomor urut
NO
M aterial_Name
Nama material yang ada di PT. Trimitra Bangun Jagad
VARCHAR(50)
NO
QTY
Jumlah material yang dimiliki
INT(4)
NO
Type
Jenis material
VARCHAR(50)
NO
Tabel 4.30 Tabel Relasi Dasar Material Primary Key (M aterial_ID) ON UPDATE CASCADE ON DELETE NO ACTION
15. TypeMaterial Atribut Type
Deskripsi Jenis material
Tipe Data VARCHAR(50)
Tabel 4.31 Tabel Relasi Dasar TypeMaterial Primary Key (Type)
Nulls NO
210
16. Message Atribut
Deskripsi
Tipe Data
Nulls
M essage_ID
Secara unik mengidentifikasi M essage
VARCHAR(25)
NO
Employee_ID
Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
M essage_Date
Tanggal pesan dibuat
DATETIM E
NO
Subject
Judul pesan
VARCHAR(200)
NO
Sender
Nama sipengirim pesan
VARCHAR(50)
NO
Content
Isi dari pesan
LONGTEXT
NO
File
Alamat file yang disertakan
VARCHAR(150)
YES
Status
Status dari pesan
VARCHAR(10)
NO
Tabel 4.32 Tabel Relasi Dasar Message
Primary Key (M essage_ID) Foreign Key employee_ID references employee (employee_ID) ON UPDATE CASCADE ON DELETE CASCADE
17. PO Atribut PO_ID
Deskripsi Secara unik mengidentifikasi PO
Tipe Data
Nulls
NO VARCHAR(50) aaaaa/bb/ccc/ddd/ee aaaaa = berisikan
211
nomor urut bb = berisikan PO ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit Client_ID
Secara unik mengidentifikasi Client
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
NO
Employee_ID
Secara unik mengidentifikasi Client
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
PO_Name
Nama proyek yang tercantum di PO
VARCHAR(50)
NO
PO_Date
Tanggal PO diproses
DATETIM E
NO
PO_Date_Printed Tanggal yang tercantum di PO
DATETIM E
NO
Contract
Reference dari proyek yang dikerjakan
VARCHAR(50)
NO
TO_Payment
Batas waktu pembayaran
VARCHAR(100)
NO
Start_Date
Tanggal proyek dimulai
DATETIM E
NO
Finish_Date
Tanggal batas proyek selesai
DATETIM E
NO
212
PO_File
Alamat master file PO
VARCHAR(150)
YES
Status
Status dari PO
VARCHAR(10)
NO
Information
Keterangan tentang PO
TEXT
YES
Tabel 4.33 Tabel Relasi Dasar PO
Primary Key (PO_ID) Foreign Key Client_ID references Client (Client_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Employee_ID references Employee (Employee _ID) ON UPDATE CASCADE ON DELETE NO ACTION
18. PositionEMP Atribut
Deskripsi
Position
Nama divisi atau department perusahaan
Tipe Data VARCHAR(25)
Tabel 4.34 Tabel Relasi Dasar PositionEMP
Primary Key (Position)
Nulls NO
213
19. Progress Atribut Activity
Deskripsi M engidentifikasi kegiatan yang sedang dikerjakan
Tpe Data VARCHAR(50)
Nulls YES
Tabel 4.35 Tabel Relasi Dasar Progress
Primary Key (Progress_ID)
20. Project Atribut
Deskripsi
Tipe Data
Nulls
Site_ID
Secara unik mengidentifikasi Site
VARCHAR(10) NO aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
PO_ID
Secara unik mengidentifikasi PO
VARCHAR(50) aaaaa/bb/ccc/ddd/ee aaaaa = berisikan nomor urut bb = berisikan PO ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam
NO
214
format dua digit Ttk_Koor_N
Titik koordinat utara pada tempat proyek
DOUBLE
YES
Ttk_Koor_E
Titik koordinat timur pada tempat proyek
DOUBLE
YES
Project_Name
Nama Project
VARCHAR(50)
NO
SOW
Ruang lingkup dari proyek
VARCHAR(50)
NO
QTY
Banyaknya unit
INT(4)
NO
Price
Harga perunit
BIGINT
NO
Information
Keterangan pada Project
TEXT
YES
Tabel 4.36 Tabel Relasi Dasar Project
Primary Key (Site_ID,SOW) Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Site_ID references Site (Site_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key PO_ID references PO (PO_ID) ON UPDATE CASCADE ON DELETE CASCADE
215
21. TransProjectS PK Atribut
Deskripsi
Tipe Data
Nulls
Site_ID
Secara unik mengidentifikasi Site
VARCHAR(10) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
NO
SOW
Ruang lingkup dari proyek
VARCHAR(50)
NO
SPK_ID
Secara unik mengidentifikasi SPK
VARCHAR(50) NO aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek eee = berisikan bulan invoice dibuat dalam romawi ff = berisikan tahun invoice dibuat dalam format dua digit
Tabel 4.37 Tabel Relasi Dasar TransProjectS PK
Primary Key (Site_ID, SOW, SPK_ID) Foreign Key Site_ID references Project (Site_ID) ) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key SOW references Project (SOW) ) ON UPDATE CASCADE ON DELETE CASCADE
216
Foreign Key SPK_ID references SPK (SPK_ID) ) ON UPDATE CASCADE ON DELETE CASCADE
22. Site Atribut
Deskripsi
Tipe Data
Nulls
Site_ID
Secara unik mengidentifikasi Site
VARCHAR(10) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
NO
Site_Name
Nama Site
VARCHAR(50)
NO
Area
Area tempat proyek dilaksanakan
VARCHAR(50)
NO
Address
Alamat proyek dilaksanakan
VARCHAR(200)
NO
Province
Propinsi dari area tersebut
VARCHAR(100)
NO
Tabel 4.38 Tabel Relasi Dasar S ite Primary Key (Site_ID)
217
23. S PK Atribut
Deskripsi
Tpe Data
Nulls
SPK_ID
Secara unik mengidentifikasi SPK
VARCHAR(50) NO aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek eee = berisikan bulan invoice dibuat dalam romawi ff = berisikan tahun invoice dibuat dalam format dua digit
Employee_ID
Secara unik mengidentifikasi Client
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
SubKon_ID
Secara unik mengidentifikasi SubKon
VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
NO
SPK_Date
Tanggal SPK diproses
DATETIM E
NO
Job
Nama pekerjaan yang dikerjakan
VARCHAR(200)
NO
Specification
Spesifik pekerjaan yang dikerjakan
VARCHAR(200)
NO
TO_Implement
Lama pengerjaan proyek
VARCHAR(200)
NO
218
Pay_System
Sistem pembayaran
VARCHAR(200)
NO
Price
Biaya pembayaran
BIGINT
NO
Revision
Keterangan revisi SPK
INT(4)
NO
Information
Keterangan tentang SPK
TEXT
YES
Tabel 4.39 Tabel Relasi Dasar S PK
Primary Key (SPK_ID) Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key Employee_ID references Employee (Employee_ID) ON UPDATE CASCADE ON DELETE NO ACTION
24. S PKFile Atribut
Deskripsi
Tipe Data
Nulls
SPK_File
Alamat file master SPK
VARCHAR(150)
NO
SPK_ID
Secara unik mengidentifikasi SPK
VARCHAR(50) NO aaaaa/bbb/cccc/dddd/eee/ff aaaaa = berisikan nomer urut bbb = berisikan SPK cccc = berisikan kode subKon dddd = berisikan nama proyek eee = berisikan bulan invoice dibuat dalam romawi
219
ff = berisikan tahun invoice dibuat dalam format dua digit SPK_File_Date
Tanggal upload File SPK
DATETIM E
NO
Tabel 4.40 Tabel Relasi Dasar S PKFile
Primary Key (SPK_File, SPK _ID) Foreign Key SPK_ID references SPK (SPK_ID) ON UPDATE CASCADE ON DELETE CASCADE
25. SubKon Atribut
Deskripsi
Tipe Data
Nulls
SubKon_ID
Secara unik mengidentifikasi SubKon
VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
NO
SubKon_Name
Nama sub-kontraktor pada PT. Trimitra Bangun Jagad
VARCHAR(50)
NO
Address
Alamat subkontraktor
VARCHAR(200)
NO
Tabel 4.41 Tabel Relasi Dasar S ubKon
Primary Key (SubKon_ID)
220
26. SubKonPhone Atribut
Deskripsi
Tipe Data
Nulls
SubKon_ID
Secara unik mengidentifikasi SubKon
VARCHAR(10) NO aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
Phone
Nomor telepon subkontraktor
VARCHAR(20)
YES
Tabel 4.42 Tabel Relasi Dasar S ubKonPhone
Primary Key (SubKon_ID, Phone) Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASACADE ON DELETE CASCADE
27. SubKonFax Atribut
Deskripsi
Tipe Data
Nulls
SubKon_ID
Secara unik mengidentifikasi SubKon
VARCHAR(10) NO aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
Fax
Nomor fax subkontraktor
VARCHAR(20)
Tabel 4.43 Tabel Relasi Dasar S ubKonFax
Primary Key (SubKon_ID, Fax)
YES
221
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASACADE ON DELETE CASCADE
28. SubKonEmail Atribut
Deskripsi
Tipe Data
Nulls
SubKon_ID
Secara unik mengidentifikasi SubKon
VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
NO
Email
Alamat email subkontraktor
VARCHAR(100)
YES
Tabel 4.44 Tabel Relasi Dasar S ubKonEmail
Primary Key (SubKon_ID, Email) Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASACADE ON DELETE CASCADE
29. SubKonEMP
Atribut SubKon_ID
Deskripsi Secara unik mengidentifikasi SubKon
Tipe Data VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan
Nulls NO
222
subkon SubKon_EM P_Name
Nama karyawan yang bekerja pada sub-kontraktor
VARCHAR(50)
NO
Tabel 4.45 Tabel Relasi Dasar S ubKonEMP
Primary Key (SubKon_ID, SubKon_EM P_Name) Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE CASACADE ON DELETE CASCADE
30. TransProjectBOQ Atribut
Deskripsi
Tipe Data
Nulls
Site_ID
Secara unik mengidentifikasi Site
VARCHAR(10) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
NO
SOW
Ruang lingkup dari proyek
VARCHAR(50)
NO
BOQ_ID
Secara unik mengidentifikasi BOQ
VARCHAR(50) aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ ccc = berisikan TBJ singkatan dari nama perusahaan ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam
NO
223
format dua digit Tabel 4.46 Tabel Relasi Dasar TransProjectBOQ
Primary Key (Site_ID, SOW, SPK_ID) Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASACADE ON DELETE CASCADE Foreign Key SOW references Project (SOW) ON UPDATE CASACADE ON DELETE CASCADE Foreign Key BOQ_ID references BOQ (BOQ_ID) ON UPDATE CASACADE ON DELETE CASCADE
31. TransProjectInvoice Atribut
Deskripsi
Tipe Data
Nulls
Site_ID
Secara unik mengidentifikasi Site
VARCHAR(10) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
NO
SOW
Ruang lingkup dari proyek
VARCHAR(50)
NO
Invoice_ID
Secara unik mengidentifikasi Invoice
VARCHAR(50) aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut bbbbb = berisikan kode klien ccc = berisikan TBJ singkatan dari nama perusahaan
Invoice_ID
224
ddd = berisikan bulan invoice dibuat dalam romawi ee = berisikan tahun invoice dibuat dalam format dua digit Tabel 4.47 Tabel Relasi Dasar TransProjectProgress
Primary Key (Site_ID, SOW, SPK_ID) Foreign Key Site_ID references Project (Site_ID) ON UPDATE CASACADE ON DELETE CASCADE Foreign Key SOW references Project (SOW) ON UPDATE CASACADE ON DELETE CASCADE Foreign Key Invoice_ID references Invoice (Invoice_ID) ON UPDATE CASACADE ON DELETE CASCADE
4.1.3.1.2
Merancang enterprise constraints Dalam tahap ini tidak terdapat enterprise constraint sesuai dengan prinsip yang berlaku di dalam perusahaan.
225
4.1.3.2 Perancangan representasi fisikal Dalam tahap ini bertujuan untuk menentukan organisasi data secara optimal untuk menyimpan relasi dasar dan indeks yang dibutuhkan agar dapat diterima dengan baik. 4.1.3.2.1
Analisa transaksi Analisa transaksi bertujuan untuk memahami fungsionalitas dari transaksi yang akan jalan dalam basis data dan untuk menganalisa transaksi yang penting. Pada analisa transaksi, dilakukan identifikasi kriteria kinerja antara lain : •
Frekuensi jalannya transaksi yang mempunyai pengaruh penting dalam kinerja.
•
Transaksi yang kritis untuk operasi dalam bisnis
•
Waktu selama seminggu atau sehari ketika permintaan yang tinggi pada basis data yang disebut dengan peak load.
226
Untuk
memudahkan
dalam
menganalisa
maka
digunakan cross referencing transactions and relations dibawah ini : a) M emasukkan data PO b) M engubah PO c) M emasukkan data BOQ d) M engubah data BOQ e) M engeluarkan SPK f) M engubah SPK g) M embuat Invoice h) M engubah Invoice i) M elakukan koordinasi j) M emasukkan data Client k) M engubah data Client l) M emasukkan data SubKon m) M engubah data SubKon n) M emasukkan data Employee
227
o) M engubah data Employee Tabel Analisis Transaksi ( 1 )
A
Transaksi
Relasi
I
R U D I
B
C
R U D I
BOQ
X
BOQFile
X
D
R U D I
R U D X
X
Client ClientPhone ClientFax ClientEmail Employee
X
X
X
EmployeeEmail EmployeePhone Invoice InvoiceFile InvoiceDescription M aterial M aterialType M essage PO PositionEM P
X
X
X
228
Progress Project Site SPK SPKFile SubKon SubKonPhone SubKonFax SubKonEmail SubKonEM P Tabel 4.48 Tabel Analisis Transaksi (1) Keterangan : a) M emasukkan data PO b) M engubah PO c) M emasukkan data BOQ d) M engubah data BOQ
Tabel Analisis Transaksi ( 2 )
Transaksi
Relasi BOQ
E
I
R U D I
F
R U D I
G
R U D I
H
R U D
229
BOQFile Client ClientPhone ClientFax ClientEmail Employee
X
X
X
X
EmployeeEmail EmployeePhone Invoice
X
InvoiceFile
X
X
InvoiceDescription
X
X
M aterial M aterialType M essage PO PositionEM P Progress Project Site SPK
X
SPKFile
X
SubKon
X X
X
230
SubKonPhone SubKonFax SubKonEmail SubKonEM P Tabel 4.49 Tabel Analisis Transaksi (2)
Keterangan : e) M engeluarkan SPK f) M engubah SPK g) M embuat Invoice h) M engubah Invoice
Tabel Analisis Transaksi (3)
Transaksi
Relasi
I
I
J
R U D I
R U D I
K
L
R U D I
BOQ BOQFile Client
X
X
ClientPhone
X
X
ClientFax
X
X
ClientEmail
X
X
R U D
231
Employee
X
X
X
X
EmployeeEmail EmployeePhone Invoice InvoiceFile InvoiceDescription M aterial M aterialType M essage
X
X
X
X
PO PositionEM P Progress Project Site SPK SPKFile SubKon
X
SubKonPhone
X
SubKonFax
X
SubKonEmail
X
SubKonEM P
X Tabel 4.50 Tabel Analisis Transaksi (3)
232
Keterangan : i) M elakukan koordinasi j) M emasukkan data Client k) M engubah data Client l) M emasukkan data SubKon
Tabel Analisis Transaksi( 4 )
Transaksi
Relasi
M
I
N
R U D I
R U D I
O
R U D
BOQ BOQFile Client ClientPhone ClientFax ClientEmail Employee
X X
X
EmployeeEmail
X
X
EmployeePhone
X
X
Invoice InvoiceFile InvoiceDescription
X
233
M aterial M aterialType M essage PO PositionEM P Progress Project Site SPK SPKFile SubKon
X
SubKonPhone
X
SubKonFax
X
SubKonEmail
X
SubKonEM P
X Tabel 4.49 Tabel Analisis Transaksi (4)
Keterangan : m) M engubah data SubKon n) M emasukkan data Employee o) M engubah data Employee
234
4.1.3.2.2
Pemilihan indeks Untuk meningkatkan performansi dari system sewaktu mencari data kita buat indeks pada tabel-tabel yang sudah dibuat. Indeks dibuat berdasarkan field yang sering digunakan dalam proses pencarian. Berikut ini adalah daftar indeks untuk masing-masing tabel yang ada :
Tabel Pembuatan Indeks Setiap Entitas Nama Tabel
Indeks
Nama Indeks
BOQ
BOQ_ID (Primary Index)
Idx_BOQ_ID
BOQFile
BOQ_File (Primary Index) BOQ_ID (Secondary Index )
Idx_BOQ_File Idx_BOQ_ID
Client
Client_ID (Primary Index) Client_Name (Secondary Index )
Idx_Client_ID Idx_Client_Name
ClientPhone
Client_Phone(Primary Index ) Client_ID (Secondary Index)
Idx_Client_ Phone Idx_Client_ ID
ClientFax
Client_Fax(Primary Index ) Client_ID (Secondary Index)
Idx_Client_ Fax Idx_Client_ ID
ClientEmail
Client_Email (Primary Index) Client_ID (Secondary Index)
Idx_Client_ Email Idx_Client_ ID
Employee
Employee_ID (Primary Index) Employee_Name(Secondary Index)
Idx_Employee_ID Idx_Employee_Name
EmployeeEmail
Employee_Email (Primary Index)
Idx_Employee_Email
235
Employee_ID (Secondary Index)
Idx_Employee_ID
EmployeePhone
Employee_Phone(Primary Index) Employee_ID (Secondary Index)
Idx_Employee_Phone Idx_Employee_ID
Invoice
Invoice_ID (Primary Index) Invoice_Date (Secondary Index)
Idx_Invoice_ID Idx_ Invoice_Date
InvoiceFile
Invoice_File (Primary Index) Invoice_ID (Secondary Index)
Idx_Invoice_File Idx_Invoice_ID
InvoiceDescription
Description(Primary Index) Invoice_ID(Secondary Index)
Idx_Description Idx_Invoice_ID
M aterial
M aterial_ID(Primary Index) M aterial_Name(Secondary Index)
Idx_M aterial_ID Idx_M aterial_Name
M aterialType
Type (Primary Index) M aterial_ID(Secondary Index)
Idx_Type Idx_M aterial_ID
M essage
M essage_ID (Primary Index) Content (Secondary Index)
Idx_M essage_ID Idx_Content
PO
PO_ID(Primary Index) Contract(Secondary Index)
Idx_PO_ID Idx_Contract
PositionEM P
Employee_Name (Primary Index) Position (Secondary Index)
Idx_Employee_Name
Progress
Ttk_Koor_N (Primary Index) Ttk_Koor_E (Second Index)
Idx_Ttk_Koor_N Idx_Ttk_Koor_E
Project
Site_ID (Primary Index) SOW (Secondary Index)
Idx_Site_ID Idx_SOW
Site
Site_Name (Primary Index) Site_ID (Secondary Index)
Idx_Site_Name Idx_Site_ID
SPK
SPK_ID (Primary Index)
Idx_SPK_ID
Idx_Positon
236
SPK_File (Secondary Index)
Idx_SPK_File
SPKFile
SPK_File (Primary Index) SPK_ID (Secondary Index)
Idx_SPK_File Idx_SPK_ID
SubKon
SubKon_ID (Primary Index) SubKon_Name (Secondary Index)
Idx_SubKon_ID Idx_SubKon_Name
SubKonPhone
Phone (Primary Index) SubKon_ID (Secondary Index)
Idx_Phone Idx_SubKon_ID
SubKonFax
Fax (Primary Index) SubKon_ID(Secondary Index)
Idx_Fax Idx_SubKon_ID
SubKonEmail
Email(Primary Index) SubKon_ID (Secondary Index)
Idx_Email Idx_SubKon_ID
SubKonEM P
SubKon_EM P_Name(Primary Index) SubKon_ID(Secondary Index)
Idx_SubKon_EM P_ Name Idx_SubKon_ID
Tabel 4.52 Pembuatan Indeks Setiap Entitas
4.1.3.2.3
Estimasi Kebutuhan Media Penyimpanan Pada tahap ini dilakukan perhitungan estimasi kebutuhan media penyimpanan dengan asumsi selama setahun .
237
Perhitungan Tabel BOQ Nama Field
Type
Ukuran
BOQ_ID
VARCHAR(50)
51 bytes
Employee_ID
VARCHAR(10)
11 bytes
BOQ_Date
DATETIM E
8 bytes
Tower
VARCHAR(30)
31 bytes
Wide_Area
VARCHAR(20)
21 bytes
Wide_Site
VARCHAR(20)
21 bytes
Price
BIGINT(15)
120 bytes
Revision
INT(4)
4 bytes
Information
LONGTEXT
500 bytes
Tabel 4.53 Tabel Perhitungan BOQ Total kebutuhan memory maksimal untuk table BOQ adalah sebesar 267 bytes. Jumlah data pada tabel BOQ masih kosong. Asumsi perkembangan tabel BOQ adalah sebanyak 2 pengajuan BOQ per bulan. Total perkembangan memory maksimal BOQ sebesar 267 bytes *12*12 = 38448 bytes = 38,448 Kbytes.
Perhitungan Tabel BOQFile Nama Field BOQ_ID
Type VARCHAR(50)
Ukuran 51 bytes
238
BOQ_File
VARCHAR(150)
151 bytes
BOQ_File_Date
DATETIM E
8 bytes
Shop_Drawing_File VARCHAR(150)
151 bytes
Tabel 4.54 Tabel Perhitungan BOQFile Total kebutuhan memory maksimal tabel BOQFile adalah sebesar 361 Bytes. Jumlah data pada tabel BOQFile masih kosong. Asumsi perkembangan tabel BOQFile adalah sebanyak 2 pengajuan BOQFile perbulan. Total perkembangan memory maksimal BOQFile sebesar 361 bytes*12*12 = 51,984 Kbytes. Perhitungan Tabel BOQDetail Nama Field
Type
Ukuran
BOQ_ID
VARCHAR(50)
51 bytes
M aterial_ID
VARCHAR(10)
11 bytes
Tabel 4.55 Tabel Perhitungan BOQDetail Total kebutuhan memory maksimal tabel BOQDetail adalah sebesar 62 Bytes. Jumlah data pada tabel BOQDetail masih kosong. Asumsi perkembangan tabel BOQDetail adalah sebanyak 2 pengajuan BOQDetail perbulan. Total perkembangan memory maksimal BOQDetail sebesar 62*12*12 = 8,928 Kbytes.
239
Perhitungan Tabel Client Nama Field
Type
Ukuran
Client_ID
VARCHAR(10)
11 bytes
Client_Name
VARCHAR(50)
51 bytes
Address
VARCHAR(200)
201 bytes
Tabel 4.56 Tabel Perhitungan Client
Total kebutuhan memory maksimal tabel Client adalah sebesar 263 bytes.
Jumlah
data pada tabel Client
masih
kosong.
Asumsi
perkembangan tabel Client adalah sebanyak 6 pengajuan Client pertahun. Total perkembangan memory maksimal Clint sebesar 263 bytes*6*12 = 16,992 Kbytes. Perhitungan Tabel ClientEmail Nama Field
Type
Ukuran
Client_ID
VARCHAR(10)
11 bytes
Email
VARCHAR(100)
101 bytes
Tabel 4.57 Tabel Perhitungan ClientEmail Total kebutuhan memory maksimal tabel ClientEmail adalah sebesar 112 bytes. Jumlah data pada tabel ClientEmail masih kosong. Asumsi perkembangan
tabel ClientEmail
adalah
sebanyak
6
pengajuan
240
ClientEmail
pertahun.
Total
perkembangan
memory
maksimal
ClientEmail sebesar 112*6*12 = 8,064 Kbytes.
Perhitungan Tabel ClientFax Nama Field
Type
Ukuran
Client_ID
VARCHAR(10)
11 bytes
Fax
VARCHAR(20)
21 bytes
Tabel 4.58 Tabel Perhitungan ClientFax Total kebutuhan memory maksimal tabel ClientFax adalah sebesar 32 Bytes. Jumlah data pada tabel ClientFax masih kosong. Asumsi perkembangan tabel ClientFax adalah sebanyak 6 pengajuan ClientFax pertahun. Total perkembangan memory maksimal ClientFax sebesar 32*6 *12= 2304 bytes (2,304 Kbytes).
Perhitungan Tabel ClientPhone Nama Field
Type
Ukuran
Client_ID
VARCHAR(10)
11 bytes
Phone
VARCHAR(20)
21 bytes
Tabel 4.59 Tabel Perhitungan ClientPhone
241
Total kebutuhan memory maksimal tabel ClientPhone adalah sebesar 32 bytes. Jumlah data pada tabel ClientPhone masih kosong. Asumsi perkembangan ClientPhone
tabel ClientPhone adalah pertahun.
Total
sebanyak
perkembangan
6
pengajuan
memory
maksimal
ClientPhone sebesar 32*6 *12= 2592 bytes (2,592 Kbytes).
Perhitungan Table Employee Nama Field
Type
Ukuran
Employee_ID
VARCHAR(10)
11 bytes
Password
VARCHAR(50)
21 bytes
Employee_Name
VARCHAR(50)
51 bytes
Position
VARCHAR(25)
26 bytes
Gender
VARCHAR(10)
11 bytes
Enter_Date
DATETIM E
8 bytes
Address
VARCHAR(200)
201 bytes
Tabel 4.60 Tabel Perhitungan Employee
Total kebutuhan memory maksimal tabel Employee adalah sebesar 329 Bytes. Jumlah data pada tabel Employee masih kosong. Asumsi perkembangan tabel Employee adalah sebanyak 6 pengajuan Employee pertahun. Total perkembangan memory maksimal Employee sebesar 329 bytes*6*12 = 23, 688 Kbytes.
242
Perhitungan Tabel EmployeeEmail Nama Field
Type
Ukuran
Employee_ID
VARCHAR(10)
11 bytes
Email
VARCHAR(100)
101 bytes
Tabel 4.61 Tabel Perhitungan EmployeeEmail Total kebutuhan memory maksimal tabel EmployeeEmail adalah sebesar 112 Bytes. Jumlah data pada tabel EmployeeEmail masih kosong. Asumsi perkembangan tabel EmployeeEmail adalah sebanyak 6 pengajuan EmployeeEmail pertahun. Total perkembangan memory maksimal EmployeeEmail sebesar 112*6 *12= 8,064 Kbytes.
Perhitungan Tabel EmployeePhone Nama Field
Type
Ukuran
Employee_ID
VARCHAR(10)
11 bytes
Phone
VARCHAR(20)
21 bytes
Tabel 4.62 Tabel Perhitungan EmployeePhone Total kebutuhan memory maksimal tabel EmployeePhone adalah sebesar 32Bytes. Jumlah data pada tabel EmployeePhone masih kosong. Asumsi perkembangan tabel EmployeePhone adalah sebanyak 6 pengajuan EmployeePhone pertahun. Total perkembangan memory maksimal EmployeePhone sebesar 32*6*12 = 2304 bytes (2,304 Kbytes)
243
Perhitungan Tabel Invoice Nama Field
Type
Ukuran
Invoice_ID
VARCHAR(50)
51 bytes
Employee_ID
VARCHAR(10)
11 bytes
Site_ID
VARCHAR(10)
11 bytes
SOW
VARCHAR(50)
51 bytes
Invoice_Date
DATETIM E
8 bytes
Invoice_Due_Date
DATETIM E
8 bytes
Revision
INT(3)
4 bytes
Information
LONGTEXT
500 bytes
Tabel 4.63 Tebel Perhitungan Invoice Total kebutuhan memory maksimal tabel Invoice adalah sebesar 644 bytes. Jumlah data pada tabel Invoice masih kosong. Asumsi perkembangan tabel Invoice adalah sebanyak 6 pengajuan Invoice pertahun. Total perkembangan memory maksimal Invoice sebesar 644 bytes*6*12 = 46368 bytes = 46,368 Kbytes.
Perhitungan Tabel InvoiceDescription Nama Field
Type
Ukuran
Invoice_ID
VARCHAR(50)
51 bytes
Description
TEXT
64 Kbytes
QTY
INT(3)
4 bytes
244
Price
BIGINT(15)
120 bytes
Tabel 4.64 Tabel Perhitungan InvoiceDescription Total kebutuhan memory maksimal tabel Invoice adalah sebesar 239 bytes. Jumlah data pada tabel Invoice masih kosong. Asumsi perkembangan
tabel
Invoice
adalah
sebanyak
6
pengajuan
InvoiceDescription pertahun. Total perkembangan memory maksimal InvoiceDescription sebesar 239 Kbytes*6*12 = 17,208 Kbytes .
Perhitungan Tabel InvoiceFile Nama Field
Type
Ukuran
Invoice_ID
VARCHAR(50)
51 bytes
Invoice_File
VARCHAR(150)
151 bytes
Invoice_File_Date
DATETIM E
8 bytes
Tabel 4.65 Tabel Perhitungan InvoiceFile
Total kebutuhan memory maksimal tabel InvoiceFile adalah sebesar 210 Bytes. Jumlah data pada tabel InvoiceFile masih kosong. Asumsi perkembangan tabel InvoiceFile adalah sebanyak 6 pengajuan InvoiceFile pertahun . Total perkembangan memory maksimal InvoiceFile sebesar 210 bytes*6*12 = 15,120 Kbytes.
245
Perhitungan Tabel Material Nama Field
Type
Ukuran
M aterial_ID
VARCHAR(10)
11 bytes
M aterial_Name
VARCHAR(50)
51 bytes
QTY
INT(3)
4 bytes
Tabel 4.66 Tabel Perhitungan Material Total kebutuhan memory maksimal tabel M aterial adalah sebesar 66 bytes. Jumlah data pada tabel M aterial masih kosong. Asumsi perkembangan tabel M aterial adalah sebanyak 12 pengajuan M aterial pertahun . Total perkembangan memory maksimal M aterial sebesar 66 bytes *12*12 = 9,504 Kbytes.
Perhitungan Tabel MaterialType Nama Field Type
Type VARCHAR(50)
Ukuran 51 bytes
Tabel 4.67 Tabel Perhitungan MaterialType
Total kebutuhan memory maksimal tabel M aterialType adalah sebesar 51 Bytes. Jumlah data pada tabel M aterialType masih kosong. Asumsi perkembangan tabel M aterialType adalah sebanyak 12 pengajuan
246
M aterialType pertahun . Total perkembangan memory maksimal M aterialType sebesar 51 bytes *12 *12= 7,344 Kbytes.
Perhitungan Tabel Message Nama Field
Type
Ukuran
M essage_ID
VARCHAR(25)
26 bytes
Employee_ID
VARCHAR(10)
11 bytes
M essage_Date
DATETIM E
8 bytes
Subject
VARCHAR(200)
201 bytes
Sender
VARCHAR(50)
51 bytes
Content
LONGTEXT
64 Kbytes
File
VARCHAR(150)
151 bytes
Status
VARCHAR(10)
11 bytes
Tabel 4.68 Tabel Perhitungan Message
Total kebutuhan memory maksimal tabel message adalah sebesar 64459 Kbytes. Jumlah data pada tabel message masih kosong. Asumsi perkembangan tabel message adalah sebanyak 12 pengajuan message pertahun . Total perkembangan memory maksimal message sebesar 64,459 Kbytes *12 *12 = 9282096 bytes = 9282,096 Kbytes
247
Perhitungan Tabel PO Nama Field
Type
Ukuran
PO_ID
VARCHAR(50)
51 bytes
Employee_ID
VARCHAR(10)
11 bytes
Client_ID
VARCHAR(10)
11 bytes
PO_Name
VARCHAR(50)
51 bytes
PO_Date
DATETIM E
8 bytes
PO_Date_Printed
DATETIM E
8 bytes
Contract
VARCHAR(50)
51 bytes
TO_Payment
VARCHAR(100)
101 bytes
Start_Date
DATETIM E
8 bytes
Finish_Date
DATETIM E
8 bytes
PO_File
VARCHAR(150)
151 bytes
Status
VARCHAR(10)
11 bytes
Information
LONGTEXT
500 bytes
Tabel 4.69 Tabel Perhitungan PO
Total kebutuhan memory maksimal tabel PO adalah sebesar 970 bytes. Jumlah data pada tabel PO masih kosong. Asumsi perkembangan tabel PO adalah sebanyak 6 pengajuan PO pertahun . Total perkembangan memory maksimal PO sebesar 970 bytes *6*12 = 69,840 Kbytes = 69840 bytes.
248
Perhitungan Tabel Progress Atribut Activity
Tipe Data VARCHAR(50)
Ukuran 51 bytes
Tabel 4.70 Tabel Perhitungan Progress
Total kebutuhan memory maksimal tabel progress adalah sebesar 51 bytes. Jumlah data pada tabel progress masih kosong. Asumsi perkembangan tabel progress adalah sebanyak 12 pengajuan progress pertahun . Total perkembangan memory maksimal progress sebesar 51 bytes *12 *12= 8928 bytes =8,928 Kbytes. Perhitungan Tabel PositionEMP Atribut Position
Tipe Data VARCHAR(25)
Ukuran 26 bytes
Tabel 4.71 Tabel Perhitungan Position EMP Total kebutuhan memory maksimal tabel positionEMP adalah sebesar 0,026 Kbytes. Jumlah data pada tabel positionEM P masih kosong. Asumsi perkembangan tabel positionEMP adalah sebanyak 12 pengajuan positionEM P pertahun . Total perkembangan memory maksimal positionEM P sebesar 0,026 Kbytes *12*12 = 3,744 Kbytes.
249
Perhitungan Tabel Project Atribut
Tipe Data
Ukuran
Site_ID
VARCHAR(10)
11 bytes
Ttk_Koor_N
DOUBLE
8 bytes
Ttk_Koor_E
DOUBLE
8 bytes
Employee_ID
VARCHAR(10)
11 bytes
PO_ID
VARCHAR(50)
51 bytes
BOQ_ID
VARCHAR(50)
51 bytes
Project_Name
VARCHAR(50)
51 bytes
SOW
VARCHAR(50)
51 bytes
QTY
INT(4)
4 bytes
Price
BIGINT(15)
120 bytes
Tabel 4.72 Tabel Perhitungan Project Total kebutuhan memory maksimal tabel project adalah sebesar 0,366 Kbytes. Jumlah data pada tabel project masih kosong. Asumsi perkembangan tabel project adalah sebanyak 12 pengajuan project pertahun . Total perkembangan memory maksimal project sebesar 0,366 Kbytes *12 *12= 52,704 Kbytes.
250
Perhitungan Tabel Site Atribut
Tipe Data
Ukuran
Site_ID
VARCHAR(10)
11 bytes
Site_Name
VARCHAR(50)
51 bytes
SPK_File_Date
DATETIM E
8 bytes
Tabel 4.73 Tabel Perhitungan Site Total kebutuhan memory maksimal tabel site adalah sebesar 0,070 Kbytes. Jumlah data pada tabel site masih kosong. Asumsi perkembangan tabel site adalah sebanyak 12 pengajuan site pertahun . Total perkembangan memory maksimal SPK sebesar 0,070 Kbytes *12*12 = 10,080 Kbytes.
Perhitungan Tabel S PK Atribut
Tipe Data
Ukuran
SPK_ID
VARCHAR(50)
51 bytes
SPK_Date
DATETIM E
8 bytes
Job
VARCHAR(200)
201 bytes
Specification
VARCHAR(200)
201 bytes
TO_Implement
VARCHAR(200)
201 bytes
Pay_System
VARCHAR(200)
201 bytes
251
Price
BIGINT(15)
120 bytes
Representative
VARCHAR(50)
51 bytes
Revision
INT(4)
4 bytes
Information
LONGTEXT
500 bytes
Tabel 4.74 Tabel Perhitungan S PK Total kebutuhan memory maksimal tabel SPK adalah sebesar 1538 bytes. Jumlah data pada tabel SPK masih kosong. Asumsi perkembangan tabel SPK adalah sebanyak 12 pengajuan SPK pertahun . Total perkembangan memory maksimal SPK sebesar 1538 bytes *12*12 = 221,472 Kbytes.
Perhitungan Tabel S PKFile Atribut
Tipe Data
Ukuran
SPK_ID
VARCHAR(50)
51 bytes
SPK_File
VARCHAR(150)
151 bytes
SPK_File_Date
DATETIM E
8 bytes
Tabel 4.75 Tabel Perhitungan S PKFile Total kebutuhan memory maksimal tabel SPKFile adalah sebesar 0,210 Kbytes. Jumlah data pada tabel SPK masih kosong. Asumsi perkembangan tabel SPKFile adalah sebanyak 12 pengajuan SPKFile
252
pertahun . Total perkembangan memory maksimal SPKFile sebesar 0,210 Kbytes *12*12 = 30,240 Kbytes.
Perhitungan Tabel S ubKon Atribut
Tipe Data
Multi Valued
SubKon_ID
VARCHAR(10)
11 bytes
SubKon_Name
VARCHAR(50)
51 bytes
Address
VARCHAR(200)
201 bytes
Tabel 4.76 Tabel Perhitungan SubKon
Total kebutuhan memory maksimal tabel SubKon adalah sebesar 0,263 Kbytes. Jumlah data pada tabel SubKon masih kosong. Asumsi perkembangan tabel SubKon adalah sebanyak 12 pengajuan SubKon pertahun . Total perkembangan memory maksimal SubKon sebesar 0,263 Kbytes *12*12 = 37,872 Kbytes. Perhitungan Tabel S ubKonPhone Atribut
Tipe Data
Multi Valued
SubKon_ID
VARCHAR(10)
11 bytes
Phone
VARCHAR(20)
21 bytes
Tabel 4.77 Tabel Perhitungan SubKonPhone Total kebutuhan memory maksimal tabel SubKonPhone adalah sebesar 0,032 Kbytes. Jumlah data pada tabel SubKonPhone masih
253
kosong. Asumsi perkembangan tabel SubKonPhone adalah sebanyak 6 pengajuan SubKonPhone pertahun . Total perkembangan memory maksimal SubKonPhone sebesar 0,032 Kbytes *6*12 = 2,304 Kbytes.
Perhitungan Tabel S ubKonEmail Atribut
Tipe Data
Multi Valued
SubKon_ID
VARCHAR(10)
11 bytes
Email
VARCHAR(100)
101 bytes
Tabel 4.78 Tabel Perhitungan SubKonEmail
Total kebutuhan memory maksimal tabel SubKonEmail adalah sebesar 0,112 Kbytes. Jumlah data pada tabel SubKonEmail masih kosong. Asumsi perkembangan tabel SubKonEmail adalah sebanyak 6 pengajuan SubKonEmail pertahun . Total perkembangan memory maksimal SubKonEmail sebesar 0,112 Kbytes *6 *12= 8,064 Kbytes.
Perhitungan Tabel S ubKonFax Atribut
Tipe Data
Multi Valued
SubKon_ID
VARCHAR(10)
11 bytes
Fax
VARCHAR(20)
21 bytes
Tabel 4.79 Tabel Perhitungan SubKonFax
254
Total kebutuhan memory maksimal tabel SubKonFax adalah sebesar 0,032 Kbytes. Jumlah data pada tabel SubKonFax masih kosong. Asumsi perkembangan tabel SubKonFax adalah sebanyak 6 pengajuan SubKonFax pertahun
.
Total perkembangan
memory
maksimal
SubKonFax sebesar 0,032 Kbytes *6*12 = 2,304 Kbytes.
Perhitungan Tabel S ubEMP Atribut
Tipe Data
SubKon_ID
Multi Valued
VARCHAR(10)
11 bytes
SubKon_EM P_Name VARCHAR(50)
51 bytes
Tabel 4.80 Tabel Perhitungan SubEMP Total kebutuhan memory maksimal tabel SubKonFax adalah sebesar 0,062Kbytes. Jumlah data pada tabel SubKonFax masih kosong. Asumsi perkembangan tabel SubKonFax adalah sebanyak 6 pengajuan SubKonFax pertahun
.
Total perkembangan
memory
maksimal
SubKonFax sebesar 0,062 Kbytes *6*12 = 8,928 Kbytes.
Perhitungan Tabel TransProjectProgress Atribut Progress_ID
Tipe Data VARCHAR(10)
Multi Valued 11 bytes
255
Site_ID
VARCHAR(50)
51 bytes
SOW
VARCHAR(10)
11 bytes
Tabel 4.81 Tabel TransProjectProgress Total kebutuhan memory maksimal tabel TransProjectProgress adalah sebesar 0,073Kbytes. Jumlah data pada tabel TransProjectBOQ masih kosong. Asumsi perkembangan tabel TransProjectBOQ adalah sebanyak 6 pengajuan SubKonFax pertahun . Total perkembangan memory maksimal SubKonFax sebesar 0,073 Kbytes *6*12 = 5,256 Kbytes.
Perhitungan Tabel TransProjectBOQ Atribut
Tipe Data
Multi Valued
BOQ_ID
VARCHAR(10)
11 bytes
Site_ID
VARCHAR(50)
51 bytes
SOW
VARCHAR(10)
11 bytes
Tabel 4.82 Tabel TransProjectProgress Total kebutuhan memory maksimal tabel TransProjectBOQ adalah sebesar 0,073Kbytes. Jumlah data pada tabel TransProjectBOQ masih kosong. Asumsi perkembangan tabel TransProjectBOQ adalah sebanyak 6 pengajuan SubKonFax pertahun . Total perkembangan memory maksimal SubKonFax sebesar 0,073 Kbytes *6*12 = 5,256 Kbytes.
256
Perhitungan Tabel TransProjectInvoice Atribut
Tipe Data
Multi Valued
Invoice_ID
VARCHAR(10)
11 bytes
Site_ID
VARCHAR(50)
51 bytes
SOW
VARCHAR(10)
11 bytes
Tabel 4.83 Tabel TransProjectProgress Total kebutuhan memory maksimal tabel TransProjectInvoice adalah sebesar 0,073 Kbytes. Jumlah data pada tabel TransProjectInvoice masih kosong. Asumsi perkembangan tabel TransProjectInvoice adalah sebanyak 6 pengajuan SubKonFax pertahun . Total perkembangan memory maksimal SubKonFax sebesar 0,073 Kbytes *6*12 = 5,256 Kbytes.
Total kebutuhan Memory selama 1 tahun pada PT.Trimitra Bangun Jaga antara lain :
Tabel
Ukuran (Kbytes)
BOQ
38,448
BOQFile
51,984
BOQDetail Client ClientPhone
8,928 16,992 2,592
257
ClientFax
2,304
ClientEmail
8,064
Employee
23,688
EmployeeEmail
8,064
EmployeePhone
2,304
Invoice
46,368
InvoiceFile
15,120
InvoiceDescription
17,208
M aterial
9,504
M aterialType
7,344
M essage PO
9282,096 69,840
PositionEM P
3,744
Progress
8,928
Project
52,704
Site
10,080
SPK
221,472
SPKFile
30,240
SubKon
37,872
SubKonPhone
2,304
SubKonFax
2,304
SubKonEmail
8,064
258
SubKonEM P
8,928
TransProjectProgress
5,256
TransProjectInvoice
5,256
TransProjectBOQ
5,256 10,013,256
Total
Tabel 4.84 Tabel Perhitungan Total Memori Selama Setahun Jadi total kebutuhan media penyimpanan selama 1 tahun ke depan denganasumsi-asumsi diatas adalah sebesar 10,013,256 Kbytes. 4.1.3.3 Perancangan user views Pada tahap ini dibuat user view yang bertujuan untuk merancang user interface yang telah diidentifikasi selama mengumpulkan
kebutuhan
relasional database lifecycle.
dan
menganalisis
langkah
dari
259
Nama View
View BOQ
Table
Field
BOQ
BOQ_ID, Employee_ID, BOQ_Date, Tower, Wide_Area, Wide_Site, Price, Revision, Information
BOQFile
BOQ_File_Date, Shop_Drawing_File
BOQDetail
M aterial_ID
Client
Client_ID, Client_Name, Address
ClientPhone
Phone
ClientFax
Fax
ClientEmail
Email
Employee
Employee_ID, Password, Employee_Name, Gender, Enter_Date, Addresss, Image, Status
EmployeePhone
Phone
EmployeeEmail
Email
PositionEM P
Position
Invoice
Invoice_ID, Employee_ID, Site_ID, SOW, Invoice_Date, Invoice_Due_Date, Revision, Information
SubKon
SubKon_Name, Address
Project
Project_Name, Site_Name
Client
Client_Name
M aterial
M aterial_ID, M aterial_Name, QTY, Type
View Client
View Employee
View Invoice
Site_ID,Ttk_Koor_N,Ttk_Koor_E,P O_ID,Employee_ID,BOQ_ID,Site_ Name,Project_Name, Area, Address,
260
View Project
View SPK
Project
Province, SOW, QTY, Price, Information
PO
PO_Name
Client
Client_Name
Employee
Employee_Name
SPK
SubKon_Name
SPK SPKFile SubKon
View SubKon
SPK_ID,SubKon_ID, Employee_ID, SPK_Date,Job,Specification,TO_Im plement, Pay_System,Price, Representative, Revision, Information SPK_File_Date SubKon_ID, Address
SubKon_Name,
SubKonEmail
Email
SubKonFax
Fax
SubKonPhone
Phone
SubKonEM P
SubKon_EM P_Name
Tabel 4.85 Tabel Perancangan User View
4.1.3.4 Perancangan Mekanisme Pengamanan Data Data merupakan sebuah aset yang sangat berharga bagi perusahaan, oleh karena itu perlu dilakukan controlling dan managing data dengan tepat dan akurat, untuk itu diperlukan
261
mekanisme pengamanan data untuk menjaga data tersebut. Ada dua mekanisme keamanan data dalam basis data, yaitu mekanisme kemanan
system,
dan
mekanisme
keamanan
data.
Keamanan sistem mencakup pengaksesan dan penggunaan dari basis data. Implementasi dari mekanisme keamanan ini adalah pembuatan halaman login, sebelum memasuki halaman utama dari system. Halaman login yang mengharuskan pengguna untuk memasukkan username dan password pengguna yang tidak menggunakan username dan password tidak dapat mengakses system. Keamanan data mencakup pengaksesan dan penggunaan objek basis data, seperti melihat, menambah, mengubah, dan menghapus data yang ada dalam basis data. Untuk pengaksesan data, setiap karyawan harus login menggunakan aplikasi ini. Pada system login ini, username dan password yang digunakan akan menunjukkan bagian dari karyawan tersebut. Setiap bagian hanya dapat mengakses tabel sesuai dengan Task dan wewenangnya. Keamanan data yang dilakukan adalah melalui validasi yang
dilakukan
di
dalam
aplikasi.
4.2
Perancangan Program Aplikasi 4.2.1
Perancangan S truktur Menu
HOME
HOME
MAIN
Profile
Report
T ask
Message
Vie w Profile
Report Client
PO
Change Profile
Report Employee
BOQ
Change Password
Report PO Report BOQ
SPK
Write Message Message
Manage
Log Out
Manage Client
Out
Manage Employee Manage SubKon
Progress
Report SPK Report Invoice Report Project
262
263
4.2.2
S tate Transition Diagram
Layar login Klik “Logout” kembali ke lay ar login
Masukkan username & password tampilkan layar menu awal
Klik “Home” kembali ke Home
HOME
Klik “Profile” Tampilkan lay ar Profile
Klik “Report” Tampilkan lay ar Report
Klik “Task” Tampilkan lay ar Task
Profile
Report
T ask
Gambar 4.17
Klik “Message” Tampilkan lay ar Message
Klik “Manage” Tampilkan lay ar Manage
Message
S TD S truktur Menu Utama
Manage
Klik “Logout” Tampilkan lay ar Logout
Logout
264
S TD Menu Profile
Profile Klik “Profile” Kembali ke menu Profile
Profile
Change Pofile
Change Password
Klik “Profile” Tampilkan Lihat Profile
Klik “ Change Profile” Tampilkan Change Profile
Klik “Change Password” Tampilkan Change Password
Gambar 4.18 Gambar S TD Menu Profile
265
S TD Menu Report
Report Klik “Report” Kembali ke menu Report
Client
Employee
PO
BOQ
SPK
Invoice
Project
Klik “Client” Tampilkan Client
Klik “Employ ee” Tampilkan Employ ee
Klik “PO” Tampilkan PO Klik “BOQ” Tampilkan BOQ
Klik “SPK” Tampilkan SPK
Klik “Invoice” Tampilkan Invoice
Klik “Project” Tampilkan Project
Gambar 4.19 Gambar S TD Menu Report
266
S TD Menu Task
T ask Klik “Task” Kembali ke menu Task
T ask PO
T ask BOQ
T ask SPK
T ask Progress
Klik “Task PO” Tampilkan Task PO
Klik “Task BOQ” Tampilkan Task BOQ
Klik “Task SPK” Tampilkan Task SPK
Klik “Task Progress” Tampilkan Task Progress
Gambar 4.20 Gambar S TD Menu Task
267
S TD Menu Message
Message Klik menu “Message” Kembali ke menu Message
Write message
Message
Klik “Write message” Tampilkan Write message
Klik “Message” Tampilkan Message
Gambar 4.21 Gambar S TD Menu Message
268
S TD Menu Manage
Manage Klik menu “Manage” Kembali ke menu Manage
Manage Client
Manage Employee K Manage Material Manage SubKon
Klik “Manage Client” Tampilkan Manage Client
Klik “Manage Employee” Tampilkan Manage Employee
Klik “Manage Material” Tampilkan Manage Material Klik “Manage SubKon” Tampilkan Manage SubKon
Gambar 4.22 Gambar S TD Menu Manage
269
4.2.3
Perancangan Layar
1. Rancangan Halaman Login
LOGO
Username Password Masuk
Gambar 4.23 Gambar Rancangan Halaman Login
270
2. Rancangan Halaman Utama
LOGO Home
User
Date
Profile Report
Halaman Utama
Task M essage M anage Logout
Pesan
Gambar 4.24 Gambar Rancangan Halaman Menu Utama
271
3. Rancangan Halaman My Profile
LOGO
Home
User
Date
Profile My Profile
- My Profile Name
:
Gender
:
- Change Password
Phone
:
Address
:
Report
Email
:
Position
:
Enter Date
:
- Change Profile
Task M essage M anage Logout
Photo
272
Gambar 4.25 Gambar Halaman Rancangan My Profile 4. Rancangan Halaman Change Profile
LOGO
Home
User
Date
Profile - My Profile - Change Profile - Change Password
Change Profile Name
:
Gender
:
Phone
:
Address
:
Email
:
Male
Female
Report Task M essage M anage
Photo
Logout
Gambar 4.26 Gambar Rancangan Halaman Change Profile
273
5. Rancangan Halaman Change Password
LOGO
Home
User
Date
Profile Change Password
- My Profile - Change Profile
Username
:
Old Password
:
- Change Password
New Password
:
Re-enter Password :
Report Task
Submit
M essage M anage Logout
Gambar 4.27 Gambar Rancangan Halaman Change Password
274
6. Rancangan Report Client
LOGO
Home
User
Date
Profile Report
List Client
-Report Client -Report Employee
NO
ID
NAMA
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.28 Gambar Rancangan Halaman Report Client
275
7. Rancangan Halaman Report Employee
LOGO
Home
User
Date
Profile Report List Employee
-Report Client -Report Employee NO
ID
NAM A
Position
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.29 Gambar Rancangan Halaman Report Employee
276
8. Rancangan Halaman Report PO
LOGO
Home
User
Date
Profile Report
List Purchase Order
-Report Client -Report Employee
NO
ID
NAM E
CLIENT
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.30 Gambar Rancangan Halaman Report PO
DATE
277
9. Rancangan Halaman Report BOQ
LOGO
Home
User
Date
Profile Report
List BOQ
-Report Client -Report Employee
NO
NAM A
SITE
DATE
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.31 Gambar Rancangan Halaman Report BOQ
278
10. Rancangan Halaman Report S PK
LOGO
Home
User
Date
Profile DAFTAR SPK
Report -Report Client NO -Report Employee
ID
SUBKONTRAKTOR
-Report PO -Report BOQ - Report S PK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.32 Gambar Rancangan Halaman Report S PK
279
11. Rancangan Halaman Report In voice
LOGO
Home
User
Date
Profile Report
DAFTAR INVOICE
-Report Client -Report Employee
NO
ID
CLIEN T
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.33 Gambar Rancangan Halaman Report Invoice
280
12. Rancangan Halaman Report Project
LOGO
Home
User
Date
Profile Report
LIST PROJECT
-Report Client -Report Employee
NO
SITE
SoW
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.34 Gambar Rancangan Halaman Report Project
281
13. Rancangan Halaman Report Material
LOGO
Home
User
Date
Profile Report
List M aterial
-Report Client -Report Employee
NO
M aterial
Type
-Report PO -Report BOQ - Report SPK - Report Invoice - Report Project - Report M aterial Task M essage M anage Logout
Gambar 4.35 Gambar Rancangan Halaman Report Material
282
14. Rancangan Halaman Task Purchase order
LOGO
Home
User
Date
Profile
PURCHASE ORDER PO_ID
Report Task
Purchasing Order :
Contract :
Client
Start Date : Da Mont
-Purchasing Order -BOQ -Invoice
:
T erm of Payment :
Finish Date : Da Mont Yea
-Progress -SPK M essage
Year
Date Printed
: Da Mont Ye
Information
:
M anage Logout Submit
Gambar 4.36 Gambar Rancangan Halaman Purchase Order
283
15. Rancangan Halaman Task BOQ
LOGO
Home
User
Date
Profile Create Bill of Quantity BOQ_ID
Report Task
Site
:
Wide Area :
Tower
:
Wide Site
-Invoice
BOQ File
:
Brows
-Progress
Shop Drawing :
Brows
-Purchasing Order -BOQ
-SPK
Information
:
Price Calc :
:
M essage M anage Logout
Submit
Gambar 4.37 Gambar Rancangan Halaman Bill Of Quantity
284
16. Rancangan Halaman Task Invoice
LOGO
Home
Date
User
Profile
PURCHASE ORDER PO_ID
Report Task
Purchasing Order :
Contract :
Client
Start Date :
-Purchasing Order -BOQ
:
Da
-Invoice
T erm of Payment :
M essage
Year
Finish Date : Da Mont
-Progress -SPK
Mont
Date Printed
: Da Mont Ye
Information
:
M anage Logout Submit
Gambar 4.38 Gambar Rancangan Halaman Invoice
Yea
285
17. Rancangan Halaman Task Progress
LOGO Home
Date
User
Profile Create Progress Report Task -Purchasing Order Site
-BOQ
:
-Choose-
-Invoice -Progress T itik Koordinat
-SPK
:
M essage
N
:
M anage
E
:
Logout Submit
Gambar 4.39 Gambar Rancangan Task Progress
286
18. Rancangan Halaman Task S PK
LOGO
Home
User
Date
Profile
SOW Client
Report Task -Purchasing Order -BOQ
SPK SPK_ID
SubKon Employee
Job
:
Spesification
:
-Invoice T erm of Implementation :
-Progress -S PK
System Payment
:
Price
:
M essage M anage Logout
Information
Gambar 4.40 Gambar Rancangan Task S PK
File Browse
287
19. Rancangan Halaman Inbox
LOGO
Home
User
Date
Profile Report Task
INBOX STATUS
SENDER
SUBJECT
M essage - Inbox -Create M essage DELET
M anage Logout
Gambar 4.41 Gambar Rancangan In box
DATE
288
20. Rancangan Halaman Create Message
LOGO
Home
User
Profile
Date
CREATE MES S AGE
Report Task
From
:
To
:
M essage - Inbox -Create M essage M anage
Subject
:
Attach File :
Logout
SEND
Gambar 4.42 Gambar Rancangan Create Message
Brows
289
21. Rancangan Halaman Manage Site
LOGO
Home
User
Date
Profile
MANAGE S ITE
Report
Add Site
Task
Site List
Remove Site ID
:
M essage
Site Name :
M anage
Area
:
Province
:
Address
:
- Manage Site - M anage SubKon - M anage Client - M anage Employee Logout Submit
Gambar 4.43 Gambar Rancangan Manage Site
290
22. Rancangan Halaman Manage SubKon
LOGO
Home
User
Date
Profile
Add NEW
Report Update S ubKon Task
SubKon ID :
M essage
Name
:
M anage
Phone
:
Fax:
:
Address
:
Email
:
- M anage Site - Manage S ubKon - M anage Client - M anage Employee Logout
Submit
Gambar 4.44 Gambar Rancangan Manage SubKon
291
23. Rancangan Halaman Manage Client
LOGO
Home
User
Date
Profile
Add NEW
Report Update Client Task
Client ID
:
M essage
Name
:
M anage
Phone
:
Fax:
:
Address
:
Email
:
- M anage Site - M anage SubKon - Manage Client - M anage Employee Logout
Submit
Gambar 4.45 Gambar Rancangan Manage Client
292
24. Rancangan Halaman Manage Employee
LOGO
Home
User
Date
Profile
Add NEW
Report Add Employee Task
Employee ID
:
M essage
Name
:
M anage
Gender
:
Position
: --Choose--
Enter Date
:
- M anage Site - M anage SubKon
Male
-Day-
Female
--Month--
- M anage Client - Manage Employee
Submit
Logout
Gambar 4.46 Gambar Rancangan Manage Employee
--Year--
293
4.2.5
S pesifikasi Proses Spesifikasi proses merupakan penjabaran langkahlangkah yang terstruktur pada tiap modul yang ada. Penjabaran langkah-langkah tersebut disusun menggunakan pseudocode. Modul User Login M odul user login M asukkan username M asukkan password Tekan login Akhir M odul
Modul Tekan Login M odul Tekan login If Username dan/atau Password salah atau Username dan/atau Password kosong Tampilan pesan bahwa Username atau Password salah
294
Else if Username ==”2009.00001” dan Password == ”12345” Tampilan halaman utama dan menu diaktifkan sesuai dengan hak akses masing-masing karyawan Akhir modul
Modul Pilihan Halaman Utama M odul Halaman Utama M enampilkan pilihan ”M enu Awal” M enampilkan pilihan ”Profile” M enampilkan pilihan ”Report” M enampilkan pilihan ”Task” M enampilkan pilihan ”M essage” M enampilkan pilihan ”M anage” M enampilkan pilihan ”Log Out” Akhir M odul
295
Modul Pilihan Menu Awal M odul M enu Awal M enampilkan Employee_Name M enampilkan Tanggal M enampilkan pilihan ”M essage” M enampilkan Tanggal Akhir M odul
Modul Lihat Message M odul Lihat M essage M enampilkan Sender M enampilkan Subject M enampilkan Status M enampilkan Date Akhir modul
296
Modul Pilihan Profile M odul Pilihan Profile M enampilkan pilihan ”My Profile” M enampilkan pilihan ”Change Profile” M enampilkan pilihan ”Change Password” Akhir M odul
Modul Pilihan My Profile M odul Pilihan My Profile M enampilkan Name M enampilkan Gender M enampilkan Phone M enampilkan Address M enampilkan Email M enampilkan Position M enampilkan Enter Date
297
M enampilkan Photo Akhir modul
Modul Pilihan Change Profile M odul Pilihan Change Profile M enampilkan Name M enampilkan pilihan ”Gender” M enampilkan pilihan” Phone” M enampilkan Address M enampilkan pilihan ”Email” M enampilkan Position M enampilkan Enter Date M enampilkan pilihan ”Photo” Lakukan : Submit Akhir modul
298
Modul Pilihan Gender M odul Pilihan Gender Jika dan hanya jika pemilihan Gender adalah male Tampilkan M ale untuk mengisi Gender Lainnya Tampilkan Female untuk mengisi Gender Akhir modul
Modul Pilihan Phone M odul Pilihan Phone Jika dan hanya jika menambahkan Phone Tampilkan area untuk menambah Phone baru Lainnya menghapus Phone Hapus Phone Akhir modul
299
Modul Pilihan Email M odul Pilihan Email Jika dan hanya jika menambahkan Email Tampilkan tempat untuk Email baru Lainnya menghapus Email Hapus Email Akhir modul
Modul Pilihan Photo M odul pilihan photo Jika dan hanya jika memilih photo yang akan di posting Tampilkan photo yang sudah dipilih Lainnya Tampilkan tanpa photo Akhir modul
300
Modul Pilihan Submit M odul pilihan Submit Jika dan hanya jika Name dan/ Gender dan/ Phone dan/ Address dan/ email dan/ Photo Tampilkan pesan error Lainnya Kembali ke menu Profile Akhir modul
Modul Pilihan Change Password M odul pilihan Change Password M enampilkan Username M asukkan Password lama M asukkan Password baru M asukkan konfirmasi Password Lakukan : submit atau reset
301
Akhir modul Modul Pilihan Submit M odul pilihan Submit Jika dan hanya jika Old Password dan/ New Password dan/ Konfirmasi Password kosong Tampilkan pesan error Lainnya Kembali ke menu Profile dan tampilkan pesan sukses Akhir modul
Modul Pilihan Reset M odul Pilihan Reset Reset Change Profile Akhir modul
302
Modul Pilihan Report M odul Pilihan Report M enampilkan pilihan ”Report BOQ” M enampilkan pilihan ”Report Client” M enampilkan pilihan ”Report Employee” M enampilkan pilihan ”Report Invoice” M enampilkan pilihan ”Report PO” M enampilkan pilihan ”Report Project” M enampilkan pilihan ”Report SPK” Akhir modul
Modul Pilihan Report BOQ M odul Pilihan Report BOQ M enampilkan BOQ Id M enampilkan BOQ Name
303
Akhir modul Modul Pilihan Report Client M odul Pilihan Report Client M enampilkan Id Client M enampilkan Client Name Akhir modul
Modul Pilihan Report Employee M odul Pilihan Report Employee M enampilkan Id Employee M enampilkan Employee Name M enampilkan Position Akhir modul
Modul Pilihan Report Invoice M odul Pilihan Report Invoice
304
M enampilkan Invoice Id M enampilkan Invoice Name Akhir modul
Modul Pilihan Report PO M odul Pilihan Report PO M enampilkan PO Id M enampilkan Client Name M enampilkan Position Akhir modul
Modul Pilihan Report Project M odul Pilihan Report Project M enampilkan Project Id M enampilkan Project Name Akhir modul
305
Modul Pilihan Report SPK M odul Pilihan Report SPK M enampilkan SPK Id M enampilkan SubKon Name Akhir modul
Modul Pilihan Task M odul pilihan Task M enampilkan Pilihan ”Purchase Order” M enampilkan Pilihan ”SPK” Akhir modul
Modul Pilihan Task Purchase Order M odul Pilihan Purchase Order
306
M enampilkan Client M enampilkan PO Name M enampilkan Date Printed M enampilkan Term Of Payment M enampilkan Start Date M enampilkan Information M enampilkan File Purchase Order M enampilkan Project Lakukan : Submit atau Reset Akhir modul
Modul Pilihan Submit M odul pilihan Submit Jika dan hanya jika Client dan/ PO Name dan/ Date Printed dan/ Term Of Payment dan/ Start Date dan/ Information dan/ Purchase Order dan/ Project kosong
307
Tampilkan pesan error dan tetap di halaman Purchase Order Lainnya M enuju halaman Insert Project Akhir modul
Modul Pilihan Reset M odul Pilihan Reset Reset Purchase Order Akhir modul
Modul Pilihan Task S PK M odul Pilihan SPK M enampilkan Pilihan SubKon M enampilkan Pilihan Site Akhir modul
308
Modul Pilihan SubKon dan Pilhan Site M odul Pilihan SubKon dan Pilihan Site M enampilkan Purchase Order M enampilakan Client Term of Payment M enampilkan Date Printed M enampilkan Information M enampilkan Contract M enampilkan Start Date M enampilkan Finish Date Akhir M odul
Modul Pilihan Message M odul Pilihan Task SPK M enampilkan Pilihan Inbox
309
M enampilkan Pilhan Create M essage Akhir M odul Modul Pilihan Inbox M odul Pilihan Inbox M enampilkan Status M enampilkan Sender M enampilkan Subject M enampilkan Date Lakukan : Delete Akhir M odul
Modul Pilihan Delete M odul Pilihan Delete M elakukan Delete Akhir M odul
310
Modul Pilihan Create Message M odul Pilihan Create M essage M enampilkan From M enampilkan To M enampilkan Subject M enampilkan Attach File M enampilkan Send Akhir M odul
Modul Pilihan Attach File M odul Pilihan Attach File M elakukan Attach File Akhir M odul
Modul Pilihan Manage Site M odul Pilihan M anage Site
311
M enampilkan Add Site M enampilkan Site ID M enampilkan Site Name M enampilkan Area M enampilkan Province M enampilkan Address Lakukan : Submit Akhir M odul
Modul Pilihan Add S ite M odul Pilihan Add Site M enambahkan Site M enampilkan Site ID M enampilkan Site Name M enampilkan Area M enampilkan Province
312
M enampilkan Address Akhir M odul Modul Pilihan Remove M odul Pilihan Remove M elakukan Remove terhadap M enampilkan Site Name M enampilkan Area M enampilkan Province M enampilkan Address Akhir M odul
Modul Pilihan Site List M odul Pilihan Site List M enampilkan Pilihan Site Akhir M odul Modul Pilihan Manage Client
313
M odul Pilihan M anage Client M enampilkan Client ID M enampilkan Name M enampilkan Phone M enampilkan Fax M enampilkan Address M enampilkan Email Lakukan : Submit atau Reset M enampilkan pilihan update Akhir M odul
Modul Pilihan Update Client M odul Pilihan Update Client M enampilkan Client ID M enampilkan Name M enampilkan Phone
314
M enampilkan Fax M enampilkan Address M enampilkan Email Lakukan : Submit atau Reset Akhir M odul
Modul Pilihan Manage Employee M odul Pilihan M anage Employee M enampilkan Employee ID M enampilkan Name M enampilkan Gender M enampilkan Phone M enampilkan Address M enampilkan Email M enampilkan Position M enampilkan Enter Date
315
Lakukan : Submit atau Reset M enampilkan Pilihan Update Employee Akhir M odul
Modul Pilihan Update Employee M odul Pilihan M anage Employee M enampilkan Employee ID M enampilkan Name M enampilkan Gender M enampilkan Phone M enampilkan Address M enampilkan Email M enampilkan Position M enampilkan Enter Date Lakukan : Submit atau Reset Akhir M odul
316
Modul Pilihan Manage Material M odul Pilihan M anage M aterial M enampilkan M aterial ID M enampilkan Name M enampilkan M aterial Type M enampilkan QTY Akhir M odul
4.3
Implementasi dan Evaluasi 4.3.1
Jadwal implementasi Berikut ini adalah jadwal rencana perancangan sistem basis data dan aplikasinya dalam waktu 14 minggu :
317
Nama Kegiatan
MINGGU KE 1
2
3
4
5
6
7
8
9
10
11
12
Analisis Kebutuhan Pengumpulan Data Usulan Perancangan Tabel Usulan Perancangan Program Demo Program dengan Perubahan bila ada suatu usulan Tanggapan terhadap hasil program Tabel 4.86 Tabel Jadwal Perancangan Sistem Basis Data dan Aplikasi
13
14
318
4.3.2
S pesifikasi perangkat keras dan perangkat lunak Berikut adalah spesifikasi yang disarankan agar dapat menjalankan sistem secara optimal, baik bagi server maupun client : 1.
Kebutuhan untuk server : •
Processor Intel™ Pentium IV
•
1 Gb RAM
•
Harddisk
•
10/100 mbps NIC (Network Interface Card)
•
Sistem operasi Microsoft ™ Windows 2000 server atau Advanced Server / XP
•
2.
Microsoft™ Internet Information Server 5.0
Kebutuhan untuk client : •
Processor Intel, Intel™ Pentium II atau yang lebih cepat
•
512 Megabyte RAM
•
Harddisk
•
Modem 56 Kbps atau yang lebih cepat
319
3.
•
Monitor SVGA
•
Sistem operasi Microsoft™ XP
•
Internet Explorer 6 atau yang lebih baru
Kebutuhan untuk Software(S/W) : •
M acromadia Dreamweaver 8
•
XAM PP server : PHP 5 dan MySQL Database
4.3.3 Evaluasi sistem Pada tahap ini akan dievaluas i sistem basis data yang sudah diimplementasikan agar bisa ditemukan kesalahan dan diperbaiki. Evaluasi didapatkan dari wawancara yang dilakukan oleh penulis dari perbandingan antara sistem yang lama dengan sistem yang baru yang akan diimplementasikan pada perusahaan yaitu : •
Sistem yang telah dibuat dapat terintegrasi dengan baik dan dapat membantu menjembatani komunikasi yang terjadi antar divisi.
320
•
Proses pengolahan data-data yang dibutuhkan perusahaan menjadi lebih up to date dan valid.
•
M embantu dalam pengelolaan proyek.
•
Pengaksesan data seperti BOQ, Client, Employee, Invoice, PO, Project, SPK dan SubKon lebih mudah dan lebih cepat.
4.4
Panduan Pengoperasian Program Aplikasi
Gambar 4.47 Gambar halaman Login
321
Halaman ini adalah halaman Login yang digunakan setiap user apabila ingin masuk dan menggunakan aplikasi ini. User diharuskan memasukkan Username dan password. Username di sini menunjukkan position dari employee yang login sehingga halaman yang tampil akan sesuai dengan tugas masing-masing.
Gambar 4.48 Gambar halaman Home
Halaman ini adalah halaman utama, terdapat menu di sebelah kiri yang isinya sesuai dengan hak akses yang di berikan. Terdapat juga pesan yang berisi pesan dari employee lain jika ada.
322
Gambar 4.49 Gambar halaman My Profile
Halaman ini adalah halaman Profile yang berisi profile dari user yang login. M enu Profile ini akan muncul juga di masing-masing layar kerja employee.
323
Gambar 4.50 Gambar halaman Change Profile
Halaman ini adalah halaman change profile yang berisi profile dari user yang dapat di ubah oleh user itu sendiri. M enu Change Profile ini akan muncul pada masingmasing layar kerja employee.
324
Gambar 4.51 Gambar Halaman Change Password
Halaman ini adalah halaman change password yang berisi password masingmasing user yang dapat di ubah oleh user itu sendiri. M enu Change Password ini akan muncul pada masing-masing layar kerja employee.
325
Gambar 4.52 Gambar Halaman Report Client
Halaman ini adalah halaman Report Client yang berisi list dari nama client dan Client ID. Apabila nama client atau Client ID dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
326
Gambar 4.53 Gambar Halaman Report Employee
Halaman ini adalah halaman Report Employee yang berisi list dari nama employee dan employee ID. Apabila nama employee atau employee ID dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
327
Gambar 4.54 Gambar Halaman Report S ubKon
Halaman ini adalah halaman Report SubKon yang berisi list dari nama SubKon dan SubKon ID. Apabila nama SubKon atau SubKon ID dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
328
Gambar 4.55 Gambar Halaman Report Purchase Order
Halaman ini adalah halaman Report Purchase Order yang berisi listdari nama PO ID ,Project dan tanggal dibuatnya Purchase Order. Apabila nama Project atau PO ID dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
329
Gambar 4.56 Gambar Halaman Report Project
Halaman ini adalah halaman Report Project yang berisi listdari nama Site ,SOW dan persentase proyek yang sedang dikerjakan. Apabila nama Site atau SOW dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
330
Gambar 4.57 Gambar Halaman Report BOQ
Halaman ini adalah halaman Report Bill of Quantity yang berisi list dari BOQ ID, nama Site dan tanggal BOQ di buat. Apabila nama Site atau PO ID dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
331
Gambar 4.58 Gambar Halaman Report S PK
Halaman ini adalah halaman Report SPK yang berisi list dari SPK ID, nama SubKon dan tanggal SPK di buat. Apabila nama PK ID dan nama SubKon dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.
332
Gambar 4.59 Gambar Halaman Report Invoice
Halaman ini adalah halaman Report Invoice yang berisi list dari PO ID, nama Client, nama Site dan tanggal Invoice di buat. Apabila PO ID, nama Client, nama Site dipilih, maka akan muncul informasi yang lebih detail. Pada halaman ini juga dapat dilakukan pencarian data.