thesis.binus.ac.idthesis.binus.ac.id/doc/bab3/2010-1-00090-if bab 3.pdf · 57 bab 3 analisis sistem...
TRANSCRIPT
57
BAB 3
ANALISIS SISTEM YANG SEDANG BERJALAN
3.1 Riwayat Perusahaan
3.1.1 Sejarah PT Abdibangun Buana
PT. Abdibangun Buana yang pada mulanya bernama PT. Scanteknik
Elektro Indonesia ini telah berdiri sejak tanggal 22 Oktober 1982. Perusahaan
yang berlokasi di Gedung CCM lantai 7 Cikini Raya No 95 ini merupakan
cabang dari induk perusahaan yang berada di Swedia dengan nama ABB,
Asea Brown Boveri Ltd.
PT. Abdibangun Buana bergerak dibidang pendistribusian alat – alat
listrik. Alat – alat listrik yang didistribusi antara lain, seperti pemutus sirkuit,
soft starter, relai monitor, dan lainnya. PT. Abdibangun Buana sendiri sudah
mendapat banyak kepercayaan dari para kliennya seperti: Krakatau Steel,
Indofood, Carefour, Gudang Garam, dan lain-lain.
57
58 3.2 Struktur Organisasi
3.2.1 Struktur Organisasi PT Abdibangun Buana
Gambar 3.1 Struktur Organisasi PT Abdibangun Buana
59
3.2.2 Struktur Organisasi Product Division
Gambar 3.2 Struktur Organisasi Product Division
60
3.2.3 Tugas dan Wewenang
3.2.3.1 Board of Director
Bagian ini berisi para pemegang saham perusahaan PT Abdibangun
Buana.
3.2.3.2 Managing Director
Bagian ini bertanggung jawab terhadap apa yang terjadi terhadap
perusahaan.
3.2.3.3 General Manager
Bagian ini bertanggung jawab terhadap keputusan yang diambil oleh
para kepala divisi. General manager bertanggung jawab juga
terhadap Managing Director.
3.2.3.4 EDP (Electronic Data Processing)
Bagian ini bertugas untuk memberikan laporan kepada pihak
manajerial.
3.2.3.5 Power Division
Bagian ini bertugas untuk menjual alat – alat listrik bertegangan
tinggi (high voltage) - diatas 36000V - dan pembangunan proyek.
61
3.2.3.6 Product Division
Bagian ini bertugas untuk menjual alat – alat listrik yang memiliki
voltase yang rendah (low voltage) sekitar 110V – 1000V.
3.2.3.7 MV Panel Division
Bagian ini bertugas untuk menjual alat – alat listrik yang memiliki
tegangan yang tidak terlalu besar (medium voltage) sekitar 1000V –
36000V.
3.2.3.8 Admin & Logistic Division
Bagian ini bertugas untuk mengatur stocking barang, import barang,
pengiriman barang, packing, pengambilan barang dari gudang, dan
lain – lain.
3.2.3.9 Human Resource & General Administration Departement
Bagian ini bertugas untuk kepengurusan karyawan, dan pengurusan
biaya atau iuran perusahaan.
3.2.3.10 Principal Comm Sub Section
Bagian ini bertugas untuk menentukan harga barang yang akan dijual
agar dapat memberikan keuntungan yang semaksimal mungkin.
62
3.2.3.11 Evaluation
Bagian ini bertugas untuk memberikan hasil analisa – analisa yang
dibutuhkan dalam pengambilan keputusan dalam menentukan harga
suatu barang.
3.2.3.12 Secretariat
Bagian ini bertugas untuk menerima laporan yang datang dari luar
perusahaan yang nantinya akan diproses kembali, seperti dokumen
Permintaan Penawaran (PP).
3.3 Prosedur yang Sedang Berjalan
Sistem yang sedang berjalan di PT Abdibangun Buana masih menggunakan
sistem manual, yakni masih menggunakan Excel dan Word dalam pengarsipan data
– datanya sehingga hasilnya kadang tidak sesuai dengan apa yang diharapkan.
3.3.1 Sistem Permintaan Penawaran
Pelanggan melakukan pemesanan kepada pihak Product Division
melalui telepon, email, surat, dan berbagai macam media komunikasi lainnya.
Lalu permintaan Penawaran Pelanggan (PP) tersebut akan dicatat kedalam
buku PP. PP yang diperoleh akan dipelajari dan dilihat apakah produk yang
dipesan ada hubungannya dengan divisi yang menangani produk tertentu.
63
Apabila produk yang dipesan ada hubungannya dengan divisi lain, maka
pihak sales akan menghubungi divisi yang bersangkutan untuk dipindah
tangankan. Apabila pelanggan sudah menghubungi divisi yang tepat, maka
pihak sales akan mengecek apakah barang tersebut terdapat di dalam PL
(Price List) atau tidak, apabila barang terdapat di dalam PL, maka pihal sales
department akan mengirim PL kepada pelanggan. Namun apabila barang
tidak ada di PL, maka pihak sales department akan meminta PL kepada pihak
marketing department dengan membuat surat surat permintaan PL sebagai
bukti permintaan. Selanjutanya bagian marketing department akan
mengirimkan PL beserta surat pengantar PL sebagai bukti untuk pengiriman
PL. Melalui PL yang dikirimkan kepada pihak marketing department, sales
department membuat surat penawaran dan mencatat nomor penawaran di
buku penawaran, lalu buku penawaran tersebut akan diarsipkan. Selanjutnya
pihak sales department akan mengirimkan surat penawaran kepada
pelanggan. (Diagram Aliran Dokumen (DAD) sistem ini dapat dilihat pada
gambar 3.3)
3.3.2 Sistem Penerimaan Order
Pihak sales department akan menerima PO dari pelanggan lalu
mencatat PO ke dalam buku log PO dan membuat salinan PO, setelah
mencatatnya buku log PO akan diarsipkan. Pihak sales department akan
mengecek pelanggan dengan data pelanggan yang sudah ada melalui PO dan
64
buku log PO, di tahap ini akan dapat ditentukan apakah pelanggan merupakan
pelanggan baru atau tidak. Apabila pelanggan baru maka kita akan menuju
proses penentuan harga jual, namun apabila pelanggan lama maka pihak sales
department akan mengecek jenis pelanggan tersebut apakah distributor, panel
builder, atau end user. Setelah itu pihak sales department akan mengecek
pembayaran pelangan tersebut apakah pelanggan tersebut pernah memiliki
masalah dalam pembayaran atau tidak, dengan meminta catatan account
receivable kepada pihak admin & log division. Apabila pelanggan tersebut
memiliki permasalahan dalam pembayarannya, maka pihak sales department
akan meminta persetujuan sales department head untuk disetujui, apabila
sales department tidak menyetujui maka transaksi selesai dan pihak sales
department akan menghubungi pihak pelanggan. Namun apabila pihak sales
department head menyetujui maka PO akan ditanda tangani lalu berubah
menjadi CPOA (customer purchase order approval). Apabila pihak sales
department tidak mendapat pelanggan tersebut bermasalah maka PO tersebut
akan ditandatangani oleh pihak sales department. (Diagram Aliran Dokumen
(DAD) sistem ini dapat dilihat pada gambar 3.4)
3.3.3 Sistem Penentuan Harga Jual Barang
Sistem ini terjadi apabila ada pelanggan baru yang ingin membeli
barang dari PT ABB. Pihak sales akan mengecek pelanggan berdasarkan
salinan PO (Purchase Order) yang diperolehnya. Setelah mengecek
65
pelanggan, maka pihak sales akan melakukan interview kepada pihak
pelanggan dan meminta surat dagang kepada pelanggan dengan cara datang
ke tempat pelanggan yang nantinya digunakan sebagai bukti apabila
pelanggan tersebut merupakan distributor atau panel builder. Apabila
pelanggan memiliki surat dagang, maka pihak sales akan mengirim surat
dagang, catatan interview, serta salinan PO kepada pihak secretariat. Lalu
dari pihak secretariat akan menyerahkan ketiga surat tersebut kepada pihak
sales department head dari ketiga surat tersebut sales department head dapat
menentukan apakah pelanggan tersebut termasuk distributor atau panel
builder. Namun apabila pelanggan tidak memiliki surat dagang, maka pihak
sales akan mengirim catatan interview dan salinan PO kepada secretariat.
Lalu pihak secretariat akan memberikan diskon end user kepada pihak
pelanggan. (Diagram Aliran Dokumen (DAD) sistem ini dapat dilihat pada
gambar 3.5)
3.3.4 Sistem Pembayaran
Pihak sales department akan mengirimkan CPOA yang belum dibayar
kepada pihak fin & acc department, lalu pihak fin & acc department akan
menanyakan jenis pembayaran kepada pihak customer. Apabila customer
ingin membayar dengan kredit, maka sales department akan mengecek
apakah customer bermasalah atau tidak. Apabila customer tidak bermasalah
maka proses akan berlanjut kepada cara pembayaran kredit, apabila customer
66
bermasalah maka sales department akan menolak kredit yang diajukan oleh
customer, selanjutnya akan ditanyakan apakah customer ingin melanjutkan
transaksi atau tidak, apabila tidak maka transaksi selesai. Apabila customer
ingin melanjutkan transaksi, maka user harus membayar dengan tidak
menggunakan kredit. Apabila customer tidak membayar dengan kredit, maka
customer harus mengirimkan bukti transfer kepada pihak fin & acc
department yang selanjutnya bukti transfer tersebut akan diarsipkan, apabila
pembayaran sudah dilakukan, maka pihak fin & acc department akan
menginformasikan hasil pembayaran kepada pihak customer. (Diagram
Aliran Dokumen (DAD) sistem ini dapat dilihat pada gambar 3.6)
3.3.5 Sistem Pembayaran Kredit
Pihak finn & acc department beserta customer akan melakukan
kesepakatan tentang cara pembayaran mulai dari jatuh tempo, penentuan
bunga, dan lain – lain. Apabila pembayaran sudah jatuh tempo, maka pihak
finn & acc department akan menagih kepada customer, dan customer akan
melakukan pembayaran. Apabila pembayaran yang dilakukan bermasalah,
maka pihak finn & acc department akan memberikan denda sanksi kepada
customer. Apabila pembayaran customer tidak bermasalah, maka proses akan
selesai. (Diagram Aliran Dokumen (DAD) sistem ini dapat dilihat pada
gambar 3.7)
67
3.3.6 Sistem Komparasi Harga Kompetitor
Pihak sales department head akan meminta perbandingan harga PT
ABB dengan kompetitor lainnya. Selanjutnya pihak evaluation akan
mengirim hasil perbandingan kepada pihak sales department head. Lalu
pihak sales department head akan menganalisa hasil perbandingan harga
tersebut, lalu akan menentukan apakah akan ada perubahan harga jual atau
tidak. Apabila merubah harga jual, maka pihak sales department head akan
mengirim hasil perubahan harga kepada pihak evaluation untuk merubah PL
(Price List). Namun apabila tidak terjadi perubahan harga, maka PL tidak
akan berubah. (Diagram Aliran Dokumen (DAD) sistem ini dapat dilihat pada
gambar 3.8)
3.3.7 Sistem Laporan Hasil Penjualan
Pihak sales department head akan meminta untuk dibuatkan laporan
hasil penjualan kepada jabotabek sect head, yaitu bagian yang mengurusi
penjualan di wilayah Jakarta, Bogor, Tangerang, dan Bekasi. Pihak jabotabek
sect head akan membuat laporan sesuai dengan kebutuhan pihak sales
department head. Setelah membuat laporan tersebut, maka laporan akan
dikirim kepada pihak sales department head yang nantinya akan digunakan
dalam pengambilan keputusan. (Diagram Aliran Dokumen (DAD) sistem ini
dapat dilihat pada gambar 3.9)
68 3.4 Diagram Aliran Dokumen
3.4.1 Penanganan, Permintaan, dan Penawaran
Gambar 3.3 Diagram Aliran Dokumen Penanganan, Permintaan, dan
Penawaran
69
3.4.2 Penerimaan Order
Gambar 3.4 Diagram Aliran Dokumen Penerimaan Order
70
3.4.3 Penentuan Harga Jual Barang
Gambar 3.5 Diagram Aliran Dokumen Penentuan Harga Jual Barang
71
3.4.4 Sistem Pembayaran
Gambar 3.6 Diagram Aliran Dokumen Sistem Pembayaran
72
3.4.5 Sistem Pembayaran Kredit
Gambar 3.7 Diagram Aliran Dokumen Sistem Pembayaran Kredit
73
3.4.6 Komparasi Harga Kompetitor
Gambar 3.8 Diagram Aliran Dokumen Komparasi Harga Kompetitor
74
3.4.7 Laporan Hasil Penjualan
Gambar 3.9 Diagram Aliran Dokumen Laporan Hasil Penjualan
75 3.5 Analisis Kebutuhan Sistem
3.5.1 Kebutuhan Informasi
3.5.1.1 Di Bidang Penjualan
1. Informasi pegawai meliputi kode pegawai, nama, alamat,
tanggal lahir, jenis kelamin, nomor telepon, nomor fax, email,
jabatan, divisi, dan kewarganegaraan.
2. Informasi customer meliputi kode perusahaan, nama
perusahaan, nomor telepon, email, nomor fax, alamat, jenis
customer, dan potongan harga.
3. Informasi barang meliputi tipe, nomor referensi, harga,
deskripsi, arus nominal, jumlah kutub, icu, aus gangguan, dan
lain sebagainya.
4. Data transaksi penjualan.
3.5.2 Kebutuhan Keamanan Data
Keamanan data pada suatu perusahaan adalah hal yang wajib
dilakukan demi mengurangi berbagai resiko keamanan data yang mungkin
saja dapat terjadi di suatu perusahaan. Selain itu masalah kewenangan dan
otoritas user yang menggunakan aplikasi termasuk pengaksesan data yang
dipakai dalam aplikasi, juga sangat dibutuhkan. Oleh karena itu, dibutuhkan
adanya suatu sistem yang berupa aplikasi yang dapat menangani masalah hak
akses dan otoritas dalam pengaksesan data.
76
3.5.3 Kebutuhan Integrasi Data
Perusahaan membutuhkan suatu aplikasi yang mampu
menghubungkan antara satu data dengan data yang lainnya khususnya pada
product division. Sehingga data satu dengan data yang lainnya dapat saling
terhubung.
3.5.4 Kebutuhan Transaksi
Perusahaan membutuhkan suatu aplikasi yang mampu meng-insert,
meng-update, dan men-delete data – data proses penjualan ke dalam suatu
media penyimpanan berupa basis data.
3.5.5 Permasalahan yang Dihadapi
Setelah menganalisa dan mendapatkan informasi sistem yang ada serta
wawancara langsung terhadap manager yang telah dilakukan sebelumnya,
maka didapatkan beberapa permasalahan yang dihadapi oleh PT. Abdibangun
Buana yaitu sebagai berikut:
1. Proses pembuatan laporan pembangunan proyek baik berupa laporan
bulanan maupun tahunan, pengusulan barang subsitusi bagi para
konsumen yang akan memesannya, dan perhitungan biaya proyek masih
menggunakan cara manual yaitu dengan tulis tangan, sehingga dapat
menyebabkan terjadinya kesalahan dalam pendataan proses penjualan
atau human error yang terjadi khususnya pada product division;
77
2. Tidak adanya sistem basis data yang dapat mempercepat dan
mempermudah proses peng-input-an dan peng-update-an data yang
diperoleh, sehingga memperlambat proses peng-input-an dan peng-
updatean data serta memperlambat kinerja dari para karyawan;
3. Tidak adanya aplikasi yang memudahkan proses pemindahan data
perbandingan harga para kompetitor terhadap barang tertentu yang telah
diperoleh datanya dalam format excel, sehingga dalam membandingkan
harga kompetitor menjadi kurang efisien.
4. Rentannya keamanan dari data yang disimpan di dalam format excel,
word, dan kertas/dokumen lainnya, karena minimnya fitur yang dimiliki
kedua aplikasi tersebut dan kertas dapat dengan mudah hilang maupun
rusak, sehingga dapat menyebabkan bocornya rahasia perusahaan dan
hilangnya data.
3.5.6 Usulan Pemecahan Masalah
Dari analisis permasalahan serta kebutuhan perusahaan, berikut adalah
usulan pemecahan masalah yang dapat diberikan:
1. Merancang dan membangun basis data agar data yang dibutuhkan dapat
dengan cepat dan mudah diperoleh serta menghindari kerusakan dan
kehilangan data akibat ditulis pada secarik kertas atau dibuat dalam
sebuah dokumen maupun dalam format word/excel; dan
78
2. Merancang dan membangun sebuah aplikasi yang dapat diintegrasikan
atau dihubungkan dengan data perbandingan harga para kompetitor
terhadap barang tertentu yang terdapat dalam format excel.
3. Merancang dan membangun aplikasi yang dapat memberikan keamanan
terhadap informasi data yang telah diperoleh dan disimpan.
3.6 Perancangan Basis Data
Perancangan basis data merupakan proses pembuatan suatu rancangan untuk
suatu basis data yang akan mendukung operasi dan tujuan perusahaan. Perancangan
basis data terdiri dari tiga tahap, yakni:
• Perancangan basis data konseptual (conceptual database design);
• Perancangan basis data logikal (logical database design); dan
• Perancangan basis data fisikal (physical database design).
3.6.1 Perancangan Basis Data Konseptual (Conceptual Database Design)
Perancangan basis data secara konseptual merupakan proses
membangun suatu model informasi yang digunakan dalam suatu perusahaan,
bebas dari semua pertimbangan fisik.
Langkah-langkah penting dalam merancang sebuah basis data secara
konseptual adalah:
• Mengidentifikasi tipe entity;
• Mengidentifikasi tipe relationship;
79
• Identifikasi dan asosiasi atribut dengan entity atau tipe relationship;
• Menetapkan domain atribut;
• Mengidentifikasi candidate dan primary key setiap entity;
• Mempertimbangkan kegunaan dari konsep enhanced modeling
(optional);
• Memeriksa model untuk redundancy;
• Validasi model konseptual lokal terhadap transaksi user; dan
• Review model data konseptual lokal dengan user.
3.6.1.1 Mengidentifikasi Tipe Entity
Tujuan langkah mengidentifikasi tipe entity yaitu untuk
menentukan entitas utama yang dibutuhkan oleh view.
Tabel 3.1 Mengidentifikasi Tipe Entity
Nama Entity Deskripsi Alias Kejadian
Pegawai Menjelaskan
informasi
semua pegawai
yang bekerja di
PT.
Abdibangun
Buana.
Karyawan Setiap pegawai
melakukan
tugas sesuai
dengan
aktivitas kerja
di perusahaan.
80
Nama Entity Deskripsi Alias Kejadian
Customer Menjelaskan
informasi
semua
customer PT.
Abdibangun
Buana.
Pelanggan Pelanggan
melakukan
pemesanan
terhadap
perusahaan.
TipeBarang Menjelaskan
semua tipe
barang yang
ada.
TipeProduk Satu barang
memiliki satu
atau banyak
tipe barang.
PO Menjelaskan
semua PO yang
masuk ke
PT.Abdibangun
Buana.
PO Purchase
order
ditangani oleh
satu pegawai.
Lengkapan Menjelaskan
semua
lengkapan yang
ada di PT.
Abdibangun
Buana.
Aksesoris Setiap
aksesoris yang
dijual PT
Abdibangun
Buana.
81
Nama Entity Deskripsi Alias Kejadian
Interlok Menjelaskan
semua jenis
kabel interlok
yang ada di PT.
Abdibangun
Buana.
Kabel Setiap interlok
yang dijual
pada PT.
Abdibangun
Buana.
3.6.1.2 Mengidentifikasi Tipe Relationship
Pada langkah identifikasi tipe relationship ini bertujuan untuk
mengidentifikasi relationship penting yang terjadi antar tipe entity
yang telah diidentifikasi.
Gambar 3.10 ER Diagram Konseptual
82
Tabel 3.2 Mengidentifikasi Tipe Relationship
Entity Name Multiplicity Relationship Entity Name Multiplicity
Pegawai 1..1 menangani PO 0..*
Customer 1..1 membuat PO 1..*
PO 1..* Melibatkan TipeBarang 0..*
1..* Melibatkan Lengkapan 0..*
1..* Melibatkan Interlok 0..*
3.6.1.3 Identifikasi dan Asosiasi Atribut dengan Entity Atau Tipe
Relationship
Tahap ini bertujuan untuk mengasosiasikan atribut dengan
entity atau tipe relationship yang sesuai serta menentukan domain
bagi atibut-atibut dalam model data konseptual.
1. Pegawai
Tabel 3.3 Atribut entity Pegawai
Attribute Description Data Type
and Length
Null Multivalue
KdPegawai Secara unik
mengidentifikasi
Kode Pegawai
Char(5) No No
NamaP Nama Pegawai Varchar(50) No No
83
Attribute Description Data Type
and Length
Null Multivalue
AlamatP Alamat Pegawai Varchar(100) No No
Phone Nomor Telepon
Pegawai
Varchar (20) No Yes
Fax Fax Pegawai Varchar (20) Yes Yes
Email Email Pegawai Varchar (100) No Yes
DOB Tanggal Lahir
Pegawai
Datetime No No
JK Jenis Kelamin
Pegawai
Char(1) No No
Jabatan Jabatan pegawai Varchar (15) No No
Divisi Divisi pegawai
bekerja
Varchar (30) No No
UserP
Username
Password
Nama user yang
menggunakan
aplikasi
Password user
Varchar (10)
Varchar (20)
No
No
No
No
WargaN Kewarganegaraan Char (3) No No
84
2. Customer
Tabel 3.4 Atribut entity Customer
Attribute Description Data Type
and Length
Null Multivalue
KdCustomer Secara unik
mengidentifikasi
Kode Customer
Char(5) No No
NamaC Nama Customer Varchar(50) No No
AlamatC Alamat
Customer
Varchar(100) No No
Phone Nomor Telp
Customer
Varchar(20) No Yes
Fax Fax Customer Varchar(20) Yes Yes
Email Email Customer Varchar(100) No Yes
JenisC Jenis Customer Varchar (30) No No
3. TipeBarang
Tabel 3.5 Atribut entity TipeBarang
Attribute Description Data Type
and Length
Null Multivalue
KdTipe Secara unik
mengidentifikasi
KodeTipeBarang
Varchar (20) No No
85
Attribute Description Data Type
and Length
Null Multivalue
In Arus Nominal Varchar (5) Yes No
Icu Kapasitas
Pemutusan
Varchar (5) Yes No
UnitTrip Unit Trip Varchar (15) Yes No
I3 Setelan Arus
Magnetis
Varchar (5) Yes No
JumKutub Jumlah Kutub Varchar (3) Yes No
Un Nominal Voltage Varchar (5) Yes No
AusG Aus Gangguan Varchar (5) Yes No
SArus Setelan Arus Varchar (12) Yes No
Deskripsi Deskripsi Varchar (200) Yes No
Ukuran3P
Harga
Harga tipe barang
ukuran 3P
money
No
No
Ukuran4P
Harga
Harga tipe barang
ukuran 4P
money
Yes
No
86
Attribute Description Data Type
and Length
Null Multivalue
Barang
NamaB
NoStanda
rd
Icu
TipeUT
Proteksi
JenisK
TipeI
JArusP
KelasTrip
CWave
Nama barang
Nomor standard
Kapasitas
pemutusan
Tipe Unit Trip
Unit proteksi
Jenis koneksi
Tipe Instalasi
Jangkauan Arus
Pengenal
Kelas Trip
Current Wave
Varchar(50)
Varchar (15)
Varchar (5)
Varchar (20)
Varchar (20)
Varchar (20)
Varchar (15)
Varchar (15)
Varchar (5)
Char (5)
No
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
No
No
No
No
No
No
No
NamaJenisB Nama Jenis
Barang
Varchar (50) No No
BKompetitor
NamaBar
angK
Harga
Nama Barang
kompetitor
Harga barang
kompetitor
Varchar (50)
money
No
No
No
No
87
4. PO
Tabel 3.6 Atribut entity PO
Attribute Description Data Type
and Length
Null Multivalue
KdPO Secara unik
mengidentifikasi
Kode PO
Varchar (10) No No
Tanggal Tanggal
transaksi
datetime No No
Qty Jumlah Varchar (3) No No
5. Lengkapan
Tabel 3.7 Atribut entity Lengkapan
Attribute Description Data Type
and Length
Null Multivalue
KdTipeL Secara unik
mengidentifikasi
Kode Tipe
Lengkapan
Char (5) No No
TipeL Tipe Lengkapan Varchar (20) No No
UnitTrip Unit Trip Varchar (15) Yes No
Proteksi Proteksi Varchar (20) Yes No
88
Attribute Description Data Type
and Length
Null Multivalue
NoRefL No Referensi
Lengkapan
Char (6) No No
Harga Harga money No No
Deskripsi Deskripsi Varchar (200) Yes No
Ukuran3PL
NoRefU3
Harga
Nomor
Referensi
lengkapan yang
berukuran 3P
Harga
lengkapan
berukuran 3P
Varchar (15)
money
Yes
Yes
No
No
Ukuran4PL
NoRefU4
Harga
Nomor
Referensi
lengkapan yang
berukuran 4P
Harga
lengkapan u 4P
Varchar (15)
money
Yes
Yes
No
No
89
Attribute Description Data Type
and Length
Null Multivalue
BukaYO
NoRefYO
Harga
Nomor
Referensi
pelepas
pembuka
pemutus sirkit
Harga
lengkapan
pelepas
pembuka
pemutus sirkit
Varchar (5)
money
Yes
Yes
No
No
TutupYC
NoRefYC
Harga
Nomor
Referensi
pelepas penutup
pemutus sirkit
Harga
lengkapan
pelepas penutup
pemutus sirkit
Integer (5)
money
Yes
Yes
No
No
90
6. Interlok
Tabel 3.8 Atribut entity Interlok
Attribute Description Data Type
and Length
Null Multivalue
KdInterlok Secara unik
mengidentifikasi
Kode Interlok
Char(5) No No
Harga Harga interlok money No No
Deskripsi Deskripsi Varchar(200) Yes No
Tipe Tipe pemutus
sirkit
Varchar (10) No No
3.6.1.4 Menetapkan Domain Atribut
Domain atribut merupakan batasan nilai yang valid bagi
atribut.
91
Tabel 3.9 Menetapkan domain atribut
Entity Name Attribute Data Type and
Length
Attribute
Domain
Pegawai KdPegawai Char(5) Diisi dengan
huruf dan angka,
max 5 huruf dan
angka dengan
range value
[P][0-9][0-9][0-
9][0-9]
NamaP Varchar(50) Diisi dengan
huruf dan angka,
max 50 huruf dan
angka
AlamatP Varchar(100) Diisi dengan
huruf dan angka,
max 100 huruf
dan angka
Phone Varchar (20) Diisi dengan
angka, max 20
angka dengan
range value 0-9
92
Entity Name Attribute Data Type and
Length
Attribute
Domain
Fax Varchar (20) Diisi dengan
angka, max 20
angka dengan
range value 0-9
Email Varchar (100) Diisi dengan
huruf dan angka,
max 100 huruf
dan angka
DOB Datetime Diisi dengan
format tanggal
(dd/mm/yyyy)
JK Char(1) Diisi dengan ‘P’
atau ‘L’
Jabatan Varchar (15) Diisi dengan
huruf, max 15
huruf
Divisi Varchar (30) Diisi dengan
huruf, max 30
huruf
93
Entity Name Attribute Data Type and
Length
Attribute
Domain
Username Varchar (10) Diisi dengan
huruf dan angka,
max 10 huruf dan
angka
Password Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka
WargaN Char (3) Diisi dengan
huruf, max 3
huruf dengan
format ‘WNA’
atau ‘WNI’
Customer KdCustomer Char(5) Diisi dengan
huruf dan angka,
max 5 huruf dan
angka dengan
range value
[C][0-9][0-9][0-
9][0-9]
94
Entity Name Attribute Data Type and
Length
Attribute
Domain
NamaC Varchar(50) Diisi dengan
huruf, max 50
huruf.
AlamatC Varchar(100) Diisi dengan
huruf dan angka,
max 100 huruf
dan angka.
Phone Varchar(20) Diisi dengan
angka, max 20
angka dengan
range value 0-9.
Fax Varchar(20) Diisi dengan
angka, max 20
angka dengan
range value 0-9.
Email Varchar(100) Diisi dengan
huruf dan angka,
max 100 huruf
dan angka
95
Entity Name Attribute Data Type and
Length
Attribute
Domain
JenisC Varchar (30) Diisi dengan
huruf, max 30
huruf
TipeBarang KdTipe Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka dengan
range value
[T][B][0-9][0-
9][0-9].
In Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9.
Icu Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9.
96
Entity Name Attribute Data Type and
Length
Attribute
Domain
UnitTrip Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka.
I3 Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9.
JumKutub Varchar (3) Diisi dengan
angka, max 3
angka dengan
range value 0-9.
Un Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9.
97
Entity Name Attribute Data Type and
Length
Attribute
Domain
AusG Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9.
SArus Varchar (12) Diisi dengan
huruf dan angka,
max 12 huruf dan
angka.
Deskripsi Varchar (200) Diisi dengan
huruf dan angka,
max 200 huruf
dan angka.
Harga money
Harga money
NamaB Varchar(50) Diisi dengan
huruf dan angka,
max 50 huruf dan
angka
98
Entity Name Attribute Data Type and
Length
Attribute
Domain
NoStandard Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka
Icu Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9
TipeUT Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka
Proteksi Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka
JenisK Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka
99
Entity Name Attribute Data Type and
Length
Attribute
Domain
TipeI Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka
JarusP Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka
KelasTrip Varchar (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9
CWave Char (5) Diisi dengan
huruf dan angka,
max 5 huruf dan
angka
NamaJenisB Varchar (50) Diisi dengan
huruf dan angka,
max 50 huruf dan
angka
100
Entity Name Attribute Data Type and
Length
Attribute
Domain
NamaBarangK Varchar (50) Diisi dengan
huruf dan angka,
max 50 huruf dan
angka
Harga money
PO KdPO Varchar (10) Diisi dengan
huruf dan angka,
max 10 huruf dan
angka dengan
range value
YYMMDD[0-
9][0-9][0-9][0-9]
Tanggal datetime Diisi dengan
format tanggal
dd/mm/yyyy
101
Entity Name Attribute Data Type and
Length
Attribute
Domain
Lengkapan KdTipeL Char (5) Diisi dengan
huruf dan angka,
max 5 huruf dan
angka dengan
range value
[T][L][0-9][0-
9][0-9]
TipeL Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka.
UnitTrip Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka.
Proteksi Varchar (20) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka.
102
Entity Name Attribute Data Type and
Length
Attribute
Domain
NoRefL Char (6) Diisi dengan
angka, max 6
angka.
Harga money
Deskripsi Varchar (200) Diisi dengan
huruf dan angka,
max 20 huruf dan
angka.
NoRefU3 Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka.
Harga money
NoRefU4 Varchar (15) Diisi dengan
huruf dan angka,
max 15 huruf dan
angka.
Harga money
103
Entity Name Attribute Data Type and
Length
Attribute
Domain
NoRefYO Integer (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9
Harga money
NoRefYC Integer (5) Diisi dengan
angka, max 5
angka dengan
range value 0-9
Harga money
Interlok KdInterlok Char(5) Diisi dengan
huruf dan angka,
max 5 huruf dan
angka dengan
range value [I][0-
9][0-9][0-9][0-9]
Harga money
104
Entity Name Attribute Data Type and
Length
Attribute
Domain
Deskripsi Varchar(200) Diisi dengan
huruf dan angka,
max 200 huruf
dan angka.
Tipe Varchar (10) Diisi dengan
huruf dan angka,
max 10 huruf dan
angka.
3.6.1.5 Mengidentifikasi Candidate dan Primary Key Setiap Entity
Menjelaskan atribut yang menjadi candidate key dan primary
key dari setiap entity. Candidate key dan primary key dipilih
berdasarkan keunikan dari setiap atribut.
Tabel 3.10 Mengidentifikasi candidate dan primary key setiap
entity
Entity Name Candidate Key Primary Key
Pegawai NamaP KdPegawai
Customer NamaC KdCustomer
TipeBarang UnitTrip KdTipe
PO Tanggal KdPO
105
Entity Name Candidate Key Primary Key
Lengkapan NoRefL KdTipeL
Interlok Deskripsi KdInterlok
3.6.1.6 Mempertimbangkan Kegunaan dari Konsep Enhanced Modeling
(optional)
Tidak terdapat entity dengan konsep enhanced modeling,
seperti spesialisasi, generalisasi, penggabungan (aggregation), dan
komposisi (composition).
3.6.1.7 Memeriksa Model untuk Redundancy
3.6.1.7.1 Menguji Ulang Relasi One-to-One (1:1)
Tidak terdapat relasi one-to-one (1:1).
3.6.1.7.2 Hapus Redundant Relationship
Tidak terdapat relationship yang redundant.
3.6.1.8 Validasi Model Konseptual Lokal Terhadap Transaksi User
Untuk memastikan bahwa rancangan konseptual yang
dibangun dapat mendukung transaksi yang dibutuhkan oleh user,
maka digunakan dua pendekatan, yaitu menjelaskan transaksi dan
menggambarkan panah transaksi pada ER Diagram. Berikut adalah
panah transaksi ER Diagram:
106
Gambar 3.11 ER Diagram Validasi Model Konseptual Lokal
terhadap Transaksi User
Keterangan transaksi:
(a) Informasi lengkap PO secara rinci yang dibuat oleh customer.
(b) Informasi lengkap PO yang ditangan oleh pegawai.
(c) Pegawai mengidentifikasi Barang yang terdapat di PO dengan
Barang PT. ABB.
(d) Pegawai mengidentifikasi Interlok yang terdapat di PO dengan
Interlok PT. ABB.
(e) Pegawai mengidentifikasi Lengkapan yang terdapat di PO dengan
Lengkapan PT. ABB.
(f) Pegawai menampilkan dan mengubah daftar Customer.
(g) Pegawai menampilkan dan mengubah daftar TipeBarang.
107
(h) Pegawai menampilkan dan mengubah daftar Pegawai.
(i) Pegawai menampilkan dan mengubah daftar Lengkapan.
(j) Pegawai menampilkan dan mengubah daftar Interlok.
(k) Pegawai menampilkan daftar Penjualan berdasarkan PO dan
tanggal transaksi.
(l) Pegawai menampilkan daftar Customer yang telah membeli
Barang.
(m) Pegawai menampilkan TipeBarang yang telah terjual.
(n) Pegawai menampilkan daftar Pegawai yang menangani penjualan.
(o) Pegawai menampilkan daftar Lengkapan yang telah terjual.
(p) Pegawai menampilkan daftar Interlok yang telah terjual.
3.6.1.9 Review Model Data Konseptual Lokal Dengan User
Model data konseptual lokal merupakan representasi
sebenarnya dari transaksi user. Model data konsptual ini termasuk ER
diagram dan dokumentasi pendukung yang mendeskripsikan model
data.
3.6.2 Perancangan basis data logikal (logical database design)
Perancangan basis data logikal adalah proses membangun suatu
model informasi yang digunakan dalam suatu perusahaan berdasarkan suatu
model khusus, tapi tidak tergantung kepada suatu DBMS tertentu dengan
pertimbangan fisik lainnya.
108
Model data logikal dibangun dari model data konseptual yang akan
merepresentasikan view tertentu dari perusahaan dan kemudian
memvalidasikan model ini untuk meyakinkan bahwa model tersebut secara
stuktural benar dan model tersebut mendukung semua transaksi yang
dibutuhkan. Berikut langkah penting dalam merancang basis data logikal:
• Menghapus fitur yang tidak sesuai dengan model relational;
• Derive relations untuk model data logikal;
• Validasi relation menggunakan normalisasi;
• Validasi relation terhadap transaksi user;
• Mendefinisikan integrity constraints; dan
• Review model data logikal dengan user.
3.6.2.1 Menghapus Fitur yang Tidak Sesuai dengan Model Relational
3.6.2.1.1 Menghilangkan Tipe Many-to-Many (*:*) Binary
Relationship
1. Relasi biner many-to-many (*:*) entity PO dan
TipeBarang
Gambar 3.12 Hubungan many-to-many (*:*) entity
PO dan TipeBarang
109
Relasi many-to-many (*:*) antara kedua entity, PO dan
TipeBarang, menghasilkan entity baru yaitu entity
DetailPO.
Gambar 3.13 Menghilangkan many-to-many (*:*)
entity PO dan TipeBarang
2. Relasi biner many-to-many (*:*) entity PO dan
Lengkapan
Gambar 3.14 Hubungan many-to-many (*:*) entity
PO dan Lengkapan
Relasi many-to-many (*:*) antara entity PO dan
Lengkapan, menghasilkan entity baru yaitu entity
DetailPO.
Gambar 3.15 Menghilangkan many-to-many (*:*)
entity PO dan Lengkapan
110
3. Relasi biner many-to-many (*:*) entity PO dan Interlok
Gambar 3.16 Hubungan many-to-many (*:*) entity
PO dan Interlok
Relasi many-to-many (*:*) antara entity PO dan
Interlok, menghasilkan entity baru yaitu entity
DetailPO.
Gambar 3.17 Menghilangkan many-to-many (*:*)
entity PO dan Interlok
3.6.2.1.2 Menghilangkan Tipe Many-to-Many (*:*) Recursive
Relationship
Tidak terdapat tipe many-to-many recursive
relationship.
3.6.2.1.3 Menghilangkan Tipe Complex Relationship
Tidak terdapat tipe complex relationship.
111
3.6.2.1.4 Menghilangkan Atribut Multi-valued
Pada model konseptual, terdapat beberapa entity
yang memiliki atribut multi-valued atau atribut yang
bernilai jamak, antara lain:
• Pegawai memiliki [1..3] Phone (nomor telepon
pegawai);
• Pegawai memiliki [1..2] Email (alamat email
pegawai);
• Customer memiliki [1..3] Phone (nomor telepon
customer),
• Customer memiliki [1..2] Fax (nomor fax customer);
dan
• Customer memiliki [1..2] Email (alamat email
customer).
Hal ini tidak sesuai dengan model relasional, sehingga harus
dihilangkan dengan cara mendekomposisi atribut multi-
valued menjadi sebuah entity baru. Berikut adalah
langkahnya:
112
1. Entity Pegawai
Pegawai
TelpP
Phone
EmailP
memiliki
mmki
Gambar 3.18 Menghilangkan atribut multi-valued
pada entity Pegawai
2. Entity Customer
Gambar 3.19 Menghilangkan atribut multi-valued
pada entity Customer
113
3.6.2.2 Derive relations untuk model data logikal
3.6.2.2.1 Tipe Strong Entity
Pegawai (KdPegawai, NamaP, AlamatP, Fax, DOB, JK,
Jabatan, Divisi, Username, Password, WargaN)
Primary key (KdPegawai)
Customer (KdCustomer, NamaC, AlamatC, JenisC)
Primary Key (KdCustomer)
TipeBarang (KdTipe, ln, lcu, UnitTrip, l3, JumKutub, Un,
AusG, SArus, Deskripsi, Harga, Harga, NamaB,
NoStandard, Icu, TipeUT, Proteksi, JenisK, TipeI, JarusP,
KelasTrip, Cwave, NamaJenisB, NamaBarangK, Harga)
Primary Key (KdTipe)
PO (KdPO, Tanggal)
Primary Key (KdPO)
Lengkapan (KdTipeL, TipeL, UnitTrip, Proteksi, NoRefL,
Harga, Deskripsi, NoRefU3, Harga, NoRefU4, Harga,
NoRefYO, Harga, NoRefYC, Harga)
Primary Key (KdTipeL)
114
Interlok (KdInterlok, Harga, Deskripsi, Tipe)
Primary Key (KdInterlok)
3.6.2.2.2 Tipe Weak Entity
DetailPO (KdDetailPO, Qty)
Primary Key KdDetailPO
TelpP (Phone)
Primary Key tidak ada sampai saat ini
EmailP (Email)
Primary Key tidak ada sampai saat ini
TelpC (Phone)
Primary Key tidak ada sampai saat ini
FaxC (Fax)
Primary Key tidak ada sampai saat ini
EmailC (Email)
Primary Key tidak ada sampai saat ini
115
3.6.2.2.3 Tipe One-to-Many (1:*) Binary Relationship
1. Hubungan one-to-many (1:*) Pegawai dengan PO
Kirim KdPegawai ke PO untuk memodelkan relasi 1:* Menangani
2. Hubungan one-to-many (1:*) Customer dengan PO
Kirim KdCustomer ke PO untuk memodelkan relasi 1:* Membuat
3.6.2.2.4 Tipe One-to-One (1:1) Binary Relationship
Tidak terdapat one-to-one (1:1) binary relationship.
Pegawai (KdPegawai, NamaP, AlamatP, Fax, DOB, JK, Jabatan, Divisi, Username, Password, WargaN)
Primary key : KdPegawai
PO (KdPO, Tanggal, KdPegawai)
Primary key : KdPO
Foreign key : KdPegawai references Pegawai (KdPegawai)
Customer (KdCustomer, NamaC, AlamatC, JenisC)
Primary key : KdCustomer
PO (KdPO, Tanggal, KdPegawai, KdCustomer)
Primary key : KdPO
Foreign key : KdPegawai references Pegawai (KdPegawai)
Foreign key : KdCustomer references Customer (KdCustomer)
116
3.6.2.2.5 One-to-One Recursive Relationship
Tidak terdapat tipe recursive relationship.
3.6.2.2.6 Tipe Superclass/Subclass Relationship
Tidak terdapat tipe superclass/subclass relationship.
3.6.2.2.7 Tipe Many-to-Many (*:*) Binary Relationship
Pada tahap 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.
117
1. Hubungan many-to-many (*:*) PO dengan TipeBarang
PO (KdPO, Tanggal, KdPegawai, KdCustomer)
Primary key : KdPO
Foreign Key : KdPegawai references Pegawai (KdPegawai)
Foreign Key : KdCustomer references Customer (KdCustomer)
TipeBarang (KdTipe, ln, lcu, UnitTrip, l3, JumKutub, Un, AusG, SArus, Deskripsi, Harga, Harga, NamaB, NoStandard, Icu, TipeUT, Proteksi, JenisK, TipeI, JarusP, KelasTrip, Cwave, NamaJenisB, NamaBarangK, Harga)
Primary key : KdTipe
DetailPO (KdDetailPO, KdPO, KdTipe, Qty)
Primary key : KdDetailPO, KdPO
Foreign key : KdPO references PO (KdPO)
Foreign key : KdTipe references TipeBarang (KdTipe)
118
2. Hubungan many-to-many (*:*) PO dengan Lengkapan
PO (KdPO, Tanggal, KdPegawai, KdCustomer)
Primary key : KdPO
Foreign Key : KdPegawai references Pegawai (KdPegawai)
Foreign Key : KdCustomer references Customer (KdCustomer)
Lengkapan (KdTipeL, TipeL, UnitTrip, Proteksi, NoRefL, Harga, Deskripsi, NoRefU3, Harga, NoRefU4, Harga, NoRefYO, Harga, NoRefYC, Harga)
Primary key : KdTipeL
DetailPO (KdDetailPO, KdPO, KdTipe, KdTipeL, Qty)
Primary key : KdDetailPO, KdPO
Foreign key : KdPO references PO (KdPO)
Foreign key : KdTipe references TipeBarang (KdTipe)
Foreign key : KdTipeL references Lengkapan (KdTipeL)
119
3. Hubungan many-to-many (*:*) PO dengan Interlok
PO (KdPO, Tanggal, KdPegawai, KdCustomer)
Primary key : KdPO
Foreign Key : KdPegawai references Pegawai (KdPegawai)
Foreign Key : KdCustomer references Customer (KdCustomer)
Interlok (KdInterlok, Harga, Deskripsi, Tipe)
Primary key : KdInterlok
DetailPO (KdDetailPO, KdPO, KdTipe, KdTipeL, KdInterlok, Qty)
Primary key : KdDetailPO, KdPO
Foreign key : KdPO references PO (KdPO)
Foreign key : KdTipe references TipeBarang (KdTipe)
Foreign key : KdTipeL references Lengkapan (KdTipeL)
Foreign key : KdInterlok references Interlok (KdInterlok)
120
3.6.2.2.8 Tipe Complex Relationship
Tidak terdapat tipe complex relationship.
3.6.2.2.9 Atribut Multi-valued
Tahap 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.
1. Hubungan Pegawai memiliki TelpP
KdPegawai di-post ke dalam TelpP
2. Hubungan Pegawai memiliki EmailP
KdPegawai di-post ke dalam EmailP
Pegawai (KdPegawai, NamaP, AlamatP, Fax, DOB, JK, Jabatan, Divisi, Username, Password, WargaN)
Primary key : KdPegawai
TelpP (KdPegawai, Phone)
Primary key : Phone
Foreign key : KdPegawai references Pegawai (KdPegawai)
Pegawai (KdPegawai, NamaP, AlamatP, Fax, DOB, JK, Jabatan, Divisi, Username, Password, WargaN)
Primary key : KdPegawai
EmailP (KdPegawai, Email)
Primary key : Email
Foreign key : KdPegawai references Pegawai (KdPegawai)
121
3. Hubungan Customer memiliki TelpC
KdCustomer di-post ke dalam TelpC
4. Hubungan Customer memiliki FaxC
KdCustomer di-post ke dalam FaxC
5. Hubungan Customer memiliki EmailC
KdCustomer di-post ke dalam EmailC
Customer (KdCustomer, NamaC, AlamatC, JenisC)
Primary key : KdCustomer
TelpC (KdCustomer, Phone)
Primary key : Phone
Foreign key : KdCustomer references Customer (KdCustomer)
Customer (KdCustomer, NamaC, AlamatC, JenisC)
Primary key : KdCustomer
FaxC (KdCustomer, Fax)
Primary key : Fax
Foreign key : KdCustomer references Customer (KdCustomer)
Customer (KdCustomer, NamaC, AlamatC, JenisC)
Primary key : KdCustomer
EmailC (KdCustomer, Email)
Primary key : Email
Foreign key : KdCustomer references Customer (KdCustomer)
122
Tabel 3.11 Hasil Relasi
Pegawai KdPegawai, NamaP, AlamatP, Fax,
DOB, JK, Jabatan, Divisi, Username,
Password, WargaN
Primary Key KdPegawai
TelpP KdPegawai, Phone
Primary Key Phone
Foreign Key KdPegawai references
Pegawai (KdPegawai)
EmailP KdPegawai, Email
Primary Key Email
Foreign Key KdPegawai references
Pegawai (KdPegawai)
Customer KdCustomer, NamaC, AlamatC,
JenisC
Primary Key KdCustomer
TelpC KdCustomer, Phone
Primary Key Phone
Foreign Key KdCustomer references
Customer (KdCustomer)
FaxC KdCustomer, Fax
Primary Key Fax
123
Foreign Key KdCustomer references
Customer (KdCustomer)
EmailC KdCustomer, Email
Primary Key Email
Foreign Key KdCustomer references
Customer (KdCustomer)
PO KdPO, Tanggal, KdPegawai,
KdCustomer
Primary Key KdPO
Foreign Key KdPegawai references
Pegawai (KdPegawai)
Foreign Key KdCustomer references
Customer (KdCustomer)
DetailPO KdDetailPO, KdPO, KdTipe,
KdTipeL, KdInterlok, Qty
Primary Key KdDetailPO
Primary Key KdPO
Foreign Key KdPO references PO
(KdPO)
Foreign Key KdTipe references
TipeBarang (KdTipe)
Foreign Key KdTipeL references
124
Lengkapan (KdTipeL)
Foreign Key KdInterlok references
Interlok (KdInterlok)
TipeBarang KdTipe, ln, lcu, UnitTrip, l3,
JumKutub, Un, AusG, SArus,
Deskripsi, Harga, Harga, NamaB,
NoStandard, Icu, TipeUT, Proteksi,
JenisK, TipeI, JarusP, KelasTrip,
Cwave, NamaJenisB, NamaBarangK,
Harga
Primary Key KdTipe
Lengkapan KdTipeL, TipeL, UnitTrip, Proteksi,
NoRefL, Harga, Deskripsi, NoRefU3,
Harga, NoRefU4, Harga, NoRefYO,
Harga, NoRefYC, Harga
Primary Key KdTipeL
Interlok KdInterlok, Harga, Deskripsi, Tipe
Primary Key KdInterlok
3.6.2.3 Validasi Relasi Menggunakan Normalisasi
Tujuan dari tahap ini adalah untuk memvalidasi relation
dalam data model logikal menggunakan normalisasi.
125
Langkah – langkah dalam proses normalisasi ini adalah
sebagai berikut :
a. UNF
Tabel yang mengandung satu atau lebih grup yang berulang.
b. Validasi First Normal Form (1NF)
Untuk mengubah Unnormalized Table (UNF) ke First Normal
Form (1NF) dapat dilakukan dengan mengidentifikasikan dan
memindahkan grup berulang yang ada di tabel. Grup perulangan
itu termaksud atribut, atau grup atribut.
c. Validasi Second Normal Form (2NF)
Tahap ini mengubah 1NF menjadi 2NF dengan cara
memindahkan Partial Dependencies. Jika terdapat Partial
Dependecy, pindahkan atribut tersebut dari relasi dengan
menempatkannya ke dalam relasi baru.
d. Validasi Third Normal Form (3NF)
Tahap ini mengubah 2NF menjadi 3NF dengan cara
memindahkan Transitive Dependencies. Jika terdapat Transitive
Dependency, pindahkan atribut Transitive Dependency dari
relasi dengan menempatkan atributnya ke relasi baru.
1. Pegawai
@KdPegawai, NamaP, AlamatP, DOB, JK, Fax, Jabatan, Divisi,
Username, Password, WargaN
126
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Tidak terdapat partial dependency sehingga tahap 2NF sudah
normal.
3NF
Terdapat transitive dependency, hubungan antara non-key dan
non-key, yaitu Jabatan, Divisi, Username, Password, dan
WargaN, sehingga tahap 3NF perlu dinormalisasi menjadi:
Pegawai: @KdPegawai, NamaP, AlamatP, DOB, JK, Fax,
#KdJabatan, #KdDivisi, #KdKWN
Jabatan: @KdJabatan, Jabatan
Divisi: @KdDivisi, Divisi
UserP: @KdUser, Username, Password
KWN: @KdKWN, WargaN
2. TelpP
#KdPegawai, @Phone
1NF
127
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Terdapat partial dependency, hubungan key dengan non-key,
yaitu KdPegawai, sehingga tahap 2NF perlu dinormalisasi
menjadi:
TelpP: #KdPegawai, @Phone
Pegawai: @KdPegawai, NamaP, AlamatP, DOB, JK, Fax,
#KdJabatan, #KdDivisi, #KdKWN
Jabatan: @KdJabatan, Jabatan
Divisi: @KdDivisi, Divisi
UserP: @KdUser, Username, Password, #KdPegawai
KWN: @KdKWN, WargaN
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
3. EmailP
#KdPegawai, @Email
1NF
128
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Terdapat partial dependency , hubungan key dengan non-key,
yaitu KdPegawai, sehingga tahap 2NF perlu dinormalisasi
menjadi:
EmailP: #KdPegawai, @Email
Pegawai: @KdPegawai, NamaP, AlamatP, DOB, JK, Fax,
#KdJabatan, #KdDivisi, #KdKWN
Jabatan: @KdJabatan, Jabatan
Divisi: @KdDivisi, Divisi
UserP: @KdUser, Username, Password, #KdPegawai
KWN: @KdKWN, WargaN
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
4. Customer
@KdCustomer, NamaC, AlamatC, JenisC
1NF
129
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Tidak terdapat partial dependency sehingga tahap 2NF sudah
normal.
3NF
Terdapat transitive dependency yaitu JenisC, sehingga tahap
3NF perlu dinormalisasi menjadi:
Customer: @KdCustomer, NamaC, AlamatC, #KdJenisC
JenisCustomer: @KdJenisC, JenisC
5. TelpC
#KdCustomer, @Phone
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Terdapat partial dependency yaitu KdCustomer, sehingga tahap
2NF perlu dinormalisasi menjadi:
TelpC: #KdCustomer, @Phone
130
Customer: @KdCustomer, NamaC, AlamatC, #KdJenisC
JenisCustomer: @KdJenisC, JenisC
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
6. FaxC
#KdCustomer, @Fax
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Terdapat partial dependency yaitu KdCustomer, sehingga tahap
2NF perlu dinormalisasi menjadi:
FaxC: #KdCustomer, @Fax
Customer: @KdCustomer, NamaC, AlamatC, #KdJenisC
JenisCustomer: @KdJenisC, JenisC
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
131
7. EmailC
#KdCustomer, @Email
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Terdapat partial dependency yaitu KdCustomer, sehingga tahap
2NF perlu dinormalisasi menjadi:
EmailC: #KdCustomer, @Email
Customer: @KdCustomer, NamaC, AlamatC, #KdJenisC
JenisCustomer: @KdJenisC, JenisC
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
8. TipeBarang
@KdTipe, ln, lcu, UnitTrip, l3, JumKutub, Un, AusG, SArus,
Deskripsi, Harga, Harga, NamaB, NoStandard, Icu, TipeUT,
Proteksi, JenisK, TipeI, JarusP, KelasTrip, Cwave, NamaJenisB,
NamaBarangK, Harga
132
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Tidak terdapat partial dependency sehingga tahap 2NF sudah
normal.
3NF
Terdapat transitive dependency yaitu Harga, Harga, NamaB,
NoStandard, Icu, TipeUT, Proteksi, JenisK, TipeI, JarusP,
KelasTrip, Cwave, NamaJenisB, NamaBarangK, dan Harga,
sehingga tahap 3NF perlu dinormalisasi menjadi:
TipeBarang: @KdTipe, In, Icu, UnitTrip, I3, JumKutub, Un,
AusG, Sarus, Deskripsi, #KdBarang, #KdNoRefU3P
Ukuran3P: @KdNoRefU3P, Harga
Ukuran4P: @KdNoRefU4P, Harga, #KdTipe
Barang: @KdBarang, NamaB, NoStandard, Icu, TipeUT,
Proteksi, JenisK, TipeI, JarusP, KelasTrip, Cwave, #KdJenisB
JenisBarang: @KdJenisB, NamaJenisB
BKompetitor: @KdBKompetitor, NamaBarangK, Harga,
#KdTipe
133
9. Lengkapan
@KdTipeL, TipeL, UnitTrip, Proteksi, NoRefL, Harga,
Deskripsi, NoRefU3, Harga, NoRefU4, Harga, NoRefYO,
Harga, NoRefYC, Harga
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Tidak terdapat partial dependency sehingga tahap 2NF sudah
normal.
3NF
Terdapat transitive dependency yaitu NoRefU3, Harga,
NoRefU4, Harga, NoRefYO, Harga, NoRefYC, Harga, sehingga
tahap 3NF perlu dinormalisasi menjadi:
Lengkapan: @KdTipeL, TipeL, UnitTrip, Proteksi, NoRefL,
Harga, Deskripsi
Ukuran3PL: @KdU3PL, NoRefU3, Harga, #KdTipeL
Ukuran4PL: @KdU4PL, NoRefU4, Harga, #KdTipeL
BukaYO: @KdYO, NoRefYO, Harga, #KdTipeL
TutupYC: @KdYC, NoRefYC, Harga, #KdTipeL
134
10. Interlok
@KdInterlok, Harga, Deskripsi, Tipe
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Tidak terdapat partial dependency sehingga tahap 2NF sudah
normal.
3NF
Terdapat transitive dependency yaitu Tipe, sehingga tahap 3NF
perlu dinormalisasi menjadi:
Interlok: @KdInterlok, Harga, Deskripsi, #KdTInstalasi
Tinstalasi: @KdTInstalasi, Tipe
11. PO
KdPO, Tanggal, KdPegawai, KdCustomer
1NF
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
135
Terdapat partial dependency yaitu KdPegawai dan KdCustomer,
sehingga tahap 2NF perlu dinormalisasi menjadi:
PO: @KdPO, Tanggal, #KdPegawai, #KdCustomer
Pegawai: @KdPegawai, NamaP, AlamatP, DOB, JK, Fax,
#KdJabatan, #KdDivisi, #KdKWN
Customer: @KdCustomer, NamaC, AlamatC, #KdJenisC
Jabatan: @KdJabatan, Jabatan
Divisi: @KdDivisi, Divisi
UserP: @KdUser, Username, Password, #KdPegawai
KWN: @KdKWN, WargaN
JenisC: @KdJenisC, JenisC
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
12. DetailPO
@KdDetailPO, @#KdPO, #KdTipe, #KdTipeL, #KdInterlok,
Qty
1NF
136
Tidak terdapat perulangan (repeating group) sehingga tahap
1NF sudah normal.
2NF
Terdapat partial dependency yaitu KdPO, KdTipe, KdTipeL,
dan KdInterlok, sehingga tahap 2NF perlu dinormalisasi
menjadi:
DetailPO: @KdDetailPO, @#KdPO, #KdTipe, #KdTipeL,
#KdInterlok, Qty
PO: @KdPO, Tanggal, #KdPegawai, #KdCustomer
TipeBarang: @KdTipe, In, Icu, UnitTrip, I3, JumKutub, Un,
AusG, Sarus, Deskripsi, #KdBarang, #KdNoRefU3P
Ukuran3P: @KdNoRefU3P, Harga
Ukuran4P: @KdNoRefU4P, Harga, #KdTipe
Barang: @KdBarang, NamaB, NoStandard, Icu, TipeUT,
Proteksi, JenisK, TipeI, JarusP, KelasTrip, Cwave, #KdJenisB
JenisBarang: @KdJenisB, NamaJenisB
BKompetitor: @KdBKompetitor, NamaBarangK, Harga,
#KdTipe
Lengkapan: @KdTipeL, TipeL, UnitTrip, Proteksi, NoRefL,
Harga, Deskripsi
Ukuran3PL: @KdU3PL, NoRefU3, Harga, #KdTipeL
Ukuran4PL: @KdU4PL, NoRefU4, Harga, #KdTipeL
137
BukaYO: @KdYO, NoRefYO, Harga, #KdTipeL
TutupYC: @KdYC, NoRefYC, Harga, #KdTipeL
Interlok: @KdInterlok, Harga, Deskripsi, #KdTInstalasi
Tinstalasi: @KdTInstalasi, Tipe
Pegawai: @KdPegawai, NamaP, AlamatP, DOB, JK, Fax,
#KdJabatan, #KdDivisi, #KdKWN5r
Jabatan: @KdJabatan, Jabatan
Divisi: @KdDivisi, Divisi
UserP: @KdUser, Username, Password, #KdPegawai
KWN: @KdKWN, WargaN
Customer: @KdCustomer, NamaC, AlamatC, #KdJenisC
JenisC: @KdJenisC, JenisC
3NF
Tidak terdapat transitive dependency, sehingga pada tahap 3NF
sudah normal.
3.6.2.4 Validasi RelasiTerhadap Transaksi User
Relasi dalam model data local logical sudah mendukung
transaksi yang dibutuhkan oleh view.
138
Gambar 3.20 Validasi Relasi Terhadap Transaksi User
Keterangan transaksi:
(a) Memasukkan/menghapus/mengubah data PO: KdPO, Tanggal,
KdPegawai, KdCustomer dan menampilkan data Pegawai yang
sesuai dengan KdPegawai yang menangani dan berada pada data
PO;
139
(b) Memasukkan/menghapus/mengubah data EmailP: Email,
KdPegawai dan menampilkan data Pegawai yang sesuai dengan
KdPegawai yang memiliki dan berada pada data EmailP;
(c) Memasukkan/menghapus/mengubah data TelpP: Phone,
KdPegawai dan menampilkan data Pegawai yang sesuai dengan
KdPegawai yang memiliki dan berada pada data TelpP;
(d) Memasukkan/menghapus/mengubah data Pegawai: KdPegawai,
NamaP, AlamatP, DOB, JK, Fax, KdJabatan, KdDivisi,
KdKWN dan menampilkan data Jabatan yang sesuai dengan
KdJabatan yang berada pada data Pegawai;
(e) Memasukkan/menghapus/mengubah data Pegawai: KdPegawai,
NamaP, AlamatP, DOB, JK, Fax, KdJabatan, KdDivisi,
KdKWN dan menampilkan data Divisi yang sesuai dengan
KdDivisi yang berada pada data Pegawai;
(f) Memasukkan/menghapus/mengubah data UserP: KdUser,
Username, Password, KdPegawai dan menampilkan data
Pegawai yang sesuai dengan KdPegawai yang memiliki dan
berada pada data UserP;
(g) Memasukkan/menghapus/mengubah data Pegawai: KdPegawai,
NamaP, AlamatP, DOB, JK, Fax, KdJabatan, KdDivisi,
KdKWN dan menampilkan data KWN yang sesuai dengan
KdKWN yang berada pada data Pegawai;
140
(h) Memasukkan/menghapus/mengubah data PO: KdPO, Tanggal,
KdPegawai, KdCustomer dan menampilkan data Customer yang
sesuai dengan KdCustomer yang membuat dan berada pada data
PO;
(i) Memasukkan/menghapus/mengubah data TelpC: Phone,
KdCustomer dan menampilkan data Customer yang sesuai
dengan KdCustomer yang memiliki dan berada pada TelpC;
(j) Memasukkan/menghapus/mengubah data EmailC: Email,
KdCustomer dan menampilkan data Customer yang sesuai
dengan KdCustomer yang memiliki dan berada pada EmailC;
(k) Memasukkan/menghapus/mengubah data Customer:
KdCustomer, NamaC, AlamatC, KdJenisC dan menampilkan
data JenisCustomer yang sesuai dengan KdJenisC yang dimiliki
dan berada pada data Customer;
(l) Memasukkan/menghapus/mengubah data FaxC: Fax,
KdCustomer dan menampilkan data Customer yang sesuai
dengan KdCustomer yang berada pada data FaxC;
(m) Memasukkan/menghapus/mengubah data Interlok: KdInterlok,
Harga, Deskripsi, KdTInstalasi dan menampilkan data TInstalasi
yang sesuai dengan KdTInstalasi yang berada pada data
Interlok;
(n) Memasukkan/menghapus/mengubah data DetailPO:
KdDetailPO, KdPO, Qty, KdTipe, KdTipeL, KdInterlok dan
141
menampilkan data Interlok yang sesuai dengan KdInterlok yang
berada pada data DetailPO;
(o) Memasukkan/menghapus/mengubah data TutupYC: KdYC,
NoRefYC, Harga, KdTipeL dan menampilkan data Lengkapan
yang sesuai dengan KdTipeL yang berada pada data TutupYC;
(p) Memasukkan/menghapus/mengubah data BukaYO: KdYO,
NoRefYC, Harga, KdTipeL dan menampilkan data Lengkapan
yang sesuai dengan KdTipeL yang berada pada data BukaYO
(q) Memasukkan/menghapus/mengubah data Ukuran4PL: KdU4PL,
NoRefU4, Harga, KdTipeL dan menampilkan data Lengkapan
yang sesuai dengan KdTipeL yang berada pada data Ukuran4PL
(r) Memasukkan/menghapus/mengubah data Ukuran3PL: KdU3PL,
NoRefU3, Harga, KdTipeL dan menampilkan data Lengkapan
yang sesuai dengan KdTipeL yang berada pada data Ukuran3PL
(s) Memasukkan/menghapus/mengubah data DetailPO:
KdDetailPO, KdPO, Qty, KdTipe, KdTipeL, KdInterlok dan
menampilkan data Lengkapan yang sesuai dengan KdTipeL
yang berada pada data DetailPO;
(t) Memasukkan/menghapus/mengubah data BKompetitor:
KdBKompetitor, NamaBarangK, Harga, KdTipe dan
menampilkan data TipeBarang yang sesuai dengan KdTipe yang
berada pada data BKompetitor;
142
(u) Memasukkan/menghapus/mengubah data Barang: KdBarang,
NamaB, NoStandard, Icu, TipeUT, Proteksi, JenisK, TipeI,
JArusP, KelasTrip, Cwave, KdJenisB dan menampilkan data
JenisBarang yang sesuai dengan KdJenisB yang berada pada
data Barang;
(v) Memasukkan/menghapus/mengubah data TipeBarang: KdTipe,
In, Icu, UnitTrip, I3, JumKutub, Un. AusG, SArus, Deskripsi,
KdBarang, KdNoRefU3P dan menampilkan data Barang yang
sesuai dengan KdBarang yang berada pada data TipeBarang;
(w) Memasukkan/menghapus/mengubah data Ukuran4P:
KdNoRefU4P, Harga, KdTipe dan menampilkan data
TipeBarang yang sesuai dengan KdTipe yang berada pada data
Ukuran4P;
(x) Memasukkan/menghapus/mengubah data TipeBarang: KdTipe,
In, Icu, UnitTrip, I3, JumKutub, Un. AusG, SArus, Deskripsi,
KdBarang, KdNoRefU3P dan menampilkan data Ukuran3P
yang sesuai dengan KdNoRefU3P yang berada pada data
TipeBarang;
(y) Memasukkan/menghapus/mengubah data DetailPO:
KdDetailPO, KdPO, Qty, KdTipe, KdTipeL, KdInterlok dan
menampilkan data TipeBarang yang sesuai dengan KdTipe yang
berada pada data DetailPO;
143
(z) Memasukkan/menghapus/mengubah data DetailPO:
KdDetailPO, KdPO, Qty, KdTipe, KdTipeL, KdInterlok dan
menampilkan data PO yang sesuai dengan KdPO yang berada
pada data DetailPO
3.6.2.5 Mendefinisikan Integrity Constraints
Menambahkan kata-kata “ON UPDATE NO ACTION ON
DELETE NO ACTION” pada setiap foreign key yang terlibat.
Bertujuan untuk mendefinisikan integrity constraints yang
disampaikan dalam view. Terdapat lima (5) tipe integrity constraints,
yaitu:
a. Kebutuhan Data (required data)
Beberapa atribut harus selalu terdiri dari nilai yang
valid; dengan kata lain, atribut-atribut ini tidak diperkenankan
memiliki nilai null.
Aturan ini telah diidentifikasi pada saat atribut
didokumentasikan di kamus data pada tahap konseptual.
b. Attribute Domain Constraints
Setiap atribut mempunyai sebuah domain, yaitu
kumpulan dari nilai yang legal.
144
Aturan ini telah diidentifikasi pada saat tahap
menetapkan domain atribut untuk data model pada tahap
konseptual.
c. Entity Integrity
Primary key dari suatu entity tidak boleh memiliki nilai
null. Aturan ini harus telah dipertimbangkan pada saat
mengidentifikasi primary key untuk setiap entity.
d. Referential Integrity
Referential Integrity berarti bahwa jika foreign key terdiri dari
nilai, nilai tersebut harus tertuju pada tuple yang ada pada
relasi parent-nya; dengan kata lain tahap ini mengidentifikasi
nilai dari foreign key jika terjadi pengubahan dan penghapusan
key pada parent-nya.
Tabel 3.12 Referential Integrity
Pegawai (KdPegawai, NamaP, AlamatP, DOB, JK, Fax,
KdJabatan, KdDivisi, KdKWN)
Primary key (KdPegawai)
Foreign key (KdJabatan) REFERENCES Jabatan ON
UPDATE CASCADE ON DELETE CASCADE
Foreign key (KdDivisi) REFERENCES Divisi ON UPDATE
145
CASCADE ON DELETE CASCADE
Foreign key (KdKWN) REFERENCES KWN ON UPDATE
CASCADE ON DELETE CASCADE
TelpP (KdPegawai, Phone)
Primary key (Phone)
Foreign key (KdPegawai) REFERENCES Pegawai
(KdPegawai)
EmailP (KdPegawai, Email)
Primary key (Email)
Foreign key (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
Jabatan (KdJabatan, Jabatan)
Primary key (KdJabatan)
Divisi (KdDivisi, Divisi)
Primary key (KdDivisi)
KWN (KdKWN, WargaN)
Primary key (KdKWN)
UserP (KdUser, KdPegawai, Username, Password)
Primary key (KdUser)
Foreign key (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
Customer (KdCustomer, NamaC, AlamatC, KdJenisC)
146
Primary key (KdCustomer)
Foreign key (KdJenisC) REFERENCES JenisCustomer ON
UPDATE CASCADE ON DELETE CASCADE
TelpC (KdCustomer, Phone)
Primary key (Phone)
Foreign key (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE
FaxC (KdCustomer, Fax)
Primary key (Fax)
Foreign key (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE
EmailC (KdCustomer, Email)
Primary key (Email)
Foreign key (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE
JenisCustomer (KdJenisC, JenisC)
Primary key (KdJenisC)
PO (KdPO, Tanggal, KdPegawai, KdCustomer)
Primary key (KdPO)
Foreign key (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
Foreign key (KdCustomer) REFERENCES Customer ON
147
UPDATE CASCADE ON DELETE CASCADE
DetailPO (KdDetailPO, KdPO, KdTipe, KdTipeL, KdInterlok,
Qty)
Primary key (KdDetailPO)
Primary key (KdPO)
Foreign key (KdPO) REFERENCES PO ON UPDATE
CASCADE ON DELETE CASCADE
Foreign key (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE
Foreign key (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
Foreign key (KdInterlok) REFERENCES Interlok ON
UPDATE CASCADE ON DELETE CASCADE
TipeBarang (KdTipe, NamaTipe, ln, Icu, UnitTrip, I3,
JumKutub, Un, AusG, SArus, Deskripsi, KdBarang,
KdNoRefU3P)
Primary key (KdTipe)
Foreign key (KdBarang) REFERENCES Barang ON
UPDATE CASCADE ON DELETE CASCADE
Foreign key (KdNoRefU3P) REFERENCES Ukuran3P ON
UPDATE CASCADE ON DELETE CASCADE
Ukuran3P (KdNoRefU3P, Harga)
Primary key (KdNoRefU3P)
148
Ukuran4P (KdNoRefU4P, KdTipe, Harga)
Primary key (KdNoRefU4P)
Foreign key (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE
Barang (KdBarang, NamaB, NoStandard, IcuInfo, TipeUT,
Proteksi, JenisK, TipeI, JArusP, KelasTrip, Cwave)
Primary key (KdBarang)
Foreign key (KdJenisB) REFERENCES Barang ON
UPDATE CASCADE ON DELETE CASCADE
JenisBarang (KdJenisB NamaJenisB)
Primary key (KdJenisB)
BKompetitor (KdBKompetitor, KdTipe, NamaBarangK,
Harga)
Primary key (KdBKompetitor)
Foreign key (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE
Lengkapan (KdTipeL, TipeL, UnitTrip, Proteksi, NoRefL,
Harga, Deskripsi)
Primary key (KdTipeL)
Ukuran3PL (KdU3PL, KdTipeL, NoRefU3, Harga)
Primary key (KdU3PL)
Foreign key (KdTipeL) REFERENCES Lengkapan ON
149
UPDATE CASCADE ON DELETE CASCADE
Ukuran4PL (KdU4PL, KdTipeL, NoRefU4, Harga)
Primary key (KdU4PL)
Foreign key (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
BukaYO (KdYO, KdTipeL, NoRefYO, Harga)
Primary key (KdYO)
Foreign key (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
TutupYC (KdYC, KdTipeL, NoRefYC, Harga)
Primary key (KdYC)
Foreign key (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
Interlok (KdInterlok, KdTInstalasi, Deskripsi, NoRef, Harga)
Primary key (KdInterlok)
Foreign key (KdTInstalasi) REFERENCES TInstalasi ON
UPDATE CASCADE ON DELETE CASCADE
TInstalasi (KdTInstalasi, Tipe)
Primary key (KdTInstalasi)
150
e. Enterprise Constraints
Mengupdate entity yang diatur oleh aturan enterprise
governing transaksi ‘real world’ yang digambarkan dengan
update.
3.6.2.6 Review Model Data Logikal dengan User
Model data logikal dan dokumen pendukung yang
mendeskripsikan model adalah representasi yang benar dari view.
Gambar 3.21 Gambar Diagram ER Logikal
151
3.6.3 Perancangan Basis Data Fisikal (Physical Database Design)
3.6.3.1 Menerjemahkan Model Data Global Logical untuk Target
DBMS
Tabel 3.13 Model Data Global Logical
Pegawai KdPegawai, NamaP, AlamatP, Fax,
DOB, JK, KdJabatan, KdDivisi, KdKWN
Primary key : KdPegawai
Foreign key : KdJabatan references
Jabatan (KdJabatan)
Foreign key : KdDivisi references Divisi
(KdDivisi)
Foreign key : KdKWN references KWN
(KdKWN)
TelpP KdPegawai, Phone
Primary key : Phone
Foreign key : KdPegawai references
Pegawai (KdPegawai)
EmailP KdPegawai, Email
Primary key : Email
Foreign key : KdPegawai references
Pegawai (KdPegawai)
Jabatan KdJabatan, Jabatan
Primary key : KdJabatan
152
Divisi KdDivisi, Divisi
Primary key : KdDivisi
UserP KdUser, Username, Password,
KdPegawai
Primary key : KdUser
Foreign key : KdPegawai references
Pegawai (KdPegawai)
KWN KdKWN, WargaN
Primary key : KdKWN
Customer KdCustomer, NamaC, AlamatC,
KdJenisC
Primary key : KdCustomer
Foreign key : KdJenisC references
JenisCustomer (KdJenisC)
TelpC KdCustomer, Phone
Primary key : Phone
Foreign key : KdCustomer references
Customer (KdCustomer)
FaxC KdCustomer, Fax
Primary key : Fax
Foreign key : KdCustomer references
Customer (KdCustomer)
153
EmailC KdCustomer, Email
Primary key : Email
Foreign key : KdCustomer references
Customer (KdCustomer)
JenisCustomer KdJenisC, JenisC
Primary key : KdJenisC
TipeBarang KdTipe, ln, lcu, UnitTrip, l3, JumKutub,
Un, AusG, SArus, Deskripsi, KdBarang,
KdNoRefU3P
Primary key : KdTipe
Foreign key : KdBarang references
Barang (KdBarang)
Foreign key : KdNoRefU3P references
Ukuran3P (KdNoRefU3P)
Ukuran3P KdNoRefU3P, Harga
Primary key : KdNoRefU3P
Ukuran4P KdNoRefU4P, Harga, KdTipe
Primary key : KdNoRefU4P
Foreign key : KdTipe references
TipeBarang (KdTipe)
Barang KdBarang, NamaB, NoStandard, Icu,
154
TipeUT, Proteksi, JenisK, TipeI, JArusP,
KelasTrip, CWave, KdJenisB
Primary key : KdBarang
Foreign key : KdJenisB references
JenisBarang (KdJenisB)
JenisBarang KdJenisB, NamaJenisB
Primary key : KdJenisB
BKompetitor KdBKompetitor, NamaBarangK, Harga,
KdTipe
Primary key : KdBKompetitor
Foreign key : KdTipe references
TipeBarang (KdTipe)
PO KdPO, Tanggal
Primary key : KdPO
DetailPO KdDetailPO, KdPO, KdTipe, KdTipeL,
KdInterlok, Qty
Primary Key : KdDetailPO
Primary key : KdPO
Foreign key : KdPO references PO
(KdPO)
Foreign key : KdTipe references
TipeBarang (KdTipe)
Foreign key : KdTipeL references
155
Lengkapan (KdTipeL)
Foreign key : KdInterlok references
Interlok (KdTipeL)
Lengkapan KdTipeL, TipeL, UnitTrip, Proteksi,
NoRefL, Harga, Deskripsi
Primary key : KdTipeL
Ukuran3PL KdU3PL, NoRefU3, Harga, KdTipeL
Primary key : KdU3PL
Foreign key : KdTipeL references
Lengkapan (KdTipeL)
Ukuran4PL KdU4PL, NoRefU4, Harga, KdTipeL
Primary key : KdU4PL
Foreign key : KdTipeL references
Lengkapan (KdTipeL)
BukaYO KdYO, NoRefYO, Harga, KdTipeL
Primary key : KdYO
Foreign key : KdTipeL references
Lengkapan (KdTipeL)
TutupYC KdYC, NoRefYC, Harga, KdTipeL
Primary key : KdYC
Foreign key : KdTipeL references
Lengkapan (KdTipeL)
156
Interlok KdInterlok, Harga, Deskripsi,
KdTInstalasi
Primary key : KdInterlok
Foreign key : KdTInstalasi references
TInstalasi (KdTInstalasi)
TInstalasi KdTInstalasi, Tipe
Primary key : KdTInstalasi
3.6.3.1.1 Merancang Base Relations
1. Pegawai
Domain KdPegawai variable length character string, length 5
Format : [P][0-9][0-9][0-9][0-9]
Domain NamaP variable length character string, length 50
Domain AlamatP variable length character string, length 100
Domain DOB variable date
Domain JK variable length character length 1
Format : [L] / [P]
Domain Fax variable length character string, length 20
Domain KdJabatan variable length character string, length 5
157 Format : [J][0-9][0-9][0-9][0-9]
Domain KdDivisi variable length character string, length 5
Format : [D][0-9][0-9][0-9][0-9]
Domain KdKWN variable length character string length 5
Format : [K][W][N][0-9][0-9]
Pegawai(
KdPegawai KdPegawai NOT NULL,
NamaP NamaPegawai NOT NULL,
AlamatP AlamatPegawai NOT NULL,
DOB DateOfBirth NOT NULL,
JK JenisKelamin NOT NULL,
Fax NoFax,
KdJabatan KodeJabatan NOT NULL,
KdDivisi KodeDivisi NOT NULL,
KdKWN KodeWargaNegara NOT NULL,
PRIMARY KEY (KdPegawai),
FOREIGN KEY (KdJabatan) REFERENCES Jabatan ON
UPDATE CASCADE ON DELETE CASCADE,
158
FOREIGN KEY (KdDivisi) REFERENCES Divisi ON UPDATE
CASCADE ON DELETE CASCADE,
FOREIGN KEY (KdKWN) REFERENCES KWN ON UPDATE
CASCADE ON DELETE CASCADE
);
2. TelpP
Domain Phone variable length character string, length
20
Domain KdPegawai variable length character string, length 5
Format : [P][0-9][0-9][0-9][0-9]
TelpP(
Phone TeleponPegawai NOT NULL,
KdPegawai KodePegawai NOT NULL,
PRIMARY KEY (Phone),
FOREIGN KEY (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
);
3. EmailP
Domain Email variable length character string, length 100
159
Domain KdPegawai variable length character string, length 5
Format : [P][0-9][0-9][0-9][0-9]
EmailP(
EmailP EmailPegawai NOT NULL,
KdPegawai KodePegawai NOT NULL,
PRIMARY KEY (Email),
FOREIGN KEY (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
);
4. Customer
Domain KdCustomer variable length character string, length 5
Format : [P][0-9][0-9][0-9][0-9]
Domain NamaC variable length character string, length 50
Domain AlamatC variable length character string, length 100
Domain KdJenisC variable length character string length 3
Format : [J][C][0-9]
Customer(
KdCustomer KdCustomer NOT NULL,
160 NamaC NamaCustomer NOT NULL,
AlamatC AlamatCustomer NOT NULL,
KdJenisC KodeJenisCustomer NOT NULL,
PRIMARY KEY (KdCustomer),
FOREIGN KEY (KdJenisC) REFERENCES JenisCustomer ON
UPDATE CASCADE ON DELETE CASCADE
);
5. TelpC
Domain Phone variable length character string, length
20
Domain KdCustomer variable length character string, length 5
Format : [C][0-9][0-9][0-9][0-9]
TelpC (
Phone TelponCustomer NOT NULL,
KdCustomer KodeCustomer NOT NULL,
PRIMARY KEY (Phone),
FOREIGN KEY (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE
161
);
6. FaxC
Domain Fax variable length character string, length
20
Domain KdCustomer variable length character string, length 5
Format [C][0-9][0-9][0-9][0-9]
FaxC (
Fax FaxCustomer NOT NULL,
KdCustomer KodeCustomer NOT NULL,
PRIMARY KEY (FaxCus, KdCustomer),
FOREIGN KEY (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE
);
7. EmailC
Domain Email variable length character string, length 100
Domain KdCustomer variable length character string, length 5
Format : [C][0-9][0-9][0-9][0-9]
EmailC (
162
Email EmailCustomer NOT NULL,
KdCustomer KodeCustomer NOT NULL,
PRIMARY KEY (Email),
FOREIGN KEY (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE
);
8. PO
Domain KdPO variable length character string, length 10
Format : YYMMDD[0-
9][0-9][0-9][0-9]
Domain KdCustomer variable length character string, length 5
Format [C][0-9][0-9][0-9][0-9]
Domain KdPegawai variable length character string, length 5
Format : [P][0-9][0-9][0-9][0-9]
Domain Tanggal variable date
PO (
KdPO KodePO NOT NULL,
163 KdCustomer KodeCustomer NOT NULL,
KdPegawai KodePegawai NOT NULL,
Tanggal Tanggal NOT NULL,
PRIMARY KEY (KdPO),
FOREIGN KEY (KdCustomer) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
);
9. DetailPO
KdDetailPO variable length character string, length 10
Format : YYMMDD[0-9][0-
9][0-9][0-9]
Domain KdPO variable length character string, length 10
Format : YYMMDD[0-9][0-
9][0-9][0-9]
Domain KdTipe variable length character string, length 20
Format : [T][B][0-9][0-9][0-9]..[0-9]
164
Domain KdTipeL variable length character string, length 5
Format : [T][L][0-9][0-9][0-9]
Domain KdInterlok variable length character string, length 5
Format : [I][0-9][0-9][0-9][0-9]
Qty variable length character integer length 3
DetailPO (
KdDetailPO KodeDetailPO NOT NULL,
KdPO KodePO NOT NULL,
KdTipe KodeTipe,
KdTipeL KodeTipeLengkapan,
KdInterlok KodeInterlok,
Qty Quantity NOT NULL,
PRIMARY KEY (KdDetailPO),
PRIMARY KEY (KdPO),
FOREIGN KEY (KdPO) REFERENCES Customer ON
UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE,
165
FOREIGN KEY (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (KdInterlok) REFERENCES Interlok ON
UPDATE CASCADE ON DELETE CASCADE
);
10. TipeBarang
Domain KdTipe variable length character string, length 20
Format : [T][B][0-9][0-9][0-9]
Domain KdBarang variable length character string, length 20
Format : [B][0-9][0-9][0-9]…[0-9]
Domain KdNoRefU3 Variable length character string, length 10
Domain NamaTipe variable length character string, length 30
Domain ln variable length character string, length 5
Domain Icu variable length character string, length 5
Domain UnitTrip variable length character string, length 15
Domain I3 variable length character string, length 5
Domain JumKutub variable length character string, length 5
Domain Un variable length character string, length 5
166
Domain AusG variable length character string, length 5
Domain SArus variable length character string, length 12
Domain Deskripsi variable length character string, length 200
TipeBarang (
KdTipe KodeTipe NOT NULL,
KdBarang KodeBarang NOT NULL,
KdNoRefU3 Kode Ukuran3P,
NamaTipe NamaTipe NOT NULL,
Ln Ln,
Icu Icu,
UnitTrip UnitTrip,
I3 I3,
JumKutub JumlahKutub,
Un Un,
AusG AusG,
SArus SArus,
Deskripsi Deskripsi,
167
PRIMARY KEY (KdTipe),
FOREIGN KEY (KdBarang) REFERENCES Barang ON
UPDATE CASCADE ON DELETE CASCADE
);
11. Lengkapan
Domain KdTipeL variable length character string, length 5
Format : [T][L][0-9][0-9][0-9]
Domain TipeL variable length character string, length 20
Domain UnitTrip variable length character string, length 15
Domain Proteksi variable length character string, length 20
Domain NoRefL variable length character string, length 6
Domain Harga variable money
Domain Deskripsi variable length character string, length 200
Lengkapan (
KdTipeL KodeTipeLengkapan NOT NULL,
TipeL TipeLengkapan NOT NULL,
UnitTrip UnitTrip,
168
Proteksi Proteksi,
NoRefL NoRefLengkapan,
Harga Money,
Deskripsi Deskripsi,
PRIMARY KEY (KdTipeL)
);
12. Interlok
Domain KdInterlok variable length character string, length 5
Format : [I][0-9][0-9][0-9][0-9]
Domain KdTInstalasi variable length character string, length 5
Format : [T][I][0-9][0-9][0-9]
Domain Deskripsi variable length character string, length 200
Domain Harga variable money
Interlok (
KdInterlok KodeInterlok NOT NULL,
KdTInstalasi KodeTInstalasi NOT NULL,
Deskripsi Deskripsi,
169 Harga Harga NOT NULL,
PRIMARY KEY (KdInterlok),
FOREIGN KEY (KdTInstalasi) REFERENCES TInstalasi ON
UPDATE CASCADE ON DELETE CASCADE
);
13. KWN
Domain KdKWN variable length character string, length 4
Format : [K][W][N][0-9]
Domain WargaN variable length character string, length 30
KWN (
KdKWN KodeWargaNegara NOT NULL,
WargaN WargaNegara NOT NULL,
PRIMARY KEY (KdKWN)
);
14. Jabatan
Domain KdJabatan variable length character string, length 5
Format : [J][0-9][0-9][0-9][0-9]
170
Domain Jabatan variable length character string, length 30
Jabatan(
KdJabatan KodeJabatan NOT NULL,
Jabatan Jabatan NOT NULL,
PRIMARY KEY (KdJabatan)
);
15. Divisi
Domain KdDivisi variable length character string, length 5
Format : [D][0-9][0-9][0-9][0-9]
Domain Divisi variable length character string, length 30
Divisi(
KdDivisi KodeDivisi NOT NULL,
Divisi Divisi NOT NULL,
PRIMARY KEY (KdDivisi)
);
16. UserP
Domain KdUser variable length character string, length 3
171
Format : [U][0-9][0-9]
Domain KdPegawai variable length character string, length 5
Format : [P][0-9][0-9][0-9][0-9]
Domain Username variable length character string, length 5
Domain Password variable length character string, length 10
UserP(
KdUser KodeUser NOT NULL,
KdPegawai KodePegawai NOT NULL,
Username Username NOT NULL,
Password Password NOT NULL,
PRIMARY KEY (KdUser),
FOREIGN KEY (KdPegawai) REFERENCES Pegawai ON
UPDATE CASCADE ON DELETE CASCADE
);
17. Ukuran3PL
Domain KdU3PL variable length character string, length 10
Format : [3][P][L][0-9][0-9]…[0-9]
172
Domain KdTipeL variable length character string, length 10
Format : [T][L][0-9][0-9][0-9]
Domain NoRefU3 variable length character string, length 20
Domain Harga variable money
Ukuran3PL(
KdU3PL Kode3PL NOT NULL,
KdTipeL KodeTipeLengkapan NOT NULL,
NoRefU3 NoRefU3 NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdU3PL),
FOREIGN KEY (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
);
18. Ukuran4PL
Domain KdU4PL variable length character string, length 10
Format : [4][P][L][0-9][0-9]…[0-9]
Domain KdTipeL variable length character string, length 10
173
Format : [T][L][0-9][0-9][0-9]
Domain NoRefU4 variable length character string, length 20
Domain Harga variable harga
Ukuran4PL(
KdU4PL Kode4PL NOT NULL,
KdTipeL KodeTipeLengkapan NOT NULL,
NoRefU4 NoRefU4 NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdU4PL),
FOREIGN KEY (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
);
19. BukaYO
Domain KdYO variable length character string, length 5
Format : [Y][O][0-9][0-9][0-9]
Domain KdTipeL variable length character string, length 10
Format : [T][L][0-9][0-9][0-9]
174
Domain NoRefYO variable length character string, length 20
Domain Harga variable money
KdYO(
KdYO KodeYO NOT NULL,
KdTipeL KodeTipeLengkapan NOT NULL,
NoRefYO NoRefYO NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdYO),
FOREIGN KEY (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
);
20. TutupYC
Domain KdYC variable length character string, length 5
Format : [Y][C][0-9][0-9][0-9]
Domain KdTipeL variable length character string, length 10
Format : [T][L][0-9][0-9][0-9]
Domain NoRefYC variable length character string, length 20
175
Domain Harga variable money
KdYC(
KdYC KodeYC NOT NULL,
KdTipeL KodeTipeLengkapan NOT NULL,
NoRefYC NoRefYC NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdYC),
FOREIGN KEY (KdTipeL) REFERENCES Lengkapan ON
UPDATE CASCADE ON DELETE CASCADE
);
21. JenisCustomer
Domain KdJenisC variable length character string, length 3
Format : [J][C][0-9]
Domain JenisC variable length character string, length 20
JenisCustomer(
KdJenisC KodeJenisCustomer NOT NULL,
JenisC JenisCustomer NOT NULL,
176 PRIMARY KEY (KdJenisC)
);
22. Ukuran3P
Domain KdNoRefU3P variable length character string, length 10
Domain KdTipe variable length character string, length 5
Format : [T][B][0-9][0-9][0-9]
Domain Harga variable money
Ukuran3P(
KdNoRefU3P KdNoRefU3P NOT NULL,
KdTipe KodeTipe NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdNoRefU3P),
FOREIGN KEY (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE
);
23. Ukuran4P
Domain KdNoRefU4P variable length character string, length 10
177
Domain KdTipe variable length character string, length 5
Format : [T][B][0-9][0-9][0-9]
Domain Harga variable money
Ukuran4P(
KdNoRefU4P KdNoRefU3P NOT NULL,
KdTipe KodeTipe NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdNoRefU4P),
FOREIGN KEY (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE
);
24. JenisBarang
Domain KdJenisB variable length character string, length 5
Format : [K][J][B][0-9][0-9]
Domain NamaJenisB variable length character string, length 50
JenisBarang(
KdJenisB KodeJenisB NOT NULL,
178
NamaJenisB NamaJenisB NOT NULL,
PRIMARY KEY (KdJenisB)
);
25. BKompetitor
Domain KdBKompetitor variable length character string, length 20
Format : [K][B][K][0-9][0-9][0-9]
Domain KdTipe variable length character string, length 20
Format : [T][B][0-9][0-9][0-9]..[0-9]
Domain NamaBarangK variable length character string, length 30
Domain Harga variable money
BKompetitor(
KdBKompetitor KodeBKompetitor NOT NULL,
KdTipe KodeTipe NOT NULL,
NamaBarangK NamaBarangK NOT NULL,
Harga Harga NOT NULL,
PRIMARY KEY (KdBKompetitor),
179
FOREIGN KEY (KdTipe) REFERENCES TipeBarang ON
UPDATE CASCADE ON DELETE CASCADE
);
26. Barang
Domain KdBarang variable length character string, length 20
Format : [B][0-9][0-9][0-9]…[0-9]
Domain KdJenisB variable length character string, length 5
Format : [K][J][B][0-9][0-9]
Domain NamaB variable length character string, length 30
Domain NoStandard variable length character string, length 20
Domain IcuInfo variable length character string, length 30
Domain TipeUT variable length character string, length 20
Domain Proteksi variable length character string, length 20
Domain JenisK variable length character string, length 20
Domain TipeI variable length character string, length 20
Domain JarusP variable length character string, length 20
Domain KelasTrip variable length character string, length 20
180
Domain CWave variable length character string, length 20
Barang(
KdBarang KodeBarang NOT NULL,
KdJenisB KodeJenisBarang NOT NULL,
NamaB NamaBarang NOT NULL,
NoStandard NomorStandard NOT NULL,
IcuInfo Icu Info,
TipeUT TipeUT,
Proteksi Proteksi,
JenisK JenisK,
TipeI TipeI,
JarusP JarusP,
KelasTrip KelasTrip
Cwave Cwave,
PRIMARY KEY (KdBarang),
FOREIGN KEY (KdJenisB) REFERENCES Barang ON
UPDATE CASCADE ON DELETE CASCADE
181
);
27. TInstalasi
Domain KdTInstalasi variable length character string, length 5
Format : [T][I][0-9][0-9][0-9]
Domain Tipe variable length character string, length 30
TInstalasi(
KdTInstalasi KodeTipeInstalasi NOT NULL,
Tipe TipeInstalasi NOT NULL,
PRIMARY KEY (KdTInstalasi)
);
3.6.3.1.2 Merancang Representasi Derived Data
Tujuan dari langkah ini adalah untuk memutuskan
bagaimana merepresentasikan suatu data turunan pada
global logikal data model pada DBMS yang dipakai.
Setelah ditinjau, kami tidak menemukan data turunan pada
global logikal data model.
182
3.6.3.1.3 Merancang Enterprise Constraints
Setelah ditinjau, perusahaan tidak menentukan
enterprise constraint maka tidak terdapat enterprise
constraint.
3.6.3.2 Merancang Representasi Fisikal
Perancangan representasi fisikal merupakan proses
menghasilkan deskripsi dari implementasi database pada secondary
storage; perancangan representasi fisikal menjelaskan relasi dasar
(base relations), organisasi file (file organizations), dan index yang
digunakan untuk mencapai akses ke data yang efisien, dan setiap
integrity constraints dan security measures yang berhubungan.
3.6.3.2.1 Pemilihan DBMS (Database Management System)
Pemilihan DBMS adalah tahapan pemilihan
DBMS yang sesuai untuk mendukung aplikasi basis data.
Berikut ini merupakan pertimbangan pemilihan DBMS
antara SQL Server 2005 Developer Edition dan Oracle 9i:
183
Tabel 3.14 Perbandingan SQL Server 2005 Developer
Edition dan Oracle 9i
Perbandingan SQL Server 2005
Developer Edition
Oracle 9i
Operating system Hanya dapat
berjalan di platform
XP Service Pack 2,
Windows Vista
Bisa bekerja pada
hampir semua
platform mulai dari
platform berbasis
Windows, UNIX,
Compaq Tru64,
AIX, HP-UX, Sun
Solaris, Linux Intel
Processor Pentium III or
higher 600 MHz
(minimum), 1 GHz
(recommended)
Untuk intel/platform
kompatibel lain :
Pentium 166 MHz
atau lebih untuk AIX
: IBM RISC/6000
atau Server series
184
Perbandingan SQL Server 2005
Developer Edition
Oracle 9i
Memory 512 MB RAM
(minimum), 1 GB
RAM (recomended)
Untuk Windows :
128 MB RAM
(minimum) dan 256
MB RAM
(dianjurkan)
Untuk Unix : 512
MB RAM
(minimum)
Hard disk 746 MB hard disk
free space
140 MB pada system
drive + 4.5 GB untuk
the Oracle Home
Drive (FAT) atau 2.8
GB untuk the Oracle
Home Drive (NTFS)
Typical Installation :
minimal 450 s/d
550MB
Compact installation
: Minimal 350 s/d
400MB
Custom installation :
185
Minimal 350 s/d 700
Mb
Tabel 3.15 Perbandingan keterbatasan fitur SQL
Server 2005 dengan Oracle 9i
Feature SQL Server 2005 Oracle9i
Column name
length
128 30
Index name length 128 30
Table name length 128 30
View name length 128 30
Stored procedure
name length
128 30
Max columns per
index
16 32
Max char() size 8000 2000
Max varchar() size 8000 4000
Max columns per
table
1024 1000
Max table row
length
8036 255000
Max query size 16777216 16777216
186
Feature SQL Server 2005 Oracle9i
Recursive
subqueries
40 64
Constant string size
in SELECT
16777207 4000
Constant string size
in WHERE
8000 4000
Dari data di atas, Oracle memiliki performa yang tidak
berbeda jauh daripada SQL Server 2005, namun dari segi
hardware dan biaya, Oracle lebih tinggi. Oleh karena itu
SQL Server 2005 dipilih sebagai DBMS yang akan
digunakan dalam implements basis data.
3.6.3.2.2 Analisis Transaksi
1. Analisis transaksi (I)
(a) Memasukkan/menghapus/mengubah data PO:
KdPO, Tanggal, KdPegawai, KdCustomer dan
menampilkan data Pegawai yang sesuai dengan
KdPegawai yang menangani dan berada pada
data PO;
187
(b) Memasukkan/menghapus/mengubah data EmailP:
Email, KdPegawai dan menampilkan data
Pegawai yang sesuai dengan KdPegawai yang
memiliki dan berada pada data EmailP;
(c) Memasukkan/menghapus/mengubah data TelpP:
Phone, KdPegawai dan menampilkan data
Pegawai yang sesuai dengan KdPegawai yang
memiliki dan berada pada data TelpP.
Tabel 3.16 Analisi Transaksi (I)
Transaksi
Relasi
a b c
I R U D I R U D I R U D
Pegawai x x x
TelpP x x x x x
EmailP x x x x x
Jabatan x
Divisi x
KWN x
UserP x
Customer x
TelpC x
FaxC x
EmailC x
188
Transaksi
Relasi
a b c
I R U D I R U D I R U D
JenisCustomer x
PO x x x x
DetailPO x x x x
TipeBarang
Ukuran3P
Ukuran4P
Barang
JenisBarang
Bkompetitor
Lengkapan
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
189
2. Analisis transaksi (II)
(d) Memasukkan/menghapus/mengubah data
Pegawai: KdPegawai, NamaP, AlamatP, DOB,
JK, Fax, KdJabatan, KdDivisi, KdKWN dan
menampilkan data Jabatan yang sesuai dengan
KdJabatan yang berada pada data Pegawai;
(e) Memasukkan/menghapus/mengubah data
Pegawai: KdPegawai, NamaP, AlamatP, DOB,
JK, Fax, KdJabatan, KdDivisi, KdKWN dan
menampilkan data Divisi yang sesuai dengan
KdDivisi yang berada pada data Pegawai;
(f) Memasukkan/menghapus/mengubah data UserP:
KdUser, Username, Password, KdPegawai dan
menampilkan data Pegawai yang sesuai dengan
KdPegawai yang memiliki dan berada pada data
UserP.
Tabel 3.17 Analisis Transaksi (II)
Transaksi
Relasi
d e f
I R U D I R U D I R U D
Pegawai x x x x x x x x x
TelpP
EmailP
190
Transaksi
Relasi
d e f
I R U D I R U D I R U D
Jabatan x
Divisi x
KWN
UserP x x x x
Customer
TelpC
FaxC
EmailC
JenisCustomer
PO
DetailPO
TipeBarang
Ukuran3P
Ukuran4P
Barang
JenisBarang
Bkompetitor
Lengkapan
Ukuran3PL
Ukuran4PL
191
Transaksi
Relasi
d e f
I R U D I R U D I R U D
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
3. Analisis transaksi (III)
(g) Memasukkan/menghapus/mengubah data
Pegawai: KdPegawai, NamaP, AlamatP, DOB,
JK, Fax, KdJabatan, KdDivisi, KdKWN dan
menampilkan data KWN yang sesuai dengan
KdKWN yang berada pada data Pegawai;
(h) Memasukkan/menghapus/mengubah data PO:
KdPO, Tanggal, KdPegawai, KdCustomer dan
menampilkan data Customer yang sesuai dengan
KdCustomer yang membuat dan berada pada data
PO;
(i) Memasukkan/menghapus/mengubah data TelpC:
Phone, KdCustomer dan menampilkan data
Customer yang sesuai dengan KdCustomer yang
memiliki dan berada pada TelpC;
192
Tabel 3.18 Analisis Transaksi (III)
Transaksi
Relasi
g h i
I R U D I R U D I R U D
Pegawai x x x x
TelpP
EmailP
Jabatan
Divisi
KWN x
UserP
Customer x x
TelpC x x x x
FaxC
EmailC
JenisCustomer
PO x x x x
DetailPO
TipeBarang
Ukuran3P
Ukuran4P
Barang
JenisBarang
193
Transaksi
Relasi
g h i
I R U D I R U D I R U D
Bkompetitor
Lengkapan
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
4. Analisis transaksi (IV)
(j) Memasukkan/menghapus/mengubah data
EmailC: Email, KdCustomer dan menampilkan
data Customer yang sesuai dengan KdCustomer
yang memiliki dan berada pada EmailC;
(k) Memasukkan/menghapus/mengubah data
Customer: KdCustomer, NamaC, AlamatC,
KdJenisC dan menampilkan data JenisCustomer
yang sesuai dengan KdJenisC yang dimiliki dan
berada pada data Customer;
194
(l) Memasukkan/menghapus/mengubah data FaxC:
Fax, KdCustomer dan menampilkan data
Customer yang sesuai dengan KdCustomer yang
berada pada data FaxC;
Tabel 3.19 Analisis Transaksi (IV)
Trransaksi
Relasi
j k l
I R U D I R U D I R U D
Pegawai
TelpP
EmailP
Jabatan
Divisi
KWN
UserP
Customer x x x x x x
TelpC
FaxC x x x x
EmailC x x x x
JenisCustomer x
PO
DetailPO
TipeBarang
195
Transaksi
Relasi
j k l
I R U D I R U D I R U D
Ukuran3P
Ukuran4P
Barang
JenisBarang
Bkompetitor
Lengkapan
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
5. Analisis transaksi (V)
(m) Memasukkan/menghapus/mengubah data
Interlok: KdInterlok, Harga, Deskripsi,
KdTInstalasi dan menampilkan data TInstalasi
yang sesuai dengan KdTInstalasi yang berada
pada data Interlok;
196
(n) Memasukkan/menghapus/mengubah data
DetailPO: KdPO, Qty, KdTipe, KdTipeL,
KdInterlok dan menampilkan data Interlok yang
sesuai dengan KdInterlok yang berada pada data
DetailPO;
(o) Memasukkan/menghapus/mengubah data
TutupYC: KdYC, NoRefYC, Harga, KdTipeL
dan menampilkan data Lengkapan yang sesuai
dengan KdTipeL yang berada pada data
TutupYC;
Tabel 3.20 Analisis Transaksi (V)
Transaksi
Relasi
m n o
I R U D I R U D I R U D
Pegawai
TelpP
EmailP
Jabatan
Divisi
KWN
UserP
Customer
TelpC
197
Transaksi
Relasi
m n o
I R U D I R U D I R U D
FaxC
EmailC
JenisCustomer
PO
DetailPO x x x x
TipeBarang
Ukuran3P
Ukuran4P
Barang
JenisBarang
Bkompetitor
Lengkapan x
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC x x x x
Interlok x x x x x
TInstalasi x
Keterangan: I=Insert, R=Read, U=Update, D=Delete
198
6. Analisis Transaksi (VI)
(p) Memasukkan/menghapus/mengubah data
BukaYO: KdYO, NoRefYC, Harga, KdTipeL
dan menampilkan data Lengkapan yang sesuai
dengan KdTipeL yang berada pada data BukaYO
(q) Memasukkan/menghapus/mengubah data
Ukuran4PL: KdU4PL, NoRefU4, Harga,
KdTipeL dan menampilkan data Lengkapan yang
sesuai dengan KdTipeL yang berada pada data
Ukuran4PL
(r) Memasukkan/menghapus/mengubah data
Ukuran3PL: KdU3PL, NoRefU3, Harga,
KdTipeL dan menampilkan data Lengkapan yang
sesuai dengan KdTipeL yang berada pada data
Ukuran3PL
Tabel 3.21 Analisis Transaksi (VI)
Transaksi
Relasi
p q r
I R U D I R U D I R U D
Pegawai
TelpP
EmailP
Jabatan
199
Transaksi
Relasi
p q r
I R U D I R U D I R U D
Divisi
KWN
UserP
Customer
TelpC
FaxC
EmailC
JenisCustomer
PO
DetailPO
TipeBarang
Ukuran3P
Ukuran4P
Barang
JenisBarang
Bkompetitor
Lengkapan x x x
Ukuran3PL x x x x
Ukuran4PL x x x x
BukaYO x x x x
200
Transaksi
Relasi
p q r
I R U D I R U D I R U D
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
7. Analisis Transaksi (VII)
(s) Memasukkan/menghapus/mengubah data
DetailPO: KdPO, Qty, KdTipe, KdTipeL,
KdInterlok dan menampilkan data Lengkapan
yang sesuai dengan KdTipeL yang berada pada
data DetailPO;
(t) Memasukkan/menghapus/mengubah data
BKompetitor: KdBKompetitor, NamaBarangK,
Harga, KdTipe dan menampilkan data
TipeBarang yang sesuai dengan KdTipe yang
berada pada data BKompetitor;
(u) Memasukkan/menghapus/mengubah data Barang:
KdBarang, NamaB, NoStandard, Icu, TipeUT,
Proteksi, JenisK, TipeI, JArusP, KelasTrip,
Cwave, KdJenisB dan menampilkan data
201
JenisBarang yang sesuai dengan KdJenisB yang
berada pada data Barang;
Tabel 3.22 Analisis Transaksi (VII)
Transaksi
Relasi
s t u
I R U D I R U D I R U D
Pegawai
TelpP
EmailP
Jabatan
Divisi
KWN
UserP
Customer
TelpC
FaxC
EmailC
JenisCustomer
PO
DetailPO x x x x
TipeBarang x
Ukuran3P
Ukuran4P
202
Transaksi
Relasi
s t u
I R U D I R U D I R U D
Barang x x x x
JenisBarang x
Bkompetitor x x x x
Lengkapan x
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
8. Analisis Transaksi (VIII)
(v) Memasukkan/menghapus/mengubah data
TipeBarang: KdTipe, In, Icu, UnitTrip, I3,
JumKutub, Un. AusG, SArus, Deskripsi,
KdBarang, KdNoRefU3P dan menampilkan data
Barang yang sesuai dengan KdBarang yang
berada pada data TipeBarang;
(w) Memasukkan/menghapus/mengubah data
Ukuran4P: KdNoRefU4P, Harga, KdTipe dan
203
menampilkan data TipeBarang yang sesuai
dengan KdTipe yang berada pada data Ukuran4P;
(x) Memasukkan/menghapus/mengubah data
TipeBarang: KdTipe, In, Icu, UnitTrip, I3,
JumKutub, Un. AusG, SArus, Deskripsi,
KdBarang, KdNoRefU3P dan menampilkan data
Ukuran3P yang sesuai dengan KdNoRefU3P
yang berada pada data TipeBarang;
Tabel 3.23 Analisis Transaksi (VIII)
Transaksi
Relasi
v w x
I R U D I R U D I R U D
Pegawai
TelpP
EmailP
Jabatan
Divisi
KWN
UserP
Customer
TelpC
FaxC
EmailC
204
Transaksi
Relasi
v w x
I R U D I R U D I R U D
JenisCustomer
PO
DetailPO
TipeBarang x x x x x x x x x
Ukuran3P x
Ukuran4P x x x x
Barang x
JenisBarang
Bkompetitor
Lengkapan
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
9. Analisis Transaksi (XI)
(y) Memasukkan/menghapus/mengubah data
DetailPO: KdPO, Qty, KdTipe, KdTipeL,
205
KdInterlok dan menampilkan data TipeBarang
yang sesuai dengan KdTipe yang berada pada
data DetailPO;
(z) Memasukkan/menghapus/mengubah data
DetailPO: KdPO, Qty, KdTipe, KdTipeL,
KdInterlok dan menampilkan data PO yang
sesuai dengan KdPO yang berada pada data
DetailPO
Tabel 3.24 Analisis Transaksi (XI)
Transaksi
Relasi
y z
I R U D I R U D
Pegawai
TelpP
EmailP
Jabatan
Divisi
KWN
UserP
Customer
TelpC
FaxC
EmailC
206
Transaksi
Relasi
y z
I R U D I R U D
JenisCustomer
PO x
DetailPO x x x x x x x x
TipeBarang x
Ukuran3P
Ukuran4P
Barang
JenisBarang
Bkompetitor
Lengkapan
Ukuran3PL
Ukuran4PL
BukaYO
TutupYC
Interlok
TInstalasi
Keterangan: I=Insert, R=Read, U=Update, D=Delete
3.6.3.2.3 Memilih Organisasi File
Karena DBMS yang digunakan dalam perancangan
sistem penjualan pada PT. Abdibangun buana adalah
207
MySQL Server 2005, maka organisasi file yang digunakan
adalah heap (unordered files). Heap menempatkan record
di file dalam urutan yang sama dengan ketika dimasukkan.
Record baru akan dimasukkan disetiap akhir urutan, dan
begitu seterusnya.
3.6.3.2.4 Memilih Index
Tujuan langkah ini adalah untuk meningkatkan
performa dalam suatu sistem basis data. Indeks dibuat
berdasarkan field yang sering digunakan dalam proses
pencarian.
Tabel 3.25 Pemilihan Index
Entity Table Index Name Index Key
Pegawai Idx_kdpegawai
Idx_namapeg
KdPegawai
NamaPegawai
TelpP Idx_telpp Phone
FaxP Idx_faxp Fax
EmailP Idx_emailp Email
Jabatan Idx_kdjabatan KdJabatan
Divisi Idx_kddivisi KdDivisi
UserP Idx_kduser
Idx_username
KdUser
Username
208
Entity Table Index Name Index Key
KWN Idx_kdkwn KdKWN
Customer Idx_kdcus
Idx_namaC
KdCustomer
NamaCustomer
TelpC Idx_telpc Phone
FaxC Idx_faxc Fax
EmailC Idx_emailc Email
JenisCustomer Idx_kdjeniscus KdJenisCustomer
TipeBarang Idx_tipeb KdTipe
Ukuran3P Idx_kdu3p KdNoRefU3P
Ukuran4P Idx_kdu4p KdNoRef4UP
Barang Idx_kdb
Idx_namaB
KdBarang
NamaBarang
JenisBarang Idx_kdjb KdJenisBarang
BKompetitor Idx_kdbkom
Idx_namabkom
KdBKompetitor
NamaBarangK
Lengkapan Idx_kdleng
Idx_namaL
KdTipeL
TipeL
Ukuran3PL Idx_kdu3pl KdU3PL
Ukuran4PL Idx_kdu4pl KdU4PL
209
Entity Table Index Name Index Key
BukaYO Idx_kdyo KdYO
TutupYC Idx_kdyc KdYC
Interlok Idx_kdinterlok KdInterlok
TInstalasi Idx_tinstalasi
Idx_tipe
KdTInstalasi
Tipe
PO Idx_kdpo KdPO
DetailPO Idx_kddetailpo
Idx_kdpo
Idx_tipeb
Idx_tipeleng
Idx_kdinterlok
KdDetailPO
KdPO
KdTipe
KdLengkapan
KdInterlok
3.6.3.2.5 Memperkirakan Kebutuhan Kapasitas Disk
Tahap ini bertujuan untuk memperkirakan
besarnya kapasitas disk yang dibutuhkan untuk
mendukung implementasi database pada secondary
storage. Berikut asumsi kebutuhan kapasitas media
penyimpanan dalam setahun dengan peng-update-an data
per bulannya:
210
Tabel 3.26 Estimasi Tabel Pegawai
Field Data Type Ukuran
KdPegawai Char (5) 5 bytes
NamaP Varchar (50) 50 bytes
AlamatP Varchar (100) 100 bytes
DOB Datetime 8 bytes
JK Char (1) 1 byte
KdJabatan Char (5) 5 bytes
KdDivisi Char (5) 5 bytes
KdKWN Char (5) 5 bytes
Total (bytes) 179 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 8496 bytes =
8,496 KB
211
Tabel 3.27 Estimasi Tabel TelpP
Field Data Type Ukuran
KdPegawai Char (5) 5 bytes
Phone Varchar (20) 20 bytes
Total 25 bytes
Perkiraan Pertumbuhan Data (1
tahun)
6 * 12 = 72
Kapasitas Entitas (KB) 1800 bytes =
1,800 KB
Tabel 3.28 Estimasi Tabel EmailP
Field Data Type Ukuran
KdPegawai Char (5) 5 bytes
Email Varchar (100) 100 bytes
Total 105 bytes
Perkiraan Pertumbuhan Data (1
tahun)
6 * 12 = 72
Kapasitas Entitas (KB) 7560 bytes =
7,560 KB
212
Tabel 3.29 Estimasi Tabel Jabatan
Field Data Type Ukuran
KdPegawai Char (5) 5 bytes
Jabatan Varchar (15) 15 bytes
Total 20 bytes
Perkiraan Pertumbuhan Data (1
tahun)
0
Kapasitas Entitas (KB) 0 bytes = 0,240
KB
Tabel 3.30 Estimasi Tabel Divisi
Field Data Type Ukuran
KdPegawai Char (5) 5 bytes
Divisi Varchar (30) 30 bytes
Total 35 bytes
Perkiraan Pertumbuhan Data (1
tahun)
0
Kapasitas Entitas (KB) 0 bytes = 0 KB
213
Tabel 3.31 Estimasi Tabel KWN
Field Data Type Ukuran
KdKWN Char (5) 5 bytes
WargaN Char (3) 3 bytes
Total 8 bytes
Perkiraan Pertumbuhan Data (1
tahun)
0
Kapasitas Entitas (KB) 0 bytes = 0 KB
Tabel 3.32 Estimasi Tabel UserP
Field Data Type Ukuran
KdUser Char (5) 5 bytes
Username Varchar (10) 10 bytes
Password Varchar (20) 20 bytes
KdPegawai Char (5) 5 bytes
Total 40 bytes
Perkiraan Pertumbuhan Data (1
tahun)
2 * 12 = 24
Kapasitas Entitas (KB) 960 bytes =
0,960 KB
214
Tabel 3.33 Estimasi Tabel Customer
Field Data Type Ukuran
KdCustomer Char (5) 5 bytes
NamaC Varchar (50) 50 bytes
AlamatC Varchar (100) 100 bytes
KdJenisC Char (5) 5 bytes
Total 160 bytes
Perkiraan Pertumbuhan Data (1
tahun)
5 * 12 = 60
Kapasitas Entitas (KB) 9600 bytes =
9,600 KB
Tabel 3.34 Estimasi Tabel TelpC
Field Data Type Ukuran
KdCustomer Char (5) 5 bytes
Phone Varchar (20) 20 bytes
Total 25 bytes
Perkiraan Pertumbuhan Data (1
tahun)
10 * 12 = 120
Kapasitas Entitas (KB) 3000 bytes =
3,000 KB
215
Tabel 3.35 Estimasi Tabel FaxC
Field Data Type Ukuran
KdCustomer Char (5) 5 bytes
Fax Varchar (20) 20 bytes
Total 25 bytes
Perkiraan Pertumbuhan Data (1
tahun)
6 * 12 = 72
Kapasitas Entitas (KB) 1800 bytes =
1,800 KB
Tabel 3.36 Estimasi Tabel EmailC
Field Data Type Ukuran
KdCustomer Char (5) 5 bytes
Email Varchar (100) 100 bytes
Total 105 bytes
Perkiraan Pertumbuhan Data (1
tahun)
5 * 12 = 60
Kapasitas Entitas (KB) 6300 bytes =
6,300 KB
216
Tabel 3.37 Estimasi Tabel JenisCustomer
Field Data Type Ukuran
KdJenisC Char (5) 5 bytes
JenisC Varchar (30) 30 bytes
Total 35 bytes
Perkiraan Pertumbuhan Data (1
tahun)
0
Kapasitas Entitas (KB) 0 bytes = 0 KB
Tabel 3.38 Estimasi Tabel TipeBarang
Field Data Type Ukuran
KdTipe Varchar (20) 20 bytes
ln Varchar (5) 5 bytes
Icu Varchar (5) 5 bytes
UnitTrip Varchar (15) 15 bytes
I3 Varchar (5) 5 bytes
JumKutub Varchar (3) 3 bytes
Un Varchar (5) 5 bytes
AusG Varchar (5) 5 bytes
SArus Varchar (12) 12 bytes
Deskripsi Varchar (200) 200 bytes
KdBarang Char (5) 5 bytes
217
Field Data Type Ukuran
KdNoRefU3P Varchar (6) 6 bytes
Total 286 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 13728 bytes =
13,728 KB
Tabel 3.39 Estimasi Tabel Ukuran3P
Field Data Type Ukuran
KdNoRefU3P Varchar (6) 5 bytes
Harga Money 15 bytes
Total 20 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 960 bytes =
0,960 KB
218
Tabel 3.40 Estimasi Tabel Ukuran4P
Field Data Type Ukuran
KdNoRefU4P Varchar (6) 5 bytes
Harga Money 15 bytes
KdTipe Char (5) 5 bytes
Total 25 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1200 bytes =
1,200 KB
Tabel 3.41 Estimasi Tabel Barang
Field Data Type Ukuran
KdBarang Char (5) 5 bytes
NamaB Varchar(50) 20 bytes
NoStandard Varchar (5) 5 bytes
Icu Varchar (20) 20 bytes
TipeUT Varchar (20) 20 bytes
Proteksi Varchar (20) 20 bytes
JenisK Varchar (20) 20 bytes
TipeI Varchar (15) 15 bytes
JArusP Varchar (15) 15 bytes
219
Field Data Type Ukuran
KelasTrip Varchar (5) 5 bytes
CWave Char (5) 5 bytes
KdJenisB Char (5) 5 bytes
Total 155 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 7440 bytes =
7,440 KB
Tabel 3.42 Estimasi Tabel JenisBarang
Field Data Type Ukuran
KdJenisB Char (5) 5 bytes
NamaJenisB Varchar (50) 50 bytes
Total 55 bytes
Perkiraan Pertumbuhan Data (1
tahun)
1 * 12 = 12
Kapasitas Entitas (KB) 660 bytes =
0,660 KB
220
Tabel 3.43 Estimasi Tabel BKompetitor
Field Data Type Ukuran
KdBKompetitor Char (5) 5 bytes
NamaBarangK Varchar (50) 50 bytes
Harga Money 15 bytes
KdTipe Char (5) 5 bytes
Total 30 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1440 bytes =
1,440 KB
Tabel 3.44 Estimasi Tabel PO
Field Data Type Ukuran
KdPO Varchar (10) 10 bytes
Tanggal Datetime 8 bytes
KdPegawai Char (5) 5 bytes
KdCustomer Char (5) 5 bytes
Total 28 bytes
Perkiraan Pertumbuhan Data (1
tahun)
17 * 12 = 204
Kapasitas Entitas (KB) 5712 bytes =
5,712 KB
221
Tabel 3.45 Estimasi Tabel DetailPO
Field Data Type Ukuran
KdDetailPO Varchar (10) 10 bytes
KdPO Varchar (10) 10 bytes
KdTipe Char (5) 5 bytes
KdTipeL Char (5) 5 bytes
KdInterlok Char (5) 5 bytes
Qty Varchar (3) 3 bytes
Total 38 bytes
Perkiraan Pertumbuhan Data (1
tahun)
17 * 12 = 204
Kapasitas Entitas (KB) 7752 bytes =
7,752 KB
Tabel 3.46 Estimasi Tabel Lengkapan
Field Data Type Ukuran
KdTipeL Char (5) 5 bytes
TipeL Datetime 8 bytes
UnitTrip Varchar (15) 15 bytes
Proteksi Varchar (20) 20 bytes
NoRefL Char (6) 6 bytes
Harga Money 15 bytes
222
Field Data Type Ukuran
Deskripsi Varchar (200) 200 bytes
Total 269 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 12912 bytes =
12,912 KB
Tabel 3.47 Estimasi Tabel Ukuran3PL
Field Data Type Ukuran
KdU3PL Char (5) 5 bytes
NoRefU3 Varchar (6) 6 bytes
Harga Money 15 bytes
KdTipeL Char (5) 5 bytes
Total 31
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1488 bytes =
1,488 KB
223
Tabel 3.48 Estimasi Tabel Ukuran4PL
Field Data Type Ukuran
KdU4PL Char (5) 5 bytes
NoRefU4 Varchar (6) 6 bytes
Harga Money 15 bytes
KdTipeL Char (5) 5 bytes
Total 31 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1488 bytes =
1,488 KB
Tabel 3.49 Estimasi Tabel BukaYO
Field Data Type Ukuran
KdYO Char (5) 5 bytes
NoRefYO Varchar (6) 6 bytes
Harga Money 15 bytes
KdTipeL Char (5) 5 bytes
Total 31 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1488 bytes =
1,488 KB
224
Tabel 3.50 Estimasi Tabel TutupYC
Field Data Type Ukuran
KdYC Char (5) 5 bytes
NoRefYC Varchar (6) 6 bytes
Harga Money 15 bytes
KdTipeL Char (5) 5 bytes
Total 31 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1488 bytes =
1,488 KB
Tabel 3.51 Estimasi Tabel Interlok
Field Data Type Ukuran
KdInterlok Varchar (6) 6 bytes
Harga Money 15 bytes
Deskripsi Datetime 8 bytes
KdTInstalasi Char (5) 5 bytes
Total 34 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 1632 bytes =
1,632 KB
225
Tabel 3.52 Estimasi Tabel TInstalasi
Field Data Type Ukuran
KdTInstalasi Char (5) 5 bytes
Tipe Varchar (10) 10 bytes
Total 15 bytes
Perkiraan Pertumbuhan Data (1
tahun)
4 * 12 = 48
Kapasitas Entitas (KB) 720 bytes =
0,720 KB
Tabel 3.53 Total kebutuhan memory selama 1 tahun
Tabel Ukuran (KB)
Pegawai 8,496
TelpP 1,800
EmailP 7,560
Jabatan 0
Divisi 0
Customer 9,600
TelpC 3,000
FaxC 1,800
EmailC 6,300
JenisCustomer 0
226
Tabel Ukuran (KB)
TipeBarang 13,728
Ukuran3P 0,960
Ukuran 4P 1,200
Barang 7,440
JenisBarang 0,660
BKompetitor 1,440
PO 5,712
DetailPO 7,752
Lengkapan 12,912
Ukuran3PL 1,488
Ukuran4PL 1,488
BukaYO 1,488
TutupYC 1,488
Interlok 1,632
Tinstalasi 0,720
KWN 0
UserP 0,960
Total 99,624
Jadi, total kebutuhan memory PT. Abdi Bangun Buana
selama 1 tahun berdasarkan estimasi kapasitas memory
227
yang telah diuraikan sebelumnya adalah sebesar 99, 624
KB.
3.6.3.3 Merancang Procedure
1. Pegawai
• Masukkan data Pegawai
CREATE PROC insertPegawai
@KdPegawai char(5), @NamaP char(50), @AlamatP
char(100), @DOB datetime, @JK char(1), @KdJabatan
char(5), @KdDivisi char(5), @KdKWN char(5)
AS INSERT INTO Pegawai VALUES (@KdPegawai,
@NamaP, @AlamatP, @DOB, @JK, @KdJabatan,
@KdDivisi, @KdKWN)
• Hapus data Pegawai
CREATE PROC deletePegawai @KdPegawai char(5)
AS UPDATE Pegawai SET (NamaP=@NamaP) WHERE
KdPegawai=@KdPegawai
• Ubah data Pegawai
CREATE PROC updatePegawai @KdPegawai char(5),
@NamaP char(50), @AlamatP char(100), @DOB
datetime, @JK char(1), @KdJabatan char(5), @KdDivisi
char(5), @KdKWN char(5)
228
AS UPDATE Pegawai SET (NamaP=@NamaP,
AlamatP=@AlamatP, DOB=@DOB, JK=@JK)
WHERE KdPegawai = @KdPegawai
2. TelpP
• Masukkan data TelpP
CREATE PROC insertTelpP
@KdPegawai char(5), @Phone integer(20)
AS INSERT INTO TelpP VALUES (@KdPegawai,
@Phone)
• Hapus data TelpP
CREATE PROC deleteTelpP @Phone integer(20)
AS UPDATE TelpP SET (Phone=@Phone) WHERE
Phone=@Phone
• Ubah data TelpP
CREATE PROC updateTelpP @KdPegawai char(5),
@Phone integer(20)
AS UPDATE TelpP SET (KdPegawai=@KdPegawai,
Phone=@Phone) WHERE Phone=@Phone
3. EmailP
• Masukkan data EmailP
229
CREATE PROC insertEmailP @KdPegawai char(5),
@Email varchar(100)
AS INSERT INTO EmailP VALUES (@KdPegawai,
@Email)
• Hapus data EmailP
CREATE PROC deleteEmailP @Email varchar(100)
AS UPDATE EmailP SET (Email=@Email) WHERE
Email=@Email
• Ubah data EmailP
CREATE PROC updateEmailP @KdPegawai char(5),
@Email varchar(100)
AS UPDATE EmailP SET (KdPegawai=@KdPegawai,
Email=@Email) WHERE Email=@Email
4. Jabatan
• Masukkan data Jabatan
CREATE PROC insertJabatan @KdJabatan char(5),
@Jabatan varchar(15)
AS INSERT INTO Jabatan VALUES (@KdJabatan,
@Jabatan)
• Hapus data Jabatan
CREATE PROC deleteJabatan @KdJabatan varchar(15)
230
AS UPDATE Jabatan SET (Jabatan=@Jabatan) WHERE
KdJabatan=@KdJabatan
• Ubah data Jabatan
CREATE PROC updateJabatan @KdJabatan char(5),
@Jabatan varchar(15)
AS UPDATE Jabatan SET (KdJabatan=@KdJabatan,
Jabatan=@Jabatan) WHERE KdJabatan=@KdJabatan
5. Divisi
• Masukkan data Divisi
CREATE PROC insertDivisi @KdDivisi char(5),
@Divisi varchar(30)
AS INSERT INTO Divisi VALUES (@KdDivisi,
@Divisi)
• Hapus data Divisi
CREATE PROC deleteDivisi @KdDivisi char(5)
AS UPDATE Divisi SET (Divisi=@Divisi) WHERE
KdDivisi=@KdDivisi
• Ubah data Divisi
CREATE PROC updateDivisi @KdDivisi char(5),
@Divisi varchar(30)
AS UPDATE Divisi SET (KdDivisi=@KdDivisi,
Divisi=@Divisi) WHERE KdDivisi=@KdDivisi
231
6. UserP
• Masukkan data UserP
CREATE PROC insertUserP @KdUser char(5),
@Username varchar(10), @Password varchar(20),
KdPegawai char(5)
AS INSERT INTO UserP VALUES (@KdUser,
@Username, @Password, @KdPegawai)
• Hapus data UserP
CREATE PROC deleteUserP @KdUser char(5)
AS UPDATE UserP SET (Username=@Username)
WHERE KdUser=@KdUser
• Ubah data UserP
CREATE PROC updateUserP @KdUser char(5),
@Username varchar(10), @Password varchar(20),
KdPegawai char(5)
AS UPDATE UserP SET (KdUser=@KdUser,
Username=@Username, Password=@Password,
KdPegawai=@KdPegawai) WHERE KdUser=@KdUser
7. KWN
• Masukkan data KWN
232
CREATE PROC insertKWN @KdKWN char(5),
@WargaN char(3)
AS INSERT INTO KWN VALUES (@KdKWN,
@WargaN)
• Hapus data KWN
CREATE PROC deleteKWN @KdKWN
AS UPDATE KWN SET (WargaN=@WargaN) WHERE
KdKWN=@KdKWN
• Ubah data KWN
CREATE PROC updateKWN @KdKWN char(5),
@WargaN char(3)
AS UPDATE KWN SET (KdKWN=@KdKWN,
WargaN=@WargaN) WHERE KdKWN=@KdKWN
8. Customer
• Masukkan data Customer
CREATE PROC insertCustomer @KdCustomer char(5),
@NamaC varchar(50), @AlamatC varchar(100),
KdJenisC char(5)
AS INSERT INTO Customer VALUES (@KdCustomer,
@NamaC, @AlamatC, @KdJenisC)
• Hapus data Customer
CREATE PROC deleteCustomer @KdCustomer char(5)
233
AS UPDATE Customer SET (NamaC=@NamaC)
WHERE KdCustomer=@KdCustomer
• Ubah data Customer
CREATE PROC updateCustomer @KdCustomer char(5),
@NamaC varchar(50), @AlamatC varchar(100),
@KdJenisC char(5)
AS UPDATE Customer SET
(KdCustomer=@KdCustomer, NamaC=@NamaC,
AlamatC=@AlamatC, KdJenisC=@KdJenisC) WHERE
KdCustomer=@KdCustomer
9. TelpC
• Masukkan data TelpC
CREATE PROC insertTelpC @KdCustomer char(5),
@Phone integer(20)
AS INSERT INTO TelpC VALUES (@KdCustomer,
@Phone)
• Hapus data TelpC
CREATE PROC deleteTelpC @Phone integer(20)
AS UPDATE TelpC SET (Phone=@Phone) WHERE
Phone=@Phone
• Ubah data TelpC
234
CREATE PROC updateTelpC @KdCustomer char(5),
@Phone integer(20)
AS UPDATE TelpC SET (KdCustomer=@KdCustomer,
Phone=@Phone) WHERE Phone=@Phone
10. FaxC
• Masukkan data FaxC
CREATE PROC insertFaxC @KdCustomer char(5),
@Fax integer(20)
AS INSERT INTO FaxC VALUES (@KdCustomer,
@Fax)
• Hapus data FaxC
CREATE PROC deleteFaxC @Fax integer(20)
AS UPDATE FaxC SET (FaxC=@FaxC) WHERE
Fax=@Fax
• Ubah data FaxC
CREATE PROC updateFaxC @KdCustomer char(5),
@Fax integer(20)
AS UPDATE FaxC SET (KdCustomer=@KdCustomer,
FaxC=@FaxC) WHERE Fax=@Fax
11. EmailC
• Masukkan data EmailC
235
CREATE PROC insertEmailC @KdCustomer char(5),
@Email varchar(100)
AS INSERT INTO EmailC VALUES (@KdCustomer,
@Email)
• Hapus data EmailC
CREATE PROC deleteEmailC @Email varchar(100)
AS UPDATE EmailC SET (Email=@Email) WHERE
Email=@Email
• Ubah data EmailC
CREATE PROC updateEmailC @KdCustomer char(5),
@Email varchar(100)
AS UPDATE EmailC SET
(KdCustomer=@KdCustomer, Email=@Email) WHERE
Email=@Email
12. JenisCustomer
• Masukkan data JenisCustomer
CREATE PROC insertJenisCustomer @KdJenisC
char(5), @JenisC varchar(30)
AS INSERT INTO JenisCustomer VALUES
(@KdJenisC, @JenisC)
• Hapus data JenisCustomer
236
CREATE PROC deleteJenisCustomer @KdJenisC
char(5)
AS UPDATE JenisCustomer SET (JenisC=@JenisC)
WHERE KdJenisC=@KdJenisC
• Ubah data JenisCustomer
CREATE PROC updateJenisCustomer @KdJenisC
char(5), @JenisC varchar(30)
AS UPDATE JenisCustomer SET
(KdJenisC=@KdJenisC, JenisC=@JenisC) WHERE
KdJenisC=@KdJenisC
13. TipeBarang
• Masukkan data TipeBarang
CREATE PROC insertTipeBarang @KdTipe
varchar(20), @In integer(5), @Icu integer(5), @UnitTrip
varchar(15), @I3 integer(5), @JumKutub integer(3),
@Un integer(5), @AusG integer(5), @SArus
varchar(12), @Deskripsi varchar(200), @KdBarang
char(5), @KdNoRefU3P varchar(6)
AS INSERT INTO TipeBarang VALUES (@KdTipe,
@In, @Icu, @UnitTrip, @I3, @JumKutub, @Un,
@AusG, @SArus, @Deskripsi, @KdBarang,
@KdNoRefU3P)
237
• Hapus data TipeBarang
CREATE PROC deleteTipeBarang @KdTipe varchar(20)
AS UPDATE TipeBarang SET (Deskripsi=@Deskripsi)
WHERE KdTipe=@KdTipe
• Ubah data TipeBarang
CREATE PROC updateTipeBarang @KdTipe
varchar(20), @In integer(5), @Icu integer(5), @UnitTrip
varchar(15), @I3 integer(5), @JumKutub integer(3),
@Un integer(5), @AusG integer(5), @SArus
varchar(12), @Deskripsi varchar(200), @KdBarang
char(5), @KdNoRefU3P varchar(6)
AS UPDATE TipeBarang SET (KdTipe=@KdTipe,
In=@In, Icu=@Icu, UnitTrip=@UnitTrip, I3=@I3,
JumKutub=@JumKutub, Un=@Un, AusG=@AusG,
SArus=@SArus, Deskripsi=@Deskripsi,
KdBarang=@KdBarang,
KdNoRefU3P=@KdNoRefU3P) WHERE
KdTipe=@KdTipe
14. Ukuran3P
• Masukkan data Ukuran3P
238
CREATE PROC insertUkuran3P @KdNoRefU3P
varchar(6), @Harga money
AS INSERT INTO Ukuran3P VALUES
(@KdNoRefU3P, @Harga)
• Hapus data Ukuran3P
CREATE PROC deleteUkuran3P @KdNoRefU3P
varchar(6)
AS UPDATE Ukuran3P SET (Harga=@Harga) WHERE
KdNoRefU3P =@KdNoRefU3P
• Ubah data Ukuran3P
CREATE PROC updateUkuran3P @KdNoRefU3P
varchar(6), @Harga money
AS UPDATE Ukuran3P SET
(KdNoRefU3P=@KdNoRefU3P, Harga=@Harga)
WHERE KdNoRefU3P =@KdNoRefU3P
15. Ukuran4P
• Masukkan data Ukuran4P
CREATE PROC insertUkuran4P @KdNoRefU4P
varchar(6), @Harga money, @KdTipe char(5)
AS INSERT INTO Ukuran4P VALUES
(@KdNoRefU4P, @Harga, @KdTipe)
• Hapus data Ukuran4P
239
CREATE PROC deleteUkuran4P @KdNoRefU4P
varchar(6)
AS UPDATE Ukuran4P SET (Harga=@Harga) WHERE
KdNoRefU4P=@KdNoRefU4P
• Ubah data Ukuran4P
CREATE PROC updateUkuran4P @KdNoRefU4P
varchar(6), @Harga money, @KdTipe char (5)
AS UPDATE Ukuran4P SET
(KdNoRefU4P=@KdNoRefU4P, Harga=@Harga,
KdTipe=@KdTipe) WHERE
KdNoRefU4P=@KdNoRefU4P
16. Barang
• Masukkan data Barang
CREATE PROC insertBarang @KdBarang char(5),
NamaB varchar(50), NoStandard integer(5), Icu
varchar(20), TipeUT varchar(20), Proteksi varchar(20),
JenisK varchar(20), TipeI varchar(15), JArusP
varchar(15), KelasTrip integer(5), CWave char(5),
@KdJenisB char(5)
AS INSERT INTO Barang VALUES (@KdBarang,
@NamaB, @NoStandard, @Icu, @TipeUT, @Proteksi,
240
@JenisK, @TipeI, @JArusP, @KelasTrip, @CWave,
@KdJenisB)
• Hapus data Barang
CREATE PROC deleteBarang @KdBarang char(5)
AS UPDATE Barang SET (NamaB=@NamaB) WHERE
KdBarang=@KdBarang
• Ubah data Barang
CREATE PROC updateBarang @KdBarang char(5),
@NamaB varchar(50), @NoStandard integer(5), @Icu
varchar(20), @TipeUT varchar(20), @Proteksi
varchar(20), @JenisK varchar(20), @TipeI varchar(15),
@JArusP varchar(15), @KelasTrip integer(5), @CWave
char(5), @KdJenisB char(5)
AS UPDATE Barang SET (KdBarang=@KdBarang,
NamaB=@NamaB, NoStandard=@NoStandard,
Icu=@Icu, TipeUT=@TipeUT, Proteksi=@Proteksi,
JenisK=@JenisK, TipeI=@TipeI, JarusP=@JArusP,
KelasTrip=@KelasTrip, CWave=@CWave,
KdJenisB=@KdJenisB) WHERE
KdBarang=@KdBarang
17. JenisBarang
• Masukkan data JenisBarang
241
CREATE PROC insertJenisBarang @KdJenisB char(5),
@NamaJenisB varchar(50)
AS INSERT INTO JenisBarang VALUES (@KdJenisB,
@NamaJenisB)
• Hapus data JenisBarang
CREATE PROC deleteJenisBarang @KdJenisB char(5)
AS UPDATE JenisBarang SET
(NamaJenisB=@NamaJenisB) WHERE
KdJenisB=@KdJenisB
• Ubah data JenisBarang
CREATE PROC updateJenisBarang @KdJenisB char(5),
@NamaJenisB varchar(50)
AS UPDATE JenisBarang SET (KdJenisB=@KdJenisB,
NamaJenisB=@NamaJenisB) WHERE
KdJenisB=@KdJenisB
18. BKompetitor
• Masukkan data BKompetitor
CREATE PROC insertBKompetitor @KdBKompetitor
char(5), @NamaBarangK varchar(50), @Harga money,
@KdTipe char(5)
242
AS INSERT INTO BKompetitor VALUES
(@KdBKompetitor, @NamaBarangK, @Harga,
@KdTipe)
• Hapus data BKompetitor
CREATE PROC deleteBKompetitor @KdBKompetitor
char(5)
AS UPDATE BKompetitor SET
(NamaBarangK=@NamaBarangK) WHERE
KdBKompetitor=@KdBKompetitor
• Ubah data BKompetitor
CREATE PROC updateBKompetitor @KdBKompetitor
char(5), @NamaBarangK varchar(50), @Harga money,
@KdTipe char(5)
AS UPDATE BKompetitor SET
(KdBKompetitor=@KdBKompetitor,
NamaBarangK=@NamaBarangK, Harga=@Harga,
KdTipe=@KdTipe) WHERE
KdBKompetitor=@KdBKompetitor
19. PO
• Masukkan data PO
243
CREATE PROC insertPO @KdPO varchar(10),
@Tanggal datetime, @KdPegawai char(5),
@KdCustomer char(5)
AS INSERT INTO PO VALUES (@KdPO, @Tanggal,
@KdPegawai, @KdCustomer)
• Hapus data PO
CREATE PROC deletePO @KdPO varchar(10)
AS UPDATE PO SET (Tanggal=@Tanggal) WHERE
KdPO =@KdPO
• Ubah data PO
CREATE PROC updatePO @KdPO varchar(10),
@Tanggal datetime, @KdPegawai char(5),
@KdCustomer char(5)
AS UPDATE PO SET (KdPO=@KdPO,
Tanggal=@Tanggal, KdPegawai=@KdPegawai,
KdCustomer=@KdCustomer) WHERE KdPO=@KdPO
20. DetailPO
• Masukkan data DetailPO
CREATE PROC insertDetailPO @KdDetailPO
varchar(10), @KdPO varchar(10), @KdTipe char(5),
@KdTipeL char(5), @KdInterlok char(5), @Qty
integer(3)
244
AS INSERT INTO DetailPO VALUES (@KdDetailPO,
@KdPO, @KdTipe, @KdTipeL, @KdInterlok, @Qty)
• Hapus data DetailPO
CREATE PROC deleteDetailPO @KdDetailPO
varchar(10)
AS UPDATE DetailPO SET (Qty=@Qty) WHERE
KdDetailPO=@KdDetailPO
• Ubah data DetailPO
CREATE PROC updateDetailPO @KdPO varchar(10),
@KdTipe char(5), @KdTipeL char(5), @KdInterlok
char(5), @Qty integer(3)
AS UPDATE DetailPO SET
(KdDetailPO=@KdDetailPO, KdPO=@KdPO,
KdTipe=@KdTipe, KdTipeL=@KdTipeL,
KdInterlok=@KdInterlok, Qty=@Qty) WHERE
KdDetailPO=@KdDetailPO
21. Lengkapan
• Masukkan data Lengkapan
CREATE PROC insertLengkapan @KdTipeL char(5),
@TipeL datetime, @UnitTrip varchar(15), @Proteksi
varchar(20), @NoRefL char(6), @Harga money,
@Deskripsi varchar(200)
245
AS INSERT INTO Lengkapan VALUES (@KdTipeL,
@TipeL, @UnitTrip, @Proteksi, @NoRefL, @Harga,
@Deskripsi)
• Hapus data Lengkapan
CREATE PROC deleteLengkapan @KdTipeL char(5)
AS UPDATE Lengkapan SET (Harga=@Harga)
WHERE KdTipeL=@KdTipeL
• Ubah data Lengkapan
CREATE PROC updateLengkapan @KdTipeL char(5),
@TipeL datetime, @UnitTrip varchar(15), @Proteksi
varchar(20), @NoRefL char(6), @Harga money,
@Deskripsi varchar(200)
AS UPDATE Lengkapan SET (KdTipeL=@KdTipeL,
TipeL=@TipeL, UnitTrip=@UnitTrip,
Proteksi=@Proteksi, NoRefL=@NoRefL,
Harga=@Harga, Deskripsi=@Deskripsi) WHERE
KdTipeL=@KdTipeL
22. Ukuran3PL
• Masukkan data Ukuran3PL
CREATE PROC insertUkuran3PL @KdU3PL char(5),
@NoRefU3 varchar(6), @Harga money, @KdTipeL
char(5)
246
AS INSERT INTO Ukuran3PL VALUES (@KdU3PL,
@NoRefU3, @Harga, @KdTipeL)
• Hapus data Ukuran3PL
CREATE PROC deleteUkuran3PL @KdU3PL char(5)
AS UPDATE Ukuran3PL SET (Harga=@Harga)
WHERE KdU3PL=@KdU3PL
• Ubah data Ukuran3PL
CREATE PROC updateUkuran3PL @KdU3PL char(5),
@NoRefU3 varchar(6), @Harga money, @KdTipeL
char(5)
AS UPDATE Ukuran3PL SET (KdU3PL=@KdU3PL,
NoRefU3=@NoRefU3, Harga=@Harga,
KdTipeL=@KdTipeL) WHERE KdU3PL=@KdU3PL
23. Ukuran4PL
• Masukkan data Ukuran4PL
CREATE PROC insertUkuran4PL @KdU4PL char(5),
@NoRefU4 varchar(6), @Harga money, @KdTipeL
char(5)
AS INSERT INTO Ukuran4PL VALUES (@KdU4PL,
@NoRefU4, @Harga, @KdTipeL)
• Hapus data Ukuran4PL
CREATE PROC deleteUkuran4PL @KdU4PL char(5)
247
AS UPDATE Ukuran4PL SET (Harga=@Harga)
WHERE KdU4PL=@KdU4PL
• Ubah data Ukuran4PL
CREATE PROC updateUkuran4PL @KdU4PL char(5),
@NoRefU4 varchar(6), @Harga money, @KdTipeL
char(5)
AS UPDATE Ukuran4PL SET (KdU4PL=@KdU4PL,
NoRefU4=@NoRefU4, Harga=@Harga,
KdTipeL=@KdTipeL) WHERE KdU4PL=@KdU4PL
24. BukaYO
• Masukkan data BukaYO
CREATE PROC insertBukaYO @KdYO char(5),
@NoRefYO varchar(6), @Harga money, @KdTipeL
char(5)
AS INSERT INTO BukaYO VALUES (@KdYO,
@NoRefYO, @Harga, @KdTipeL)
• Hapus data BukaYO
CREATE PROC deleteBukaYO @KdYO char(5)
AS UPDATE BukaYO SET (Harga=@Harga) WHERE
KdYO=@KdYO
• Ubah data BukaYO
248
CREATE PROC updateBukaYO @KdYO char(5),
@NoRefYO varchar(6), @Harga money, @KdTipeL
char(5)
AS UPDATE BukaYO SET (KdYO=@KdYO,
NoRefYO=@NoRefYO, Harga=@Harga,
KdTipeL=@KdTipeL) WHERE KdYO=@KdYO
25. TutupYC
• Masukkan data TutupYC
CREATE PROC insertTutupYC @KdYC char(5),
@NoRefYC varchar(6), @Harga money, @KdTipeL
char(5)
AS INSERT INTO TutupYC VALUES (@KdYC,
@NoRefYC, @Harga, @KdTipeL)
• Hapus data TutupYC
CREATE PROC deleteTutupYC @KdYC char(5)
AS UPDATE TutupYC SET (Harga=@Harga) WHERE
KdYC=@KdYC
• Ubah data TutupYC
CREATE PROC updateTutupYC @KdYC char(5),
@NoRefYC varchar(6), @Harga money, @KdTipeL
char(5)
249
AS UPDATE TutupYC SET (KdYC=@KdYC,
NoRefYC=@NoRefYC, Harga=@Harga,
KdTipeL=@KdTipeL) WHERE KdYC=@KdYC
26. Interlok
• Masukkan data Interlok
CREATE PROC insertInterlok @KdInterlok varchar(6),
@Harga money, @Deskripsi varchar(200),
@KdTInstalasi char(5)
AS INSERT INTO Interlok VALUES (@KdInterlok,
@Harga, @Deskripsi, @KdTInstalasi)
• Hapus data Interlok
CREATE PROC deleteInterlok @KdInterlok varchar(6)
AS UPDATE Interlok SET (Harga=@Harga) WHERE
KdInterlok=@KdInterlok
• Ubah data Interlok
CREATE PROC updateInterlok @KdInterlok varchar(6),
@Harga money, @Deskripsi varchar(200),
@KdTInstalasi char(5)
AS UPDATE Interlok SET (KdInterlok=@KdInterlok,
Harga=@Harga, Deskripsi=@Deskripsi,
KdTInstalasi=@KdTInstalasi) WHERE
KdInterlok=@KdInterlok
250
27. TInstalasi
• Masukkan data TInstalasi
CREATE PROC insertTInstalasi @KdTInstalasi char(5),
@Tipe varchar(10)
AS INSERT INTO TInstalasi VALUES (@KdTInstalasi,
@Tipe)
• Hapus data TInstalasi
CREATE PROC deleteTInstalasi @KdTInstalasi char(5)
AS UPDATE TInstalasi SET (Tipe=@Tipe) WHERE
KdTInstalasi=@KdTInstalasi
• Ubah data TInstalasi
CREATE PROC updateTInstalasi @KdTInstalasi
char(5), @Tipe varchar(10)
AS UPDATE TInstalasi SET
(KdTInstalasi=@KdTInstalasi, Tipe=@Tipe) WHERE
KdTInstalasi=@KdTInstalasi
3.6.3.4 Merancang User View
CREATE VIEW DetailKaryawan
AS SELECT P.KdPegawai, P.NamaP,P. AlamatP,P. DOB, P.JK,
J.Jabatan, T.TelpPeg, E.EmailPeg, U.Username, U.Password
FROM Pegawai P, Jabatan J, phone T, Email E, UserP U
251
WHERE P.KdPegawai = T.KdPegawai
AND P.KdJabatan = J.KdJabatan
AND P.KdPegawai = U.KdPegawai
and P.kdpegawai = E.kdpegawai
CREATE VIEW DetailPelanggan
AS SELECT C.KdCustomer, C.NamaC, C. AlamatC, JC.JenisC,
T.TelpCus, E.EmailCus, F.FaxCus
FROM Customer C, JenisCustomer JC, phone T, email E, Fax F
WHERE C.KdCustomer = T.KdCustomer
AND C.KdCustomer = E.KdCustomer
AND C.KdCustomer = F.KdCustomer
AND C.KdJenisC = JC.KdJenisC
CREATE VIEW DetailTipeBarang
AS SELECT TB.KdTipe, B.Kdbarang, JB.NamaJenisB as [Jenis
Barang], B.NamaB as [Nama Barang], TB.Namatipe, ln, Icu,
UnitTrip, I3, JumKutub, Un, AusG, SArus, Deskripsi,
tigaP.KdNoRefU3P, tigaP.Harga as [Harga3P],
empatP.KdNoRefU4P, empatP.harga as [Harga4P]
FROM TipeBarang TB, Ukuran3P tigap, Ukuran4P empatp, barang
b,jenisbarang JB
WHERE tb.kdtipe = tigap.kdtipe
252
AND tb.kdtipe = empatp.kdtipe
AND TB.kdbarang = B.kdbarang
AND B.kdjenisb = JB.kdjenisb
CREATE VIEW DetailInterlok
AS SELECT kdinterlok, TI.kdtinstalasi, Tipe, NoRef, harga,
deskripsi
FROM Tinstalasi TI, interlok I
WHERE I.KdTinstalasi = TI.kdtinstalasi
CREATE VIEW Kompetitor
AS SELECT TB.Namatipe as [Barang ABB], tigaP.Harga as [Harga
ABB], K.Namabarangk as [Barang Kompetitor], k.harga [Harga
Kompetitor]
FROM tipebarang tb, bkompetitor k, ukuran3p tigap
WHERE TB.kdtipe = k.kdtipe
CREATE VIEW Lengkapan3pdan4p
AS SELECT L.KdTipeL, TipeL, UnitTrip, Proteksi, Deskripsi,
tigap.NoRefU3, tigap.Harga as [Harga 3P], empatp.NoRefU4,
empatp.harga as [Harga 4P]
FROM lengkapan L, ukuran3pl tigap, ukuran4pl empatp
WHERE L.kdtipeL = tigap.kdtipel
253
AND L.kdtipel = empatp.kdtipel
CREATE VIEW Bukayotutupyc
AS SELECT L.KdTipeL, TipeL, UnitTrip, Proteksi, Deskripsi,
bukaYO.NoRefYO, bukaYO.Harga as [Harga BukaYO],
TutupYC.NoRefYC, TutupYC.harga as [Harga BukaYC]
FROM lengkapan L, BukaYO, TutupYC
WHERE L.kdtipeL = BukaYO.kdtipel
AND L.kdtipel = TutupYC.kdtipel
CREATE VIEW Lengkapandetail
AS SELECT * FROM lengkapan
WHERE NoRefL NOT LIKE ‘’
3.6.3.5 Merancang Security Measures
Security measures atau mekanisme keamanan dirancang
untuk memastikan hanya pengguna (user) yang memiliki otoritas
yang berhak mengakses tabel-table pada basis data.
Adapun mekanisme keamanan yang dirancang adalah sebagai
berikut :
1. Keamanan sistem
254
Keamanan sistem diterapkan dengan menggunakan authentikasi
user, yaitu dengan menggunakan halaman login sebelum masuk
ke dalam sistem yang dirancang pada aplikasi. Pada halaman
login, user diminta untuk memasukkan username dan password.
Selain itu, juga diatur agar user hanya bisa mengakses modul –
modul tertentu dalam program sesuai dengan hak aksesnya.
2. Keamanan data
Keamanan data berhubungan dengan relasi basis data (tabel atau
relasi) dan aksi user terhadap relasi tersebut, misalnya aksi
pemilihan, pengisian, pengubahan, dan penghapusan data.
Keamanan data ini diterapkan menggunakan authorisasi user
dengan tujuan membatasi hak akses user terhadap relasi yang
ada.
Tabel 3.54 Keamanan Data
User
Relasi
Admin User
I U R D I U R D
Pegawai x x x x x
TelpP x x x x x
FaxP x x x x x
EmailP x x x x x
Customer x x x x x x
255
User
Relasi
Admin User
I U R D I U R D
TelpC x x x x x x
FaxC x x x x x x
EmailC x x x x x x
PO x x x x x x
DetailPO x x x x x x
TipeBarang x x x x x x
Lengkapan x x x x x x
Interlok x x x x x x
KWN x x x x x x
Jabatan x x x x x x
Divisi x x x x x x
UserP x x x x
Ukuran3PL x x x x x x
Ukuran4PL x x x x x x
BukaYO x x x x x x
TutupYC x x x x x x
JenisCustomer x x x x x x
Ukuran3P x x x x x x
Ukuran4P x x x x x x
JenisBarang x x x x x x
256
User
Relasi
Admin User
I U R D I U R D
BKompetitor x x x x x x
Barang x x x x x x
TInstalasi x x x x x x
Keterangan: I=Insert, R=Read, U=Update, D=Delete
Perancangan mekanisme keamanan terdapat pada DBMS,
yaitu dengan membuat user yang akan mengakses basis data serta
memberikan hak tertentu sesuai dengan peran masing-masing user,
melalui pernyataan SQL berikut ini:
• Untuk admin diberikan hak akses dengan GRANT ALL
PRIVILIGES TO Admin
• Untuk user diberikan hak – hak akses sebagai berikut :
GRANT SELECT ON Pegawai TO User
GRANT SELECT ON TelpP TO User
GRANT SELECT ON FaxP TO User
GRANT SELECT ON EmailP TO User
GRANT SELECT, INSERT ON Customer TO User
GRANT SELECT, INSERT ON TelpC TO User
GRANT SELECT, INSERT ON FaxC TO User
GRANT SELECT, INSERT ON EmailC TO User
GRANT SELECT, INSERT ON PO TO User
257
GRANT SELECT, INSERT ON DetailPO TO User
GRANT SELECT, INSERT ON TipeBarang TO User
GRANT SELECT, INSERT ON Lengkapan TO User
GRANT SELECT, INSERT ON Interlok TO User
GRANT SELECT, INSERT ON KWN TO User
GRANT SELECT, INSERT ON Jabatan TO User
GRANT SELECT, INSERT ON Divisi TO User
GRANT SELECT, INSERT ON Ukuran3PL TO User
GRANT SELECT, INSERT ON Ukuran4PL TO User
GRANT SELECT, INSERT ON BukaYO TO User
GRANT SELECT, INSERT ON TutupYC TO User
GRANT SELECT, INSERT ON JenisCustomer TO User
GRANT SELECT, INSERT ON Ukuran3P TO User
GRANT SELECT, INSERT ON Ukuran4P TO User
GRANT SELECT, INSERT ON JenisBarang TO User
GRANT SELECT, INSERT ON BKompetitor TO User
GRANT SELECT, INSERT ON Barang TO User
GRANT SELECT, INSERT ON TInstalasi TO User
3.7 Perancangan Aplikasi
Berikut adalah perancangan aplikasi yang menggunakan dan memproses
basis data yang telah ada. Perancangan aplikasi ini meliputi perancangan struktur
258
menu, pembuatan state transition diagram (STD). Spesifikasi proses serta
perancagan input dan output.
3.7.1 Perancangan Struktur Menu
Gambar 3.22 Perancangan Struktur Menu
3.7.2 State Transition Diagram (STD)
State Transition Diagram merupakan diagram yang menjelaskan
aliran suatu state ke state yang lain dalam sebuah aplikasi. Berikut ini
merupakan STD yang di rancang :
259
• STD Halaman Login
Gambar 3.23 STD Halaman Login
Halaman login
Login error
Halaman utama admin
Halaman utama user
Klik ‘login’
Login error, tampilkan pesan
Klik ‘ok’
Tampilkan halaman
Klik ‘login’
Login valid sebagai user, tampilkan halaman utama user
Klik ‘login’
Login valid sebagai admin, tampilkan halaman utama admin
260
• STD Halaman Homepage
Gambar 3.24 STD Halaman Homepage
Halaman Homepage
Transaksi
Laporan
Komparasi
Simulasi
Layar windows
Klik ‘transaksi’
Tampilkan menu transaksi
Klik ‘laporan’
Tampilkan menu laporan
Klik ‘komparasi’
Tampilkan halaman komparasi
Klik ‘simulasi’
Tampilkan halaman simulasi
Klik ‘exit’
Tampilkan layar windows
Master
Klik ‘master’
Tampilkan
261
• STD Menu Transaksi
Gambar 3.25 STD Menu Transaksi
• STD Halaman Transaksi Penjualan
Gambar 3.26 STD Halaman Transaksi Penjualan
Transaksi
Klik ‘penjualan’
Tampilkan layar penjualan Penjualan
Transaksi penjualan
Cari Barang
Halaman utama admin
Klik ‘Search’
Tampilkan halaman Cari Barang
Klik ‘Insert’
Tampilkan data di transaksi penjualan
Klik ‘cancel’
Tampilkan halaman utama
Klik ‘insert’
Pindahkan data ke halaman transaksi2
Klik ‘add’
Tambahkan data di table
Transaksi penjualan 2
Klik ‘back’
Pindahkan data ke halaman transaksi2
Cetak Laporan Klik ‘process’
Cetak laporan
262
• STD Menu Laporan
Gambar 3.27 STD Menu Laporan
• STD Halaman Laporan Penjualan
Gambar 3.28 STD Halaman Laporan Penjualan
Laporan
Klik ‘penjualan’
Tampilkan layar penjualan
Penjualan
Penjualan
Klik ‘Print
Pilih filter yang diinginkan
Laporan
263
• STD Halaman Komparasi
Gambar 3.29 STD Halaman Komparasi
• STD Halaman Simulasi
Gambar 3.30 STD Halaman Simulasi
Komparasi
Klik ‘search’
Tampilkan data sesuai yang diinginkan
Halaman Utama user/admin
Klik ‘exit’
Tampilkan halaman utama sesuai dengan user yang login
Klik ‘add’
Tampilkan halaman insertkomparasi
Simulasi
Klik ‘search’
Tampilkan data sesuai yang diinginkan
Halaman Utama user/admin
Klik ‘exit’
Tampilkan halaman utama sesuai dengan user yang login
Cari barang
Klik ‘insert’
Masukkan data ke dalam tabel
Insert Komparasi
Klik ‘browse’
Pilih barang yang diinginkan
Klik ‘insert
Simpan data ke database, dan tampilkan halaman komparasi
264
• STD Halaman Master Tipe Barang
Gambar 3.31 STD Halaman Master TipeBarang
Master Tipe Barang
Insert Tipe Barang
Halaman homepage
Klik ‘Insert’
Tampilkan halaman Insert tipe barang
Klik ‘Insert’
Simpan data dan tampilkan layar Master Tipe Barang
Klik ‘exit’
Tampilkan halaman utama
Klik ‘update’
Tampilkan halaman update tipe barang
Klik ‘delete’
Delete data yang dipilih
Update Tipe Barang
Klik ‘update’
Simpan data dan tampilkan master tipe barang
Klik ‘search’
Tampilkan data yang dipilih
265
• STD Master Lengkapan
Gambar 3.32 STD Master Lengkapan
Master Lengkapan
Insert Lengkapan
Halaman homepage
Klik ‘Insert’
Tampilkan halaman Insert lengkapan
Klik ‘Insert’
Simpan data dan tampilkan layar Master lengkapan
Klik ‘exit’
Tampilkan halaman
Klik ‘update’
Tampilkan halaman update lengkapan
Klik ‘delete’
Delete data yang dipilih
Update Tipe Barang
Klik ‘update’
Simpan data dan tampilkan master lengkapan
Klik ‘search’
Tampilkan data yang dipilih
266
• STD Master Pelanggan
Gambar 3.33 STD Master Pelanggan
Master Pelanggan
Insert Pelanggan
Halaman homepage
Klik ‘Insert’
Tampilkan halaman Insert Pelanggan
Klik ‘Insert’
Simpan data dan tampilkan layar Master lengkapan
Klik ‘exit’
Tampilkan halaman utama
Klik ‘update’
Tampilkan halaman update Pelanggan
Klik ‘delete’
Delete data yang dipilih
Update Pelanggan
Klik ‘update’
Simpan data dan tampilkan master Pelanggan
Klik ‘search’
Tampilkan data yang dipilih
267
• STD Master Interlok
Gambar 3.34 STD Master Interlok
Master interlok
Insert interlok
Halaman homepage
Klik ‘Insert’
Tampilkan halaman Insert interlok
Klik ‘Insert’
Simpan data dan tampilkan layar Master interlok
Klik ‘exit’
Tampilkan halaman utama
Klik ‘update’
Tampilkan halaman update interlok
Klik ‘delete’
Delete data yang dipilih
Update interlok
Klik ‘update’
Simpan data dan tampilkan master interlok
Klik ‘search’
Tampilkan data yang dipilih
268
3.7.3 Perancangan Layar
1. Rancangan Layar Login
Gambar 3.35 Rancangan Layar Login
2. Rancangan Layar Homepage
Gambar 3.36a Rancangan Layar Homepage 1
269
Gambar 3.36b Rancangan Layar Homepage 2
Gambar 3.36c Rancangan Layar Homepage 3
Laporan Komparasi Simulasi Master Exit Transaksi
Penjualan
Laporan Komparasi Simulasi Master Exit Transaksi
Penjualan
270
Gambar 3.36d Rancangan Layar Homepage 4
3. Rancangan Layar Master Barang
Gambar 3.37 Rancangan Layar Master Barang
Laporan Komparasi Simulasi Master Exit Transaksi
Barang
Interlok
Lengkapan
Pelanggan
271
4. Rancangan Layar Master Pelanggan
Gambar 3.38 Rancangan Layar Master Pelanggan
5. Rancangan Layar Master Lengkapan
Gambar 3.39 Rancangan Layar Master Lengkapan
272
6. Rancangan Layar Master Interlok
Gambar 3.40 Rancangan Layar Master Interlok
7. Rancangan Layar Simulasi
Gambar 3.41 Rancangan Layar Simulasi
273
8. Rancangan Layar Komparasi
Gambar 3.42 Rancangan Layar Komparasi
9. Rancangan Layar Insert Komparasi
Gambar 3.43 Rancangan Layar Insert Komparasi
274
10. Rancangan Layar Penjualan1
Gambar 3.44 Rancangan Layar Penjualan1
11. Rancangan Layar Penjualan2
Gambar 3.45 Rancangan Layar Penjualan2
275
12. Rancangan Layar Insert Interlok
Gambar 3.46 Rancangan Layar Insert Interlok
13. Rancangan Layar Insert Lengkapan
Gambar 3.47 Rancangan Layar Insert Lengkapan
276
14. Rancangan Layar Insert Pelanggan
Gambar 3.48 Rancangan Layar Insert Pelanggan
15. Rancangan Layar Insert Barang
Gambar 3.49 Rancangan Layar Insert Barang
277
16. Rancangan Layar Update Interlok
Gambar 3.50 Rancangan Layar Update Interlok
17. Rancangan Layar Update Lengkapan
Gambar 3.51 Rancangan Layar Update Lengkapan
278
18. Rancangan Layar Update Pelanggan
Gambar 3.52 Rancangan Layar Update Pelanggan
19. Rancangan Layar Update Barang
Gambar 3.53 Rancangan Layar Update Barang
279
20. Rancangan Layar Form Filter
Gambar 3.54 Rancangan Layar Form Filter
21. Rancangan Layar Transaksi Barang
Gambar 3.55 Rancangan Layar Transaksi Barang
280
3.7.4 Spesifikasi Proses
Tahap ini merupakan tahap penjabaran langkah-langkah yang
terstruktur pada tiap modul yang ada, yang disusun menggunakan
pseudocode.
Modul User Login
Modul user login
Masukkan username
Masukkan password
Tekan login
Akhir modul
Modul Tekan Login
Modul Tekan login
If Username dan/atau Password salah atau Username dan/atau Password
kosong
Tampilkan pesan bahwa Username atau Password salah
Else if Username==”abc111” dan Password==”aa11”
Tampilkan halaman utama dan menu diaktifkan sesuai dengan hak
akses masing-masing pegawai
Akhir modul
Modul Pilihan Halaman Utama
281
Modul Pilihan Halaman Utama
Menampilkan pilihan “Transaksi”
Menampilkan pilihan “Laporan”
Menampilkan pilihan “Komparasi”
Menampilkan pilihan “Simulasi”
Menampilkan pilihan “Master”
Menampilkan pilihan “Exit”
Akhir Modul
Modul Pilihan Transaksi
Modul Pilihan Transaksi
Menampilkan pilihan “Penjualan” (Penjualan 1)
Akhir modul
Modul Pilihan Penjualan (Penjualan 1)
Modul Pilihan Penjualan
Menampilkan Kode transaksi
Menampilkan Nama Customer
Menampilkan Nama Pegawai
Menampilkan Tanggal transaksi
Menampilkan Nama Produk
Menampilkan Jumlah
Menampilkan pilihan “Search”
282
Menampilkan pilihan “Add” (Penjualan 2)
Menampilkan Produk
Menampilkan No Ref
Menampilkan Quantity
Menampilkan Harga
Menampilkan pilihan “Delete”
Menampilkan pilihan “Insert”
Menampilkan pilihan “Cancel”
Akhir modul
Modul Pilihan Search
Modul Pilihan Search
Jika dan hanya jika
Nama Produk kosong
Tampilkan pesan error dan tetap pada halaman Penjualan
Lainnya
Menampilkan temuan search pada data grid viewPenjualan
Akhir Modul
Modul Pilihan Add (Penjualan 2)
Modul Pilihan Add
Jika dan hanya jika
283
Kode Transaksi dan/ Kode Transaksi dan/ Nama Customer dan/
NamaPegawai dan/atau Tanggal transaksi dan/atau Nama Produk
dan/Atau Jumlah kosong
Tampilkan pesan error dan tetap pada halaman Penjualan
Lainnya
Data masuk ke dalam data grid view
Akhir Modul
Modul Pilihan Delete
Modul Pilihan Delete
Melakukan delete
Akhir Modul
Modul Pilihan Insert
Modul Pilihan Insert
Menampilkan Barang
Menampilkan Jumlah
Menampilkan Harga Awal
Menampilkan Eskalasi
Menampilkan Diskon 1
Menampilkan Diskon 2
Menampilkan Diskon 3
Menampilkan Grand Total
284
Menampilkan pilihan “Process”
Menampilkan Pilihan “Back”
Akhir modul
Modul Pilihan Process
Modul Pilihan Process
Memproses pencetakan laporan penjualan
Akhir Modul
Modul Pilihan Back
Modul Pilihan Back
Kembali ke halaman Penjualan
Akhir Modul
Modul Pilihan Cancel
Modul Pilihan Cancel
Kembali ke halaman Homepage
Akhir Modul
Modul Pilihan Laporan
Modul Pilihan Laporan
Menampilkan Pilihan “Penjualan” (Laporan)
Akhir modul
285
Modul Pilihan Penjualan (Laporan)
Modul Pilihan Penjualan
Menampilkan pilihan Laporan per waktu
Menampilkan Awal
Menampilkan S/D
Menampilkan pilihan Laporan per sales
Menampilkan Nama Sales
Menampilkan pilihan “Browse”
Menampilkan pilihan “Print”
Akhir modul
Modul Pilihan Browse
Modul Pilihan Browse
Melakukan browsing
Akhir Modul
Modul Pilihan Print
Modul Pilihan Print
Melakukan pencetakan laporan
Akhir Modul
Modul Pilihan Komparasi
286
Modul Pilihan Komparasi
Menampilkan Tipe Barang
Menampilkan pilihan “Search”
Menampilkan pilihan “Add”
Menampilkan Barang ABB
Menampilkan Harga ABB
Menampilkan Barang Kompetitor
Menampilkan Harga Kompetitor
Menampilkan pilihan “Exit”
Akhir modul
Modul Pilihan Search
Modul Pilihan Search
Melakukan pencarian dan menampilkan hasil pada data grid view
komparasi
Akhir Modul
Modul Pilihan Add
Modul Pilihan Add
Menampilkan Kode Kompetitor
Menampilkan Kode Tipe
Menampilkan pilihan “Browse”
Menampilkan Nama BarangK
287
Menampilkan Harga
Menampilkan pilihan “Insert”
Akhir Modul
Modul Pilihan Browse
Modul Pilihan Browse
Melakukan browse
Akhir Modul
Modul Pilihan Insert
Modul Pilihan Insert
Melakukan insert
Akhir Modul
Modul Pilihan Exit
Modul Pilihan Exit
Melakukan exit dan kembali ke halaman homepage
Akhir Modul
Modul Pilihan Simulasi
Modul Pilihan Simulasi
Menampilkan Budget
Menampilkan Jenis Customer
288
Menampilkan Produk
Menampilkan Jumlah
Menampilkan pilihan “Search”
Menampilkan pilihan “Add”
Menampilkan Produk
Menampilkan No Ref
Menampilkan Qty
Menampilkan Harga
Menampilkan pilihan “Process”
Menampilkan pilihan “Remove”
Menampilkan Sub Total
Menampilkan Discount
Menampilkan Grand Total
Menampilkan Sisa Budget
Menampilkan pilihan “Exit”
Akhir modul
Modul Pilihan Search
Modul Pilihan Search
Melakukan pencarian dan menampilkan hasil pada data grid view
simulasi
Akhir Modul
289
Modul Pilihan Add
Modul Pilihan Add
Melakukan input data ke dalam data grid view simulasi
Akhir Modul
Modul Pilihan Process
Modul Pilihan Process
Melakukan process penyimpanan data ke dalam halaman Penjualan
Akhir Modul
Modul Pilihan Remove
Modul Pilihan Remove
Melakukan Remove
Akhir Modul
Modul Pilihan Exit
Modul Pilihan Exit
Melakukan Exit dan kembali ke halaman homepage
Akhir Modul
Modul Pilihan Master
Modul Pilihan Master
Menampilkan Pilihan “Barang”
290
Menampilkan pilihan “Interlok”
Menampilkan pilihan “Lengkapan”
Menampilkan pilihan “Pelanggan”
Akhir modul
Modul Pilihan Barang
Modul Pilihan Barang
Menampilkan Nama Tipe
Menampilkan pilihan “Search”
Menampilkan pilihan “Insert”
Menampilkan pilihan “Update”
Menampilkan pilihan “Delete”
Menampilkan pilihan “Exit”
Menampilkan KdTipe
Menampilkan KdBarang
Menampilkan Jenis Barang
Menampilkan Nama Barang
Menampilkan Harga4P
Akhir modul
Modul Pilihan Search
Modul Pilihan Search
Melakukan search dan menampilkan hasil pada data grid view barang
291
Akhir Modul
Modul Pilihan Insert
Modul Pilihan Insert
Menampilkan Jenis Barang
Menampilkan KodeBarang
Menampilkan Nama Tipe
Menampilkan In
Menampilkan Icu Info
Menampilkan Unit Trip
Menampilkan I3
Menampilkan JumlahKutub
Menampilkan Un
Menampilkan AusG
Menampilkan SArusG
Menampilkan Ukuran3P
Menampilkan Harga3P
Menampilkan Ukuran4P
Menampilkan Harga4P
Menampilkan Deskripsi
Lakukan: Insert
Akhir modul
292
Modul Pilihan Update
Modul Pilihan Update
Menampilkan KodeBarang
Menampilkan Nama Tipe
Menampilkan In
Menampilkan Icu Info
Menampilkan Unit Trip
Menampilkan I3
Menampilkan JumlahKutub
Menampilkan Un
Menampilkan AusG
Menampilkan SArusG
Menampilkan Ukuran3P
Menampilkan Harga3P
Menampilkan Ukuran4P
Menampilkan Harga4P
Menampilkan Deskripsi
Lakukan: Update
Akhir Modul
Modul Pilihan Delete
Modul Pilihan Delete
Melakukan delete
293
Akhir Modul
Modul Pilihan Exit
Modul Pilihan Exit
Melakukan exit dan kembali ke halaman homepage
Akhir Modul
Modul Pilihan Interlok
Modul Pilihan Interlok
Menampilkan Kode Interlok
Menampilkan pilihan “Search”
Menampilkan pilihan “Insert”
Menampilkan pilihan “Update”
Menampilkan pilihan “Delete”
Menampilkan pilihan “Exit”
Menampilkan KdInterlok
Menampilkan KdInstalasi
Menampilkan Tipe
Menampilkan NoRef
Menampilkan Harga
Menampilkan Deskripsi
Akhir modul
294
Modul Pilihan Search
Modul Pilihan Search
Melakukan search dan menampilkan hasil pada data grid view interlok
Akhir Modul
Modul Pilihan Insert
Modul Pilihan Insert
Menampilkan KodeInterlok
Menampilkan pilihan Tipe Instalasi
Menampilkan No Referensi
Menampilkan Harga
Menampilkan Deskripsi
Lakukan: Insert
Akhir Modul
Modul Pilihan Update
Modul Pilihan Update
Menampilkan KodeInterlok
Menampilkan No Referensi
Menampilkan Harga
Menampilkan Deskripsi
Lakukan: Update
Akhir Modul
295
Modul Pilihan Delete
Modul Pilihan Delete
Melakukan delete
Akhir Modul
Modul Pilihan Exit
Modul Pilihan Exit
Melakukan exit dan kembali ke halaman homepage
Akhir Modul
Modul Pilihan Lengkapan
Modul Pilihan Lengkapan
Menampilkan pilihan Jenis lengkapan
Menampilkan Tipe Lengkapan
Menampilkan pilihan “Search”
Menampilkan pilihan “Insert”
Menampilkan pilihan “Update”
Menampilkan pilihan “Delete”
Menampilkan pilihan “Exit”
Menampilkan data grid view sesuai dengan pilihan Jenis lengkapan
Akhir modul
296
Modul Pilihan Search
Modul Pilihan Search
Melakukan search dan menampilkan hasil pada data grid view
lengkapan
Akhir Modul
Modul Pilihan Insert
Modul Pilihan Insert
Menampilkan pilihan Jenis Lengkapan
Menampilkan Tipe Lengkapan
Menampilkan Unit Trip
Menampilkan Proteksi
Menampilkan No Referensi
Menampilkan No Referensi 3P
Menampilkan Harga 3P
Menampilkan No Referensi 4P
Menampilkan Harga 4P
Menampilkan Buka YO
Menampilkan Harga YO
Menampilkan Tutup YC
Menampilkan Harga YC
Menampilkan Deskripsi
Lakukan: Insert
297
Akhir Modul
Modul Pilihan Update
Modul Pilihan Update
Menampilkan pilihan Jenis Lengkapan
Menampilkan Tipe Lengkapan
Menampilkan Unit Trip
Menampilkan Proteksi
Menampilkan No Referensi
Menampilkan No Referensi 3P
Menampilkan Harga 3P
Menampilkan No Referensi 4P
Menampilkan Harga 4P
Menampilkan Buka YO
Menampilkan Harga YO
Menampilkan Tutup YC
Menampilkan Harga YC
Menampilkan Deskripsi
Lakukan: Update
Akhir Modul
Modul Pilihan Delete
Modul Pilihan Delete
298
Melakukan delete
Akhir Modul
Modul Pilihan Exit
Modul Pilihan Exit
Melakukan exit dan kembali ke halaman homepage
Akhir Modul
Modul Pilihan Pelanggan
Modul pilihan pelanggan
Menampilkan Nama pelanggan
Menampilkan pilihan “Search”
Menampilkan pilihan “Insert”
Menampilkan pilihan “Update”
Menampilkan pilihan “Delete”
Menampilkan pilihan “Exit”
Menampilkan KdCostomer
Menampilkan NamaC
Menampilkan AlamatC
Menampilkan JenisC
Menampilkan TeleponCus
Menampilkan EmailCus
Menampilkan FaxCus
299
Akhir modul
Modul Pilihan Search
Modul Pilihan Search
Melakukan search
Akhir Modul
Modul Pilihan Insert
Modul Pilihan Insert
Menampilkan Kode Pelanggan
Menampilkan Nama Pelanggan
Menampilkan Jenis Pelanggan
Menampilkan Alamat Pelanggan
Menampilkan Telp Pelanggan
Menampilkan Fax Pelanggan
Menampilkan Email Pelanggan
Lakukan: Insert
Akhir Modul
Modul Pilihan Update
Modul Pilihan Update
Menampilkan Kode Pelanggan
Menampilkan Nama Pelanggan
300
Menampilkan Jenis Pelanggan
Menampilkan Alamat Pelanggan
Menampilkan Telp Pelanggan
Menampilkan Fax Pelanggan
Menampilkan Email Pelanggan
Lakukan: Update
Akhir Modul
Modul Pilihan Delete
Modul Pilihan Delete
Melakukan delete
Akhir Modul
Modul Pilihan Exit
Modul Pilihan Exit
Melakukan exit dan kembali ke halaman homepage
Akhir Modul