Upload
dobao
View
214
Download
0
Embed Size (px)
Citation preview
79
BAB 4
PERANCANGAN SISTEM YANG DIUSULKAN
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. Mengidentifikasi Tipe-tipe Entitas
2. Mengidentifikasi Tipe-tipe Relationship
3. Mengidentifikasi Atribut
4. Menentukan Domain Atribut
80
5. Menentukan Candidate keys dan Primary key
6. Pertimbangkan penggunaan EERD
7. Cek Model Terhadap Redudansi
8. Validasi Model Konseptual Dengan Transaksi User
4.1.1.1 Mengidentifikasi Tipe-tipe Entitas
Tahapan ini adalah untuk menentukan tipe entitas
utama yang dibutuhkan. Menentukan 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
Bill Of Quantity
Setiap rincian biaya dalam suatu proyek
Client
Informasi mengenai perusahaan yang membutuhkan jasa dari PT. Trimitra Bangun Jagad
Klien
Setiap perusahaan yang membutuhkan jasa dari PT. Trimitra Bangun Jagad
Employee Informasi mengenai karyawan yang bekerja pada PT. Trimitra Bangun Jagad
Karyawan Setiap karyawan yang bekerja pada PT. Trimitra Bangun Jagad
Invoice
Informasi mengenai tagihan pembayaran proyek yang diterbitkan untuk Client
Invoice
Setiap penagihan yang ditunjukkan kepada Client mengenai suatu proyek
Material
Informasi mengenai barang-barang yang dibutuhkan dalam proyek pada PT.Trimitra Bangun Jagad
Material
Setiap barang-barang yang dibutuhkan dalam pengerjaan proyek
Message Informasi yang berisi pesan yang dikirimkan antar
Pesan yang digunakan
Setiap pesan yang dikirim dan diterima oelh
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
Setiap proyek yang diadakan oleh Client
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
Setiap penunjukan kerja untuk SubKontraktor
SubKon
Informasi mengenai perusahaan lain yang ditunjuk oleh PT.Trimitra Bangun Jagad dalam melaksanakan proyek
Sub Kontraktor
Setiap perusahaan yang bekerja sama di bawah instruksi PT. Trimitra Bangun Jagad
Tabel 4.1 Tabel Tipe Entitas
4.1.1.2 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 Multiplicity Relationship Nama Entitas Multiplicity
0..* Memiliki Material 0..* BOQ
1..* Menyertai Project 1..*
Client 1..1 Mengajukan PO 1..*
1..1 Memproses BOQ 0..*
1..1 Memproses Invoice 0..*
1..1 Menerima Message 0..*
1..1 Memproses PO 0..*
1..1 Memproses Project 0..*
Employee
1..1 Memproses SPK 0..*
Invoice 1..* Menyertai Project 1..*
PO 1..1 Memiliki Project 1..*
Project 1..* Memiliki Progress 1..*
SPK 1..* Menyertai Project 1..*
SubKon 1..1 Menerima 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 atribut-
atribut dari setiap kelas:
BOQ
Atribut Deskripsi Tipe Data Nulls Multi Valued
BOQ_ID Secara unik mengidentifikasi BOQ
VARCHAR(50) NO NO
BOQ_Date Tanggal BOQ diproses DATETIME 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 DATETIME 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
DATETIME 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
DATETIME NO NO
Invoice_Due_Date Tanggal jatuh tempo invoice
DATETIME 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 YES
Invoice_File Alamat master file Invoice
VARCHAR(150) NO NO
Invoice_File_Date Tanggal upload file Invoice
DATETIME NO NO
Revision Keterangan revisi invoice
INT(4) NO NO
87
Information Keterangan tentang invoice
LONGTEXT YES NO
Tabel 4.6 Tabel Atribut Entitas Invoice
Material
Atribut Deskripsi Tpe Data Nulls Multi Valued
Material_ID Secara unik mengidentifikasi Material
VARCHAR(10) NO NO
Material_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
Message
Atribut Deskripsi Tpe Data Nulls Multi Valued
Message_ID Secara unik mengidentifikasi Message
VARCHAR(25) NO NO
Message_Date Tanggal pesan dibuat DATETIME 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 DATETIME NO NO
PO_Date_Printed Tanggal yang tercantum di PO
DATETIME 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 DATETIME NO NO
Finish_Date Tanggal batas proyek selesai
DATETIME 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
Tabel 4.9 Tabel Atribut Entitas PO
Progress
Atribut Deskripsi Tpe Data Nulls Multi Valued
Activity Merupakan kegiatan dalam melaksanakan proyek
VARCHAR(50) NO NO
Start_Date_P Rencana tanggal mulai DATETIME YES NO
Finish_Date_P Rencana tanggal selesai
DATETIME YES NO
89
Start_Date_A Atual tanggal selesai DATETIME YES NO
Finish_Date_A Aktual tanggal mulai DATETIME 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 DATETIME 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
DATETIME 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
Tabel 4.12 Tabel Atribut Entitas SPK
SubKon
Atribut Deskripsi Tipe Data Nulls Multi Valued
SubKon_ID Secara unik mengidentifikasi SubKon
VARCHAR(10) NO NO
91
SubKon_Name Nama sub-kontraktor pada PT. Trimitra Bangun Jagad
VARCHAR(50) NO NO
Address Alamat sub-kontraktor
VARCHAR(200) YES NO
Phone Nomor telepon sub-kontraktor
VARCHAR(20) YES YES
Fax Nomor fax sub-kontraktor
VARCHAR(20) YES YES
Email Alamat email sub-kontraktor
VARCHAR(100) YES YES
SubKon_EMP_Name Nama karyawan yang bekerja pada sub-kontraktor
VARCHAR(50) NO YES
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 Nama Entitas Nama Field Domain Atribute
BOQ_ID BOQ BOQ_ID 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
Material_ID Material Material_ID VARCHAR(10) aaabbbbbbb aaa = berisikan MTR merupakan singkatan dari material bbbbbbb = berisikan nomor urut
Message_ID Message Message_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
Client Client_Name VARCHAR(50) Name
Employee Employee_Name VARCHAR(50)
94
Material Material_Name VARCHAR(50)
Message 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 DATETIME
BOQ BOQ_File_ Date DATETIME
Employee Enter_Date DATETIME
Invoice Invoice_Date DATETIME
Invoice Invoice_Due_Date DATETIME
Invoice Invoice_File_Date DATETIME
Message Message_Date DATETIME
PO PO_Date DATETIME
PO PO_Date_Printed DATETIME
PO Start_Date DATETIME
PO Finish_Date DATETIME
Progress Start_Date_P DATETIME
Progress Finish_Date_P DATETIME
Progress Start_Date_A DATETIME
Progress Finish_Date_A DATETIME
SPK SPK_Date DATETIME
Date
SPK SPK_File_Date DATETIME
95
Tower BOQ Tower VARCHAR(50)
BOQ Wide_Area VARCHAR(50) Wide
BOQ Wide_Site VARCHAR(50)
BOQ Price BIGINT(15)
Invoice Price BIGINT(15)
Project Price BIGINT(15)
Price
SPK Price BIGINT(15)
BOQ BOQ_File VARCHAR(150)
BOQ Shop_Drawing_File VARCHAR(150)
Employee Image VARCHAR(150)
Invoice Invoice_File VARCHAR(150)
Message File VARCHAR(150)
PO PO_File VARCHAR(150)
File
SPK SPK_File VARCHAR(150)
BOQ Revision INT(4)
Invoice Revision INT(4)
Revision
SPK Revision INT(4)
BOQ Information LONGTEXT
Invoice Information LONGTEXT
PO Information LONGTEXT
Progress Remark LONGTEXT
Project Information LONGTEXT
Information
SPK Information LONGTEXT
Address Client Address VARCHAR(200)
96
Employee Address VARCHAR(200)
Project Address VARCHAR(200)
Subkon Address VARCHAR(200)
Client Phone VARCHAR(20)
Employee Phone VARCHAR(20)
Phone
SubKon Phone VARCHAR(20)
Client Fax VARCHAR(20) Fax
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)
Employee Status VARCHAR(10)
Message Status VARCHAR(10)
Status
PO Status VARCHAR(10)
Description Invoice Description VARCHAR(500)
Invoice QTY INT(4)
Material QTY INT(4)
QTY
Project QTY INT(4)
Type Material Type VARCHAR(50)
Subject Message Subject VARCHAR(200)
Content Message Content LONGTEXT
Contract PO Contract VARCHAR(50)
97
TO_Payment PO TO_Payment VARCHAR(200)
Project Ttk_Koor_N DOUBLE Titik_Koordinat
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_Name
Phone
Client_ID
98
Fax
Employee Employee_ID
Password
Employee_Name
Phone
Employee_ID
Invoice Invoice_ID
Description
Invoice_ID
Material Material_ID
Material_Name
Material_ID
Message Message_ID
Content
Message_ID
PO PO_ID
Contract
PO_ID
Progress Activity
Remark
Activity
Project Site_ID
Site_Name
Area
SOW
Site_ID
SOW
SPK SPK_ID SPK_ID
SubKon SubKon_ID
SubKon_Name
Phone
Fax
SubKon_ID
99
SubKon_Member_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 Material
c. Client mengajukan PO (Purchase Order)
d. Employee memproses BOQ (Bill Of Quantity)
e. Employee memproses Invoice
f. Employee menerima Message
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 Model Data Logikal
3. Validasi Relasi dengan Normalisasi
4. Validasi Relasi dengan Transaksi User
5. Tentukan Integrity Constraints
6. Pembentukan Model Data Logikal Global
104
4.1.2.1 Hilangkan Fitur-fitur yang Tidak Kompetibel
Tujuan dari langkah ini adalah menghilangkan fitur-
fitur 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 menghilangkannya
relationship tersebut dipecah dengan
mengidentifikasikan sebuah entitas baru dan
mengganti hubungannya dengan dua buah one-to-
many (1:*) relationship.
Hubungan BOQ memiliki Material
105
Gambar 4.4 Hubungan BOQ memiliki Material
Hubungan SPK menyertai Project
Gambar 4.5 Hubungan SPK 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 SPK
Gambar 4.13 Menghilangkan multi-valued pada entitas
SPK
110
Entitas Subkon
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
Membuat 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 (Material_ID, Material_Name, QTY,
Type)
Primary Key Material_ID
Message (Message_ID, Message_Date, Subject,
Sender, Content, File, Status)
Primary Key Message_ID
PO (PO_ID, PO_Name, PO_Date,
PO_Date_Printed, Contract, TO_Payment,
Start_Date, Finish_Date, PO_File, Status,
Information)
Primary Key PO_ID
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
SPK (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
Mengidentifikasi relasi yang tidak dapat
berdiri sendiri (bergantung pada entitas lain).
BOQDetail
Primary Key tidak ada sampai saat ini
113
TransProjectSPK
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
SPKFile (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_EMP_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 BOQFile sebagai Foreign key
BOQ (BOQ_ID, BOQ_Date, Tower,
Wide_Area, Wide_Site, Price, Revision,
Information)
Primary Key BOQ_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)
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)
Primary Key Client_ID
ClientPhone (Client_ID, Phone)
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)
Primary Key Client_ID
ClientEmail (Client_ID, Email)
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)
Primary Key Client_ID
ClientFax (Client_ID, Fax)
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,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
PO (PO_ID, Employee_ID, Client_ID,
PO_Name, PO_Date,
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,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key 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)
119
Hubungan Employee Menerima Message
Employee_ID di-post ke dalam Message sebagai Foreign key
Employee (Employee_ID, Password,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key Employee_ID
Message (Message_ID, Employee_ID,
Message_Date, Subject, Sender,
Content, File, Status)
Primary Key Message_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,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key Employee_ID
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)
120
Hubungan Employee Memproses SPK
Employee_ID di-post ke dalam SPK sebagai Foreign key
Employee (Employee_ID, Password,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key Employee_ID
SPK (SPK_ID, Employee_ID,
SPK_Date, Job, Specification,
TO_Implement, Pay_System, Price,
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,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key Employee_ID
Project (Site_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 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,
Employee_Name, Position, Gender,
Enter_Date, Address, Image, Status)
Primary Key Employee_ID
EmployeePhone (Employee_ID, Phone)
Primary Key Phone, Employee_ID
Foreign Key Employee_ID references
Employee (Employee_ID)
Hubungan Employee memiliki EmployeeEmail
Employee_ID di-post ke dalam EmployeeEmail sebagai Foreign key
Employee (Employee_ID, Password,
Employee_Name, Position, Gender,
Enter_Date, Address, Image, Status)
Primary Key Employee_ID
EmployeeEmail (Employee_ID,
Email)
Primary Key Email, 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,
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)
Hubungan Invoice memiliki InvoiceFile
Invoice_ID di-post ke dalam InvoiceFile sebagai Foreign key
Invoice (Invoice_ID, Employee_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Information)
Primary Key Invoice_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
InvoiceFile (Invoice_ID,
Invoice_File, Invoice_File_Date)
Primary Key Invoice_ID,
Invoice_File
Foreign Key Invoice_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,
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)
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)
Hubungan SPK Memiliki SPKFile
SPK_ID di-post ke dalam SPKFile sebagai Foreign key
SPK (SPK_ID, Employee_ID, SPK_Date,
Job, Specification, TO_Implement,
Pay_System, Price, Representative,
SPKFile (SPK_File, SPK_ID,
SPK_File_Date)
Primary Key SPK_File, SPK_ID
124
Revision, Information)
Primary Key SPK_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
Foreign Key SPK_ID references SPK
(SPK_ID)
Hubungan SubKon Menerima SPK
SubKon_ID di-post ke dalam SPK sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
Address)
Primary Key SubKon_ID
SPK (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)
Hubungan SubKon Memiliki SubKonPhone
SubKon_ID di-post ke dalam SubKonPhone sebagai Foreign key
125
SubKon (SubKon_ID, SubKon_Name,
Address)
Primary Key SubKon_ID
SubKonPhone (SubKon_ID, Phone)
Primary Key SubKon_ID, Phone
Foreign Key SubKon_ID references
SubKon (SubKon_ID)
Hubungan SubKon Memiliki SubKonFax
SubKon_ID di-post ke dalam SubKonFax sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
Address)
Primary Key SubKon_ID
SubKonFax (SubKon_ID, Fax)
Primary Key SubKon_ID, Fax
Foreign Key SubKon_ID references
SubKon (SubKon_ID)
Hubungan SubKon Memiliki SubKonEmail
SubKon_ID di-post ke dalam SubKonEmail sebagai Foreign key
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)
126
Hubungan SubKon Memiliki SubKonEMP
SubKon_ID di-post ke dalam SubKonEMP sebagai Foreign key
SubKon (SubKon_ID,
SubKon_Name, Address)
Primary Key SubKon_ID
SubKonEMP (SubKon_ID,
SubKon_EMP_Name)
Primary Key SubKon_ID,
SubKon_EMP_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,
Tower, Wide_Area, Wide_Site, Price,
Revision, Information)
Primary Key BOQ_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
Material (Material_ID,
Material_Name, QTY, Type)
Primary Key Material_ID
BOQDetail (BOQ_ID, Material_ID)
Primary Key BOQ_ID, Material_ID
127
Foreign Key BOQ_ID references BOQ (BOQ_ID)
Foreign Key Material_ID references Material (Material_ID)
BOQ_ID dan Material_ID di-post ke dalam BOQDetail sebagai Foreign key,
gabungan kedua atribut tersebut menjadi primary key
Hubungan SPK Menyertai TransProjectSPK
Hubungan Project Memiliki TransProjectSPK
SPK (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)
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)
TransProjectSPK (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,
Invoice_Date, Invoice_Due_Date, Revision,
Information)
Primary Key Invoice_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
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)
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)
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)
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,
Tower, Wide_Area, Wide_Site, Price,
Revision, Information)
Primary Key BOQ_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
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)
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,
Tower, Wide_Area, Wide_Site, Price,
Material (Material_ID,
Material_Name, Qty, Type)
132
Revision, Information)
Primary Key BOQ_ID
Foreign key Employee_ID references
Employee(Employee_ID)
Primary Key Material_ID
BOQDetail (BOQ_ID, Material_ID)
Primary Key BOQ_ID, Material_ID
Foreign key BOQ_ID references BOQ (BOQ_ID)
Foreign key Material_ID references BOQ (Material_ID)
Hubungan many to many (*..*) pada SPK menyertai Project
SPK (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)
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)
133
Foreign Key Employee_ID references
Employee (Employee _ID)
TransProjectSPK (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,
Invoice_Date, Invoice_Due_Date, Revision,
Information)
Primary Key Invoice_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
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)
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)
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)
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,
Tower, Wide_Area, Wide_Site, Price,
Revision, Information)
Primary Key BOQ_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
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)
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,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key Employee_ID
EmployeePhone (Employee_ID, Phone)
Primary Key Phone, Employee_ID
Foreign Key Employee_ID references
Employee (Employee_ID)
Hubungan Employee Memiliki EmployeeEmail
Employee_ID di-post ke dalam EmployeeEmail sebagai Foreign key
Employee (Employee_ID, Password,
Employee_Name, Position, Gender,
Enter_date, Address, Image, Status)
Primary Key Employee_ID
EmployeeEmail (Employee_ID, Email)
Primary Key Email, Employee_ID
Foreign Key Employee_ID references
Employee (Employee_ID)
Hubungan SubKon Memiliki SubKonEmail
SubKon_ID di-post ke dalam SubKonEmail sebagai Foreign key
138
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)
Hubungan SubKon Memiliki SubKonPhone
SubKon_ID di-post ke dalam SubKonPhone sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
Address)
Primary Key SubKon_ID
SubKonPhone (SubKon_ID,
Phone)
Primary Key SubKon_ID, Phone
Foreign Key SubKon_ID
references SubKon (SubKon_ID)
Hubungan SubKon Memiliki SubKonFax
SubKon_ID di-post ke dalam SubKonFax sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
Address)
Primary Key SubKon_ID
SubKonFax (SubKon_ID, Fax)
Primary Key SubKon_ID, Fax
Foreign Key SubKon_ID
references SubKon (SubKon_ID)
139
Hubungan SubKon Memiliki SubKonEMP
SubKon_ID di-post ke dalam SubKonEMP sebagai Foreign key
SubKon (SubKon_ID, SubKon_Name,
Address)
Primary Key SubKon_ID
SubKonEMP (SubKon_ID,
SubKon_EMP_Name)
Primary Key SubKon_ID,
SubKon_EMP_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)
Primary Key Client_ID
ClientEmail (Client_ID, Email)
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)
Primary Key Client_ID
ClientPhone (Client_ID, Phone)
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)
Primary Key Client_ID
ClientFax (Client_ID, Fax)
Primary Key Client_ID, Fax
Foreign Key Client_ID references
Client (Client_ID)
Hubungan BOQ Memiliki BOQFile
BOQ_ID di-post ke dalam BOQFile sebagai Foreign key
141
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)
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)
Hubungan Invoice memiliki InvoiceDescription
Invoice_ID di-post ke dalam InvoiceDescription sebagai Foreign key
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)
Hubungan Invoice memiliki InvoiceFile
Invoice_ID di-post ke dalam InvoiceFile sebagai Foreign key
142
Invoice (Invoice_ID, Employee_ID,
Invoice_Date, Invoice_Due_Date, Revision,
Information)
Primary Key Invoice_ID
Foreign Key Employee_ID references
Employee (Employee _ID)
InvoiceFile (Invoice_ID,
Invoice_File, Invoice_File_Date)
Primary Key Invoice_ID,
Invoice_File
Foreign Key Invoice_ID
references Invoice (Invoice_ID)
Hubungan SPK Memiliki SPKFile
SPK_ID di-post ke dalam SPKFile sebagai Foreign key
SPK (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)
SPKFile (SPK_File, SPK_ID,
SPK_File_Date)
Primary Key SPK_File, SPK_ID
Foreign Key SPK_ID references SPK
(SPK_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, Material_ID Primary Key BOQ_ID, Material_ID Foreign key BOQ_ID references BOQ (BOQ_ID) Foreign key Material_ID references BOQ (Material_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 Material_ID, Material_Name, QTY, Type Primary key Material_ID
Message Message_ID, Employee_ID, Message_Date, Subject, Sender, Content, File, Status Primary Key Message_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
SPK 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)
SPKFile 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_EMP_Name Primary Key SubKon_ID, SubKon_EMP_Name Foreign Key SubKon_ID references SubKon (SubKon_ID)
TransProjectSPK 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 (Primary Key)
Employee_ID ( Partial Dependency)
BOQ_Date
Wide_Area
Wide_Site
Price
Revision
Information
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)
Material_ID (Primary key) (Partial Dependency)
@#BOQ_ID + @#Material_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 Material_ID
yang merupakan partial dependency yang dapat
dijadikan entity baru yaitu entity Material sehingga
diperlukan normalisasi 2NF menjadi :
BOQ_Detail
@#BOQ_ID + @#Material_ID
149
BOQ
@BOQ_ID
Material
@Material_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 ( Primary Key )
BOQ_ID (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 sehingga tidak
diperlukan normalisasi 2N menjadi :
ClientFax
@#Client_ID + @Fax
Client
@Client_ID
3NF
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 (Primary Key)
Employee_ID (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 sehingga
diperlukan normalisasi 2NF menjadi :
InvoiceDescription
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 (Primary Key)
Invoice_ID (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
Material_ID (Primary Key)
Material_Name
Qty
Type (Transitive dependency)
@Material_ID + Material_Name + Qty + Type
163
1NF
Di dalam entitas Material tidak terdapat atribut yang
mengalami repeating group sehingga tidak diperlukan
normalisasi 1NF.
2NF
Di dalam entitas Material, tidak terdapat atribut yang
merupakan partial dependency sehingga tidak
diperlukan normalisasi 2NF.
3NF
Di dalam entitas Material, dari semua atribut yang ada
pada entitas tersebut ditemukan transitive dependency
yaitu type sehingga diperlukan normalisasi 3NF.
Material
@Material_ID + Material_Name + Qty + #Type
TypeMaterial
@Type
164
15. MESSAGE
Message_ID ( Primary Key)
Employee_ID ( Partial Dependency )
Message_Date
Subject
Sender
Content
File
Status
@Message_ID + #Employee_ID + Date + Subject + Sender +
Content + File + Status
1NF
Di dalam entitas Message tidak terdapat atribut yang
mengalami repeating group sehingga tidak diperlukan
normalisasi 1NF.
2NF
Di dalam entitas Message, terdapat atribut yang
merupakan partial dependency sehingga diperlukan
normalisasi 2NF menjadi :
Message
165
@Message_ID + #Employee_ID + Date + Subject + Sender +
Content + File + Status
Emlpoyee
@Employee_ID
3NF
Di dalam entitas Message, semua atribut yang ada pada
entitas tersebut tidak ditemukan transitive dependency
sehingga tidak diperlukan normalisasi 3NF.
16. PO
PO_ID ( Primary Key)
Employee_ID ( Partial Dependency )
Client_ID ( Partial Dependency )
PO_Name
PO_Date
PO_Date_Printed
Contract
TO_Payment
Start_Date
Finish_Date
PO_File
Status
Information
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 ( Partial Dependency )
BOQ_ID (Partial Dependency )
Site_Name (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. SPK
SPK_ID ( Primary Key)
SubKon_ID ( Partial Dependency)
Employee_ID ( Partial Dependency)
SPK_Date
Job
Specification
171
TO_Implement
Pay_System
Price
Representative
Revision
Information
@SPK_ID + #SubKon_ID + #Employee_ID + SPK_Date + Job +
Specification + TO_Implement + Pay_System + Price +
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 :
SPK
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. SPKFile
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 :
SPKFile
@SPKFile_ID + #SPK_ID
SPK
@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_EMP_Name (Primary Key)
@#Subkon_ID + @SubKon_EMP_Name
1NF
Di dalam entitas SubKonEMP tidak terdapat atribut
yang merupakan repeating group sehingga tidak
diperlukan normalisasi 1NF.
2NF
178
Di dalam entitas SubKonEMP terdapat atribut yang
merupakan partial dependency sehingga diperlukan
normalisasi 2NF menjadi :
SubKonEMP
@#SubKon_ID + @SubKon_EMP_Name
SubKon
@SubKon _ID
3NF
Di dalam entitas SubKonEMP tidak terdapat atribut
yang merupakan transitive dependency sehingga tidak
diperlukan normalisasi 3NF.
26. TransProjectSPK
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 :
TransProjectSPK
@#Site_ID + @#SPK_ID + @#SOW
SPK
@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 :
TransProjectSPK
@#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 pengguna seperti yang telah
didefinisikan pada tahap 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 atribut-
atribut 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, Material_ID)
Primary key BOQ_ID, Material_ID
Foreign key BOQ_ID references BOQ (BOQ_ID)
186
ON UPDATE CASCADE ON DELETE CASCADE
Foreign key Material_ID references BOQ (Material_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 (Material_ID, Material_Name, Qty, Type)
Primary key Material_ID
Foreign Key Type references Type (Type)
ON UPDATE CASCADE ON DELETE NO ACTION
Message (Message_ID, Employee_ID, Message_Date,
Subject, Sender, Content, File, Status)
190
Primary Key Message_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
SPK (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
SPKFile (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_EMP_Name)
Primary Key SubKon _ID, SubKon_EMP_Name
Foreign Key SubKon _ID references SubKon
(SubKon_ID)
ON UPDATE CASCADE ON DELETE CASCADE
TransProjectSPK (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
Gambar 4.15 Gambar Diagram ER Logikal
Client
PK Cli ent_ID
Cli ent_Name Address
Employee
PK Employee_ID
FK1 Posit ion Password Employee_Name Gender Enter_Date Address Image Status
Invoi ce
PK Invoice_ID
FK1 Employee_ID Invoice_Date Invoice_Due_Date Revi sion Information
SPK
PK SPK_ID
FK1 SubKon_IDFK2 Employee_ID SPK_Date Job Specif icat ion TO_Implement Pay_System Price Representati ve Revision Information
SubKon
PK SubKon_ID
SubKon_Name Address
PO
PK PO_ID
FK1 Client_IDFK2 Empl oyee_ID PO_Name PO_Date PO_Date_Printed Contract TO_Payment Start_Date Finish_Date PO_Fil e Status Information
Message
PK Message_ID
FK1 Employee_ID Message_Date Subject Sender Content Fil e Status
Material
PK Materi al _ID
FK1 Type Materi al _Name QTY
TypeMaterial
PK Type
BOQ
PK BOQ_ID
FK1 Employee_ID BOQ_Date Tower Wi de_Area Wi de_Site Price Revisi on Informati on
BOQFi le
PK,FK1 BOQ_IDPK BOQ_F ile
BOQ_F ile_Date Shop_Drawing_File
SPKFi le
PK,FK1 SPK_IDPK SPK_File
SPK_File_Date
Positi onEMP
PK Posit ion
ClentPhone
PK PhonePK,FK1 Client_ID
Cl ientEmail
PK EmailPK,FK1 Cli ent_ID
Cl ientFax
PK FaxPK,FK1 Client_ID
EmployeePhone
PK PhonePK,FK1 Empl oyee_ID
Empl oyeeEmail
PK EmailPK,FK1 Employee_ID
Si te
PK Site_ID
Site_Name Area Address Province Proj ect
PK,FK1 Si te_IDPK SOW
FK2 PO _IDFK3 Employee_ID Project_Name QTY Price Ttk_Koor_N Ttk_Koor_E Information
InvoiceFi le
PK,FK1 Invoice_IDPK Invoice_File
Invoice_File_Date
InvoiceDescri pt ion
PK,FK1 Invoice_IDPK Description
QTY Price
TransProjectSPK
PK,FK1 Site_IDPK,FK1 SOWPK,FK2 SPK_ID
BOQDetai l
PK,FK1 BOQ_IDPK,FK2 Material_ID
Progress
PK Activity
SubKonEMP
PK,FK1 SubKon_IDPK SubKon_EMP_Name
SubKonPhone
PK PhonePK,FK1 SubKon_ID
SubKonEmai l
PK EmailPK,FK1 SubKon_ID
SubKonFax
PK FaxPK,FK1 SubKon_ID
TransProjectProgress
PK,FK1 Acti vityPK,FK2 Si te_IDPK,FK2 SOW
Start_Date_P Finish_Date_P Start_Date_A Finish_Date_A Percent Remark
TransProjectInvoice
PK,FK1 Invoice_IDPK,FK2 Site_IDPK,FK2 SOW
TransProjectBOQ
PK,FK1 Site_IDPK,FK1 SOWPK,FK2 BOQ_ID
197
4.1.3 Perancangan Basis Data Fisikal
Perancangan basis data fisikal adalah suatu proses untuk
menghasilkan gambaran 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). Langkah-
langkah 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
DBMS yang diinginkan.
Tabel Identifikasi Relasional Model Data Logikal Global
1. BOQ
Atribut Deskripsi Tipe Data Nulls
BOQ_ID Secara unik mengidentifikasi BOQ
VARCHAR(50) aaaaa/bbb/ccc/ddd/ee aaaaa = berisikan nomor urut bbb = berisikan BOQ
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 DATETIME 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 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 format dua digit
NO
BOQ_File Alamat master file BOQ VARCHAR(150) YES
BOQ_File_ Date Tanggal upload file BOQ DATETIME 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) 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
NO
Material_ID Secara unik mengidentifikasi Material
VARCHAR(10) aaabbbbbbb aaa = berisikan MTR merupakan singkatan dari material bbbbbbb = berisikan nomor urut
NO
Tabel 4.19 Tabel Relasi Dasar BOQDetail
Primary Key ( BOQ_ID, Material_ID )
Foreign Key BOQ_ID references BOQ (BOQ_ID)
Foreign Key Material_ID references Material (Material_ID) ON UPDATE
CASCADE ON DELETE CASCADE
201
4. Client
Atribut Deskripsi Tipe Data Nulls
Client_ID Secara unik mengidentifikasi msClient
VARCHAR(10) aaaaa aaaaa = berisikan inisial dari klien
NO
Client_Name Nama client pada PT. Trimtra Bangun Jagad
VARCHAR(50) NO
Address Alamat tempat client berada VARCHAR(200) NO
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
DATETIME 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 positionEMP (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 Tipe Data Nulls
Employee_ID Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan
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) 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
NO
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 DATETIME NO
Invoice_Due_Date Tanggal jatuh tempo invoice
DATETIME 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) 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
NO
Invoice_File Alamat master file Invoice
VARCHAR(150) NO
Invoice_File_Date Tanggal upload file Invoice
DATETIME 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) 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
NO
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
Material_ID Secara unik mengidentifikasi Material
VARCHAR(10) aaabbbbbbb aaa = berisikan MTR merupakan singkatan dari material bbbbbbb = berisikan nomor urut
NO
Material_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 (Material_ID) ON UPDATE CASCADE ON DELETE NO
ACTION
15. TypeMaterial
Atribut Deskripsi Tipe Data Nulls
Type Jenis material VARCHAR(50) NO
Tabel 4.31 Tabel Relasi Dasar TypeMaterial
Primary Key (Type)
210
16. Message
Atribut Deskripsi Tipe Data Nulls
Message_ID Secara unik mengidentifikasi Message
VARCHAR(25) NO
Employee_ID Secara unik mengidentifikasi Employee
VARCHAR(10) aaaa.bbbbb aaaa = berisikan tahun bergabung bbbbb = berisikan nomor urut
NO
Message_Date Tanggal pesan dibuat DATETIME 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 (Message_ID)
Foreign Key employee_ID references employee (employee_ID) ON UPDATE
CASCADE ON DELETE CASCADE
17. PO
Atribut Deskripsi Tipe Data Nulls
PO_ID Secara unik mengidentifikasi PO
VARCHAR(50) aaaaa/bb/ccc/ddd/ee aaaaa = berisikan
NO
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 DATETIME NO
PO_Date_Printed Tanggal yang tercantum di PO DATETIME NO
Contract Reference dari proyek yang dikerjakan
VARCHAR(50) NO
TO_Payment Batas waktu pembayaran VARCHAR(100) NO
Start_Date Tanggal proyek dimulai DATETIME NO
Finish_Date Tanggal batas proyek selesai DATETIME 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 Tipe Data Nulls
Position Nama divisi atau department perusahaan
VARCHAR(25) NO
Tabel 4.34 Tabel Relasi Dasar PositionEMP
Primary Key (Position)
213
19. Progress
Atribut Deskripsi Tpe Data Nulls
Activity Mengidentifikasi kegiatan yang sedang dikerjakan
VARCHAR(50) 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) aaabbb aaa = berisikan huruf abjad bbb = berisikan angka
NO
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. TransProjectSPK
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) 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
NO
Tabel 4.37 Tabel Relasi Dasar TransProjectSPK
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. SPK
Atribut Deskripsi Tpe Data Nulls
SPK_ID Secara unik mengidentifikasi SPK
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
NO
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 DATETIME 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 SPK
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. SPKFile
Atribut Deskripsi Tipe Data Nulls
SPK_File Alamat file master SPK
VARCHAR(150) NO
SPK_ID Secara unik mengidentifikasi SPK
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
NO
219
ff = berisikan tahun invoice dibuat dalam format dua digit
SPK_File_Date Tanggal upload File SPK
DATETIME NO
Tabel 4.40 Tabel Relasi Dasar SPKFile
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 sub-kontraktor
VARCHAR(200) NO
Tabel 4.41 Tabel Relasi Dasar SubKon
Primary Key (SubKon_ID)
220
26. SubKonPhone
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik mengidentifikasi SubKon
VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
NO
Phone Nomor telepon sub-kontraktor
VARCHAR(20) YES
Tabel 4.42 Tabel Relasi Dasar SubKonPhone
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) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan subkon
NO
Fax Nomor fax sub-kontraktor
VARCHAR(20) YES
Tabel 4.43 Tabel Relasi Dasar SubKonFax
Primary Key (SubKon_ID, Fax)
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 sub-kontraktor
VARCHAR(100) YES
Tabel 4.44 Tabel Relasi Dasar SubKonEmail
Primary Key (SubKon_ID, Email)
Foreign Key SubKon_ID references SubKon (SubKon_ID) ON UPDATE
CASACADE ON DELETE CASCADE
29. SubKonEMP
Atribut Deskripsi Tipe Data Nulls
SubKon_ID Secara unik mengidentifikasi SubKon
VARCHAR(10) aaa-bbbb aaa = berisikan SUB bbbb = berisikan inisial perusahaan
NO
222
subkon
SubKon_EMP_Name Nama karyawan yang bekerja pada sub-kontraktor
VARCHAR(50) NO
Tabel 4.45 Tabel Relasi Dasar SubKonEMP
Primary Key (SubKon_ID, SubKon_EMP_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) Memasukkan data PO
b) Mengubah PO
c) Memasukkan data BOQ
d) Mengubah data BOQ
e) Mengeluarkan SPK
f) Mengubah SPK
g) Membuat Invoice
h) Mengubah Invoice
i) Melakukan koordinasi
j) Memasukkan data Client
k) Mengubah data Client
l) Memasukkan data SubKon
m) Mengubah data SubKon
n) Memasukkan data Employee
227
o) Mengubah data Employee
Tabel Analisis Transaksi ( 1 )
A
B
C
D
Transaksi
Relasi
I
R
U
D
I
R
U
D
I
R
U
D
I
R
U
D
BOQ X X
BOQFile X X
Client
ClientPhone
ClientFax
ClientEmail
Employee X X X X
EmployeeEmail
EmployeePhone
Invoice
InvoiceFile
InvoiceDescription
Material
MaterialType
Message
PO X X
PositionEMP
228
Progress
Project
Site
SPK
SPKFile
SubKon
SubKonPhone
SubKonFax
SubKonEmail
SubKonEMP
Tabel 4.48 Tabel Analisis Transaksi (1)
Keterangan :
a) Memasukkan data PO
b) Mengubah PO
c) Memasukkan data BOQ
d) Mengubah data BOQ
Tabel Analisis Transaksi ( 2 )
E
F
G
H
Transaksi
Relasi
I
R
U
D
I
R
U
D
I
R
U
D
I
R
U
D
BOQ
229
BOQFile
Client
ClientPhone
ClientFax
ClientEmail
Employee X X X X
EmployeeEmail
EmployeePhone
Invoice X X
InvoiceFile X X
InvoiceDescription X X
Material
MaterialType
Message
PO
PositionEMP
Progress
Project
Site
SPK X X
SPKFile X X
SubKon
230
SubKonPhone
SubKonFax
SubKonEmail
SubKonEMP
Tabel 4.49 Tabel Analisis Transaksi (2)
Keterangan :
e) Mengeluarkan SPK
f) Mengubah SPK
g) Membuat Invoice
h) Mengubah Invoice
Tabel Analisis Transaksi (3)
I
J
K
L
Transaksi
Relasi
I
R
U
D
I
R
U
D
I
R
U
D
I
R
U
D
BOQ
BOQFile
Client X X
ClientPhone X X
ClientFax X X
ClientEmail X X
231
Employee X X X X
EmployeeEmail
EmployeePhone
Invoice
InvoiceFile
InvoiceDescription
Material
MaterialType
Message X X X X
PO
PositionEMP
Progress
Project
Site
SPK
SPKFile
SubKon X
SubKonPhone X
SubKonFax X
SubKonEmail X
SubKonEMP X
Tabel 4.50 Tabel Analisis Transaksi (3)
232
Keterangan :
i) Melakukan koordinasi
j) Memasukkan data Client
k) Mengubah data Client
l) Memasukkan data SubKon
Tabel Analisis Transaksi( 4 )
M
N
O
Transaksi
Relasi
I
R
U
D
I
R
U
D
I
R
U
D
BOQ
BOQFile
Client
ClientPhone
ClientFax
ClientEmail
Employee X X X X
EmployeeEmail X X
EmployeePhone X X
Invoice
InvoiceFile
InvoiceDescription
233
Material
MaterialType
Message
PO
PositionEMP
Progress
Project
Site
SPK
SPKFile
SubKon X
SubKonPhone X
SubKonFax X
SubKonEmail X
SubKonEMP X
Tabel 4.49 Tabel Analisis Transaksi (4)
Keterangan :
m) Mengubah data SubKon
n) Memasukkan data Employee
o) Mengubah 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
Material Material_ID(Primary Index) Material_Name(Secondary Index)
Idx_Material_ID Idx_Material_Name
MaterialType Type (Primary Index) Material_ID(Secondary Index)
Idx_Type Idx_Material_ID
Message Message_ID (Primary Index) Content (Secondary Index)
Idx_Message_ID Idx_Content
PO PO_ID(Primary Index) Contract(Secondary Index)
Idx_PO_ID Idx_Contract
PositionEMP Employee_Name (Primary Index) Position (Secondary Index)
Idx_Employee_Name Idx_Positon
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
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
SubKonEMP SubKon_EMP_Name(Primary Index) SubKon_ID(Secondary Index)
Idx_SubKon_EMP_ 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 DATETIME 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 Type Ukuran
BOQ_ID VARCHAR(50) 51 bytes
238
BOQ_File VARCHAR(150) 151 bytes
BOQ_File_Date DATETIME 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
Material_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 tabel ClientPhone adalah sebanyak 6 pengajuan
ClientPhone pertahun. Total perkembangan 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 DATETIME 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 DATETIME 8 bytes
Invoice_Due_Date DATETIME 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 DATETIME 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
Material_ID VARCHAR(10) 11 bytes
Material_Name VARCHAR(50) 51 bytes
QTY INT(3) 4 bytes
Tabel 4.66 Tabel Perhitungan Material
Total kebutuhan memory maksimal tabel Material adalah sebesar 66
bytes. Jumlah data pada tabel Material masih kosong. Asumsi
perkembangan tabel Material adalah sebanyak 12 pengajuan Material
pertahun . Total perkembangan memory maksimal Material sebesar 66
bytes *12*12 = 9,504 Kbytes.
Perhitungan Tabel MaterialType
Nama Field Type Ukuran
Type VARCHAR(50) 51 bytes
Tabel 4.67 Tabel Perhitungan MaterialType
Total kebutuhan memory maksimal tabel MaterialType adalah
sebesar 51 Bytes. Jumlah data pada tabel MaterialType masih kosong.
Asumsi perkembangan tabel MaterialType adalah sebanyak 12 pengajuan
246
MaterialType pertahun . Total perkembangan memory maksimal
MaterialType sebesar 51 bytes *12 *12= 7,344 Kbytes.
Perhitungan Tabel Message
Nama Field Type Ukuran
Message_ID VARCHAR(25) 26 bytes
Employee_ID VARCHAR(10) 11 bytes
Message_Date DATETIME 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 DATETIME 8 bytes
PO_Date_Printed DATETIME 8 bytes
Contract VARCHAR(50) 51 bytes
TO_Payment VARCHAR(100) 101 bytes
Start_Date DATETIME 8 bytes
Finish_Date DATETIME 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 Tipe Data Ukuran
Activity VARCHAR(50) 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 Tipe Data Ukuran
Position VARCHAR(25) 26 bytes
Tabel 4.71 Tabel Perhitungan Position EMP
Total kebutuhan memory maksimal tabel positionEMP adalah
sebesar 0,026 Kbytes. Jumlah data pada tabel positionEMP masih
kosong. Asumsi perkembangan tabel positionEMP adalah sebanyak 12
pengajuan positionEMP pertahun . Total perkembangan memory
maksimal positionEMP 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 DATETIME 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 SPK
Atribut Tipe Data Ukuran
SPK_ID VARCHAR(50) 51 bytes
SPK_Date DATETIME 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 SPK
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 SPKFile
Atribut Tipe Data Ukuran
SPK_ID VARCHAR(50) 51 bytes
SPK_File VARCHAR(150) 151 bytes
SPK_File_Date DATETIME 8 bytes
Tabel 4.75 Tabel Perhitungan SPKFile
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 SubKon
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 SubKonPhone
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 SubKonEmail
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 SubKonFax
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 SubEMP
Atribut Tipe Data Multi Valued
SubKon_ID VARCHAR(10) 11 bytes
SubKon_EMP_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 Tipe Data Multi Valued
Progress_ID VARCHAR(10) 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 8,928
Client 16,992
ClientPhone 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
Material 9,504
MaterialType 7,344
Message 9282,096
PO 69,840
PositionEMP 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
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 dan menganalisis langkah dari
relasional database lifecycle.
SubKonEMP 8,928
TransProjectProgress 5,256
TransProjectInvoice 5,256
TransProjectBOQ 5,256
Total 10,013,256
259
Nama View Table Field
BOQ BOQ_ID, Employee_ID, BOQ_Date, Tower, Wide_Area,
Wide_Site, Price, Revision, Information
BOQFile BOQ_File_Date, Shop_Drawing_File
View BOQ
BOQDetail Material_ID
Client Client_ID, Client_Name, Address
ClientPhone Phone
ClientFax Fax
View Client
ClientEmail Email
Employee
Employee_ID, Password, Employee_Name, Gender,
Enter_Date, Addresss, Image, Status
EmployeePhone Phone
EmployeeEmail Email
View Employee
PositionEMP 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
View Invoice
Client Client_Name
Material
Material_ID, Material_Name, QTY, Type
Site_ID,Ttk_Koor_N,Ttk_Koor_E,PO_ID,Employee_ID,BOQ_ID,Site_Name,Project_Name, Area, Address,
260
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
Project Province, SOW, QTY, Price, Information
PO PO_Name
Client Client_Name
Employee Employee_Name
View Project
SPK SubKon_Name
SPK
SPK_ID,SubKon_ID, Employee_ID, SPK_Date,Job,Specification,TO_Im
plement, Pay_System,Price, Representative, Revision,
Information
View SPK
SPKFile SPK_File_Date
SubKon SubKon_ID, SubKon_Name, Address
SubKonEmail Email
SubKonFax Fax
SubKonPhone Phone
View SubKon
SubKonEMP SubKon_EMP_Name
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 Struktur Menu
HOME
HOME Task Profile Report Message Log Out Manage
MAIN View Profile PO Report Client
SPK
BOQ
Report PO
Report Employee Change Profile
Manage Client
Report SPK
Report BOQ
Message
Write Message
Change Password
Report Invoice
Report Project
Progress
Manage Employee
Manage SubKon
Out
262
263
4.2.2 State Transition Diagram
Masukkan username & password tampilkan layar menu awal
Gambar 4.17 STD Struktur Menu Utama
Layar login
HOME
Klik “Logout” kembali ke layar login
Klik “Home” kembali ke Home
Profile Report Task Message Manage Logout
Klik “Profile” Tampilkan layar Profile
Klik “Report” Tampilkan layar Report
Klik “Task” Tampilkan layar Task
Klik “Message” Tampilkan layar Message
Klik “Manage” Tampilkan layar Manage
Klik “Logout” Tampilkan layar Logout
264
STD Menu Profile
Gambar 4.18 Gambar STD Menu Profile
Klik “Profile” Kembali ke menu Profile
Profile
Klik “Profile” Tampilkan Lihat Profile Profile
Change Pofile Klik “ Change Profile”
Tampilkan Change Profile
Change Password Klik “Change Password”
Tampilkan Change Password
265
STD Menu Report
Gambar 4.19 Gambar STD Menu Report
Report
Klik “Client” Tampilkan Client Client
Employee Klik “Employee”
Tampilkan Employee
PO Klik “PO”
Tampilkan PO
BOQ Klik “BOQ”
Tampilkan BOQ
SPK Klik “SPK”
Tampilkan SPK
Invoice Klik “Invoice”
Tampilkan Invoice
Project Klik “Project”
Tampilkan Project
Klik “Report” Kembali ke menu Report
266
STD Menu Task
Gambar 4.20 Gambar STD Menu Task
Klik “Task” Kembali ke menu Task
Task
Klik “Task PO” Tampilkan Task PO Task PO
Task BOQ Klik “Task BOQ”
Tampilkan Task BOQ
Task SPK Klik “Task SPK”
Tampilkan Task SPK
Task Progress Klik “Task Progress”
Tampilkan Task Progress
267
STD Menu Message
Gambar 4.21 Gambar STD Menu Message
Message
Klik “Write message” Tampilkan Write message Write message
Message Klik “Message”
Tampilkan Message
Klik menu “Message” Kembali ke menu Message
268
STD Menu Manage
Gambar 4.22 Gambar STD Menu Manage
Klik menu “Manage” Kembali ke menu Manage
Manage
Klik “Manage Client” Tampilkan Manage Client Manage Client
Manage Employee K
Klik “Manage Employee” Tampilkan Manage Employee
Manage Material
Klik “Manage Material” Tampilkan Manage Material
Manage SubKon Klik “Manage SubKon”
Tampilkan Manage SubKon
269
4.2.3 Perancangan Layar
1. Rancangan Halaman Login
Gambar 4.23 Gambar Rancangan Halaman Login
Username
Masuk
Password
LOGO
270
2. Rancangan Halaman Utama
Logout
Gambar 4.24 Gambar Rancangan Halaman Menu Utama
LOGO
Home
Profile
Report
Task
Message
Manage
User Date
Pesan
Halaman Utama
271
3. Rancangan Halaman My Profile
- My Profile
- Change Profile
- Change Password
Logout
LOGO
Home
Profile
Report
Task
Message
Manage
User Date
My Profile
Name :
Gender :
Phone :
Address :
Email :
Position :
Enter Date :
Photo
272
Gambar 4.25 Gambar Halaman Rancangan My Profile
4. Rancangan Halaman Change Profile
- My Profile
- Change Profile
- Change Password
Logout
Gambar 4.26 Gambar Rancangan Halaman Change Profile
LOGO
Home
Profile
Report
Task
Message
Manage
User Date
Change Profile
Name :
Gender : Male Female
Phone :
Address :
Email :
Photo
273
5. Rancangan Halaman Change Password
- My Profile
- Change Profile
- Change Password
Logout
Gambar 4.27 Gambar Rancangan Halaman Change Password
LOGO
Home
Profile
Report
Task
Message
Manage
User Date
Change Password
Username :
Old Password :
New Password :
Re-enter Password :
Submit
274
6. Rancangan Report Client
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.28 Gambar Rancangan Halaman Report Client
LOGO
Home
Profile
Report
Task
Message
Manage
User Date
List Client
NO ID NAMA
275
7. Rancangan Halaman Report Employee
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.29 Gambar Rancangan Halaman Report Employee
LOGO
Home
Profile
Report
Task
Message
Manage
User Date
NO ID NAMA Position
List Employee
276
8. Rancangan Halaman Report PO
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.30 Gambar Rancangan Halaman Report PO
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
List Purchase Order
NO ID NAME CLIENT DATE
277
9. Rancangan Halaman Report BOQ
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.31 Gambar Rancangan Halaman Report BOQ
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
List BOQ
NO NAMA SITE DATE
278
10. Rancangan Halaman Report SPK
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.32 Gambar Rancangan Halaman Report SPK
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
DAFTAR SPK
NO ID SUBKONTRAKTOR
279
11. Rancangan Halaman Report Invoice
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.33 Gambar Rancangan Halaman Report Invoice
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
DAFTAR INVOICE
NO ID CLIENT
280
12. Rancangan Halaman Report Project
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.34 Gambar Rancangan Halaman Report Project
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
LIST PROJECT
NO SITE SoW
281
13. Rancangan Halaman Report Material
-Report Client
-Report Employee
-Report PO
-Report BOQ
- Report SPK
- Report Invoice
- Report Project
- Report Material
Logout
Gambar 4.35 Gambar Rancangan Halaman Report Material
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
List Material
NO Material Type
282
14. Rancangan Halaman Task Purchase order
-Purchasing Order
-BOQ
-Invoice
-Progress
-SPK
Logout
Gambar 4.36 Gambar Rancangan Halaman Purchase Order
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
PURCHASE ORDER PO_ID
Submit
Da
Mont
Purchasing Order :
Client :
Finish Date :
Information :
Start Date :
Term of Payment :
Date Printed :
Contract :
Da Mont Ye
Da Year
Mont Yea
283
15. Rancangan Halaman Task BOQ
-Purchasing Order
-BOQ
-Invoice
-Progress
-SPK
Logout
Gambar 4.37 Gambar Rancangan Halaman Bill Of Quantity
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Create Bill of Quantity BOQ_ID
Submit
Site :
Tower :
Price Calc :
Information :
Wide Site :
BOQ File :
Shop Drawing :
Wide Area :
Brows
Brows
284
16. Rancangan Halaman Task Invoice
-Purchasing Order
-BOQ
-Invoice
-Progress
-SPK
Logout
Gambar 4.38 Gambar Rancangan Halaman Invoice
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
PURCHASE ORDER PO_ID
Submit
Da
Mont
Purchasing Order :
Client :
Finish Date :
Information :
Start Date :
Term of Payment :
Date Printed :
Contract :
Da Mont Ye
Da Year
Mont Yea
285
17. Rancangan Halaman Task Progress
-Purchasing Order
-BOQ
-Invoice
-Progress
-SPK
Logout
Gambar 4.39 Gambar Rancangan Task Progress
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Create Progress
Submit
-Choose-
N :
Site :
T itik Koordinat :
E :
286
18. Rancangan Halaman Task SPK
-Purchasing Order
-BOQ
-Invoice
-Progress
-SPK
Logout
Gambar 4.40 Gambar Rancangan Task SPK
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
SPK SPK_ID
Client
SubKon Employee
SOW
File Browse
Job :
Spesification :
Term of Implementation :
System Payment :
Price :
Information
287
19. Rancangan Halaman Inbox
- Inbox
-Create Message
Logout
Gambar 4.41 Gambar Rancangan Inbox
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
INBOX
STATUS SENDER SUBJECT DATE
DELET
288
20. Rancangan Halaman Create Message
- Inbox
-Create Message
Logout
Gambar 4.42 Gambar Rancangan Create Message
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Brows
SEND
CREATE MESSAGE
From :
To :
Subject :
Attach File :
289
21. Rancangan Halaman Manage Site
- Manage Site
- Manage SubKon
- Manage Client
- Manage Employee
Logout
Gambar 4.43 Gambar Rancangan Manage Site
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Add Site Site List
MANAGE SITE
Submit
Site ID : Remove
Site Name :
Area : Province :
Address :
290
22. Rancangan Halaman Manage SubKon
- Manage Site
- Manage SubKon
- Manage Client
- Manage Employee
Logout
Gambar 4.44 Gambar Rancangan Manage SubKon
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Update SubKon
Submit
SubKon ID :
Name :
Phone : Fax: :
Address :
Email :
Add NEW
291
23. Rancangan Halaman Manage Client
- Manage Site
- Manage SubKon
- Manage Client
- Manage Employee
Logout
Gambar 4.45 Gambar Rancangan Manage Client
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Update Client
Submit
Client ID :
Name :
Phone : Fax: :
Address :
Email :
Add NEW
292
24. Rancangan Halaman Manage Employee
- Manage Site
- Manage SubKon
- Manage Client
- Manage Employee
Logout
Gambar 4.46 Gambar Rancangan Manage Employee
Home
Profile
Report
Task
Message
Manage
User Date
LOGO
Add Employee
Submit
Employee ID :
Name :
Gender : Position :
Add NEW
Male Female --Choose--
Enter Date : -Day- --Month-- --Year--
293
4.2.5 Spesifikasi Proses
Spesifikasi proses merupakan penjabaran langkah-
langkah yang terstruktur pada tiap modul yang ada. Penjabaran
langkah-langkah tersebut disusun menggunakan pseudocode.
Modul User Login
Modul user login
Masukkan username
Masukkan password
Tekan login
Akhir Modul
Modul Tekan Login
Modul 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
Modul Halaman Utama
Menampilkan pilihan ”Menu Awal”
Menampilkan pilihan ”Profile”
Menampilkan pilihan ”Report”
Menampilkan pilihan ”Task”
Menampilkan pilihan ”Message”
Menampilkan pilihan ”Manage”
Menampilkan pilihan ”Log Out”
Akhir Modul
295
Modul Pilihan Menu Awal
Modul Menu Awal
Menampilkan Employee_Name
Menampilkan Tanggal
Menampilkan pilihan ”Message”
Menampilkan Tanggal
Akhir Modul
Modul Lihat Message
Modul Lihat Message
Menampilkan Sender
Menampilkan Subject
Menampilkan Status
Menampilkan Date
Akhir modul
296
Modul Pilihan Profile
Modul Pilihan Profile
Menampilkan pilihan ”My Profile”
Menampilkan pilihan ”Change Profile”
Menampilkan pilihan ”Change Password”
Akhir Modul
Modul Pilihan My Profile
Modul Pilihan My Profile
Menampilkan Name
Menampilkan Gender
Menampilkan Phone
Menampilkan Address
Menampilkan Email
Menampilkan Position
Menampilkan Enter Date
297
Menampilkan Photo
Akhir modul
Modul Pilihan Change Profile
Modul Pilihan Change Profile
Menampilkan Name
Menampilkan pilihan ”Gender”
Menampilkan pilihan” Phone”
Menampilkan Address
Menampilkan pilihan ”Email”
Menampilkan Position
Menampilkan Enter Date
Menampilkan pilihan ”Photo”
Lakukan : Submit
Akhir modul
298
Modul Pilihan Gender
Modul Pilihan Gender
Jika dan hanya jika pemilihan Gender adalah male
Tampilkan Male untuk mengisi Gender
Lainnya
Tampilkan Female untuk mengisi Gender
Akhir modul
Modul Pilihan Phone
Modul 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
Modul Pilihan Email
Jika dan hanya jika menambahkan Email
Tampilkan tempat untuk Email baru
Lainnya menghapus Email
Hapus Email
Akhir modul
Modul Pilihan Photo
Modul 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
Modul 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
Modul pilihan Change Password
Menampilkan Username
Masukkan Password lama
Masukkan Password baru
Masukkan konfirmasi Password
Lakukan : submit atau reset
301
Akhir modul
Modul Pilihan Submit
Modul 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
Modul Pilihan Reset
Reset Change Profile
Akhir modul
302
Modul Pilihan Report
Modul Pilihan Report
Menampilkan pilihan ”Report BOQ”
Menampilkan pilihan ”Report Client”
Menampilkan pilihan ”Report Employee”
Menampilkan pilihan ”Report Invoice”
Menampilkan pilihan ”Report PO”
Menampilkan pilihan ”Report Project”
Menampilkan pilihan ”Report SPK”
Akhir modul
Modul Pilihan Report BOQ
Modul Pilihan Report BOQ
Menampilkan BOQ Id
Menampilkan BOQ Name
303
Akhir modul
Modul Pilihan Report Client
Modul Pilihan Report Client
Menampilkan Id Client
Menampilkan Client Name
Akhir modul
Modul Pilihan Report Employee
Modul Pilihan Report Employee
Menampilkan Id Employee
Menampilkan Employee Name
Menampilkan Position
Akhir modul
Modul Pilihan Report Invoice
Modul Pilihan Report Invoice
304
Menampilkan Invoice Id
Menampilkan Invoice Name
Akhir modul
Modul Pilihan Report PO
Modul Pilihan Report PO
Menampilkan PO Id
Menampilkan Client Name
Menampilkan Position
Akhir modul
Modul Pilihan Report Project
Modul Pilihan Report Project
Menampilkan Project Id
Menampilkan Project Name
Akhir modul
305
Modul Pilihan Report SPK
Modul Pilihan Report SPK
Menampilkan SPK Id
Menampilkan SubKon Name
Akhir modul
Modul Pilihan Task
Modul pilihan Task
Menampilkan Pilihan ”Purchase Order”
Menampilkan Pilihan ”SPK”
Akhir modul
Modul Pilihan Task Purchase Order
Modul Pilihan Purchase Order
306
Menampilkan Client
Menampilkan PO Name
Menampilkan Date Printed
Menampilkan Term Of Payment
Menampilkan Start Date
Menampilkan Information
Menampilkan File Purchase Order
Menampilkan Project
Lakukan : Submit atau Reset
Akhir modul
Modul Pilihan Submit
Modul 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
Menuju halaman Insert Project
Akhir modul
Modul Pilihan Reset
Modul Pilihan Reset
Reset Purchase Order
Akhir modul
Modul Pilihan Task SPK
Modul Pilihan SPK
Menampilkan Pilihan SubKon
Menampilkan Pilihan Site
Akhir modul
308
Modul Pilihan SubKon dan Pilhan Site
Modul Pilihan SubKon dan Pilihan Site
Menampilkan Purchase Order
Menampilakan Client Term of Payment
Menampilkan Date Printed
Menampilkan Information
Menampilkan Contract
Menampilkan Start Date
Menampilkan Finish Date
Akhir Modul
Modul Pilihan Message
Modul Pilihan Task SPK
Menampilkan Pilihan Inbox
309
Menampilkan Pilhan Create Message
Akhir Modul
Modul Pilihan Inbox
Modul Pilihan Inbox
Menampilkan Status
Menampilkan Sender
Menampilkan Subject
Menampilkan Date
Lakukan : Delete
Akhir Modul
Modul Pilihan Delete
Modul Pilihan Delete
Melakukan Delete
Akhir Modul
310
Modul Pilihan Create Message
Modul Pilihan Create Message
Menampilkan From
Menampilkan To
Menampilkan Subject
Menampilkan Attach File
Menampilkan Send
Akhir Modul
Modul Pilihan Attach File
Modul Pilihan Attach File
Melakukan Attach File
Akhir Modul
Modul Pilihan Manage Site
Modul Pilihan Manage Site
311
Menampilkan Add Site
Menampilkan Site ID
Menampilkan Site Name
Menampilkan Area
Menampilkan Province
Menampilkan Address
Lakukan : Submit
Akhir Modul
Modul Pilihan Add Site
Modul Pilihan Add Site
Menambahkan Site
Menampilkan Site ID
Menampilkan Site Name
Menampilkan Area
Menampilkan Province
312
Menampilkan Address
Akhir Modul
Modul Pilihan Remove
Modul Pilihan Remove
Melakukan Remove terhadap
Menampilkan Site Name
Menampilkan Area
Menampilkan Province
Menampilkan Address
Akhir Modul
Modul Pilihan Site List
Modul Pilihan Site List
Menampilkan Pilihan Site
Akhir Modul
Modul Pilihan Manage Client
313
Modul Pilihan Manage Client
Menampilkan Client ID
Menampilkan Name
Menampilkan Phone
Menampilkan Fax
Menampilkan Address
Menampilkan Email
Lakukan : Submit atau Reset
Menampilkan pilihan update
Akhir Modul
Modul Pilihan Update Client
Modul Pilihan Update Client
Menampilkan Client ID
Menampilkan Name
Menampilkan Phone
314
Menampilkan Fax
Menampilkan Address
Menampilkan Email
Lakukan : Submit atau Reset
Akhir Modul
Modul Pilihan Manage Employee
Modul Pilihan Manage Employee
Menampilkan Employee ID
Menampilkan Name
Menampilkan Gender
Menampilkan Phone
Menampilkan Address
Menampilkan Email
Menampilkan Position
Menampilkan Enter Date
315
Lakukan : Submit atau Reset
Menampilkan Pilihan Update Employee
Akhir Modul
Modul Pilihan Update Employee
Modul Pilihan Manage Employee
Menampilkan Employee ID
Menampilkan Name
Menampilkan Gender
Menampilkan Phone
Menampilkan Address
Menampilkan Email
Menampilkan Position
Menampilkan Enter Date
Lakukan : Submit atau Reset
Akhir Modul
316
Modul Pilihan Manage Material
Modul Pilihan Manage Material
Menampilkan Material ID
Menampilkan Name
Menampilkan Material Type
Menampilkan QTY
Akhir Modul
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
Tabel 4.86 Tabel Jadwal Perancangan Sistem Basis Data dan Aplikasi
MINGGU KE - Nama Kegiatan
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Analisis Kebutuhan
Pengumpulan Data
Usulan Perancangan
Tabel
Usulan Perancangan
Program
Demo Program dengan
Perubahan bila ada suatu
usulan
Tanggapan terhadap hasil
program
318
4.3.2 Spesifikasi 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
• Microsoft™ Internet Information Server 5.0
2. Kebutuhan untuk client :
• Processor Intel, Intel™ Pentium II atau yang lebih
cepat
• 512 Megabyte RAM
• Harddisk
• Modem 56 Kbps atau yang lebih cepat
319
• Monitor SVGA
• Sistem operasi Microsoft™ XP
• Internet Explorer 6 atau yang lebih baru
3. Kebutuhan untuk Software(S/W) :
• Macromadia Dreamweaver 8
• XAMPP 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.
• Membantu 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.
Menu 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. Menu Change Profile ini akan muncul pada masing-
masing layar kerja employee.
324
Gambar 4.51 Gambar Halaman Change Password
Halaman ini adalah halaman change password yang berisi password masing-
masing user yang dapat di ubah oleh user itu sendiri. Menu 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 SubKon
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 SPK
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.