BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis sistem yang berjalan 3.1.1
Sejarah Perusahaan AHASS 0596 Dunia Baru merupakan bengkel resmi untuk sepeda
motor honda yang bergerak di bidang jasa perawatan/pemeliharaan (H2) dan penjualan spare part (H3). Bengkel ini berada di bawah naungan PT. AHM (Astra Honda M otor) dengan PT. Wahana M akmur Sejati sebagai M ain Dealer di wilayah Jakarta dan Tanggerang. Ahass Dunia Baru didirikan oleh Ibu Irma Iskandar pad Tahun 1987. Pada awal berdirinya, bengkel ini terletak di Jl. Letjen Soeprapto No.40A, Jakarta-Pusat. Namun pada Tahun 2010 bengkel ini dipindahkan ke Jl. Jombang Raya No.7, Tanggerang. Bengkel ini telah berdiri selama 20 tahun lebih dan memiliki 6 orang mekanik, 1 orang front desk, 1 orang bagian spare part dan 1 orang sebagai kepala bengkel. Seluruh karyawan tersebut telah memiliki standar sertifikasi dari Honda sehingga mereka semua telah terjamin kualitas dan keahlian di bidangnya masing-masing.
77
78
3.1.2
Visi dan Misi •
Visi Adapun visi dari Ahass Dunia Baru adalah tumbuh dan berkembang sebagai salah satu Bengkel sepeda motor Honda yang terbaik di Indonesia.
•
Misi Adapun misi dari Ahass Dunia Baru adalah memberikan pelayanan servis yang memuaskan bagi semua pengguna sepeda motor Honda, menjadikan sebuah bengkel dengan berbagai macam peralatan modern yang dapat meningkatkan kepercayaan konsumen.
79
3.1.3
S truktur Organisasi Ahass Dunia Baru dipimpin oleh pemilik bengkelnya sendiri dengan dibantu 1 orang kepala bengkel yang bertanggung jawab penuh atas pelaksanaan kegiatan teknis dan non teknis di dalam bengkel. Struktur organisasi dari Ahass Dunia Baru adalah sebagai berikut:
Gambar 3.1 Struktur Organisasi Ahass Dunia Baru Uraian tugas tentang kepemimpinan bengkel dapat diuraikan sebagai berikut: 1. Kepala Bengkel, bertugas untuk: 1.1
Bertanggung jawab kepada pemilik bengkel atas hasil yang telah diperoleh.
1.2
M engawasi jalannya bengkel baik dari segi manajemen maupun dari segi kualitas mekanik.
80
1.3
Terjun langsung ke lapangan ketika terjadi ketidakpuasan dari konsumen.
2. Mekanik, bertugas untuk: 1.1
M erawat dan memperbaiki sepeda motor konsumen yang masuk ke bengkel.
1.2
M emberikan kualitas terbaik dalam melakukan service motor.
1.3
M emberikan penjelasan kepada konsumen tentang kerusakankerusakan yang terjadi pada sepeda motor konsumen.
3. Bagian S pare Part, bertugas untuk: 1.1
M engawasi barang yang masuk dan yang keluar.
1.2
M embuat laporan pembelian, laporan persediaan barang, dan melaporkannya kepada kepala mekanik.
1.3
M engawasi sisa barang yang ada dan segera melakukan penyetokan sehingga tidak terjadi kekosongan barang.
4. Front Desk, bertugas untuk: 1.1
M enyambut konsumen yang datang ke bengkel dan mencatat WO(Work Order).
1.2
M encatat keluhan-keluhan yang ada pada sepeda motor konsumen.
1.3
M emberikan informasi kepada konsumen mengenai harga servis dan harga barang.
1.4
M embuat faktur penjualan pembelian setiap terjadi transaksi.
81
1.5
M encatat data-data pelanggan.
5. Pemilik Bengkel, sebagai penanam modal sekaligus pimpinan dimana memegang kekuasaan penuh, wewenang dan tanggung jawab atas bengkel tersebut.
3.1.4 Prosedur yang Sedang Berjalan 3.1.4.a Sistem Pembelian Prosedur pembelian barang yang berlaku di Ahass Dunia Baru adalah sebagai berikut: 1. Setelah mendapat persetujuan dari Pemilik Bengkel, bagian spare part membuat laporan persediaan stok barang. 2. Laporan tersebut kemudian di cocokan dengan jumlah barang yang ada di gudang. 3. Kemudian dibuat laporan persediaan stok barang yang sudah di update. 4. Setelah laporan persediaan stok barang yang sudah diupdate selesai di buat, bagian spare part akan mencocokan laporan dengan barang yang tersedia di gudang dan mengupdate stok barang untuk mengetahui barang mana yang sudah habis atau di bawah stok minimum dan harus dipesan.
82
5.
Jika stok barang masih mencukupi maka sistem diaggap selesai, namun apabila ada kekurangan stok barang maka bagian spare part akan membuat Surat Purchase Order.
6. Surat Purchase Order tersebut dibuat rangkap dua. Yang pertama dikirimkan ke supplier sebagai bukti pemesanan barang. Yang kedua disimpan sebagai arsip untuk dicocokan dengan Faktur Pembelian.
83
Gambar 3.2 Flowchart Prosedur Sistem Pembelian
84
3.1.4.b Sistem Persediaan Prosedur sistem persediaan barang yang berlaku di Ahass Dunia Baru adalah sebagai berikut: 1. Setelah supplier menerima surat purchase order, maka akan dilakukan pengiriman barang sesuai dengan pesanan ke bagian front desk. 2. Setelah barang diterima, bagian spare part akan memeriksa kuantitas dan kualitas barang sesuai purchase order. 3. Kemudian dilakukan pengecekan secara fisik untuk mengetahui apakah ada barang yang rusak atau kurang.. 4. Setelah semua barang yang diterima sesuai dengan surat purchase order, maka barang tersebut akan diterima dan disimpan ke gudang. 5. Pembayaran kepada pemasok akan dilakukan 1 bulan setelah barang diterima.
85
Gambar 3.3 Flowchart Prosedur Sistem Persediaan
86
3.1.4.c Sistem Penjualan Prosedur sistem penjualan barang yang berlaku di Ahass Dunia Baru adalah sebagai berikut: 1. Sistem penjualan dimulai dengan pemesanan barang(sales order) oleh konsumen ke bagian front desk. 2. Setelah sales order diterima, bagian front desk akan melaporkan pemesanan barang
kepada bagian spare part untuk dilakukan
pengecekan apakah barang yang dipesan tersedia di gudang atau tidak. 3. Kemudian bagian spare part akan melakukan pengecekan apakah barang yang dipesan tersedia di gudang atau tidak. 4. Jika barang tidak tersedia di gudang maka transaksi dianggap selesai. Namun apabila barang tersedia di gudang, bagian spare part akan melaporkan ke bagian front desk untuk diteruskan ke konsumen. 5. Bagian front desk akan membuatkan faktur penjualan rangkap 2(dua). Lembar pertama untuk konsumen sebagai bukti bahwa barang tersebut telah dipesan sedangkan lembar yang kedua sebagai arsip bengkel untuk menghitung jumlah barang yang telah keluar per harinya. 6. Setelah faktur diserahkan ke konsumen, maka akan dilakukan transaksi pembayaran oleh konsumen ke bagian front desk.
87
7. Jika pembayarannya sesuai maka barang akan diserahkan ke konsumen.
88
Sistem Penjualan Konsumen
Bagian Front Desk
Bagian Spare Part
Gudang
Me mbuat Laporan Pemesanan Barang
Laporan Pemesanan
Cek
Laporan Barang tersedia
Laporan Barang tersedia
Mul ai
Sale s Ord er
Menerima Sales Orde r Konsumen
Me mbuat Faktur pe njualan
Faktur Penjualan
Faktur Penj ualan
Pembayaran
Pembayaran OK
ya
Menerima barang
Penyerahan barang
Selesai
Gambar 3.4 Flowchart Prosedur Sistem Penjualan
tida k ada ada
Selesai
89
3.1.4.d Sistem Pembayaran Prosedur Sistem Pembayaran ke Supplier yang berlaku di Ahass Dunia Baru adalah sebagai berikut: 1. Pembayaran
dilakukan
1
bulan
setelah
barang
dikirim
menggunakan rekening giro. 2. Bagian front desk akan melakukan pengecekan terhadap purchase order yang sudah jatuh tempo. 3. Jika ditemukan purchase order yang sudah jatuh tempo, maka akan dilakukan transaksi pembayaran ke supplier. 4. Bukti pembayaran dan giro dibuat rangkap 2(dua). Lembar pertama diberikan kepada supplier sebagai media pembayaran sedangkan lembar yang kedua disimpan sebagai bukti pembayaran.
90
Gambar 3.5 Flowchart Prosedur Sistem Pembayaran ke Supplier
91
3.1.5
Pemodelan Proses 3.1.5.a Diagram Konteks Ini merupakan sistem yang ada dalam Ahass Dunia Baru dari pemesanan barang ke supplier yaitu PT.Wahana M akmur Sejati sampai kepada penjualan kepada konsumen. Setelah melakukan pengecekan terhadap stok barang di gudang, jika terjadi kekosongan barang maka akan dilakukan pemesanan barang kepada PT.Wahana M akmur Sejati. Selambat-lambatnya barang akan dikirmkan dalam jangka waktu 1 minggu setelah proses pemesanan. Dalam sistem penjualan barang, barang yang dipesanan oleh konsumen akan langsung diberikan kepada konsumen dengan pembayaran secara tunai. Kedua transaksi tersebut, baik pembelian dan penjulan menggunakan faktur sebagai bukti terjadinya transaksi.
92
Penyerahan Barang
Konsumen
Supplier
Sales Order
Pengiriman Barang
Purchase order
Faktur Penjualan Retur Penjualan
SISTEM BASIS DATA PADA AHASS DUNIA BARU
Faktur Pembelian Retur Pembelian Permintaan Laporan
Laporan-laporan Manajemen
Gambar 3.6 Diagram Konteks
93
3.1.5.b DFD Level Nol Jika terjadi Pembelian barang maka input data barang-barang yang diterima akan dimasukkan ke dalam daftar persediaan stok barang. Jika terdapat penerimaan barang maka persediaan barang bertambah. Jika terjadi penjualan barang maka persediaan barang akan berkurang.
94
Gambar 3.7 Diagram Nol
95
3.1.6
Analisis Kebutuhan Informasi Dalam pelaksanaan prpses bisnis pada Ahass Dunia Baru diperlukan
informasi sebagai berikut: Tabel 3.1 Tabel Kebutuhan Informasi Pengguna
Infromasi Laporan Pembelian Laporan Penjualan Laporan Persediaan Stok Barang Daftar Pegawai Daftar Supplier Daftar Konsumen
Pemilik Bengkel
Kepala Bengkel
Bagian Spare Bagian Front Part Desk
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
X
X X
Dalam pelaksanaan bengkel terdapat berbagai dokumen yang dikeluarkan dan disimpan. Dokumen-dokumen tersebut dapat diklasifikasikan lebih rinci sehingga sesuai dengan bagian-bagiannya.
96
Tabel 3.2 Tabel Representasi Analisis Kebutuhan Informasi No.
Nama Entity
1.
Laporan Pembelian
2. 3. 4. 5.
3.1.7
Deskripsi
Berisikan data-data mengenai pembelian barang yang dipesan dari Supplier. Laporan Penjualan Berisikan data-data mengenai penjualan spare part yang dilakukan oleh Ahass Dunia Baru. Laporan Persediaan Berisikan data-data mengenai barang-barang Stok Barang yang ada di gudang dan jumlah persediaanya. Konsumen Berisikan data-data pribadi dari konsumen yang melakukan pemesanan barang. Supplier Berisikan data-data mengenai supplier yang men-supply barang.
Permasalahan yang dihadapi Setelah
melakukan
wawancara dan
analisis
terhadap
transaksi
pembelian, penjualan, dan persediaan ditemukan masalah-masalah sebagai berikut: 1.
Sulitnya perusahaan untuk mengetahui jumlah persediaan yang ada di gudang secara pasti.
2.
Sulit dan lamanya pencatatan data transaksi ke dalam dan ke luar karena perusahaan masih mencatat data transaksi secara manual menggunakan nota penjualan dan pembelian.
3.
M embutuhkan waktu yang cukup lama dalam penghitungan sisa stok barang yang tersedia di gudang.
4.
Sering terjadi kesalahan penghitungan antara jumlah stok barang di buku stok dengan jumlah barang yang ada di gudang.
97
5.
Sering kehabisan stok barang karena barang yang ada di gudang sudah habis dan terlambat untuk di pesan ke M ain Dealer.
3.1.8
Alternatif Pemecahan Masalah Berdasarkan permasalahan yang telah disebutkan di atas, maka kami
membuat suatu perancangan sistem basis data menggunakan SQL server 2005. Basis data yang dibuat ini bertujuan untuk mempercepat waktu pencatatan setelah terjadi transaksi pembelian maupun penjualan sehingga jumlah stok barang yang ada di gudang dapat diketahui dengan pasti jumlah persediaannya. Sistem basis data tersebut kemudian di aplikasikan ke dalam sebuah program desktop. Program tersebut kami buat menggunakan Visual Basic 2008 Express Studio. Aplikasi ini diharapkan dapat membantu pembuatan laporan pembelian dan penjualan yang akurat karena dihitung secara komputerisasi.
98
3.2 Perancangan Basis Data Perancangan basis data dilakukan berdasarkan kebutuhan informasi yang telah diidentifikasi pada AHASS Dunia Baru,dibagi dalam tiga tahapan yaitu: a. Perancangan Basis Data Konseptual(Conceptual database design) b. Perancangan Basis Data Logikal (Logikal Databse design) c. Perancangan Basis Data Fisikal (Physical Database Design) 3.2.1
Perancangan Basis Data Konseptual Perancangan basis data konseptual merupakan suatu proses pembuatan sebuah
model informasi yang digunakan pada perusahaan,bebas dari semua pertimbangan fisik.Adapun langkah-langkah dalam perancangan dalam pembuatan perancangan basis data konseptual adalah sebagai berikut: Tahap 1 membangun model data konseptual 1. mengidentifikasi tipe entity 2. mengidentifikasi tipe relationship 3. mengidentifikasi dan mengasosiasikan atribut suatu entity 4. menemukan domain atribut 5. menentukan candidate key dan primary key 6. mempertimbangkan konsep enchaned modeling(langkah optional) 7. memeriksa model dari adanya redudansi 8. mengvalidasikan model konseptual local dengan transaksi user 9. mengreview model data konseptual dengan user
99
3.2.1.a Mengidentifikasi Tipe Entity Entity-entity yang menjadi kebutuhan dari AHASS Dunia Baru setelah melalui proses analisis sistem adalah sebagai berikut: Tabel 3.3 identifikasi tipe Entity Entity Name Pegawai
Descpription Aliases M erupakan entity karyawan yang berisi informasi tentang pegawai yang berkerja pada AHASS Dunia Baru
Bagian
Berisi tentang Departement informasi bagian pegawai pada AHASS Dunia Baru M erupakan entity konsumen yang berisi informasi tentang konsumen yang berbelanja di AHASS Dunia BAru
konsumen
Barang
Cek stok
M erupakan entity Produk yang berisi barang yang dijual oleh AHASS Dunia Baru M erupakan entity Pengecekan stok yang berisi pengecekan stok
Occurance Setiap pegawai dapat menangani nol atau banyak transaksi penjualan,pembelian dan cek stok Setiap pegawai berkerja pada bagian tertentu Setiap bagian memiliki satu atau banyak pegawai
Setiap konsumen yang dating mempunyai kode pegawai sebgaia tanda pengenal seberapa sering konsumen datang untuk membeli barang dan menggunakan service. Setiap barang dapat dimiliki oleh banyak penjualan,pembelian dan cek stok Pengecekan atok atau jumlah barang yang tersedia di
100
pada AHASS Dunia Baru Supplier
Sales order
Purchase order
Pembayaran
M erupakan entity yang memuat informasi tentang supplier pada AHASS Dunia Baru M erupkan entity yang berisi informasi penjualan pada AHASS Dunia Baru M erupakan Entity yang berisi informasi pembelian barang pada AHASS Dunia Baru pada supplier M erupakan entity yang berisi informasi pembayaran pada AHASS Dunia Baru
supplier
gudang yang dilakukan oleh pegawai Supplier menerima purchase order dan meyediakan barang sesuai pesanan
Penjualan barang
Setiap penjualan disebabkan oleh konsumen atau pelanggan yang diatur oleh pegawai
Pembelian barang
Setiap pembelian dilakukan oleh pegawai untuk memesan barang pada supplier
pembayaran
Pembayaran yang dilakukan pegawai kepada supplier untuk melunasi biaya pembelian barang
3.2.1.b Mengidentifikasi Tipe Relationship Tujuan dari tahap inilah adalah untuk menentukan hubungan antara entityentity yang ada.Berikut ini adalah Entity Relationship (ER) diagram konseptual yang memuat nama entity,multiplicity berserta relationship antar entiry.
101
1..1
Mel akukan
Pembayaran
1..*
Menerima
1..*
1..1
1..1 Konsumen
Supplier
Mel akukan
1..1
1..1
Pegawai
Menangani
1..1
1..*
1..1 1..1
1..1
Melakuka n
Mel akukan
Menangani
Mel akukan
1..* 1..*
1..*
Memiliki
Sales_Order
Purchase_Order
1..* 1..*
1..* 1..1 Bagian
Memesan
Memesan
1..* 1..*
Barang
1..* 1..*
Cek_Stok Menyesuaikan
1..*
Gambar 3.8 Entity Relationship Diagram Konseptual
102
Berikut adalah tabel multiplicity dari tipe relationship antar entity : Tabel 3.4 M ultiplicity Tipe Relationship Entity Name Pegawai
Bagian Cek_stok supplier Sales_order Konsumen
M ultiplicity 1.1 1.1 1.1 1.1 1.1 1.* 1.1 1.* 1.* 1.1
Relationship M enangani melakukan M elakukan melakukan M emiliki menyesuaikan M enangani M elibatkan M emesan M elakukan
Entity Name Sales_order Cek_stok Purchase_order pembayaran pegawai barang Pembelian Barang Barang Pembayaran
M ultiplicity 1.* 1.* 1.* 1.* 1.* 1.* 1.* 1.* 1.* 1.*
3.2.1.c Mengidentifikasi dan Mengasosiasikan Atribut suatu Entity Tujuan dari tahap ini adalah menghubungkan atribut dengan entity ataupun relationship yang sesuai. Berikut ini merupakan tabel setiap entity dengan atribut masing-masing.
103
Tabel 3.5 Dokumen Atribut dari Entity data
type&
Multi
Entity Name
Attribute
Description
length
NULL
Valued
Pegawai
Kode_pegawai
Kode pegawai
char (5)
NO
NO
nama_pegawai
nama pegawai
varchar (30)
NO
NO
alamat_pegawai
alamat pegawai
varchar (100)
NO
NO
telepon_pegawai
telepon pegawai
varchar (15)
NO
NO
password
password
varchar (10)
NO
NO
Kode_Bagian
Kode Bagian
char (4)
NO
NO
Nama_Bagian
Nama Bagian
varchar (30)
NO
NO
Kode_barang
Kode barang
char (6)
NO
NO
nama_barang
nama barang
varchar (30)
NO
NO
harga_jual
harga jual
numeric 10,2
NO
NO
harga_beli
harga beli
numeric 10,2
NO
NO
jumlah_barang
jumlah barang
integer
NO
NO
minimal_stok
minimal stok
integer
NO
NO
Kode_supplier
Kode supplier
char (6)
NO
NO
Nama_supplier
Nama supplier
varchar (30)
NO
NO
alamat_supplier
alamat supplier
varchar (100)
NO
NO
telepon_supplier
telepon supplier
varchar (15)
NO
NO
Kode_Konsumen
Kode Konsumen
char(5)
NO
NO
Bagian
Barang
Supplier
Konsumen
104
cek stok
sales_order
purchase_order
pembayaran
NO
NO
NO
NO
Telepon_Konsumen Telepon Konsumen varchar (15)
NO
NO
kode_cek_stok
Kode cek stok
char (6)
NO
NO
tgl_cek_stok
tanggal cek stok
datetime
NO
NO
jumlah_stok
jumlah stok
integer
NO
NO
harga_beli
harga beli
numeric 10,2
NO
NO
no_faktur
no faktur
char (6)
NO
NO
tgl_faktur
tgl faktur
datetime
NO
NO
No_PO
No PO
char (6)
NO
NO
tgl_PO
tgl PO
datetime
NO
NO
no_Giro
No Giro
char (6)
NO
NO
tgl_Giro
Tanggal Giro
datetime
NO
NO
total_pembayaran
Total pembayaran
numeric 10,2
NO
NO
Nama_Konsumen
Nama Konsumen
varchar (30)
Alamat_Konsumen
Alamat Konsumen varchar (100)
3.2.1.d Menentukan Domain Atribut Tujuan tahap ini adalah untuk menentukan domain dari suatu atribut yang terdapat pada model data konseptual.Domain atribut adalah sekumpulan nilai yang diperkenankan untuk satu atau lebih atribut.
105
Tabel 3.6 Dokumen Domain Atribut Entity Name
Attribute
Domain attribut
Kode pegawai
Kode_pegawai
Char(5)
[K][P][0-9][0-
9][0-9] Nama pegawai
Nama_pegawai
Varchar (30)
Telepon pegawai
Telepon_pegawai
Varchar (15)
Alamat pegawai
Alamat_pegawai
Varchar (100)
Password
Password
Varchar (10)
Kode bagian
Kode_bagian
Char(4) [K][B][0-9][0-9]
Nama bagian
Nama_bagian
Varchar (30)
Kode konsumen
Kode_konsumen
Varchar(5) [K][S][0-9] [09] [0-9]
Nama konsumen
Nama_konsumen
varchar (30)
Alamat konsumen
Alamat_konsumen
varchar (100)
Telepon konsumen
Telepon_konsumen
varchar (15)
Kode barang
Kode_barang
Char(6)
[B][R][0-9][0-
9][0-9][0-9] Nama barang
Nama_barang
Varchar (30)
Harga jual
Harga_jual
Numeric (10,2)
Jumlah barang
Jumlah_barang
Integer
Sales order
No_faktur
Char(6)
[F][P][0-9][0-
106
9][0-9][0-9] Tanggal faktur
Tgl_faktur
Datetime
Total penjualan
Total_penjualan
Numeric (10,2)
Nomor cek stok
No_cek_stok
Char(6)
[C][S][0-9][0-
9][0-9][0-9] Tanggal cek stok
Tgl_cek_stok
Datetime
Kode supplier
Kode_supplier
Char(6)
[S][P][0-9][0-
9][0-9][0-9] Nama supplier
Nama_supplier
Varchar (30)
Alamat supplier
Alamat_supplier
Varchar(100)
Telepon supplier
Telepon_supplier
Varchar (15)
Nomor Purchase order
No_PO
Char(6)
[P][O][0-9][0-
9][0-9][0-9] Tanggal Purchase order
Tgl_PO
Datetime
Total pembelian
Total pembelian
Numeric(10,2)
No giro
No_giro
Char(6)
[P][P][0-9][0-
9][0-9][0-9] Tanggal pembayaran
Tgl_giro
Datetime
Total pembayaran
Total_pembayaran
Numeric (10,2)
107
3.2.1.e Menentukan Atribut Candidate key dan primary key Tujuan dari tahap ini adalah menentukan candidate key dan primary key untuk setiap entiry yang ada. Tabel 3.7 Dokumen Atribut Candidate Key dan Primary Key dari Setiap Entity Entity Name
Candidate key
Primary key
Pegawai
Kode pegawai
Kode pegawai
Telepon pegawai Bagian
Kode Bagian
Kode bagian
Nama bagian Konsumen
Kode_konsumen
Kode konsumen
Telepon konsumen Barang
Kode Barang
Kode barang
Nama barang Cek stok
No.cek stok
No cek stok
Supplier
Kode supplier
Kode supplier
Telepon supplier Purchase order
No PO
No PO
Sales order
No faktur
No penjualan
pembayaran
No Giro
No Giro
berikut ini adalah gambar entity relationship Diagram Konseptual yang dilengkaspi dengan primary key:
108
Pembayaran
1..1
Mel akukan
1..*
Menerima
No_Giro
1..*
1..1
1..1 Konsumen
Supplier
Mel akukan
Kode_Supp
Kode_Konsumen
1..1
1..1
Pegawai
1..1 1..1
Me lakukan
Kode_Pegawai Menangani
1..1
1..*
1..1
Melakukan
Menangani
Mel akukan
1..* 1..*
1..*
Memiliki
Sales_Order
Purchase_Order
No_Faktur
No_PO
1..*
1..* 1..*
1..1 Bagian Memesan
Memesan
Kode_Bagian
1..* 1..*
Barang
1..*
Kode_Barang
1..*
Cek_Stok Menyesuaikan
1..*
No_Cek_Stok
Gambar 3.9 Entity relationship Diagram Konseptual dengan primary key 3.2.1.f Mempertimbangkan Konsep Enchaned Modeling(Langkah Optional) Setelah diperhatikan dari tahap ini dan telah dipertimbangkan,maka pada perancangan konseptual tidak menggunakan konsep pemodelan enchaned.
109
3.2.1.g Memeriksa Model Dari Redudansi Setelah ditelti tidak ada adanya bentuk redundansi atau pemanggilan kembali. 3.2.1.h Memvalidasikan Model Konseptual Lokal Dengan Transaksi User Tujuan dari tahap ini adalah untuk menyakinkan bahwa model data konseptual yang dibuat mendukung transaksi user. Adapun transaksi-transaksi yang diperlukan adalah sebagai berikut: 1. M emasukkan data pegawai 2. M emasukkan data barang 3. M emasukkan data sales order 4. M emasukkan data stok 5. memasukkan data supplier 6. memasukkan data purchase order 7. memasukkan data sales order 8. memasukkan data pembayaran 9. melakukan update/delete data pegawai 10. melakukan update/delete data barang 11. melakukan update/delete data konsumen 12. melakukan update/delete data sales order 13. melakukan update/delete data cek stok 14. melakukan update/delete data supplier 15. melakukan update/delete data purchase order 16. melakukan update/delete data pembayaran
110
17. menampilkan data pegawai 18. mencari data pegawai berdasarkan nama pegawai 19. menampilkan data barang 20. mencari data barang berdasarkan nama barang 21. menampilkan data sales order 22. mencari data sales order berdasarkan nomor faktur 23. menampilakn data cek stok 24. mencari data cek stok berdasarkan nomor cek stok 25. mencari data cek stok berdasarkan tanggal penyesuaian 26. menampilkan data supplier 27. mencari data supplier berdasarkan nama supplier 28. menampilkan data purchase order 29. M encari data purchase order berdasarkan kode purchase order 30. menampilkan data pembayaran 31. mencari data pembayaran berdasarkan nomor giro
111
3.2.1.i Mereview Data Konseptual User Setelah meninjau ulang model data konseptual dengan user maka dapat disimpulkan bahwa model data konseptual yang dibuat sudah sesuai dengan kebutuhan user. 3.2.2
Perancangan Basis Data Logikal Perancangan basis data logikal merupakan suaut proses pembuatan sebuah
model data yang digunakan dalam duaut perusahaan berdasarkan model data yang spesifik tetapi tidak tergantung pada DBM S dan pertimbangan fisik lainnya.M odel data logikal merupakan sumber informasi perancangan tahap fisikal.Adapun langkahlangkahnya yaitu : Tahap 2 M embangun dan memvalidasi model data logikal 1. menentukan relasi untuk model data logikal 2. mengvalidasi relasi dengan menggunakan normalisasi 3. mengvalidasi relasi terhadap transaksi user 4. menentukan integrity constraint 5. menreview model data logikal dengan user 6. menggabungkan model-model data logikal menjadi model global 7. memeriksa pertumbuhan di masa depan
112
3.2.2.a Menentukan Relasi Untuk Model Data Logikal Tujuan dari tahap ini adalah membuat relasi dari model data logikal untuk menampilkan kembali entity,relationship dan atribut yang telah didefinisikan. 1.) Strong Entity type Pegawai(kode_pegawai,nama_pegawai,alamat_pegawai,telepon_pegawai, password,kode_bagian) primary key : kode_pegawai
Bagian(kode_bagian,nama_bagian) primary key : Kode_bagian
Konsumen(kode_konsumen,nama_konsumen,alamat_konsumen,telp_konsum en) primary key : kode_konsumen
Barang(kode_barang,nama_barang,harga_jual,jumlah_stok) primary key : Kode_barang
sales order(no_faktur,tgl_faktur,total_penjualan) primary key : no_faktur
113
cek stok(no_cek_stok,tgl_cek_stok,jumlah_stok) primary key : no_cek_stok
supplier(kode_supp,nama_supp,alamat_supp,telepon_supp) primary key : kode_supp
purchase order(Kode_PO,tgl_PO) primary key : kode_PO
pembayaran(no_giro,tgl_giro,total_pembayaran) primary key : no_giro
2.) Weak entity type sales_order_detail(kode_barang,kuantitas) primary key: none
cek_stok_detail(Kode_barang,jumlah_stok) primary key : none
purchase_order_detail(kode_barang,nama_barang,kuantitas,no_PO) primary key : none
114
3.) one to many(1.*) binary relationship Untuk setiap hubungan one to many,entity pada one side dalam relasi menjasi parent sedangkan untuk entity pada many side menjadi child. post pegawai ke sales_order
Pegawai (kode_pegawai, nama_pegawai, alamat_pegawai, telp_pegawai, kode_bagian) primary key kode_pegawai foreign key kode_bagian
Sales_order(No_Faktur, tgl_faktur, kode_pegawai, nama_pegawai) primary key No_Faktur foreign key kode_pegawai, kode_konsumen
post pegawai ke purchase_order
Pegawai (kode_pegawai, nama_pegawai, alamat_pegawai, telp_pegawai, kode_bagian) primary key kode_pegawai foreign key kode_bagian
purchase_order(No_PO, Tgl_PO, kode_supp, nama_pegawai) primary key No_PO foreign key kode_supp, kode_pegawai
115
post pegawai ke cek_stok
Pegawai (kode_pegawai, nama_pegawai, alamat_pegawai, telp_pegawai, kode_bagian) primary key kode_pegawai foreign key kode_bagian
Cek_Stok (no_cek_stok, tgl_cek_stok, kode_pegawai, kode_supp) primary key no_cek_stok foreign key kode_barang
post pegawai ke pembayaran
Pegawai (kode_pegawai, nama_pegawai, alamat_pegawai, telp_pegawai, kode_bagian) primary key kode_pegawai foreign key kode_bagian
Pembayaran(No_Giro, tgl_giro, kode_supp, kode_konsumen, no_faktur, no_PO) primary key No_Giro foreign key kode_supp
post pegawai ke bagian
Pegawai (kode_pegawai, nama_pegawai, alamat_pegawai, telp_pegawai, kode_bagian) primary key kode_pegawai foreign key kode_bagian
bagian (kode_bagian) primary key kode_bagian
116
post supplier ke purchase_order
Supplier(kode_supp, nama_supp, alamat_supp, email_supp, no_cek_stok) primary key kode_supp
purchase_order(No_PO, Tgl_PO, kode_supp, nama_pegawai) primary key No_PO foreign key kode_supp, kode_pegawai
post pembayaran ke supplier
Pembayaran(No_Giro, tgl_giro, kode_supp, kode_konsumen, no_faktur, no_PO) primary key No_Giro foreign key kode_supp
Supplier(kode_supp, nama_supp, alamat_supp, email_supp, no_cek_stok) primary key kode_supp
4.) one to one binary relationship setelah melakukan pengecekan tidak ada one to one binary relationship pada table diagram. 5.) one to one recursive relationship setelah melakukan pengecekan tidak ada one to one recursive relationship pada table diagram.
117
6.) superclass/subclass relation type setelah dilakukan pengecekan tidak ada superclass/subclass pada model data konseptual. 7.) many to many binary relationship types Untuk tiap hubungan many to many dibuat suatu relasi yang mempertasikan hubungan.antar entiry dan memasukkan seluruh atribut yang merupakan bagian dengan relasi .Primary key disalinkan pada relasi baru juga bertindak sebagai foreign key.
post barang ke sales_order
Barang(Kode_Barang, nama_barang, harga_jual, harga_beli, jumlah_stok, minimal_stok) Primary key kode_barang
Sales_order(No_Faktur, tgl_faktur, kode_pegawai, nama_pegawai) primary key No_Faktur
Sales_Order_Detail(No_Faktur, Kode_Barang, Kuantitas) Primary key no_faktur Foreign key no_faktur_Kode_Brang
118
post barang ke purchase_order
Barang(Kode_Barang, nama_barang, harga_jual, harga_beli, jumlah_stok, minimal_stok) Primary key kode_barang
purchase_order(No_PO, Tgl_PO, kode_supp, nama_pegawai) primary key No_PO
Purchase_Order_Detail(No_PO, Total_Pembelian, Kode_Barang) Primary key No_PO Foreign key Kode_Barang
119
post cek_stok ke barang
Cek_Stok (no_cek_stok, tgl_cek_stok, kode_pegawai, kode_supp) primary key no_cek_stok foreign key kode_barang
Barang(Kode_Barang, nama_barang, harga_jual, harga_beli, jumlah_stok, minimal_stok) Primary key kode_barang
Cek_Stok_Detail(No_Cek_Stok, Jumlah_Stok, Kode_Barang) Primary key No_Cek_Stok Foreign key Kode_Barang, No_Cek_Stok
8.) complex relationship types Pada ERD tidak terdapat relasi kompleks 9.) M ulti-valued atributs Untuk semua atribut multi valued dibuat sebuah relasi baru untuk mempretasikan multi-valued dan masukkan primary key entitas asal pada relasi baru untuk bertindak sebgaia foreign key.
120
3.2.2.b Mengvalidasi Relasi Dengan Menggunakan Normalisasi Normalisasi pembelian/purchase order UNF Purchase_order{@no_Po,tgl_PO,kode_pegawai,nama_pegawai,kode_supplier,nama_ supplier,kode_barang, nama_barang,harga_beli,kuantitas} 1NF Purchase_order{@no_Po,tgl_PO,kode_pegawai,nama_pegawai,kode_supplier,nama_ supplier,kode_barang } Purchase_order_detail{@ no_PO,kode_barang, nama_barang,harga_beli,kuantitas} 2NF Purchase_order{@no_Po,tgl_PO,kode_pegawai,nama_pegawai,kode_supplier,nama_ supplier,kode_barang } Purchase_order_detail{@ no_PO,kode_barang,kuantitas} Barang{@kode_barang, nama_barang,harga_beli} 3NF Purchase_order{@no_Po,tgl_PO,kode_pegawai,kode_supplier,kode_barang } Purchase_order_detail{@no_PO kode_barang,kuantitas} Barang{@kode_barang, nama_barang,harga_beli} Pegawai{@kode_pegawai,nama_pegawai,alamat_pegawai,telp_pegawai,password} Supplier{@kode_supplier,nama_supplier,alamat_supplier,telp_supplier} Normalisasi Persediaan/cek stok UNF
121
Cek_stok{@no_cek_stok,tgl_cek_stok,kode_pegawai,nama_pegawai,kode_barang, nama_barang,jumlah_stok} 1NF Cek_stok{@no_cek_stok,tgl_cek_stok,kode_pegawai,nama_pegawai,kode_barang, nama_barang,jumlah_stok} cek_stok_detail(@no_cek_stok,kode_barang,nama_barang,jumlah_stok) 2NF Cek_stok{@no_cek_stok,tgl_cek_stok,kode_pegawai,kode_barang} cek_stok_detail{@no_cek_stok,kode_barang,jumlah_stok} Barang(@kode_barang,nama_barang} 3NF Cek_stok{@no_cek_stok,tgl_cek_stok,kode_pegawai,kode_barang,} cek_stok_detail{@no_cek_stok,kode_barang,jumlah_stok} Barang(@kode_barang,nama_barang} Pegawai{@kode_pegawai,nama_pegawai,alamat_pegawai,telp_pegawai,password}
Normalisasi penjualan/sales order UNF Sales_order{@no_faktur,tgl_faktur,kode_pegawai,nama_pegawai,kode_konsumen,n ama_konsumen,kode_barang, nama_barang,harga_jual,kuantitas} 1NF
122
Sales_order{@no_faktur,tgl_faktur,kode_pegawai,nama_pegawai,kode_konsumen,n ama_konsumen,kode_barang} Sales_order_detail{@no_faktur,kode_barang, nama_barang,harga_jual,kuantitas} 2NF Sales_order{@no_faktur,tgl_faktur,kode_pegawai,nama_pegawai,kode_konsumen,n ama_konsumen,kode_barang} Sales_order_detail{@no_faktur,kode_barang,kuantitas} Barang{@kode_barang, nama_barang,harga_jual} 3NF Sales_order{@no_faktur,tgl_faktur,kode_pegawai,kode_konsumen,kode_barang} Sales_order_detail{@no_faktur,kode_barang,kuantitas} MsBarang{@kode_barang, nama_barang,harga_jual} Pegawai{@kode_pegawai,nama_pegawai,alamat_pegawai,telp_pegawai,password} konsumen{@kode_konsumen,nama_konsumen,alamat_konsumen,telp_konsumen}
3.2.2.c Mengvalidasi Relasi Terhadap Transaksi User Transaksi ini dilakukan dengan cara memerisa kembali semua transaksi user yang telah didefinisikan pada tahap konseptual terhadap relasi yang ada.Seetelah meninjau ulang model data logika local dengan user maka dapat disimpulkan bahwa model data logikal sudah mendukung transaksi-transaksi yang dibutuhkan user. 3.2.2.d Menentukan integrity constraint
123
Tujuan pada tahap ini adalah untuk memeriksa interigrity constraint yang dipresentasikan pada mode data logikal.
1. Required data beberapa attribute harus mempunya nilai yang valid,dengan kata lain atributatribut yang ada tidak mempunyai nilai null. 2. Attribute domain constraints setiap atribut memliki domain yaitu kumpulan dari nilai yang sah. 3. Multiplcity menampilkan constraint yang ditempatkan pada relasi antar data dalam database 4. Entity integrity primary key dari suatu entity tidak boleh mempunyai nilai null 5. Refential integrity apabila suatu table memiliki foreign key yang mengandung suatu nilai maka nilai menunjuk pada barisyang ada relasi parent.Berikut adalah refential integrity constraint pada model data logika:
124
Tabel 3.8 Tabel Referential Integrity Constraints Barang(kode_barang,nama_barang,harga_jual,jumlah_stok,minimal_stok) Primary key: kode_barang Konsumen(Kode_konsumen,nama_konsumen,alamat_konsumen,telepon_konsumen) Primary key: kode_konsumen Pegawai(kode_pegawai,nama_pegawai,alamat_pegawai,telepon_pegawai,password,k ode_bagian) Primary key: kode_pegawai Foreign key:kode_bagian references bagian(kode_bagian) ON UPDATE CASCADE ON DELETE NO ACTION Bagian(Kode_bagian,namaBagian) Primary key:kode_bagian supplier(kode_supp,nama_supp,alamat_supp,telepon_supp) primary key:kode_supp sales_order(no_faktur,tgl_faktur,kuantitas,kode pegawai,kode konsumen) primary key:no_faktur foreign key:kode_pegawai references pegawai(kode_pegawai) ON UPDATE CASCADE ON DELETE NO ACTION kode_konsumen references konsumen(kode_konsumen) ON UPDATE CASCADE ON DELETE NO ACTION sales_order_detail(no_faktur,kode_barang,kuantitas) primary key:no_faktur,kode_barang foreign key:no_faktur refrences sales_order(no_faktur) ON UPDATE CASCADE ON DELETE NO ACTION kode _barang references barang(kode_barang) ON UPDATE CASCADE ON DELETE NO ACTION
125
purchase_order(no_PO,tgl_PO,kode_pegawai,kode_supplier) primary key:no_PO foreign key: kode_pegawai references pegawai(kode_pegawai) ON UPDATE CASCADE ON DELETE NO ACTION kode_supp references supp(kode_supp) ON UPDATE CASCADE ON DELETE NO ACTION Purchase_order_detail(no_PO,kode_barang,tgl_PO,kuantitas) Primary key:no_PO,kode_barang Foreign key: no_PO refrences purchase_order(no_PO) ON UPDATE CASCADE ON DELETE NO ACTION kode _barang references barang(kode_barang) ON UPDATE CASCADE ON DELETE NO ACTION Pembayaran(no_giro,tgl_giro,no_PO,kode pegawai,kode_supp) Primary key: no_giro Foreign key: no_PO refrences purchase_order(no_PO) ON UPDATE CASCADE ON DELETE NO ACTION kode_pegawai references pegawai(kode_pegawai) ON UPDATE CASCADE ON DELETE NO ACTION kode_supp references supp(kode_supp) cek-stok(@no_cek_stok,tgl_cek_stok,kode_pegawai) primary key:no_cek_stok foreign key: kode_pegawai references pegawai(kode_pegawai) ON UPDATE CASCADE ON DELETE NO ACTION cek_stok_detail(no_cek_stok,kode_barang,jumlah_stok) primary key:no_cek_stok,kode_barang foreign key: no_cek_stok references cek_stok(no_cek_stok) ON UPDATE CASCADE ON DELETE NO ACTION kode _barang references barang(kode_barang)
126
ON UPDATE CASCADE ON DELETE NO ACTION
3.2.2.e mereview Model Data Logikal Dengan User Setelah meninjau ulang model data lokal dengan user,maka didapatkan kesimpulan bahwa model data lokal sesuai dengan kebutuhan user. 3.2.2.f Menggabungkan Model-Model Data Lokal Menjadi Model Global (Langkah Optional) Tujuan dari tahap ini adalah untuk menggabungkan individual data model logika lokal menjadi global yang menggambarkan perusahaan.
Tabel 3.9 model data local ke global Barang(kode_barang,nama_barang,harga_jual,harga_beli,jumlah_stok,minimal_stok) Primary key: kode_barang Konsumen(Kode_konsumen,nama_konsumen,alamat_konsumen,telepon_konsumen) Primary key: kode_konsumen, Pegawai(kode_pegawai,nama_pegawai,alamat_pegawai,password,kode bagian) Primary key: kode_pegawai Foreign key:kode_bagian references bagian(kode_bagian) Bagian(Kode_bagian,nama_Bagian) Primary key:kode_bagian
127
supplier(kode_supp,nama_supp,alamat_supp) primary key:kode_supp sales_order(no_faktur,tgl_faktur,kuantitas,kode_pegawai,kode_konsumen) primary key:no_faktur foreign
key:kode_pegawai
references
pegawai(kode_pegawai),kode_konsumen
references konsumen(kode_konsumen) sales_order_detail(no_faktur,kode_barang,kuantitas) primary key:no_faktur,kode_barang foreign key:no_faktur refrences sales_order(no_faktur),kode_barang references barang(kode_barang) purchase_order(no_PO,tgl_PO,kode_pegawai,kode_supp) primary key:no_PO foreign key: kode_pegawai references pegawai(kode_pegawai),kode_supp references supplier(kode_supp) Purchase_order_detail(no_PO,kode_barang,tgl_PO,kuantitas) Primary key:no_PO,kode_barang Foreign key: no_PO refrences purchase_order(no_PO),kode _barang references barang(kode_barang) Pembayaran(no_giro,tgl_giro,no_PO,kode pegawai,kode_supp) Primary key: no_giro Foreign key: no_PO refrences purchase_order(no_PO), kode_pegawai references
128
pegawai(kode_pegawai),kode_supp references supp(kode_supp) cek-stok(no_cek_stok,tgl_cek_stok,kode_pegawai) primary key:no_cek_stok foreign key: kode_pegawai references pegawai(kode_pegawai) cek_stok_detail(no_cek_stok,kode_barang,jumlah_stok) primary key:no_cek_stok,kode_barang foreign key: no_cek_stok references cek_stok(no_cek_stok), kode _barang references barang(kode_barang)
129
Gambar 3.10 M odel Diagram Rasional Global
130
3.2.2.g Memeriksa Pertumbuhan Di Masa Depan Rancangan basis data yang dibuat masih memungkinkan untuk diperluas jika user memiliki suatu keperluan di waktu akan datang.Seperti memerlukan tampilan gaji karyawan, history berkerja dll. 3.2.3
Perancangan Basis Data Fisikal Perancangan ini merupakan perancangan yang merupakan proses yang
menghasilkan sebuah deskripsi atau gambaran implementasi basis data pada media penyimpanan yang menggambarkan hubungan dasar,organisasi data dan indeksindeks yang memungkinkan pengaksesan data lebi cepat.Langkah-langkahnya sebagai berikut: Tahap 3 M enterjemahkan model data logikal terhadpat DBM S yang ditentukan 1. M erancang relasi dasar 2. merancang representasi derived data 3. merancang general constraints Tahap 4 M erancang organisasi file dan index 4. menganalisis transaksi 5. memilh organisasi file 6. memilih index 7. mengestimasi kapasitas penyimpanan yang dibutuhkan
131
Tahap 5 M erancang user views Tahap 6 M erancang keamanan 3.2.3.a Merancang Relasi Dasar Pada langkah pertama merupakan perancangan Database Design Language (DBDL) untuk setiap entity yang bertujuan untuk membuat domain dari setiap atribut berdasarkan penjelasan berserta batasan yang ada dalam setiap atribut,yaitu : DBDL untuk Barang Domain Kode Barang
fixed length character string, length 6, format:
[B][R][0-9][0-9][0-9][0-9] Domain Nama Barang
variable length character string, length 30
Domain Harga_Jual
variable length numeric, length 10,2
Domain Jumlah Stok
integer
Barang ( Kode_Barang
Kode Barang
NOT NULL,
Nama_Barang
Nama Barang
NOT NULL,
Harga
Harga
NOT NULL,
Jumlah_Stok
Jumlah Stok
NOT NULL,
PRIM ARY KEY (Kode_Barang) );
132
DBDL untuk Bagian Domain Kode Bagian
fixed length character string, length 4, format:
[B][G][0-9][0-9] Domain Nama Bagian
variable length character string, length 30
Bagian ( Kode_Bagian
Kode Bagian
NOT NULL,
Nama_Bagian
Nama Bagian
NOT NULL,
PRIM ARY KEY (Kode_Bagian) ); DBDL untuk Pegawai Domain Kode Pegawai
fixed length character string, length 6, format:
[P][G][0-9][0-9][0-9][0-9] Domain Nama Pegawai
variable length character string, length 30
Domain Alamat Pegawai
variable length character string, length 100
Domain Password
variable length character string, length 10
Domain Kode Bagian
fixed length character string, length 4, format:
[B][G][0-9][0-9] Pegawai ( Kode_Pegawai
Kode Pegawai
NOT NULL,
Nama_Pegawai
Nama Pegawai
NOT NULL,
Alamat_Pegawai
Alamat Pegawai
NOT NULL,
Password
Password
NOT NULL,
133
Kode_Bagian
Kode Bagian
NOT NULL,
PRIM ARY KEY (Kode_Pegawai), FOREIGN KEY Kode_Bagian REFERENCES Bagian (Kode_Bagian) ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk Telp_Pegawai Domain Telepon Pegawai
variable length character string, length 15, format: [0-9]
untuk setiap digit Domain Kode Pegawai
fixed length character string, length 6, format: [P][L][0-
9][0-9][0-9][0-9] Telepon_Pegawai ( Telepon_Pegawai
Telepon Pegawai
NOT NULL,
Kode_Pegawai
Kode Pegawai
NOT NULL,
PRIM ARY KEY (Telepon_Pegawai), FOREIGN KEY (Kode_Bagian) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION );
134
DBDL untuk S ales_order Domain Nomor Faktur
fixed length character string, length 6, format: [F][P][0-
9][0-9][0-9][0-9] Domain Tanggal Faktur
datetime
Domain Kode Pegawai
fixed length character string, length 6, format:
[P][G][0-9][0-9][0-9][0-9] Penjualan ( No_Faktur
No Faktur
NOT NULL,
Tgl_Faktur
Tanggal Faktur
NOT NULL,
Kode_Pegawai
Kode Pegawai
NOT NULL,
PRIM ARY KEY (No_Faktur), ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (Kode_Pegawai) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk S ales_order_detail Detail Domain Nomor Faktur
fixed length character string, length 6, format: [F][P][0-
9][0-9][0-9][0-9] Domain Kode Barang
fixed length character string, length 6, format:
[B][R][0-9][0-9][0-9][0-9] Domain Harga Jual
variable length numeric, length 10,2
Domain Kuantitas
integer
135
Penjualan_Detail ( No_Faktur
No Faktur
NOT NULL,
Kode_Barang
Kode Barang
NOT NULL,
Harga_Jual
Harga Jual
NOT NULL,
PRIM ARY KEY (No_Faktur, Kode_Barang), FOREIGN KEY No_Faktur REFERENCES Penjualan (No_Faktur) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY Kode_Barang REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk Konsumen Domain Kode Konsumen
variable length character string, length 5
Domain Nama Konsumen
variable length character string, length 30
Domain Alamat Konsumen
variable length character string, length 100
Domain Telepon Konsumen variable length character string, length 15 konsumen ( Kode_Konsumen
Kode Konsumen
NOT NULL,
Nama_Konsumen
Nama Konsumen
NOT NULL,
Alamat_Konsumen
Alamat Konsumen
NOT NULL,
Telepon_Konsumen
Telepon konsumen
NOT NULL,
PRIM ARY KEY (Kode_konsumen), ON UPDATE CASCADE ON DELETE NO ACTION );
136
DBDL untuk Cek_Stok Domain Nomor Cek Stok
fixed length character string, length 6, format: [C][S][0-
9][0-9][0-9][0-9] Domain Tanggal Cek Stok
datetime
Domain Kode Pegawai
fixed length character string, length 6, format:
[P][G][0-9][0-9][0-9][0-9] Penjualan ( No_Cek_Stok
No Cek Stok
NOT NULL,
Tgl_Cek_Stok
Tanggal Cek Stok
NOT NULL,
Kode_Pegawai
Kode Pegawai
NOT NULL,
PRIM ARY KEY (No_Cek_Stok), FOREIGN KEY (Kode_Pegawai) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk Cek_Stok_Detail Domain Nomor Cek Stok
fixed length character string, length 6, format: [C][S][0-
9][0-9][0-9][0-9] Domain Kode Barang
fixed length character string, length 6, format:
[B][R][0-9][0-9][0-9][0-9] Domain Jumlah Sistem
integer
Domain Jumlah Fisik
integer
Domain Keterangan
variable length character string, length 100
137
Cek_Stok-Detail ( No_Cek_Stok
No Cek Stok
NOT NULL,
Kode_Barang
Kode Barang
NOT NULL,
Jumlah_Sistem
Jumlah Sistem
NOT NULL,
Jumlah_Fisik
Jumlah Fisik
NOT NULL,
Keterangan
Keterangan
NOT NULL,
PRIM ARY KEY (No_Cek_Stok, Kode_Barang), FOREIGN KEY (No_Cek_Stok) REFERENCES Cek_Stok (No_Cek_Stok) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (Kode_Barang) REFERENCES Barang (Kode_Barang) ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk Supplier Domain Kode Supplier
fixed length character string, length 6, format: [S][P][0-
9][0-9][0-9][0-9] Domain Nama Supplier
variable length character string, length 30
Domain Alamat Supplier
variable length character string, length 100
Domain Email Supplier
variable length character string, length 30
Supplier ( Kode_Supp
Kode Supplier
NOT NULL,
Nama_Supp
Nama Supplier
NOT NULL,
Alamat_Supp
Alamat Supplier
NOT NULL,
138
Kode_Bagian
Kode Bagian
NOT NULL,
PRIM ARY KEY (Kode_Supp), ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk Purchase Order Domain Nomor Purchase Order fixed length character string, length 6, format: [P][O][0-9][0-9][0-9][0-9] Domain Tgl Purchase Order
datetime
Domain Kode Pegawai
fixed length character string, length 6, format:
[P][G][0-9][0-9][0-9][0-9] Domain Kode Supplier
fixed length character string, length 6, format:
[S][P][0-9][0-9][0-9][0-9] Purchase_Order ( No_PO
Nomor Purchase Order
NOT NULL,
Tgl_PO
Tanggal Purchase Order
NOT NULL,
Kode_Pegawai
Kode Pegawai
NOT NULL,
Kode_Supp
Kode Supplier
NOT NULL,
PRIM ARY KEY (No_PO), FOREIGN KEY (Kode_Pegawai) REFERENCES Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (Kode_Supp) REFERENCES Supplier (Kode_Supp) ON UPDATE CASCADE ON DELETE NO ACTION
139
); DBDL untuk Purchase_Order_Detail Domain Kode Purchase Order
fixed length character string, length 6, format:
[P][O][0-9][0-9][0-9][0-9] Domain Kode Barang
fixed length character string, length 6, format:
[B][R][0-9][0-9][0-9][0-9] Domain Kuantitas
integer
Purchase_Order_Detail ( No_PO
Nomor Purchase Order
NOT NULL,
Kode_Barang
Kode Barang
NOT NULL,
Kuantitas
Kuantitas
PRIM ARY KEY (Kode_PO, Kode_Barang), FOREIGN KEY (Kode_PO) REFERENCES Purchase_Order (Kode_PO) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (Kode_Barang) REFERENCES Supplier (Kode_Barang) ON UPDATE CASCADE ON DELETE NO ACTION ); DBDL untuk Pembayaran Domain Nomor Giro
fixed length character string, length 6, format:
[P][P][0-9][0-9][0-9][0-9] Domain Tgl Purchse Payment
datetime
140
Domain Kode Pegawai
fixed length character string, length 6, format:
[P][G][0-9][0-9][0-9][0-9] Domain Kode Supplier
fixed length character string, length 6, format:
[S][P][0-9][0-9][0-9][0-9] Pembayaran ( No_PP
Nomor Purchase Payment
NOT NULL,
Tgl_PP
Tgl Purchase Payment
NOT NULL,
Kode_Pegawai
Kode Pegawai
NOT NULL,
Kode_Supp
Kode Supp
NOT NULL,
PRIM ARY KEY (Kode_PP), FOREIGN KEY (Kode_Pegawai) REFERENCES Kode Pegawai (Kode_Pegawai) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (Kode_Supp) REFERENCES Supplier (Kode_Supp) ON UPDATE CASCADE ON DELETE NO ACTION )
3.2.3.b Merancang Representasi Derived data Tujuan dari tahap ini adalah untuk menampilkan kembali bagaimana derived data yang tapil pada model data logikal ke global pada target DBM S.Atribut yang nilainya dapat dihasilkan dengan memriksa nilai dari atribut lain dikenal dengan nama derived atau calculated attribute.ontohnya sebagai berikut:
141
Tabel 3.10 Tabel Sales order No_faktur
Tgl_faktur
Kode_pegawai
Total_penjualan
FP0001
5 okt 2010
PG0002
300000,00
Tabel 3.11 Tabel Sales order Detail No_faktur
Kode_barang
kuantitas
Harga_jual
FP0001
BR0001
1
50000,00
FP0001
BR0003
2
250000,00
Dari contoh di atas total penjualan didapat suatu nilai dari attribute lain.Total penjualan di dapat pada table sales order detail yang memiliki atribut yang dihubungkan oleh No_faktur.sales order dengan dengan sales order detail merupakan suatu entury yang saling berhubungan sehingga dapat mempengaruhi atribut satu sama lain.Total penjualan didapat dari kuantitas x kode barang. 3.2.3.c Merancang General Constraint Tujuan dari tahap ini yaitu merancang general constraint untuk DBM S. Dalam sistem ini terdapat beberapa aturan bisnis yang harus dipenuhi. Berikut ini adalah general constraint yang akan dibuat untuk menjaga intedritas dari data yang disimpan.
142
•
Kuantitas barang yang dijual
kuantitas barang yang dijual tidak boleh melebihi jumlah stok yang tersedia create table sales_order( no_faktur
char(6)
NOT NULL
tgl_faktur
datetime
NOT NULL
kode_pegawai char(6)
NOT NULL
constraint [kuantitaspenjualan] CHECK(NOT EXIST(SELECT Jumlah_stok from Barang group by kode_barang having kuantitas>jumlah stok)), primary key (no_faktur), on update cascade on delete no action, foreign key(kode_pegawai) references pegawai (kode_pegawai) on update cascade on delete no action ); 3.2.3.d Menganalisis Transaksi Analisis transaksi bertujuan untuk lebih memahami secara fungsional transaksi-transaksi yang berjalan dalam basis data dan untuk menganalisi transkasitransaksi penting. keterangan transaksi:
143
1. M emasukkan data pegawai 2. M emasukkan data barang 3. M emasukkan data sales order 4. M emasukkan data stok 5. memasukkan data supplier 6. memasukkan data purchase order 7. memasukkan data sales order 8. memasukkan data pembayaran 9. melakukan update/delete data pegawai 10. melakukan update/delete data barang 11. melakukan update/delete data konsumen 12. melakukan update/delete data sales order 13. melakukan update/delete data cek stok 14. melakukan update/delete data supplier 15. melakukan update/delete data purchase order 16. melakukan update/delete data pembayaran 17. menampilkan data pegawai 18. mencari data pegawai berdasarkan nama pegawai 19. menampilkan data barang 20. mencari data barang berdasarkan nama barang 21. menampilkan data sales order 22. mencari data sales order berdasarkan nomor faktur
144
23. menampilakn data cek stok 24. mencari data cek stok berdasarkan nomor cek stok 25. mencari data cek stok berdasarkan tanggal penyesuaian 26. menampilkan data supplier 27. mencari data supplier berdasarkan nama supplier 28. menampilkan data purchase order 29. M encari data purchase order berdasarkan kode purchase order 30. menampilkan data pembayaran 31. mencari data pembayaran berdasarkan nomor Tabel 3.12 Referensi Silang Transaksi Dengan Relasi
Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order purchase_order_detail pembayaran konsumen
1 2 3 4 I R U D I R U D I R U D I R U D x x x x x
x x
x
x x
x x x
x x
145
5 6 7 8 I R U D I R U D I R U D I R U D Barang bagian pegawai supplier x cek_stok cek_stok_detail sales_order sales_order_detail purchase_order x purchase_order_detail pembayaran x konsumen
Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order purchase_order_deta il pembayaran konsumen
x x x x x
1 1 1 9 0 1 2 I R U D I R U D I R U D I R U D x x x
x
x x x
x
x
x
x
x x x
x
x
146
1 3 I
1 4 R U D I
Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order purchase_order_det ail pembayaran konsumen
R U D I
x x
x
x
1 6 R U D I
R U D
x x
x x
x
x
x
x
x
x x
1 7 I Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order purchase_order_det ail pembayaran konsumen
1 5
1 8
x
1 9
R U D I
R U D I
x
x
2 0 R U D I x
x x x x x x x
R U D x
147
2 1 I
2 2 R U D I
Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order purchase_order_det ail pembayaran konsumen
I Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order purchase_order_det ail pembayaran konsumen
R U D I
x x
2 5
2 3 R U D I
R U D
x x
x
x x
2 6 R U D I
2 4
2 7
2 8
R U D I
R U D I
x
x
R U D
x
x
x x
x
148
29 30 31 I R U D I R U D I R U D Barang bagian pegawai supplier cek_stok cek_stok_detail sales_order sales_order_detail purchase_order x purchase_order_detail x pembayaran konsumen
x
x
3.2.3.e Memilih organisasi file ¾ Pemilihan DBMS Pemilihan DBM S merupakan pemilihan DBM S yang sesuai untuk mendukung aplikasi basis data. Berikut ini merupakan pertimbangan pemilihan DBM S antara SQL Server 2005 dan Oracle 9i.
149
Tabel 3.13 Perbandingan Platform SQL Server 2005
Oracle 9i
Hanya bekerja pada platform berbasis
Bisa bekerja pada semua platform mulai
Windows.
dari platform berbasis Windows, Compaq Tru64, UNX, system berbasis AIX, sistem HP-UX, Linux Intel.
Tabel 3.14 Perbandingan Hardware Requirements Keterangan
SQL Server 2005
Oracle 9i
Processor
M inimal menggunakan Pentium 600
Untuk
MHz Pentium III sampai 1 GHz.
kompatibel lain: Pentium
Intel/platform
166 MHz atau lebih. Untuk RISC/6000
AIX: atau
IBM Server
Series Memory
M inimal membutuhkan 512 M B Untuk Windows: 128 M B RAM
RAM (minimum) dan 256 M B RAM (dianjurkan)
Hard disk
Database Engine and data file, 140
M B pada
System
Replication, and Full Text Search Drive + 4.5 GB untuk the (150 M B)
Oracle Home Drive (FAT)
150
Analysis Services and data file (35 atau 2.8 GB untuk The Oracle
M B)
Home
Drive
Reporting Services and Reporting (NTFS) Typical
Manager (40 M B) Notification Components,
Services
Installation:
Engine minimal 450 s/d 550 M b
Client Components Compact
and Rules Components (5 M B)
Installation:
minimal 350 s/d 400 M b
Integration Services (9 M B) Client Components (12 M B) Development Tools (70 M B) Samples and Sample Database (390 M B)
Table 3.15 Perbandingan Dialect SQl Server 2005 dan Oracle 9i Feature
SQl Server 2005 : T-SQL Oracle 9i – PL/S QL
Indexes
B-Tree indexes
B-Tree indexes, indexes,
Bitmap
Partitioned
indexes, Function Based indexes, Domain indexes Tables
Relational tables
Relational tables, Object
Temporary tables
Tables, Temporary tables
151
Triggers
Procedures
AFTER
triggers, BEFORE triggers, AFTER
INSTEAD OF triggers
triggers
T-SQL statements
PL/SQL statements, Java Methods, third generation language (3GL) routines
Arrays
Supported
Not supported
Table 3.16 Tabel Perbandingan Keterbatasan Fitur SQL Server 2005 dengan Oracle 9i Feature
SQl Server 2005
Oracle 9i
Column Name Length
128
30
Index Name Length
128
30
Table Name Length
128
30
View Name Length
128
30
Stored Procedure Name 128
30
Length Mix Column per Index
16
32
Max char() size
8000
2000
Max varchar() size
8000
4000
Max Column per Table
1024
1000
Max Table Row Length
8036
255000
152
Max Query Size
16777216
16777216
Recursive Subqueries
40
64
Constant String Size in 16777207
4000
SELECT Constant String Size in 8000
4000
WHERE
Table 3.17 Perbandingan Harga Number of CPUs
SQl Server 2005
Oracle 9i
Standart Edition
Standart Edition
1
$ 5,999
$ 17,500
2
$ 11,998
$ 35,000
4
$ 23,996
$ 70,000
8
$ 47,992
$ 140,000
16
$ 95,984
$ 280,000
32
$ 191,968
$ 560,000
Dari data-data di atas menunjukan bahwa Oracle 9i mempunyai kemampuan yang lebih baik daripada SQL Server 2005, namun dari segi hardware requirements dan biaya yang harus dikeluarkan untuk DBM S tersebut relatif lebih tinggi. Atas
153
pertimbangan di atas, maka penulis memilih SQL Server 2005 sebagai DBM S yang akan digunakan dalam implementasi basis data.
3.2.3.f Memilih Index Tujuan pada tahap ini adalah untuk meningkatkan peforma dari sistem dengan menggunkan index.Berikut adalah tabel index yang mebantu dalam pencarian data yang sering digunakan,yaitu : Tabel 3.18 Tabel Index Entitiy
Primary Key
Index
Barang
Kode_Barang
Idx_kode_barang
Purchase_Order
No_PO
Idx_No_PO
Sales_Order
No_Faktur
Idx_No_Faktur
Konsumen
Kode_Konsumen
Idx_Kode_Konsumen
3.2.3.g Mengestimasi Kapasitas Penyimpanan yang Dibutuhkan Tujuan dari tahap ini adalah untuk menghitung kapasitas penyimpanan yang dibutuhkan oleh basis data. Perkiraan kapasitas setiap tabel adalah sebagai berikut: Tabel 3.19 Estimasi Tabel Bagian Field
Data Type
Ukuran
Kode_Bagian
Char
4
Nama_Bagian
Varchar
30
154
Kapasitas dari Tabel Bagian adalah 34 Byte. Diperkirakan dalam satu tahun terjadi penambahan 1 bagian. Dalam satu tahun pertumbuhan dari tabel Bagian adalah 1*34=34 Byte.
Tabel 3.20 Estimasi Tabel Pegawai Field
Data Type
Ukuran
Kode_Pegawai
Char
6
Nama_Pegawai
Varchar
30
Alamat_Pegawai
Varchar
100
Telepon
Varchar
15
Password
Varchar
10
Kode_Bagian
Char
4
Kapasitas dari Tabel Pegawai adalah 165 Byte. Diperkirakan dalam satu tahun terjadi penambahan 1 Pegawai baru. Dalam satu tahun pertumbuhan dari tabel Pegawai adalah 1*165=165 Byte.
155
Tabel 3.21 Estimasi Tabel Konsumen Field
Data Type
Ukuran
Kode_Konsumen
Char
6
Nama_Konsumen
Varchar
30
Alamat_Konsumen
Varchar
100
Telepon
Varchar
15
Kapasitas dari Tabel Konsumen adalah 151 Byte. Diperkirakan dalam satu bulan terdapat penambahan 100 konsumen. Dalam satu tahun pertumbuhan dari tabel Konsumen adalah 1*12*100*151=181200 Byte. Tabel 3.22 Estimasi Tabel Barang Field
Data Type
Ukuran
Kode_Barang
Char
6
Nama_Barang
Varchar
30
Harga_Jual
Numeric(10,2)
12
Harga_Beli
Numeric(10,2)
12
M inimal_Stok
Integer
5
Jumlah_Stok
Integer
5
156
Kapasitas dari Tabel Barang adalah 70 Byte. Diperkirakan dalam satu tahun terjadi penambahan 20 barang baru. Dalam satu tahun pertumbuhan dari tabel Barang adalah 20*70=1400 Byte.
Tabel 3.23 Estimasi Tabel Sales_Order Field
Data Type
Ukuran
No_Faktur
Char
6
Tgl_Faktur
Datetime
8
Kode_Pegawai
Char
6
Kode_Konsumen
Char
4
Kapasitas dari Tabel Sales_Order adalah 24 Byte. Diperkirakan dalam satu hari terjadi 20 transaksi. Dalam satu tahun pertumbuhan dari tabel Sales_Order adalah 20*30*12*24= 172800 Byte.
157
Tabel 3.24 Estimasi Tabel Sales_Order_Detail Field
Data Type
Ukuran
No_Faktur
Char
6
Kuantitas
Integer
50
Kode_Barang
Char
6
Kapasitas dari Tabel Sales_Order_Detail adalah 62 Byte. Diperkirakan dalam satu hari terjadi 20 transaksi. Diperkirakan setiap transaksi terdapat 5 barang. Dalam
satu
tahun
pertumbuhan
dari
tabel
Sales_Order_Detail
20*5*30*12*62= 2232000 Byte.
Tabel 3.25 Estimasi Tabel Cek_Stok Field
Data Type
Ukuran
No_Cek_Stok
Char
6
Tgl_Cek_Stok
Datetime
8
Kode_Pegawai
Char
6
Kapasitas dari Tabel Cek_Stok adalah 20 Byte. Diperkirakan dalam satu hari terjadi 20 transaksi.
adalah
158
Dalam satu tahun pertumbuhan dari tabel Cek_Stok adalah 20*30*12*20= 144000 Byte.
Tabel 3.26 Estimasi Tabel Cek_Stok_Detail Field
Data Type
Ukuran
No_Cek_Stok
Char
6
Jumlah_Stok
Integer
5
Kode_Barang
Char
6
Kapasitas dari Tabel Tabel Cek_Stok_Detail adalah 17 Byte. Diperkirakan dalam satu hari terjadi 20 transaksi. Diperkirakan setiap transaksi terdapat 5 jenis barang. Dalam satu tahun pertumbuhan dari tabel Tabel Cek_Stok_Detail adalah 20*5*30*12*17= 612 Kilo byte.
159
Tabel 3.27 Estimasi Tabel Supplier Field
Data Type
Ukuran
Kode_Supp
Char
6
Nama_Supp
Varchar
30
Alamat_Supp
Varchar
100
Telepon
Varchar
15
Kapasitas dari Tabel Supplier adalah 151 Byte. Diperkirakan dalam satu tahun terjadi penambahan 5 supplier baru. Dalam satu tahun pertumbuhan dari tabel Supplier adalah 5*151 = 755 Byte.
Tabel 3.28 Estimasi Tabel Purchase_Order Field
Data Type
Ukuran
No_PO
Char
6
Tgl_PO
Datetime
8
Kode_Pegawai
Char
6
Kode_Supp
Char
6
Kapasitas dari Tabel Purchase_Order adalah 26 Byte. Diperkirakan dalam satu bulan terjadi 300 transaksi.
160
Dalam
satu
tahun
pertumbuhan
dari
tabel
Purchase_Order
adalah
1*300*12*26=93600 Byte.
Tabel3.29 Estimasi Tabel Purchase_Order_Detail Field
Data Type
Ukuran
No_PO
Char
6
Kuantitas
Integer
28
Kode_Barang
Char
6
Kapasitas dari Tabel Purchase_Order_Detail adalah 40 Byte. Diperkirakan dalam satu bulan terjadi 300 transaksi. Dalam satu
tahun
pertumbuhan
1*300*12*40=144000 Byte.
dari
tabel Purchase_Order_Detail
adalah
161
Tabel 3.30 Estimasi Tabel Pembayaran Field
Data Type
Ukuran
No_Giro
Char
6
Tgl_Giro
Datetime
8
Kode_Supp
Char
6
Kode_Pegawai
Char
6
No_PO
Char
6
Kapasitas dari Tabel Pembayaran adalah 32 Byte. Diperkirakan dalam satu bulan terjadi 300 transaksi. Dalam satu tahun pertumbuhan dari tabel Pembayaran adalah 1*300*12*32=115200 Byte. Tabel 3.31 Estimasi Disk S pace yang Dibutuhkan Tabel
Kapasitas ysng dibutuhkan dalam 1 tahun
Bagian
34 Byte
Pegawai
165 Byte
Konsumen
181200 Byte
Barang
1400 Byte
Sales_Order
172800 Byte
Sales_Order_Detail
2232000 Byte
Cek_Stok
144000 Byte
162
Cek_Stok_Detail
612000 Byte
Supplier
755 Byte
Purchase_Order
93600 Byte
Purchase_Order_Detail
144000 Byte
Pembayaran
115200 Byte
3.2.3.h Merancang User Interface Tujuan dari tahap ini adalah merancang user views yang telah teredintifikas i selama tahap requirements collection and analysis data dalam siklus pengembangan basis data. View Pegawai CREATE VIEW view_pegawai AS SELECT h.kode_pegawai,h.nama_pegawai, h.alamat_pegawai, d.telp_pegawai, h.password, b.kode_bagian FROM pegawai h, telp_pegawai d , bagian b WHERE h.kode_pegawai=d.kode_pegawai AND h.kode_bagian=b.kode_bagian View Konsumen CREATE VIEW view_konsumen AS
SELECT
d.telp_konsumen.
h.kode_konsumen,
h.nama_konsumen,
h.alamat_konsumen,
163
FROM konsumen h, telp_konsumen d WHERE h.kode_konsumen=d.kode_konsumen View Supplier CREATE VIEW view_supplier AS SELECT h.kode_supp, h.nama_supp, h.alamat_supp, d.telp_supp FROM supplier h, telp_supp d WHERE h.kode_supp=d.kode_supp View S ales_Order CREATE VIEW sales_order AS SELECT h.no_faktur, h.tgl_faktur, h.kode_pegawai, h.kode_konsumen FROM sales_order h, sales_order_detail d, pegawai p, barang b WHERE h.no_faktur = d.no_faktur AND h.kode_pegawai = p.kode_pegawai AND d.kode_barang = b.kode_barang GROUP BY h.no_faktur, h.tgl_faktur, h.kode_pegawai, h.kode_konsumen View S ales_Order_Detail CREATE VIEW view_sales_order_detail AS SELECT h.no_faktur, b.kode_barang, d.kuantitas FROM sales_order_detail d, barang b,sales_order h WHERE d.kode_barang=b.kode_barang AND h.no_faktur=d.no_faktur
164
View Cek_Stok CREATE VIEW view_cek_stok AS SELECT h.no_cek_stok, h.tgl_cek_stok, h.kode_pegawai FROM cek_stok h, pegawai p WHERE h.kode_pegawai = p.kode_pegawai View Cek_Stok_Detail CREATE VIEW view_cek_stok_detail AS SELECT d.kode_barang, b.nama_barang, d.jumlah_stok, FROM cek_stok_detail d, barang b, cek_stok h WHERE d.kode_barang=b.kode_barang AND h.no_cek_stok=d.no_cek_stok View Purchase_Order CREATE VIEW view_purchase_order AS SELECT h.no_PO, h.tgl_PO, h.kode_pegawai, h.kode_supp FROM Purchase_Order h, supplier s, pegawai p WHERE h.kode_supp = s.kode_supp AND h.kode_pegawai = p.kode_pegawai View Purchase_Order_Detail CREATE VIEW view_purchase_order_detail AS SELECT h.no_PO, d.kode_barang, d.kuantitas FROM purchase_order_detail d, barang b, purchase_order h WHERE d.kode_barang=b.kode_barang AND h.no_PO=d.no_PO
165
3.2.3.i Merancang Mekanisme Keamanan Tujuan dari tahap ini adalah untuk merancang mekanisme keamanan dari basis data. Adapun mekanisme keamanan yang dirancang untuk basis data adalah sebagai berikut: a) Keamanan Sistem Keamanan Sistem diterapkan dengan menggunakan authentikasi user, yaitu dengan menggunakan halaman login sebelum masuk ke dalam sistem yang dirancang pada aplikasi. Dari halaman login, user diminta memasukkan username dan password. Selain itu, juga diatur agar user hanya bisa mengakses modul-modul tertentu dalam program sesuai dengan haknya. b) Keamanan Data Keamanan data berhubungan dengan relasi basis data (tabel atau relasi) dan aksi user terhadap tersebut misalnya aksi pemilihan, pengisian, pengubahan dan penghapusan data. Keamanan data ini diterapkan menggunakan autohorisasi user dengan tujuan untuk membatasi hak akses user terhadap relasi yang ada.
166
Table 3.32 Perancangan M ekanisme Keamanan User
Pemilik
Kepala
Bagian
Bagian
Bengkel
Bengkel
Front Desk
S pare Part
Relasi
I
R U
D
I
R
U
D
Barang
x
x
x
x
x x
x
x
Bagian
x
x
x
x
x
Pegawai
x
x
x
x
x
Konsumen
x
x
x
x
Supplier
x
x
x
x
x
S ales_Order
x
x
x
x
x
x
x
x
S ales_Order_
x
x
x
x
x
x
x
x
Cek_Stok
x
x
x
x
x x
x
x
x
x
x
Cek_Stok_
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
I
R
U
x
D
I
R
U
x
x
x
x x
x
x
x x x
Detail
x
Detail Purchase_ Order Purchase_ Order_Detail Pembayaran
Keterangan: I = Insert R = Read U = Update D = Delete
D
167
3.3 Perancangan Aplikasi Berikut ini merupakan perancangan aplikasi yang menggunakan dan memproses basis data. Perancangan aplikasi ini meliputi perancangan struktur menu, pembuatan State Transition Diagram(STD), spesifikasi proses serta perancangan input dan output.
3.3.1 S truktur Menu Berikut ini merupakan struktur menu dari aplikasi yang dibuat: Ha lam an L og in
Ha la man Utam a
Fi le
Inse rt
Ch an ge Pa sswo rd
Tr ans actio n
Pro du ct
Fron t De sk
Re por t
Pe mbe li an
Su pp li er Purc ha se Orde r
L ogo ut Peg aw ai E xit
Pe nj ual an Pe mbe li an
Kon sum en
Pe nju al an
Gambar 3.11 Struktur menu rancangan aplikasi
Pe rsed ia an
168
3.3.2 State Transition Diagram(S TD) State Transition Diagram merupakan diagram yang menjelaskan aliran suatu state ke state yang lain dalam sebuah aplikasi. Berikut ini merupakan STD dari aplikasi yang dirancang:
Gambar 3.12 STD Halaman Login
169
Halaman Utama
Klik ‘File’ _________________________ Tampilkan menu File File
Klik ‘Insert’ _________________________ Tampilkan menu Insert Insert
Klik ‘Transaction’ _________________________ Tampilkan menu Transaction Transaction
Klik ‘Report’ _________________________ Tampilkan menu Report Report
Gambar 3.13 STD Halaman Utama
170
Gambar 3.14 STD Halaman File
Gambar 3.15 STD Halaman Change Password
171
Insert Klik ‘Barang’ _________________________ Tampilkan halaman barang
Barang
Klik ‘Supplier’ _________________________ Tampilkan halaman supplier
Supplier
Klik ‘Pegawai, _________________________ Tampilkan halaman pegawai
Pegawai
Klik ‘Konsumen’ _________________________ Tampilkan halaman konsumen Konsumen
Gambar 3.16 STD Halaman Insert
172
Tamb ah Baran g Eror
U pda te Bara ng Eror
Kl ik ‘OK’ ___ ___ ____ __ Kli k ‘Si mpan ’ __ ___ ____ ___ Tamb ah data e rror, tampi lkan pesa n ke salah an
Masukkan kata kunci ___ ___ ____ __ Ta mpil kan hal aman Bara ng beri si data Baran g ya ng d icari
Ta mpil kan ha lama n tamba h Barang
Klik ‘Tampi l Semua __ ___ ____‘___
Klik ‘Si mpan’ __ ____ ___ ___ Upd ate d ata e rro r, tampil kan pesa n ke salah an
Tampi lkan ha laman U pda te Ba ra ng
Tampi lkan ha lama n Ba rang be risi semua data Baran g
Kli k ‘ Upda te ’ ___ ____ ___ __
Klik Tambah ‘’ ___ ___ ____ __
Ta mpil kan hal aman Up date Baran g
Ta mpil kan ha lama n tamba h Barang Tambah Ba rang
Klik ‘Si mpan ’ __ ___ ____ ___ Tamb ah data berh asil, tampi lkan p esan b erha sil
Klik ‘OK’ __ ___ ____ ___
Ba ra ng
Upd ate Barang
Kli k ‘ Batal’ __ ___ ____ ___
Klik ‘Ba ta l’ ___ ____ ___ __
Tampi lkan ha lama n Ba rang
Ta mpil kan hal aman Bara ng
Kl ik ‘OK’ ___ ___ ____ __
Klik ‘Si mpan’ __ ___ ____ ___ Upd ate d ata berha sil, tampi lkan p esan b erha sil
Kli k ‘OK’ _ ___ ____ ___ _
Ta mpil kan hal aman Bara ng
Tamp ilka n h ala man Baran g
Ta mbah Da ta Be rh asil
U pda te Bara ng Berha sil
Kl ik ‘Hap us’ __ ___ ____ ___
Kl ik ‘Ta mbah Sto k’ ___ ____ ___ __ Ta mpil kan h ala man Ta mbah Stok Barang
Tampi lkan hala man ha pus Ba rang
Kl ik ‘Yes’ ___ ___ ____ __ Hap us d ata pe gawa i, Tampi lkan ha lama n Ba rang
Klik ‘OK’ __ ___ ____ ___ Tampi lkan ha lama n Ba rang
H apus Bara ng
Tamba h Stok Kl ik____ ‘No ’ __ ___ ___ Ta mpil kan hal aman Bara ng
Klik ‘Ca ncel ’ __ ___ ____ ___ Tampi lkan ha lama n Ba rang
Klik ‘Tutup’ _ ___ ___ ____ _ Ta mpilka n ha lama n u ta ma
Klik ‘Bara ___ ___ ____ng’ __
Kl ik ‘Tu tu p’ __ ___ ____ ___
Ta mpil kan hal aman Bara ng
Tampil kan h ala man utama
H ala man Utama
Gambar 3.17 STD Halaman Barang
Kli k ‘Tutup ’ ___ ____ ___ __ Ta mp ilka n ha laman u ta ma
173
Tambah Suppl ier Ero r
Upda te Suppl ier Ero r
Kl ik ‘ OK’ __ _____ ____ _
Masukkan kata ku nci ___ ____ _____ Tampilkan ha laman su ppli er b erisi data suppli er yan g d icari
Tampilka n h alaman tambah suppl ier
Klik ‘Simpan’ ___ _____ ____ Tambah data error, tampi lkan p esan kesala han
Klik ‘OK’ _____ _____ __ Tampil kan halama n Up date suppli er
Kli k Tambah‘ ’ _ _____ _____ _
Kli k ‘U pdate’ ___ ____ _____
Tampil kan hala ma n tambah suppl ier
Tampilkan ha laman Upda te sup plier
Tambah Supp lier
Kli k ‘Si mp an’ _____ _____ __ Ta mb ah data berha sil, ta mp ilkan pesa n berhasi l
Kli k ‘Tampil Semua‘ ____ _____ ___ Tampi lkan hal aman supp lier beri si semua data suppl ier
Sup plie r
Klik ‘Simpa n’ _ _____ _____ _ Upda te data error, tampilkan pesan ke sa laha n
Upd ate Supp lier
Klik ‘Batal’ ___ _____ ____
Klik ‘Batal’ ___ ____ _____
Ta mp ilkan ha laman supp lier
Tampilkan ha laman sup plier
Klik ‘Simpan ’ __ _____ ____ _ Upda te data berhasil , tampi lkan pesan b erhasil
Kl ik ‘ OK’ __ _____ _____ Tampilkan h alaman sup plie r Tamba h D ata Berha si l
Klik ‘OK’ _ _____ _____ _ Tampil kan halaman su ppli er
Kl ik ‘ Hapu s’ _ _____ _____ _ Tampil kan hal aman hapus su ppli er
Kli k ‘Yes’ _____ _____ __ H apus data pegaw ai, Ta mp ilkan ha laman suppl ier
Upd ate Supp lier Berha sil
Hapus Suppl ier Klik ‘No’ _ ____ _____ __ Tampil kan hala ma n su ppli er
Kli k ‘Tutup’ __ _____ _____ Tampilka n hala ma n uta ma
Klik ‘Supp lier’_ _ _____ _____
Kl ik ‘ Tutup’ _ _____ _____ _
Tampil ka n hala ma n sup plie r
Tampilka n hala ma n u ta ma
Ha laman Utama
Gambar 3.18 STD Halaman Supplier
Kl ik ‘ Tutup’ _ _____ _____ _ Tampilkan hala ma n u tama
174
Tambah Pega wai Eror
U pdate Pe gawai Eror
Kli k ‘ OK’ ___ _____ ____ Ta mp ilkan ha laman tamba h Pega wai
Kl ik ‘Simpan’ ___ _____ ____ Tambah data error, tampi lkan pe san kesala han
Ma su kka n kata kunci _____ _____ __ Tampi lkan hal aman Pega wai berisi d ata Pega wai yang di ca ri
Kl ik ‘Ta mpi l Se mu_____ a‘ __ _____ Tampilkan h alaman Pe gawai b erisi semua da ta Peg awai
Tampi lkan hal aman Update Pegaw ai
Kli k ‘Simpa n’ _ _____ _____ _ Upd ate da ta error, tampilkan pesan ke sa laha n
Kl ik ‘Upda te’ _ _____ _____ _
Klik Ta mb ah‘’ __ _____ _____ Tampilkan h alaman ta mb ah Peg awai
Tampil kan halaman Up date Pe gawai
Ta mba h Pe gawai
Kli k ‘Simpa n’ _ _____ _____ _ Tamba h d ata berha si l, ta mp ilkan pesan berhasil
Kli k ‘OK’ ____ _____ ___
Pe gawai
Update Pegawa i
Kl ik ‘ Bata l’ _____ _____ __
Kli k ‘ Ba tal ’ _ _____ _____ _
Tampi lkan hal aman Pegawa i
Tampil kan halaman Pe gawai
Kli k ‘Simpa n’ _____ ______ _ Upd ate da ta berha si l, ta mp ilkan pesan berhasil
Kli k ‘OK’ ____ _____ ___ Ta mpi lkan hal aman Pegaw ai Tambah Da ta Berhasi l
Kli k ‘OK’ ____ _____ ___ Tampi lkan hal aman Pegaw ai
Kli k ‘H apus’ ___ _____ ____ Tampilkan hala man ha pus Pega wai
Klik ‘Yes’ __ _____ _____ Hap us da ta pe gawai , Tampil kan hal aman Pe gawai
Update Pegawa i Berh asil
Hap us Pega wai Kl ik ‘ _____ No’ __ _____ Tampilkan h alaman Pega wai
Kli k ‘Tutup’ __ _____ _____ Tampilkan hala ma n u tama
Klik ‘Pega wai’ ___ _____ ____
Klik ‘Tutu p’ ____ _____ ___
Ta mp ilkan ha laman Pegaw ai
Tampi lkan ha laman utama
Hala ma n U tama
Gambar 3.19 STD Halaman Pegawai
Kl ik ‘Tutup’ _____ ______ _ Tampilka n hal aman uta ma
175
Transaction
Klik ‘Front Desk’ _________________________ Tampilkan halaman Front Desk Front Desk
Klik ‘Purchase Order’ _________________________ Tampilkan halaman Purchase Order
Purchase Order
Klik ‘Pembelian’ _________________________ Tampilkan halaman pembelian Pembelian
Klik ‘Penjualan’ _________________________ Tampilkan halaman penjualan
Gambar 3.20 STD Halaman Transaction
Penjualan
176
Gambar 3.21 STD Halaman Front Desk
177
Gambar 3.22 STD Halaman Front Desk
178
Gambar 3.23 STD Halaman Pembelian
179
Gambar 3.24 STD Halaman Penjualan
180
Report
Klik ‘Pembelian’ _________________________ Tampilkan halaman Laporan Pembelian Pembelian
Klik ‘Penjualan’ _________________________ Tampilkan halaman Laporan Penjualan Penjualan
Klik ‘Persediaan’ _________________________ Tampilkan halaman Laporan Persediaan Persediaan
Gambar 3.25 STD Halaman Laporan
181
Gambar 3.26 STD Halaman Laporan Pembelian
182
Gambar 3.27 STD Halaman Laporan Penjualan
183
Gambar 3.28 STD Halaman Laporan Persediaan
184
3.3.3 Pseudocode Tahap ini akan dirancang pseusocode untuk menggambarkan alur jalannya aplikasi. Berikut ini psedocode dari aplikasi yang dibuat : Halaman login Awal Tampilkan halaman login Jika klik tombol “login” Jika kode_bagian, password dan bagian valid maka Tampilkan halaman mainmenu sesuai haknya Selain itu maka Tampilkan pesan kesalahan Akhir jika Akhir jika Jika klik tombol “cancel” maka Keluar dari aplikasi Kembali kelayar desktop windows Akhir jika Akhir
185
Halaman mainmenu Awal Tampilkan halaman mainmenu Jika klik tombol “change password” maka tampilkan halaman from changepass Selain itu Jika klik tombol “logout” maka tampilkan form halaman login Selain itu Jika klik tombol “exit” maka keluar dari aplikasi Selain itu Jika klik tombol “product” maka tampilkan form halaman product Selain itu Jika klik tombol “supplier” maka tampilkan form halaman supplier Selain itu Jika klik tombol “pegawai” maka tampilkan form halaman pegawai
186
Selain itu Jika klik tombol “konsumen” maka tampilkan form halaman konsumen Selain itu Jika klik tombol “front desk” maka tampilkan form halaman front desk Selain itu Jika klik tombol “purchase order” maka tampilkan form halaman purchase order Selain itu Jika klik tombol “pembelian” maka tampilkan form halaman pembelian Selain itu Jika klik tombol “penjualan” maka tampilkan form halaman penjualan Selain itu Jika klik tombol “report -> pembelian” maka tampilkan form halaman laporan_pembelian Selain itu Jika klik tombol “report -> penjualan” maka tampilkan form halaman laporan_penjualan
187
Selain itu Jika klik tombol “report -> persediaan’ maka tampilkan form halaman laporan_persediaan Akhir jika Akhir
Halaman product M ulai Tampilkan semua data barang Tombol save tidak bisa diklik Jika txtcari =”” maka Tampilkan pesan “masukkan nama barang yang ingin dicari” Selain itu maka Tampilkan nama barang sesuai dengan pencarian Akhir jika Jika klik tombol “insert” maka Kosongkan txtnamabarang, txthargajual, t xthargabeli, txtjumlah, txtminimal Tombol save bisa diklik Tombol update tidak bisa diklik Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik
188
Akhir jika Jika klik tombol “save” maka Jika txtnamabarang=”” maka Tampilkan pesan “nama harus diisi” Selain itu Jika txthargajual=”” maka Tampilkan pesan “harga jual harus diisi” Jika txthargajual != angka maka Tampilkan pesan “harga jual harus angka” Akhir jika Selain itu Jika txthargabeli=”” maka Tampilkan pesan “harga beli harus diisi” Jika txthargabeli != angka maka Tampilkan pesan “harga beli harus angka” Akhir jika Selain itu Jika txtjumlah=”” maka Tampilkan pesan “jumlah stok harus diisi” Jika txtjumlah != angka maka Tampilkan pesan “jumlah stok harus angka” Akhir jika
189
Selain itu Jika txtminimal=”” maka Tampilkan pesan “minimal stok harus diisi” Jika txtminimal != angka maka Tampilkan pesan “minimal stok harus angka” Akhir jika Selain itu M asukkan data ke tabel barang Tampilkan pesan “berhasil ditambahkan” Akhir jika Akhir jika Jika klik tombol “update” maka Tampilkan data yang mau diubah Tombol save bisa diklik Tombol update tidak bisa diklik Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik Akhir jika Jika klik tombol “delete” maka Tampilkan pesan konfirmasi hapus Jika klik “yes” maka Hapus data dari tabel barang
190
Akhir jika Jika klik “no” maka Tutup pesan konfirmasi hapus Akhir jika Akhir jika Akhir
Halaman supplier M ulai Tampilkan semua data supplier Tombol save tidak bisa diklik Jika txtcari =”” maka Tampilkan pesan “masukkan nama supplier yang ingin dicari” Selain itu maka Tampilkan nama supplier sesuai dengan pencarian Akhir jika Jika klik tombol “insert” maka Kosongkan txtnamasupplier, txtalamat, txttelepon Tombol save bisa diklik Tombol update tidak bisa diklik Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik
191
Akhir jika Jika klik tombol “save” maka Jika txtnamasupplier=”” maka Tampilkan pesan “nama supplier harus diisi” Selain itu Jika txtalamat=”” maka Tampilkan pesan “alamat harus diisi” Selain itu Jika txttelepon=”” maka Tampilkan pesan “telepon harus diisi” Jika txttelepon != angka maka Tampilkan pesan “telepon harus angka” Akhir jika Selain itu M asukkan data ke tabel supplier Tampilkan pesan “berhasil ditambahkan” Akhir jika Akhir jika Jika klik tombol “update” maka Tampilkan data yang mau diubah Tombol save bisa diklik Tombol update tidak bisa diklik
192
Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik Akhir jika Jika klik tombol “delete” maka Tampilkan pesan konfirmasi hapus Jika klik “yes” maka Hapus data dari tabel supplier Akhir jika Jika klik “no” maka Tutup pesan konfirmasi hapus Akhir jika Akhir jika Akhir
Halaman pegawai M ulai Tampilkan semua data pegawai Tombol save tidak bisa diklik Jika txtcari =”” maka Tampilkan pesan “masukkan nama pegawai yang ingin dicari” Selain itu maka Tampilkan nama pegawai sesuai dengan pencarian
193
Akhir jika Jika klik tombol “insert” maka Kosongkan txtnamapegawai, txtalamat, txttelepon, txtbagian, txtpass Tombol save bisa diklik Tombol update tidak bisa diklik Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik Akhir jika Jika klik tombol “save” maka Jika txtnamapegawai=”” maka Tampilkan pesan “nama pegawai harus diisi” Selain itu Jika txtalamat=”” maka Tampilkan pesan “alamat harus diisi” Selain itu Jika txttelepon=”” maka Tampilkan pesan “telepon harus diisi” Jika txttelepon != angka maka Tampilkan pesan “telepon harus angka” Akhir jika
194
Jika txtbagian=”” maka Tampilkan pesan “kode bagian harus dipilih” Jika txtpass=”” maka Tampilkan pesan “password harus diisi” Selain itu M asukkan data ke tabel pegawai Tampilkan pesan “berhasil ditambahkan” Akhir jika Akhir jika Jika klik tombol “update” maka Tampilkan data yang mau diubah Tombol save bisa diklik Tombol update tidak bisa diklik Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik Akhir jika Jika klik tombol “delete” maka Tampilkan pesan konfirmasi hapus Jika klik “yes” maka Hapus data dari tabel pegawai Akhir jika
195
Jika klik “no” maka Tutup pesan konfirmasi hapus Akhir jika Akhir jika Akhir
Halaman konsumen M ulai Tampilkan semua data konsumen Tombol save tidak bisa diklik Jika txtcari =”” maka Tampilkan pesan “masukkan nama supplier yang ingin dicari” Selain itu maka Tampilkan nama konsumen sesuai dengan pencarian Akhir jika Jika klik tombol “insert” maka Kosongkan txtnamakonsumen, txtalamat, txttelepon Tombol save bisa diklik Tombol update tidak bisa diklik Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik
196
Akhir jika Jika klik tombol “save” maka Jika txtnamakonsumen=”” maka Tampilkan pesan “nama konsumen harus diisi” Selain itu Jika txtalamat=”” maka Tampilkan pesan “alamat harus diisi” Selain itu Jika txttelepon=”” maka Tampilkan pesan “telepon harus diisi” Jika txttelepon != angka maka Tampilkan pesan “telepon harus angka” Akhir jika Selain itu M asukkan data ke tabel konsumen Tampilkan pesan “berhasil ditambahkan” Akhir jika Akhir jika Jika klik tombol “update” maka Tampilkan data yang mau diubah Tombol save bisa diklik Tombol update tidak bisa diklik
197
Tombol delete tidak bisa diklik Tombol insert tidak bisa diklik Akhir jika Jika klik tombol “delete” maka Tampilkan pesan konfirmasi hapus Jika klik “yes” maka Hapus data dari tabel konsumen Akhir jika Jika klik “no” maka Tutup pesan konfirmasi hapus Akhir jika Akhir jika Akhir
Halaman front desk M ulai Jika klik tombol “add” maka Jika cmbnamapelanggan=”” maka Tampilkan pesan “nama pelanggan harus diisi” Selain itu Jika cmbnamabarang=”” maka
198
Tampilkan pesan “nama barang harus dipilih” Selain itu Jika txtqty=”” maka Tampilkan pesan “qty harus diisi” Jika txtqty != angka maka Tampilkan pesan “qty harus berupa angka” Selain itu Jika txtqty <= 0 maka Tampilkan pesan “qty harus lebih besar dari 0” Akhir jika Selain itu M asukkan kedalam datagridtransaction Akhir jika Jika klik tombol “remove” maka Hapus data dari datagridtransaction Akhir jika Jika klik tombol “save” maka Simpan data front desk kedalam table sales_order Cetak struk pembelian Akhir jika Akhir
199
Halaman purchase order M ulai Jika klik tombol “add” maka Jika cmbnamasupplier=”” maka Tampilkan pesan “nama supplier harus diisi” Selain itu Jika cmbnamabarang=”” maka Tampilkan pesan “nama barang harus dipilih” Selain itu Jika txtqty=”” maka Tampilkan pesan “qty harus diisi” Jika txtqty != angka maka Tampilkan pesan “qty harus berupa angka” Selain itu Jika txtqty <= 0 maka Tampilkan pesan “qty harus lebih besar dari 0” Akhir jika Selain itu M asukkan kedalam datagridtransaction Akhir jika Jika klik tombol “remove” maka Hapus data dari datagridtransaction
200
Akhir jika Jika klik “save” maka Simpan data front desk kedalam table purchase order Cetak struk purchase order Akhir jika Akhir
Halaman pembelian Awal Tampil semua data purchase_order Jika klik tombol “print” maka Cetak struk purchase order Akhir jika Akhir
Halaman penjualan Awal Tampil semua data sales_order Jika klik tombol “print” maka Cetak struk sales order Akhir jika Akhir
201
Halaman report->pembelian Awal Tampilkan halaman periode laporan pembelian Jika klik tombol “print” maka Jika periode tanggal awal lebih besar dari tanggal periode akhir maka Tampilkan pesan “tanggal awal harus lebih kecil” Selain itu Cetak laporan pembelian Akhir jika Akhir jika Jika klik tombol “cancel” maka Tutup halaman laporan pembelian Akhir jika Akhir
Halaman report->penjualan Awal Tampilkan halaman periode laporan penjualan Jika klik tombol “print” maka Jika periode tanggal awal lebih besar dari tanggal periode akhir maka
202
Tampilkan pesan “tanggal awal harus lebih kecil” Selain itu Cetak laporan penjualan Akhir jika Akhir jika Jika klik tombol “cancel” maka Tutup halaman laporan penjualan Akhir jika Akhir
Halaman report->persediaan Awal Tampilkan semua data barang Jika klik tombol “print” maka Cetak persedian barang Akhir jika Jika klik tombol “cancel” maka Tutup halaman persediaan Akhir jika Akhir
203
3.3.4
Perancangan Input dan Output Perancangan input dan output menggambarkan tentang rancangan input dan putput aplikasi yang akan diterapkan dalam aplikasi yang digunakan 3.3.4.a Perancangan input Tampilan rancangan input yang akan diterapkan dalam pembuatan aplikasi :
Login
X Kode Bagian LOGO Password
Ok
Cancel
Gambar 3.29 Rancangan layar login Rancangan layar login adalah form awal saat program dijalankan dan meminta inputan kode bagian dan password untuk mengakses dan menjalankan program
204
M ain M enu
_
File
| Insert
Change Password Logout Exit
Product Supplier Pegawai Konsumen
| Transaction Front Desk Purchase Pembelian Penjualan
X
[]
| Report Pembelian Penjualan Persediaan
Gambar 3.30 Rancangan main menu Rancangan main menu adalah tampilan yang akan muncul setelah melakukan login pada saat program dijalankan. Halaman main menu akan ditampilkan menurut hak akses dari kode bagian.
Change Password
_
Old Password New Password Confirm Password
OK
Cancel
Gambar 3.31 Rancangan layar change password
[]
X
205
Pada halaman change password ini pegawai dapat mengubah password mereka. Pada kolom old password berisi password mereka yang sebelumnya dan kolom new password dan confirm password berisi password yang baru.
206
Product
_
Kode Barang
Cari :
Nama Barang
Nama Barang
Harga Jual
Cari
Harga Beli Jumlah Stok M inimal Stok Update
Save
Delete
Insert
Gambar 3.32 Rancangan layar product
[]
X
207
Pada halaman product ini menampilkan semua barang dari table barang didatabase dan dapat juga melakukan insert, update dan delete barang. Selain itu dapat melakukan pencarian product menurut nama barang. Setelah tombol save diklik akan masuk kedalam table barang.
208
Supplier
_
Kode Supplier
Cari :
Nama Supplier
Nama Supplier
Alamat
Cari
Telepon
Update
Save
Delete
Insert
Gambar 3.33 Rancangan layar supplier
[]
X
209
Pada halaman supplier ini berisi semua data-data tentang supplier dari table supplier didatabase dan juga dapat melakukan insert, update dan delete supplier. Selain itu dapat melakukan pencarian supplier menurut nama supplier. Setelah tombol save diklik akan masuk kedalam table supplier.
210
Pegawai
_
Kode Pegawai
Cari :
Nama Pegawai
Nama Pegawai
Alamat
Cari
Telepon Kode Bagian Password
Update
Save
Delete
Insert
Gambar 3.34 Rancangan layar pegawai
[]
X
211
Pada halaman pegawai ini berisi semua data-data tentang pegawai dari table pegawai di database dan juga dapat melakukan insert, update dan delete pegawai. Selain itu dapat melakukan pencarian pegawai menurut nama pegawai. Kode bagian diambil dari table bagian yang ada didalam database. Setelah tombol save diklik akan masuk kedalam table pegawai.
212
Konsumen
_
Kode Konsumen
[]
X
Cari :
Nama
Nama Konsumen
Alamat
Cari
Telepon
Update
Save
Delete
Insert
Gambar 3.35 Rancangan layar konsumen Pada halaman konsumen ini berisi semua data-data tentang konsumen dari table konsumen didatabase dan juga dapat melakukan insert, update dan delete konsumen. Selain itu dapat melakukan pencarian konsumen
213
menurut nama konsumen. Setelah tombol save diklik akan masuk kedalam table konsumen.
Front Desk
_
No Faktur
[]
X
Tanggal
Nama Pelanggan Nama Barang Qty Add
Remove
Transaction
Save
Gambar 3.36 Rancangan layar Front Desk Pada halaman Front Desk akan tampil outlet perusahaan yang akan digunakan oleh bagian front desk. Isi dari nama barang didapat dari table barang sesuai dengan barang yang ada didalam database. Tombol add
214
digunakan untuk menyimpan data kedalam tabel transaction dan tombol remove untuk menghapus data yang sudah di add. Tombol save untuk menyimpan data ke dalam tabel sales_order dan sales_order_detail, kemudian akan diprint. Purchase Order
_
No PO
[]
X
Tanggal
Nama Supplier Nama Barang Qty Add
Remove
Transaction
Save Gambar 3.37 Rancangan layar Purchase Order Pada halaman Purchase Order akan tampil outlet perusahaan yang akan digunakan oleh bagian front desk. Isi dari nama barang didapat dari table barang sesuai dengan barang yang ada didalam database. Tombol add digunakan untuk menyimpan data kedalam tabel transaction dan tombol
215
remove untuk menghapus data yang sudah di add. Tombol save untuk menyimpan
data
ke
dalam
tabel
purchase_order
dan
_
X
purchase_order_detail, kemudian akan dicetak.
Pembelian
[]
Pembelian
Print
Gambar 3.38 Rancangan layar pembelian Pada halaman pembelian hanya dapat melihat pembelian yang didapat dari table purchase_order. Tombol print untuk mencetak data pembelian.
216
Penjualan
_
[]
X
Penjualan
Print
Gambar 3.39 Rancangan layar penjualan Pada halaman penjualan hanya dapat melihat penjualan yang didapat dari table sales_order. Tombol print untuk mencetak data penjualan
217
Laporan Pembelian
_
[]
X
LAPORAN PEM BELIAN Periode : DD-MM -YYYY
DD-MM -YYYY
Print
Cancel
Gambar 3.40 Rancangan layar laporan pembelian Pada halaman laporan pembelian ini akan mencetak laporan pembelian dari
supplier
yang
purchase_order_detail
diambil
dari
table
purchase_order
dan
218
Laporan Penjualan
_
[]
X
LAPORAN PENJUALAN Periode : DD-MM -YYYY
Print
DD-MM -YYYY
Cancel
Gambar 3.41 Rancangan layar laporan penjualan Pada halaman laporan penjualan ini akan mencetak laporan penjualan dari konsumen yang diambil dari table sales_order dan sales_order_detail
219
Laporan Persediaan
_
[]
X
LAPORAN PERSEDIAAN
Print
Cancel
Gambar 3.42 Rancangan layar laporan persediaan Pada halaman laporan persediaan ini akan menampilkan sisa stok barang yang ada digudang. Tombol print untuk mencetak data persediaan.
220
3.3.4.b Perancangan output Tampilan rancangan output yang akan diterapkan dalam pembuatan aplikasi : LAPORAN PEMBELIAN PEIRODE [dd-mm-yyyy] – [dd-mm-yyyy] AHASS DUNIA BARU
Tanggal
No PO xx-xx-xxxx xxxx xx-xx-xxxx xxxx xx-xx-xxxx xxxx
Nama Supplier xxxxxx xxxxxx xxxxxx
Nama Barang xxxxx xxxxx xxxxx
Kuantitas xx xx xx
Harga Beli xxxxx xxxxx xxxxx
DD/MM/YYYY Total xxxxxxx xxxxxxx xxxxxxx
Total Pembelian : xxxxxxxx
Diketahui,
Kepala Bengkel
Gambar 3.43 Rancangan laporan pembelian Pada halaman ini menampilkan laporan pembelian berdasarkan periode yang dipilih.
221
LAPORAN PENJUALAN PEIRODE [dd-mm-yyyy] – [dd-mm-yyyy] AHASS DUNIA BARU
DD/MM/YYYY Tanggal
No Faktur
Nama Barang
Kuantitas
Harga Jual
Total
xx-xx-xxxx xx-xx-xxxx xx-xx-xxxx
xxxx xxxx xxxx
xxxxxx xxxxxx xxxxxx
xx xx xx
xxxxx xxxxx xxxxx
xxxxxxx xxxxxxx xxxxxxx
Total Penjualan : xxxxxxxx
Diketahui,
Kepala Bengkel
Gambar 3.43 Rancangan laporan penjualan Pada halaman ini menampilkan laporan penjualan berdasarkan periode yang dipilih.
222
LAPORAN PERSEDIAAN AHASS DUNIA BARU
DD/MM/YYYY Kode Barang
Nama Barang
xxxx xxxx xxxx
xxxxxxx xxxxxxx xxxxxxx
Jumlah Stok
xx xx xx
Minimal Stok
xx xx xx Diketahui, Diketahui,
Bagian Spare Part
Gambar 3.44 Rancangan laporan persediaan Pada halaman ini menampilkan laporan persediaan.
223
p AHASS DUNIA BARU DD/MM/YYYY No Faktur : xxxx Kode Pegawai : xxxx Nama Konsumen : xxxx Struk Pembelian
Kode Barang
xxxx xxxx
Nama Barang
xxxx xxxx
Harga
Kuantitas
Total
xxxx xxxx
xxxx xxxx
xxxx xxxx
Total Pembayaran : xxxxxx
Gambar 3.45 Rancangan Front desk Pada halaman struk pembelian akan dicetak sebagai bukti pembelian kepada pelanggan.
224
AHASS DUNIA BARU DD/MM/YYYY No PO Kode Pegawai Nama Supplier
: xxxx : xxxx : xxxx
Struk PO
Kode Barang
Nama Barang
xxxx xxxx
xxxx xxxx
Harga
xxxx xxxx
Kuantitas
xxxx xxxx
Total
xxxx xxxx
Total Pembayaran : xxxxxx
Gambar 3.46 Rancangan purchase order Pada halaman purchase order akan dicetak sebagai bukti pembelian kepada supplier.