48
ANALISIS DAN PERANCANGAN
3.1 Riwayat Perusahaan
PT. Guna Elektro berdiri di Indonesia pada tanggal 30 Januari 1962 dan beralamat di Jalan Arjuna Utara 50 Kebon Jeruk Jakarta Barat.
PT. Guna Elektro pertama kali berdiri sebagai agen dari AEG-Telefunken. Selama periode tersebut PT. Guna Elektro hanya berkonsentrasi pada sistem instalasi dan distribusi alat-alat listrik.
Setelah 2 tahun berdirinya, PT. Guna Elektro mendirikan cabang pertama di Surabaya. Beberapa tahun kemudian didirikan cabang di Semarang dan Medan.
Selama lebih dari 4 dekade, PT. Guna Elektro telah menjadi salah satu perusahaan terpercaya dalam bidang elektrik yang mempunyai beberapa cakupan bisnis yaitu sistem instalasi elektrik seperti transmisi dan distribusi energi listrik, teknologi lingkungan hidup seperti alat-alat penyaringan air bersih, produksi alat-alat listrik seperti komponen-komponen listrik dan perlengkapan untuk lemari es, dan penjualan serta distribusi alat-alat listrik dan mesin yang ditujukan kepada perusahaan yang bergerak dalam bidang utility yaitu Perusahaan Listrik Negara (PLN), perusahaan yang bergerak dalam bidang industrial yaitu perusahaan-perusahaan elektrik swasta, dan perusahaan yang bergerak dalam bidang komersial. Untuk mendukung kinerjanya, sekarang ini PT. Guna Elektro
telah menyediakan sales, layanan jasa dan pendukung layanan jasa yang berdedikasi tinggi.
3.2 Struktur Organisasi Perusahaan
Dalam setiap perusahaan keberadaan struktur organisasi sangatlah penting untuk mendukung jalannya kegiatan perusahaan, baik perusahaan besar maupun kecil. Hal ini dikarenakan masing-masing aktivitas yang dilakukan akan saling berhubungan satu dengan yang lainnya dan juga karena adanya keterbatasan pimpinan dalam menjalankan tugasnya sehingga semakin besar perusahaan semakin sulit bagi pimpinan untuk menjalankan seluruh fungsinya. Oleh karena itu, diperlukan adanya suatu pendelegasian wewenang sehingga fungsi-fungsi dari pimpinan atau manajemen dapat berjalan sebagaimana mestinya.
Semua kegiatan yang dilakukan oleh Divisi Power Engineering PT. Guna Elektro untuk mencapai tujuannya dikoordinir dan dipimpin oleh General Manager. Hal ini dapat dilihat dari Gambar 3.1berikut.
Gambar 3.1 Struktur Organisasi Divisi Power Engineering PT. Guna Elektro (Sumber : PT. Guna Elektro)
3.2.1 Tugas dan Tanggung Jawab
Adapun uraian mengenai struktur organisasi serta susunan tugas dan tanggung jawab dari masing-masing bagian pada Divisi Power Engineering PT. Guna Elektro adalah sebagai berikut:
1. General Manager (pemimpin divisi Power Engineering) a. Bertanggungjawab kepada direktur.
b. Menerima laporan pembelian, penjualan, dan persediaan. c. Menyetujui Purchase Order.
d. Menyetujui transaksi penjualan yang dilakukan oleh sales. e. Menentukan perencanaan bisnis tahunan.
2. Procurement (bagian pembelian) a. Memilih supplier.
b. Membeli barang local atau imported sesuai dengan permintaan dari Sales atau Project Department.
c. Membuat laporan pembelian barang (Import) ke Principal.
d. Menentukan supplier dengan persetujuan General Manager.
e. Melaksanakan pembelian barang sesuai dengan permintaan dari
Sales atau Project Department dengan persetujuan General Manager.
3. Finance (bagian keuangan)
a. Membuat anggaran untuk keperluan operasional atau pembayaran ke supplier.
b. Melaksanakan penagihan atau pembayaran. c. Menyediakan dana untuk keperluan operasional. d. Membuat Purchase Order (PO).
e. Membuat report Account Receivable (AR) atau Account Payable
(AP).
f. Membuat laporan biaya proyek.
g. Membuat laporan keuangan untuk evaluasi manajemen. h. Menentukan jadwal pembayaran kepada supplier.
i. Akses ke bagian keuangan corporate. 4. Logistic dan Warehouse (bagian pergudangan)
a. Melaksanakan penyimpanan barang secara sistematis dan aman. b. Mengeluarkan barang yang ada di gudang sesuai surat jalan. c. Memasukkan barang yang dibeli ke dalam gudang sesuai dengan
surat jalan dari supplier.
d. Mengatur pendistribusian barang ke pengguna. e. Teknisi peralatan produksi perusahaan.
f. Mengurus peralatan dan perlengkapan produksi.
5. Sales Industries (bagian penjualan untuk customerindustries) a. Membentuk citra perusahaan di pasar atau pelanggan.
b. Meningkatkan penjualan dengan memperkenalkan produk-produk yang belum dikenal oleh pelanggan.
c. Menjual barang atau sistem dengan target yang ditetapkan. d. Menandatangani penawaran dengan batas yang ditentukan. e. Memberikan perintah pemesanan barang.
6. Sales Utility (bagian penjualan untuk customerutility) a. Membentuk citra perusahaan di pasar atau pelanggan.
b. Meningkatkan penjualan dengan memperkenalkan produk-produk yang belum dikenal oleh pelanggan.
c. Menjual barang atau sistem dengan target yang ditetapkan. d. Menandatangani penawaran.
e. Memberikan perintah pemesanan barang.
a. Membentuk citra perusahaan di pasar atau pelanggan.
b. Meningkatkan penjualan dengan memperkenalkan produk-produk yang belum dikenal oleh pelanggan.
c. Menjual barang atau sistem dengan target yang telah diterapkan. d. Menandatangani penawaran.
e. Memberikan perintah pemesanan barang. 8. Project (bagian pelaksanaan proyek)
a. Membuat rencana pelaksanaan proyek.
b. Eksekusi proyek sesuai dengan kontrak dan engineering detailed
yang telah disetujui oleh pelanggan.
c. Melaksanakan kontrol terhadap sub kontraktor. d. Melaporkan perkembangan pelaksanaan.
e. Mempersiapkan dokumentasi Berita Acara (BA) dalam kaitannya dengan penagihan.
f. Membuat gambar kerja pelaksanaan proyek sesuai dengan kondisi aktual setelah proyek dikerjakan(As Built Drawing).
9. Health and Safety Environment (bagian keselamatan tenaga kerja) a. Menyusun prosedur keselamatan kerja.
b. Melakukan pengawasan terhadap prinsip-prinsip keselamatan kerja dan pelestarian lingkungan dalam eksekusi proyek.
10. Protection (bagian perancangan sistem)
a. Menguasai produk-produk Protection Relays, Monitoring dan
b. Membuat desain suatu sistem yang sesuai dengan spesifikasi pelanggan, termasuk melakukan survei atau mencari informasi. c. Mengeluarkan Bill of Material (BOM) yang disesuaikan dengan
engineering design yang telah dibuat.
d. Membuat engineeringdetailed untuk pelaksanaan proyek.
e. Melakukan perubahan desain sesuai dengan keadaan lapangan atau permintaan pelanggan pada saat pelaksanaan.
f. Menentukan sistem yang tepat sesuai dengan keinginan pelanggan.
g. Menentukan peralatan yang optimal sesuai dengan keinginan pelanggan.
h. Trouble shooting (penyelesaian masalah). 11. Automation (bagian perancangan sistem)
a. Menguasai produk-produk Remote Terminal Unit (RTU),
Communication and Networking, Automation/Scada Software.
b. Membuat desain suatu sistem yang sesuai dengan spesifikasi pelanggan dan kesatuan desain, termasuk melakukan survei atau mencari informasi.
c. Mengeluarkan BOM yang disesuaikan dengan engineering design
yang telah dibuat.
d. Membuat engineering detailed untuk pelaksanaan.
e. Melakukan perubahan desain sesuai dengan keadaan lapangan atau permintaan pelanggan pada saat pelaksanaan.
f. Menentukan sistem yang tepat sesuai dengan keinginan pelanggan.
g. Menentukan peralatan yang optimal sesuai dengan keinginan pelanggan.
h. Trouble shooting.
12. Engineers (bagian perancangan sistem) a. Melakukan survei atau mencari informasi.
b. Membuat desain suatu sistem yang sesuai dengan spesifikasi pelanggan.
c. Mengeluarkan BOM yang disesuaikan dengan engineering detailed yang telah dibuat.
d. Membuat engineering detailed untuk pelaksanaan proyek.
e. Melakukan perubahan desain sesuai dengan keadaan lapangan atau permintaan pelanggan pada saat pelaksanaan.
f. Menentukan sistem yang tepat sesuai dengan keinginan pelanggan.
g. Menentukan peralatan yang optimal sesuai dengan keinginan pelanggan.
3.3 Tata Laksana atau Prosedur yang Sedang Berjalan
Prosedur yang sedang berjalan pada sistem informasi penjualan dan pembelian pada Divisi Power Engineering PT. Guna Elektro adalah sebagai berikut :
3.3.1 Prosedur Penjualan
Sistem penjualan pada Divisi Power Engineering PT. Guna Elektro dimulai dengan adanya penerimaan Request for Quotation (RFQ) dari pelanggan kepada bagian penjualan. RFQ ini kemudian diajukan kepada bagian technical support yang melakukan kalkulasi untuk menentukan Harga Pokok Penjualan (HPP) dan daftar harga produk. Daftar harga produk yang telah diperoleh dikirim melalui email kepada bagian penjualan dimana bagian penjualan akan mempertimbangkan potongan harga terhadap produk-produk tersebut. Selanjutnya bagian penjualan akan membuat quotation dengan persetujuan manager untuk dikirimkan kepada pelanggan.
Menanggapi quotation yang telah dikirim, pelanggan akan mengirimkan Purchase Order (PO) melalui fax kepada bagian penjualan dan diteruskan ke bagian keuangan. Selanjutnya bagian penjualan akan melakukan registrasi Work Order (WO) kepada bagian keuangan. Daftar WO yang telah teregistrasi tersimpan dalam server dan dapat diakses oleh bagian pembelian dan bagian penjualan.
Setelah produk yang diminta oleh pelanggan tersedia, bagian logistik dengan persetujuan bagian keuangan akan mengirimkan pesanan produk kepada pelanggan disertai dengan pemberian pelatihan pemakaian
produk oleh bagian technical support. Kemudian bagian keuangan akan mengirimkan invoice kepada pelanggan dengan persetujuan manager.
3.3.2 Prosedur Pembelian
Apabila produk yang diminta oleh pelanggan tidak tersedia dalam
stock maka bagian penjualan akan mengajukan Permohonan Pembelian Barang (PPB) kepada bagian pembelian dan bagian logistik.
Bagian pembelian akan membuat Permohonan Penawaran Harga (PPH) yang dikirimkan kepada supplier, dan sebagai timbal balik
supplier akan mengirimkan quotation kepada bagian pembelian. Kemudian bagian pembelian akan mengirimkan Purchase Order (PO) dengan persetujuan manager kepada bagian keuangan perusahaan dan
supplier. Dari PO yang telah diterima, supplier mengirimkan Order Acknowledgement (OA) kepada bagian pembelian perusahaan, dimana OA berisi antara lain waktu pengiriman barang, pembayaran, jumlah pembelian, dan lain-lain. OA ini juga diberikan kepada bagian keuangan perusahaan.
Selanjutnya supplier akan mengirimkan produk-produk yang diminta bagian pembelian perusahaan beserta surat jalan. Bagian pembelian akan melakukan Quality Control (QC) untuk mengecek apakah produk tersebut diterima atau ditolak. Jika ditolak maka akan dilakukan retur kepada supplier beserta surat jalannya. Jika diterima maka supplier akan mengirimkan invoice dan rangkap dari surat jalan kepada bagian keuangan perusahaan.
3.4 Diagram Alir Data (Data Flow Diagram) Sistem yang Sedang Berjalan 3.4.1 Diagram Konteks Sistem yang Sedang Berjalan
Diagram konteks yang sedang berjalan adalah diagram yang menggambarkan aliran data antara sistem yang sedang berjalan dalam perusahaan dengan entitas-entitas lain yang saling berhubungan. Gambar 3.4 merupakan diagram konteks sistem yang berjalan untuk Divisi Power Engineering PT. Guna Elektro. External Entity yang ada di dalam diagram ini adalah Pelanggan, Supplier, Sales, dan Manager.
3.4.2 Diagram Nol Sistem yang Sedang Berjalan
Diagram nol sistem yang sedang berjalan menunjukkan proses yang lebih mendetil dari diagram konteks sistem yang sedang berjalan. Gambar 3.5 merupakan diagram nol dari sistem yang sedang berjalan pada Divisi Power Engineering PT. Guna Elektro. External entity yang ada di diagram ini yaitu Pelanggan, Sales, Manager, Purchasing, Logistik, dan Supplier, sedangkan untuk prosesnya yaitu Pemesanan untuk proses 1.0, Permohonan Pembelian Barang untuk proses 2.0, Pembelian untuk proses 3.0, Penerimaan untuk proses 4.0, dan Pengiriman untuk proses 5.0.
3.4.3 Diagram Rinci Proses 1.0
Gambar 3.6 menggambarkan diagram rinci proses 1.0 yaitu proses pemesanan. Dalam proses ini terbagi menjadi delapan proses, yaitu Pengiriman RFQ 1.1, Penentuan HPP 1.2, Penentuan Price List 1.3, Penentuan Diskon Produk 1.4, Quotation 1.5, Pengiriman PO 1.6, Konfirmasi Order 1.7, dan Registrasi WO 1.8.
Sales Pelanggan Technical Support Purchasing Finance Manager 1.2* Penentuan HPP 1.3* Penentuan Price List 1.4* Penentuan Diskon Produk 1.5* Quotation 1.6* Pengiriman PO 1.7* Konfirmasi Order 1.8* Registrasi WO Kalkulasi HPP Kirim HPP Kirim HPP Menentukan Diskon Produk
Mengirim Laporan Diskon Produk Membuat Quotation Mengirim Quotation Mengirim PO Melakukan Registrasi WO Mengirim PO Mengirim Price List HPP Price List Quotation Pelanggan Sales PO 1.1* Pengiriman RFQ RFQ Sales Konfirmasi Order Membuat RFQ Mengirim RFQ Mengirim Registrasi WO WO Konfirmasi Order Mengirim RFQ Menentukan Price List Mengirim Quotation Membuat PO
3.4.4 Diagram Rinci Proses 3.0
Gambar 3.7 menggambarkan diagram rinci proses 3.0 yaitu proses pembelian. Dalam proses ini terbagi menjadi proses empat proses, yaitu Permintaan Penawaran Harga 3.1, Pengiriman Quotation 3.2, Pengiriman PO 3.3, dan Order Acknowledgement 3.4.
Purchasing Supplier Manager Finance 3.1* Permintaan Penawaran Harga 3.2* Pengiriman Quotation 3.3* Pengiriman PO 3.4* Order Acknowledgement Mengirim PPH Melakukan PPH Membuat Quotation Mengirim Quotation Melakukan PO Mengirim PO Membuat OA Mengirim OA Mengirim PO Mengirim PO PPH Supplier Quotation PO Supplier OA Mengirim OA
3.4.5 Diagram Rinci Proses 4.0
Gambar 3.8 menggambarkan diagram rinci proses 4.0 yaitu proses penerimaan. Dalam proses ini terbagi menjadi enam proses, yaitu Pengiriman Material 4.1, Retur 4.2, Permohonan Pembayaran 4.3, Pembayaran 4.4, Perpindahan Material ke Logistik 4.5, dan Inventory Record 4.6. Purchasing Supplier Logistik Material Material Inventory Record 4.1* Pengiriman Material 4.2.1* Retur 4.2.2* Permohonan Pembayaran 4.4* Perpindahan Material ke Logistik 4.5* Inventory Record 4.3* Pembayaran Pembayaran Finance Melakukan Perpindahan Material Melakukan Retur Mendatangkan Material Mengirim Retur Mengirim Material Mengirim Material Sales Informasi Penerimaan Barang Mengirim Inventory Record Melakukan Pembayaran Mengirim Permohonan Barang
Membuat Permohonan Pembayaran
Mengirim Inventory Record
Membuat Inventory Record
Supplier Menerima Pembayaran
3.4.6 Diagram Rinci Proses 5.0
Gambar 3.9 menggambarkan diagram rinci proses 5.0 yaitu proses pengiriman. Dalam proses ini terbagi menjadi lima proses, yaitu Pengiriman 5.1, Konfirmasi Pengiriman 5.2, Permohonan Training 5.3, Bahan Training dan Sertifikat 5.4, dan Pembayaran 5.5.
3.5 Permasalahan yang Dihadapi
Dari hasil analisa yang dilakukan oleh penulis terhadap sistem yang berjalan pada Divisi Power Engineering PT. Guna Elektro, permasalahan yang dihadapi antara lain :
1. Tidak adanya sistem basis data yang menyimpan data-data mengenai kegiatan penjualan dan pembelian secara teratur sehingga mempersulit dalam menggunakan data-data tersebut.
2. Tidak adanya aplikasi yang terorganisir dengan baik untuk mengakses data pelanggan sehingga mempersulit kegiatan penjualan.
3.6 Alternatif Pemecahan Masalah
Dari permasalahan yang dihadapi oleh Divisi Power Engineering PT. Guna Elektro, maka pemecahan masalah yang diusulkan antara lain :
1. Merancang dan membuat aplikasi basis data aktivitas pembelian dan penjualan sehingga proses-proses yang berhubungan dengan transaksi pembelian dan penjualan seperti proses pencarian informasi pelanggan, pembuatan quotation, pembuatan Request for Quotation, pembuatan Work Order, dan pembuatan laporan kegiatan bagian penjualan dapat dilakukan secara terkomputerisasi.
2. Membangun sebuah aplikasi berbasis web untuk kemudahan dalam pengaksesan data.
3.7 Sistem yang Diusulkan
Setelah melakukan survei pada sistem yang sedang berjalan, dan melakukan beberapa analisa dari requirement dan goal yang dibutuhkan, kami mencoba untuk melakukan beberapa perbaikan dari sistem tersebut. Maka dari itu kami mengajukan aplikasi sistem basis data yang dikembangkan berdasarkan sistem yang sedang berjalan.
Sistem baru yang dikembangkan didasarkan pada sistem database approach dan sistem aktivitas penjualan serta pembelian produk secara terkomputerisasi untuk menggantikan sistem lama yang berdasarkan file base approach, dan sistem aktivitas penjualan serta pembelian yang masih dilakukan secara manual.
Dengan aplikasi yang kami kembangkan ini, kami harap dapat memenuhi
requirement (kebutuhan) dari bagian penjualan dan pembelian sehingga dapat membantu perusahaan dalam menciptakan sistem kerja yang efisien.
3.8 Diagram Alir Data (Data Flow Diagram) Sistem yang Diusulkan 3.8.1 Diagram Konteks Sistem yang Diusulkan
Diagram konteks sistem yang diusulkan adalah diagram yang menggambarkan aliran data antara sistem yang diusulkan dalam perusahaan dengan entitas-entitas lain yang saling berhubungan.
3.8.2 Diagram Nol Sistem yang Diusulkan
Diagram nol sistem yang diusulkan menunjukkan proses yang lebih mendetil dari diagram konteks sistem yang diusulkan.
Sales 1.0 Registrasi Data Pelanggan Manager Pelanggan Supplier 2.0* Aktivitas 3.0 Penjualan 4.0* Permohonan Pembelian Barang Mengisi Data Pelanggan Customer Mengisi Data Pelanggan Mengisi Aktivitas Activity Melakukan Penjualan Penjualan Produk 5.0 Pembelian Melakukan PPB Purchasing Mengirim PPB PPB
Pembelian Produk Supplier
Customer
Melakukan Pembelian View dan Delete Aktivitas 6.0*
Registrasi Data Staff
Mengisi Data Staff Baru
Staff
Melakukan Penjualan
Melakukan PPB
3.8.3 Diagram Rinci Proses 1.0 Sistem yang Diusulkan 1.1* Manipulasi Data Pelanggan 1.2* Manipulasi Contact Person
Sales Insert, Update, Delete Insert, Update, Delete Manager
Insert, Update, Delete Insert, Update, Delete
Customer
Contact
3.8.4 Diagram Rinci Proses 3.0 Sistem yang Diusulkan 3.1* Quotation 3.2* Penerimaan Purchase Order 3.3* Permohonan Work Order Sales Pelanggan Finance
Membuat Quotation Mengirim Quotation
Melakukan PO Mengirim PO Registrasi WO Registrasi WO Quotation Customer POCustomer WORequest
3.8.5 Diagram Rinci Proses 5.0 Sistem yang Diusulkan
Gambar 3.14 Diagram Rinci Proses 5.0 Sistem yang Diusulkan
3.9 Perancangan Sistem Basis Data
Pada tahap ini dilakukan proses perancangan basis data yang dibagi menjadi tiga bagian yaitu perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal.
3.9.1 Perancangan Basis Data Konseptual
Pada perancangan basis data konseptual ini, perancangan basis data dipusatkan pada pemrosesan suatu model dari informasi yang akan digunakan dalam suatu organisasi, yang independensinya tidak tergantung apapun. Berikut ini langkah-langkah dalam merancang basis data secara konseptual, antara lain :
3.9.1.1Identifikasi Tipe Entitas
Tabel berikut ini merupakan tabel yang menjelaskan entitas-entitas yang menjadi kebutuhan perusahaan setelah proses analisis sistem yang sedang berjalan, antara lain :
Tabel 3.1 Kamus Data Entitas
Entity name Description Alias / Nama
Lain
Ocurrence
Staff Merupakan entitas yang berisi informasi tentang pegawai yang bekerja di perusahaan.
Pegawai Setiap pegawai yang yang bekerja di Divisi
Power Engineering PT Guna Elektro.
Staff terdiri dari sales utility, sales industrial, manager, finance, dan
purchasing. Customer Merupakan entitas yang
berisi informasi tentang pelanggan dari
perusahaan.
Pelanggan Setiap pelanggan yang membeli barang dari Divisi Power
Engineering PT Guna Elektro.
Contact Merupakan entitas yang berisi informasi tentang
Contact Person Setiap contact dari pelanggan yang dapat
contact person dari pelanggan perusahaan.
dihubungi ketika melakukan transaksi penjualan.
Product Merupakan entitas yang berisi informasi tentang produk yang dijual perusahaan.
Barang Setiap barang yang diterima dan
dikeluarkan oleh Divisi Power Engineering PT. Guna Elektro.
Supplier Merupakan entitasyang berisi informasi tentang perusahaan pemasok barang.
Pemasok Setiap pemasok barang ke Divisi Power Engineering PT. Guna Elektro. Setiap
pemasok dapat memasok lebih dari satu jenis barang.
Activity Merupakan entitas yang memberi informasi tentang aktivitas yang dilakukan oleh sales.
Aktivitas Penjualan
Setiap kegiatan
penjualan yang isi oleh
sales dan kegiatan itu dapat dilihat oleh
manager.
Quotation Merupakan entitas yang memberi informasi tentang penawaran
Penawaran Setiap penawaran produk beserta harga yang dilakukan oleh
produk yang ditujukan kepada pelanggan.
sales yang akan dikirimkan kepada pelanggan perusahaan.
WORequest Merupakan entitas yang memberi informasi tentang permohonan
work order yang dibuat oleh sales kepada
finance.
Permohonan WO
Setiap laporan permohonan work order yang dibuat sales
kepada finance untuk mendapat persetujuan atas pengerjaan proyek.
PPB Merupakan entitas yang
memberi informasi tentang permohonan pembelian barang sales
kepada bagian purchasing. Permohonan Pembelian Barang Permonan pembelian barang yang dilakukan
sales kepada bagian
purchasing apabila barang yang diminta pelanggan tidak ada di stok.
POCustomer Merupakan entitas yang memberi informasi tentang purchase order
dari pelanggan.
Purchase Order
Pelanggan
Setiap purchase order
yang dikirim oleh pelanggan perusahaan.
RequestForQuot ation
Merupakan entitas yang memberi informasi tentang permintaan
Permintaan Penawaran
Laporan permintaan penawaran harga yang dibuat oleh bagian
penawaran harga kepada
supplier.
purchasing kepada
supplier perusahaan.
POSupplier Merupakan entitas yang memberi informasi tentang purchase order
perusahaan kepada
supplier.
Purchase Order
Pemasok
Setiap purchase order
yang dibuat bagian
purchasing untuk memesan barang kepada supplier
perusahaan.
3.9.1.2Identifikasi Tipe Relasional
Tujuan dari langkah ini adalah untuk mengidentifikasi relasi penting yang ada di antara tipe-tipe yang telah diidentifikasi. Adapun langkah-langkah dalam mengidentifikasikan tipe relasi adalah sebagai berikut :
3.9.1.2.1Entity Relationship Diagram (ERD) Konseptual
Berikut ini Entity Relationship Diagram (ERD) konseptual yang hanya memuat nama entitas beserta dengan hubungannya adalah sebagai berikut :
Gambar 3.15 ERD Konseptual
3.9.1.2.2Menentukan Pembatas Multiplicity dari Tipe Relasi Setelah menentukan ERD konseptual maka langkah berikutnya adalah menentukan pembatas
multiplicity dari masing-masing entitas sesuai dengan relasinya dengan entitas yang lain adalah sebagai berikut.
Entity Name Multiplicity Relationship Entity name Multiplicity 1..1 Mengisi Activity 1..* 1..1 Membuat WORequest 0..* 1..1 Membuat POSupplier 0..* 1..1 Membuat RequestForQuotation 0..* 1..1 Membuat Quotation 0..* Staff 1..1 Menerima PPB 0..*
Contact 1..* Dimiliki Customer 1..1
1..1 Memiliki Contact 1..*
Customer
1..1 Membuat POCustomer 0..*
Activity 1..* Diisi Sales 1..1
WORequest 0..* Dibuat Staff 1..1
0..* Dibuat Staff 1..1 Quotation 0..* Berisi Product 1..* 0..* Dibuat Staff 1..1 PPB 0..* Berisi Product 1..* 0..* Dibuat Customer 1..1 POCustomer 0..* Berisi Product 1..* 1..1 Menerima RequestForQuotation 0..* Supplier 1..1 Menerima POSupplier 0..* 0..* Dibuat Staff 1..1 0..* Diterima Supplier 1..1 RequestForQuotation 0..* Berisi Product 1..*
1..* Diisi Quotation 0..* 1..* Diisi PPB 0..* 1..* Diisi POCustomer 0..* 1..* Diisi RequestForQuotation 0..* Product 1..* Diisi POSupplier 0..* 0..* Dibuat Staff 1..1 0..* Diterima Supplier 1..1 POSupplier 0..* Berisi Product 1..*
3.9.1.3Identifikasi dan Asosiasi Atribut Suatu Entitas
Tujuan dari langkah ini adalah menghubungkan atribut dengan tipe entity dan relationship yang sesuai.
Tabel 3.3 Kamus Data Atribut
Entity Name Atribute Description Tipe
Data &
length
Nulls Multi-Valued
StaffID Identitas unik untuk setiap
staff
Integer No No
StaffName Nama staff Varchar (50)
No No
Staff
(50)
Password Kata kunci Varchar (50)
No No
Department Staff ditempatkandi
department tertentu
Varchar (50)
No No
CustID Identitas unik untuk setiap
customer
Integer No No
CustName Nama customer Varchar (50)
No No
CustAddress Alamat customer
(Negara,kota,jalan)
Varchar (100)
No No
CustType Tipe customer di perusahaan
Varchar (20)
No No
Customer
CustFax Nomor faximile customer Varchar (20)
Yes Yes
ContactID Identitas unik untuk setiap
contact
Integer No No
CustID Identitas unik untuk setiap
customer
Integer No No
Fullname Nama lengkap contact Varchar (50)
No No
Contact
JobTitle Jabatan pekerjaan contact Varchar (50)
Phone Nomor telepon contact Varchar (20)
Yes Yes
Email Alamat email contact Varchar (50)
Yes Yes
Address Alamat contact
(Negara,kota,jalan)
Varchar (100)
No No
SupplierID Identitas unik untuk setiap
supplier
Integer No No
SupplierName Nama supplier Varchar (50)
No No
SupplierAddress Alamat supplier
(Negara,kota,jalan)
Varchar (100)
No No
Supplier
SupplierFax Nomor faximile supplier Varchar (20)
No Yes
ProductType Identitas unik dari setiap produkpada perusahaan
Varchar (50)
No No
ProductDescription Penjelasan namaproduk Varchar (50)
No No
Product
UnitPrice Harga satuan produk Decimal No No
ActivityID Identitas unik dari setiap
activity
Integer No No
Activity
Username Identitas dari user yang mengisi activity
Varchar (50)
Date Tanggal yang tercantum dalam setiap activity
Date (dd-mm-yyyy)
No No
Activity Activity yang dilakukan oleh setiap user
Varchar (500)
No No
QuotationID Identitas unik dari setiap
quotation
Varchar (50)
No No
Date Tanggal pembuatan
quotation
Date (dd-mm-yyyy)
No No
Initial Penjelasan kode user yang menyiapkan quotation
Varchar (20)
No No
CustName Nama customer Varchar (50)
No No
CustAddress Alamat customer
(Negara,kota,jalan)
Varchar (100)
No No
CustFax Nomor faximile customer Varchar (20)
No Yes
Attention Penerima quotation Varchar (50)
No No
YourRef Nomor referensi customer
yang mengirimkan RFQ.
Varchar (50)
No No
Quotation
(50)
SalesPosition Jabatan dari sales Varchar (50)
No No
ManagerName Nama manager Varchar (50)
No No
ManagerPosition Jabatan manager di perusahaan
Varchar (50)
No No
Subject Keterangan utama yang ditulis di quotation
Varchar (100)
No No
DeliveryDate Waktu kirim produk Date (dd-mm-yyyy)
No No
DeliveryPoint Tujuan pengiriman (Kota) Varchar (50)
No No
TermOfPayment Cara pembayaran Varchar (50)
No No
BankAccount Rekening bank customer Varchar (20)
No No
ExpiredPeriod Masa berlaku berupa bulan (1 bulan, 2 bulan)
Varchar (10)
No No
Guarantee Masa garansi yang diberikan untuk setiap
product
Varchar (10)
Note Catatan tentang product Varchar (100)
Yes No
ProductType Identitas unik dari setiap produkpada perusahaan
Varchar (50)
No No
ProductDescription Penjelasan namaproduk Varchar (50)
No No
Qty Jumlah produk yang
diinginkan
Integer No No
Unit Satuan produk (pcs, meter, buah, set)
Varchar (10)
No No
Discount Potongan harga produk Decimal No No
UnitPrice Harga satuan produk Decimal No No
SubtotalPrice Jumlah harga untuk setiap jenis barang
Decimal No No
TotalPrice Harga total untuk semua barang
Decimal No No
ProjectID Identitas unik dari setiap proyek
Varchar (50)
No No
ProjectName Nama proyek yang akan disetujui
Varchar (50)
No No
ProjectOwner Orang yang memilliki proyek (sales)
Varchar (50)
No No
WORequest
(50)
POID Identitas unik dari setiap
POcustomer
Varchar (50)
No No
PODate Tanggal PO dibuat Date
(dd-mm-yyyy)
No No
POEndDate Tangal akhir PO Date (dd-mm-yyyy)
No No
TrainingDate Tanggal training akan dilakukan
Date (dd-mm-yyyy)
No No
MaintenanceDate Tanggal pemeliharaan yang diinginkan
Date (dd-mm-yyyy)
No No
WorkScope Penjelasan mengenai lingkup pekerjaan dan jenis pekerjaan yang berhubungan dengan WORequest Varchar (50) No Yes
ContractValue Nilai kontrak untuk proyek Decimal No No
Payment Pembayaran yang
dilakukan secara berangsur
Varchar (50)
Instalment Angsuran yang akan dibayar
Decimal No No
InvoiceDate Tanggal penagihan tiap angsuran
Date (dd-mm-yyyy)
No No
PaymentNote Keterangan pembayaran angsuran
Varchar (50)
Yes No
Note Keterangan mengenai proyek yang akan dilakukan
Varchar (100)
No No
POUpload Upload purchase order dari
customer
Varchar (50
No No
BudgetUpload Upload budget harga dari proyek
Varchar (50
No No
Username Identitas dari setiap user Varchar (50)
No No
PPBID Identitas unik dari setiap PPB
Varchar (50)
No No
ProjectID Identitas unik dari setiap proyek
Varchar (50)
No No
PPB
Date Tanggal PPB dibuat Date
(dd-mm-yyyy)
QuotationID Identitas unik dari setiap
quotation
Varchar (50)
Yes No
ProjectName Nama proyek Varchar (50)
No No
EndUser Penjelasan mengenai perusahaan yang akan menggunakan produk yang akan dijual (pemakai akhir).
Varchar (50)
No No
EndUserLocation Lokasi end user (kota) Varchar (50)
No No
Consignee Penjelasan mengenai pihak/perusahaan yang akan ditunjuk sebagai penerima barang import
Varchar (50)
No No
ShippingAddress Alamat pengiriman barang
import.
Varchar (50)
No No
Requirement Keperluan dari PPB Varchar (20)
No No
POID Identitas unik dari setiap
POcustomer
Varchar (50)
No No
TermOfPayment Cara pembayaran Varchar (50)
Address Alamat pengiriman barang Varchar (100)
No No
Recipient Nama penerima barang
(customer)
Varchar (200)
No No
Notify Pemberitahuan mengenai rencana pengiriman barang ke customer.
Varchar (200)
No No
CustShipmentDueDate Batas waktu pengiriman barang ke customer.
Date (dd-mm-yyyy)
No No
ProductType Identitas unik dari setiap produk pada perusahaan
Varchar (50)
Yes No
ProductDescription Penjelasan nama produk Varchar (50)
No No
Qty Jumlah produk yang
diinginkan
Integer No No
Unit Satuan produk (pcs, meter, buah, set)
Varchar (10)
No No
Brand Nama merek barang Varchar (50)
Yes No
Note Keterangan yang terdapat pada setiap barang
Varchar (100)
Yes No
(50)
ManagerName Nama manager Varchar (50)
No No
POID Identitas unik dari setiap
POCustomer
Varchar (50)
No No
PODate Menjelaskan tanggal PO dibuat
Date (dd-mm-yyyy)
No No
CustName Nama customer yang mengirimkan PO
Varchar (50)
No No
CustAddress Nama customer yang mengirimkan PO
Varchar (100)
No No
ProductType Identitas unik dari setiap produk pada perusahaan
Varchar (50)
Yes No
ProductDescription Penjelasan nama produk Varchar (50)
No No
Qty Jumlah produk yang
diinginkan
Integer No No
Unit Satuan produk (pcs, meter, buah, set)
Varchar (10)
No No
UnitPrice Harga satuan untuk setiap jenis produk
Decimal No No
POCustomer
jenis barang
TotalPrice Harga total semua produk Decimal No No
RFQID Identitas unik dari setiap
Request for Quotation
Integer Yes No
SupplierName Nama supplier Varchar (50)
No No
SupplierFax Nomor faximile supplier Varchar (20)
No No
Date Tanggal pembuatan request for quotation
Varchar (50)
No No
Ref Nomor referensi
perusahaan
Varchar (50)
No No
TotalPage Total halaman Varchar (20)
No No
Subject Keterangan utama yang ditulis di request for quotation
Varchar (50)
No No
ProductType Identitas unik dari setiap produk pada perusahaan
Varchar (50)
Yes No
ProductDescription Penjelasan nama produk Varchar (50)
No No
RequestFor Quotation
Qty Jumlah produk yang
diinginkan
Username Identitas dari setiap user Varchar (50)
No No
POID Identitas unik dari setiap
POSupplier
Varchar (50)
No No
Date Tanggal PO dibuat Date (dd-mm-yyyy)
No No
SupplierName Nama supplier Varchar (50)
No No
SupplierAddress Alamat supplier
(Negara,kota,jalan)
Varchar (100)
No No
Qty Jumlah barang yang
dipesan
Integer No No
Unit Satuan produk (pcs, meter, buah, set)
Varchar (10)
No No
ProductType Identitas unik dari setiap produk pada perusahaan
Varchar (50)
Yes No
ProductDescription Penjelasan nama produk Varchar (50)
No No
UnitPrice Harga satuan untuk setiap jenis produk
Decimal No No
POSupplier
SubtotalPrice Jumlah harga untuk setiap jenis barang
TotalPrice Harga total semua barang Decimal No No
PPN PPN 10 % dari TotalPrice Decimal No No
TotalPayment Jumlah pembayaran yang dibayarkan ke supplier
Decimal No No
PaymentDate Waktu pembayaran yang ditetapkan
Date (dd-mm-yyyy)
No No
TermOfDelivery Cara pengiriman barang Varchar (50)
No No
TermOfPayment Cara pembayaran barang Varchar (50)
No No
CostPosting Menjelaskan pihak mana yang menerima
pembebanan biaya (Divisi
Power Engineering)
Varchar (20)
No No
Username Identitas dari setiap user Varchar (50)
No No
Langkah berikutnya adalah mengidentifikasi candidate key
dan primary key dari field-field pada setiap tabel.
Tabel 3.4 Identifikasi Candidate Key dan PrimaryKey
Entity Name Candidate Key Primary Key
Staff StaffID StaffID
Customer CustID CustID
Contact ContactID ContactID
Supplier SupplierID SupplierID ProductType
Product
ProductDescription
ProductType
Activity ActivityID ActivityID Quotation QuotationID QuotationID WORequest ProjectID ProjectID
PPB PPBID PPBID
POCustomer POID POID
RequestForQuotation RFQID RFQID
Gambar 3.16 ERD dengan Primary Key
3.9.1.5Validasi Model Konseptual Lokal dengan Transaksi Pengguna
Guna memastikan bahwa rancangan konseptual dari basis data yang tengah dibangun dapat mendukung transaksi yang dibutuhkan oleh pelanggan, digunakan dua buah pendekatan : 1. Mendeskripsikan transaksi
2. Menggambarkan panah transaksi pada ER Diagram. Transaksi-transaksi yang terjadi yaitu :
a. Mengisi, menampilkan, dan mengubah data activity. b. Membuat dan menampilkan quotation.
c. Membuat dan menampilkan permohonan WO.
d. Membuat dan menampilkan permohonan pembelian barang. e. Membuat dan menampilkan request for quotation.
3.9.2 Perancangan Basis Data Logikal
Proses pembuatan model dari informasi yang digunakan dalam perusahaan berdasarkan data model spesifik.
3.9.2.1 Membuat dan Memvalidasi Model Data Logikal Lokal 3.9.2.1.1 Penghilangan Fitur yang Tidak Kompatibel
Tujuan dari langkah ini adalah untuk memperhalus model data konseptual lokal dengan menghilangkan fituryang tidak kompatibel dengan model relasional.
a. Hilangkan Relasi Biner *:* (many to many ) • Relasi biner many to many antara entitas Quotation
dan Product
Setelah dihilangkan menjadi
• Relasi biner many to many antara entitas
POCustomer dan Product
• Relasi biner many to many antara entitas PPB dan
Product
Setelah dihilangkan menjadi
• Relasi biner many to many antara entitas POSupplier
dan Product
Setelah dihilangkan menjadi
• Relasi biner many to many antara entitas
Setelah dihilangkan menjadi
b. Hilangkan atribut multi-valued
• Atribut multi-valued pada entitas Contact
Gambar 3.18 ERD Sebelum Normalisasi
3.9.2.1.2 Validasi Relasi Menggunakan Teknik Normalisasi Tujuan dilakukannya normalisasi adalah untuk membuat kemungkinan terjadinya data rangkap menjadi sekecil mungkin , menghindari adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat dari adanya data rangkap , dan menjamin identitas tabel secara tunggal sebagai determinan semua atribut.
Proses normalisasi yang dilakukan pada setiap entitas yang ada adalah sebagai berikut:
1. Staff
2NF
Staff = @StaffID + StaffName + Username + Password + Department
3NF
Staff = @StaffID + StaffName + Username + Password + Department
2. Customer
Customer = @CustID + CustName + CustAddress + CustType + CustFax
3NF
Customer = @CustID + CustName + CustAddress + CustType + CustFax
3. Contact
2NF
Contact = @ContactID + CustID + Fullname + JobTitle
3NF
Contact = @ContactID + #CustID + Fullname + JobTitle
4. Supplier
2NF
Supplier = @SupplierID + SupplierName + SupplierAddress + SupplierFax
3NF
Supplier = @SupplierID + SupplierName + SupplierAddress + SupplierFax
5. Product
2NF
Product = @ProductType + ProductDescription + Qty + Unit + UnitPrice
Product = @ProductType + ProductDescription + Qty + Unit + UnitPrice
6. Activity
2NF
Activity = @ActivityID + StaffID + Date + Activity
3NF
Activity = @ActivityID + #StaffID + Date + Activity 7. Quotation
2NF
Quotation = @QuotationID + Date + Initial + CustID + CustName + CustAddress + CustFax + Attention + YourRef + StaffID + UserName + SalesPosition + ManagerName + ManagerPosition + Subject + DeliveryDate + DeliveryPoint + TermOfPayment + BankAccount + ExpiredPeriod + Guarantee + Note
Product = @ProductType + ProductDescription + UnitPrice
QuotationDetail = @QuotationID + @ProductType + Unit + Discount + Qty
3NF
Quotation = @QuotationID + Date + Initial + #CustID + Attention + YourRef + #StaffID +
SalesPosition + ManagerName + ManagerPosition + Subject + DeliveryDate + DeliveryPoint + TermOfPayment + BankAccount + ExpiredPeriod + Guarantee + Note
Product = @ProductType + ProductDescription + UnitPrice
QuotationDetail = @#QuotationID + @#ProductType + Unit + Discount + Qty
Customer = @CustID + CustName + CustAddress + CustType + CustFax
Staff = @StaffID + StaffName + Username + Password + Department
8. POCustomer
2NF
POCustomer = @POID + PODate + CustID + CustName + CustAddress
Product = @ProductType + ProductDescription + UnitPrice
POCustomerDetail = @POID + @ProductType + Qty + Unit
3NF
Product = @ProductType + ProductDescription + UnitPrice
POCustomerDetail = @#POID + @#ProductType + Qty + Unit
Customer = @CustID + CustName + CustAddress + CustType + CustFax
9. WORequest
2NF
WORequest = @ProjectID + ProjectName + ProjectOwner + MainContractor + POID + PODate + POEndDate + TrainingDate + MaintenanceDate + ContractValue + Note + PoUpload + BudgetUpload + Username
WORequestDetail = @ProjectID + Payment + Instalment + @InvoiceDate + PaymentNote
3NF
WORequest = @ProjectID + ProjectName + ProjectOwner + MainContractor + #POID + POEndDate + TrainingDate + MaintenanceDate + ContractValue + Note + PoUpload + BudgetUpload + #StaffID
WORequestDetail = @#ProjectID + Payment + Instalment + @InvoiceDate + PaymentNote POCustomer = @POID + PODate
Staff = @StaffID + StaffName + Username + Password + Department
10.PPB 2NF
PPB = @PPBID + ProjectID + Date + QuotationID + ProjectName + EndUser + EndUserLocation + Consignee + ShippingAddress + Requirement + POID + TermOfPayment + Address + Recipient + Notify + CustShipmentDueDate + Username + ManagerName
Product = @ProductType + ProductDescription + UnitPrice
PPBDetail = @PPBID + @ProductType + Qty + Unit + Brand + Note
3NF
PPB = @PPBID + #ProjectID + Date + #QuotationID + EndUser + EndUserLocation + Consignee + ShippingAddress + Requirement + TermOfPayment + Address + Recipient + Notify + CustShipmentDueDate + #StaffID + ManagerName
Product = @ProductType + ProductDescription + UnitPrice
PPBDetail = @PPBID + @ProductType + Qty + Unit + Brand + Note
WORequest = @ProjectID + ProjectName + ProjectOwner + MainContractor + #POID + POEndDate + TrainingDate + MaintenanceDate + ContractValue + Note
Quotation = @QuotationID + Date + Initial + #CustID + Attention + YourRef + #StaffID + SalesPosition + ManagerName + ManagerPosition + Subject + DeliveryDate + DeliveryPoint + TermOfPayment + BankAccount + ExpiredPeriod + Guaranty + Note
Staff = @StaffID + StaffName + Username + Password + Department
11.POSupplier
2NF
POSupplier = @POID + Date + Supplier ID + SupplierName + SupplierAddress + TotalPayment + PaymentDate + TermOfDelivery + TermOfPayment + CostPosting + Username
Product = @ProductType + ProductDescription + UnitPrice
POSupplierDetail = @POID + @ProductType + Qty + Unit
3NF
POSupplier = @POID + Date + #SupplierID + TotalPayment + PaymentDate + TermOfDelivery + TermOfPayment + CostPosting + #StaffID
Product = @ProductType + ProductDescription + UnitPrice
POSupplierDetail = @#POID + @#ProductType + Qty + Unit
Supplier = @SupplierID + SupplierName + SupplierAddress + SupplierFax
Staff = @StaffID + StaffName + Username + Password + Department
12.RequestForQuotation
2NF
RequestForQuotation = @RFQID + SupplierName + SupplierFax + Date + Ref + TotalPage + Subject + Username
Product = @ProductType + ProductDescription + UnitPrice
RequestForQuotationDetail = @RFQID + @ProductType + Qty
3NF
RequestForQuotation = @RFQID + #SupplierID + Date + Ref + TotalPage + Subject + StaffID Product = @ProductType + ProductDescription +
UnitPrice
RequestForQuotationDetail = @#RFQID + @#ProductType + Qty
Supplier = @SupplierID + SupplierName + SupplierAddress + SupplierFax
Staff = @StaffID + StaffName + Username + Password + Department
3.9.2.1.3Mengidentifikasikan Batasan Integritas
Tujuan dari langkah ini adalah untuk menentukan batasan integritas yang dapat melindungi basis data dari ketidakkonsistenan. Ada 5 batasan
integrity yang didefinisikan yaitu :
1. Required data
Beberapa atribut harus selalu mengandung sebuah nilai yang valid atau dengan kata lain, atribut-atribut ini tidak diperkenankan untuk mengandung nilai NULL. Batasan ini sudah didefinisikan dalam tahap 3.9.1.3.
Setiap atribut mempunyai sebuah domain, yang merupakan serangkaian nilai yang sah. Batasan ini juga sudah didefinisikan ketika memiliki domain atribut pda tahap 3.9.1.3.
3. Entity integrity
Primary key dari sebuah entitas tidak boleh NULL. Batasan ini juga sudah dipertimbangkan ketika mengiedntifikasikan primary key untuk setiap entity
yang dilakukan pada tahap 3.9.1.4.
4. Referential integrity
Jika suatu foreign key mengandung sebuah nilai, maka nilai tersebut harus mengacu pada suatu baris (tuple) yang ada dalam relasi induknya. Adapun
referential integrity constraints untuk relasi-relasi yang telah diciptakan sebelumnya dapat dilihat pada tabel 3.7 berikut ini :
Tabel 3.5 Tabel Referential Integrity
Staff (StaffID, StaffName, Username, Password, Department)
Primary KeyStaffID
Customer (CustID, CustName, CustAddress, CustType, CustFax)
Primary KeyCustID
Primary KeyContactID
Foreign KeyCustIDreferencesCustomer (CustID) ON UPDATE CASCADE ON DELETE NO ACTION Supplier (SupplierID, SupplierName, SupplierAddress, SupplierFax)
Primary Key SupplierID
Product (ProductType, ProductDescription, UnitPrice)
Primary KeyProductType
Activity (ActivityID, StaffID, Date, Activity) Primary Key ActivityID
Foreign Key StaffID references Staff (StaffID) ON UPDATE CASCADE ON DELETE NO ACTION
Quotation (QuotationID, Date, Initial, CustID, Attention, YourRef, StaffID,
SalesPosition, ManagerName, ManagerPosition, Subject, DeliveryDate, DeliveryPoint, TermOfPayment, BankAccount, ExpiredPeriod, Guaranty, Note)
Primary Key QuotationID
Foreign Key CustID references Customer (CustID) ON UPDATE CASCADE ON DELETE NO ACTION
StaffID references Staff (StaffID) ON UPDATE CASCADE
ON DELETE NO ACTION QuotationDetail (QuotationID, ProductType, Unit, Qty)
Primary Key QuotationID, ProductType
Foreign Key QuotationID references Quotation (QuotationID) ON UPDATE
ProductType references Product (ProductType) ON UPDATE CASCADE
ON DELETE CASCADE POCustomer (POID, PODate, CustID)
Primary Key POID
Foreign Key CustID references Customer (CustID) ON UPDATE CASCADE ON DELETE CASCADE
POCustomerDetail (POID, ProductType, Qty, Unit) Primary Key POID, ProductType
Foreign Key POID references POCustomer (POID) ON UPDATE CASCADE ON DELETE NO ACTION
ProductType references Product (ProductType) ON UPDATE CASCADE
ON DELETE NO ACTION WORequest (ProjectID, ProjectName, ProjectOwner, MainContractor, POID,
POEndDate, TrainingDate, MaintenanceDate, ContractValue, Note, POUpload, BudgetUpload, StaffID)
Primary Key ProjectID
Foreign Key POID references POCustomer (POID) ON UPDATE CASCADE ON DELETE NO ACTION
StaffID references Staff (StaffID) ON UPDATE CASCADE
ON DELETE CASCADE WORequestDetail (ProjectID, InvoiceDate, Payment, Instalment, PaymentNote) Primary Key ProjectID, InvoiceDate
ON DELETE NO ACTION PPB (PPBID, ProjectID, Date, QuotationID, EndUser, EndUserLocation, Consignee,
ShippingAddress, Requirement, TermOfPayment, Address, Recipient, Notify, CustShipmentDueDate, StaffID, ManagerName)
Primary Key PPBID
Foreign Key ProjectID references WORequest (ProjectID) ON UPDATE CASCADE ON DELETE NO ACTION
QuotationID references Quotation (QuotationID)
ON UPDATE CASCADE ON DELETE CASCADE
StaffID references Staff (StaffID) ON UPDATE CASCADE
ON DELETE NO ACTION PPBDetail (PPBID, ProductType, Qty, Unit, Brand, Note)
Primary Key PPBID, ProductType
Foreign Key PPBID references PPB (PPBID) ON UPDATE CASCADE
ON DELETE NO ACTION
ProductType references Product (ProductType) ON UPDATE CASCADE
ON DELETE CASCADE POSupplier (POID, Date, SupplierID, TotalPayment, PaymentDate, TermOfDelivery,
TermOfPayment, CostPosting, StaffID)
Primary Key POID
Foreign Key SupplierID references Supplier (SupplierID)) ON UPDATE CASCADE ON DELETE NO ACTION
ON DELETE CASCADE POSupplierDetail (POID, ProductType, Qty, Unit)
Primary Key POID, ProductType
Foreign Key POID references POSupplier (POID) ON UPDATE CASCADE
ON DELETE NO ACTION
ProductType references Product (ProductType) ON UPDATE CASCADE
ON DELETE CASCADE RequestForQuotation (RFQID, SupplierID, Date, Ref, TotalPage, Subject, StaffID) Primary Key RFQID
Foreign Key SupplierID references Supplier (SupplierID) ON UPDATE CASCADE ON DELETE NO ACTION
StaffID references Staff (StaffID) ON UPDATE CASCADE
ON DELETE CASCADE RequestForQuotationDetail (RFQID, ProductType, Qty)
Primary Key RFQID, ProductType
Foreign Key RFQID references RequestForQuotation(RFQ) ON UPDATE CASCADE ON DELETE NO ACTION
ProductType references Product (ProductType) ON UPDATE CASCADE
ON DELETE CASCADE Phone (PhoneID, Phone, PhoneType, ContactID)
Primary key PhoneID
Foreign Key ContactID references Contact (ContactID) ON UPDATE CASCADE ON DELETE CASCADE
Address (AddressID, Address, AddressType, ContactID) Primary key AddressID
Foreign Key ContactID references Contact (ContactID) ON UPDATE CASCADE ON DELETE CASCADE Email (EmailID, Email, EmailType, ContactID)
Primary key EmailID
Foreign Key ContactID references Contact (ContactID) ON UPDATE CASCADE ON DELETE CASCADE WorkScope (WorkScopeID, WorkScope, QuotationID, ProjectID)
Primary key WorkScopeID
Foreign Key ContactID references Contact (ContactID) ON UPDATE CASCADE ON DELETE CASCADE
ProjectID references WORequest (ProjectID) ON UPDATE CASCADE
ON DELETE NO ACTION
QuotationID references Quotation (QuotationID)
ON UPDATE CASCADE ON DELETE CASCADE
3.9.2.2Membuat dan Memvalidasi Model Data Logikal Global
Tujuan dari tahap ini adalah menggabungkan tiap model data logikal lokal ke dalam satu model data logikal global yang menggambarkan keseluruhan perusahaan, dimana kamus data entity global dapat dilihat pada Tabel 3.5 dan kamus data atribut
global dapat dilihat pada Tabel 3.6 serta ERD global dapat dilihat pada Gambar 3.18.
Tabel 3.6 Kamus Data Entitas Global
Entity name Description Alias / Nama
Lain
Ocurrence
Staff Merupakan entitas yang berisi informasi tentang pegawai yang bekerja di perusahaan.
Pegawai Setiap pegawai
yang yang bekerja di Divisi
Power
Engineering PT Guna Elektro. Staff terdiri dari
sales utility, sales industrial,
manager, finance, dan
purchasing. Customer Merupakan entitas
yang berisi informasi tentang pelanggan dari perusahaan.
Pelanggan Setiap pelanggan yang membeli
barang dari Divisi
Power
Engineering PT Guna Elektro.
Contact Merupakan entitas yang berisi informasi
Contact Person Setiap contact
tentang contact person dari pelanggan perusahaan. yang dapat dihubungi ketika melakukan transaksi penjualan.
Phone Merupakan entitas yang berisi informasi tentang nomor telepon dari contact person.
Nomor Telepon Setiap nomor telepon yang dimiliki oleh
contact person.
Address Merupakan alamat yang berisi informasi tentang alamat dari
contact person.
Alamat Setiap alamat
yang dimiliki oleh contact person.
Email Merupakan alamat yang berisi informasi tentang email dari
contact person.
Email Setiap email yang dimiliki oleh
contact person.
Supplier Merupakan entitas yang berisi informasi tentang perusahaan pemasok barang.
Pemasok Setiap pemasok
barang ke Divisi
Power
Engineering PT. Guna Elektro. Setiap pemasok
dapat memasok lebih dari satu jenis barang.
Product Merupakan entitas yang berisi informasi tentang produk yang dijual perusahaan.
Barang Setiap barang
yang diterima dan dikeluarkan oleh
Divisi Power Engineering PT. Guna Elektro.
Activity Merupakan entitas yang memberi informasi tentang aktivitas yang dilakukan oleh sales.
Aktivitas Penjualan
Setiap kegiatan penjualan yang isi oleh sales dan kegiatan itu dapat dilihat oleh
manager.
Quotation Merupakan entitas yang memberi informasi tentang penawaran produk yang ditujukan kepada pelanggan.
Penawaran Setiap penawaran produk beserta
harga yang dilakukan oleh
sales yang akan dikirimkan
kepada pelanggan perusahaan.
QuotationDetail Merupakan entitas yang berisi informasi tentang rincian barang yang ditawarkan kepada pelanggan berupa quotation.
Detil penawaran Setiap barang yang ditawarkan kepada pelanggan berupa quotation.
POCustomer Merupakan entitas yang memberi informasi tentang
purchase order dari pelanggan. Purchase Order Pelanggan Setiap purchase order yang dikirim oleh pelanggan perusahaan.
POCustomerDetail Merupakan entitas yang berisi informasi tentang rincian barang yang dipesan
pelanggan.
Detil Purchase Order Pelanggan
Setiap barang yang dipesan oleh pelanggan.
WORequest Merupakan entitas yang memberi informasi tentang permohonan work order yang dibuat oleh
sales kepada finance.
Permohonan WO Setiap laporan permohonan
work order yang dibuat sales
kepada finance
untuk mendapat persetujuan atas
pengerjaan proyek.
WorkScope Merupakan entitas yang memberi informasi tentang lingkup kerja dari proyek yang akan dijalankan.
Lingkup Kerja Setiap lingkup kerja dari proyek yang akan dijalankan. Dalam suatu proyek dapat terdiri dari beberapa lingkup kerja.
WORequestDetail Merupakan entitas yang memberi informasi tentang pembayaran yang dilakukan oleh pelanggan secara berangsur. Detil Permohonan WO Setiap pembayaran yang dilakukan oleh pelanggan. PPB Merupakan entitas yang memberi informasi tentang permohonan pembelian barang Permohonan Pembelian Barang Permonan pembelian barang yang dilakukan sales kepada bagian
sales kepada bagian purchasing. purchasing apabila barang yang diminta pelanggan tidak ada di stok.
PPBDetail Merupakan entitas yang memberi informasi tentang rincian barang yang diminta sales kepada bagian purchasing. Detil Permohonan Pembelian Barang Setiap barang yang diminta oleh
sales kepada bagian
purchasing.
POSupplier Merupakan entitas yang memberi informasi tentang purchase order perusahaan kepada supplier. Purchase Order Pemasok Setiap purchase order yang dibuat bagian
purchasing untuk memesan barang kepada supplier
perusahaan.
POSupplierDetail Merupakan entitas yang memberi informasi tentang rincian barang yang
Detil Purchase Order Pemasok
Setiap barang yang dipesan kepada pemasok.
dipesan oleh perusahaan kepada pemasok.
RequestForQuotation Merupakan entitas yang memberi informasi tentang permintaan penawaran harga kepada supplier.
Permintaan Penawaran
Laporan permintaan penawaran harga yang dibuat oleh bagian purchasing kepada supplier perusahaan. RequestForQuotation Detail Merupakan entitas yang memberi informasi tentang rincian barang yang diminta kepada pemasok untuk dibuatkan penawaran harga. Detil Permintaan Penawaran Setiap barang yang diminta kepada pemasok untuk dibuatkan penawaran harga.
Tabel 3.7 Kamus Data Atribut Global
Entity Name
Atribute Description Tipe Data
& length
Nulls Multi-Valued
StaffID Identitas unik untuk setiap
staff
Integer No No
StaffName Nama staff Varchar (50)
No No
Username Identitas dari setiap staff Varchar (50)
No No
Password Kata kunci Varchar (50)
No No
Staff
Department Staff ditempatkandi
department tertentu
Varchar (50)
No No
CustID Identitas unik untuk setiap
customer
Integer No No
CustName Nama customer Varchar (50)
No No
CustAddress Alamat customer
(Negara,kota,jalan)
Varchar (100)
No No
CustType Tipe customer di perusahaan
Varchar (20)
No No
Customer
CustFax Nomor faximile customer Varchar (20)
ContactID Identitas unik untuk setiap
contact
Integer No No
CustID Identitas unik untuk setiap
customer
Integer No No
Fullname Nama lengkap contact Varchar (50)
No No
Contact
JobTitle Jabatan pekerjaan contact Varchar (50)
No No
PhoneID Identitas unik untuk setiap
Phone
Integer Yes Yes
Phone Setiap no telepon dari
contact person
Varchar (20)
Yes Yes
PhoneType Tipe dari nomor telepon
contact person
Varchar (20)
Yes Yes
Phone
ContactID Identitas unik untuk setiap
contact
Integer No No
AddressID Identitas unik untuk setiap
Address
Integer Yes Yes
Address Setiap alamat dari contact person
Varchar (100)
Yes Yes
AddressType Tipe dari alamat contact person
Varchar (20)
Yes Yes
Address
contact
EmailID Identitas unik untuk setiap
Address
Integer Yes Yes
Email Setiap email dari contact person
Varchar (50)
Yes Yes
EmailType Tipe dari emailcontact person
Varchar (20)
Yes Yes
ContactID Identitas unik untuk setiap
contact
Integer No No
SupplierID Identitas unik untuk setiap
supplier
Integer No No
SupplierName Nama supplier Varchar (50)
No No
SupplierAddress Alamat supplier
(Negara,kota,jalan)
Varchar (100)
No No
Supplier
SupplierFax Nomor faximile supplier Varchar (20)
No Yes
ProductType Identitas unik dari setiap produkpada perusahaan
Varchar (50)
No No
ProductDescripti on
Penjelasan namaproduk Varchar (50)
No No
Product
UnitPrice Harga satuan produk Decimal No No