• Tidak ada hasil yang ditemukan

BAB 4 PERANCANGAN SISTEM YANG DIUSULKAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 4 PERANCANGAN SISTEM YANG DIUSULKAN"

Copied!
254
0
0

Teks penuh

(1)

79

PERANCANGAN S IS TEM YANG DIUS ULKAN

4.1 Perancangan Basis Data

Berdasarkan analissis sistem yang berjalan pada PT. Trimitra Bangun Jagad maka akan dirancang basis data sesuai kebutuhan perusahaan. Perancangan Basis data yang dilakukan pada PT. Trimitra Bangun Jagad, dibagi dalam 3 tahapan, yaitu:

1. Perancangan Basis Data Konseptual (conceptual database design)

2. Perancangan Basis Data Logikal (logical database design)

3. Perancanagn Basis Data Fisikal (physical database design)

4.1.1 Perancangan Basis Data Konseptual

Perancangan Basis Data Konseptual merupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan. Beberapa langkah penting dalam merancang basis data secara konseptual adalah:

1. M engidentifikasi Tipe-tipe Entitas 2. M engidentifikasi Tipe-tipe Relationship 3. M engidentifikasi Atribut

(2)

5. M enentukan Candidatekeys dan Primary key 6. Pertimbangkan penggunaan EERD

7. Cek M odel Terhadap Redudansi

8. Validasi M odel Konseptual Dengan Transaksi User

4.1.1.1 Mengidentifikasi Tipe-tipe Entitas

Tahapan ini adalah untuk menentukan tipe entitas utama yang dibutuhkan. M enentukan entitas dapat dilakukan dengan memeriksa spesifikasi kebutuhan pengguna. Entitas yang dihasilkan adalah sebagai berikut:

Nama

Entitas Deskripsi Alias

Kejadian (Occurrence)

BOQ

Informasi mengenai rincian biaya suatu proyek yang akan dikerjaan

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

M aterial

Informasi mengenai barang-barang yang dibutuhkan dalam proyek pada

PT.Trimitra Bangun Jagad

Material

Setiap barang-barang yang dibutuhkan dalam pengerjaan proyek M essage Informasi yang berisi pesan

yang dikirimkan antar

Pesan yang digunakan

Setiap pesan yang

(3)

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:

(4)

Nama Entitas Multiplicity Relationship Nama Entitas Multiplicity 0..* M emiliki M aterial 0..* BOQ 1..* M enyertai Project 1..* Client 1..1 M engajukan PO 1..* 1..1 M emproses BOQ 0..* 1..1 M emproses Invoice 0..* 1..1 M enerima M essage 0..* 1..1 M emproses PO 0..* 1..1 M emproses Project 0..* Employee 1..1 M emproses SPK 0..*

Invoice 1..* M enyertai Project 1..*

PO 1..1 M emiliki Project 1..* Project 1..* M emiliki Progress 1..*

SPK 1..* M enyertai Project 1..*

SubKon 1..1 M enerima SPK 1..*

Tabel 4.2 Tabel Hubungan Antar Entitas

Berdasarkan hubungan antar entitas diatas, dapat dibuat Entity Relationship Diageam (ERD) sebagai berikut:

(5)
(6)

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 DATETIM E NO NO Tower Tipe tower yang dibangun VARCHAR(50) NO NO

Wide_Area Luas lahan VARCHAR(50) NO NO

Wide_Site Luas Site VARCHAR(50) NO NO

Price Biaya perhitungan BOQ suatu proyek

BIGINT(15) NO NO

File YES

BOQ_File_ Date Tanggal upload file BOQ DATETIM E NO NO BOQ_File Alamat master file BOQ VARCHAR(150) NO NO Shop_Drawing_

File

Alamat master file shop drawing

VARCHAR(150) YES NO Revision Keterangan revisi BOQ INT(4) NO NO Information Keterangan tentang BOQ LONGTEXT YES NO

(7)

Client

Atribut Deskripsi Tpe Data Nulls Multi

Valued Client_ID Secara unik

mengidentifikasi msClient

VARCHAR(10) NO NO Client_Name Nama klien pada PT.

Trimtra Bangun Jagad

VARCHAR(50) NO NO Address Alamat tempat klien berada VARCHAR(200) YES NO Phone Nomor telepon klien VARCHAR(20) YES YES

Fax Nomor fax klien VARCHAR(20) YES YES

Email Alamat email klien VARCHAR(100) YES YES Tabel 4.4 Tabel Atribut Entitas Client

Employee

Atribut Deskripsi Tipe Data Nulls Multi

Valued Employee_ID Secara unik

mengidentifikasi Employee

VARCHAR(10) NO NO

Password Password untuk karyawan

VARCHAR(50) NO NO Employee_Name Nama karyawan dari PT.

Trimitra Bangun Jagad

VARCHAR(50) NO NO Position Posisi karyawan bekerja

pada PT. Trimitra Bangun Jagad

VARCHAR(50) NO NO

Gender Jenis kelamin dari karyawan

VARCHAR(10) NO NO Enter_Date Tanggal bergabung

dengan perusahaan

DATETIM E NO NO Address Alamat tempat tinggal VARCHAR(200) YES NO

(8)

karyawan

Phone Nomor telepon karyawan VARCHAR(20) YES YES Email Alamat email karyawan VARCHAR(100) YES YES Image Alamat file photo

karyawan

VARCHAR(150) YES NO Status Status dari karyawan VARCHAR(10) NO NO

Tabel 4.5 Tabel Atribut Entitas Employee

Invoice

Atribut Deskripsi Tpe Data Nulls Multi

Valued Invoice_ID Secara unik

mengidentifikasi Invoice

VARCHAR(50) NO NO

Invoice_Date Tanggal invoice diproses

DATETIM E NO NO

Invoice_Due_Date Tanggal jatuh tempo invoice

DATETIM E YES NO

Description YES

Description Deskripsi pekerjaan proyek

VARCHAR(500) NO NO

QTY Banyaknya unit INT(4) NO NO

Price Harga perunit BIGINT(15) NO NO

File YES

Invoice_File Alamat master file Invoice

VARCHAR(150) NO NO Invoice_File_Date Tanggal upload file

Invoice

DATETIM E NO NO Revision Keterangan revisi

invoice

(9)

Information Keterangan tentang invoice

LONGTEXT YES NO Tabel 4.6 Tabel Atribut Entitas Invoice

M aterial

Atribut Deskripsi Tpe Data Nulls Multi

Valued M aterial_ID Secara unik

mengidentifikasi M aterial

VARCHAR(10) NO NO M aterial_Name Nama material yang ada di

PT. Trimitra Bangun Jagad

VARCHAR(50) NO NO QTY Jumlah material yang

dimiliki

INT(4) NO NO

Type Jenis material VARCHAR(50) NO NO

Tabel 4.7 Tabel Atribut Entitas Material

M essage

Atribut Deskripsi Tpe Data Nulls Multi

Valued M essage_ID Secara unik

mengidentifikasi M essage

VARCHAR(25) NO NO M essage_Date Tanggal pesan dibuat DATETIM E NO NO

Subject Judul pesan VARCHAR(200) NO NO

Sender Nama sipengirim pesan VARCHAR(50) NO NO Content Isi dari pesan LONGTEXT NO NO File Alamat file yang disertakan VARCHAR(150) YES NO Status Status dari pesan VARCHAR(10) NO NO

(10)

PO

Atribut Deskripsi Tpe Data Nulls Multi

Valued

PO_ID Secara unik

mengidentifikasi PO

VARCHAR(50) NO NO PO_Name Nama proyek yang

tercantum di PO

VARCHAR(50) NO NO PO_Date Tanggal PO diproses DATETIM E NO NO PO_Date_Printed Tanggal yang tercantum di

PO

DATETIM E NO NO

Contract Reference dari proyek yang dikerjakan

VARCHAR(50) NO NO TO_Payment Batas waktu pembayaran VARCHAR(200) NO NO Start_Date Tanggal proyek dimulai DATETIM E NO NO Finish_Date Tanggal batas proyek

selesai

DATETIM E NO NO

PO_File Alamat master file PO VARCHAR(150) YES NO Status Status dari PO VARCHAR(10) NO NO Information Keterangan tentang PO LONGTEXT YES NO

Tabel 4.9 Tabel Atribut Entitas PO

Progress

Atribut Deskripsi Tpe Data Nulls Multi

Valued Activity M erupakan kegiatan

dalam melaksanakan proyek

VARCHAR(50) NO NO

Start_Date_P Rencana tanggal mulai DATETIM E YES NO Finish_Date_P Rencana tanggal

selesai

(11)

Start_Date_A Atual tanggal selesai DATETIM E YES NO Finish_Date_A Aktual tanggal mulai DATETIM E YES NO

Percent Persentase INT(4) YES NO

Remark Penjelasan bila

dibutuhkan

LONGTEXT YES NO Tabel 4.10 Tabel Atribut Entitas Progress

Project

Atribut Deskripsi Tipe Data Nulls Multi

Valued

Site_ID Secara unik

mengidentifikasi Site

VARCHAR(30) NO NO Site_Name Nama Site VARCHAR(50) NO NO Project_Name Nama Project VARCHAR(50) NO NO Area Area tempat proyek

dilaksanakan

VARCHAR(50) NO NO

Address Alamat proyek

dilaksanakan

VARCHAR(200) YES NO Province Propinsi dari area

tersebut

VARCHAR(200) NO NO

SOW Ruang lingkup dari

proyek

VARCHAR(100) NO NO

QTY Banyaknya unit INT(4) NO NO

Price Harga perunit BIGINT(15) NO NO

Ttk_Koor_N Titik koordinat utara pada tempat proyek

DOUBLE YES NO

Ttk_Koor_E Titik koordinat timur pada tempat proyek

DOUBLE YES NO

Information Keterangan pada Project

LONGTEXT YES NO

(12)

SPK

Atribut Deskripsi Tpe Data Nulls Multi

Valued

SPK_ID Secara unik

mengidentifikasi SPK

VARCHAR(50) NO NO

SPK_Date Tanggal SPK diproses DATETIM E NO NO Job Nama pekerjaan yang

dikerjakan

VARCHAR(200) NO NO Specification Spesifik pekerjaan yang

dikerjakan

VARCHAR(200) NO NO TO_Implement Lama pengerjaan proyek VARCHAR(200) NO NO Pay_System Sistem pembayaran VARCHAR(200) NO NO

Price Biaya pembayaran BIGINT(15) NO NO

File YES

SPK_File Alamat file master SPK VARCHAR(150) NO NO SPK_File_Date Tanggal upload File

SPK

DATETIM E NO NO Representative Karyawan dari SubKon

yang akan menerima SPK

VARCHAR(50) NO NO

Revision Keterangan revisi SPK INT(4) NO NO Information Keterangan tentang SPK LONGTEXT YES NO

Tabel 4.12 Tabel Atribut Entitas S PK

SubKon

Atribut Deskripsi Tipe Data Nulls Multi

Valued

SubKon_ID Secara unik

mengidentifikasi SubKon

(13)

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_EM P_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

(14)

digit

Client_ID Client Client_ID VARCHAR(10) aaaaa

aaaaa = berisikan inisial dari klien

Employee_ID Employee Employee_ID VARCHAR(10) aaaa.bbbbb

aaaa = berisikan tahun bergabung

bbbbb = berisikan nomor urut

Invoice_ID Invoice Invoice_ID VARCHAR(50) aaaaa/bbbbb/ccc/ddd/ee aaaaa = berisikan nomer urut

bbbbb = berisikan kode klien

ccc = berisikan TBJ singkatan dari nama perusahaan

ddd = berisikan bulan invoice dibuat dalam romawi

ee = berisikan tahun invoice dibuat dalam format dua digit

M aterial_ID M aterial M aterial_ID VARCHAR(10) aaabbbbbbb

aaa = berisikan M TR merupakan singkatan dari material

bbbbbbb = berisikan nomor urut

M essage_ID M essage M essage_ID VARCHAR(25) aaaabbccddeeff-gggg aaaa = berisikan tahun bb = berisikan bulan cc = berisikan tanggal dd = berisikan jam ee = berisikan menit ff = berisikan detik gggg = berisikan id

(15)

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

(16)

M aterial M aterial_Name VARCHAR(50)

M essage Sender VARCHAR(50)

PO PO_Name VARCHAR(50)

Project Project_Name VARCHAR(50) Project Site_Name VARCHAR(50) SPK Representative VARCHAR(50) SubKon SubKon_Name VARCHAR(50) SubKon SubKon_Emp_Name VARCHAR(50)

BOQ BOQ_Date DATETIM E

BOQ BOQ_File_ Date DATETIM E

Employee Enter_Date DATETIM E

Invoice Invoice_Date DATETIM E

Invoice Invoice_Due_Date DATETIM E Invoice Invoice_File_Date DATETIM E M essage M essage_Date DATETIM E

PO PO_Date DATETIM E

PO PO_Date_Printed DATETIM E

PO Start_Date DATETIM E

PO Finish_Date DATETIM E

Progress Start_Date_P DATETIM E Progress Finish_Date_P DATETIM E Progress Start_Date_A DATETIM E Progress Finish_Date_A DATETIM E

SPK SPK_Date DATETIM E

Date

(17)

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)

M essage 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

(18)

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)

Email

SubKon Email VARCHAR(100)

Password Employee Password VARCHAR(50)

Position Employee Position VARCHAR(50)

Gender Employee Gender VARCHAR(10)

Employee Status VARCHAR(10)

M essage Status VARCHAR(10)

Status

PO Status VARCHAR(10)

Description Invoice Description VARCHAR(500)

Invoice QTY INT(4)

M aterial QTY INT(4)

QTY

Project QTY INT(4)

Type M aterial Type VARCHAR(50)

Subject M essage Subject VARCHAR(200)

Content M essage Content LONGTEXT

(19)

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

(20)

Fax Email Employee Employee_ID Password Employee_Name Phone Email Employee_ID Invoice Invoice_ID Description Invoice_ID M aterial M aterial_ID M aterial_Name M aterial_ID M essage M essage_ID Content M essage_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 Email SubKon_ID

(21)

SubKon_M ember_Name

Tabel 4.15 Tabel Candidate Key dan Primary Key

Gambar 4.2 Entity Relationship Diagram (ERD) Model Data Konseptual dengan

(22)

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:

(23)

Gambar 4.3 Penggunaan Pathways untuk mengecek model konseptual yang mendukung transaksi user

(24)

Adapun beberapa transaksi-transaksi yang terjadi adalah sebagai berikut:

a. BOQ menyertai Project b. BOQ memiliki M aterial

c. Client mengajukan PO (Purchase Order) d. Employee memproses BOQ (Bill Of Quantity) e. Employee memproses Invoice

f. Employee menerima M essage

g. Employee memproses PO (Purchase Order) h. Employee menangani Project

i. Employee memproses SPK (Surat Penunjukan Kerja) j. Invoice menyertai Project

k. PO memiliki Project l. Project memiliki Progress m. SPK menyertai Project

(25)

4.1.2 Perancangan Basis Data Logikal

Perancangan Basis Data Logikal ini bertujuan untuk membangun sebuah model data logikal dari model data konseptual. Kemudia model data ini akan divalidasi dengan teknik normalisasi untuk meyakinkan bahwa strukturnya sudah benar dan juga model data ini benar-benar mendukung transaksi yang dibutuhkan.

Adapun langkah-langkah dalam tahapan ini adalah sebagai berikut:

1. Hilangkan Fitur-fitur yang Tidak Kompatibel 2. Bentuk Table atau Relasi untuk M odel Data Logikal 3. Validasi Relasi dengan Normalisasi

4. Validasi Relasi dengan Transaksi User 5. Tentukan Integrity Constraints

(26)

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.

(27)

Gambar 4.4 Hubungan BOQ memiliki Material

Hubungan SPK menyertai Project

(28)

Hubungan Invoice menyertai Project

Gambar 4.6 Hubungan Invoice menyertai Project

Hubungan Project memiliki Porgress

(29)

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.

(30)

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

(31)

Entitas Employee

Gambar 4.11 Menghilangkan multi-valued pada entitas Employee

Entitas Invoice

Gambar 4.12 Menghilangkan multi-valued pada entitas Invoice

Entitas S PK

Gambar 4.13 Menghilangkan multi-valued pada entitas S PK

(32)

Entitas S ubkon

Gambar 4.14 Menghilangkan multi-valued pada entitas Subkon

4.1.2.2 Bentuk Tabel atau Relasi untuk Model Data Logikal

Pada tahap ini dibuat hubungan logikal model yang mewakili entity, relationship dan atribut yang telah didefinisi. Langkah-langkahnya adalah :

4.1.2.2.1 Tipe Entitas Kuat

M embuat relasi yang mengandung semua atribut sederhana.

BOQ (BOQ_ID, BOQ_Date, Tower, Wide_Area, Wide_Site, Price, Revision, Information)

(33)

Client (Client_ID, Client_Name, Address) Primary Key Client_ID

Employee (Employee_ID, Password,

Employee_Name, Position, Gender, Enter_date, Address, Image, Status)

Primary Key Employee_ID

Invoice (Invoice_ID, Invoice_Date, Invoice_Due_Date, Revision, Information)

Primary Key Invoice_ID

Material (M aterial_ID, M aterial_Name, QTY, Type)

Primary Key M aterial_ID

Message (M essage_ID, M essage_Date, Subject, Sender, Content, File, Status)

Primary Key M essage_ID

PO (PO_ID, PO_Name, PO_Date, PO_Date_Printed, Contract, TO_Payment, Start_Date, Finish_Date, PO_File, Status, Information)

(34)

Progress (Activity) Primary Key Activity

Project (Site_ID, Site_Name, Project_Name, Area, Address, Province, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information)

Primary Key Site_ID, SOW

S PK (SPK_ID, SPK_Date, Job, Specification, TO_Implement, Pay_System, Price, Representative, Revision, Information)

Primary Key SPK_ID

SubKon (SubKon_ID, SubKon_Name, Address) Primary Key SubKon_ID

4.1.2.2.2 Tipe Entitas Lemah

M engidentifikasi relasi yang tidak dapat berdiri sendiri (bergantung pada entitas lain).

BOQDetail

(35)

TransProjectS PK

Primary Key tidak ada sampai saat ini

TransProjectInvoice

Primary Key tidak ada sampai saat ini

TransProjectProgress (Start_Date_P,

Finish_Date_P, Start_Date_A, Finish_Date_A, Percent, Remark)

Primary Key tidak ada sampai saat ini

TransProjectBOQ

Primary Key tidak ada sampai saat ini

BOQFile (BOQ_File, BOQ_File_Date, Shop_Drawing_File)

Primary Key tidak ada sampai saat ini

ClientPhone (Phone)

Primary Key tidak ada sampai saat ini ClientEmail (Email)

(36)

ClientFax (Fax)

Primary Key tidak ada sampai saat ini

EmployeePhone (Phone)

Primary Key tidak ada sampai saat ini

EmployeeEmail (Email)

Primary_Key tidak ada sampai saat ini

InvoiceDescription (Description, QTY, Price) Primary Key tidak ada sampai saat ini

InvoiceFile ( Invoice_File, Invoice_File_Date ) Primary key tidak ada sampai saat ini

S PKFile (SPK_File, SPK_File_Date) Primary key tidak ada sampai saat ini SubKonPhone (Phone)

Primary key tidak ada sampai saat ini

SubKonEmail (Email)

Primary key tidak ada sampai saat ini

SubKonFax (Fax)

(37)

SubKonEMP(SubKon_EM P_Name) Primary key tidak ada sampai saat ini

4.1.2.2.3 Tipe hubungan binary entitas one to many (1:*) Pada tahap ini entitas dengan multiplicity many (1..*) mendapat foreign key dari entitas dari

multiplicity one (1..1).

Hubungan BOQ Memiliki BOQFile

BOQ _ID di-post ke dalam BOQ File sebagai Foreign key

BOQ (BOQ_ID, BOQ_Date, Tower, 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,

(38)

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

(39)

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,

(40)

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)

(41)

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 (M essage_ID, Employee_ID, M essage_Date, Subject, Sender,

Content, File, Status) Primary Key M essage_ID

Foreign Key Employee_ID references Employee (Employee _ID)

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)

(42)

Hubungan Employee Memproses S PK

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

S PK (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

(43)

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)

(44)

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)

(45)

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 S PK Memiliki S PKFile

SPK_ID di-post ke dalam SPKFile sebagai Foreign key

S PK (SPK_ID, Employee_ID, SPK_Date, Job, Specification, TO_Implement,

Pay_System, Price, Representative,

S PKFile (SPK_File, SPK_ID, SPK_File_Date)

(46)

Revision, Information) Primary Key SPK_ID

Foreign Key Employee_ID references Employee (Employee _ID)

Foreign Key SPK_ID references SPK (SPK_ID)

Hubungan S ubKon Menerima S PK

SubKon_ID di-post ke dalam SPK sebagai Foreign key

SubKon (SubKon_ID, SubKon_Name, Address)

Primary Key SubKon_ID

S PK (SPK_ID, SubKon_ID, Employee_ID, SPK_Date, Job, Specification, TO_Implement, Pay_System, Price, Representative, Revision, Information)

Primary Key SPK_ID

Foreign Key SubKon_ID references SubKon (SubKon_ID)

Foreign Key Employee_ID references Employee (Employee _ID)

Hubungan S ubKon Memiliki S ubKonPhone

(47)

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 S ubKon Memiliki S ubKonFax

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 S ubKon Memiliki S ubKonEmail

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)

(48)

Hubungan S ubKon Memiliki S ubKonEMP SubKon_ID di-post ke dalam SubKonEMP sebagai Foreign key

SubKon (SubKon_ID, SubKon_Name, Address) Primary Key SubKon_ID

SubKonEMP (SubKon_ID, SubKon_EM P_Name) Primary Key SubKon_ID, SubKon_EM P_Name

Foreign Key SubKon_ID references SubKon (SubKon_ID)

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 (M aterial_ID, M aterial_Name, QTY, Type) Primary Key M aterial_ID

BOQDetail (BOQ_ID, M aterial_ID) Primary Key BOQ_ID, M aterial_ID

(49)

Foreign Key BOQ_ID references BOQ (BOQ_ID) Foreign Key M aterial_ID references M aterial (M aterial_ID)

BOQ _ID dan Material_ID di-post ke dalam BOQ Detail sebagai Foreign key, gabungan kedua atribut tersebut menjadi primary key

Hubungan S PK Menyertai TransProjectS PK Hubungan Project Memiliki TransProjectS PK S PK (SPK_ID, SubKon_ID, Employee_ID,

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)

TransProjectS PK (SPK_ID, Site_ID, SOW) Primary Key SPK_ID, Site_ID, SOW Foreign Key SPK_ID references SPK (SPK_ID) Foreign Key Site _ID references Project (Site_ID)

(50)

Foreign Key SOW references Project (SOW)

SPK_ID, Site_ID dan SOW di-post ke dalam TransProjectSPK sebag ai 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)

(51)

Invoice_ID, Site_ID dan SOW di-post ke dalam TransProjectInvoice sebag ai 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)

(52)

Activity, Site_ID dan SOW di-post ke dalam TransProjectProgress seb agai 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)

(53)

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 (M aterial_ID, M aterial_Name, Qty, Type)

(54)

Revision, Information) Primary Key BOQ_ID

Foreign key Employee_ID references Employee(Employee_ID)

Primary Key M aterial_ID

BOQDetail (BOQ_ID, M aterial_ID) Primary Key BOQ_ID, M aterial_ID Foreign key BOQ_ID references BOQ (BOQ_ID) Foreign key M aterial_ID references BOQ (M aterial_ID)

Hubungan many to many (*..*) pada S PK menyertai Project S PK (SPK_ID, SubKon_ID, Employee_ID,

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)

(55)

Foreign Key Employee_ID references Employee (Employee _ID)

TransProjectS PK (SPK_ID, Site_ID, SOW) Primary Key SPK_ID, Site_ID, SOW Foreign Key SPK_ID references SPK (SPK_ID) Foreign Key Site_ID references Project (Site_ID)

Foreign Key SOW references Project (SOW)

Hubungan many to many (*..*) pada Invoice menyertai Project Invoice (Invoice_ID, Employee_ID,

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)

(56)

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)

(57)

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)

(58)

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.

(59)

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 S ubKon Memiliki S ubKonEmail

(60)

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 S ubKon Memiliki S ubKonPhone

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 S ubKon Memiliki S ubKonFax

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

(61)

Hubungan S ubKon Memiliki S ubKonEMP

SubKon_ID di-post ke dalam SubKonEMP sebagai Foreign key

SubKon (SubKon_ID, SubKon_Name, Address)

Primary Key SubKon_ID

SubKonEMP (SubKon_ID, SubKon_EM P_Name) Primary Key SubKon_ID, SubKon_EM P_Name Foreign Key SubKon_ID

references SubKon (SubKon_ID)

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)

(62)

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

(63)

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

(64)

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 S PK Memiliki S PKFile

SPK_ID di-post ke dalam SPKFile sebagai Foreign key

S PK (SPK_ID, SubKon_ID, Employee_ID, SPK_Date, Job, Specification,

TO_Implement, Pay_System, Price, Representative, Revision, Information) Primary Key SPK_ID

Foreign Key SubKon_ID references SubKon (SubKon_ID)

Foreign Key Employee_ID references Employee (Employee _ID)

S PKFile (SPK_File, SPK_ID, SPK_File_Date)

Primary Key SPK_File, SPK_ID Foreign Key SPK_ID references SPK (SPK_ID)

(65)

Hasil Relasi

BOQ BOQ_ID, Employee_ID, BOQ_Date, Tower, Wide_Area, Wide_Site, Price, Revision, Information

Primary Key BOQ_ID

Foreign key Employee_ID references Employee (Employee_ID)

BOQDetail BOQ_ID, M aterial_ID

Primary Key BOQ_ID, M aterial_ID

Foreign key BOQ_ID references BOQ (BOQ_ID) Foreign key M aterial_ID references BOQ (M aterial_ID) BOQFile BOQ_File, BOQ_ID, BOQ_File_Date, Shop_Drawing_File

Primary Key BOQ_ID, BOQ_File

Foreign Key BOQ_ID references BOQ (BOQ_ID) Client Client_ID, Client_Name, Address

Primary Key Client_ID ClientEmail Client_ID, Email

Primary Key Client_ID, Email

Foreign Key Client_ID references Client (Client_ID) ClientFax Client_ID, Fax

Primary Key Client_ID, Fax

Foreign Key Client_ID references Client (Client_ID) ClientPhone Client_ID, Phone

Primary Key Client_ID, Phone

Foreign Key Client_ID references Client (Client_ID)

Employee Employee_ID, Password, Employee_Name, Position, Gender, Enter_date, Address, Image, Status

Primary Key Employee_ID EmployeeEmail Employee_ID, Email

Primary Key Employee_ID, Email

Foreign Key Employee_ID references Employee (Employee_ID)

EmployeePhone Employee_ID, Phone

Primary Key Employee_ID, Phone

(66)

(Employee_ID)

Invoice Invoice_ID, Employee_ID, Invoice_Date, Invoice_Due_Date, Revision, Information

Primary Key Invoice_ID

Foreign Key Employee_ID references Employee (Employee _ID)

InvoiceDescription Invoice_ID, Description, QTY, Price Primary Key Invoice_ID, Description

Foreign Key Invoice_ID references Invoice (Invoice_ID) InvoiceFile Invoice_ID, Invoice_File, Invoice_File_Date

Primary Key Invoice_ID, Invoice_File

Foreign Key Invoice_ID references Invoice (Invoice_ID) Material M aterial_ID, M aterial_Name, QTY, Type

Primary key M aterial_ID

Message M essage_ID, Employee_ID, M essage_Date, Subject, Sender, Content, File, Status

Primary Key M essage_ID

Foreign Key Employee_ID references Employee (Employee _ID)

PO PO_ID, Employee_ID, Client_ID, PO_Name, PO_Date, PO_Date_Printed, Contract, TO_Payment, Start_Date, Finish_Date, PO_File, Status, Information

Primary Key PO_ID

Foreign Key Client_ID references Client (Client_ID) Foreign Key Employee_ID references Employee (Employee_ID)

Progress Activity

Primary Key Activity

Project Site_ID, PO_ID, Employee_ID, Site_Name, Project_Name, Area, Address, Province, SOW, QTY, Price, Ttk_Koor_N, Ttk_Koor_E, Information

Primary Key Site_ID, SOW

Foreign Key PO_ID references PO (PO _ID)

Foreign Key Employee_ID references Employee (Employee _ID)

(67)

S PK SPK_ID, SubKon_ID, Employee_ID, SPK_Date, Job, Specification, TO_Implement, Pay_System, Price, Representative, Revision, Information

Primary Key SPK_ID

Foreign Key SubKon_ID references SubKon (SubKon_ID) Foreign Key Employee_ID references Employee (Employee _ID)

S PKFile SPK_File, SPK_ID, SPK_File_Date Primary Key SPK_File, SPK_ID

Foreign Key SPK _ID references SPK (SPK _ID) SubKon SubKon_ID, SubKon_Name, Address

Primary Key SubKon_ID SubKonEmail SubKon_ID, Email

Primary Key SubKon _ID, Email

Foreign Key SubKon _ID references SubKon (SubKon _ID) SubKonFax SubKon_ID, Fax

Primary Key SubKon _ID, Fax

Foreign Key SubKon _ID references SubKon (SubKon _ID) SubKonPhone SubKon_ID, Phone

Primary Key SubKon _ID, Phone

Foreign Key SubKon _ID references SubKon (SubKon _ID) SubKonEMP SubKon_ID, SubKon_EM P_Name

Primary Key SubKon_ID, SubKon_EM P_Name

Foreign Key SubKon_ID references SubKon (SubKon_ID) TransProjectS PK SPK_ID, Site_ID, SOW

Primary Key SPK_ID, Site_ID, SOW

Foreign Key SPK_ID references SPK (SPK_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW) TransProjectInvoice Invoice_ID, Site_ID, SOW

Primary Key Invoice_ID, Site_ID, SOW

Foreign Key Invoice_ID references Invoice (Invoice_ID) Foreign Key Site _ID references Project (Site_ID) Foreign Key SOW references Project (SOW)

(68)

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

(69)

@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

(70)

dependency sehingga tidak diperlukan normalisasi 3NF.

2. BOQ_Detail

BOQ_ID (Primary key) (Partial Dependency) M aterial_ID (Primary key) (Partial Dependency)

@#BOQ_ID + @#M aterial_ID

1NF

Di dalam entitas BOQ_Detail tidak terdapat atribut yang mengalami repeating group sehingga tidak diperlukan normalisasi 1NF

2NF

Di dalam entitas BOQ, terdapat atribut M aterial_ID yang merupakan partial dependency yang dapat dijadikan entity baru yaitu entity M aterial sehingga diperlukan normalisasi 2NF menjadi :

BOQ_Detail

(71)

BOQ @BOQ_ID Material @M aterial_ID 3NF

Di dalam entitas BOQ_Detail, semua atribut yang ada pada entitas tersebut tidak ditemukan transitive dependency sehingga tidak diperlukan normalisasi 3NF.

3. BOQ_File

BOQ_File ( 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.

(72)

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

(73)

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)

(74)

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)

(75)

@#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.

(76)

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

(77)

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

(78)

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

(79)

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)

(80)

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.

(81)

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

Gambar

Tabel 4.10    Tabel Atribut Entitas Progress
Tabel 4.12    Tabel Atribut Entitas S PK
Tabel 4.13   Tabel Atribut Entitas SubKon
Tabel 4.14    Tabel Domain Atribut
+7

Referensi

Dokumen terkait

Berdasarkan hasil dari pengamatan penelitian dari catatan lapangan, dapat diketahui bahwa kegiatan pembelajaran yang berupaya meningkatkan kemampuan motorik halus pada

Mengingat pentingnya minat ibu untuk melakukan pemeriksaan dini kanker serviks dengan metode Inspeksi Visual Asam Asetat (IVA) ,yang juga dipengaruhi oleh

Auditor senior haruslah memiliki pemahaman yang menyeluruh mengenai bagaimana membangun dan menggunakan alat ini (semesta audit) dan auditor junior haruslah memiliki pemahaman

Penelitian ini menelusuri dari 21 (dua puluh satu) perusahaan yang telah melakukan reverse stock split di Bursa Efek Indonesia dengan menganalisis data harga saham dan volume

Teknik tersebut dipilih karena pengambilan sampel secara tidak acak, dalam penelitian ini karakteristik sampel yang bisa dijadikan subyek penelitian adalah masyarakat Kota

Sistem yang dibentuk dalam perusahaan termasuk subsistem input yang akan ditransformasikan sebagai basisdata dan menghasilkan subsistem output yang diproses

Dalam penelitian ditemukan bahwa kompetensi pengelolaan pembelajaran, kecerdasan interpersonal dan komitmen guru berpengaruh positif langsung terhadap kepuasan kerja