63 BAB 4 PERANCANGAN DAN IMPLEMENTASI
4.1 Perancangan Basisdata 4.1.1
Perancangan Basisdata Konseptual 4.1.1.1 Mengidentifikasi Tipe Entiti
Tabel 4.1 Tabel identifikasi entiti No.
Entity Name
1
item
2
customer
3
pegawai
4
order_barang
5
faktur
6
surat_jalan
7
retur
Description
Aliases
Memuat informasi tentang data barang dan persediaan barang Berisi data seseorang atau perusahaan yang pernah melakukan pemesanan barang Memuat data pegawai yang ada dalam perusahaan
stok_barang persediaan inventory
Berisi informasi tentang transaksi pemesanan barang oleh customer Memuat informasi barang yang dibeli oleh customer
sales_order pemesanan
Berisi informasi tentang pengiriman barang dari perusahaan ke customer Memuat informasi barang yang diretur atau
delivery_order
debitur pelanggan
karyawan
invoice
pengembalian _barang
Occurrence Item dibuat karena adanya permintaan dari customer dan satu item bisa dipesan banyak customer customer dapat membeli satu atau lebih item, customer hanya dilayani oleh satu sales Pegawai digolongkan menjadi staff dan sales. Dimana staff ada terdiri dari supir, kenek dan penjaga gudang. Sales melayani banyak customer. Supir dan kenek mengatur masalah pengantaran barang Customer bisa memesan banyak barang, dan setelah barang dipesan maka akan segera dikirim ke customer Setiap satu faktur dibuat berdasarkan satu surat jalan. Dari satu sales order bisa menghasilkan banyak faktur Satu surat jalan akan menghasilkan satu faktur dan dari satu sales order dapat menghasilkan lebih dari satu surat jalan. Retur yang dilakukan bisa berupa perbaikan atau diganti (barang). Barang
64 dikembalikan oleh customer 8
pembayaran
yang diretur bisa hanya sebagian saja atau seluruhnya Jumlah yang harus dibayarkan customer bisa dilihat dari data order
Berisi informasi tentang pembayaran tagihan dari customer
4.1.1.2 Mengidentifikasi Tipe Relasional
faktur 1..*
1..1 1..1 berdasarkan pada
surat_jalan
1..* mengurangi
0..*
1..* 1..*
pegawai 1..1
1..1
membuat
1..1
item
1..*
menambah
1..*
berdasarkan pada
mengurangi 0..*
membuat
0..*
melakukan
customer
1..* 1..1
order_barang
melayani
0..*
1..1
1..*
0..*
Mengembalikan barang dari
1..1
1..1
melakukan 1..*
berdasarkan pada
1..*
pembayaran
Gambar 4.1 ERD yang menunjukkan entiti dan relasional
retur
65 Tabel 4.2 Tabel identifikasi relasional Entity Name
Multiplicity
Relationship
Entitiy Name
Multiplicity
item
1..*
dikurangi dari
order_barang
1..*
1..*
ditambah dari
retur
0..*
1..*
dikurangi dari
surat_jalan
1..*
1..1
melakukan
order_barang
1..*
1..1
melakukam
pembayaran
1..*
0..*
dilayani
pegawai
1..1
1..1
membuat
order_barang
0..*
1..1
melayani
customer
0..*
1..1
membuat
surat_jalan
0..*
0..*
dibuat
pegawai
1..1
1..*
mengurangi
item
1..*
1..1
dikembalikan dari
retur
0..*
1..1
menentukan
surat_jalan
1..*
1..*
dilakukan
customer
1..1
1..1
berdasarkan pada
surat_jalan
1..1
1..*
menentukan
pembayaran
1..*
1..1
menentukan
faktur
1..1
0..*
dibuat
pegawai
1..1
1..*
menentukan
order_barang
1..1
1..*
dikurangi dari
item
1..*
0..*
mengembalikan barang dari
order_barang
1..1
0..*
menambah
item
1..*
1..*
berdasarkan pada
faktur
1..*
1..*
dilakukan
customer
1..1
customer
pegawai
order_barang
faktur
surat_jalan
retur
pembayaran
4.1.1.3 Identifikasi dan Asosiasi Atribut Suatu Entiti Tabel 4.3 Tabel identifikasi dan asosiasi atribut entiti Entity Name
Attributes
Description
Data type
Nulls
& length item
item _id
Atribut unik dari item
int
Multivalued
No
No
66 gauge
Menunjukkan ukuran jarum
int
No
No
27 char
No
No
dari mesin yang dipakai kode
Kode barang yang terdiri dari 7 sumber yaitu dari benang, knitting, dyeing, finishing, kimia, umum, bunga
nama_brg
Nama dari barang
text
No
No
harga_kode
Harga tiap-tiap kode barang
currency
No
No
bulat
Ukuran lebar kain
float
Yes
No
belah
Ukuan kain yang dipotong
float
Yes
No
gramase1
Range awal untuk berat
float
No
No
gramase2
Range akhir untuk berat
float
No
No
pot_pinggir
Berapa persen yang mau
float
Yes
No
dipotong dari pinggir cost_print
Biaya-biaya tambahan
currency
Yes
No
special_soft
Biaya-biaya tambahan
currency
Yes
No
cm
Color matching, kode dari
10 char
No
No
warna warna
Nama warna
30 char
No
No
atas_nama
Orang yang memasukkan
20 char
No
No
warna tgl_warna
Tanggal pembuatan warna
date
No
No
stok
Banyaknya barang yang
float
Yes
No
ada dalam stok krg
Ukuran kain
float
Yes
No
m
Ukuran kain
float
Yes
No
hrg_warna
Harga warna
currency
No
No
add
Biaya-biaya tambahan
currency
Yes
No
putih
Harga dari tiap jenis barang
currency
No
No
sebelum di dye gross
Harga barang sebenarnya
currency
No
No
disc
Selisih antara gross dengan
currency
No
No
hrg_satuan
67 hrg_satuan
Harga yang ditetapkan per
currency
No
No
kg customer
customer_id
Atribut unik dari customer
12 char
No
No
nama
Nama customer /
30 char
No
No
20 char
No
No
perusahaan contact
Nama orang yang bisa dihubungi
alamat
Alamat customer
text
No
No
telepon
Nomor telepon customer
15 char
No
Yes
fax
Nomor faksimili customer
20 char
No
Yes
kota
Kota tempat customer
20 char
No
No
20 char
Yes
No
berada NPWP
Nomor Penduduk Wajib Pajak
pegawai
order_barang
peg_id
Atribut unik dari pegawai
12 char
No
No
nama_peg
Nama pegawai
20 char
No
No
alamat
Alamat dari pegawai
text
No
No
telepon
Nomor telepon pegawai
15 char
No
Yes
jns_klmn
Jenis kelamin pegawai
1 char
No
No
jabatan
Jabatan pegawai
20 char
No
No
order_id
Atribut unik dari
12 char
No
No
date
No
No
date
No
No
date
No
No
order_barang tgl_order
Tanggal saat surat order dibuat
app_date
Tanggal saat surat order diterima
del_date
Tanggal saat barang akan dikirim
jenis
Jenis dari order
15 char
No
No
kode
Kode barang yang terdiri
27 char
No
No
dari 7 sumber yaitu dari benang, knitting, dyeing, finishing, kimia, umum, bunga
68 gauge
Menunjukkan ukuran jarum
int
No
No
dari mesin yang dipakai gramase1
Range awal untuk berat
float
No
No
gramase2
Range akhir untuk berat
float
No
No
bulat
Ukuran lebar kain
float
Yes
No
belah
Ukuan kain yang dipotong
float
Yes
No
krg
Ukuran kain
float
Yes
No
m
Ukuran kain
float
Yes
No
cm
Kode untuk warna
12 char
No
No
warna
Nama warna
30 char
No
No
kg
Banyaknya barang yang
float
No
No
currency
No
No
currency
No
No
int
Yes
No
float
Yes
No
currency
Yes
No
2 char (es
No
No
No
No
No
No
Yes
No
No
No
dipesan putih
Harga dari tiap jenis barang sebelum di dye
hrg_satuan
Harga yang ditetapkan per kg
lama
Tenggang waktu pembayaran
persen
Denda yang kenakan jika melewati lama
dp
Besar uang muka yang dibayar
esfs
Jenis pewarnaan
or fs) berat
Jenis berat barang
5 char (bruto 0r netto)
unit
Jenis ukuran yang dipakai
5 char (cm or inch)
party
Dibuat untuk tujuan apa
10 char (lokal, ekspor or lain-lain)
status
Status dari pengiriman
10 char
69 (OK, sales, di pos, pending or ditinggal)
surat_jalan
keterangan
Keterangan tambahan SO
text
Yes
No
krm_brg_id
Atribut unik dari
12 char
No
No
27 char
No
No
12 char
Yes
No
date
No
No
pengiriman_barang kode
Kode barang yang terdiri dari 7 sumber yaitu dari benang, knitting, dyeing, finishing, kimia, umum, bunga
so_lama
Atribut yang timbul karena barang retur
tgl_sjalan
Tanggal saat surat jalan dibuat
tujuan
Nama tujuan pengiriman
20 char
No
No
no_polisi
Atribut unik dari mobil
12 char
No
No
nama_mobil
Nama jenis mobil yang
15 char
No
No
dipakai
faktur
kg_kirim
Berat barang yang dikirim
float
No
No
roll
Banyak roll barang
int
No
No
faktur_id
Atribut unik dari retur
12 char
No
No
tgl_entry
Tanggal faktur dimasukkan
date
No
No
tgl_faktur
Tanggal faktur dibuat
date
No
No
tgl_serah
Tanggal faktur diserahkan
date
No
No
ke customer tgl_ctk_fak
Tanggal saat faktur dicetak
date
No
No
lokasi
Nama lokasi pembuatan
10 char
No
No
faktur dpp
Penjualan setelah pajak
currency
Yes
No
ppn
Besarnya pajak
float
No
No
currency
No
No
pertambahan nilai jml_penj
Jumlah penjualan sebelum
70 pajak retur
retur_id
Atribut unik dari retur
12 char
No
No
tgl_cet_rtr
Tanggal retur dicetak
date
No
No
kg_retur
Berat barang yang diretur
float
No
No
roll_retur
Banyak roll barang retur
int
No
No
tgl_retur
Tanggal retur dibuat
date
No
No
tgl_entry
Tanggal retur dimasukkan
date
No
No
jenis
Jenis dari order
15 char
No
No
keterangan
Keterangan tambahan untuk text
Yes
No
float
No
No
currency
No
No
currency
No
No
12 char
No
No
date
No
No
retur ppn
Besarnya pajak pertambahan nilai
jml_penj
Merupakan hasil akumulasi dari total
grand_total
Total akhir yang diperoleh dari jml_penj ditambah ppn
pembayaran
tt_id
Atribut unik untuk tanda terima
tgl_tt
Tanggal dibuatnya tanda terima
tgl_fak_rtr
Tanggal faktur dibuat
date
No
No
dpp
Jumlah DPP
currency
No
No
ppn
Besarnya pajak
float
No
No
5 char(atm,
No
No
pertambahan nilai jenis_bayar
Cara pembayaran tagihan
nota, giro or cash) bank
Nama bank
30 char
Yes
No
no_gi_card
Nomor giro atau kartu
20 char
Yes
No
jatuh_tempo
Tanggal jatuh_tempo
date
No
No
tot_byr
Jumlah uang yang
currency
No
No
text
Yes
No
diberikan untuk membayar tagihan ket_bayar
Keterangan tentang
71 pembayaran denda
Denda yang harus
currency
Yes
dibayarkan jika lewat dari tanggal jatuh tempo
4.1.1.4 Identifikasi Kandidat dan Primary Key setiap Entiti Tabel 4.4 Tabel identifikasi kandidat dan primary key entiti Entity Name
Candidate Key
Primary key
item
cm
item_id
item _id kode customer
customer_id
customer_id
pegawai
pegawai_id
pegawai_id
order_barang
order_id
order_id
faktur
faktur_id
faktur_id
surat_jalan
krm_brg_id
krm_brg_id
retur
retur_id
retur_id
pembayaran
tt_id
tt_id
No
72 4.1.1.5 Validasi Transaksi User l faktur 1..*
1..1 1..1 berdasarkan pada
1..*
surat_jalan
mengurangi 0..*
1..*
a pegawai 1..*
1..*
k
membuat
1..1
item
h 1..1
1..*
berdasarkan pada
mengurangi
g e, i
j
b
membuat
melakukan 0..*
customer
1..1
order_barang
1..1
1..*
0..*
f
1..*
1..1
0..*
melayani
menambah
1..*
0..*
retur
Mengembalikan barang dari
c d
1..1
melakukan 1..*
berdasarkan pada
1..*
pembayaran
Gambar 4.2 pathway yang digunakan untuk memudahkan validasi transaksi
Berikut adalah transaksi yang dilakukan berdasarkan gambar 4.2 a. pegawai memasukkan data pegawai baru b. pegawai mencatat data baru dari customer c. menunjukkan data barang yang dipesan oleh customer d. menunjukkan data tagihan yang harus dilunasi oleh customer e. mencatat besar tagihan yang harus dibayar f. mendata barang yang dikembalikan
73 g. menampilkan stok dari barang yang masih ada h. menunjukkan data barang yang dikirim dari data barang yang telah dipesan i. menunjukkan besar biaya yang dihasilkan setiap kali pengiriman melalui faktur j. memasukkan data pesanan pelanggan oleh pegawai k. membuat data pesanan yang harus dikirim yang terdapat dalam surat jalan oleh pegawai l. membuat data barang yang harus dibayar setiap kali pengiriman dilakukan oleh pegawai
4.1.2
Perancangan Basisdata Logikal 4.1.2.1 Penghilangan feature yang tidak kompatible Ada beberapa langkah yang dilakukan untuk menghilangkan feature yang tidak kompatible dari model data konseptual.
Ganbar 4.8 (a) eatiti pzgawai dengan atribut rndtivalue telepon dinn fax; (b)
dekoli~posisitelepon n~enjadientiti baru bemama telepon-cus clan dekcmposisi fax meujadi entiti barn benlma fm
77 4.1.2.2 Pembuatan Model Basisdata Lsgikal Lokd Tujurrrm dari b h p ini addah meuyidentifikasi pr-inzary key &.fireigri key &P-i d a s i temtama u..tuk mermgetafitai h u h g a n p a r e n t dm child.
juga dikmjuTdcm bersama d q a n c m unt&
rnengkdhdasi atribut tunman tersebut. Berilnt adalah s
muz&
mtuk reiasi y m g ada dalam d a b model.
I. T i p hubwigan one to one (1.1) Mubungan one to one yang terjdi adalah m o n d a ~ o ~ p a r t i c i p ~ o n dari kedm pii~ak.Ddtm kmus hi m k a k d u a entiti tersebut
hams, digabmgkm m e ~ ~ j s;tlu d i relasi dengan satu primary key
dmi entiti asa4 sedmgkan primary key ymg satmnya lagi sebagspi cifernate key. n
sj-Lk (km-brgid, item-@, fa!-!$, kode,so-lama, $1sia!kn, tujtlan, nojoiisi, namiimobi,~Q-kifim, mu, Ql-em, f:-famr, $1-serah, ig!-&; k!k,lokinsi. dpp, ppn, jurn~genjr,;)
1 i \
PPLrnaty b;5y !am,-brg-id
2. Epe Izubmgul one to many (1 .*) post peg-id mnik mods! 1." dmgen hubun+m m e ~ ~ f
(-8,
m m a s g , alsrnsl, telepm, ins-Umn,
Printaq? key m i d
om3er-bBng (order-id, item-id, tgi-order, app-dzke, de!-data, @is, peg-a, kcde, ZeuGe: gnmasel, gramat&, butat, bebh,krg,in, cm,kg, warna, puBh, hq-satuad; Iama, persen, dp, esfs, benf. une party, status; keterangan)
-
ePlrnaw [@Elf0rdH-id Foreign key pq-id references pegawai (pm-id)
post m i d untuk nro*l1.*
denpn hobzingan rnembual
a so-iama, tgl-sjakn. t!!;uan, n o p l i s i , nama-mmbll, kg-kilim, roll, @!-entry tglfaaktur. $hxrah, tgt-&K-fak, lokasi, dpp, ppn, f~m?_panj)
Frimary key peg-id
Psirnasl. key Bym-brg-id Famien key peg-id &rencas
post m&nrne:-ld
p e g m i (peg-Id)
unWk model 'i .* dengan RuSungan melakuken
1 s m b n e r (ursiwnsr-id, nsna. contact, alamd, Ldspon. orrdss-bmn8s {order-id, .kmmid,ig?prder, app-dab, iax: kata, N W ) del-date, jenis, ?%-id, customer-id,lmde, gtuge. gamasel, gramase2, hulaf, be&, kig, m, an,kg, warna. putih, his_sa;eiar.. lam, penen, dp, esk, P r h a ~ ykey erstomerrid
berg,snit, paw, siatus, keterangan) Primary key order-id Fomign key rekrexzs ~ Q a w a(peg-$) i Forsign keg" wstoner-id refemcs arslomer (c*rstomer-id)
post mtcner-id untuk mod& I.' deman hubungan mlakukan
i w a i (peg-id, namagw, atamah Wepon, j n o r n n .
l
b customer (wstomer-id, peg-bi, nama, ccrtacl, alam~f, leiepn, fax, kota, N W )
jabatan)
Pcimary key pq-ib
cusborner (wskcmer-idid, wLid, nama, corrtacl, a l a M , talepon, fa.kota, MIDIP)
Wmry k%ymtommAmAiid Fr~seignk y e y i d references pegwmi (peg-id)
Pdmwjc Erqr cuslorneijd Fofdg~gnkey peg-Id references pegawai (peg-id)
yombayaran (Ud, @I-t?, cus:oms-id, fak-m-a, $I-hk-r&, ppn, ]enis-bayar, bank, nogiro. jair;h_:emp. tot-byr, ket-bayar, denda:
.
Primaby b y #-id Fow$n key customw-id rekences wstornerjurstomr-id)
post odes-Id untuk &el
1 ." dsngzo hubcngen dikembai&m dan
i &-hmng
(order-id, item-id, tgLoTde~.app-date: dei-date, jeliis. peg-id, mtcmer-id,k&e, gauge, gramasel, grarnase2, bulal, hehh, krg, m. ani kg: warn. pdh, 3b-g-satuan, iama, pemn, dp, esk. berat. unit: party, &&us, keferangan)
m k (retuiid, ~ item-id, order-8, Ql-ctk-er, kg-re?ur, di-r@ftur tg-rehr, $I-enirf, jenis, heterangan; ppn, :rn!geni, gmnc-total:
Pdmaw key ieytur-id Fore$n key order-id r~fms order-bareng (ofdecid)
Prim? key order-id F a w n key prs-i_id referwms psgawai @Lid) Fomlgo key wtomer-id mfmraras 04stoomer (m@oaner_id)
, past orEEer-iQlun@Amodel 1 ." dengan hwburgan menenfukan
oam'sr-baraasg !otder-id. ifern$, $1-Mder, app-nate. del-date, jenis, pzg-id, cc?stomer~i6,hode. Qawge, gramzsel, gramase2, buiat, beiah, lug, m, cm, kg, wama, putih, h'9_satuan, lama, perjen, rip, es*, Dmt, unit, pam, sMus, kehrzwzn) primary key aordr-Id
Foreign Grey p g _ H MEpnces m a w & (w-id) Farnun key customer-id refeencer, mstorner (wslomr-a)
sj-bk (km-brg-u, ilem-id, a*r-id,
%Mu;-id, kode. so-lams, @l_sjaizn,iujuan, rtoi,&i, nan?_mabii, kg-kirirn, mil, igi-enw, $1-fakiur. $fL?erah, $l_dh_raic lokasi, dpp, ppn, jumigenj)
Brimy b y km-big_ld FomLgn key peg-ld d i e pqawai (peg-id) Femign hey M ~ r - i dreieiences order-barang (order-id)
3. Tipe hubwgan many to many (*.*I
8-h
r
(km-brg-id. item-a, omer-id, fal&ir~id, kode. so-lama, t$-sja;an, bjwsn; no-polisi, nama-mobii, k-Wdm, mh, Ql-enby, tg!-kMiir, $1-serah, tgl_dkk%b iokasi, dpp, ppn,juml-wnj)
Foreign key odor-i
krga-We, bulat. belab, gramasel. (dnmasa2, polginggir, mst-print spwi31-50R ~ mwarm, , atas-nema, @i-wr~rna,m, krg, rn, Ihrg-wzrna,
w key knn-brg-id
Fonign kcqv peg-id
im (itern-id, orCer-Id, gauge, kcdc-, nama-b&,
leferews
add, pM6, gross,disc, hw-szluani
pegawai (peg-id)
refarems orderLkrang (order-kd)
pcimalqrhyitemid Foreign ksy m refenenccswzrna (m)
krrInr-&mB (km-bq-id; iteim-td, Q-kMm, FOIL)
m a w Key km-bQ-iglid,
i(em-id
Fcteign key krm_br~-Idrefennces sLfak (Icmmbrorgid: F a d a n key i t e n i d rafemnces ii@m (item-id)
80
cder-bamng (wdei-id, item-id, tgioder app-date, del-dale, enis, m i d , msPomep-ia,kode, gauge, gmrnasel,gramse2: buhl, belah, kq, m, m, kg, warn. wbh, hrg_atuan, kina, persen, dp, e&. berat, uni: party, status, keierangan)
ilent (Itern-id, order-id, gage, kode, na=-bq, hargaargakode, bulai k l a h , giamasel, g m e 2 . pot_pinggir, mst-print. spesiai-sun, m,warn,
atassname, Q.!-wama, stctok: kg, m,hmwarna,
~ h i key y oder-td
add, pizzh, @ ~ disc, s , hrg-sa!uan)
Foreign hey peg-8 referenes pegmi ( p ~ f d ) Fo&gm key custom^-ki references wsbmer (mstcmer-id)
PEBmry key .km-id Forebn key cm r&remssama
(an)
ode?-detail (order-Ld, item-id, kg)
Brimy key clder-@,item-id Foreign by wderjd referenm crder-b8rarg (oder-itl)
Fmign key lternjd refe?encesitern (@em-,;d)
S-FiEL (h-brg-a, item-@, Falciur-id, pe&id, kode, so-lane, tsi-sja!an, lujuan, no2001~,n a m o b i l : Ikg-brim. mli, $1-me, tgl-fahuc Lgi-serah,
tgI-d;<-fak,bkasi, dpp, ppn,juml-penj)
pe*yamm (E-id, @4-t. wt3m-id. kk~P6-id, @l-F6kkriz, ppn, jenis-bayar. bank, nogim, jatuhmpo, tot-tyr: ket-bay%, hnda) Pdrnrlf key Llid Foreign key ws@rner-id iekreras a;sforner(cusbner-S)
Primargr icey Lm-bq-E
Fw~ignhq w-td refererrcs pegwdei (pq-id)
Prim3.y key E-id, fakfxr-a
Foreign k q R - ~ceferences pmbayaran (it-fd) Foreign hsy iak-i~-iid referencesI a k r (fa!&-id) Foreign key fak-,*-id
refewnm w ~ (~elwt-id) i
Setelah menentalkan parent dm child nnt& std-hun- j7ang mungkin
n&a selanjukya &an dismpaLw tentang atxibut lwmm yzng &a dm prose§ pe~G6dngm~ya.
Entiii item put&
Z l~rga-kede
poss
put& + hrg-%ranra
disc
gross - h ~ g - s a b m
Entiti order b a m g C kmga-kode
+ special-cost + costgrint + add
82 ppn
10 % * jml_penj
jml_penj
jumlah harga jual sebelum pajak
Entiti retur ppn
10 % * jml_penj
jml_penj
jumlah harga jual sebelum pajak
grand_total
jumlah total dari jml_penj ditambah dengan ppn
Entiti pembayaran dpp
jumlah harga jual setelah pajak
ppn
10 % * jml_penj
tot_byr
jumlah dari beberapa tagihan yang akan dibayar sekaligus
denda
dihitung berdasarkan besar persen denda yang ditentukan berdasarkan negosiasi saat order
83 4.1.2.3 Normalisasi Entiti item Dari tahap konseptual sudah dalam bantuk 1NF, berikut ketergantungan fungsional dari entiti item fd1
item_id, order_id → kode, cm
primary key
fd2
kode → nama_brg, harga_kode
partial dependency
fd3
cm → warna, tgl_warna, atas_nama, hrg_warna partial dependency
fd4
order_id, kode, cm → item_id
candidate key
Relasi untuk 2NF yang dihasilkan yaitu item
(item_id, gauge, kode, bulat, belah, gramase1, gramase2, pot_pinggir, cost_print, spesial_soft, cm, stok, krg, m, add, hrg_satuan)
color_match
(cm, warna, atas_nama, tgl_warna, hrg_warna)
benang
(id_benang, nama_brg, harga_kode)
knitting
(id_knitting, nama_brg, harga_kode)
dyeing
(id_dyeing, nama_brg, harga_kode)
finishing
(id_finishing, nama_brg, harga_kode)
kimia
(id_kimia, nama_brg, harga_kode)
umum
(id_umum, nama_brg, harga_kode)
bunga
(id_bunga, nama_brg, harga_kode)
Entiti customer Entiti customer sudah dalam bentuk normal setelah penghilangan multi value. Berikut adalah relasi yang dihasilkan.
84 customer
(customer_id, peg_id, nama, contact, alamat, kota, NPWP)
telepon_cus
(customer_id, telepon)
fax
(customer_id, fax)
Entiti pegawai Entiti pegawai sudah dalam bentuk normal setelah penghilangan multi value. Berikut adalah relasi yang dihasilkan. pegawai
(peg_id, nama_peg, alamat, jns_klmn, jabatan)
telepon_peg
(peg_id, telepon)
Entiti order_barang Untuk entiti order_barang dari tahap konseptual sudah dalam bentuk 1NF dan berikut adalah ketergantungan fungsional dari entiti order_barang. fd1
order_id → item_id
primary key
fd2
order_id → tgl_order, app_date, del_date,
partial dependency
jenis, customer_id, peg_id, lama, persen, esfs, berat, dp, unit, party, status, keterangan fd3
order_id, item_id → kg
partial dependency
fd4
item_id → kode, bulat, belah, krg,
partial dependency
m, gauge, gramase1,gramase2, cm, warna, hrg_satuan fd5
cm → warna
transitive dependency
85 Dari ketergantungan fungsional diatas dihasilkan relasi untuk 2 NF yaitu order_barang (order_id, tgl_order, app_date, del_date, jenis, customer_id, peg_id, lama, persen, dp, esfs, berat, unit, party, status, keterangan) order_detail
(item_id, order_id, kg)
item
(item_id, gauge, kode, bulat, belah, gramase1, gramase2, cm, warna, krg, m, hrg_satuan)
Dalam
ketergantungan
fungsional
entiti
order_barang
terdapat
ketergantungan transitif, maka dilakukan normalisasi 3NF dan berikut adalah relasi yang dihasilkan. order_barang (order_id, tgl_order, app_date, del_date, jenis, customer_id, peg_id, lama, persen, dp, esfs, berat, unit, party, status, keterangan) order_detail
(item_id, order_id, kg)
item
(item_id, gauge, kode, bulat, belah, gramase1, gramase2, cm, krg, m, hrg_satuan)
color_match
(cm, warna)
Entiti sj_fak Dalam entiti sj_fak sudah dalam bentuk normal pertama dan berikut adalah ketergantungan fungsional yang ada. fd1
krm_brg_id → item_id, order_id, no_polisi
primary key
fd2
no_polisi → nama_mobil
partial dependency
fd3
krm_brg_id, item_id → kg_kirim, roll
partial dependency
86 Dari ketergantungan yang ada maka dilakukan normalisasi bentuk 2 untuk menghilangkan ketergantungan partial. Berikut adalah relasi akhir yang dihasilkan. sj_fak
( krm_brg_id, order_id, kode, so_lama, tgl_sjalan, peg_id, tujuan, no_polisi, faktur_id, tgl_entry, tgl_faktur, tgl_serah, tgl_ctk_fak, lokasi)
mobil
( no_polisi, nama_mobil)
kirim_detail
(krm_brg_id, item_id, kg_kirim, roll)
Entiti retur Sama seperti entiti sebelumnya, entiti retur sudah dalam bentuk normal 1NF. Berikut adalah ketergantungan fungsional entiti retur. fd1
retur_id → item_id, order_id
primary key
fd2
order_id → jenis
partial dependency
fd3
retur_id, item_id → kg_retur, roll_retur
partial dependency
Dari ketergantungan fungsional diatas terdapat normalisasi 2NF yang menghasilkan relasi sebagai berikut. retur
(retur_id, order_id, tgl_ctk_rtr, tgl_retur, tgl_entry, keterangan)
order_barang (order_id, jenis) retur_detail
(retur_id, item_id, kg_retur, roll_retur)
87 Entiti pembayaran Entiti pembayaran sudah dalam bentuk 1NF dan berikut adalah ketergantungan fungsional dari entiti pembayaran. fd1
tt_id → customer_id, fak_rtr_id
primary key
fd2
tt_id → tgl_tt, bank, no_gi_card, ket_bayar
partial dependency
fd3
tt_id, fak_rtr_id → tgl_fak_rtr
partial dependency
Dari ketergantungan yang ada, dilakukan normalisasi sampai 2NF yang menghasilkan relasi berikut ini. pembayaran
(tt_id, tgl_tt, customer_id, jenis_bayar, bank, no_gi_card, ket_bayar)
byr_detail
(tt_id, fak_rtr_id, tgl_fak_rtr)
4.1.2.4 Merancang integrity constraint Tujuannya adalah untuk menghindari inkonsistensi dari basis data. Ada 5 tipe integrity constraint yaitu : o Required data, beberapa atribut harus selalu memiliki nilai valid, atau tidak diperbolehkan untuk null. Constraint ini telah diidentifikasi pada tahap 4.1.1.3 Identifikasi dan asosiasi atribut suatu entiti. o Attribute domain constraint, setiap atribut memiliki domain, yang merupakan kumpulan nilai yang legal. Constraint ini pun telah diidentifikasi pada tahap yang sama dalam menentukan required data.
88 o Entity integrity, primary key dari suatu entiti tidak boleh memiliki nilai null. Constraint ini menentukan dalam tahap menentukan primary key yang bisa dilihat pada tahap 4.1.1.4 Identifikasi kandidat dan primary key setiap entiti. o Referential integrity, mempengaruhi dalam menentukan strategi yang tepat untuk foreign key. o Enterprise constraint, biasa juga disebut aturan bisnis. Untuk enterprise constraint akan dijelaskan pada bagian 4.1.3.2 Merancang constraint. Berikut adalah referential integrity yang ada dari rancangan basis data ini. Tabel 4.5 Referential integrity untuk setiap relasi item
(item_id, gauge, kode, bulat, belah, gramase1, gramase2, pot_pinggir, cost_print, spesial_soft, cm, stok, krg, m, add, hrg_satuan)
Primary key item_id Foreign key cm references color_match (cm) ON UPDATE CASCADE ON DELETE NO ACTION customer (customer_id, peg_id, nama, contact, alamat, kota, NPWP) Primary key customer_id Foreign key peg_id references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION telepon_cus (telepon, customer_id) Primary key telepon Foreign key customer_id references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION fax (fax, customer_id) Primary key fax
89 Foreign key customer_id references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION telepon_peg (telepon, peg_id) Primary key telepon Foreign key peg_id references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION order_barang (order_id, tgl_order, app_date, del_ date, jenis, customer_id, peg_id, lama, persen, dp, esfs, berat, unit, party, status, keterangan) Primary key order_id Foreign key customer_id references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION Foreign key peg_id references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION order_detail (order_id, item_id, kg) Primary key order_id, item_id Foreign key order_id references order_barang (order_id) ON UPDATE NO ACTION ON DELETE NO ACTION Foreign key item_id references item (item_id) ON UPDATE NO ACTION ON DELETE NO ACTION sj_fak (krm_brg_id, order_id, so_lama, tgl_sjalan, tujuan, peg_id, no_polisi, faktur_id, tgl_entry, tgl_serah, tgl_faktur, tgl_ctk_fak, lokasi) Primary key krm_brg_id Foreign key order_id references order_barang (order_id) ON UPDATE CASCADE ON DELETE NO ACTION Foreign key so_lama references order_barang (order_id) ON UPDATE CASCADE ON DELETE NO ACTION Foreign key no_polisi references mobil (no_polisi) ON UPDATE CASCADE ON DELETE NO ACTION Foreign key peg_id references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION kirim_detail(item_id, krm_brg_id, kg_kirim, roll) Primary key item_id, krm_brg_id
90 Foreign key item_id references item (item_id) ON UPDATE NO ACTION ON DELETE NO ACTION Foreign key krm_brg_id references surat_jalan (krm_brg_id) ON UPDATE NO ACTION ON DELETE NO ACTION pembayaran (tt_id, tgl_tt, customer_id, jenis_bayar, bank, no_gi_card, ket_bayar) Primary key tt_id Foreign key customer_id references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION byr_detail (tt_id, fak_rtr_id, tgl_fak_rtr) Primary key tt_id, fak_rtr_id Foreign key tt_id references pembayaran (tt_id) ON UPDATE NO ACTION ON DELETE NO ACTION Foreign key fak_rtr_id references sj_fak (faktur_id) ON UPDATE NO ACTION ON DELETE NO ACTION Foreign key fak_rtr_id references retur (retur_id) ON UPDATE NO ACTION ON DELETE NO ACTION retur
(retur_id, order_id, tgl_ctk_rtr, tgl_retur, tgl_entry, keterangan)
Primary key retur_id Foreign key order_id references order_barang (order_id) ON UPDATE CASCADE ON DELETE NO ACTION retur_detail (retur_id, item_id, kg_retur, roll_retur) Primary key retur_id, item_id Foreign key retur_id references retur (retur_id) ON UPDATE NO ACTION ON DELETE NO ACTION Foreign key item_id references item (item_id) ON UPDATE NO ACTION ON DELETE NO ACTION
4.1.2.5 Pembuatan Model Basisdata Logikal Global Untuk
membuat
basisdata
logikal
global
perlu
dilakukan
penggabungan lokal logikal data model yang telah dihasilkan dari hasil normalisasi.
91 Yang perlu dilakukan penggabungan adalah untuk entiti customer (yang berasal dari entiti customer, entiti order_barang, entiti retur dan entiti pembayaran), entiti pegawai (yang berasal dari entiti pegawai dan entiti pembayaran) dan entiti item (yang berasal dari entiti item dan entiti order_barang). Berikut adalah hasil gabungan global untuk entiti tersebut.
item
(item_id, gauge, kode, bulat, belah, gramase1, gramase2, pot_pinggir, cost_print, spesial_soft, cm, stok, krg, m, add, hrg_satuan)
color_match
(cm, warna, atas_nama, tgl_warna, hrg_warna)
order_barang (order_id, tgl_order, app_date, del_date, jenis, customer_id, peg_id, lama, persen, dp, esfs, berat, unit, party, status, keterangan)
Tabel 4.6 Relasi yang menunjukkan model data logikal global item (item_id, gauge, kode, bulat, belah, gramase1, gramase2, pot_pinggir, cost_print,
color_match (cm, warna, atas_nama, tgl_warna, hrg_warna) Primary key cm
spesial_soft, cm, stok, krg, m, add, hrg_satuan) Primary key item_id Foreign key cm references color_match (cm) benang (id_benang, nama_brg,
knitting (id_knitting, nama_brg,
harga_kode)
harga_kode)
92 Primary key id_benang dyeing (id_dyeing, nama_brg,
Primary key id_knitting finishing (id_finishing, nama_brg,
harga_kode)
harga_kode)
Primary key id_dyeing
Primary key id_finishing
kimia (id_kimia, nama_brg,
umum (id_umum, nama_brg,
harga_kode)
harga_kode)
Primary key id_kimia
Primary key id_umum
bunga (id_bunga, nama_brg,
customer (customer_id, peg_id, nama,
harga_kode)
contact, alamat, kota,
Primary key id_bunga
NPWP) Primary key customer_id Foreign key peg_id references pegawai (peg_id)
telepon_cus (telepon, customer_id)
fax (fax, customer_id)
Primary key telepon
Primary key fax
Foreign key customer_id references
Foreign key customer_id references
customer (customer_id)
customer (customer_id)
pegawai (peg_id, nama_peg, alamat,
telepon_peg (telepon, peg_id)
jns_klmn, jabatan) Primary key peg_id
Primary key telepon Foreign key peg_id references pegawai (peg_id)
order_barang (order_id, tgl_order,
order_detail (order_id, item_id, kg)
app_date, del_ date, jenis,
Primary key order_id, item_id
customer_id, peg_id, lama,
Foreign key order_id references
persen, dp, esfs, berat, unit,
order_barang (order_id)
party, status, keterangan)
Foreign key item_id references item
Primary key order_id
(item_id)
Foreign key customer_id references customer (customer_id) Foreign key peg_id references pegawai (peg_id) sj_fak (krm_brg_id, order_id, so_lama, tgl_sjalan, tujuan, peg_id, no_polisi, faktur_id, tgl_entry,
kirim_detail(item_id, krm_brg_id, kg_kirim, roll)
93 tgl_serah, tgl_faktur, tgl_ctk_fak, lokasi)
Primary key item_id, krm_brg_id Foreign key item_id references item
Primary key krm_brg_id
(item_id)
Foreign key order_id references
Foreign key krm_brg_id references
order_barang (order_id)
surat_jalan (krm_brg_id)
Foreign key so_lama references order_barang (order_id) Foreign key no_polisi references mobil (no_polisi) Foreign key peg_id references pegawai (peg_id) byr_detail (tt_id, faktur_id,
pembayaran (tt_id, tgl_tt,
tgl_faktur)
customer_id, jenis_bayar,
Primary key tt_id, faktur_id
bank, no_gi_card, ket_bayar)
Foreign key tt_id references pembayaran Primary key tt_id (tt_id)
Foreign key customer_id references
Foreign key faktur_id references sj_fak
customer (customer_id)
(faktur_id) retur (retur_id, order_id, tgl_ctk_rtr, tgl_retur, tgl_entry, keterangan)
retur_detail (retur_id, item_id, kg_retur, roll_retur) Primary key retur_id, item_id
Primary key retur_id
Foreign key retur_id references retur
Foreign key order_id references
(retur_id)
order_barang (order_id) mobil (no_polisi, nama_mobil) Primary key no_polisi
4.1.2.6 Model Diagram Relasiand GIabai
Gmbar 4.9 Model Diagrm Relasio~alGlobal PT.Jabatex
95 4.1.3
Perancangan Basisdata Fisikal 4.1.3.1 Perancangan Relasional Basisdata Tujuannya untuk menentukan cara merepresentasikan relasi dasar yang diidentifikasikan dalam data model logikal global pada DBMS target. Berikut adalah relasi dasar dari program untuk PT. Jabatex. item Domain item_id
integer, in the range 1-9999999999
Domain gauge
integer, in the range 1-999
Domain kode
character, length 27
Domain bulat
float, in the range 0.00-999.99
Domain belah
float, in the range 0.00-999.99
Domain gramase1
float, in the range 0.01-9999.99
Domain gramase2
float, in the range 0.01-9999.99
Domain pot_pinggir
float, in the range 0.00-99.99
Domain cost_print
integer in the range 0.00-999999
Domain special_soft
integer, in the range 0.00-999999
Domain cm
character, length 12
Domain stok
float, in the range 0.01-9999.99
Domain krg
float, in the range 0.01-999.99
Domain m
float, in the range 0.01-999.99
Domain add
integer, in the range 1.00-999999
Domain hrg_satuan
integer, in the range 1.00-999999
item( item_id
NOT NULL,
gauge
NOT NULL,
kode
NOT NULL,
bulat
NULL,
belah
NULL,
gramase1
NOT NULL,
gramase2
NOT NULL,
pot_pinggir
NULL,
cost_print
NULL,
96 special_soft
NULL,
cm
NOT NULL,
stok
NULL,
krg
NOT NULL,
m
NOT NULL,
add
NULL,
hrg_satuan
NOT NULL,
PRIMARY KEY (item_id), FOREIGN KEY (cm) references color_match (cm) ON UPDATE CASCADE ON DELETE NO ACTION ); color_match Domain cm
character, length 12
Domain warna
character, length 30
Domain atas_nama
character, length 20
Domain tgl_warna
date
Domain hrg_warna
integer, in the range 1.00-999999
color_match( cm
NOT NULL,
warna
NOT NULL,
atas_nama
NOT NULL,
tgl_warna
NOT NULL,
hrg_warna
NOT NULL,
PRIMARY KEY (cm) ); benang Domain id_benang
character, length 2
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
benang( id_benang
NOT NULL,
nama_brg
NOT NULL,
harga_kode
NOT NULL,
PRIMARY KEY (id_benang) );
97 knitting Domain id_knitting
character, length 6
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
knitting( id_knitting
NOT NULL,
nama_brg
NOT NULL,
harga_kode
NOT NULL,
PRIMARY KEY (id_knitting) ); dyeing Domain id_dyeing
character, length 6
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
dyeing ( id_dyeing
NOT NULL,
nama_brg
NOT NULL,
harga_kode
NOT NULL,
PRIMARY KEY (id_dyeing) ); finishing Domain id_finishing
character, length 4
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
finishing( id_finishing
NOT NULL,
nama_brg
NOT NULL,
harga_kode
NOT NULL,
PRIMARY KEY (id_finishing) ); kimia Domain id_kimia
character, length 1
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
kimia( id_kimia
NOT NULL,
nama_brg
NOT NULL,
98 harga_kode
NOT NULL,
PRIMARY KEY (id_kimia) ); umum Domain id_umum
character, length 1
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
umum( id_umum
NOT NULL,
nama_brg
NOT NULL,
harga_kode
NOT NULL,
PRIMARY KEY (id_umum) ); bunga Domain id_bunga
character, length 1
Domain nama_brg
text
Domain harga_kode
integer, in the range 1.00-999999
bunga( id_bunga
NOT NULL,
nama_brg
NOT NULL,
harga_kode
NOT NULL,
PRIMARY KEY (id_bunga) ); customer Domain customer_id
character, length 12
Domain peg_id
character, length 12
Domain nama
character, length 30
Domain contact
character, length 20
Domain alamat
text
Domain telepon
character, length 15
Domain fax
character, length 20
Domain kota
character, length 20
Domain NPWP
character, length 20
customer( customer_id
NOT NULL,
peg_id
NOT NULL,
nama
NOT NULL,
99 contact
NOT NULL,
alamat
NOT NULL,
telepon
NOT NULL,
fax
NOT NULL,
kota
NOT NULL,
NPWP
NULL,
PRIMARY KEY (customer_id) FOREIGN KEY (peg_id) references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION); telepon_cus Domain telepon
character, length 15
Domain customer_id
character, length 12
telepon_cus( telepon
NOT NULL,
customer_id
NOT NULL,
PRIMARY KEY (telepon), FOREIGN KEY (customer_id) references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION); fax Domain fax
character, length 20
Domain customer_id
character, length 12
fax( fax
NOT NULL,
customer_id
NOT NULL,
PRIMARY KEY (fax), FOREIGN KEY (customer_id) references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION); pegawai Domain peg_id
character, length 12
Domain nama_peg
character, length 20
Domain alamat
text
Domain telepon
character, length 15
Domain jns_klmn
character, length 1, must be one of ‘L’ or ‘P’
Domain jabatan
character, length 20
100 pegawai( peg_id
NOT NULL,
nama
NOT NULL,
alamat
NOT NULL,
telepon
NOT NULL,
jns_klmn
NOT NULL,
jabatan
NOT NULL,
PRIMARY KEY (peg_id) ); telepon_peg Domain telepon
character, length 15
Domain peg_id
character, length 12
telepon_peg( telepon
NOT NULL,
peg_id
NOT NULL,
PRIMARY KEY (telepon), FOREIGN KEY (peg_id) references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION); order_barang Domain order_id
character, length 12
Domain tgl_order
date
Domain app_date
date
Domain del_date
date
Domain jenis
character, length 15
Domain customer_id
character, length 12
Domain peg_id
character, length 12
Domain lama
integer, in the range 0-99
Domain persen
float, in the range 0.00-0.99
Domain dp
integer, in the range 0.00-99999999
Domain esfs
character, length 2, must one of ‘es’ or ‘fs’
Domain berat
character, length 5, must one of ‘bruto’ or ‘netto’
Domain unit
character, length 4, must one of ‘cm’ or ‘inch’
Domain party
character, length 10, must one of ‘lokal’, ‘ekspor’, or ‘lain-lain’
101 Domain status
character, length 10, must one of ‘OK’, ‘sales’, ‘dipos’, ‘pending’, or ‘ditinggal’
Domain keterangan
text
order_barang( order_id
NOT NULL,
tgl_order
NOT NULL,
app_date
NOT NULL,
del_date
NOT NULL,
jenis
NOT NULL,
customer_id
NOT NULL,
peg_id
NOT NULL,
lama
NULL,
persen
NULL,
dp
NULL,
esfs
NOT NULL,
berat
NOT NULL,
unit
NOT NULL,
party
NULL,
status
NOT NULL,
keterangan
NULL,
PRIMARY KEY (order_id), FOREIGN KEY (customer_id) references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (peg_id) references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION); order_detail Domain order_id
character, length 12
Domain item_id
character, length 12
Domain kg
float, in the range 0.01-9999.99
order_detail( order_id
NOT NULL,
item_id
NOT NULL,
kg
NOT NULL,
PRIMARY KEY (order_id, item_id),
102 FOREIGN KEY (order_id) references order_barang (order_id) ON UPDATE NO ACTION ON DELETE NO ACTION, FOREIGN KEY (item_id) references item (item_id) ON UPDATE NO ACTION ON DELETE NO ACTION); sj_fak Domain krm_brg_id
character, length 12
Domain order_id
character, length 12
Domain so_lama
character, length 12
Domain tgl_sjalan
date
Domain tujuan
character, length 20
Domain peg_id
character, length 12
Domain no_polisi
character, length 12
Domain faktur_id
character, length 12
Domain tgl_entry
date
Domain tgl_serah
date
Domain tgl_faktur
date
Domain tgl_ctk_fak
date
Domain lokasi
character, length 10
sj_fak( krm_brg_id
NOT NULL,
order_id
NOT NULL,
so_lama
NULL,
tgl_sjalan
NOT NULL,
tujuan
NOT NULL,
peg_id
NULL,
no_polisi
NOT NULL,
faktur_id
NOT NULL,
tgl_entry
NOT NULL,
tgl_serah
NOT NULL,
tgl_faktur
NOT NULL,
tgl_ctk_fak
NOT NULL,
lokasi
NOT NULL,
PRIMARY KEY (krm_brg_id),
103 FOREIGN KEY (order_id) references order_barang (order_id) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (so_lama) references order_barang (order_id) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (no_polisi) references mobil (no_polisi) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (peg_id) references pegawai (peg_id) ON UPDATE CASCADE ON DELETE NO ACTION); kirim_detail Domain item_id
character, length 12
Domain krm_brg_id
character, length 12
Domain kg_kirim
float, in the range 0.01-9999.99
Domain roll
integer, in the range 1-99
kirim_detail( item_id
NOT NULL,
krm_brg_id
NOT NULL,
kg_kirim
NOT NULL,
roll
NOT NULL,
PRIMARY KEY (item_id, krm_brg_id), FOREIGN KEY (item_id) references item (item_id) ON UPDATE NO ACTION ON DELETE NO ACTION, FOREIGN KEY (krm_brg_id) references surat_jalan (krm_brg_id) ON UPDATE NO ACTION ON DELETE NO ACTION); pembayaran Domain tt_id
character, length 12
Domain tgl_tt
date
Domain customer_id
character, length 12
Domain jenis_bayar
character, length 5, must one of ‘atm’, ‘nota’, ‘giro’, or ‘cash’
Domain bank
character, length 30
Domain no_gi_card
character, length 20
Domain ket_bayar
text
pembayaran( tt_id
NOT NULL,
104 tgl_tt
NOT NULL,
customer_id
NOT NULL,
jenis_bayar
NOT NULL,
bank
NULL,
no_gi_card
NULL,
ket_bayar
NULL,
PRIMARY KEY (tt_id), FOREIGN KEY (customer_id) references customer (customer_id) ON UPDATE CASCADE ON DELETE NO ACTION); bayar_detail Domain tt_id
character, length 12
Domain fak_rtr_id
character, length 12
Domain tgl_fak_rtr
date
bayar_detail( tt_id
NOT NULL,
fak_rtr_id
NOT NULL,
tgl_fak_rtr
NOT NULL,
PRIMARY KEY (tt_id, sj_fak), FOREIGN KEY (tt_id) references pembayaran (tt_id) ON UPDATE NO ACTION ON DELETE NO ACTION, FOREIGN KEY (fak_rtr_id) references sj_fak (faktur_id) ON UPDATE NO ACTION ON DELETE NO ACTION, FOREIGN KEY (fak_rtr_id) references retur (retur_id) ON UPDATE NO ACTION ON DELETE NO ACTION); retur Domain retur_id
character, length 12
Domain order_id
character, length 12
Domain tgl_ctk_rtr
date
Domain tgl_retur
date
Domain tgl_entry
date
Domain keterangan
text
retur( retur_id
NOT NULL,
order_id
NOT NULL,
105 tgl_ctk_rtr
NOT NULL,
tgl_retur
NOT NULL,
tgl_entry
NOT NULL,
keterangan
NULL,
PRIMARY KEY (retur_id), FOREIGN KEY (order_id) references order_barang (order_id) ON UPDATE CASCADE ON DELETE NO ACTION); retur_detail Domain retur_id
character, length 12
Domain item_id
character, length 12
Domain kg_retur
float, in the range 0.01-9999.99
Domain roll_retur
integer, in the range 1-99
retur_detail( retur_id
NOT NULL,
item_id
NOT NULL,
kg_retur
NOT NULL,
roll_retur
NOT NULL,
PRIMARY KEY (retur_id, item_id), FOREIGN KEY (retur_id) references retur (retur_id) ON UPDATE NO ACTION ON DELETE NO ACTION, FOREIGN KEY (item_id) references item (item_id) ON UPDATE NO ACTION ON DELETE NO ACTION); mobil Domain no_polisi
character, length 12
Domain nama_mobil
character, length 15
mobil( no_polisi
NOT NULL,
nama_mobil
NOT NULL,
PRIMARY KEY (no_polisi) );
106 4.1.3.2 Merancang Constraints Tujuannya adalah untuk membatasi update yang dilakukan agar sesuai dengan aturan yang ditetapkan dari perusahaan dan yang disesuaikan dengan ‘real world’. o Denda yang diberikan untuk customer maksimal sebesar 3 %. CONSTRAINT dendaInvalid CHECK (NOT EXIST(SELECT order_id FROM order_barang WHERE persen > 3))
o Lama waktu yang diberikan untuk batas pembayaran maksimal 50 hari dari tanggal pengiriman barang. CONSTRAINT lamaInvalid CHECK (NOT EXIST(SELECT order_id FROM order_barang WHERE lama > 50))
o Jika customer melakukan pembayaran lebih dari tanggal jatuh tempo maka akan menerima denda. CONSTRAINT jatuhTempo CHECK (NOT EXIST(SELECT o.customer_id FROM order_barang o join surat_jalan s join faktur f
107 WHERE o.order_id = s.order_id AND s.krm_brg_id = f.krm_brg_id AND now() < (o.del_date+o.lama) ))
4.1.3.3 Analisis Transaksi Analisis transaksi ini merupakan lanjutan dari tahap 4.1.1.5 Validasi transaksi user. Untuk mempermudah analisa akan digunakan transaction/relation cross-reference matrix. Langkah-langkah dalam menganalisa transaksi yaitu: 1. memetakan semua jalur transaksi dalam relasi 2. menentukan relasi mana yang paling sering diakses oleh transaksi 3. menganalisa penggunaan data dari relasi yang dipilih dari langkah sebelumnya.
Berikut adalah transaksi yang dilakukan a. pegawai memasukkan data pegawai baru b. pegawai mencatat data baru dari customer c. menunjukkan data barang yang dipesan oleh customer d. menunjukkan data tagihan yang harus dilunasi oleh customer berdasarkan faktur yang sudah ada e. mencatat besar tagihan yang harus dibayar f. mendata barang yang dikembalikan g. menampilkan stok dari barang yang masih ada
108 h. menunjukkan data barang yang dikirim dari data barang yang telah dipesan i. menunjukkan besar biaya yang dihasilkan setiap kali pengiriman melalui faktur j. memasukkan data pesanan pelanggan oleh pegawai k. membuat data pesanan yang harus dikirim yang terdapat dalam surat jalan oleh pegawai l. membuat data barang yang harus dibayar setiap kali pengiriman dilakukan oleh pegawai
109 Tabel 4.7 Referensi silang transaksi Transaksi
/ a
b
c
d
I
R U D I
R U D I
R U D I
relasi order_barang
x
order_detail
x
customer
x
telepon_cus
x
fax
x
pegawai
x
telepon_peg
x
x
R U D
x
pembayaran
x
bayar_detail
x
item
x
color_match
x
benang
x
knitting
x
dyeing
x
finishing
x
kimia
x
umum
x
bunga
x
surat_jalan kirim_detail retur retur_detail faktur mobil I = Insert U = Update R = Read D = Delete
x
110 Tabel 4.7 referensi silang transaksi (lanjutan) Transaksi
/ e
f
g
h
I
R U D I
R U D I
R U D I
relasi order_barang
x
x
order_detail customer
R U D
x x
telepon_cus fax pegawai telepon_peg pembayaran
x
bayar_detail
x
item
x
x
x
color_match
x
x
x
benang
x
x
x
knitting
x
x
x
dyeing
x
x
x
finishing
x
x
x
kimia
x
x
x
umum
x
x
x
bunga
x
x
x
surat_jalan
x
x
kirim_detail
x
x
x
x
retur
x
retur_detail
x
faktur mobil I = Insert U = Update R = Read D = Delete
x
111 Tabel 4.7 referensi silang transaksi (lanjutan) Transaksi
/ i
j
k
l
I
R U D I
R U D I
R U D I
R U D
x
x
x
x
x
x
relasi order_barang
x
order_detail
x
customer
x
telepon_cus fax pegawai telepon_peg pembayaran bayar_detail item
x
x
x
color_match
x
x
x
benang
x
x
x
knitting
x
x
x
dyeing
x
x
x
finishing
x
x
x
kimia
x
x
x
umum
x
x
x
bunga
x
x
x
surat_jalan
x
x
x
kirim_detail
x
x
x
retur retur_detail faktur
x
mobil
x
I = Insert U = Update R = Read D = Delete
x x
x
112 4.1.3.4 Pembuatan Index setiap entiti Tujuan dari adanya index adalah untuk mempermudah dalam melokasikan sejumlah record file dengan lebih cepat atau dalam proses pencarian.
Tabel 4.8 Pembuatan index setiap entiti Nama Entiti
Nama index
item
item_id {PK} hrg_satuan
color_match
cm {PK} warna tgl_warna harga_warna
benang
id_benang {PK} nama_brg harga_kode
knitting
id_knitting {PK} nama_brg harga_kode
dyeing
id_dyeing {PK} nama_brg harga_kode
finishing
id_finishing {PK} nama_brg harga_kode
kimia
id_kimia {PK} nama_brg harga_kode
113 umum
id_umum {PK} nama_brg harga_kode
bunga
id_bunga {PK} nama_brg harga_kode
customer
customer_id {PK} nama peg_id {FK}
telepon_cus
customer_id {FK}
fax
customer_id {FK}
pegawai
peg_id {PK} nama_peg
telepon_peg
peg_id {FK}
order_barang
order_id {PK} tgl_order
order_detail
order_id {PK} item_id {PK} kg
sj_fak
krm_brg_id {PK} tgl_sjalan faktur_id tgl_faktur
kirim_detail
item_id {PK} krm_brg_id {PK} kg_kirim
pembayaran
tt_id {PK} tgl_tt
byr_detail
tt_id {PK} fak_rtr_id {PK} tgl_fak_rtr
114 retur
retur_id {PK} tgl_retur
retur_detail
retur_id {PK} item_id {PK} kg_retur
mobil
no_polisi {PK} nama_mobil
4.1.3.5 Mengestimasi Kapasitas Penyimpanan yang Dibutuhkan
Tabel 4.9 Perbandingan Database Berdasarkan SQL server 2000 Platform
MySQL 4.1
Berbasiskan windows, seperti Windows Di semua platform seperti Windows9x,Windows NT, Windows 2000 and based platforms, AIX-based systems, Windows CE
HP-UX systems, Linux Intel, Sun Solaris dan lainnya
Kebutuhan
Butuh resource haedware yang lebih Mysql
Hardware
besar. Berikut adalah perinciannya. Processor
Pentium 166 MHz or higher 32 MB RAM (minimum for Desktop Engine), 64 MB RAM (minimum for Memory all other editions), 128 MB RAM or more recommended 270 MB (full installation), 250 MB (typical), 95 MB (minimum), Hard disk Desktop Engine: 44 MB space Analysis Services: 50 MB minimum and 130 MB typical English Query: 80 MB
Kebutuhan
menggunakan
resource
hardware yang lebih sedikit. Untuk menginstal
Mysql
membutuhkan
kurang lebih 32 MB RAM dan 60 MB kapasitas hard disk.
Berikut adalah kebutuhan software dari Berikut adalah kebutuhan software dari
115 Software
SQL server 2000 yang terdiri dari 6 Mysql edisi. Operatin g System Windows CE Windows 9x Windows NT 4.0 Workstat ion with Service Pack 5 Windows NT 4.0 Server with Service Pack 5 Windows NT 4.0 Server Enterpris e Edition with Service Pack 5 Windows 2000 Professio nal Windows 2000 Server Windows 2000 Advance d Server Windows 2000 DataCent er Windows
Enterp Standa Person rise rd al Edition Edition Edition No
No
No
No
No
Yes
Platform Windows-based Sun Solaris FreeBSD
No
No
Yes
Mac OS X
HP-UX Yes
Yes
Yes
AIX-Based Yes
Yes
Yes QNX SGI Irix Dec OSF
No
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Operating System Version Windows 95/98/NT/2000/ XP/2003 Solaris 8 (SPARC) FreeBSD 4.x (x86) Mac OS X v10.2 HP-UX 10.20 (RISC 1.0), HP-UX 11.11 (PA-RISC 1.1 and 2.0), HP-UX 11.11 (PA-RISC 2.0, 64-bit only) AIX 5.1 (RS6000), AIX 4.3.2 (RS6000), AIX 4.3.3 (RS6000) QNX 6.2.1 (x86) SGI Irix 6.5 Dec OSF 5.1 (Alpha)
116 XP Professio nal
Operatin g System Windows CE Windows 9x Windows NT 4.0 Workstat ion with Service Pack 5 Windows NT 4.0 Server with Service Pack 5 Windows NT 4.0 Server Enterpris e Edition with Service Pack 5 Windows 2000 Professio nal Windows 2000 Server Windows 2000 Advance d Server Windows 2000 DataCent er
Develo Deskto per p Edition Engine
SQL Server CE
No
No
Yes
No
Yes
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
No
Yes
Yes
No
117
Harga
Windows XP Yes Yes No Professio nal Ada 2 jenis license dari SQL server MySQL memiliki 2 license yaitu yaitu processor license dan server / per MySQL software sebagai open source / seat
client
access
license
(CAL). Free software
Processor license digunakan untuk tiap Public
dari GNU General
License
atau
standard
CPU dan akses client tidak terbatas. commercial license dari MySQL AB. Processor license lebih murah dari MySQL AB license nya untuk tiap database
CAL.
server.
Berikut
adalah
Server / CAL digunakan untuk server harganya dan tiap client dibatasi. SQL Server Licensing 2000 Options Enterprise Edition $19,999 $4,999 per Processor per processor processor with 5 CALs with 25 Server/Per- $1,489 CALs Seat CAL with 10 $11,099 CALs $2,249 SQL Server 2000 Standard Edition
Price per Price per Number copy copy of licenses (EUR) (USD) 1 .. 9 440.00 495.00 10 .. 49 315.00 360.00 50 .. 99 255.00 290.00 100 .. 249 195.00 220.00 250 .. 499 155.00 175.00 ask for quote, 500 +
[email protected]
Limitation berdasarkan
Feature column name length index name length table name length max indexes per table index length max index column length columns per index max char() size max varchar() size max blob size max number of columns in GROUP BY max number of columns in
SQL Server 2000 128 128 128 250 900 900 16 8000 8000 2147483647 Limited only by number of bytes (8060) Limited only by number of
MySQL v4.1 64 64 64 32 1024 255 16 1048543 1048543 1048543 64 64
118 ORDER BY tables per SELECT statement max columns per table max table row length longest SQL statement constant string size in SELECT
bytes (8060)
Feature
T-SQL General Views, Indexed Views, Distributed Partitioned Views AFTER triggers, INSTEAD OF triggers T-SQL statements Scalar functions, Inline table-valued functions, Multistatement tablevalued functions
256
31
1024 8036 16777216
2599 65534 1048574
16777207
1048565
T-SQL dengan MySQL dialect
Views
Triggers Stored Procedures
User-defined functions
Keuntungan
Foreign Keys
Supported
Cursors Arrays
Supported Not Supported
•
•
MySQL dialect Not Supported
Not Supported Not Supported
C, C++ external libraries
Supported for only InnoDB tables Not Supported Supported
Secara umum diterima karena •
Dapat men support platform lain
mudah diinstal, udah dipakai dan
tidak hanya berdasarkan platform
diatur.
windows.
Bahasa powerful dialect.
Transact-SQL dibanding
lebih • MySQL •
Butuh hardware yang lebih sedikit Bisa tanpa melakukan pembayaran karena merupakan software open source / free software.
Dalam beberapa entiti terdapat data yang tetap dan perubahan yang terjadi sangat jarang dilakukan. Entiti tersebut adalah entiti benang, knitting, dyeing, finishing, bunga, umum dan kimia. Sehingga ukuran dari entiti ini tetap. Oleh karena itu untuk penghitungan kapasitas penyimpanan dari data transaksi, tidak dimasukkan.
119 Berikut akan dijelaskan tentang menghitung perkiraan kapasitas penyimpanan data transaksi yang dilakukan.
Tabel 4.10 Estimasi penyimpanan entiti
keterangan
Ukuran
total per tahun (30
tiap satu
hari x 12 bulan)
record (bytes) item
Diperkirakan setiap
data + index
(dalam bytes) data
index
95
4104000
3072
4107072
78
3369600
5120
3374720
116
5800
4096
9896
28
2800
2048
4848
28
2800
2048
4848
60
2400
3072
5472
harinya memiliki 120 transaksi color_match
Diperkirakan setiap harinya memiliki 120 transaksi
customer
Diperkirakan setiap tahunnya memiliki 50 transaksi. Dengan asumsi isi dari atribut text sepanjang 30 character
telepon_cus
Dengan asumsi tiap customer rata-rata memiliki 2 nomor. Tiap tahunnya terdapat 50 transaksi
fax
Dengan asumsi tiap customer rata-rata memiliki 2 nomor. Tiap tahunnya terdapat 50 transaksi
pegawai
Diperkirakan setiap tahunnya memiliki 20
120 transaksi. Dengan asumsi isi dari atribut text sepanjang 30 character telepon_peg
Dengan asumsi tiap
28
1120
2048
3168
104
748800
3072
751872
25
180000
5120
185120
117
2527200
5120
2532320
35
756000
5120
761120
84
907200
3072
910272
32
345600
5120
350720
56
201600
3072
204672
customer rata-rata memiliki 2 nomor. Tiap tahunnya terdapat 20 transaksi order_barang
Diperkirakan setiap harinya memiliki 20 transaksi. Dengan asumsi isi dari atribut text sepanjang 20 character
order_detail
Diperkirakan setiap harinya memiliki 20 transaksi.
sj_fak
Diperkirakan setiap tahunnya memiliki 60 transaksi.
kirim_detail
Diperkirakan setiap harinya memiliki 60 transaksi.
pembayaran
Diperkirakan setiap harinya memiliki 30 transaksi. Dengan asumsi isi dari atribut text sepanjang 20 character
bayar_detail
Diperkirakan setiap harinya memiliki 30 transaksi.
retur
Diperkirakan setiap harinya memiliki 10 transaksi. Dengan asumsi isi dari atribut text
121 sepanjang 20 character retur_detail
Dengan asumsi isi dari
37
133200
5120
143440
atribut text sepanjang 10 character Total kapasitas penyimpanan yang dibutuhkan untuk transaksi per tahun adalah
13349560 bytes atau 13036,68 KB atau 12,731 MB
4.1.3.6 Merancang Mekanisme Keamanan Basis data merepresentasikan informasi penting bagi perusahaan dan keamanan dari informasi merupakan faktor penting. Dalam keamanan ada dua tipe yaitu keamanan sistem dan keamanan data. Keamanan sistem mengatur pengaksesan dan penggunaan basis data. Caranya adalah dengan membuat halaman login sebelum masuk ke halaman utama dari sistem. Dalam halaman login, user diminta untuk memasukkan username dan password. Sedangkan untuk keamanan data, berhubungan dengan objek basis data (tabel atau relasi) dan aksi yang user lakukan terhadap objek tersebut, misalnya aksi penghapusan atau pemilihan. Berikut adalah perancangan untuk keamanan data. Admin = superuser grant all on jabatex.* to admin with grant option;
122 Maksud dari diatas, admin superuser bisa melakukan semua aksi yaitu delete, update, select, insert. Untuk pengaturan aksi user lain diatur oleh admin superuser tadi karena perintah with grant option.
4.2
Perancangan Aplikasi 4.2.1
Bagan Terstruktur (Structure Chart) Proses order
Select data
input order
Data order Nomor order
Read record
Data item
Data order
Data detail
Data order
Data order
Insert record order
Search data
Calculate total item
Show detail
Data printing input item Data item Nomor order
Select data
Data order
Yes / No
Data detail Update Data data detail Delete
Data order
Data detail
data
Select nomor order
Read record
Show record
Insert record item
Validate
Update record
Delete record
Show printing Data printing
Yes / No
Validate printing
Gambar 4.10 Structure chart proses order
Print data
123 Proses surat jalan
Data surat jalan
Insert kg & roll Data kg & roll
Insert data Data surat jalan
Insert record surat jalan
Nomor order
Select nomor order
Select data
Data stok
Data order
Generate data
Insert record kg & roll
Data printing
Update stok
Show printing
Update record stok
Data printing Yes / No
Select data
Data order
Read record
Data order
Show record
Gambar 4.11 Structure chart proses surat jalan
Validate printing
Print data
124
Proses Faktur
Data faktur
Insert data faktur Nomor surat jalan
Data faktur Data surat jalan
Select data
Select nomor surat jalan
Generate data
Total, harga jual, dasar kena pajak, ppn, dpp
Insert record
Data printing
Harga satuan, kg
Show printing
Calculate data
Data printing Yes / No
Select data
Data surat jalan
Read record
Data surat jalan
Validate printing
Show record
Gambar 4.12 Structure chart proses faktur
Print data
125
Proses Retur
Data retur
Insert data retur Nomor order
Data retur Select data
Select nomor order
Dasar kena pajak, ppn, dpp
Data order
Generate data
Insert record
Data printing
Harga satuan, kg
Show printing
Calculate data
Data printing Yes / No
Select data
Data order
Read record
Data order
Validate printing
Show record
Gambar 4.13 Structure chart proses retur
Print data
126 Proses pembayaran
Data pembayaran
Insert data pembayaran Data pembayaran
Nomor customer Select data
Select nomor customer
Data surat jalan, order, faktur
Generate data
Update stok Total
Insert record
Harga faktur & retur
Calculate data
Data printing Data stok
Update record stok
Show printing Data printing Yes / No
Data Select surat jalan, data order, faktur
Read record
Data surat jalan, order, faktur
Show record
Gambar 4.14 Structure chart proses pembayaran
Validate printing
Print data
\\\
pembayaran
a customer
1
d
1
nama
1
1.
? o\n9
7
I
' I
lnsert record
S h u ~i
record i
I 1
4.15 StmGture chart data customer
. , ' Data pegawai
1
G m b x 4.16 S . l r u a e chmi data pegawai
Data inventcry
Select data
#\+
0
1
2; \ m
Nornor Rem
1 kDde
item
Gambrar 4.18 Struktur menu prosam PT. Jsnbatex
4.2.3 State Transifion Diagram (STD)
I I
I
I
I
TampJkan kerntali halaman login
I
j
Gambar 4..20 STD Maman utama
IN0 SO yang drpirih
Gmbar 4.21 STHZP halainan order
Pihh Subnt Mewbah sum jalan PIlih No X)
1
'1
4 Merw =mi Jdan
1
Kembli ke M a m n Menu
I
r-
1
Pikh OK Tampilkan halaman deta sutilt Jalan 7 7 I List No. Sirrat
t
I
MenuFaMw
AI
iI
Menu Fakiur
i
Prn OK Tampilkan ha%man &ti1 Retw
/
WlenuRetor
1
rpq
I
+
Kembafi ke habman
Menu FaMor Aih Submii
/ Meogubah Retw meFjadi i
Hahman deiii 1 Pembayaran Re:ur
I
J 1
lk4 No. M e r
I
I
I a .
i Cancel
I
Piiih generate
Menu Pemhayaran PB~Isubma Mengubah Fletur menjad
Submit
1
i
1
Pirth back Kernbali Ire Maman detil Pembkdaran
Gafllbar 4.25 STD Itdarnan pembayvan
ID atau berdasarkan nama)
Nwv Tampilkzn halaman pngisian data custcmer bani
Cuitcmer
I
Piliii Search Tampilkan iist barang (biia berdasatkan ID atau 1 berdasarkan mma barang)
1
1
Menu lmntory
Pilih Seanh Tzrnpiikan liit cusfomer (Ksa berdasarkan ID *tau bem¶asar%annama pegawai)
I
I Search
i
I 1
Menu Pegavai
'J !
_ I '
/
I
,
Mcmr input
PegaWi k r u
I
i
Input Pegawai
Pilih M e m LnDut Penawai Earn Tampilkan k&rnan-pngiskn data pegawai hem
j
i Wih Confirm
/ Menyimpan data pagawaij baru
Confirm
Baru
I L 7 I
Menu Pegawai
i
Garnbar 4.28 STD halaman pegawai
MuIai Modul m u h Data User Name Masukan Data Password Peririksa ap&& User Name dan Password Bemr Jika User Name dan Password tidak benar m& Tampilkan Pman "Please Check Again'~ourUsername and Password" Selain itu Masuk ke Utama Akhk jika Akhir modut
134 Modul Menu Utama Mulai Modul Jika dipilih Menu Home maka Tampilkan halaman Home Akhir jika Jika dipilih Menu Order maka Tampilkan halaman Order Akhir jika Jika dipilih Menu Surat Jalan maka Tampilkan halaman Surat Jalan Akhir jika Jika dipilih Menu Faktur maka Tampilkan halaman Faktur Akhir jika Jika dipilih Menu Retur maka Tampilkan halaman Retur Akhir jika Jika dipilih Menu Pembayaran maka Tampilkan halaman Pembayaran Akhir jika Jika dipilih Menu Customer maka Tampilkan halaman Customer Akhir jika Jika dipilih Menu Inventory maka Tampilkan halaman Inventory Akhir jika Jika dipilih Menu Pegawai maka Tampilkan halaman Pegawai Akhir jika Jika dipilih Menu Logout maka Tampillkan halaman Login Akhir jika Akhir Modul Modul Menu Order Mulai modul Jika dipilih Menu “New Order” Maka Tampilkan form New Order Pilih Data “Jenis” Masukan Data “Aprrove Date” Masukan Data “Delivery” Pilih Data “Customer” Masukan Data “Lama” Pilih Data “Party” Pilih Data “Status Kirim” Masukan Data “DP” Pilih Data “ESFS”
135 Pilih Data “Berat” Pilih Data “Unit” Masukan Data “Keterangan” Pilih Data “Kode” Pilih Data “Gauge” Masukan Data “Bulat” Masukan Data “Belah” Masukan Data “Gramase” Masukan Data “Potong pinggir” Masukan Data “Cost Print” Masukan Data “Special Soft” Pilih Data “Warna” Pilih Data “Mesin” Masukan Data “KG” Masukan Data “Krg/M” Masukan Data “Add” Masukan Data “Total” Jika dipilih tombol “Submit” Maka Simpan data Pada Database Order Akhir jika Akhir jika Jika dipilih satu No. SO pada table Maka Tampilkan data detail SO pada table sesuai No. SO yang dipilih Akhir jika Akhir modul Modul Search pada Menu Order Mulai modul Masukan Data “No.So” yang mau disearch Jika dipilih tombol “search” Maka Tampilkan data SO sesuai dengan No.So yang dimasukkan Akhir jika Akhir modul Modul Menu Surat Jalan Mulai modul Pilih Data “Tujuan” Pilih Data “Mobil” Pilih Data “Sopir” Masukkan Data “Satuan” Jika dipilih “No.Order” Maka Tampilkan halaman detail surat jalan Jika dipilih tombol “Submit” Maka Simpan data surat jalan Pada Table surat_jalan dan kirim_detail Tampilkan halaman home Akhir jika Jika dipilih Menu “back” Maka
136 Tampilkan halaman Surat Jalan Akhir jika Akhir jika Akhir modul Modul Menu Faktur Mulai modul Jika dipilih Data “No. Surat Jalan” Maka Tampilkan halaman detail dari faktur Masukan Data “Tanggal Entry” Masukan Data “Tanggal Serah” Masukan Data “Tanggal Cetak” Pilih Data “Lokasi” Jika dipilih tombol “Submit” Maka Simpan semua data faktur Pada table faktur Tampilkan halaman home Akhir jika Akhir jika Akhir modul Modul Menu Retur Mulai modul Jika dipilih Data “No. Order” Maka Tampilkan halaman detail dari retur Masukan Data “Tanggal Entry Masukan Data “Tanggal Cetak Retur” Jika dipilih tombol “Submit” Maka Simpan semua data retur Pada table retur Tampilan halaman home Akhir jika Jika dipilih menu “back” Tampilkan halaman Menu Retur Akhir jika Akhir jika Akhir modul
Modul Menu Pembayaran Mulai modul Masukan Data “Customer ID” Jika dipilih tombol “generate” Tampilkan halaman detail pembayaran Pilih Data “Cara Pembayaran” Masukan Data “Bank” Masukan Data “No. cek/giro” Masukan Data “Jatuh Tempo Cek/Giro” Masukan Data “Keterangan”
137 Jika dipilih tombol “Submit” Maka Simpan semua data pembayaran Pada table pembayaran Tampilkan halaman home Akhir jika Jika dipilih menu “back”Maka Tampilkan halaman Menu Pembayaran Akhir jika Akhir jika Akhir modul Modul Customer Mulai modul Jika dipilih menu “New Customer” Maka Tampilkan halaman Input New Customer Masukan Data “Nama Customer” Masukan Data “Contact Person” Masukan Data “Alamat” Masukan Data “Kota” Masukan Data “NPWP” Masukan Data “Telepon” Masukan Data “Fax” Pilih Data “Sales” Jika dipilih tombol “Confirm” Maka Simpan semua data customer Pada table customer, telepon_cus, dan fax Tampilkan halaman Menu Customer Akhir jika Akhir jika Jika dipilih satu customer id pada table Maka Tampilkan halaman detail customer Jika dipilih tombol “back” Tampilkan halaman Menu Customer Akhir jika Akhir jika Akhir modul Modul Search pada Customer Mulai modul Masukan data customer yang mau disearch Jika dipilih tombol “Search” Jika data customer dimasukan berdasarkan ID Tampilkan data customer sesuai dengan ID yang dimasukan Akhir jika Jika data customer dimasukan berdasarkan nama Tampilkan data customer sesuai dengan nama yang dimasukan Akhir jika Akhir jika
138 Akhir modul Modul Search pada Inventory Mulai modul Masukan data barang yang mau disearch Jika dipilih tombol “Search” Jika data barang dimasukan berdasarkan ID Tampilkan data barang sesuai dengan ID yang dimasukan Akhir jika Jika data customer dimasukan berdasarkan nama Tampilkan data barang sesuai dengan nama yang dimasukan Akhir jika Akhir jika Akhir modul Modul Pegawai Mulai modul Jika dipilih menu “Input Pegawai Baru” Maka Tampilkan halaman Input New Pegawai Masukan Data “Nama Pegawai” Masukan Data “Alamat” Pilih Data “Jenis Kelamin” Pilih Data “Jabatan” Masukan Data “Telepon” Jika dipilih tombol “Confirm” Simpan semua data pegawai pada table pegawai dan telepon_peg Tampilkan halaman Menu Pegawai Akhir jika Akhir jika Akhir modul Modul Search pada Pegawai Mulai modul Masukan data pegawai yang mau disearch Jika dipilih tombol “Search” Jika data pegawai dimasukan berdasarkan ID Tampilkan data pegawai sesuai dengan ID yang dimasukan Akhir jika Jika data pegawai dimasukan berdasarkan nama Tampilkan data pegawai sesuai dengan nama yang dimasukan Akhir jika Akhir jika Akhir modul
4.3 Perancqan Input dm Output
C m s - Peowai-lwmtmy Hme-bder-SmJsLm-Fwr-ReWr-Pembavaran
SO tist 7 -
a r c h W. SO : i
&wbx 44.9 Ranmgian input Mman order
ware : KG:
I i
IWM :
'
YRm:L Add:
I [u:
Tbal :
Gambar 4.30mmngan input hdam new ordw
Jenis:
I
nxcax
Dew: x
I i
m
Aapoye Dab:
-
Lana: a I*
r
m-~l-13(
Llaery : mx-xx-rr
Ssks: rmri-
n
CEx
Dada:&
D'm:axnx
Gnss:nm
T-I
I
:n;rux
-
-*. nmr
M : x
M&:n
Csw:u M:
%,?lase: x - x
W3LOXcXXam: -
1
Eanmbar 4.31 bncmgan input Maman detg surat order
--
i
-
m n a F ' W B G ~ ~ V h ~ - S ~ a t J a l M - F ~ - R & - P e m ~ m
bd Scar@ J*
I
Sjao-
T
~
~
L
MOM: :
'fl '
am:
/
iI !
T a m :xx-xx-nrr
No.Sirrai J a b :
1
7
man:-
Ij
I
I I
-
-bar
4.32 Rancangm input halaman st~ratjalan
2
T&m r=rux
MOM mmoar
Sop:: m a - m m n
k k
-
-
detif surat jdan
ar 4.33 lhcangan input
I
II
I I
%bimarmu
No. Swat Jam:
A
/---
1I Ii
I
I
II
NO. F d a :
FlOorns;axrmax
Ta~lFaLhl;-rr-xr-nu
No. Smt -D~ I ~J
/F/-il
iaw&calmTY: irnagalSsra'1:
1
IIw:
Cuilmer : ClaDcrn.00murrx
sale..romm-rmnam .I-.a..amm Lzma:nhaii
---
3enda:xB
TxXI.Xm.TUM
i
:
'M
DPx
Raeur No. Ra:.
RTxrjaroaoouua,
Garnbar 4.36 Rancangan input halaman r&
iam!Vxr-xx-rm
I
I
I
Retur No. R e r : R T m n a r a n n
Twd:rx-u-xm
U* h d a b a n g N m s ham
Uux-m-m
Garbar 4.38 Rmcangm input h a l a m pembayran
I
u
No
CeL l (ilm
Jam Tempo Ce*ICha -,
1
-
1
?I
I
w
Gmbar 4.40 b c a o g a n input
customer
ci*ner-mWmdlrwe Hme-omei- -.,.an . d R F m b s y a r a n
i n w new cuotmar
HamaCuNmn-
, x
//
1
- 1
Contact PRILl, :
Amat:
i
ar 4.41 h m g a n input
new customer
Gambar 4 42 Rancmgan input h a l a m inventov
Pegawai List
Waasl13
L
1
KamaFzrmsu
I
ii
*at arm---
-
JBMs Kemmin
&batan
TdepoO
- 1
1
I
1
Gamba 4.44 Rrancmgm input halarntasl input pegawai baru
148 Sales Order No SO : xxxxxxxxxxxx Customer
:
xxxxxxxxxxxxx
Alamat
:
xxxxxxxxxxxxx
Jenis Order :
xxxxxxxxxxxxx
Lama Bayar
: 99
hari
Tgl Order
:
dd-mm-yyyy
Bunga
: 99
%
Delivery
:
dd-mm-yyyy
Party
: xxxxxxxxxxxxx
Kode sales :
xxxxxxxxxxxx
Berat
: xxxxxxxxxxxxx
Keterangan :
xxxxxxxxxxxxx
Color Matching Nama Barang
Color xxxxxxx
xxxxxxxxxxxxx
Harga Jual
jumlah (kg)
Gramase Approval
Dye
Putih
Harga cash (per kg)
999 - 999
xxxxxxx dd/mm/yyyy
xxxxxxx
9999.99
9999
99999
99999
999 - 999
xxxxxxx dd/mm/yyyy
xxxxxxx
9999.99
9999
99999
99999
__________, dd mm yyyy PENJUAL
(
) Control Dept.
PEMBELI
(
) Sales Dept.
Gambar 4.45 Rancangan output surat order
(
)
Nama I No m u : xxxxxxx I xr 9999 xr
supir
TOT&
.XILlXXXX
:
SUPIR
e m b a r 4.46 R a n w g m output wrat jalan
I
XLKXxiX
99
5999.55
ADY. PENJ
Fakbr Penjmian NO
:awa
: mnnxm~u
mmma
:
XXXXnrXUUX
N O S
Nana
m. JWTM
Alens
:J1. Raya Fasa- Kernis D s a Gem&: T
N
01.12D.43?.0.4SZOW
W
NO SO :
m
T $ ~ k u l a n W: Z Z A & i s f 9 8 9 Tgi Kiiim I w e n t % : ddllm/w
Nama
-
Alad
P
NPIW
q.xxx.xxx.xm.xx
WmMi B a r Kode
i
3
~
Nama Siw
a
~
~
m
Kode WPS a
~
j
a
:XXXXXXXXXXU
(
W m
1
Rdl
/
KG
1
Hawsdm!
/
Heigajilal
L ! ADM SALES
Gambar 4.47 EPancangan output hktur
i
Kewda Nama
m.JABATE4
Alarnat
: JL Raya Fasai Kemis Desa Gernbor Teanwmmg
NPWP :OI.120.43$.0.402.0U~ Tgl Pengukuhan PKP : 22 ~ g 1989 ~ ~ &
Riama brang
i
I
1
Roil
/
KG
1
ttarga Satuan
1
1
Dasar Rngonaan Pajak
Total
99989999
I
{
PPN = $0% X Daser Pengenaan Pajak _.I
L
1
1
Gambar 4.48 b m g m output retw
Nota Pembayaran No Pemhyaran z x-xrr
Tgi pembayarrn : ddlmmlyyyy
Jenb pernbayaian
Bank
No celr I g b Jatuh tempo girolce5i
-
: xmxxm
s?B99999999
: a6 m m yWy
I
,
Total
Mysql versi 4.1 ke atas menggumkan resource hardware yang lebih d u t . Untuk nrenginskal Mysql membuhhkan kurang iebih 32 U B A dan 60 MB bpasitas hard disk.