81
PERANCANGAN DATABAS E DAN APLIKAS I
4.1 Tahapan Perancangan Database
Perancangan database dilakukan sesuai dengan kebutuhan informasi yang telah diidentifikasi pada PT. Cipta Selera Semesta. Perancangan database tersebut dibagi menjadi 3 langkah, yaitu perancangan konseptual, perancangan logical, dan perancangan fisikal.
4.1.1 Perancangan Database Konseptual
Berikut ini adalah tahap-tahap perancangan database konseptual, yaitu : 4.1.1.1 Pengidentifikasian Entitas
Table 4.1 : Tabel Pengidentifikasi Entitas
No Nama Entitas Deskripsi Alias Kejadian 1 Barang M erupakan entitas yang
memberikan informasi mengenai data jenis barang
product Setiap jenis barang
dapat dipasok oleh beberapa supplier 2 Supplier M erupakan entitas yang
memberikan informasi mengenai data supplier
Supplier Satu supplier dapat
memasok satu atau lebih jenis barang 3 Karyawan M erupakan entitas yang
memberikan informasi mengenai data karyawan
Staff Setiap karyawan
memiliki tugas dalam setiap transaksi pembelian dan penjualan 4 Order Pembelian
M erupakan entitas yang memberikan informasi mengenai barang-barang yang
akan dibeli ke supplier dan telah disetujui oleh direktur
Pembelian Setiap Purchase Order dibuat oleh karyawan dan berisi banyak barang
5. Gudang M erupakan entitas yang
memberikan informasi mengenai data barang yang tersimpan dan jumlah yang tersedia
Setiap transaksi
pembelian, barang yang sudah dibeli akan dimasukkan ke dalam gudang. Setiap karyawan dapat menggunakan barang yang terdapat di gudang. 6 Order Penjualan
M erupakan entitas yang memberikan informasi mengenai barang-barang yang
dipesan oleh pelanggan
Penjualan Setiap Delivery- Order dilakukan oleh satu agen dan banyak berisi barang
7 Bahan M entah M erupakan entitas yang memberikan informasi data jenis BahanM entah yang akan dijual ke pihak pelanggan
BM Setiap jenis BahanM entah dihasilkan oleh perusahaan dan dapat dijual ke beberapa pelanggan 8 Pelanggan M erupakan entitas yang
memberikan informasi mengenai data dari pelanggan
customer Setiap pelanggan
dapat membeli satu atau lebih jenis BahanM entah
9 Status Karyawan
M erupakan entitas yang memberikan informasi mengenai status karyawan
Setiap karyawan memiliki statusnya masing-masing 10 M asuk Gudang M erupakan entitas yang
memberikan informasi mengenai barang yang masuk
ke dalam gudang
Setiap barang yang kita beli akan dimasukkan ke dalam entitas masuk gudang
11 Keluar Gudang M erupakan entitas yang memberikan informasi mengenai barang apa saja yang sudah terjual
Setiap barang yang sudah dijual akan masuk ke dalam entitas keluar gudang
4.1.1.2 Pengidentifikasian Relationship
Table 4.2 : Tabel Pengidentifikasian Relationship
Nama Entitas M ultiplicity Relationship Nama Entitas M ultiplicity Bahan M entah 1..* Dipesan pada Order Penjualan 0..*
Barang 1..* 1..* Dipesan pada Ditempatkan pada Order Pembelian Gudang 0..* 1..* Pelanggan 1..* M elakukan Order Penjualan 1..1
Supplier 1..* M emasok Barang 1..*
Karyawan 1..1 1..1 1..1 1..1 M embuat M enangani mengurusi memiliki Order Pembelian Order Penjualan Gudang StatusKaryawan 0..* 0..* 1..* 1..1 Pembelian 1...1 M empunyai Surat Jalan 1..1 Status
Karyawan
1..1 Dimiliki Karyawan 1..1 M asuk Gudang 1..* M empunyai Order Pembelian 1..1 Keluar Gudang 1..* 1..* Ditangani M empunyai Karyawan Barang 1..* 1..*
Bahan Mentah Barang Karyawan Pelanggan Order Pembelian Supplier Gudang Order Penjualan Status Karyawan 1..* dipesan pada 0. .* 1. .* melakuk an 1. .1 1. .1 menangani 0..* 1.. 1 membuat 0.. *
1..* dipesan pada 0.. * 1..* memas ok 1..* 1..1 dipunyai 1.. 1 1..1 mengurusi 1.. * 1. .* ditempatk an pada 1..* MasukG udang KeluarG udang 1..* mempunyai 1. .1 1.. * dit angani 1..* 1.. * mempunyai 1..*
4.1.1.3 Pengidentifikasian dan Penghubungan Atribut dengan Entitas Berikut ini adalah daftar tabel atribut pada model data konseptual
1. Tabel Entitas Order Pembelian
Tabel 4.3 : Tabel Entitas Order Pembelian Atribut Deskripsi Panjang dan tipe
data
Null M ulti-valued
KdPO Kode order pembelian Int(12) No No
TglPembelian Tgl transaksi Datetime No No
TotalHargaBarang Jumlah nominal pembelian yang dilakukan
Decimal (12,2) StatusPembelian Status yang
menyatakan
pembelian sudah diterima atau belum
Numeric(1) No No
2. Tabel Order Penjualan
Tabel 4.4 : Tabel Entitas Order Penjualan
Atribut Deskripsi Panjang dan
tipe data
Null M ulti-valued
kdDO Kode order penjualan int(11) No No
TanggalPenjualan Tanggal dimana DO dikeluarkan
Datetime No No Jumlah Jumlah barang yang
dijual
Int(12) No No
namaSupir Nama supir Varchar(30) No No noPlat No plat mobil yang
akan membawa bahan mentah
Varchar(20) No No
3. Tabel Barang
Tabel 4.5 : Tabel Entitas Barang Attribute Deskripsi Panjang dan Tipe
Data
Null M ulti-valued
NamaBarang namaBarang Varchar(30) No No Spesifikasi Spesifikasi
barang
Varchar(20) No No
4. Tabel Karyawan
Tabel 4.6 : Tabel Entitas Karyawan
5. Table Pelanggan
Tabel 4.7 : Tabel Entitas Pelanggan Attribute Deskripsi Panjang dan tipe
data Null M ulti-valued kdPelanggan Kode pelanggan Int(12) No No namaPelanggan Nama pelanggan Varchar(30) No No alamatPelanggan Alamat pelanggan Varchar(50) No Yes telpPelanggan No telepon pelanggan Varchar(20) No No
BankPelanggan Nama bank pelanggan
Varchar(20) No No RekeningPelanggan No rekening
pelanggan
Varchar(20) No No Tipe pelanggan Jenis
pelanggan
Int(12) No No
depositPelanggan Nilai deposit Int(12) No No Attribute Deskripsi Panjang dan tipe
data
Null M ulti-valued
kdKaryawan Kode karyawan Int(12) No No
namaKaryawan Nama karyawan Varchar(30) No No alamatKaryawan Alamat karyawam Varchar(50) No Yes telpKaryawan No telepon karyawan Varchar(20) No No
6. Tabel S upplier
Tabel 4.8 : Tabel Entitas Supplier Attribute Deskripsi Panjang dan
tipe data
Null M ulti-valued
kdSupplier Kode supplier Int(12) No No
namaSupplier Nama supplier Varchar(20) No No alamatSupplier Alamat supplier Varchar(50) No Yes telpSupplier No telepon supplier Varchar(20) No No
7. Tabel Bahan Mentah
Tabel 4.9 : Tabel Entitas Bahan M entah
Attribute Deskripsi Panjang dan
tipe data
Null M ulti-valued
kdBM Kode bahan mentah Int(12) No No
namaBM Nama bahan mentah Varchar(20) No No SpesifikasiBM Spesifikasi bahan
mentah
Varchar(20) No No ukuranBM Ukuran bahan mentah Varchar(20) No No
8. Tabel Gudang
Tabel 4.10 : Tabel Entitas Gudang Attribute Deskripsi Panjang dan tipe
data
Null M ulti-valued
kdGudang Kode gudang Int(12) no no
tglmasukGudang Tanggal masuk barang ke gudang
Datetime no no
tglkelGudang Tanggal keluar barang dari gudang
Datetime no no
9. Table S tatus Karyawan
Table 4.11 : Tabel Status Karyawan Attribute Deskripsi Panjang dan tipe
data
Null M ulti-valued
KdStatus Kode status Int (12) No No
NamaStatus Status karyawan Varchar(20) No No
10. Table Masuk Gudang
Table 4.12 : Tabel M asuk Gudang
Attribute Deskripsi Panjang dan tipe data
Null M ulti-valued KdM asukGudang Kode masuk
gudang
Int(12) No No
KdPembelian Kode order pembelian
Int(12) No No
TglM asukGudang Tanggal masuk gudang
11. Table Keluar Gudang
Table 4.13 : Tabel Keluar Gudang
Attribute Deskripsi Panjang dan
tipe data
Null M ulti-valued KdKeluarGudang Kode keluar
gudang
Int (12) No No
KdKaryawan Kode karyawan Int (12) No No TglKeluarGudang Tanggal keluar
gudang
Datetime Yes No
KdKaryawanPeminta Kode karyawan peminta
Int (12) Yes No
KdBarang Kode barang Int (12) No No
Jumlah Jumlah barang Int (12) Yes No
Keterangan keterangan Text Yes no
4.1.1.4 Penentuan Domain Atribut
Berikut ini adalah daftar tabel domain atribut untuk masing-masing entitas pada model konseptual
1. Order Pembelian
Tabel 4.14 : Tabel Domain Atribut Pembelian
Attribute Domain value
kdPembelian Auto increment
tglPembelian Range value : 0-9, ' / '
Jumlah Range value : 0-9, ' , '
StatusPembelian Range value : 0-1
2. Order Penjualan
Tabel 4.15 : Tabel Domain Atribut Penjualan
Attribute Domain value
kdPenjualan Auto increament
namaSupir Range value : A-Z , a-z noPlat Range value : A-Z , a-z, 0-9,
Jumlah Range value 0-9
tglPenjualan Datetime
Tipe Range value 0-9
3. Tabel Barang
Tabel 4.16 : Tabel Domain Atribut Barang Attribute Domain value
kdBarang Range value : A-Z , a-z , 0-9, ‘ . ‘ , ‘ , ‘ namaBarang Range value : A-Z , a-z , 0-9, ‘ . ‘ , ‘ , ‘
Spesifikasi Range value : A-Z , a-z
4. Tabel Karyawan
Tabel 4.17 : Tabel Domain Atribut Karyawan Attribute Domain value
kdKaryawan Range value : A-Z , a-z , 0-9, ' . ' , ' , ' namaKaryawan Range value : A-Z , a-z , 0-9, ' . ' , ' , ' alamatKaryawan Range value : A-Z , a-z , 0-9, ' . ' , ' , ' telpKaryawan Range value : 0-9 , ' - '
5. Tabel Pelanggan
Tabel 4.18 : Tabel Domain Atribut Pelanggan
Attribute Domain value
kdPelanggan Range value : A-Z , a-z , 0-9, ' . ' , ' , ' namaPelanggan Range value : A-Z , a-z , 0-9, ' . ' , ' , ' alamatPelanggan Range value : A-Z , a-z , 0-9, ' . ' , ' , ' telpPelanggan Range value : 0-9 , ' - '
bankPelanggan Range value : A-Z , a-z rekeningPelanggan Range value : 0-9 tipePelanggan Range value : A-Z , a-z
6. Tabel S upplier
Tabel 4.19 : Tabel Domain Atribut Supplier
Attribute Domain value
kdSupplier Range value : A-Z , a-z , 0-9, ' . ' , ' , '
namaSupplier Range value : A-Z , a-z , 0-9, ' . ' , ' , '
alamatSupplier Range value : A-Z , a-z , 0-9, ' . ' , ' , '
telpSupplier Range value : 0-9 , ' - '
7. Tabel Bahan Mentah
Tabel 4.20 : Tabel Domain Atribut Bahan M entah
Attribute Domain value
kdBM Range value : A-Z , a-z , 0-9, ' . ' , ' , '
namaBM Range value : A-Z , a-z , 0-9, ' . ' , ' , '
SpesifikasiBM Range value : A-Z , a-z , 0-9, ' . ' , ' , '
ukuranBM Range value : 0-100
8. Tabel Gudang
Tabel 4.21 : Tabel Domain Atribut Gudang
Attribute Domain value
, '
kdKaryawan Auto Increment
tglmasukGudang Datetime tglkelGudang Datetime
9. Tabel S tatus Karyawan
Tabel 4.22 : Tabel Domain Atribut Status Karyawan
Attribute Domain value
KdStatus Range value 0-9
NamaStatus Range value : A-Z , a-z
10. Tabel Masuk Gudang
Tabel 4.23 : Tabel Domain Atribut M asuk Gudang
11. Tabel Keluar Gudang
Tabel 4.24 : Tabel Domain Atribut Keluar Gudang
Attribute Domain value
KdM asukGudang Range value 0-9
TglM asukGudang Datetime
4.1.1.5 Penentuan Atribut Primary Key dan Candidate Key Tabel 4.25 :Tabel Primary Key dan Candidate Key
No Entitas Candidate Key Primary Key
1 Order Pembelian kdPembelian kdSupplier kdKaryawan
kdPembelian
2 Barang kdBarang kdBarang
3 Bahan M entah kdBM kdBM
4 Order Penjualan kdPenjualan kdBahanM entah kdPelanggan kdKaryawan kdPenjualan 5 Supplier kdSupplier alamatSupplier kdSupplier 6 Pelanggan kdPelanggan alamatPelanggan kdPelanggan
7 Gudang kdGudang kdGudang
KdKeluarGudang Auto increment
TglKeluarGudang Datetime
KdKaryawanPeminta Auto Increment
Jumlah Range value 0-9
kdKaryawan
8 Karyawan kdKaryawan
alamatKaryawan
kdKaryawan
9 Status Karyawan KdStatus NamaStatus
KdStatus
10 M asuk Gudang KdM asukBarang KdPembelian TglM asukGudang
KdM asukGudang
11 Keluar Gudang KdKeluarGudang KdKaryawan KdKaryawanPeminta KdBarang TglKeluarGudang Jumlah Keterangan KdKeluarGudang
4.1.1.6 Validasi Model Terhadap Adanya Perulangan
Tujuan dari langkah ini adalah untuk mengecek apakah terdapat redundansi dalam model yang telah dibentuk. Terdapat dua langkah dalam melakukan pengecekan ini, yaitu:
a. M engkaji kembali hubungan one-to-one (1:1)
• Hubungan entitas antara Status Karyawan dengan Karyawan
Gambar 4.3 Hubungan one-to-one antara entitas
S tatus Karyawan dengan Karyawan Entitas Status Karyawan dengan entitas Karyawan tidak sama, karena entitas Status Karyawan hanya berisikan status karyawan yang bekerja di perusahaan tersebut sedangkan entitas Karyawan mencatat biodata karyawan yang bekerja di perusahaan tersebut.
b. M enghilangkan relasi yang redundan Tidak ada yang berelasi redundan
Gambar ERD setelah mengalami variasi model
Gambar 4.4 Entity Relationship Diagram dengan primary key setelah validasi model
4.1.1.7 Validasi Model Konseptual Lokal Terhadap Transaksi Pengguna Berikut adalah transaksi yang ada :
a. Pelanggan melakukan Order Penjualan b. Supplier dapat memasok barang
c. Barang dipesan kemudian dimasukkan ke dalam Order Pembelian d. Barang dimasukkan/disimpan ke dalam Gudang
e. Bahan mentah yang dipesan kemudian dimasukkan ke dalam Order Penjualan
f. Karyawan menangani Order Penjualan g. Karyawan membuat Order Pembelian h. Karyawan mengurusi Gudang
4.1.2 Perancangan Database Logikal
Berikut ini tahap-tahap perancangan database logikal yaitu :
4.1.2.1 Menghilangkan Fitur yang tidak Kompatibel dengan Model Relasional
Berikut ini adalah tahap-tahap dalam menghilangkan fitur-fitur yang tidak sesuai dengan model relasional
1. Menghilangkan Many-To-Many (*:*) Binary Relationship
a. Relasi many-to-many pada Entitas Order Pembelian dan Barang akan menghasilkan entitas baru yaitu DetailPembelian
b. Relasi many-to-many pada Entitas Order Penjualan dan BahanM entah akan menghasilkan entitas baru yaitu DetailPenjualan
c. Relasi many-to-many pada entitas Barang dan Gudang akan menghasilkan entitas baru yaitu DetailGudang
d. Relasi many-to-many pada entitas Barang dan KeluarGudang akan menghasilkan entitas baru yaitu KeluarGudangDetail
e. Relasi many-to-many pada Supplier dan Barang akan menghasilkan entitas baru yaitu DetailBarangSupplier
2. Menghilangkan Many-To-Many (*:*) Recursive Relationship Tidak terdapat recursive relationship.
3. Menghilangkan Multi-Valued Atribut
a. Atribut Multi-valued TelpSupplier pada entitas Supplier dihilangkan dengan menghasilkan sebuah entitas baru yaitu entitas Telp_Supplier
Supplier kdSupplier namaSupplier alamatSupplier telpSupplier mempunyai b. Supplier kdSupplier namaSupplier alamatSupplier telpSupplier TelpSupplier Telp_Supplier
b. Atribut Multi-valued TelpPelanggan pada entitas Pelanggan dihilangkan dengan menghasilkan sebuah entitas baru yaitu entitas Telp_Pelanggan
Pelanggan kdPelanggan namaPelanggan alamatPelanggan telpPelanggan mempunyai m
c. Atribut Multi-valued TelpKaryawan pada entitas Karyawan dihilangkan dengan menghasilkan sebuah entitas baru yaitu entitas TelpKaryawan
Karyawan kdKaryawan namaKaryawan alamatKaryawan telpKaryawan mempunyai Pelanggan kdPelanggan namaPelanggan alamatPelanggan telpPelanggan TelpPelanggan Telp_Pelanggan Karyawan kdKaryawan namaKaryawan alamatKaryawan telpKaryawan TelpKaryawan Telp_Karyawan
4.1.2.2 Memperoleh Relasi bagi Model Data Logikal Lokal
Berikut adalah tahap-tahap memperoleh relasi bagi model data logikal local
1. Mengidentifikasi Strong Entity
Karyawan (kdKaryawan, alamatKaryawan) Primary Key : kdKaryawan
Bahan Mentah (kdBM , ukuranBM , spesifikasiBM , hargaBM , namaBM)
Primary Key : kdBM
Pelanggan (kdPelanggan, namaPelanggan, alamatPelanggan, telpPelanggan, bankPelanggan, rekeningPelanggan,
depositPelanggan, tipePelanggan)
Primary Key : kdPelanggan
Supplier (kdSupplier, namaSupplier, alamatSupplier, telpSupplier) Primary Key : kdSupplier
Order Pembelian (kdPO, kdKaryawan, kdBarang, kdSupplier, tglPembelian, Jumlah, StatusPembelian)
Order Penjualan (kdDO, kdPelanggan, NamaSupir,
NomorPlat, kdBM , jumlah, tipe, KdKaryawan, tglPenjualan) Primary Key : kdDO
Barang (kdBarang, namaBarang, Spesifikiasi) Primary Key : kdBarang
Gudang (kdGudang, namaGudang) Primary Key : kdGudang
S tatus Karyawan (KdStatus, NamaStatus) Primary Key : KdStatus
Masuk Gudang (KdMasukGudang, TglMasukGudang) Primary Key : KdMasukGudang
Keluar Gudang (KdKeluarGudang, TglKeluarGudang, Jumlah,Keterangan)
Primary Key : KdKeluarGudang
2. Mengidentifikasi Weak Entity
Detail Pembelian (kdDetailPembelian, kdPO, kdBarang) Primary Key : kdDetailPembelian
Detail Penjualan (kdDetailPenjulan, kdDO, kdBM) Primary Key : kdDetailPenjualan
Detail Gudang (kdDetailGudang, kdGudang, kdBarang, jumlah, posisi)
Primary Key : kdGudang
Detail KeluarGudang (KdKeluarGudangDetail, KdBarang, Jumlah, KdKeluarGudang)
Primary Key : KdKeluarGudangDetail
Detail Barang Supplier (KdDetailBarangSupplier, KdBarang, KdSupplier, Harga, LastUpadate)
Primary Key : KdDetailBarangSupplier
Telp S upplier (telpSupplier) Primary Key : telpSupplier
Telp Karyawan (telpKaryawan) Primary Key : telpKaryawan
Telp Pelanggan (telpPelanggan) Primary Key : telpPelanggan
3. Mengidentifikasi Relasi One-To-many (1:*)
a. Karyawan dengan OrderPembelian untuk relasi 1 : * Membuat
Karyawan (KdKaryawan, OrderPembelian (
NamaKaryawan, KdPO, KdBarang,
AlamatKaryawan, KdSupplier,
TelpKaryawan) TglPembelian, Primary Key : KdKaryawan KdKaryawan,
Jumlah, StatusPembelian) Primary Key : KdPO Foreign Key : KdKaryawan Reference : Karyawan
b. Karyawan dengan Order Penjualan untuk relasi 1 : * Membuat
Karyawan (KdKaryawan, OrderPenjualan (
NamaKaryawan, KdDO,
AlamatKaryawan, KdPelanggan,
TelpKaryawan) KdKaryawan, Primary Key : KdKaryawan TglPenjualan, Tipe,
NamaSupir, KdBM ) Primary Key : KdDO Foreign Key : KdKaryawan Reference : Karyawan
c. Karyawan dengan Gudang untuk relasi 1 : * Mengurusi
namaKaryawan, namaGudang, alamatKaryawan, telpKaryawan) KdKaryawan,
TglM asukGudang,
Primary Key : kdKaryawan TglKeluarGudang) Primary Key : KdGudang Foreign Key : kdKaryawan Reference: Karyawan
d. Karyawan dengan KeluarGudang untuk relasi 1 : * M enangani
Karyawan (kdKaryawan, KeluarGudang (
namaKaryawan, KdKeluarGudang,
alamatKaryawan, telpKaryawan) KdKaryawan
Primary Key : kdKaryawan TglKeluarGudang, KdKarayawan
Keterangan) Primary Key : KdKeluarGudang Foreign Key : kdKaryawan Reference : Karyawan e. Supplier dengan Order Pembelian untuk relasi 1 : *
Mengerjakan
Supplier ( kdSupplier, OrderPembelian (
NamaSupplier, KdPO, KdKaryawan,
AlamatSupplier, KdSupplier,
TelpSupplier) KdBarang,
Primary Key : KdSupplier TglPembelian, Jumlah,
StatusPembelian) Primary Key : KdPO ForeignKey :
Reference : Supplier
f. Supplier dengan Barang untuk relasi 1 : * Memasok
Supplier (KdSupplier, Barang (KdBarang,
NamaSupplier, NamaBarang, AlamatSupplier, Spesifikasi,
TelpSupplier) KdSupplier)
Primary Key : KdSupplier Primary Key : KdBarang Foreign Key : KdSupplier Reference : Supplier
g. Order Pembelian dengan MasukGudang untuk relasi 1 : * Mempunyai
Order Pembelian (KdPO, MasukGudang ( KdKaryawan, KdBarang, KdM asukGudang, KdSupplier, TglPembelian, KdPO,
Jumlah, StatusPembelian) TglM asukGudang) Primary Key : KdPO Primary Key :
KdM asukGudang Foreign Key : KdPO
Reference :
OrderPembelian
4. Mengidentifikasi Relasi One-to-one (1:1)
a. S tatus Karyawan dengan Karyawan untuk relasi 1:1 menghasilkan
S tatus Karyawan (KdStatus, Karyawan
NamaStatus) (KdKaryawan, NamaKaryawan,
Primary Key : KdS tatus AlamatKaryawan, telpKaryawan, KdStatus) Primary Key : KdKaryawan
Foreign Key : KdStatus
Reference : Status
Karyawan
5. Mengidentifikasi Relasi Many-to-Many (*:*) a.
(OrderPembelian (kdPO, Barang (kdbarang, kdBarang, kdSupplier, namaBarang, tglPembelian, Spesifikasi) Jumlah, kdKaryawan) Primary Key : Primary Key : kdPembelian KdBarang
kdPO dengan
detailPembelian untuk model relasi * : * Memiliki kdBarang dengan detailPembelian untuk model relasi * : * Menambah
detailPembelian (kdDetailPembelian, KdPO, kdBarang, jumlah)
Primary Key : KdDetailPembelian Foreign Key :
kdPO referensi OrderPembelian kdBarang referensi Barang
b.
OrderPenjualan ( kdDO, BahanMentah ( kdBM , kdPelanggan , namaBM , hargaBM , NamaSupir, NomorPlat, satuanBM ,
kdBahanM entah, jumlah, tipe, Primary Key : kdBM KdKaryawan, tglPenjualan)
Primary Key: kdPenjualan
kdDO dengan
detailPenjualan untuk model relasi * : * Memiliki
kdBahanMentah dengan
detailPenjualan untuk
model relasi * : * Menambah
detailPenjualan (kdDetailPenjualan, kdDO, kdBM , jumlah)
Primary Key : kdDetailPenjualan, Foreign Key :
kdPO referensi OrderPenjualan kdBM referensi BahanM entah
c.
Gudang ( kdGudang, Barang ( kdBarang, namaGudang, kdKaryawan, NamaBarang, Spesifikasi, TglM asukGudang, KdSupplier) TglKeluarGudang) Primary Key: kdBarang Primary Key: kdGudang
kdGudang dengan
detailGudang untuk model relasi * : * Memiliki
relasi * : * Memiliki kdBarang dengan detailGudang untuk model relasi * : *
Menambah
detailGudang ( kdDetailGudang, kdGudang,kdBarang, posisi, jumlah) Primary Key : kdDetailGudang Foreign Key :
kdGudang referensi Gudang kdBarang referensi Barang d.
KeluarGudang ( kdKeluarGudang, Barang (KdBarang, TglKeluarGudang, KdKaryawan, NamaBarang, KdKaryawanPeminta, Keterangan, Spesifikasi)
Jumlah) Primary Key :
Primary Key: kdGudang KdBarang
kdKeluarGudang dengan
KeluarGudangDetail untuk model relasi * : * Memiliki relasi * : * Memiliki kdBarang dengan KeluarGudangDeta il untuk model relasi * : *
Menambah
KeluarGudangDetail (KdKeluarGudangDetail, ,kdBarang, posisi, jumlah)
Primary Key : kdDetailGudang Foreign Key :
kdKaryawan referensi Karyawan kdBarang referensi Barang e.
Supplier (KdSupplier, NamaSupplier Barang (KdBarang, AlamatSupplier, TelpSupplier) NamaBarang, Primary Key : KdSupplier Spesifikasi,
KdSupplier) KdS upplier dengan
DetailBarangSupplier untuk model relasi * : * Memiliki relasi * : * Memiliki kdBarang dengan DetailBarangSuppl ier untuk model relasi * : * Menambah
DetailBarangSupplier (KdDetailBarangSupplier, ,kdBarang, KdSupplier)
Primary Key : kdDetailBarangSupplier Foreign Key :
kdSupplier referensi Supplier kdBarang referensi Barang
6. Mengidentifikasi Multi-Valued Atribut
a. kdS upplier dengan TelpS upplier untuk model relasi multi-valued
Mempunyai
Supplier (KdSupplier, TelpSupplier (
NamaSupplier, TelpSupplier, KdSupplier)
AlamatSupplier, TelpSupplier) Primary Key : TelpSupplier Primary Key : KdSupplier Foreign Key : KdSupplier
Referensi : Supplier b. kdPelanggan dengan TelpPelanggan untuk model relasi multi-valued Mempunyai
Pelanggan ( kdPelanggan, TelpPelanggan ( kdPelanggan, namaPelanggan, telpPelanggan telpPelanggan
Primary Key : kdPelanggan Primary Key : kdPelanggan Foreign Key :
kdPelanggan
referensi : Pelanggan
c. kdKaryawan dengan TelpKaryawan untuk model relasi multi-valued
Mempunyai
Karyawan ( kdKaryawan, TelpKaryawan ( kdKaryawan, namaKaryawan, telpKaryawan telpKaryawan) Primary Key : kdKaryawan Primary Key :
kdKaryawan Foreign Key :
kdKaryawan
referensi : Karyawan
4.1.2.3 Memvalidasi Relasi Menggunakan Normalisasi a. Normalisasi
Database sudah dalam bentuk normalisasi pertama dan normalisasi kedua
sudah ditentukan primary key-nya pada perancangan konseptual, juga telah dipecah antara tabel header dan tabel detail transaksi serta telah dihilangkan atribut multi-valued pada tahap menghapus fitur yang tidak kompatibel di dalam tahap perancangan logikal. M aka pada tahap selanjutnya adalah meghilangkan ketergantungan transitif ( transitive depedency ) sehingga memenuhi aturan 3NF.
1. UNF
Order Pembelian (KdPO, KdBarang, KdSupplier, TglPembelian, Jumlah, KdKaryawan)
Order Penjualan (KdDO, KdBM , KdPelanggan, NamaSupir, NoPlat, Tipe, KdKaryawan, TglPenjualan)
Bahan M entah (KdBM , namaBM , hargaBM , SatuanBM ) Karyawan (KdKaryawan, NamaKaryawan, AlamatKaryawan, TelpKaryawan, KdStatus)
Status Karyawan (KdStatus, NamaStatus)
Pelanggan (KdPelanggan, NamaPelanggan, AlamatPelanggan,
TelpPelanggan, BankPelanggan, RekeningPelanggan, TipePelanggan, DepositPelanggan)
Supplier (KdSupplier, NamaSupplier, AlamatSupplier, TelpSupplier,KdBarang)
Gudang (KdGudang, NamaGudang,
KdKaryawan,TglM asukGudang,TglKeluarGudang)
M asukGudang (KdM asukGudang, KdPO, TglM asukGudang) KeluarGudang (KdKeluarGudang, KdBarang, KdKaryawan, TglKeluarGudang, Keterangan, KdKaryawanPeminta, Jumlah) Barang (KdBarang, NamaBarang, Spesifikasi)
2. 1NF
Order Pembelian (KdPO, KdBarang, KdSupplier, TglPembelian, KdKaryawan)
Order Penjualan (KdDO, KdBM , KdPelanggan, NamaSupir, NoPlat, Tipe, KdKaryawan, TglPenjualan)
Bahan M entah (KdBM , namaBM , hargaBM , SatuanBM ) Karyawan (KdKaryawan, NamaKaryawan, AlamatKaryawan, TelpKaryawan, KdStatus)
Status Karyawan (KdStatus, NamaStatus)
Pelanggan (KdPelanggan, NamaPelanggan, AlamatPelanggan, TelpPelanggan, BankPelanggan, RekeningPelanggan,
TipePelanggan, DepositPelanggan)
Supplier (KdSupplier, NamaSupplier, AlamatSupplier, TelpSupplier,KdBarang)
Gudang (KdGudang , NamaGudang,
KdKaryawan,TglM asukGudang,TglKeluarGudang)
M asukGudang (KdM asukGudang, KdPO, TglM asukGudang) KeluarGudang (KdKeluarGudang, KdBarang, KdKaryawan, TglKeluarGudang, Keterangan, KdKaryawanPeminta, Jumlah) Barang (KdBarang, NamaBarang, Spesifikasi)
3. 2NF
Order Pembelian (KdPO, KdBarang, KdSupplier, TglPembelian, KdKaryawan)
Order Penjualan (KdDO, KdBM , KdPelanggan, NamaSupir, NoPlat, Tipe, KdKaryawan, TglPenjualan)
Bahan M entah (KdBM , namaBM , hargaBM , SatuanBM ) Karyawan (KdKaryawan, NamaKaryawan, AlamatKaryawan, TelpKaryawan, KdStatus)
Status Karyawan (KdStatus, NamaStatus)
Pelanggan (KdPelanggan, NamaPelanggan, AlamatPelanggan, TelpPelanggan, BankPelanggan, RekeningPelanggan,
Supplier (KdSupplier, NamaSupplier, AlamatSupplier, TelpSupplier,KdBarang)
Gudang (KdGudang , NamaGudang,
KdKaryawan,TglM asukGudang,TglKeluarGudang)
M asukGudang (KdM asukGudang, KdPO, TglM asukGudang) KeluarGudang (KdKeluarGudang, KdBarang, KdKaryawan, TglKeluarGudang, Keterangan, KdKaryawanPeminta, Jumlah)
Barang (KdBarang, NamaBarang, Spesifikasi)
4. 3NF
Order Pembelian (KdPO, KdBarang, KdSupplier, TglPembelian, KdKaryawan)
Order Penjualan (KdDO, KdBM , KdPelanggan, NamaSupir, NoPlat, Tipe, KdKaryawan, TglPenjualan)
Bahan M entah (KdBM , namaBM , hargaBM , SatuanBM ) Karyawan (KdKaryawan, NamaKaryawan, AlamatKaryawan, TelpKaryawan, KdStatus)
Status Karyawan (KdStatus, NamaStatus)
Pelanggan (KdPelanggan, NamaPelanggan, AlamatPelanggan, TelpPelanggan, BankPelanggan, RekeningPelanggan,
TipePelanggan, DepositPelanggan)
Supplier (KdSupplier, NamaSupplier, AlamatSupplier, TelpSupplier, KdBarang)
Gudang (KdGudang , NamaGudang, KdKaryawan, TglM asukGudang, TglKeluarGudang)
M asukGudang (KdM asukGudang, KdPO, TglM asukGudang) KeluarGudang (KdKeluarGudang, KdKaryawan,
TglKeluarGudang, Keterangan, KdKaryawanPeminta) Barang (KdBarang, NamaBarang, Spesifikasi)
KeluarGudangDetail (KdKeluarGudangDetail, KdBarang, Jumlah)
Detail Pembelian (KdDetailPembelian, KdPO, KdBarang, Jumlah)
Detail Penjualan (KdDetailPenjualan, KdDO, KdBM , Jumlah) Detail Gudang(KdDetailGudang, KdGudang, KdBarang, Posisi, Jumlah)
Detail BarangSuplier (KdDetailBarangSupplier, KdSupplier, KdBarang, Harga, LastUpdate)
Telp Karyawan (KdKaryawan,TelpKaryawan) Telp Pelanggan (KdPelanggan, TelpPelanggan) Telp Supplier (KdSupplier, TelpSupplier)
Hasil Validasi Normalisasi
• Order Pembelian (KdPO, KdBarang, KdSupplier, TglPembelian, KdKaryawan)
Primary Key : KdPO
Foreign Key : KdBarang references Barang (KdBarang) Foreign Key : KdSupplier reference Supplier (KdSupplier)
• Order Penjualan (KdDO, KdBM , KdPelanggan, NamaSupir, NoPlat, Tipe, KdKaryawan, TglPenjualan)
Primary Key : KdDO
Foreign Key : KdBM references Bahan M entah (KdBarang) Foreign Key : KdPelanggan reference Pelanggan (KdPelanggan) Foreign Key : KdKaryawan reference Karyawan (KdKaryawan)
• Karyawan (KdKaryawan, NamaKaryawan, AlamatKaryawan, TelpKaryawan, KdStatus)
Foreign Key : KdStatus reference Status Karyawan (KdStatus)
• Supplier (KdSupplier, NamaSupplier, AlamatSupplier, TelpSupplier,KdBarang)
Primary Key : KdSupplier
Foreign Key : KdBarang reference Barang (KdBarang)
• Gudang (KdGudang , NamaGudang,
KdKaryawan,TglM asukGudang,TglKeluarGudang) Primary Key : KdGudang
Foreign Key : KdKaryawan reference Karyawan (KdKaryawan)
• M asukGudang (KdM asukGudang, KdPO, TglM asukGudang) PrimaryKey : KdM asukGudang
Foreign Key : KdPO reference OrderPembelian (KdPO)
• KeluarGudang (KdKeluarGudang, KdKaryawan, TglKeluarGudang, Keterangan, KdKaryawanPeminta) Primary Key : KdKeluarGudang
Foreign Key : KdKaryawan reference Karyawan (KdKaryawan)
• KeluarGudangDetail (KdKeluarGudangDetail, KdBarang, Jumlah)
Primary Key : KdKeluarGudangDetail
Foreign Key : KdBarang reference Barang (KdBarang)
• Detail Pembelian (KdDetailPembelian, KdPO, KdBarang, Jumlah)
Primary Key : KdDetailPembelian, KdBarang
Foreign Key : KdPO reference Order Pembelian (KdPO) Foreign Key : KdBarang reference Barang (KdBarang)
• Detail Penjualan (KdDetailPenjualan, KdDO, KdBM , Jumlah) Primary Key : KdDetailPenjualan, KdBM
Foreign Key : KdDO reference Order Penjualan (KdDO) Foreign Key : KdBM reference Bahan M entah (KdBM )
• Detail Gudang(KdDetailGudang, KdGudang, KdBarang, Posisi, Jumlah)
Primary Key : KdDetailGudang
Foreign Key : KdBarang reference Barang (KdBarang) Foreign Key : KdGudang reference Gudang (KdKaryawan)
• Detail BarangSuplier (KdDetailBarangSupplier, KdSupplier, KdBarang, Harga, LastUpdate)
Primary Key : KdDetailBarangSupplier
Foreign Key : KdSupplier reference Supplier (KdSupplier) Foeihgn Key : KdBarang reference Barang (KdBarang)
• Telp Karyawan (KdKaryawan,TelpKaryawan) Primary Key : TelpKaryawan
Foreign Key : KdKaryawan reference Karyawan (KdKaryawan)
• Telp Pelanggan (KdPelanggan, TelpPelanggan) Primary Key : TelpPelanggan
Foreign Key : KdPelanggan reference Pelanggan (KdPelanggan)
• Telp Supplier (KdSupplier, TelpSupplier) Primary Key : TelpSupplier
Foreign Key : KdSupplier reference Supplier (KdSupplier)
4.1.2.4 Mengecek Integrity Constraint
• Bahan M entah (KdBM , namaBM , hargaBM , SatuanBM ) Primary Key : KdBM
• Status Karyawan (KdStatus, NamaStatus) Primary Key : KdStatus
• Barang (KdBarang, NamaBarang, Spesifikasi) Primary Key : KdBarang
• Supplier (KdSupplier, NamaSupplier, AlamatSupplier, TelpSupplier,KdBarang)
Primary Key : KdSupplier
Foreign Key : KdBarang references Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
• Pelanggan (KdPelanggan, NamaPelanggan, AlamatPelanggan,
TelpPelanggan, BankPelanggan, RekeningPelanggan, TipePelanggan, DepositPelanggan)
Primary Key : KdPelanggan
• Order Pembelian (KdPO, KdBarang, KdSupplier, TglPembelian, KdKaryawan)
Primary Key : KdPO
Foreign Key : KdBarang references Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdSupplier reference Supplier (KdSupplier) ON UPDATE CASCADE ON DELETE NO ACTION
• Order Penjualan (KdDO, KdBM , KdPelanggan, NamaSupir, NoPlat, Tipe, KdKaryawan, TglPenjualan)
Primary Key : KdDO
Foreign Key : KdBM references Bahan M entah (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdPelanggan reference Pelanggan (KdPelanggan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdKaryawan reference Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
• Karyawan (KdKaryawan, NamaKaryawan, AlamatKaryawan, TelpKaryawan, KdStatus)
Primary Key : KdKaryawan
Foreign Key : KdStatus reference Status Karyawan (KdStatus) ON UPDATE CASCADE ON DELETE NO ACTION
• Gudang (KdGudang , NamaGudang,
KdKaryawan,TglKeluarBarang,TglM asukGudang) Primary Key : KdGudang
Foreign Key : KdKaryawan reference Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
• M asukGudang (KdM asukGudang, KdPO, TglM asukGudang) Primary Key : KdM asukGudang
Foreign Key : KdPO reference OrderPembelian (KdPO) ON UPDATE CASCADE ON DELETE NO ACTION
• KeluarGudang (KdKeluarGudang, KdKaryawan, TglKeluarGudang, Keterangan, KdKaryawanPeminta)
Foreign Key : KdBarang reference Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdKaryawah reference Karyawah (KdKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
• KeluarGudangDetail (KdKeluarGudangDetail, KdBarang, Jumlah) Primary Key : KdKeluarGudangDetail
Foreign Key : KdBarang reference Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
• Detail Pembelian (KdDetailPembelian, KdPO, KdBarang, Jumlah) Primary Key : KdDetailPembelian, KdBarang
Foreign Key : KdPO reference Order Pembelian (KdPO) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdBarang reference Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
• Detail Penjualan (KdDetailPenjualan, KdDO, KdBM , Jumlah) Primary Key : KdDetailPenjualan, KdBM
Foreign Key : KdDO reference Order Penjualan (KdDO) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdBM reference Bahan M entah (KdBM ) ON UPDATE CASCADE ON DELETE NO ACTION
• Detail Gudang(KdDetailGudang, KdGudang, KdBarang, Posisi, Jumlah)
Primary Key : KdDetailGudang
Foreign Key : KdBarang reference Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdGudang reference Gudang (KdGudang) ON UPDATE CASCADE ON DELETE NO ACTION
• Detail BarangSuplier (KdDetailBarangSupplier, KdSupplier, KdBarang, Harga, LastUpdate)
Foreign Key : KdBarang reference Barang (KdBarang) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key : KdSupplier reference Supplier (KdSupplier) ON UPDATE CASCADE ON DELETE NO ACTION
• Telp Karyawan (KdKaryawan,TelpKaryawan) Primary Key : TelpKaryawan
Foreign Key : KdKaryawan reference Karyawan (KdKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
• Telp Pelanggan (KdPelanggan, TelpPelanggan) Primary Key : TelpPelanggan
Foreign Key : KdPelanggan reference Pelanggan (KdPelanggan) ON UPDATE CASCADE ON DELETE NO ACTION
• Telp Supplier (KdSupplier, TelpSupplier) Primary Key : TelpSupplier
Foreign Key : KdSupplier reference Supplier (KdSupplier) ON UPDATE CASCADE ON DELETE NO ACTION
4.1.2.5 Pembuatan Model Basis Data Logikal Global Bah anMen ta h PK KdBM Na maBM Ha rgaBM Satua nBM Sta tu sKaryaw an PK KdStatus Nama Sta tu s Ba rang PK K dB ara ng N amaBa rang Sp esifika si FK1 Kd Supp lie r OrderPe mbel ian
PK KdPO Tg lPemb eli an FK1 KdSup pli er FK2 KdBara ng FK3 KdKarya wan
Orde rPenj ual an PK K dD O N amaSu pir N oPla t Tip e Tgl Penj ual an FK1 Kd Pela ngg an FK3 Kd Karyaw an Gud ang PK K dGuda ng N amaGud ang FK1 Kd Karyaw an Tgl MasukGud ang Tgl Kelu arGuda ng Karya wan PK KdKar yawan Nama Karyaw an Alama tKa ryawa n Te lpKa ryawa n FK1 KdStatus D etail Pembel ian
PK KdDeta ilPem be lian Jumla h
FK1 KdPO FK2 KdBara ng
D etail Penj ual an PK KdDe tailPe njualan
Juml ah FK1 KdD O FK2 KdBM Detai lGuda ng PK KdDeta ilGudang Posisi Jumla h FK1 KdGuda ng FK2 KdBara ng Telp Karyaw an PK TelpK ary awan FK1 KdKa ryawa n
Telp Pela ngg an PK Te lpPelangga n FK1 KdPel ang gan Tel pSup pli er
PK TelpSupplier FK1 KdSu ppl ier Sup pli er PK K dSupplier N amaSu ppl ier Al amatSup pli er Tel pSup pli er
Pela ngg an PK KdPelanggan
Nama Pela ngg an Alama tPe lan gga n Te lpPe lan gga n BankPe lan gga n Reke nin gPel ang gan Ti pePe lan gga n Dep ositPel ang gan 1..1 memua t 1..1 1 ..1 beri sikan 0 ..*
1 ..1 di bua t ol eh 0..* 1 ..* be risika n 1..1 1..1 beri sikan 1 ..* 1..* ditan gan i 0..* 1..1 me mili ki 1..1 1 ..1 di ta nga ni 1..* 1..1 me mili ki 1..* 1..1 b erisi kan 1..* 1..1 me mili ki 1..* 1..1 me mili ki 1..* 1..1 mempu nyai 1 ..1 1 ..1 memu at 1 ..* 1 ..1 memp unya i 1..* 1..1 mempu nyai 1..* 1..1 mempu nyai 1 ..* Masu kGu dan g
PK KdMas ukGuda ng TglMa sukGu dan g FK1 KdBa rang
Kelu arGuda ng PK KdKe luar Gudang
TglKe lua rGu dan g FK2 KdKa ryawa n
KdKa ryawa nPemi nta Ketera nga n 1..1 terd apa t 1..*
Kel uarGud ang Detai l PK KdKe luar GudangD etail FK2 KdBa rang
Juml ah FK1 KdKe lua rGu dan g
1 ..1 memp unyai 1 ..* 1 ..1 terdap at p ada 1 ..*
1..1 ditan gan i 1..*
De ta ilBa rang Suppl ier PK KdDeta ilBa rangSupplier
Harg a LastUp date FK1 KdSup pli er FK2 KdBara ng 1 ..1 memp unya i 1..* 1 ..1 di paso k 1 ..*
4.1.3 Perancangan Database Physical
4.1.3.1 Menentukan DBMS
Pemilihan DBM S ini merupakan hal yang dilakukan untuk menentukan DBM S apa yang nantinya akan digunakan oleh perusahaan. DBM S yang menjadi pertimbangan adalah : SQL Server2000, M ySQL 5.1.30 berikut adalah pertimbangan yang menjadi faktor dalam memilih DBM S :
DBM S Keterangan SQL Server2000 My SQL 5.1.30 Tipe DBM S Transactional Database Server Relational Database Server (Trancactional dengan driver InnoDB) Biaya $1,489-$4,999 (Profesional Edition) $0 (lisensi umum) atau $395 (lisensi komersial) Kebutuhan Piranti Keras
Intel Pentium II atau AM D k6-II processor 64M B RAM, 380 M B harddisk space Kebutuham minimum yang diperlukan system operasinya Kebutuhan Piranti Lunak Windows 2000 Server atau Windows .NET
Server 2003, Internet
Explorer 5.0
Linux / Sistem operasi berbasis UNIX, MyODBC (untuk ODBC driver support), Connector / J (untuk JDBC driver support Kelebihan M endukung kehandala Pengaksesan database dapat dilakukan
n dan keamanan
enterprise, dapat
menjalankan
database dalam satu
server
dengan mudah dan lebih cepat, data tersimpan pada tabel yang terpisah, lebih stabil
Kekurangan Biaya cukup tinggi memerlukan Windows 2000 Server Tidak sepenuhnya kompatibel dengan SQL92 (yang menyebabkan masalah
dengan aplikasi server
yang membuat query
SQLnya sendiri, versi yang Cuma-Cuma tidak
mendapatkan bantuan teknis, tidak dapat mengunci obyek di bawah level table
Keterbatasan
database
Terbatas mendekati miliar obyek dalam
database
Terbatas hingga 32 index tiap
tabel, ukuran database
terbatas
hingga ukuran terbesar file dari
sistem operasinya
Pemenuhan ACID Ya Ya
Kehandalan M endukung failover
cluster, pemulihan
point in time, dapat
melakukan restart jika terhenti
Pirate lunak open source Keamanan M enggunakan authentifikasi dengan pilihan untuk menyatukan kemanan database dengan keamanan Windows 2000 Server MySQL memiliki beberapa lapisan sekuritas seperti level
subnetmask, nama
host, dan izin akses
user dengan sistem perizinan yang mendetail serta sandi
terenkripsi. Standar SQL99, XM L, ODBC, JDBC, T-SQL SQL92 Intermediate, ODBC (memerlukan MyODBC, JDBC
Platform
SQL Server 2000 Windows-based (termasuk Windows 9x, Windows 2000, Windows NT dan Windows CE)
My SQL 5.1.30 Windows-based (termasuk Windows 9x, Windows 2000, Windows NT, Windows XP, dan Windows CE), Linux / Unix, M ac OS X, Solaris, Building ffrom source
Hardware
Keterangan SQL Server 2000 My SQL 5.1.30 Processor Pentium 166 MHZ atau lebih Untuk Windows :
Pentium II 300 MHz (600 MHz
recommended ) M emori 32M B RAM (minimal untuk
desktop engine), 64M B(minimal untuk semua edisi)
64 M B RAM ( 128M B
Recommended ) Harddisk Space 270M B (full installation),
250M B(typical installation), 95M B(minimal), desktop engine : 44M B, analysis Service : minimal 50 dan 130M B, typical English
Query : 80M B
Typical installation
minimal 140 M B
Data tersebut menggambarkan bahwa SQL Server 2000 memiliki kemampuan yang lebih baik dibandingkan dengan MySQL, namun biaya yang dikeluarkan cukup tinggi. Dengan pertimbangan masalah biaya, kemudahan teknis kapasitas DBM S dibandingkan dengan jumlah transaksinya maka disarankan M ySQL sebagai DBM S yang digunakan untuk mengimplementasikan rancangan database.
4.1.3.2 Menterjemahkan Global Logikal Data Model untuk Target DBMS
Merancang base relations
Domain Kode_Pelanggan : Integer, length 12
Domain Nama_Pelanggan : Variable character, length 128 Domain Deposit_Pelanggan : Integer, length 12
Domain Alamat_Pelanggan : Variable character, length 128 Domain Telpon_Pelanggan : Variable character, length 128 Domain Bank_Pelanggan : Variable character, length 128 Domain Rekening_Pelanggan : Variable character, length 128 Domain Tipe_Pelanggan : Integer, length 12
Pelanggan (
Kd_Pelanggan Kode_Pelanggan NOT NULL, Nama_Pelanggan Nama_Pelanggan NOT NULL, Deposit_Pelanggan Deposit_Pelanggan NOT NULL, Alamat_Pelanggan Alamat_Pelanggan NOT NULL, Telp_Pelanggan Telpon_Pelanggan NOT NULL, Bank_Pelanggan Bank_Pelangan NOT NULL,
Rekening_Pelanggan Rekening_Pelanggan NOT NULL, Tipe_Pelanggan Tipe_Pelanggan NOT NULL
Primary Key (Kd_Pelanggan) );
Domain Kode_Supplier : Integer, length 12
Domain Nama_Supplier : Variable character, length 128 Domain Alamat_Supplier : Variable character, length 128 Domain Telpon_Supplier : Variable character, length 128
Supplier(
Kd_Supplier Kd_Suplier NOT NULL, Nama_Supplier Nama_supplier NOT NULL, Deposit_Supplier Deposit_supplier NOT NULL, Alamat_Supplier Alamat_Supplier NOT NULL, Telp_Supplier Telepon_supplier NOT NULL, Primary Key (Kd_Supplier)
);
Domain Kode_Detail_Barang_Supplier : Integer, length 12 Domain Kode_Supplier : Integer, length 12
Domain Kode_Barang : Integer, length 12 Domain Harga : Integer, length 12
Domain Last_Update : Datetime
DetailBarangSupplier (
Kd_Detail_Barang_Supplier Kode_Detail_Barang_Supplier NOTNULL Kd_Supplier Kode_Supplier NOTNULL
Kd_Barang Kode_Barang NOTNULL Harga Harga NOTNULL
Last_Update Last_Update NOTNULL );
Domain Kode_Karyawan Integer, length 12
Domain Nama_Karyawan Variable character, length 128 Domain Alamat_Karyawan Variable character, length 128 Domain Telp_Karyawan Integer, length 12
Domain Kd_Status Integer, length 12
Karyawan (
Kd_Karyawan Kode_Karyawan NOT NULL, Nama_Karyawan Nama_Karyawan NOT NULL, Alamat_Karyawan Alamat_Karyawan NOT NULL, Telp_Karyawan Telp_Karyawan NOT NULL, Kd_Status Kd_Status NOT NULL
Primary Key (Kd_Karyawan) );
Domain Kd_Status Integer, length 12
Domain Nama_Status Variable character, length 128
Status Karyawan (
Kd_Status Kd_Status NOT NULL, Nama_Status Nama_Status NOT NULL Primary Key (Kd_Status)
);
Domain Kode_BM : Integer, length 12
Domain Nama_BM : Variable character, length 128 Domain Ukuran_BM : Variable character, length 128 Domain Harga_BM : Variable character, length 128 Domain Satuan_BM : Variable character, length 128
Bahan M entah (
Kd_BM Kode_BM NOT NULL, Nama_BM Nama_BM NOT NULL, Ukuran_BM Ukuran_BM NOT NULL, Harga_BM Harga_BM NOT NULL, Satuan_BM Satuan_BM NOT NULL, Primary Key (Kd_BM )
);
Domain Kode_Barang : Integer, length 12
Domain Nama_Barang : Variable character, length 128 Domain Spesifikasi : Text
Barang (
Kd_Barang Kode_Barang NOT NULL, Nama_Barang Nama_Barang NOT NULL,
Spesifikasi Spesifikasi NOT NULL, Primary Key (Kd_Barang)
);
Domain Kode_Gudang : Integer, length 12 Domain Kode_Barang : Integer, length 11 Domain Jumlah : Integer, length 11
Domain Posisi : Variable character, length 64
Detail Gudang (
Kd_Gudang Kode_Gudang NOT NULL, Kode_Barang Kode_Barang NOT NULL, Jumlah Jumlah NOT NULL,
Posisi Posisi NOT NULL,
Primary Key (Kd_Gudang, Posisi) );
Domain Kode_Gudang : Integer, length 11
Domain Nama_Gudang : Variable character, length 128 Domain Kode_Karyawan : Tiny integer, length 4
Gudang (
Kd_Gudang Kode_Gudang NOT NULL, Nama_Gudang Nama_Gudang NOT NULL, Kd_Karyawan Kode_Karyawan NOT NULL,
Primary Key (Kd_Gudang) );
Domain Kode_M asuk_Gudang : Integer, length 11 Domain Kode_Pembelian : Integer, length 11
Domain Tanggal_M asuk_Gudang : Datetime, length 8
M asuk_Gudang (
Kd_M asuk_Gudang Kode_M asuk_Gudang NOT NULL, Kd_Pembelian Kode_Pembelian NOT NULL,
Tgl_M asuk_Gudang Tanggal_M asuk_Gudang NOT NULL, Primary Key (Kd_M asuk_Gudang)
);
Domain Kode_Keluar_Gudang : Integer, length 11 Domain Kode_Karyawan : Integer, length 11
Domain Tanggal_Keluar_Gudang : Datetime, length 8 Domain Kode_Karyawan_Peminta : Integer, length 11 Domain Keterangan : Text
Keluar_Gudang (
Kd_Keluar_Gudang Kode_Keluar_Gudang NOT NULL, Kd_Karyawan Kode_Karyawan NOT NULL,
Keterangan Keterangan NULL Primary Key (Kd_Keluar_Gudang) );
Domain Kode_Keluar_Gudang : Integer, length 12 Domain Kode_Barang : Integer, length 12
Domain Jumlah : Integer, length 12
Keluar_Gudang_Detail (
Kd_Keluar_Gudang_Detail Kode_Keluar_Gudang_Detail NOT NULL, Kd_Barang Kode_Barang NOT NULL,
Jumlah Jumlah NOT NULL,
Primary Key (Kd_Keluar_Gudang, Kd_Barang) );
Domain Kode_Penjualan : Integer, length 12 Domain Kode_Pelanggan : Integer, length 12
Domain Nama_Pembeli : Variable character, length 128 Domain Nama_Supir : Variable character, length 128 Domain Nomor_Plat : Variable character, length 128 Domain Tipe : Integer, length 12
Domain Kode_Karyawan : Integer, length 12 Domain Tanggal_Penjualan : Datetime, length 8
PenjualanHeader (
Kd_Penjualan Kode_Penjualan NOT NULL, Kd_Pelanggan Kode_Pelanggan NOT NULL, Nama_Pembeli Nama_Pembeli NOT NULL, Nama_Supir Nama_Supir NOT NULL, Nomor_Plat Nomor_Plat NOT NULL, Jumlah Jumlah NOT NULL,
Tipe Tipe NOT NULL,
Kd_Karyawan Kode_Karyawan NOT NULL, Tgl_Penjualan Tanggal_Penjualan NOT NULL, Primary Key (Kd_PO)
);
Domain Kode_Detail_Penjualan : Integer, length 12 Domain Kode_Penjualan : Integer, length 12
Domain Kode_BahanM entah: Integer, length 12 Domain Jumlah : Integer, length 12
Penjualan Detail (
Kd_Detail_Penjualan Kode_Detail_Penjualan NOTNULL, Kd_Penjualan Kode_Penjualan NOT NULL,
Kd_BM Kode_Bahan_M entah NOTNULL Jumlah Jumlah NOTNULL
);
Domain Kode_Karyawan : Variable character, length 128 Domain Tanggal_Pembelian : Datetime, length 8
Domain Kode_Supplier : Integer, length 11
Pembelian_Header (
Kd_Pembelian Kode_Pembelian NOT NULL, Kd_Karyawan Kode_Karyawan NOT NULL, Tgl_Pembelian Tanggal_Pembelian NOT NULL, Kd_Supplier Kode_Supplier NOT NULL,
Primary Key (Kd_Pembelian) );
Domain Kode_Pembelian : Integer, length 11 Domain Kode_Barang : Integer, length 11 Domain Jumlah: Integer, length 11
Pembelian_Detail (
Kd_Pembelian Kode_Pembelian NOT NULL, Kd_Barang Kode_Barang NOT NULL, Jumlah Jumlah NOT NULL,
Primary Key (Kd_Pembelian, Kd_Barang) );
Domain Password Variable character, length 128 Domain Privillage Variable character, length 128 Domain Kode_Karyawan Integer, length 11
Login (
Username Username NOT NULL, Password Password NOT NULL, Privillage Privillage NOT NULL,
Kd_Karyawan Kode_Karyawan NOT NULL, Primary Key (Username)
);
4.1.3.3 Merancang Batasan
Tujuan dari tahap ini adalah untuk merancang batasan yang tidak boleh dilanggar di dunia nyata, yang isinya antara lain:
a. Karyawan tidak boleh memiliki lebih dari dua nomor telepon CONSTRAINT M axTelpKaryawan CHECK (NOT EXISTS (SELECT KdKaryawan FROM TeleponKaryawan GROUP BY KdKaryawan HAVING COUNT(*)>2))
b. Nomor telepon pelanggan tidak boleh lebih dari tiga
CONSTRAINT M axTelpPelanggan CHECK (NOT EXISTS (SELECT KdPelanggan FROM TelpPelanggan GROUP BY KdPelanggan HAVING COUNT(*)>3))
4.1.3.4Analisis Transaksi
Langkah ini bertujuan untuk memahami fungsionalitas dari transaksi-transaksi yang akan berjalan pada basis data dan untuk menganalisa transaksi-transaksi yang penting. M atriks menunjukkan transaksi yang dibutuhkan dan relasi yang diakses. Adapun matriks tersebut sebagai berikut :
1. M elihat barang yang masih ada di Gudang 2. M elihat bahan mentah yang masih ada di gudang 3. M emasukkan barang baru dan bahan mentah baru
4. M endapatkan informasi Pelanggan yang memesan Bahan M entah
5. M endapatkan informasi mengenai Supplier 6. M engupdate data Pelanggan.
7. M emasukkan data Pelanggan baru. 8. M engupdate data Supplier
9. M emasukkan Supplier baru
10. Karyawan membuat OrderPembelian.
11. M elihat OrderPembelian beserta siapa suppliernya 12. Karyawan membuat OrderPenjualan
13. M elihat daftar OrderPenjualan
14. M elihat daftar barang apa saja yang sudah masuk ke dalam gudang
15. M elihat daftar barang apa saja yang sudah keluar dari gudang
16. M elihat DetailPenjualan 17. M elihat DetailPembelian 18. M elihat DetailGudang
Tabel 4.26 Tabel Analisa Transaksi 1 Transaksi Relasi 1 2 3 4 R U D I R U D I R U D I R U D I Karyawan Gudang X X DetailGudang Barang X X X Supplier TeleponKaryawan FakturPenjualan Pelanggan X TeleponPelanggan TelpSupplier OrderPembelian DetailOrderPembelian TelpKaryawan StatusKaryawan
Transaksi Relasi 1 2 3 4 R U D I R U D I R U D I R U D I BahanM entah X X X X OrderPenjualan DetailOrderPenjualan KeluarGudangDetail M asukGudang KeluarGudang
I=Insert ; R=Read ; U=Update ; D=Delete
Tabel 4.27 Tabel Analisa Transaksi 2 Transaksi Relasi 5 6 7 8 R U D I R U D I R U D I R U D I Karyawan Gudang DetailGudang Barang Supplier X X X TeleponKaryawan Pelanggan X X X TeleponPelanggan X X X TelpSupplier X X OrderPembelian DetailOrderPembelian
Transaksi Relasi 5 6 7 8 R U D I R U D I R U D I R U D I TelpKaryawan StatusKaryawan BahanM entah OrderPenjualan DetailOrderPenjualan KeluarGudangDetail M asukGudang KeluarGudang
I=Insert ; R=Read ; U=Update ; D=Delete
Tabel 4.28 Tabel Analisa Transaksi 3 Transaksi Relasi 9 10 11 12 R U D I R U D I R U D I R U D I Karyawan X X Gudang DetailGudang Barang X Supplier X X TeleponKaryawan Pelanggan X TeleponPelanggan TelpSupplier X
Transaksi Relasi 9 10 11 12 R U D I R U D I R U D I R U D I OrderPembelian X DetailOrderPembelian X TelpKaryawan StatusKaryawan BahanM entah X OrderPenjualan X DetailOrderPenjualan X KeluarGudangDetail M asukGudang KeluarGudang
I=Insert ; R=Read ; U=Update ; D=Delete
Tabel 4.29 Tabel Analisa Transaksi 4 Transaksi Relasi 13 14 15 16 R U D I R U D I R U D I R U D I Karyawan X X X Gudang X X DetailGudang Barang X Supplier TeleponKaryawan Pelanggan X
Transaksi Relasi 13 14 15 16 R U D I R U D I R U D I R U D I TeleponPelanggan TelpSupplier OrderPembelian X DetailOrderPembelian TelpKaryawan StatusKaryawan X X BahanM entah X X OrderPenjualan X X DetailOrderPenjualan X X KeluarGudangDetail X M asukGudang X KeluarGudang X
I=Insert ; R=Read ; U=Update ; D=Delete
Tabel 4.30 Tabel Analisa Transaksi 5 Transaksi Relasi 17 18 R U D I R U D I Karyawan Gudang X DetailGudang X Barang X X Supplier
Transaksi Relasi 17 18 R U D I R U D I TeleponKaryawan Pelanggan TeleponPelanggan TelpSupplier OrderPembelian X DetailOrderPembelian X TelpKaryawan StatusKaryawan BahanM entah OrderPenjualan DetailOrderPenjualan KeluarGudangDetail M asukGudang KeluarGudang
I=Insert ; R=Read ; U=Update ; D=Delete
4.1.3.5 Memilih Organisasi File
Organisasi file yang dipilih pada perancangan basis data ini adalah B-Tree. B-Tree adalah sebuah balanced search tree
yang digunakan dalam basis data karena strukturnya memungkinkan data yang disimpan untuk disisipi, dihapus, dan diambil dengan jaminan proses dengan waktu terbaik. B-Tree
mendukung pengambilan data berdasarkan key yang tepat, pola yang tepat, kisaran nilai, dan bagian dari spesifikasi key.
B-Tree index adalah dinamis yang berkembang sesuai
dengan perkembangan relasi. Performa dari B-tree tidak terganggu saat ada relasi yang diupdate karena access key selalu dimaintain
ketika ada file yang diupdate, sehingga penerimaan tuple dapat lebih efisien.
4.1.3.6 Memilih Index
• Karyawan
CREATE CLUSTERED INDEX Id_KdKaryawan ON Karyawan (KdKaryawan)
CREATE NONCLUSTERED INDEX Id_NamaKaryawan ON Karyawan (NamaKaryawan)
CREATE INDEX Id_KdStatus ON SatusKaryawan (KdStatus)
• Status Karyawan
CREATE CLUSTERED INDEX Id_KdStatus ON StatusKaryawan (KdStatus)
CREATE NONCLUSTERED INDEX Id_NamaStatus ON SttausKaryawan (NamaStatus)
CREATE CLUSTERED INDEX Id_KdPelanggan ON Pelanggan (KdPelanggan)
• Barang
CREATE CLUSTERED INDEX Id_KdBarang ON Barang (KdBarang)
• Supplier
CREATE CLUSTERED INDEX Id_KdSupplier ON Supplier (KdSupplier)
• Bahan M entah
CREATE CLUSTERED INDEX Id_KdBM ON Bahan M entah (KdBM )
• Telp Karyawan
CREATE CLUSTERED INDEX Id_TelpKaryawan ON TelpKaryawan (TelpKaryawan)
• Telp Supplier
CREATE CLUSTERED INDEX Id_TelpSupplier ON TelpSupplier (TelpSupplier)
CREATE CLUSTERED INDEX Id_TelpPelanggan ON TelpPelanggan (TelpPelanggan)
• Gudang
CREATE CLUSTERED INDEX Id_KdGudang ON Gudang (KdGudang)
CREATE NONCLUSTERED INDEX Id_KdKaryawan ON Karyawan (KdKaryawan)
• M asukGudang
CREATE CLUSTERED INDEX Id_KdM asukGudang ON M asukGudang (KdM asukGudang)
• KeluarGudang
CREATE CLUSTERED INDEX Id_KdKeluarGudang ON KeluarGudang (KdKeluarGudang)
• Detail Gudang
CREATE CLUSTERED INDEX Id_KdDetailGudang ON DetailGudang (KdDetailGudang,KdGudang,KdBarang)
CREATE CLUSTERED INDEX Id_KdDetailKeluarGudang ON DetailKeluarGudang
(KdDetailKeluarGudang,KdGudang,KdBarang)
• Order Pembelian
CREATE CLUSTERED INDEX Id_KdPO ON OrderPembelian (KdPO)
CREATE NONCLUSTERED INDEX Id_TglPembelian ON OrderPembelian (TglPembelian)
• Detail Order Pembelian
CREATE CLUSTERED INDEX Id_KdDetailPembelian ON DetailPembelian (KdDetailPembelian, KdBarang)
• Order Penjualan
CREATE CLUSTERED INDEX Id_KdDO ON OrderPenjualan (KdDO)
CREATE NONCLUSTERED INDEX Id_TglPenjualan ON OrderPenjualan (TglPenjualan)
• Detail Penjualan
CREATE CLUSTERED INDEX Id_KdDetailPenjualan ON DetailPenjualan (KdDetailPenjualan, KdBM )
• Detail BarangSuplier
CREATE CLUSTERED INDEX Id_KdDetailBarangSupplier ON DetailPenjualan
(KdDetailBarangSupplier, KdBarang) 4.1.3.7 Estimate disk space requirements
Pelanggan Kd_Pelanggan Int(12) Nama_Pelanggan Varchar(128) Deposit_Pelanggan Varchar(128) Alamat_Pelanggan Varchar(128) Telp_Pelanggan Varchar(128) Bank_Pelanggan Varchar(128) Rekening_Pelanggan Varchar(128) Tipe_Pelanggan Int(12) Kapasitas dari Tabel Pelanggan adalah 673 bytes.
Diperkirakan dalam satu hari terjadi 40 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 40 transaksi * 7 hari kerja * 4 minggu * 12 bulan * 673 bytes = 9045120 bytes
Supplier
Kd_Supplier Int(12)
Alamat_Supplier Varchar(128) Telp_Supplier Varchar(128)
Kapasitas dari Tabel Supplier adalah 395 bytes. Diperkirakan dalam satu hari terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 10 * 7 * 4 * 12 * 395 = 1327200 bytes Detail_Barang_Supplier Kd_Supplier Int(12) Kd_Barang Int(12) Harga Int(12) Last_Update Datetime(8)
Kapasitas dari Tabel DetailBarangSupplier adalah 41 bytes. Diperkirakan dalam satu hari terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 10 * 7 * 4 * 12 * 41 = 137660 bytes
Karyawan
Kd_Karayawan Int(12)
Nama_Karyawan Varchar(128)
Diperkirakan dalam satu hari terjadi 50 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 50 * 7 * 4 * 12 * 139 = 2335200 bytes Pembelian_Header Kd_Pembelian Int(12) Kd_Karyawan Varchar(128) Tgl_Pembelian Datetime(8) Kd_Supplier Int(12)
Kapasitas dari Tabel PembelianHeader adalah 158 bytes. Diperkirakan dalam satu hari terjadi 1 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 1 * 7 * 4 * 12 * 158 = 53088 bytes
Pembelian_Detail
Kd_Pembelian Int(12) Kd_Barang Int(12) Jumlah Int(12)
Kapasitas dari Tabel PembelianDetail adalah 33 bytes. Diperkirakan dalam satu hari terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 10 * 7 * 4 * 12 * 33 = 110880 bytes Barang Kd_Barang Int(12) Nama_Barang Varchar(128) Spesifikasi Text(300)
Kapasitas dari Tabel Barang adalah 439 bytes. Diperkirakan dalam satu hari terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 10 * 7 * 4 * 12 * 439 = 1475040 bytes
Gudang
Kd_Gudang Int(12)
Nama_Gudang Varchar(128)
Kd_Karyawan Tiny Int(12)
Kapasitas dari Tabel Gudang adalah 143 bytes. Diperkirakan dalam satu hari terjadi 50 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 50 * 7 * 4 * 12 * 143 = 2402400 bytes
Kd_M asuk_Gudang Int(12) Kd_Pembelian Int(12)
Tgl_M asuk_Gudang Datetime(8)
Kapasitas dari Tabel M asukGudang adalah 30 bytes. Diperkirakan dalam satu hari terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 10 * 7 * 4 * 12 * 30 = 100800 bytes Keluar_Gudang Kd_Keluar_Gudang Int(12) Kd_Karyawan Int(12) Tgl_Keluar_Gudang Datetime(8) Kd_Karyawan_Peminta Int(12) Keterangan Text(300)
Kapasitas dari Tabel KeluarGudang adalah 341 bytes. Diperkirakan dalam satu hari terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 10 * 7 * 4 * 12 * 341 = 1145760 bytes
Bahan_Mentah Kd_BM Int(12) Nama_BM Varchar(128) Ukuran_BM Varchar(128) Harga_BM Varchar(128) Satuan_BM Varchar(128)
Kapasitas dari Tabel BahanM entah adalah 523 bytes. Diperkirakan dalam satu hari terjadi 100 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 100 * 7 * 4 * 12 * 523 = 17572800 bytes Penjualan Kd_Penjualan Int(12) Kd_Pelanggan Int(12) Nama_Pembeli Varchar(128) Nama_Supir Varchar(128) No_Plat Int(12) Kd_BM Int(12) Jumlah Int(12) Tipe Int(12)
Kapasitas dari Tabel Penjualan adalah 458 bytes. Diperkirakan dalam satu hari terjadi 50 transaksi
Dalam satu tahun pertumbuhan dari tabel ini adalah 50 * 7 * 4 * 12 * 458 = 7694400 bytes
Nama Tabel Kapasitas yang dibutuhkan dalam 1 tahun (Bytes) Pelanggan 9045120 Supplier 1327200 Detail_Barang_Supplier 137660 Karyawan 2335200 Pembelian_Header 53088 Pembelian_Detail 110880 Barang 1475040 Stok_Barang 1629600 Gudang 2402400 M asuk_Gudang 100800 Keluar_Gudang 1145760 Keluar_Gudang_Detail 110880 Bahan_M entah 17572800 Penjualan 7694400
Total space yang dibutuhkan dalam 1 tahun : 45140828 Bytes atau 45140.828 Kbytes.
4.1.3.8 Desain user view
Terdapat dua bagian yang berkaitan langsung dengan view yang diperlukan.
User View Tabel Field Tabel
Operational Manager
Barang View Penjualan
Barang Bahan M entah KdPenjualan KdPelanggan NamaPembeli NamaSupir NoPlat KdBM Jumlah Tipe KdBarang NamaBarang Spesifikasi KdBM NamaBM UkuranBM HargaBM SatuanBM Laporan Pembelian View PembelianHeader PembelianDetail KdPembelian KdKaryawan KdSupplier TanggalPembelian StatusPembelian KdPembelian KdBarang Jumlah Administrasi dan Keuangan Laporan Penjualan View Penjualan Pelanggan KdPenjualan KdPelanggan NamaPembeli NamaSupir NoPlat KdBM Jumlah Tipe KdPelanggan NamaPelanggan DepositPelanggan AlamatPelanggan TelponPelanggan BankPelanggan RekeningPelanggan
TipePelanggan
Gudang View Gudang
M asukGudang KeluarGudang KdGudang NamaGudang KdKaryawan KdM asukGudang KdPembelian TanggalM asukGudang KdKeluarGudang TanggalKeluarGudang KdBarang Detail Gudang View DetailGudang KdGudang KdBarang Jumlah Posisi
4.1.3.9 Implementasi dan Evaluasi S pesifikasi Kebutuhan Hardware
Perangakat keras sangat diperlukan dan sangat berpengaruh dalam kelancaran seluruh proses pengoperasian aplikasi sistem informasi PT. Cipta Selera Semesta. Spesifikasi hardware ini meliputi perangkat keras komputer pada server dan juga client. Representasi data perangkat keras yang diperlukan dapat dilihat pada tabel 4.31.
Tabel 4.31 Tabel spesifikasi perangkat keras yang diperlukan Hardware Server Client
Processor Core 2 Duo 2.80 Ghz Dual Core 2,50 Ghz M ain M emory PC 6400 2 GB PC 6400 1 GB
M onitor 17” 15”
DVD Room Ya Ya
Keyboard Ya Ya
M ouse Ya Ya
Printer Ya Ya
Harddisk WDC 160GB WDC 80GB
LAN Card Network Interface Card Network Interface Card Jumlah 1
Letak Ruang Kepala Bagian IT(Admin)
Ruang staff penjualan, ruang staff pembelian, ruang staff gudang, ruang manajer pabrik, ruang manajer umum. Dibutuhkan pula sebuah switch sebagai penghubung antara server dan
client.
S pesifikasi Kebutuhan Software
Selain piranti keras, juga diperlukan piranti lunaknya agar dapat menjalankan suatu aplikasi sistem informasi PT. Cipta Selera Semesta. Speisifikasi piranti lunak ini meliputi kebutuhan piranti lunak pada server dan
client. Representasi data piranti lunak yang diperlukan dapat dilihat pada tabel