• Tidak ada hasil yang ditemukan

BAB 4 RANCANGAN SISTEM YANG DIUSULKAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 4 RANCANGAN SISTEM YANG DIUSULKAN"

Copied!
170
0
0

Teks penuh

(1)

104

BAB 4

RANCANGAN SISTEM YANG DIUSULKAN

4.1 Tata Laksana yang dirancang

Rancangan tata laksana pada PT. Solusi Corporindo Teknologi adalah sebagai berikut:

4.1.1 Tata Laksana Penjualan

Pelanggan yang tertarik dan ingin membeli barang dapat datang secara langsung ke kantor, via telepon. Sebelumnya pelanggan harus mendaftar terlebih dahulu, apabila pelanggan sudah pernah membeli barang sebelumnya maka bisa langsung mengisi SO (sales order) dan diberikan kepada kasir, apabila pelanggan baru pertama kali membeli barang maka pelanggan mendaftar terlebih dahulu ke admin. Admin akan menyimpan data pelanggan ke dalam database pelanggan. Setelah mendapat SO maka kasir akan mengecek ketersediaan barang, setelah itu kasir akan melayani pembayaran oleh pelanggan. Pelanggan dapat membayar melalui dua cara secara tunai ataupun kredit, bila membayar secara kredit pelanggan diwajibkan membayar uang muka sebesar 50% dan sisanya dilunaskan sebelum tanggal jatuh tempo. Setelah selesai melakukan pembayaran kemudian kasir mencetak faktur penjualan sebagai tanda bahwa pelanggan telah membayar. Kemudian kasir juga memberikan surat jalan kepada teknisi untuk mengantar barang tersebut ke tempat tujuan. Kasir juga memberikan SO sebagai daftar barang yang ingin diantar ke bagian gudang, bagian gudang akan memuat barang yang akan diantar kedalam mobil. Kemudian teknisi pergi ke lokasi yang telah ditentukan

(2)

oleh pelanggan. Setelah tiba di lokasi maka teknisi akan memasang barang tersebut, install software yang diperlukan, dan memberi pelatihan kepada semua karyawan milik pelanggan mengenai cara penggunaan alat absensi/alat akses pintu tersebut. Setelah selesai maka pelanggan akan menandatangani surat jalan yang telah dibawa oleh teknisi sebagai tanda bahwa barang telah diterima. Apabila ternyata barang yang dikirim oleh teknisi rusak saat masih ada garansi maka pelanggan dapat meretur barang tersebut.

4.1.2 Tata Laksana Pembelian

Bila stok barang sudah mencapai jumlah minimum untuk reorder, maka bagian gudang pembelian akan membuat purchase order (PO) yang kemudian dikirim ke supplier. Setelah menerima purchase order maka pemasok akan mengirim barang yang dipesan ke perusahaan, barang yang dikirim oleh supplier harus dalam keadaan baru dan tersegel. Kemudian pihak supplier akan memberikan tagihan kepada kasir untuk mengurusi pembayaran terhadap supplier, kemudian kasir akan menambah jumlah tagihan ke dalam jumlah hutang mereka, bila tanggal tagihan pembayaran terhadap supplier belum jatuh tempo maka kasir tidak melakukan pembayaran terhadap supplier, bila telah jatuh tempo maka kasir akan melakukan pembayaran terhadap supplier dan mencetak bukti pembayaran yang kemudian diserahkan ke supplier, setelah itu kasir akan mengupdate jumlah hutang mereka terhadap supplier.

(3)

4.1.3 Tata Laksana Persediaan Barang

Setelah barang diterima maka bagian gudang persediaan akan mengecek apakah barang yang diterima sesuai dengan invoice serta mengecek kondisi barang dalam keadaan tersegel dan baru serta sesuai dengan yang dipesan. Apabila ditemukan barang yang tidak baik dan tidak sesuai dengan yang seharusnya maka barang tersebut dikembalikan ke supplier. Bagian gudang persediaan akan menyimpan barang yang telah dibeli dalam gudang dan mengupdate stok barang. Setelah itu bagian gudang persediaan akan mengecek adanya stok barang yang sudah menipis, jika ditemukan stok barang yang sudah menipis maka bagian gudang persediaan akan memberitahu bagian pembelian.

4.1.4 Tata Laksana Retur Penjualan

Jika barang yang diterima pelanggan tidak sesuai dengan pesanan mungkin karena rusak dan lain hal, maka bagian pemasaran akan menerima retur penjualan dan barang dari pelanggan. Barang dan retur penjualan akan dicek oleh sales dengan melihat status garansi barang tersebut, jika masa garansi telah jatuh tempo maka klaim akan ditolak, tetapi bila masih dalam masa garansi kemudian akan di cek kondisi barang apakah dalam keadaan rusak atau tidak. Bila status barang tidak rusak atau hanya karena ada salah pengunaan dan sebagainya maka dianggap tidak ada kerusakan, bila ternyata memang terbukti rusak maka barang akan didistribusikan ke bagian persediaan. Kemudian bagian kasir akan membuat surat retur penjualan kemudian mengecek ketersediaan barang pengganti untuk diberikan ke pelanggan. Jika

(4)

barang yang diinginkan masih tersedia dalam gudang maka barang akan di-pack dan dikirim ke pelanggan bersama dengan faktur yang telah tercetak. Jika barang pengganti tidak tersedia maka bagian kasir akan memberi tahu bagian pembelian untuk melakukan pembelian barang. Sistem aplikasi akan secara otomatis mengupdate stok barang.

4.1.5 Tata Laksana Retur Pembelian

Apabila ada barang yang rusak yang telah diretur oleh pelanggan maka akan dikembalikan ke supplier, sebelumnya bagian pembelian menerima surat retur penjualan sebagai sumber informasi atas pengembalian barang dari pelanggan kemudian bagian gudang pembelian akan mencetak surat retur pembelian berdasarkan barang yang rusak dan menyerahkannya ke bagian supplier. Setelah surat retur pembelian beserta barang yang rusak sampai ke supplier, supplier akan mengirimkan barang pengganti ke perusahaan dan di terima oleh bagian gudang persediaan. Bagian gudang persediaan akan menerima barang kemudian melakukan pengecekan terhadap barang yang diberikan supplier, bila barang yang diterima tidak baik dan tidak sesuai maka akan dikembalikan ke supplier, bila sesuai maka sistem aplikasi akan secara otomatis mengupdate stok barang.

(5)

4.2 Diagram aliran data 4.2.1 Diagram Context

(6)

4.2.2 Diagram Nol

(7)

4.2.3 Diagram Rinci

4.2.3.1 Diagram rinci melakukan pendaftaran

Gambar 4.3 Diagram rinci melakukan pendaftaran

4.2.3.2 Diagram rinci penjualan barang

(8)

4.2.3.3 Diagram rinci pembelian barang

Gambar 4.5 Diagram melakukan pembelian barang

4.2.3.4 Diagram rinci retur pembelian

(9)

4.2.3.5 Diagram rinci retur penjualan

Gambar 4.7 Diagram rinci retur penjualan

4.2.3.6 Diagram rinci pembuatan laporan

(10)

4.3 Database Planning 4.3.1 Mission Statement

Mission statement pada PT.Solusi Corporindo Teknologi adalah untuk merancang , mengelola, dan memelihara data yang dibutuhkan mengenai pelanggan, karyawan, supplier, dan barang serta proses bisnis yang berlangsung dalam perusahaan sehingga memudahkan kegiatan pembelian, persediaan, dan penjualan perusahaan.

4.3.2 Mission Objective

Apabila Mission statement telah didefinisikan, maka mission objectives pun harus didefiniskan. Setiap tujuan harus mengidentifikasikan tugas khusus yang harus didukung oleh database.

Mission objectives :

9 Mengelola (insert, update, delete,save) pada barang 9 Mengelola (insert, update, delete,save) pada karyawan 9 Mengelola (insert, update, delete,save) pada pelanggan 9 Mengelola (insert, update, delete,save) pada supplier 9 Mengelola (insert, update, delete,print) pada penjualan 9 Mengelola (insert, update, delete,save) pada pembelian 9 Mengelola (insert, update, delete,save) pada retur pembelian 9 Mengelola (insert, update, delete,save) pada retur penjualan 9 Mengelola (insert, update, delete) pada laporan penjualan 9 Mengelola (insert, update, delete) pada laporan pembelian 9 Menampilkan barang

(11)

9 Menampilkan karyawan 9 Menampilkan pelanggan 9 Menampilkan supplier 9 Menampilkan penjualan 9 Menampilkan pembelian 9 Menampilkan retur pembelian 9 Menampilkan retur penjualan 9 Menampilkan laporan penjualan 9 Menampilkan laporan pembelian 9 Menampilkan laporan persediaan 9 Membuat laporan penjualan 9 Membuat laporan pembelian 9 Membuat laporan persediaan 9 Melakukan pencarian pada barang 9 Melakukan pencarian pada pelanggan

9 Melakukan pencarian pada laporan penjualan 9 Melakukan pencarian pada laporan pembelian 9 Melakukan pencarian pada retur pembelian 9 Melakukan pencarian pada retur penjualan 9 Melakukan pencarian pada laporan persediaan

(12)

4.4 System Definition

Gambar 4.9 System Definition Penjelasan :

Pada system definition menggambarkan batasan sistem terhadap user yang berhubungan dengan sistem. Lingkungan internal perusahaan terdiri dari pembelian, persediaan dan penjualan. Dimana karyawan berhubungan dengan penjualan dan pembelian, lalu supplier berhubungan dengan pembelian dan persediaan, pelanggan berhubungan dengan penjualan , direktur menerima laporan pembelian, persediaan dan penjualan.

(13)

4.5 Requirement Collection And Analysis 4.5.1 Data Requirement

1 . Barang

Informasi yang berisi tentang data barang yang dijual dan stock barang tersebut.

2. Penjualan

Informasi yang berisi tentang penjualan yang telah dilakukan oleh pelanggan. 3. Pembelian

Informasi yang berisi tentang pembelian yang telah dilakukan oleh perusahaan.

4. Karyawan

Informasi yang berisi tentang data karyawan. 5. Supplier

Informasi yang berisi tentang data supplier. 6. Pelanggan

Informasi yang berisi tentang data pelanggan. 7. Retur pembelian

Informasi yang berisi tentang barang yang dikembalikan kepada supplier. 8. Retur penjualan

(14)

4.5.2 Transaction Requirement Data entry

M emasukkan detail data untuk barang M emasukkan detail data untuk karyawan M emasukkan detail data untuk pelanggan M emasukkan detail data untuk supplier M emasukkan detail data untuk penjualan M emasukkan detail data untuk pembelian M emasukkan detail data untuk retur pembelian M emasukkan detail data untuk retur penjualan M emasukkan detail data untuk laporan pembelian M emasukkan detail data untuk laporan penjualan M emasukkan detail data untuk laporan persediaan

Data Update / Deletion

Update / Deletion detail data untuk barang Update / Deletion detail data untuk karyawan Update / Deletion detail data untuk pelanggan Update / Deletion detail data untuk supplier Update / Deletion detail data untuk penjualan Update / Deletion detail data untuk pembelian Update / Deletion detail data untuk retur pembelian Update / Deletion detail data untuk retur penjualan Update / Deletion detail data untuk laporan pembelian

(15)

Update / Deletion detail data untuk laporan penjualan Update / Deletion detal data untuk laporan persediaan

4.6 Perancangan Database

Perancangan database merupakan proses pembuatan suatu rancangan untuk suatu database yang akan mendukung operasi dan tujuan perusahaan. Perancangan database terdiri dari tiga tahapan, yaitu: perancangan database konseptual, perancangan database logical dan perancangan database fisikal. Berikut tahapan-tahapan perancangan database yang diusulkan untuk membantu memecahkan masalah yang dihadapi oleh perusahaan.

4.6.1 Perancangan Database Konseptual

Perancangan database secara konseptual yaitu proses membangun suatu model informasi yang digunakan dalam suatu perusahaan, bebas dari semua pertimbangan fisik.

4.6.1.1 Mengidentifikasikan Tipe Entiti T abel 4.1 Identifikasi T ipe Entiti

Nama Entiti Deskripsi Entiti Alias Kejadian Karyawan

Pelanggan

Supplier

M erupakan entiti yang berisi data karyawan

M erupakan entiti yang berisi data pelanggan

M erupakan entiti yang berisi data supplier

Pegawai

Customer

Penyuplai

Tiap karyawan memiliki jabatan dan tugas yang berbeda.

Tiap pelanggan dapat memesan satu atau banyak barang.

Tiap transaksi pembelian dapat memesan satu atau banyak

(16)

Barang

Penjualan

Retur_penjualan

Pembelian

M erupakan entiti yang berisi informasi tentang stok dan status dari barang.

M erupakan entiti yang berisi informasi tentang barang yang

dipesan oleh pelanggan. Dan M erupakan entiti yang

berisi informasi

tentang tagihan penjualan yang dilakukan perusahaan.

M erupakan entiti yang berisi tentang data

barang yang dikembalikan oleh pelanggan.

M erupakan entiti yang berisi informasi tentang barang yang akan dibeli oleh perusahaan. Dan M erupakan entiti yang berisi informasi

Produk

barang dari supplier

Barang dibeli dari supplier dan dijual ke banyak pelanggan

Tiap pelanggan melakukan satu atau lebih pemesanan barang. Pesanan diterima oleh kasir

Penjualan dilakukan oleh karyawan bagian penjualan. Setiap penjualan diterima oleh satu pelanggan. Tiap penjualan berisi satu atau banyak barang.

Tiap pelanggan dapat melakukan satu atau banyak pengembalian barang sesuai dengan garansi. Pengembalian akan diterima oleh satu orang karyawan.

Karyawan bagian persediaan melakukan pemesanan barang. Pesanan diterima oleh supplier. Supplier mengirim pembelian dan pembelian diterima oleh karyawan.

(17)

Retur_pembelian

tentang tagihan pembelian yang diterima perusahaan.

M erupakan entiti yang berisi tentang data

barang yang dikembalikan ke supplier

Tiap pembelian berisi satu atau banyak barang.

Supplier menerima pengembalian barang dari

perusahaan yang dilakukan oleh satu orang karyawan.

(18)

4.6.1.2 Mengidentifikasikan Tipe Relasional

(19)

T abel 4.2 Pembatasan Multiplicity

Nama Entiti Multiplicity Relasional Nama Entiti Multiplicity Karyawan Pelanggan Supplier Pembelian Retur Pembelian Penjualan Retur Penjualan 1..1 1..1 1..1 1..1 1..1 1..1 1..1 1..* 1..* 1..1 1..1 1..1 1..* 1..* 1..* 1..* 1..1 1..1 1..1 1..* 1..* M emberikan M enerima M enerima M enerima M emberikan M enerima M enerima M enerima M enambah M enerima Menurut M emberikan M enurut M enambah M elakukan M emberikan M enurut M enerima M engurangi M engurangi Menurut Pembelian Penjualan Retur_penjualan Barang Penjualan Barang Barang Pembelian Barang Supplier Retur pembelian Karyawan Pembelian Barang Karyawan Pelanggan Retur penjualan Karyawan Barang Barang Penjualan 0..* 0..* 0..* 0..* 1..* 1..* 0..* 1..* 1..* 1..* 1..* 1..* 1..1 1..* 1..1 1..1 1..* 1..1 1..* 1..* 1..1

(20)

0..* M enerima Karyawan 1..1

4.6.1.3 Mengidentifikasi dan Asosiasi Atribut Suatu Entiti T abel 4.3 Asosiasi Atribut Barang

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Barang kdbarang namabarang jenisbarang jumlah harga rop hargajual Kode barang Nama Barang Jenis Barang Jumlah Barang Harga Beli ROP Harga Jual Varchar (10) Varchar (100) Varchar (10) Int Int Int Int No Yes Yes Yes Yes Yes Yes No No No No No No No

T abel 4.4 Asosiasi Atribut Karyawan

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Karyawan kdkaryawan namakaryawan jabatan alamat Kode karyawan Nama karyawan Jabatan Alamat karyawan Varchar (10) Varchar (50) Varchar (20) Varchar (100) No Yes Yes Yes No No No No

(21)

T abel 4.5 Asosiasi Atribut Pelanggan

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Pelanggan kdpelanggan namapelanggan alamat notelepon fax email Kode pelanggan Nama pelanggan Alamat pelanggan No telp pelanggan No fax pelanggan Email pelanggan Varchar (10) Varchar (50) Varchar (100) Int Int Varchar (50) Yes Yes Yes Yes Yes Yes No No No Yes No No

T abel 4.6 Asosiasi Atribut Pembelian notelepon gaji password No telp karyawan Gaji karyawan Password karyawan Int Int Varchar (20) Yes Yes Yes Yes No No

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Pembelian kdpembelian kdkaryawan kdsupplier nofakturpembelian Kode pembelian Kode karyawan Kode supplier No faktur pembelian Varchar (10) Varchar (10) Varchar (10) Varchar (20) No Yes Yes Yes No No No No

(22)

T abel 4.7 Asosiasi Atribut Penjualan

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Penjualan kdpenjualan kdkaryawan kdpelanggan grandtotal tanggal tipe tanggaljatuhtempo Kode penjualan Kode karyawan Kode pelanggan Total harga Tanggal penjualan Tipe barang Tanggal jatuh tempo kredit Varchar (10) Varchar (10) Varchar (10) Numeric Datetime Varchar (10) Datetime No Yes Yes Yes Yes Yes Yes No No No No No No No

T abel 4.8 Asosiasi Atribut Returpembelian

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Returpembelian kdreturpembelian kdsupplier tanggal

Kode retur pembelian Kode supplier Tanggal retur Varchar (10) Varchar (10) Datetime No Yes Yes No No No grandtotal tanggal Total harga Tanggal pembelian Numeric Datetime Yes Yes No No

(23)

kdkaryawan status kdpembelian pembelian Kode karyawan Status retur pembelian Kode pembelian Varchar (10) Varchar (10) Varchar (10) Yes Yes Yes No No No

T abel 4.9 Asosiasi Atribut Returpenjualan

Nama Entiti Atribut Deskripsi Tipe data dan length Nulls M ulti valued Returpenjualan kdreturpenjualan kdpelanggan tanggal kdkaryawan status kdpenjualan

Kode retur penjualan Kode pelanggan Tanggal retur penjualan Kode karyawan Status retur penjualan Kode penjualan Varchar (10) Varchar (10) Datetime Varchar (10) Varchar (10) Varchar (10) Yes Yes Yes Yes Yes Yes No No No No No No

(24)

T abel 4.10 Asosiasi Atribut Supplier

4.6.1.4 Penentuan Domain Atribut Nama Entitas : Barang

T abel 4.11 Entitas barang

Atribut Domain Value

Kdbarang Range Value B-0000 - B-9999 Namabarang Range Value A-Z, a-z, 0-9 Jenisbarang Range Value A-Z, a-z

Jumlah Range Value 1-99999999

Harga Range Value 1-99999999

Rop Range Value 1-99999999

Hargajual Range Value 1-99999999 Nama

Entiti

Atribut Deskripsi Tipe data dan length Nulls M ulti valued Supplier kdsupplier namasupplier alamat notelepon fax email Kode supplier Nama supplier Alamat supplier No telp supplier No fax supplier Email supplier Varchar (10) Varchar (50) Varchar (100) Int Int Varchar (50) Yes Yes Yes Yes Yes Yes No No No Yes No No

(25)

Nama Entitas : karyawan T abel 4.12 Entitas karyawan

Atribut Domain Value

Kdkaryawan Range Value K-0000 - K-9999 Namakaryawan Range Value A-Z, a-z

Jabatan Range Value A-Z, a-z

Alamat Range Value A-Z, a-z, 0-9

Notelepon Range Value 0-9

Gaji Range Value 1-99999999

Password Range Value A-Z, a-z, 0-9

Nama Entitas : pelanggan T abel 4.13 Entitas pelanggan

Atribut Domain Value

Kdpelanggan Range Value P-0000 - P-9999 Namapelanggan Range Value A-Z, a-z

Alamat Range Value A-Z, a-z, 0-9

Notelepon Range Value 0-9

Fax Range Value 0-9

(26)

Nama Entitas : pembelian T abel 4.14 Entitas pembelian

Atribut Domain Value

Kdpembelian Range Value B-000000000 - BHB-999999999

Kdkaryawan Range Value K-0000 - K-9999 Kdsupplier Range Value S-0000 - S-9999 Nofakturpembelian Range Value 0-9

Grandtotal Range Value 1-99999999

Tanggal Range Value 0-9, ‘/’

Nama Entitas : penjualan T abel 4.15 Entitas penjualan

Atribut Domain Value

Kdpenjualan Range Value J-000000000 - J-999999999 Kdkaryawan Range Value K-0000 - K-9999

Kdpelanggan Range Value P-0000 - P-9999 Grandtotal Range Value 1-99999999

Tanggal Range Value 0-9, ‘/’

Tipe Range Value ‘Cash’, ‘Credit’ Tgljatuhtempo Range Value 0-9, ‘/’

(27)

Nama Entitas : returpembelian T abel 4.16 Entitas retur pembelian

Atribut Domain Value

Kdreturpembelian Range Value 000000000 - RB-999999999

Kdsupplier Range Value S-0000 - S-9999

Tanggal Range Value 0-9, ‘/’

Kdkaryawan Range Value K-0000 - K-9999 Status Range Value ‘Process’, ‘Done’ Kdpembelian Range Value B-000000000 -

BHB-999999999

Nama Entitas : returpenjualan T abel 4.17 Entitas retur penjualan

Atribut Domain Value

Kdreturpenjualan Range Value 000000000 - RJ-999999999

Kdpelanggan Range Value P-0000 - P-9999

Tanggal Range Value 0-9, ‘/’

Kdkaryawan Range Value K-0000 - K-9999 Status Range Value ‘Process’, ‘Done’

(28)

Nama Entitas : supplier T abel 4.18 Entitas supplier

Atribut Domain Value

Kdsupplier Range Value S-0000 - S-9999 Namasupplier Range Value A-Z, a-z

Alamat Range Value A-Z, a-z, 0-9

Notelepon Range Value 0-9

Fax Range Value 0-9

Email Range Value A-Z, a-z, 0-9, ‘@’, ‘.’

4.6.1.5 Mengidentifikasi Domain

Pada tabel di atas telah disertakan domain atribut yang akan digunakan pada setiap field yang ada di tiap-tiap tabel.

Mengidentifikasi Candidate dan Primary key T abel 4.19 Identifikasi Candidate dan Prim ary key

Nama Entiti Candidate key Primary key Karyawan Pelanggan Supplier Barang Penjualan Retur_penjualan Pembelian Retur_pembelian

Kdkaryawan, email, gaji Kdpelanggan, email Kdsupplier, email Kdbarang Kdpenjualan Kdretur_penjualan Kdpembelian Kdretur_pembelian Kdkaryawan Kdpelanggan Kdsupplier Kdbarang Kdpenjualan Kdretur_penjualan Kdpembelian Kdretur_pembelian

(29)
(30)

4.6.1.6 Validasi Model Lokal Konseptual Terhadap Transaksi Dari User

a. M endeskripsikan transaksi 1. M unculkan semua karyawan 2. M unculkan semua supplier 3. M unculkan semua pelanggan 4. M unculkan semua barang

5. M unculkan karyawan yang menerima order penjualan 6. M unculkan karyawan yang melakukan order pembelian

7. M unculkan barang yang dipesan oleh pelanggan pada hari tertentu

8. M unculkan data barang yang dikembalikan oleh pelanggan 9. M unculkan jumlah persediaan barang di gudang

10. M unculkan order pembelian yang dilakukan pada hari tertentu 11. M unculkan transaksi pembelian yang dilakukan pada hari

tertentu

12. M unculkan transaksi penjualan yang dilakukan pada hari tertentu

(31)

b.M enggunakan jalur transaksi

(32)
(33)

4.6.2 Perancangan Database Logikal

4.6.2.1 Menghilangkan Ciri-ciri yang Tidak Sesuai Dalam Relasional Menghilangkan tipe relasional yang many-to-many (*:*) a. Pembelian dengan Barang

Pembelian dan Barang memiliki relasi M enambah *:* oleh karena itu dilakukan penghilangan many-to-many dengan menambahkan satu entitas diantaranya, yaitu Detailpembelian.

Gambar 4.14 Menguraikan Relasi Pembelian dengan Barang

b. Penjualan dengan Barang

Penjualan dan Barang memiliki relasi M engurangi *:* oleh karena itu dilakukan penghilangan many-to-many dengan menambahkan satu entitas diantaranya, yaitu DetailPenjualan.

(34)

c. Returpembelian dengan Barang

Returpembelian dan Barang memiliki relasi M enambah *:* oleh karena itu dilakukan penghilangan many-to-many dengan menambahkan satu entitas diantaranya, yaitu Detailreturpembelian.

Gambar 4.16 Menguraikan Relasi Returpembelian Dengan Barang

d. Returpenjualan dengan Barang

Returpenjualan dan Barang memiliki relasi M engurangi *:* oleh karena itu dilakukan penghilangan many-to-many dengan menambahkan satu entitas diantaranya, yaitu Detailreturpenjualan.

(35)

Menghilangkan atribut yang multi value a. Karyawan dengan Telp

Entitas Karyawan mempunyai atribut notelepon yang bisa multivalue. Oleh karena itu perlu dilakukan pemisahan menjadi satu entitas baru yaitu TelpKaryawan dengan notelepon sebagai primary key.

Gambar 4.18 Menguraikan Relasi yang Multi Value Pada Karyawan

b. Supplier dengan Telp

Entitas Supplier mempunyai atribut notelepon yang bisa multivalue. Oleh karena itu perlu dilakukan pemisahan menjadi satu entitas baru yaitu TelpSupplier dengan notelepon sebagai primary key.

(36)

c. Pelanggan dengan Telp

Entitas Pelanggan mempunyai atribut notelepon yang bisa multivalue. Oleh karena itu perlu dilakukan pemisahan menjadi satu entitas baru yaitu TelpPelanggan dengan notelepon sebagai primary key.

Gambar 4.20 Menguraikan Relasi yang Multi Value Pada Pelanggan

4.6.2.2 Menurunkan Relasional Untuk Model Data Logikal Lokal

Karyawan (Kdkaryawan, Namakaryawan, Alamat, Jabatan, Gaji, Password)

Primary key Kdkaryawan

Pelanggan (Kdpelanggan, Namapelanggan, Alamat, Fax, Email) Primary key Kdpelanggan

Supplier (Kdsupplier, Namasupplier, Alamat, Fax, Email) Primary key Kdsupplier

(37)

Barang (Kdbarang, Namabarang, Jenisbarang, Jumlah, Harga, ROP, Hargajual)

Primary key Kdbarang

Pembelian (Kdpembelian, Kdkaryawan, Kdsupplier, nofakturpembelian, Grandtotal, Tanggal)

Primary key Kdpembelian

Foreign key Kdkaryawan references Karyawan (Kdkaryawan) Foreign key Kdsupplier references supplier (Kdsupplier)

Penjualan (Kdpenjualan, Kdkaryawan, Kdpelanggan, Grandtotal, Tanggal, Tipe, Tgljthtempo)

Primary key Kdpenjualan

Foreign key Kdkaryawan references Karyawan (Kdkaryawan) Foreign key Kdpelanggan references Pelanggan (Kdpelanggan)

Returpembelian (Kdreturpembelian, Kdsupplier, Tanggal, Kdkaryawan, Status, Kdpembelian)

Primary key Kdreturpembelian

Foreign key Kdsupplier references supplier (Kdsupplier) Foreign key Kdkaryawan references Karyawan (Kdkaryawan) Foreign key Kdpembelian references Pembelian (Kdpembelian)

(38)

Returpenjualan (Kdreturpenjualan, Kdpelanggan, Tanggal, Kdkaryawan, Status, Kdpenjualan)

Primary key Kdreturpenjualan

Foreign key Kdpelanggan references Pelanggan (Kdpelanggan) Foreign key Kdkaryawan references Karyawan (Kdkaryawan) Foreign key Kdpenjualan references Penjualan (Kdpenjualan)

Detailpembelian (Kdpembelian, Kdbarang, Hargabeli, Qty, Totalharga)

Primary key Kdpembelian, Kdbarang

Foreign key Kdpembelian references Pembelian (Kdpembelian) Foreign key Kdbarang references Barang (Kdbarang)

Detailpenjualan ( Kdpenjualan, Kdbarang, Harga, Qty, Totalharga) Primary key Kdpenjualan, Kdbarang

Foreign key Kdpenjualan references Penjualan (Kdpenjualan) Foreign key Kdbarang references Barang (Kdbarang)

Detailreturpembelian (Kdreturpembelian, Kdbarang, Qty) Primary key Kdreturpembelian, Kdbarang

Foreign key Kdreturpembelian references Returpembelian (Kdreturpembelian)

(39)

Detailreturpenjualan (Kdreturpenjualan, Kdbarang, Qty) Primary key Kdreturpenjualan, Kdbarang

Foreign key Kdreturpenjualan references Returpenjualan (Kdreturpenjualan)

Foreign key Kdbarang references Barang (Kdbarang)

Teleponkaryawan (Telpkaryawan, Kdkaryawan) (mustina teleponkaryawan)

Primary key Telpkaryawan

Foreign key Kdkaryawan references Karyawan (Kdkaryawan)

Teleponsupplier (Telpsupplier, Kdsupplier) Primary key Telpsupplier

Foreign key Kdsupplier references Supplier (Kdsupplier)

Teleponpelanggan (Telppelanggan, Kdpelanggan) Primary key Telppelanggan

Foreign key Kdpelanggan references Pelanggan (Kdpelanggan)

4.6.2.3 Validasi Relasional Menggunakan Normalisasi Pembelian Barang

UNF

Pembelian = kdpembelian + kdkaryawan + namakaryawan + nofakturpembelian + tanggal + kdsupplier + namasupplier + {kdbarang + namabarang + jenisbarang + hargabeli + hargajual + qty + totalharga}

(40)

1NF

Pembelian = @kdpembelian + kdkaryawan + namakaryawan + nofakturpembelian + tanggal + kdsupplier + namasupplier + @kdbarang + namabarang + jenisbarang + hargabeli + hargajual + qty 2NF

Pembelian = @kdpembelian + #kdkaryawan + nofakturpembelian + tanggal + #kdsupplier

Detailpembelian = @kdpembelian+ #kdbarang + qty karyawan = @kdkaryawan + namakaryawan

Supplier = @kdsupplier + namasupplier

Barang = @kdbarang + namabarang + jenis barang + hargabeli + hargajual

Penjualan UNF

Penjualan = kdpenjualan + kdkaryawan + namakaryawan + kdpelanggan + namapelanggan + {kdbarang + namabarang + jenisbarang + harga + qty + totalharga} + grandtotal + pembayaran + kembali

1NF

Penjualan = @kdpenjualan + kdkaryawan + namakaryawan + kdpelanggan + namapelanggan + @kdbarang + namabarang + jenisbarang + harga + qty + pembayaran

(41)

2NF

Penjualan = @kdpenjualan + #kdkaryawan + #kdpelanggan + pembayaran

Detailpenjualan = @kdpenjualan + kdbarang + qty Karyawan = @kdkaryawan + namakaryawan Pelanggan = @kdpelanggan + namapelanggan

Barang = @kdbarang + nama barang + jenis barang + harga

Returpembelian UNF

Returpembelian = kdreturpembelian + kdpembelian + kdsupplier + namasupplier + status ambil + {kdbarang + namabarang + jenisbarang + qty}

1NF

Returpembelian = @kdreturpembelian + kdpembelian + kdsupplier + namasupplier + statusambl + @kdbarang + namabarang + jenisbarang + qty

2NF

Returpembelian = @kdreturpembelian + #kdpembelian + #kdsupplier + statusambil

Detailreturpembelian = @kdreturpembelian + #kdbarang + qty Pembelian barang = @kdpembelian + tanggal

Supplier =@kdsupplier + namasupplier

(42)

Returpenjualan UNF

Returpenjualan = kdreturpenjualan + kdpenjualan + kdpelanggan + namapelanggan + statusambil + {kdbarang + namabarang + jenisbarang + qty}

1NF

Returpenjualan = @kdreturpenjualan + kdpenjualan + kdpelanggan + namapelanggan + statusambil + @kdbarang + namabarang + jenisbarang + qty

2NF

Returpenjualan = @kdreturpenjualan + #kdpenjualan + #kdpelanggan + statusambil

Detailreturpenjualan = @kdreturpenjualan + #kdbarang + qty Penjualan = @kdpenjualan + tanggal

Pelanggan = @kdpelanggan + namapelanggan Barang = @kdbarang + namabarang + jenisbarang

Supplier UNF

Supplier = kdsupplier + namasupplier + alamat + telepon + fax + email 1NF

Supplier = @kdsupplier + namasupplier + alamat + notelepon + fax + email

(43)

Barang UNF

Barang = kdbarang + namabarang + jenisbarang + jumlah + hargabeli + ROP + hargajual

1NF

Barang = @kdbarang + namabarang + jenisbarang + jumlah + hargabeli + ROP + hargajual

Karyawan UNF

Karyawan = kdkaryawan + namakaryawan + alamat + jabatan + no. telepon + gaji + password

1NF

Karyawan = @kdkaryawan + namakaryawan + alamat + jabatan + no. telepon + gaji + password

Pelanggan UNF

Pelanggan = kdpelanggan + namapelanggan + alamat + notelepon + fax + email

1NF

Pelanggan = @kdpelanggan + namapelanggan + alamat + notelepon + fax + email

(44)

NB : @ = primary key # = foreign key

(45)
(46)

4.6.2.4 Pembentukan Model Data Logikal Global

a. Tabel Relationship Model Data Logikal Global T abel 4.20 T abel relationship model data logikal global Nama Entitas Multi

plicity

Relationship Nama Entitas Multiplic ity

Supplier 1..1 M emiliki Teleponsupplier 1..*

1..1 M emiliki Pembelian 1..*

Pelanggan 1..1 M emiliki Teleponpelanggan 1..*

1..1 M emiliki Penjualan 1..*

Karyawan 1..1 M emiliki Teleponkaryawan 1..*

1..1 M emiliki Penjualan 0..*

1..1 M emiliki Pembelian 1..*

1..1 M emiliki Returpenjualan 0..*

1..1 M emiliki Returpembelian 0..*

Penjualan 1..* M emiliki Pelanggan 1..1

0..1 M emiliki Karyawan 1..1

1..1 M emiliki Returpenjualan 0..*

1..1 M emiliki Detilpenjualan 1..*

Pembelian 1..* M emiliki Supplier 1..1

1..* M emiliki Karyawan 1..1

1..1 M emiliki Detailpembelian 1..*

1..1 M emiliki Returpembelian 0..*

(47)

1..1 Terdiri dari Detailpenjualan 0..*

1..1 Terdiri dari Detailreturpembelian 0..*

1..1 Terdiri dari Detailreturpenjualan 0..*

Returpembelian 0..* M emiliki Karyawan 1..1

0..* M emiliki Pembelian 1..1

1..1 M emiliki Detailreturpembelian 1..* Returpenjualan 0..* M emiliki Karyawan 1..1

0..* M emiliki Penjualan 1..1

1..* M emiliki Detailreturpenjualan 1..1

b. S pesifikasi Database Baru T abel 4.21 T abel spesifikasi database baru

No Nama Tabel Keterangan

1. Supplier Tabel yang menyimpan data barang yang

dibeli dari supplier dan dijual ke banyak pelanggan

2. Pelanggan Tabel yang menyimpan data pelanggan yang terdaftar dan melakukan transaksi pembelian barang

3. Karyawan Tabel yang menyimpan data karyawan yang terdaftar pada PT Solusi Corporindo Teknologi

4. Penjualan Tabel yang menyimpan data yang berisi informasi tentang barang yang dipesan oleh pelanggan. Dan yang berisi informasi tentang tagihan penjualan yang

(48)

dilakukan perusahaan.

5. Pembelian Tabel yang menyimpan data yang berisi informasi tentang barang yang akan dibeli oleh perusahaan. Dan M erupakan entiti yang berisi informasi tentang tagihan pembelian yang diterima perusahaan. 6. Barang Tabel yang menyimpan data yang berisi

informasi tentang stok dan status dari barang.

7. Returpembelian Tabel yang menyimpan data yang berisi tentang data barang yang dikembalikan ke supplier

8. Returpenjualan Tabel yang menyimpan data yang berisi tentang data barang yang dikembalikan oleh pelanggan.

9. Detailpenjualan Tabel yang menyimpan data yang berisi informasi secara rinci tentang barang yang dipesan oleh pelanggan. Dan yang berisi informasi tentang tagihan penjualan yang dilakukan perusahaan.

10. Detailpembelian Tabel yang menyimpan data yang berisi informasi secara rinci tentang barang yang akan dibeli oleh perusahaan. Dan M erupakan entiti yang berisi informasi tentang tagihan pembelian yang diterima perusahaan.

11. Detailreturpenjualan Tabel yang menyimpan data yang berisi secara rinci tentang data barang yang dikembalikan oleh pelanggan.

12. Detailreturpembelian Tabel yang menyimpan data yang berisi secara rinci tentang data barang yang

(49)

dikembalikan ke supplier

13. Teleponsupplier Tabel yang menyimpan data telepon supplier

14. Teleponkaryawan Tabel yang menyimpan data telepon karyawan

15. Teleponpelanggan Tabel yang menyimpan data telepon pelanggan

c. Tabel Atribut Model Data Logikal Global 1. Supplier

T abel 4.22 Atribut supplier PK atau

FK

Atribut Deskripsi Panjang dan Tipe Data

Nulls Multi-Valued PK kdsupplier Kode Supplier Varchar (10) Yes No namasupplier Nama Supplier Varchar (50) Yes No

alamat Alamat

Supplier

Varchar (100) Yes No

fax Fax Supplier Int Yes No

email Email Supplier Varchar (50) Yes No

2. Pelanggan T abel 4.23 Atribut Pelanggan

PK atau FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK kdpelanggan Kode Pelanggan Varchar (10) Yes No

(50)

namapelanggan Nama Pelanggan Varchar (50) Yes No alamat Alamat Pelanggan Varchar (100) Yes No

fax Fax Pelanggan Int Yes No

email Email Pelanggan Varchar (50) Yes No 3. Karyawan T abel 4.24 Atribut karyawan PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data

Nulls Multi-Valued

PK kdkaryawan Kode Karyawan Varchar (50) No No namakaryawan Nama Karyawan Varchar (50) Yes No

alamat Alamat Karyawan Varchar

(100)

Yes No

jabatan Jabatan Karyawan Varchar (20) Yes No

gaji Gaji Pelanggan Int Yes No

password Password Karyawan Varchar (20) Yes No

4. Penjualan T abel 4.25 Atribut penjualan PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK kdpenjualan Kode Penjualan Varchar (10) No No

(51)

FK kdkaryawan Kode Karyawan Varchar (10) Yes No kdpelanggan Kode Pelanggan Varchar (10) Yes No

grandtotal Total Harga Numeric Yes No tanggal Tanggal Penjualan Datetime Yes No tipe Tipe Barang Varchar(10) Yes No tanggaljatuhtempo Tanggal Jatuh Tempo Kredit Datetime Yes No 5. Pembelian T abel 4.26 Atribut Pembelian

PK atau FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK kdpembelian Kode Pembelian Varchar (10) No No FK kdkaryawan Kode Karyawan Varchar (10) Yes No FK kdsupplier Kode Supllier Varchar (10) Yes No nofakturpembelian Nomor Faktur Pembelian Varchar (20) Yes No

grandtotal Total Harga Numeric Yes No tanggal Tanggal

Pembelian

(52)

6. Barang T abel 4.27 Atribut barang

7. Retur Pembelian T abel 4.28 Atribut Pembelian

PK atau FK

Atribut Deskripsi Panjang

dan Tipe Data

Nulls Multi-Valued

PK kdreturpembelian Kode Retur Pembelian Varchar (10) No No FK kdsupplier Kode Supplier Varchar (10) Yes No tanggal Tanggal Retur Pembelian Datetime Yes No

FK kdkaryawan Kode Varchar (10) Yes No PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK kdbarang Kode Barang Varchar (10) No No namabarang Nama Barang Varchar (100) Yes No jenisbarang Jenis Barang Varchar (10) Yes No jumlah Jumlah Barang Int Yes No hargabeli ROP Harga beli ROP Int Int Yes Yes No No

(53)

Karyawan

status Status Retur

Pembelian Varchar (10) Yes No FK kdpembelian Kode Pembelian Varchar (10) Yes No 8. Retur Penjualan T abel 4.29 Atribut retur penjualan PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data

Nulls Multi-Valued

PK kdreturpenjualan Kode Retur Pembelian Varchar (10) Yes No FK kdpelanggan Kode Pelanggan Varchar (10) Yes No FK kdkaryawan Kode Karyawan Varchar (10) Yes No FK kdpenjualan Kode Penjualan Varchar (10) Yes No

status Status Retur

Penjualan Varchar (10) Yes No tanggal Tanggal Retur Penjualan Datetime Yes No 9. Detail Penjualan T abel 4.30 Atribut detail penjualan PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data

Nulls Multi-Valued

(54)

Penjualan FK kdbarang Kode

Barang

Varchar (10) Yes No

harga Harga Int Yes No

qty Jumlah

barang yang terjual

Int Yes No

totalharga Total Harga Numeric Yes No

10. Detail Pembelian T abel 4.31 Atribut detail pembelian PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK kdpembelian Kode Pembelian Varchar (10) Yes No FK kdbarang Kode Barang Varchar (10) Yes No

hargabeli Harga Beli Int Yes No

qty Jumlah

barang yang terjual

Int Yes No

totalharga Total Harga Numeric Yes No

11. Detail Retur Penjualan T abel 4.32 Atribut detail retur penjualan

PK atau FK

Atribut Deskripsi Panjang

dan Tipe Data

Nulls Multi-Valued

PK kdreturpenjualan Kode Retur Penjualan

(55)

FK kdbarang Kode Barang Varchar (10) Yes No qty Jumlah barang yang diretur Int Yes No

12. Detail Retur Pembelian T abel 4.33 Atribut detail retur pembelian PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data

Nulls Multi-Valued

PK kdreturpembelian Kode Retur Pembelian Varchar (10) No No FK kdbarang Kode Barang Varchar (10) Yes No qty Jumlah barang yang diretur Int Yes No 13. Telepon Supplier T abel 4.34 Atribut telepon supplier

PK atau FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK telpsupplier Telepon Supplier

Int Yes Yes

FK kdsupplier Kode

Supplier

(56)

14. Telepon Karyawan T abel 4.35 Atribut telepon karyawan PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK telpkaryawan Telepon karyawan

Int Yes Yes

FK kdsupplier Kode

Supplier

Varchar (10) Yes No

15. Telepon Pelanggan T abel 4.36 Atribut telepon pelanggan PK atau

FK

Atribut Deskripsi Panjang

dan Tipe Data Nulls Multi-Valued PK telppelanggan Telepon Pelanggan

Int Yes Yes

FK kdsupplier Kode

Supplier

Varchar (10) Yes No

Batasan Domain Atribut

a. kdsupplier harus diisi 5 karakter dan diawali dengan huruf S b. kdpelanggan harus diisi 5 karakter dan diawali dengan huruf P

c. kdkaryawan harus diisi 5 karakter dan diawali dengan huruf K

d. kdpenjualan harus diisi 10 karakter dan diawali dengan huruf J, baik pada penjualan tunai maupun kredit

(57)

f. kdbarang harus diisi 5 karakter dan diawali dengan huruf B

g. kdreturpembelian harus diisi 10 karakter dan diawali dengan huruf RB

h. kdreturpenjualan harus diisi 10 karakter dan diawali dengan huruf RJ i. teleponkaryawan harus diisi dan tidak boleh diisi lebih dari 15 karakter

j. teleponsupplier harus diisi dan tidak boleh diisi lebih dari 15 karakter

k. teleponpelanggan harus diisi dan tidak boleh diisi lebih dari 15 karakter l. password karyawan maksimal diisi sebanyak 50 karakter

m. status ambil pada returpenjualan harus diisi dengan process atau done n. status ambil pada returpembelian harus diisi dengan process atau done

Integritas Entitas

a. Tabel Supplier harus mempunyai atribut primary key kdsupplier

b. Tabel Pelanggan harus mempunyai atribut primary key kdpelanggan c. Tabel Karyawan harus mempunyai atribut primary key kdkaryawan

d. Tabel Penjualan harus mempunyai atribut primary key kdpenjualan

e. Tabel Pembelian harus mempunyai atribut primary key kdpembelian f. Tabel Barang harus mempunyai atribut primary key kdbarang

(58)

h. Tabel Returpenjualan harus mempunyai atribut primary key kdreturpenjualan i. Tabel Persediaan harus mempunyai atribut primary key kdbarang

j. Tabel Detailpenjualan harus mempunyai atribut primary key kddetailpenjualan dan kdbarang

k. Tabel Detailpembelian harus mempunyai atribut primary key kddetailpembelian dan kdbarang

l. Tabel Detailreturpenjualan harus mempunyai atribut primary key kdreturpenjualan dan kdbarang

m. Tabel Detailreturpembelian harus mempunyai atribut primary key kdreturpembelian dan kdbarang

n. Tabel Teleponsupplier harus mempunyai atribut primary key telpsupplier dan kdsupplier

o. Tabel Teleponkaryawan harus mempunyai atribut primary key telpkaryawan dan kdkaryawan

p. Tabel Teleponpelanggan harus mempunyai atribut primary key telppelanggan dan kdpelanggan

(59)

Integritas Referensial

1. Kdkaryawan di dalam tabel karyawan terhubung dengan kdkaryawan yang terdapat pada tabel pembelian, penjualan, teleponkaryawan, returpenjualan dan returpembelian.

2. Kdsupplier di dalam tabel supplier terhubung dengan kdsupplier yang terdapat pada tabel pembelian, returpembelian, dan teleponsupplier.

3. Kdpelanggan di dalam tabel pelanggan terhubung dengan kdpelanggan yang terdapat pada tabel penjualan, returpenjualan dan teleponpelanggan.

4. Kdbarang di dalam tabel barang terhubung dengan kdbarang yang terdapat pada tabel detailpembelian, detailpenjualan, detailreturpembelian dan detail

returpenjualan.

5. Kdpenjualan di dalam tabel penjualan terhubung dengan kdpenjualan yang terdapat pada tabel returpenjualan dan detailpenjualan.

6. Kdpembelian di dalam tabel pembelian terhubung dengan kdpembelian yang terdapat pada tabel returpembelian dan detailpembelian.

(60)

4.6.2.5 Memvalidasi Model Data Logikal Global Terhadap Transaksi User

(61)

Keterangan :

a. Membuat, memasukkan dan mengubah data supplier b. Membuat, memasukkan dan mengubah data karyawan c. Membuat, memasukkan dan mengubah data pelanggan d. Membuat, memasukkan dan mengubah data barang e. Membuat, memasukkan dan menyimpan data pembelian f. Menampilkan data laporan pembelian

g. Membuat, memasukkan dan menyimpan data retur pem belian h. Menampilkan data laporan retur pembelian

i. Membuat, memasukkan dan menyimpan data penjualan j. Menampilkan data laporan penjualan

k. Membuat, memasukkan dan menyimpan data retur penjualan l. Menampilkan data laporan retur penjualan

m. Membuat , memasukkan dan mengubah data telepon supplier n. Membuat , memasukkan dan mengubah data telepon karyawan o. Membuat , memasukkan dan mengubah data telepon pelanggan p. Membuat, memasukkan dan menyimpan data detail pem belian q. Membuat, memasukkan dan menyimpan data detail ret ur pembelian r. Membuat, memasukkan dan menyimpan data detail penjualan s. Membuat, memasukkan dan menyimpan data detail ret ur penjualan

(62)

4.6.3 Perancangan Database Fisikal

Perancangan database secara fisikal yaitu proses menghasilkan gambaran dari pelaksanaan database pada penyimpan sekunder, yang menguraikan relasi dasar, berkas-berkas organisasi dan indeks yang digunakan untuk mencapai pengaksesan yang efisien pada data, dan segala ukuran keamanan dan batasan integritas yang berhubungan.

4.6.3.1 Perancangan Database Relasional

Informasi yang dibutuhkan dalam perancangan database fisikal dapat diperoleh melalui kamus data dan mendefinisikan penggambaran relasional menggunakan Database Design Language (DBDL). Berikut ini adalah perancangan database relasional untuk setiap entiti yang bertujuan untuk domain dari setiap atribut supaya user dapat mengerti penggunaan setiap atribut tersebut berdasarkan penjelasan dan batasan yang terdapat dalam setiap atribut.

• DBDL untuk Karyawan

Domain Kode karyawan Varchar (10)

Domain Nama karyawan Varchar (50) Domain Jabatan Varchar (20) Domain Alamat karyawan Varchar (100) Domain Gaji karyawan Int

Karyawan (

KdKaryawan Kode karyawan NOT NULL, NamaKaryawan Nama karyawan NOT NULL,

(63)

KdJabatan Jabatan NOT NULL, Alamat Alamat karyawan NOT NULL, Gaji Gaji karyawan NOT NULL,

PRIMARY KEY (kdkaryawan),

);

• DBDL untuk Pelanggan

Domain Kode pelanggan Varchar (10)

Domain Nama pelanggan Varchar (50) Domain Alamat pelanggan Varchar (100) Domain No Fax pelanggan Int

Domain Email pelanggan Varchar (50) Pelanggan (

Kdpelanggan Kode pelanggan NOT NULL, Namapelanggan Nama pelanggan NOT NULL, Alamat Alamat pelanggan NOT NULL, Fax No Fax pelanggan NULL, Email Email pelanggan NULL, PRIMARY KEY (kdpelanggan)

);

• DBDL untuk Supplier

Domain Kode supplier Varchar (10) Domain Nama supplier Varchar (50)

(64)

Domain Alamat supplier Varchar (100) Domain No fax supplier Int

Domain Email supplier Varchar (50) Supplier (

KdSupplier Kode supplier NOT NULL, NamaSupplier Nama supplier NOT NULL,

Alamat Alamat supplier NOT NULL, Fax No fax supplier NULL, Email Email supplier NULL, PRIMARY KEY (KdSupplier)

);

• DBDL untuk Barang

Domain Kode barang Varchar (10) Domain Nama Barang Varchar (100) Domain Jenis Barang Varchar (10) Domain Jumlah Barang Int

Domain Harga Beli Int

Domain ROP Int

Domain Harga Jual Int

Domain Kode supplier Varchar (10) Barang (

(65)

NamaBarang Nama Barang NOT NULL, KdJenis Jenis Barang NOT NULL, Jumlah Jumlah Barang NOT NULL, HargaBeli Harga Beli NOT NULL,

ROP ROP NOT NULL,

HargaJual Harga Jual NOT NULL, KdSupplier Kode supplier NOT NULL, PRIMARY KEY (kdbarang),

CONSTRAINT FK_M sBarang

FOREIGN KEY (KdSupplier) REFERENCES M s_Supplier (KdSupplier) ON DELETE NO ACTION ON UPDATE CASCADE,

CONSTRAINT Ms_Barang1 CHECK (ROP > 0), CONSTRAINT Ms_Barang2 CHECK (Jumlah >= 0), CONSTRAINT Ms_Barang3 CHECK (HargaBeli > 0), CONSTRAINT Ms_Barang4

CHECK (HargaJual > HargaBeli) );

• DBDL untuk Pembelian

Domain Kode pembelian Varchar (10) Domain Kode karyawan Varchar (10)

(66)

Domain Kode supplier Varchar (10)

Domain Tanggal Datetime

Pembelian (

KdPembelian Kode pembelian NOT NULL, KdKaryawan Kode karyawan NOT NULL, KdSupplier Kode supplier NOT NULL,

Tanggal Tanggal NOT NULL,

PRIMARY KEY (KdPembelian)

CONSTRAINT FK_TrPembelian1

FOREIGN KEY (KdKaryawan) REFERENCES M s_Karyawan

(KdKaryawan) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT FK_TrPembelian2

FOREIGNKEY (KdSupplier) REFERENCES M s_Supplier (KdSupplier) ON DELETE NO ACTION ON UPDATE CASCADE

);

• DBDL untuk Detail Pembelian

Domain Kode pembelian Varchar (10) Domain Kode Barang Varchar (10)

Domain Jumlah Int

Detail Pembelian (

KdPembelian Kode pembelian NOT NULL, KdBarang Kode karyawan NOT NULL,

(67)

CONSTRAINT PK_TrDetailPembelian PRIMARY KEY (KdPembelian, KdBarang),

CONSTRAINT FK_TrDetailPembelian1

FOREIGN KEY (KdPembelian) REFERENCES Tr_Pembelian (KdPembelian) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_TrDetailPembelian2

FOREIGN KEY (KdBarang) REFERENCES M s_Barang (KdBarang) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT TrDetailPembelian1 CHECK (Qty >= 1)

);

• DBDL untuk Retur Pembelian

Domain Kode retur pembelian Varchar (10) Domain Kode pembelian Varchar (10) Domain Kode karyawan Varchar (10)

Domain Tanggal Datetime

Domain Status Varchar (10) Pembelian (

KdReturPembelian Kode retur pembelian NOT NULL, KdPembelian Kode pembelian NOT NULL, KdKaryawan Kode karyawan NOT NULL,

Tanggal Tanggal NOT NULL,

(68)

PRIMARY KEY (KdReturPembelian)

CONSTRAINT FK_TrReturPembelian1 FOREIGN KEY (KdPembelian) REFERENCES Tr_Pembelian (KdPembelian) ON DELETE CASCADE ON UPDATE CASCADE );

• DBDL untuk Detail Retur Pembelian

Domain Kode retur pembelian Varchar (10) Domain Kode barang Varchar (10) Domain Jumlah retur Int

Detail Retur Pembelian (

KdReturPembelian Kode retur pembelian NOT NULL, KdBarang Kode barang NOT NULL, QtyRetur Jumlah retur NOT NULL, CONSTRAINT PK_TrDetailReturBeli

PRIMARY KEY (KdReturPembelian, KdBarang),

CONSTRAINT FK_TrDetailReturBeli1

FOREIGN KEY (KdReturPembelian) REFERENCES Tr_ReturPembelian (KdReturPembelian) ON DELETE CASCADE ON UPDATE

CASCADE,

CONSTRAINT FK_TrDetailReturBeli2

FOREIGN KEY (KdBarang) REFERENCES M s_Barang (KdBarang) ON DELETE NO ACTION ON UPDATE NO ACTION,

(69)

CHECK (QtyRetur >= 1) );

• DBDL untuk Penjualan

Domain Kode penjualan Varchar (10) Domain Kode karyawan Varchar (10) Domain Kode pelanggan Varchar (50) Domain Tanggal penjualan Datetime Domain Tipe barang Varchar (10) Domain Tanggal jatuh tempo kredit Datetime

Penjualan (

KdPenjualan Kode penjualan NOT NULL, KdKaryawan Kode karyawan NOT NULL, KdPelanggan Kode pelanggan NOT NULL, Tanggal Tanggal Penjualan NOT NULL,

Tipe Tipe barang NOT NULL,

TglJatuhTempo Tanggal jatuh tempo kredit NOT NULL, PRIMARY KEY (KdPenjualan)

CONSTRAINT FK_TrPenjualan1

FOREIGN KEY (KdKaryawan) REFERENCES M s_Karyawan

(KdKaryawan) ON DELETE NO ACTION ON UPDATE CASCADE,

CONSTRAINT FK_TrPenjualan2 \

FOREIGN KEY (KdPelanggan) REFERENCES M s_Pelanggan

(70)

CONSTRAINT TrPenjualan3 CHECK (TglJatuhTempo > GETDATE())

);

• DBDL untuk Detail Penjualan

Domain Kode penjualan Varchar (10) Domain Kode barang Varchar (10)

Domain Jumlah Int

Detail Penjualan (

KdPenjualan Kode penjualan NOT NULL, KdBarang Kode barang NOT NULL, Qty Jumlah NOT NULL,

CONSTRAINT PK_TrDetailPenjualan PRIMARY KEY (KdPenjualan, KdBarang),

CONSTRAINT FK_TrDetailPenjualan1

FOREIGN KEY (KdPenjualan) REFERENCES Tr_Penjualan (KdPenjualan) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_TrDetailPenjualan2

FOREIGN KEY (KdBarang) REFERENCES M s_Barang (KdBarang) ON DELETE NO ACTION ON UPDATE CASCADE,

CONSTRAINT TrDetailPenjualan1 CHECK (Qty >= 1)

(71)

• DBDL untuk Retur Penjualan

Domain Kode retur penjualan Varchar (10) Domain Kode penjualan Varchar (10) Domain Kode karyawan Varchar (10) Domain Kode tanggal Datetime Domain Kode status Varchar (10) Retur Penjualan (

KdReturPenjualan Kode retur penjualan NOT NULL, KdPenjualan Kode penjualan NOT NULL, KdKaryawan Kode karyawan NOT NULL,

Tanggal Tanggal NOT NULL,

Status Status NOT NULL,

PRIMARY KEY (KdReturPenjualan)

CONSTRAINT FK_TrReturPenjualan1 FOREIGN KEY (KdPenjualan) REFERENCES Tr_Penjualan (KdPenjualan) ON DELETE CASCADE ON UPDATE CASCADE );

• DBDL untuk Detail Retur Penjualan

Domain Kode retur penjualan Varchar (10) Domain Kode barang Varchar (10) Domain Jumlah retur Int

Retur Penjualan (

(72)

KdBarang Kode barang NOT NULL, QtyRetur Jumlah retur NOT NULL, CONSTRAINT PK_TrDetailReturJual

PRIMARY KEY (KdReturPenjualan, KdBarang), CONSTRAINT FK_TrDetailReturJual1

FOREIGN KEY (KdReturPenjualan) REFERENCES

Tr_ReturPenjualan (KdReturPenjualan) ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT FK_TrDetailReturJual2

FOREIGN KEY (KdBarang) REFERENCES M s_Barang (KdBarang) ON DELETE NO ACTION ON UPDATE CASCADE,

CONSTRAINT TrDetailReturJual1 CHECK (QtyRetur >= 1)

);

• DBDL untuk Telpkaryawan

Domain No telp karyawan Int

Domain KdKaryawan Varchar(10) Telpkaryawan (

Telpkaryawan No telp karyawan NOT NULL, Kdkaryawan Kodekaryawan NOT NULL, PRIMARY KEY (Telpkaryawan),

(73)

FOREIGN KEY (Kdkaryawan) REFERENCES Karyawan (Kdkaryawan) ON UPDATE CASCADE ON DELETE SET NULL

);

• DBDL untuk Telppelanggan

Domain No telp pelanggan Int

Domain Kdpelanggan Varchar(10) Telppelanggan (

Telppelanggan No telp pelanggan NOT NULL, Kdpelanggan Kodepelanggan NOT NULL, PRIMARY KEY (Telppelanggan),

FOREIGN KEY (Kdpelanggan) REFERENCES Pelanggan (Kdpelanggan) ON UPDATE CASCADE ON DELETE SET NULL

);

• DBDL untuk Telpsupplier

Domain No telp supplier Int

Domain Kdsupplier Varchar(10) Telpsupplier (

Telpsupplier No telp supplier NOT NULL, Kdsupplier Kodesupplier NOT NULL, PRIMARY KEY (Telpsupplier),

(74)

FOREIGN KEY (Kdsupplier) REFERENCES supplier (Kdsupplier) ON UPDATE CASCADE ON DELETE SET NULL

);

4.6.3.2 Estimasi Kebutuhan Disk

Tujuan dari langkah ini adalah untuk menghitung kapasitas penyimpanan yang dibutuhkan oleh database.

Perkiraan kebutuhan disk setiap Tabel adalah sebagai berikut: T abel 4.37 Estimasi Karyawan

Field Type Ukuran

KdKaryawan Varchar (10) 10

NamaKaryawan Varchar (50) 50

KdJabatan Varchar (20) 20

Alamat Varchar (100) 100

Gaji Int 15 Kapasitas dari tabel Karyawan adalah 195 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 1 karyawan baru Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 195 = 2340 byte

T abel 4.38 Estimasi Pelanggan

Field Type Ukuran

KdPelanggan Varchar (10) 10

NamaPelanggan Varchar (50) 50

Alamat Varchar (100) 100

Fax Int 15

Email Varchar (50) 50

Kapasitas dari tabel Pelanggan adalah 225 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 pelanggan baru Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 225 = 270000 byte

(75)

T abel 4.39 Estimasi Supplier

Field Type Ukuran

KdSupplier Varchar (10) 10

NamaSupplier Varchar (50) 50

Alamat Varchar (100) 100

Fax Int 15

Email Varchar (50) 50

Kapasitas dari tabel supplier adalah 225 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 1 supplier baru Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 1 * 225 = 2700 byte

T abel 4.40 Estimasi Barang

Field Type Ukuran

KdBarang Varchar (10) 10 NamaBarang Varchar (100) 100 KdJenis Varchar (10) 10 Jumlah Int 4 HargaBeli Int 18 HargaJual Int 18 ROP Int 4 KdSupplier Varchar (10) 10

Kapasitas dari tabel Barang adalah 174 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 5 barang baru Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 5 * 174 = 10440 byte

T abel 4.41 Estimasi Penjualan

Field Type Ukuran

KdPenjualan Varchar (10) 10 KdKaryawan Varchar(10) 10 KdPelanggan Varchar (10) 10 Tanggal Date/time 8 Tipe Varchar (10) 10 TgljatuhTempo Date/time 8

Kapasitas dari tabel Pemesanan_Penjualan adalah 56 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 600 pemesanan penjualan Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 600 * 56 = 403200 byte

(76)

T abel 4.42 Retur Penjualan

Field Type Ukuran

Kdreturpenjualan Varchar (10) 10

Kdpenjualan Varchar (10) 10

Kdkaryawan Varchar (10) 10

Tanggal Date/time 8

Status Vachar (10) 10

Kapasitas dari tabel Pengembalian_Penjualan adalah 48 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 pengembalian penjualan Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 48 = 57600 byte

T abel 4.43 Detail Penjualan

Field Type Ukuran

Kdpenjualan Varchar (10) 10

Kdbarang Varchar (10) 10

Qty Int 4 Kapasitas dari tabel Detail_Penjualan adalah 24 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 detail penjualan Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 24 = 28800 byte

T abel 4.44 Detail Retur Penjualan

Field Type Ukuran

Kdreturpenjualan Varchar (10) 10

Kdbarang Varchar (10) 10

Qtyretur Int 4 Kapasitas dari tabel Detail_Retur_Penjualan adalah 24 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 detail retur penjualan Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 24 = 28800 byte

T abel 4.45 Pembelian

Field Type Ukuran

Kdpembelian Varchar (10) 10

Kdkaryawan Varchar (10) 10

Kdsupplier Varchar (10) 10

Tanggal Date/time 8

Kapasitas dari tabel Pemesanan_Pembelian adalah 38 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 700 pemesanan pembelian Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 700 * 38= 277200 byte

(77)

T abel 4.46 Retur Pembelian

Field Type Ukuran

Kdreturpembelian Varchar (10) 10

Kdpembelian Varchar (10) 10

Kdkaryawan Varchar (10) 10

Tanggal Date/time 8

Status Varchar (10) 10

Kapasitas dari tabel Pengembalian_Pembelian adalah 48 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 pengembalian pembelian Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 48 = 56400 byte

T abel 4.47 Detail Pembelian

Field Type Ukuran

Kdpembelian Varchar (10) 10

Kdbarang Varchar (10) 10

Qty Int 4 Kapasitas dari tabel Detail_Pembelian adalah 24 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 detail pembelian Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 24 = 28800 byte

T abel 4.48 Detail Retur Pembelian

Field Type Ukuran

Kdreturpembelian Varchar (10) 10

Kdbarang Varchar (10) 10

Qtyretur Int 4 Kapasitas dari tabel Detail_Retur_Pembelian adalah 24 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 100 detail retur pembelian Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 100 * 24 = 28800 byte

T abel 4.49 T elepon karyawan

Field Type Ukuran

Telpkaryawan Int 15

Kdkaryawan Varchar (10) 10

Kapasitas dari tabel Telp_karyawan adalah 25 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 1 telpkaryawan Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 1 * 25 = 300 byte

(78)

T abel 4.50 T elepon pelanggan

Field Type Ukuran

Telppelanggan Int 15

Kdkaryawan Varchar (10) 10

Kapasitas dari tabel Telp_pelanggan adalah 25 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 300 telppelanggan Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 300 * 25 = 72000 byte

T abel 4.51 T elepon supplier

Field Type Ukuran

Telpsupplier Int 15

Kdkaryawan Varchar (10) 10

Kapasitas dari tabel Telp_supplier adalah 25 byte

Diperkirakan dalam 1 bulan terjadi pertambahan ± 1 telpsupplier Dalam 1 tahun pertumbuhan tabel ini adalah 12 * 1 * 25 = 300 byte

T abel 4.52 Estimasi Kebutuhan Disk

Nama Tabel Kapasitas dalam 1 tahun

Karyawan 2.340 byte

Telepon Karyawan 300 byte

Pelanggan 270.000 byte

Telepon Pelanggan 90.000 byte

Supplier 2.700 byte

Telepon Supplier 300 byte

Barang 10.440 byte

Penjualan 403.200 byte

Detail Penjualan 28.800 byte

Retur Penjualan 57.600 byte

(79)

Pembelian 319.200 byte

Retur Pembelian 57.600 byte

Detail Pembelian 28.800 byte

Detail Retur Pembelian 28.800 byte

Total space yang dibutuhkan dalam 1 tahun adalah 1.328.880 byte

4.6.3.3 Pemilihan DBMS

Pemilihan DBM S merupakan pemilihan dari DBM S tertentu untuk mendukung aplikasi database. Jika tidak ada DBM S, suatu bagian yang tepat dari siklus hidup yang mana untuk membuat suatu pemilihan adalah di antara tahap perancangan database konseptual dan logikal.

Di bawah ini merupakan perbandingan DBM S antara Microsoft Access dengan Microsoft SQL Server 2005 yaitu :

T abel 4.53 Perbandingan antara Microsoft Access dan Microsoft SQL Server 2005

Microsoft Access 2000 Microsoft S QL 2005

M endukung Sistem Operasi dengan Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition (Windows M E), Windows NT 4.0 dengan Service Pack 6 (SP 6), Windows 2000, atau Windows XP.

M endukung platform Windows, termasuk Windows 9x, Windows NT, Windows 2000, dan Windows XP

(80)

Processor yang dibutuhkan adalah Pentium 75 MHz atau yang lebih tinggi.

Processor yang dibutuhkan adalah Pentium 166 MHz atau yang lebih tinggi.

Dibutuhkan 8 M B RAM untuk Access 2000, ditambah 4 M B RAM untuk setiap aplikasi agar bekerja secara simultan, ditambah memory untuk Sistem Operasi : * 16 M B RAM untuk Windows 95 atau

Windows 98

* 32 MB RAM untuk Windows M E atau Windows NT

* 64 M B RAM untuk Windows 2000 * 128 M B RAM untuk Windows XP

M emory yang dibutuhkan adalah 32 M B RAM (minimum untuk Desktop Engine), 64 M B RAM (minimum untuk semua edisi lainnya), 128 M B RAM .

Ruang Hard Disk yang diperlukan melebihi 30 M B dari ruang Hard Disk

Ruang Hard Disk yang perlu disediakan adalah 270 M B (full installation), 250 M B (typical), 95 M B (minimum).

Desktop Engine : 44 M B

Analysis Services : 50 M B (minimum) dan 130 M B (typical)

English Query : 80 M B

M ampu menampung hingga 2 GB M ampu menampung hingga 1.045.516 TB

DBM S yang digunakan untuk perancangan database pada PT. Solusi Corporindo Teknologi adalah SQL Server 2005.

Gambar

Gambar 4.9 System  Definition  Penjelasan :
Gambar 4.10 Identifikasi T ipe Relasional
Gambar 4.11  Prim ary key
Gambar 4.12 Model Lokal Konseptual yang Mendukung Transaksi User
+7

Referensi

Dokumen terkait

Perbedaan yang kedua, jika pada mesin bensin pembakaran diperoleh dari nyala bunga api pada busi, pada mesin diesel tidak demikian, melainkan dengan panas yang

Untuk mengetahui hal tersebut, dengan suatu metode pengambilan keputusan multikriteria dengan memecahkan situasi kompleks dan tidak terstruktur kedalam bagian-bagian dan

Hasil analisa ragam menunjukkan bahwa faktor jarak anoda katoda dan konsentrasi Tween 80 memberikan pengaruh yang tidak nyata pada selang kepercayaan 95% dengan

Ketika dilarutkan dalam atau dicampur dengan bahan lain dan dalam kondisi yang menyimpang dari yang disebutkan dalam EN374 silahkan hubungi suplier sarung tangan CE-resmi

Setelah melaksanakan kegiatan kuliah kerja nyata (KKN) selama 31 hari yang terhitung mulai tanggal 16 Juli 2014 sampai tanggal 22 Agustus 2014 yang berada di

Hasil analisis data untuk frekuensi mual muntah pada ibu hamil pada kelompok intervensi sebelum dan sesudah diberikan ekstrak jahe menggunakan uji paired t test didapatkan p

Berdasarkan kesimpulan hasil penelitian diatas maka peneliti mengemukakan beberapa saran yaitu: guru diharapkan selalu memberikan kegiatan, alat, media yang