bab 4 perancangan dan implementasi -...

90
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 Description Aliases Occurrence 1 item Memuat informasi tentang data barang dan persediaan barang stok_barang persediaan inventory Item dibuat karena adanya permintaan dari customer dan satu item bisa dipesan banyak customer 2 customer Berisi data seseorang atau perusahaan yang pernah melakukan pemesanan barang debitur pelanggan customer dapat membeli satu atau lebih item, customer hanya dilayani oleh satu sales 3 pegawai Memuat data pegawai yang ada dalam perusahaan karyawan 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 4 order_barang Berisi informasi tentang transaksi pemesanan barang oleh customer sales_order pemesanan Customer bisa memesan banyak barang, dan setelah barang dipesan maka akan segera dikirim ke customer 5 faktur Memuat informasi barang yang dibeli oleh customer invoice Setiap satu faktur dibuat berdasarkan satu surat jalan. Dari satu sales order bisa menghasilkan banyak faktur 6 surat_jalan Berisi informasi tentang pengiriman barang dari perusahaan ke customer delivery_order Satu surat jalan akan menghasilkan satu faktur dan dari satu sales order dapat menghasilkan lebih dari satu surat jalan. 7 retur Memuat informasi barang yang diretur atau pengembalian _barang Retur yang dilakukan bisa berupa perbaikan atau diganti (barang). Barang

Upload: hakhanh

Post on 11-Mar-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

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 Description Aliases Occurrence

1 item Memuat informasi tentang data barang dan persediaan barang

stok_barang persediaan inventory

Item dibuat karena adanya permintaan dari customer dan satu item bisa dipesan banyak customer

2 customer Berisi data seseorang atau perusahaan yang pernah melakukan pemesanan barang

debitur pelanggan

customer dapat membeli satu atau lebih item, customer hanya dilayani oleh satu sales

3 pegawai Memuat data pegawai yang ada dalam perusahaan

karyawan

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

4 order_barang

Berisi informasi tentang transaksi pemesanan barang oleh customer

sales_order pemesanan

Customer bisa memesan banyak barang, dan setelah barang dipesan maka akan segera dikirim ke customer

5 faktur Memuat informasi barang yang dibeli oleh customer

invoice Setiap satu faktur dibuat berdasarkan satu surat jalan. Dari satu sales order bisa menghasilkan banyak faktur

6 surat_jalan Berisi informasi tentang pengiriman barang dari perusahaan ke customer

delivery_order Satu surat jalan akan menghasilkan satu faktur dan dari satu sales order dapat menghasilkan lebih dari satu surat jalan.

7 retur Memuat informasi barang yang diretur atau

pengembalian_barang

Retur yang dilakukan bisa berupa perbaikan atau diganti (barang). Barang

64

dikembalikan oleh customer

yang diretur bisa hanya sebagian saja atau seluruhnya

8 pembayaran Berisi informasi tentang pembayaran tagihan dari customer

Jumlah yang harus dibayarkan customer bisa dilihat dari data order

4.1.1.2 Mengidentifikasi Tipe Relasional

itempegawai

order_barangretur

pembayaran

customer

1..*

1..*0..* 0..*1..1

1..*

1..*

0..*

1..1

1..1

1..11..1

mengurangi

Mengembalikanbarang dari

membuat

melayani

melakukan

melakukan

surat_jalanfaktur

0..*

1..* menambah

1..*

1..*

berdasarkan pada

1..1 1..1berdasarkan

pada

1..1

0..*

membuat

1..1

1..*

berdasarkanpada

1..*

1..*

mengurangi

Gambar 4.1 ERD yang menunjukkan entiti dan relasional

65

Tabel 4.2 Tabel identifikasi relasional

Entity Name Multiplicity Relationship Entitiy Name Multiplicity

item 1..*

1..*

1..*

dikurangi dari

ditambah dari

dikurangi dari

order_barang

retur

surat_jalan

1..*

0..*

1..*

customer 1..1

1..1

0..*

melakukan

melakukam

dilayani

order_barang

pembayaran

pegawai

1..*

1..*

1..1

pegawai 1..1

1..1

1..1

membuat

melayani

membuat

order_barang

customer

surat_jalan

0..*

0..*

0..*

order_barang 0..*

1..*

1..1

1..1

1..*

dibuat

mengurangi

dikembalikan dari

menentukan

dilakukan

pegawai

item

retur

surat_jalan

customer

1..1

1..*

0..*

1..*

1..1

faktur 1..1

1..*

berdasarkan pada

menentukan

surat_jalan

pembayaran

1..1

1..*

surat_jalan 1..1

0..*

1..*

1..*

menentukan

dibuat

menentukan

dikurangi dari

faktur

pegawai

order_barang

item

1..1

1..1

1..1

1..*

retur 0..*

0..*

mengembalikan barang dari

menambah

order_barang

item

1..1

1..*

pembayaran 1..*

1..*

berdasarkan pada

dilakukan

faktur

customer

1..*

1..1

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

& length

Nulls Multi-

valued

item item _id Atribut unik dari item int No No

66

gauge

kode

nama_brg

harga_kode

bulat

belah

gramase1

gramase2

pot_pinggir

cost_print

special_soft

cm

warna

atas_nama

tgl_warna

stok

krg

m

hrg_warna

add

putih

gross

disc

Menunjukkan ukuran jarum

dari mesin yang dipakai

Kode barang yang terdiri

dari 7 sumber yaitu dari

benang, knitting, dyeing,

finishing, kimia, umum,

bunga

Nama dari barang

Harga tiap-tiap kode barang

Ukuran lebar kain

Ukuan kain yang dipotong

Range awal untuk berat

Range akhir untuk berat

Berapa persen yang mau

dipotong dari pinggir

Biaya-biaya tambahan

Biaya-biaya tambahan

Color matching, kode dari

warna

Nama warna

Orang yang memasukkan

warna

Tanggal pembuatan warna

Banyaknya barang yang

ada dalam stok

Ukuran kain

Ukuran kain

Harga warna

Biaya-biaya tambahan

Harga dari tiap jenis barang

sebelum di dye

Harga barang sebenarnya

Selisih antara gross dengan

hrg_satuan

int

27 char

text

currency

float

float

float

float

float

currency

currency

10 char

30 char

20 char

date

float

float

float

currency

currency

currency

currency

currency

No

No

No

No

Yes

Yes

No

No

Yes

Yes

Yes

No

No

No

No

Yes

Yes

Yes

No

Yes

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

67

hrg_satuan Harga yang ditetapkan per

kg

currency No No

customer customer_id

nama

contact

alamat

telepon

fax

kota

NPWP

Atribut unik dari customer

Nama customer /

perusahaan

Nama orang yang bisa

dihubungi

Alamat customer

Nomor telepon customer

Nomor faksimili customer

Kota tempat customer

berada

Nomor Penduduk Wajib

Pajak

12 char

30 char

20 char

text

15 char

20 char

20 char

20 char

No

No

No

No

No

No

No

Yes

No

No

No

No

Yes

Yes

No

No

pegawai peg_id

nama_peg

alamat

telepon

jns_klmn

jabatan

Atribut unik dari pegawai

Nama pegawai

Alamat dari pegawai

Nomor telepon pegawai

Jenis kelamin pegawai

Jabatan pegawai

12 char

20 char

text

15 char

1 char

20 char

No

No

No

No

No

No

No

No

No

Yes

No

No

order_barang order_id

tgl_order

app_date

del_date

jenis

kode

Atribut unik dari

order_barang

Tanggal saat surat order

dibuat

Tanggal saat surat order

diterima

Tanggal saat barang akan

dikirim

Jenis dari order

Kode barang yang terdiri

dari 7 sumber yaitu dari

benang, knitting, dyeing,

finishing, kimia, umum,

bunga

12 char

date

date

date

15 char

27 char

No

No

No

No

No

No

No

No

No

No

No

No

68

gauge

gramase1

gramase2

bulat

belah

krg

m

cm

warna

kg

putih

hrg_satuan

lama

persen

dp

esfs

berat

unit

party

status

Menunjukkan ukuran jarum

dari mesin yang dipakai

Range awal untuk berat

Range akhir untuk berat

Ukuran lebar kain

Ukuan kain yang dipotong

Ukuran kain

Ukuran kain

Kode untuk warna

Nama warna

Banyaknya barang yang

dipesan

Harga dari tiap jenis barang

sebelum di dye

Harga yang ditetapkan per

kg

Tenggang waktu

pembayaran

Denda yang kenakan jika

melewati lama

Besar uang muka yang

dibayar

Jenis pewarnaan

Jenis berat barang

Jenis ukuran yang dipakai

Dibuat untuk tujuan apa

Status dari pengiriman

int

float

float

float

float

float

float

12 char

30 char

float

currency

currency

int

float

currency

2 char (es

or fs)

5 char

(bruto 0r

netto)

5 char (cm

or inch)

10 char

(lokal,

ekspor or

lain-lain)

10 char

No

No

No

Yes

Yes

Yes

Yes

No

No

No

No

No

Yes

Yes

Yes

No

No

No

Yes

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

69

keterangan

Keterangan tambahan SO

(OK, sales,

di pos,

pending or

ditinggal)

text

Yes

No

surat_jalan krm_brg_id

kode

so_lama

tgl_sjalan

tujuan

no_polisi

nama_mobil

kg_kirim

roll

Atribut unik dari

pengiriman_barang

Kode barang yang terdiri

dari 7 sumber yaitu dari

benang, knitting, dyeing,

finishing, kimia, umum,

bunga

Atribut yang timbul karena

barang retur

Tanggal saat surat jalan

dibuat

Nama tujuan pengiriman

Atribut unik dari mobil

Nama jenis mobil yang

dipakai

Berat barang yang dikirim

Banyak roll barang

12 char

27 char

12 char

date

20 char

12 char

15 char

float

int

No

No

Yes

No

No

No

No

No

No

No

No

No

No

No

No

No

No

No

faktur faktur_id

tgl_entry

tgl_faktur

tgl_serah

tgl_ctk_fak

lokasi

dpp

ppn

jml_penj

Atribut unik dari retur

Tanggal faktur dimasukkan

Tanggal faktur dibuat

Tanggal faktur diserahkan

ke customer

Tanggal saat faktur dicetak

Nama lokasi pembuatan

faktur

Penjualan setelah pajak

Besarnya pajak

pertambahan nilai

Jumlah penjualan sebelum

12 char

date

date

date

date

10 char

currency

float

currency

No

No

No

No

No

No

Yes

No

No

No

No

No

No

No

No

No

No

No

70

pajak

retur retur_id

tgl_cet_rtr

kg_retur

roll_retur

tgl_retur

tgl_entry

jenis

keterangan

ppn

jml_penj

grand_total

Atribut unik dari retur

Tanggal retur dicetak

Berat barang yang diretur

Banyak roll barang retur

Tanggal retur dibuat

Tanggal retur dimasukkan

Jenis dari order

Keterangan tambahan untuk

retur

Besarnya pajak

pertambahan nilai

Merupakan hasil akumulasi

dari total

Total akhir yang diperoleh

dari jml_penj ditambah ppn

12 char

date

float

int

date

date

15 char

text

float

currency

currency

No

No

No

No

No

No

No

Yes

No

No

No

No

No

No

No

No

No

No

No

No

No

No

pembayaran tt_id

tgl_tt

tgl_fak_rtr

dpp

ppn

jenis_bayar

bank

no_gi_card

jatuh_tempo

tot_byr

ket_bayar

Atribut unik untuk tanda

terima

Tanggal dibuatnya tanda

terima

Tanggal faktur dibuat

Jumlah DPP

Besarnya pajak

pertambahan nilai

Cara pembayaran tagihan

Nama bank

Nomor giro atau kartu

Tanggal jatuh_tempo

Jumlah uang yang

diberikan untuk membayar

tagihan

Keterangan tentang

12 char

date

date

currency

float

5 char(atm,

nota, giro

or cash)

30 char

20 char

date

currency

text

No

No

No

No

No

No

Yes

Yes

No

No

Yes

No

No

No

No

No

No

No

No

No

No

No

71

denda

pembayaran

Denda yang harus

dibayarkan jika lewat dari

tanggal jatuh tempo

currency

Yes

No

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

kode

item_id

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

72

4.1.1.5 Validasi Transaksi User

itempegawai

order_barangretur

pembayaran

customer

1..*

1..*0..* 0..*1..1

1..*

1..*

0..*

1..1

1..1

1..11..*

mengurangi

Mengembalikanbarang dari

membuat

melayani

melakukan

melakukan

surat_jalanfaktur

0..*

1..* menambah

1..*

1..*

berdasarkan pada

1..1 1..1berdasarkan

pada

1..1

0..*

membuat

1..1

1..*

berdasarkanpada

1..*

1..*

mengurangi

a

b

c

d

e, i f

g

h

j

k

l

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~posisi telepon n~enjadi entiti 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 huhganparent dm child.

juga dikmjuTdcm bersama d q a n c m unt&

rnengkdhdasi atribut tunman tersebut. Berilnt adalah s

muz& mtuk reiasi ymg ada dalam dab 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 d i s;tlu 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, $1-

sia!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, mmasg, alsrnsl, telepm, ins-Umn, 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,

Printaq? key m i d puBh, hq-satuad; Iama, persen, dp, esfs, benf. - une party, status; keterangan)

ePlrnaw [@Elf 0rdH-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, nopl is i , nama-mmbll, kg-kilim, roll, @!-entry tglfaaktur. $hxrah,

Frimary key peg-id tgt-&K-fak, lokasi, dpp, ppn, f~m?_panj)

Psirnasl. key Bym-brg-id Famien key peg-id &rencas p e g m i (peg-Id)

post m&nrne:-ld 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,

P r h a ~ y key erstomerrid warna. putih, his_sa;eiar.. lam, penen, dp, esk, berg, snit, paw, siatus, keterangan)

Primary key order-id Fomign key rekrexzs ~ Q a w a i (peg-$) Forsign keg" wstoner-id refemcs arslomer (c*rstomer-id)

post mtcner-id untuk mod& I.' deman hubungan mlakukan

i l b w a i (peg-id, namagw, atamah Wepon, j n o r n n . customer (wstomer-id, peg-bi, nama, ccrtacl, alam~f,

jabatan) leiepn, fax, kota, N W )

Pcimary key pq-ib Pdmwjc Erqr cuslorneijd Fofdg~gn key peg-Id references pegawai (peg-id)

cusborner (wskcmer-idid, wLid, nama, corrtacl, alaM, yombayaran (Ud, @I-t?, cus:oms-id, fak-m-a, talepon, fa. kota, MIDIP) $I-hk-r&, ppn, ]enis-bayar, bank, nogiro. . jair;h_:emp. tot-byr, ket-bayar, denda:

Wmry k%y mtommAmAiid Fr~seign k y e y i d references pegwmi (peg-id) 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: m k ~ (retuiid, item-id, order-8, Ql-ctk-er, kg-re?ur,

dei-date, jeliis. peg-id, mtcmer-id,k&e, gauge, di-r@ftur tg-rehr, $I-enirf, jenis, gramasel, grarnase2, bulal, hehh, krg, m. ani kg: heterangan; ppn, :rn!geni, gmnc-total: warn. pdh, 3b-g-satuan, iama, pemn, dp, esk. berat. unit: party, &&us, keferangan) 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-iQl un@A model 1 ." dengan hwburgan menenfukan , sj-bk (km-brg-u, ilem-id, a*r-id, %Mu;-id, kode.

oam'sr-baraasg !otder-id. ifern$, $1-Mder, app-nate. so-lams, @l_sjaizn, iujuan, rtoi,&i, nan?_mabii, del-date, jenis, pzg-id, cc?stomer~i6,hode. Qawge, kg-kirirn, mil, igi-enw, $1-fakiur. $fL?erah, gramzsel, gramase2, buiat, beiah, lug, m, cm, kg, $l_dh_raic lokasi, dpp, ppn, jumigenj) wama, putih, h'9_satuan, lama, perjen, rip, es*, Dmt, unit, pam, sMus, kehrzwzn) Brimy b y km-big_ld

FomLgn key peg-ld d i e - pqawai (peg-id) primary key aordr-Id Femign hey M ~ r - i d reieiences order-barang (order-id) Foreign Grey p g _ H MEpnces m a w & (w-id) Farnun key customer-id refeencer, mstorner (wslomr-a)

3. Tipe hubwgan many to many (*.*I

8-h (km-brg-id. item-a, omer-id, fal&ir~id, kode. im (itern-id, orCer-Id, gauge, kcdc-, nama-b&, so-lama, t$-sja;an, bjwsn; no-polisi, nama-mobii, krga-We, bulat. belab, gramasel. (dnmasa2, k-Wdm, mh, Ql-enby, tg!-kMiir, $1-serah, tgl_dkk%b iokasi, dpp, ppn, juml-wnj) polginggir, mst-print spwi31-50R ~ m , warm,

r w key knn-brg-id atas-nema, @i-wr~rna, m, krg, rn, Ihrg-wzrna,

Fonign kcqv peg-id l e f e r e w s pegawai (peg-id) add, pM6, gross, disc, hw-szluani Foreign key odor-i refarems orderLkrang (order-kd)

pcimalqr hyitemid Foreign ksy m refenenccs wzrna (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~-Id refennces sLfak (Icmmbrorgid:

Fadan key i t en id rafemnces ii@m (item-id)

80

ilent (Itern-id, order-id, gage, kode, na=-bq, cder-bamng (wdei-id, item-id, tgioder app-date, del-dale, enis, m i d , msPomep-ia,kode, gauge,

hargaargakode, bulai k l a h , giamasel, g m e 2 . gmrnasel,gramse2: buhl, belah, kq, m, m, kg,

pot_pinggir, mst-print. spesiai-sun, m, warn, warn. wbh, hrg_atuan, kina, persen, dp, e&. berat, uni: party, status, keierangan)

atassname, Q.!-wama, stctok: kg, m, hmwarna,

add, pizzh, @~s, disc, hrg-sa!uan) ~ h i y key oder-td Foreign hey peg-8 referenes pegmi (p~fd)

PEBmry key .km-id Fo&gm key custom^-ki references wsbmer (mstcmer-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?ences itern (@em-,;d)

S-FiEL (h-brg-a, item-@, Falciur-id, pe&id, kode, pe*yamm (E-id, @4-t. wt3m-id. kk~P6-id, so-lane, tsi-sja!an, lujuan, no2001~, n a m o b i l : @l-F6kkriz, ppn, jenis-bayar. bank, nogim, Ikg-brim. mli, $1-me, tgl-fahuc Lgi-serah, jatuhmpo, tot-tyr: ket-bay%, hnda) tgI-d;<-fak, bkasi, dpp, ppn, juml-penj)

Pdrnrlf key Llid Primargr icey Lm-bq-E Foreign key ws@rner-id iekreras a;sforner(cusbner-S) Fw~ign hq 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 references I a k r (fa!&-id)

Foreign key fak-,*-id refewnm w ~ i (~elwt-id)

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 + special-cost + costgrint + add

disc gross - h ~ g - s a b m

Entiti order b a m g

C kmga-kode

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,

spesial_soft, cm, stok, krg, m,

add, hrg_satuan)

Primary key item_id

Foreign key cm references color_match

(cm)

color_match (cm, warna, atas_nama,

tgl_warna, hrg_warna)

Primary key cm

benang (id_benang, nama_brg,

harga_kode)

knitting (id_knitting, nama_brg,

harga_kode)

92

Primary key id_benang Primary key id_knitting

dyeing (id_dyeing, nama_brg,

harga_kode)

Primary key id_dyeing

finishing (id_finishing, nama_brg,

harga_kode)

Primary key id_finishing

kimia (id_kimia, nama_brg,

harga_kode)

Primary key id_kimia

umum (id_umum, nama_brg,

harga_kode)

Primary key id_umum

bunga (id_bunga, nama_brg,

harga_kode)

Primary key id_bunga

customer (customer_id, peg_id, nama,

contact, alamat, kota,

NPWP)

Primary key customer_id

Foreign key peg_id references pegawai

(peg_id)

telepon_cus (telepon, customer_id)

Primary key telepon

Foreign key customer_id references

customer (customer_id)

fax (fax, customer_id)

Primary key fax

Foreign key customer_id references

customer (customer_id)

pegawai (peg_id, nama_peg, alamat,

jns_klmn, jabatan)

Primary key peg_id

telepon_peg (telepon, peg_id)

Primary key telepon

Foreign key peg_id references pegawai

(peg_id)

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)

Foreign key peg_id references pegawai

(peg_id)

order_detail (order_id, item_id, kg)

Primary key order_id, item_id

Foreign key order_id references

order_barang (order_id)

Foreign key item_id references item

(item_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 krm_brg_id

Foreign key order_id references

order_barang (order_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)

Primary key item_id, krm_brg_id

Foreign key item_id references item

(item_id)

Foreign key krm_brg_id references

surat_jalan (krm_brg_id)

byr_detail (tt_id, faktur_id,

tgl_faktur)

Primary key tt_id, faktur_id

Foreign key tt_id references pembayaran

(tt_id)

Foreign key faktur_id references sj_fak

(faktur_id)

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)

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)

retur_detail (retur_id, item_id,

kg_retur, roll_retur)

Primary key retur_id, item_id

Foreign key retur_id references retur

(retur_id)

mobil (no_polisi, nama_mobil)

Primary key no_polisi

4.1.2.6 Model Diagram Relasiand GIabai

Gmbar 4.9 Model Diagrm Relasio~al Global 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

a b c d Transaksi /

relasi I R U D I R U D I R U D I R U D

order_barang x

order_detail x

customer x x x

telepon_cus x

fax x

pegawai x

telepon_peg 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 x

mobil

I = Insert U = Update R = Read D = Delete

110

Tabel 4.7 referensi silang transaksi (lanjutan)

e f g h Transaksi /

relasi I R U D I R U D I R U D I R U D

order_barang x x

order_detail x

customer 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

retur x

retur_detail x

faktur x

mobil x x

I = Insert U = Update R = Read D = Delete

111

Tabel 4.7 referensi silang transaksi (lanjutan)

i j k l Transaksi /

relasi I R U D I R U D I R U D I R U D

order_barang x

order_detail x

customer x x x x

telepon_cus

fax

pegawai x x x

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 x

mobil x x x

I = Insert U = Update R = Read D = Delete

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 MySQL 4.1

Platform Berbasiskan windows, seperti Windows

9x,Windows NT, Windows 2000 and

Windows CE

Di semua platform seperti Windows-

based platforms, AIX-based systems,

HP-UX systems, Linux Intel, Sun

Solaris dan lainnya

Kebutuhan

Hardware

Butuh resource haedware yang lebih

besar. Berikut adalah perinciannya.

Processor Pentium 166 MHz or higher

Memory

32 MB RAM (minimum for Desktop Engine),64 MB RAM (minimum for all other editions),128 MB RAM or more recommended

Hard disk space

270 MB (full installation),250 MB (typical),95 MB (minimum),Desktop Engine: 44 MBAnalysis Services: 50 MB minimum and 130 MB typical English Query: 80 MB

Mysql menggunakan resource

hardware yang lebih sedikit. Untuk

menginstal Mysql membutuhkan

kurang lebih 32 MB RAM dan 60 MB

kapasitas hard disk.

Kebutuhan Berikut adalah kebutuhan software dari Berikut adalah kebutuhan software dari

115

Software SQL server 2000 yang terdiri dari 6

edisi.

Operating System

Enterprise Edition

Standard Edition

Personal Edition

Windows CE No No No

Windows 9x No No Yes

Windows NT 4.0 Workstation with Service Pack 5

No No Yes

Windows NT 4.0 Server with Service Pack 5

Yes Yes Yes

Windows NT 4.0 Server Enterprise Edition with Service Pack 5

Yes Yes Yes

Windows 2000 Professional

No No Yes

Windows 2000 Server

Yes Yes Yes

Windows 2000 Advanced Server

Yes Yes Yes

Windows 2000 DataCenter

Yes Yes Yes

Windows No No Yes

Mysql

Platform Operating System Version

Windows-based Windows 95/98/NT/2000/XP/2003

Sun Solaris Solaris 8 (SPARC)

FreeBSD FreeBSD 4.x (x86)

Mac OS X Mac OS X v10.2

HP-UX

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-Based

AIX 5.1 (RS6000), AIX 4.3.2 (RS6000), AIX 4.3.3 (RS6000)

QNX QNX 6.2.1 (x86) SGI Irix SGI Irix 6.5

Dec OSF Dec OSF 5.1 (Alpha)

116

XP Professional

Operating System

Developer Edition

Desktop Engine

SQL Server CE

Windows CE No No Yes

Windows 9x No Yes No

Windows NT 4.0 Workstation with Service Pack 5

Yes Yes No

Windows NT 4.0 Server with Service Pack 5

Yes Yes No

Windows NT 4.0 Server Enterprise Edition with Service Pack 5

Yes Yes No

Windows 2000 Professional

Yes Yes No

Windows 2000 Server

Yes Yes No

Windows 2000 Advanced Server

Yes Yes No

Windows 2000 DataCenter

Yes Yes No

117

Windows XP Professional

Yes Yes No

Harga Ada 2 jenis license dari SQL server

yaitu processor license dan server / per

seat client access license (CAL).

Processor license digunakan untuk tiap

CPU dan akses client tidak terbatas.

Processor license lebih murah dari

CAL.

Server / CAL digunakan untuk server

dan tiap client dibatasi.

Licensing Options

SQL Server 2000 Standard Edition

SQL Server 2000 Enterprise Edition

Processor $4,999 per processor

$19,999 per processor

Server/Per-Seat CAL

with 5 CALs - $1,489 with 10 CALs - $2,249

with 25 CALs - $11,099

MySQL memiliki 2 license yaitu

MySQL software sebagai open source /

Free software dari GNU General

Public License atau standard

commercial license dari MySQL AB.

MySQL AB license nya untuk tiap

database server. Berikut adalah

harganya

Number of licenses

Price per copy (EUR)

Price per copy (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

500 + ask for quote, [email protected]

Limitation

berdasarkan

Feature SQL Server 2000 MySQL v4.1 column name length 128 64 index name length 128 64 table name length 128 64 max indexes per table 250 32 index length 900 1024 max index column length 900 255 columns per index 16 16 max char() size 8000 1048543 max varchar() size 8000 1048543 max blob size 2147483647 1048543 max number of columns in GROUP BY

Limited only by number of bytes (8060) 64

max number of columns in Limited only by number of 64

118

ORDER BY bytes (8060) tables per SELECT statement 256 31

max columns per table 1024 2599 max table row length 8036 65534 longest SQL statement 16777216 1048574 constant string size in SELECT 16777207 1048565

T-SQL

dengan

MySQL

dialect

Feature T-SQL MySQL dialect

Views

General Views, Indexed Views, Distributed Partitioned Views

Not Supported

Triggers AFTER triggers, INSTEAD OF triggers Not Supported

Stored Procedures T-SQL statements Not Supported

User-defined functions

Scalar functions, Inline table-valued functions, Multistatement table-valued functions

C, C++ external libraries

Foreign Keys Supported Supported for only InnoDB tables

Cursors Supported Not Supported Arrays Not Supported Supported

Keuntungan • Secara umum diterima karena

mudah diinstal, udah dipakai dan

diatur.

• Bahasa Transact-SQL lebih

powerful dibanding MySQL

dialect.

• Dapat men support platform lain

tidak hanya berdasarkan platform

windows.

• 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

total per tahun (30

hari x 12 bulan)

(dalam bytes)

entiti keterangan Ukuran

tiap satu

record

(bytes) data index

data + index

item Diperkirakan setiap

harinya memiliki 120

transaksi

95 4104000 3072 4107072

color_match Diperkirakan setiap

harinya memiliki 120

transaksi

78 3369600 5120 3374720

customer Diperkirakan setiap

tahunnya memiliki 50

transaksi. Dengan asumsi

isi dari atribut text

sepanjang 30 character

116 5800 4096 9896

telepon_cus Dengan asumsi tiap

customer rata-rata

memiliki 2 nomor. Tiap

tahunnya terdapat 50

transaksi

28 2800 2048 4848

fax Dengan asumsi tiap

customer rata-rata

memiliki 2 nomor. Tiap

tahunnya terdapat 50

transaksi

28 2800 2048 4848

pegawai Diperkirakan setiap

tahunnya memiliki 20

60 2400 3072 5472

120

transaksi. Dengan asumsi

isi dari atribut text

sepanjang 30 character

telepon_peg Dengan asumsi tiap

customer rata-rata

memiliki 2 nomor. Tiap

tahunnya terdapat 20

transaksi

28 1120 2048 3168

order_barang Diperkirakan setiap

harinya memiliki 20

transaksi. Dengan asumsi

isi dari atribut text

sepanjang 20 character

104 748800 3072 751872

order_detail Diperkirakan setiap

harinya memiliki 20

transaksi.

25 180000 5120 185120

sj_fak Diperkirakan setiap

tahunnya memiliki 60

transaksi.

117 2527200 5120 2532320

kirim_detail Diperkirakan setiap

harinya memiliki 60

transaksi.

35 756000 5120 761120

pembayaran Diperkirakan setiap

harinya memiliki 30

transaksi. Dengan asumsi

isi dari atribut text

sepanjang 20 character

84 907200 3072 910272

bayar_detail Diperkirakan setiap

harinya memiliki 30

transaksi.

32 345600 5120 350720

retur Diperkirakan setiap

harinya memiliki 10

transaksi. Dengan asumsi

isi dari atribut text

56 201600 3072 204672

121

sepanjang 20 character

retur_detail Dengan asumsi isi dari

atribut text sepanjang 10

character

37 133200 5120 143440

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

Read record Search data Insert recordorder

Calculate totalitem Show detail

Select data

Dataorder

Nomororder

Dataorder

Selectnomororder

Readrecord

Showrecord

Nomororder Select

dataDataorder

Dataorder

Insertrecorditem

inputorder

Dataorder

Validate Updaterecord

Deleterecord

Yes /No

Updatedata Data

detail Deletedata

Datadetail

Showprinting

inputitem

Dataitem

DataorderData

item

Dataprinting

Datadetail

Datadetail

Validateprinting

Printdata

Yes /No

Dataprinting

Gambar 4.10 Structure chart proses order

123

Proses suratjalan

Insert recordsurat jalan

Selectnomor order

Generatedata

Insert recordkg & roll

Updaterecord stok

Readrecord

Showrecord

Selectdata

Dataorder

Dataorder

Showprinting

Validateprinting

Printdata

Yes /No

Dataprinting

Insert data

Datasuratjalan

Nomororder

Selectdata

Dataorder

Insertkg & roll

Datakg & roll

UpdatestokData

stok

Datasuratjalan

Dataprinting

Gambar 4.11 Structure chart proses surat jalan

124

Proses Faktur

Selectnomor surat

jalan

Generatedata Insert record Calculate

data

Readrecord

Showrecord

Selectdata

Datasuratjalan

Datasuratjalan

Showprinting

Validateprinting

Printdata

Yes /No

Dataprinting

Selectdata

Datasuratjalan

Insertdatafaktur

Datafaktur

Hargasatuan,

kg

Total, hargajual, dasarkena pajak,

ppn, dpp

Datafaktur

Dataprinting

Nomorsuratjalan

Gambar 4.12 Structure chart proses faktur

125

Proses Retur

Selectnomor order

Generatedata Insert record Calculate

data

Readrecord

Showrecord

Selectdata

Dataorder

Dataorder

Showprinting

Validateprinting

Printdata

Yes /No

Dataprinting

Selectdata

Dataorder

Insertdataretur

Dataretur

Hargasatuan,

kg

Dasar kenapajak, ppn,

dpp

Dataretur

Dataprinting

Nomororder

Gambar 4.13 Structure chart proses retur

126

Prosespembayaran

Selectnomor

customer

Generatedata Insert record Calculate

data

Readrecord

Showrecord

Selectdata

Selectdata

Datasurat jalan,order, faktur

Insert datapembayaran

Datapembayaran

Total

Nomorcustomer

Datasurat jalan,order, faktur

Datasurat jalan,order, faktur

Hargafaktur &

retur

Updaterecord stok

Showprinting

Validateprinting

Printdata

Yes /No

Dataprinting

Updatestok

Datastok

Dataprinting

Datapembayaran

Gambar 4.14 Structure chart proses pembayaran

pembayaran \\\ a customer

1 lnsert record

7 ? o\n9 1. d S h u ~ i '

record I I I i 1 1 nama 1

4.15 StmGture chart data customer

Data pegawai 1 .,'

Gmbx 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 j I

I TampJkan kerntali I I I

halaman login

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 4 M e r w =mi Jdan ' 1 1 I Kembli ke M a m n Menu

Pikh OK Tampilkan halaman

t deta sutilt Jalan r- 7- 7 I I

A I

1 MenuFaMw List No. Sirrat

i I Menu Fakiur

i Prn OK Tampilkan ha%man &ti1 Retw I

I / WlenuRetor rpq lk4 No. M e r

. a J 1

i 1 I + Cancel Kembafi ke habman Menu FaMor

Aih Submii

I / Meogubah Retw meFjadi i Hahman deiii 1 Pembayaran

Re:ur I

I Piiih generate

Menu Pemhayaran

PB~I subma Mengubah Fletur menjad

Submit 1

1 i

Pirth back Kernbali Ire Maman detil Pembkdaran

Gafllbar 4.25 STD Itdarnan pembayvan

ID atau berdasarkan nama)

Nwv Cuitcmer

Tampilkzn halaman pngisian data custcmer bani

I

Piliii Search Tampilkan iist barang (biia berdasatkan ID atau 1 1 berdasarkan mma barang)

Menu lmntory 1

Pilih Seanh Tzrnpiikan liit cusfomer (Ksa berdasarkan I

I ID *tau bem¶asar%an nama pegawai) Search

i

I 1 Menu Pegavai 'J I

! i Input Pegawai _ I ' Pilih M e m LnDut Penawai Earn Baru

Tampilkan k&rnan-pngiskn data pegawai hem

/ Mcmr input j I PegaWi k r u i Wih Confirm

Confirm L I

I 7 Menu Pegawai

, / Menyimpan data pagawaij i baru

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'~our Username 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 : I ' YRm:L I i [u:

KG: I W M : Add: Tbal :

Gambar 4.30 mmngan input hdam new ordw

Jenis: n x c a x Aapoye Dab: m-~l-13( Llaery : mx-xx-rr

I I D e w : x m - r n Ssks: rmri-

i Lana: a I* Dada:& C E x

G n s s : n m D'm:axnx T-I : n;rux

-- I C s w : u M&:n M : x %,?lase: x - x

M : -*. nmr W3LOXcXXam:

-

Eanmbar 4.31 bncmgan input Maman detg surat order

1 --

1 m n a - F ' W B G ~ ~ V i

h ~ - S ~ a t J a l M - F ~ - R & - P e m ~ m

Scar@ J* bd i

I !

No.Sirrai J a b : T a m : xx-xx-nrr Sjao-

I

L

I T ~ ~ : ' MOM: 'fl am: / man:- 7 j

I I I

- 2

-bar 4.32 Rancangm input halaman st~ratjalan

T & m r = r u x MOM mmoar Sop:: ma-mmn %bimarmu

k k -- ---

ar 4.33 lhcangan input detif surat jdan

I No. Swat Jam: /- - 1

A I

I --- I i

I I

I

I I I I

NO. Fda: FlOorns;axrmax T a ~ l F a L h l ; - r r - x r - n u

No. Smt J~I~D-

iaw&calmTY: /F/-il Cuilmer : ClaDcrn.00murrx IIw: TxXI.Xm.TUM

sale..romm-rmnam .I-.a..amm irnagal Ssra'1:

i : 'M 1 Lzma:nhaii 3enda:xB D P x ---

Raeur

No. Ra:. RTxrjaroaoouua, i a m ! V x r - x x - r m

Garnbar 4.36 Rancangan input halaman r&

I

Retur I

I No. R e r : R T m n a r a n n T w d : r x - u - x m I

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

u No CeL l (ilm 1 1 Jam Tempo Ce*ICha I?,- - I

w

Gmbar 4.40 bcaogan input customer

ci*ner-mWmd- lrwe Hme-omei- -.,.an . d R F m b s y a r a n

i n w new cuotmar

H a m a C u N m n - / / 1 Contact PRILl, :

, A m a t : 1-

x 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 1 K a m a F z r m s u I *at JBMs Kemmin &batan TdepoO

i arm---

- - 1

i L 1

I 1

Gamba 4.44 Rrancmgm input halarntasl input pegawai baru

148

Sales Order

No SO : xxxxxxxxxxxx

Customer :

Alamat :

Jenis Order :

Tgl Order :

Delivery :

Keterangan :

xxxxxxxxxxxxx

xxxxxxxxxxxxx

xxxxxxxxxxxxx

dd-mm-yyyy

dd-mm-yyyy

xxxxxxxxxxxxx

Lama Bayar :

Bunga :

Party :

Berat : xxxxxxxxxxxxx

xxxxxxxxxxxxx

99

99

hari

%

Nama Barang GramaseColor Matching

Color Approvaljumlah (kg) Harga Jual

Dye Putih

Harga cash(per kg)

xxxxxxxxxxxxx 999 - 999 xxxxxxxdd/mm/yyyy

xxxxxxx 9999.99 9999 99999 99999

999 - 999 xxxxxxxdd/mm/yyyy

xxxxxxx 9999.99 9999 99999 99999

__________, dd mm yyyy

PEMBELI

( )

PENJUAL

( )Control Dept.

( )Sales Dept.

Kode sales : xxxxxxxxxxxx

xxxxxxx

Gambar 4.45 Rancangan output surat order

Nama I No mu: xxxxxxx I xr 9999 xr supir .XILlXXXX I XLKXxiX

TOT& : 99 5999.55

SUPIR ADY. PENJ

e m b a r 4.46 R a n w g m output wrat jalan

Fakbr Penjmian NO SO : mmma

NO :awa : mnnxm~u N O S : X X X X n r X U U X

Nana m. JWTM

Alens : J1. Raya Fasa- Kernis D s a Gem&: T m

N W 01.12D.43?.0.4SZOW

T $ ~ k u l a n W : ZZA&isf989

Tgi Kiiim I went% : d d l l m / w

WmMi B a r

Kode - Kode WPS :XXXXXXXXXXU

Nama ~ a ~ ~ m a ~ a (

A l a d P

NPIW q.xxx.xxx.xm.xx

i 3 Nama Siw j W m 1 Rdl / KG 1 Hawsdm! / Heigajilal

L! ADM SALES

i

Gambar 4.47 EPancangan output hktur

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 1 Roil / KG 1 ttarga Satuan 1 Total I

i Dasar Rngonaan Pajak 1 99989999 { PPN = $0 % X Daser Pengenaan Pajak I _.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 : x m x x m

Bank - No celr I g b s?B99999999

Jatuh tempo girolce5i : a6 mm 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.