BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis 3.1.1

advertisement
BAB 3
ANALIS IS DAN PERANCANGAN S IS TEM
3.1
3.1.1
Analisis
Riwayat Perusahaan
Pada tahun 1890 Joseph BOBST mendirikan toko supplier percetakan di
Lausanna, Swiss. Seiring dengan berjalannya waktu, toko ini mulai dikenal oleh
masyarakat yang pada akhirnya menjadi sebuah perusahaan yang bergerak
dibidang penjualan mesin percetakan yang dinamakan BOBST SA. Perusahaan
ini terus berkembang sampai sekarang ini dan membeli beberapa perusahaan lain
dan berubah nama menjadi BOBST Group SA.
Pada tahun 1994 BOBST Group SA membuat kantor perwakilan di
Indonesia. Kantor perwakilan ini bertugas mempromosikan produk-produk
BOBST untuk wilayah Indonesia dan sebagai perantara antara pelanggan dengan
kantor BOBST Group SA.
Pada tahun 2004 BOBST Group SA membeli group perusahaan Valmet
yang salah satu cabangnya berada di Indonesia. Perusahaan Valmet memiliki
beberapa orang teknisi, karena kebijakan yang mengharuskan kantor perwakilan
tidak boleh memiliki teknisi, maka pada akhirnya BOBST Group SA
memutuskan untuk mendirikan kantor distributor yang berada di Indonesia.
Kantor ini dinamakan PT. BOBST Group Indonesia. Dengan didirikan PT.
BOBST Group Indonesia, pelanggan menjadi semakin mudah dalam melakukan
transaksi dan pemesanan produk-produk BOBST.
63
3.1.2
S truktur Organisasi
Sumber : PT. BOBST Group Indonesia
Gambar 3.1 S truktur Organisasi
64
3.1.3
Pembagian Tugas dan Tanggung Jawab
Berdasarkan struktur organisasi yang ada maka pembagian tugas,
wewenang, dan tanggung jawab perusahaan adalah sebagai berikut :
1. Komisaris
Tugas dan tanggung jawab komisaris adalah sebagai berikut :
•
Pemberi modal pada PT. BOBST Group Indonesia.
•
Pemegang saham tertinggi pada PT. BOBST Group Indonesia.
•
M elakukan pengawasan terhadap kebijakan direksi dalam melaksanakan
pengurusan perusahaan.
2. Direktur
Tugas dan tanggung jawab direktur adalah sebagai berikut :
•
M eningkatkan profesionalisme dan kompetensi dari sumber daya manusia
perusahaan.
•
Bertanggung jawab dalam pengembangan dan pengelolaan perusahaan
secara keseluruhan.
•
M enetapkan kebijakan perusahaan dan strategi operasional dalam
pengembangan perusahaan.
•
M engkoordinasikan seluruh sistem kerja dan mengadakan perubahanperubahan untuk mencapai tujuan yang sudah direncanakan.
•
M enentukan pengambilan keputusan akhir untuk intern perusahaan.
•
M enilai dan menganalisis semua laporan yang diterima.
•
M emeriksa rencana kegiatan dan anggaran perusahaan.
•
M enyetujui rencana kegiatan dan anggaran perusahaan.
65
3. Manager Service Flexible Material
Tugas dan tanggung jawab manager service flexible material adalah sebagai
berikut :
•
M engatur dan mengepalai para teknisi flexible material.
•
Bertanggung jawab atas jadwal dan pekerjaan teknisi flexible material.
•
Bertanggung jawab kepada direksi atas semua hasil kerja bagiannya.
4. Manager Service Folding Carton
Tugas dan tanggung jawab manager service folding carton adalah sebagai
berikut :
•
M engatur dan mengepalai para teknisi folding carton.
•
Bertanggung jawab atas jadwal dan pekerjaan teknisi folding carton.
•
Bertanggung jawab kepada direksi atas semua hasil kerja bagiannya.
5. Manager Service Champlain
Tugas dan tanggung jawab manager service champlain adalah sebagai
berikut :
•
M engatur dan mengepalai para teknisi champlain.
•
Bertanggung jawab atas jadwal dan pekerjaan teknisi champlain.
•
Bertanggung jawab kepada direksi atas semua hasil kerja bagiannya.
6. Teknisi Regional Flexible Material
Tugas dan tanggung jawab teknisi regional flexible material adalah sebagai
berikut :
•
M elakukan instalasi / pemasangan mesin flexible material.
•
M elakukan perbaikan / service mesin flexible material.
66
7. Teknisi Senior Folding Carton
Tugas dan tanggung jawab teknisi senior folding carton adalah sebagai
berikut :
•
M elakukan instalasi / pemasangan mesin folding carton di wilayah Asia
Tenggara.
•
M elakukan perbaikan / service mesin folding carton di wilayah Asia
Tenggara.
8. Teknisi Regional Champlain
Tugas dan tanggung jawab teknisi regional champlain adalah sebagai berikut :
•
M elakukan instalasi / pemasangan mesin champlain.
•
M elakukan perbaikan / service mesin champlain.
9. Administrasi
Tugas dan tanggung jawab administrasi adalah sebagai berikut :
•
M enerima dan memproses pesanan barang dari pelanggan.
•
M emberikan surat pemesanan kepada BOBST Group SA.
•
M enerima dan memproses surat pemesanan dari BOBST Group SA.
•
M emberikan harga pesanan barang kepada pelanggan.
•
M enerima dan memproses persetujuan pesanan barang dari pelanggan.
•
M emberikan surat pemesanan kepada BOBST Group SA.
•
M enerima dan memproses barang pesanan beserta invoice dari BOBST
Group SA
•
M emberikan invoice untuk pelanggan.
•
Bertanggung jawab kepada direksi atas tugas administrasi kantor.
67
•
M emberikan laporan pemesanan dan penjualan kepada direksi.
•
Bertanggung jawab kepada direksi dalam menjalankan kegiatan keuangan
perusahaan seperti pembayaran gaji, pembayaran hutang pemasok dan
penagihan piutang kepada pelanggan.
•
M engepalai asisten administrasi dan supir.
10. Asisten Administrasi
Tugas dan tanggung jawab asisten administrasi adalah sebagai berikut :
•
M embantu tugas administrasi seperti fotocopy, mengetik dan lain
sebagainya.
•
M elayani pemesanan barang dari pelanggan.
•
M engirimkan faksimile ke pelanggan maupun ke BOBST Group SA.
11. Supir
Tugas dan tanggung jawab supir adalah sebagai berikut :
•
M engantarkan karyawan.
•
M engantarkan keperluan kantor.
68
3.1.4
3.1.4.1
Sistem yang Sedang Berjalan
Prosedur yang Sedang Berjalan
Gambar 3.2 Proses Bisnis PT. BOBS T Group Indonesia
69
Sistem kerja perusahaan ini mencakup kegiatan-kegiatan pemesanan,
pembelian dan penjualan barang. Berikut ini merupakan uraian tentang sistem
yang sedang berjalan pada PT. BOBST Group Indonesia :
•
Prosedur pemesanan barang
Proses pemesanan barang dilakukan dalam beberapa tahap sebagai berikut :
•
Pelanggan memesan barang melalui telepon, fax atau kunjungan teknisi.
•
Admin menerima dan memproses pemesanan barang dari pelanggan.
•
Admin memberikan pesanan tersebut ke kantor pusat (BOBST Group
SA) yang berada di Swiss.
•
Kantor pusat menerima pesanan dari PT. BOBST Group Indonesia dan
membuat dan mengirimkan harga pesanan untuk kantor PT. BOBST
Group Indonesia melalui fax.
•
•
PT. BOBST Group Indonesia memberikan harga pesanan ke pelanggan.
Prosedur pejualan barang :
Proses penjualan barang dilakukan dalam beberapa tahap sebagai berikut :
•
Apabila pelanggan menyetujui penawaran harga pesanan dari PT.
BOBST Group Indonesia, maka pelanggan mengkonfirmasi pemesanan
ke PT. BOBST Group Indonesia melalui fax.
•
PT. BOBST menerima invoice dan barang beserta surat konfirmasi
pengiriman dari kantor pusat.
•
PT. BOBST Group Indonesia memberikan invoice ke pelanggan sebagai
tanda bukti pembelian dan mengirimkan barang yang telah dipesan
70
beserta surat pengiriman.
•
Prosedur pembelian barang :
Proses pembelian barang dilakukan dalam beberapa tahap sebagai berikut :
•
PT. BOBST Group Indonesia menerima konfirmasi pemesanan dari
pelanggan
•
PT. BOBST Group Indonesia memberikan konfirmasi pemesanan ke
kantor pusat yang berada di Swiss.
•
Dari pesanan tersebut kantor pusat memproses konfirmasi pemesanan
dan memberikan invoice kepada PT. BOBST Group Indonesia dan
mengirim barang beserta surat pengiriman barang yang telah di pesan ke
PT. BOBST Group Indonesia.
71
3.1.4.2
Diagram Alir Dokumen
3.1.4.2.1
Prosedur Pemesanan Barang
Gambar 3.3 Diagram Alir Dokumen Proses Pemesanan
72
3.1.4.2.2
Prosedur Penjualan Barang
Gambar 3.4 Diagram Alir Dokumen Proses Penjualan
73
3.1.4.2.3
Prosedur Pembelian Barang
Gambar 3.5 Diagram Alir Dokumen Proses Pembelian
74
3.1.4.3
3.1.4.3.1
Kebutuhan Pengguna
Kebutuhan Informasi
Tabel 3.1 Kebutuhan Informasi
No. Informasi
1. Informasi Pemesanan
Pengguna
Pelanggan,
Karyawan,
Pemasok
Waktu digunakan
• Pada saat proses pemesanan
dilakukan sampai penawaran
harga barang pesanan diterima
oleh pelanggan.
2.
Informasi Pembelian
Karyawan,
Pemasok
•
Pada saat proses konfirmasi
pemesanan oleh PT. Bobst Group
Indonesia kepada pemasok
sampai tagihan diterima oleh PT.
Bobst Group Indonesia dari
pemasok.
3.
Informasi Penjualan
Karyawan,
Pelanggan
•
Pada saat proses konfirmasi
pemesanan oleh pelanggan
dilakukan sampai tagihan
diterima oleh pelanggan.
4.
Informasi Pelanggan
Karyawan,
Pemasok
•
Pada saat proses pemesanan
dilakukan sampai penawaran
harga barang pesanan diterima
oleh pelanggan.
Pada saat proses konfirmasi
pemesanan oleh PT. Bobst Group
Indonesia kepada pemasok
sampai tagihan diterima oleh PT.
Bobst Group Indonesia dari
pemasok.
Pada saat proses konfirmasi
pemesanan oleh pelanggan
dilakukan sampai tagihan
diterima oleh pelanggan.Pada
saat pembuatan penawaran harga
pesanan oleh pemasok.
•
•
5.
Informasi Barang
Pelanggan,
Karyawan,
Pemasok
•
Pada saat proses pemesanan
dilakukan sampai penawaran
harga barang pesanan diterima
oleh pelanggan.
75
No. Informasi
6.
Informasi Karyawan
Pengguna
Waktu digunakan
• Pada saat proses konfirmasi
pemesanan oleh PT. Bobst Group
Indonesia kepada pemasok
sampai tagihan diterima oleh PT.
Bobst Group Indonesia dari
pemasok.
• Pada saat proses konfirmasi
pemesanan oleh pelanggan
dilakukan sampai tagihan
diterima oleh pelanggan.Pada
saat pembuatan penawaran harga
pesanan oleh pemasok.
Pelanggan,
Pemasok
•
•
•
•
7.
Informasi Pemasok
3.1.4.3.2
Karyawan
•
Pada saat karyawan pemesanan
ke pemasok.
Pada saat pembuatan penawaran
harga pesanan untuk pelanggan.
Pada saat pembuatan konfirmasi
pemesanan kepada pemasok.
Pada saat pembuatan tagihan
penjualan untuk pelanggan.
Pada saat proses konfirmasi
pemesanan oleh PT. Bobst Group
Indonesia kepada pemasok
sampai tagihan diterima oleh PT.
Bobst Group Indonesia dari
pemasok.
Kebutuhan Keamanan Data
Tabel 3.2 Kebutuhan Keamanan Data
No. Keamanan Data
1. Keamanan Data
Pelanggan
Pengguna
Pelanggan
Waktu digunakan
Pada saat pelanggan :
• M elakukan pemesanan barang
kepada PT. Bobst Group
Indonesia.
• M enerima penawaran harga
pesanan dari PT. Bobst Group
Indonesia.
76
No. Keamanan Data
Pengguna
Waktu digunakan
• M embuat konfirmasi
pemesanan PT. Bobst Group
Indonesia.
• M enerima tagihan dari PT.
Bobst Group Indonesia.
2.
Keamanan Data
Karyawan
Karyawan
Pada saat karyawan :
• M enerima pesanan barang
dari pelanggan.
• M elakukan pemesanan
kepada pemasok.
• M enerima penawaran harga
dari pemasok.
• M embuat penawaran harga
untuk pelanggan.
• M enerima konfirmasi
pemesanan dari pelanggan.
• M embuat konfirmasi
pemesanan kepada pemasok.
• M enerima tagihan dari
pemasok.
• M embuat tagihan untuk
pelanggan.
3.
Keamanan Data
Pemasok
Pemasok
Pada saat pemasok :
• M enerima pesanan dari PT.
Bobst Group Indonesia.
• M embuat penawaran harga
untuk PT. Bobst Group
Indonesia.
• M enerima konfirmasi
pemesanan dari PT. Bobst
Group Indonesia.
• M embuat tagihan untuk PT.
Bobst Group Indonesia.
77
3.1.4.3.3
Kebutuhan Kecepatan Akses Data
Tabel 3.3 Kebutuhan Kecepatan Akses Data
No. Kecepatan Akses Data
1. Kecepatan Akses Data
Pelanggan
Pengguna
Pelanggan
Waktu digunakan
Pada saat pelanggan :
• M elakukan pemesanan
kepada PT. Bobst Group
Indonesia.
• M enerima penawaran harga
dari PT. Bobst Group
Indonesia.
• M embuat konfirmasi
pemesanan pembelian barang
kepada PT. Bobst Group
Indonesia.
• M enerima tagihan dari PT.
Bobst Group Indonesia
2.
Kecepatan Akses Data
Karyawan
Karyawan
Pada saat karyawan :
• M enerima pesanan barang
dari pelanggan.
• M elakukan pemesanan
kepada pemasok.
• M enerima penawaran harga
dari pemasok.
• M embuat penawaran harga
untuk pelanggan.
• M enerima konfirmasi
pemesanan dari pelanggan.
• M embuat konfirmasi
pemesanan kepada pemasok.
• M enerima tagihan dari
pemasok.
• M embuat tagihan untuk
pelanggan.
3.
Kecepatan Akses Data
Pemasok
Pemasok
Pada saat pemasok :
• M enerima pesanan dari PT.
Bobst Group Indonesia.
• M embuat penawaran harga
untuk PT. Bobst Group
Indonesia.
• M enerima konfirmasi
pemesanan dari PT. Bobst
Group Indonesia.
78
No. Kecepatan Akses Data
3.1.4.3.4
Pengguna
Waktu digunakan
• M embuat tagihan untuk PT.
Bobst Group Indonesia.
Kebutuhan Transaksi
Tabel 3.4 Kebutuhan Transaksi
No. Transaksi
1. Transaksi Pemesanan
Pengguna
Pelanggan,
Karyawan,
Pemasok
Waktu digunakan
• Pada saat proses pemesanan
dilakukan sampai penawaran
harga barang pesanan diterima
oleh pelanggan.
2.
Transaksi Penjualan
Pelanggan,
Karyawan,
Pemasok
•
Pada saat proses konfirmasi
pemesanan oleh PT. Bobst Group
Indonesia kepada pemasok
sampai tagihan diterima oleh PT.
Bobst Group Indonesia dari
pemasok.
3.
Transaksi Pembelian
Pelanggan,
Karyawan,
Pemasok
•
Pada saat proses konfirmasi
pemesanan oleh pelanggan
dilakukan sampai tagihan
diterima oleh pelanggan.
3.1.4.4
Permasalahan yang dihadapi
Permasalahan yang dihadapi oleh sistem yang sedang berjalan sekarang
ini adalah :
1. Kesulitan dalam pemesanan oleh pelanggan
Pelanggan kesulitan dalam melakukan pemesanan barang karena kurangnya
informasi barang yang ingin dipesan.
2. Kesulitan dalam pencarian transaksi-transaksi yang telah dilakukan
Perusahaan menyimpan berkas dan dokumen transaksi yang telah
dilakukannya, sehingga semakin lama berkas tersebut akan semakin banyak
79
sehingga akan terjadi kesulitan dalam pencarian suatu dokumen untuk
diproses kembali, misalnya untuk pembuatan laporan bulanan.
3. Kesalahan pendataan transaksi oleh karyawan
Pendataan secara manual oleh karyawan dapat menyebabkan terjadinya
kesalahan dalam pendataan suatu transaksi.
3.1.4.5
Usulan pemecahan masalah
Berdasarkan analisis permasalahan yang telah dilakukan terhadap sistem
yang berjalan perusahaan, maka diusulkan pemecahan masalah yang terbaik
untuk mengganti sistem manual yang dipakai saat ini dengan membuat sebuah
basis data untuk mendukung proses pemesanan, pembelian, penjualan dan
memberikan informasi yang dibutuhkan oleh perusahaan. Hal diharapkan dapat
memenuhi kebutuhan informasi yang sebelumnya tersebar di berbagai sistem
informasi konvensional yang belum terkoordinasi dan terintegrasi dengan baik.
Selain itu akan dikembangkan juga program aplikasi web yang dapat
mengakses basis data. Program ini akan memvalidasi input dari user sehingga
diharapkan dapat mengurangi kesalahan yang terjadi dengan sistem manual.
Perancangan aplikasi basis data ini dimaksudkan agar informasi mengenai
pelanggan, barang dan pemesanan dapat selalu akurat. Waktu yang digunakan
dalam pengaksesan data dalam basis data diharapkan akan lebih singkat dan
tepat guna. Aplikasi web ini memudahkan pelanggan dalam memesan barang
yang diinginkan. Pesanan akan terupdate secara otomatis sesuai dengan pesanan
dari pelanggan. Di dalam aplikasi web ini juga akan tersedia fasilitas yang
menghasilkan laporan, dimana laporan tersebut sesuai dengan standar dan
80
kebutuhan direksi. Dengan demikian diharapkan aplikasi web basis data ini
dapat meningkatkan efis iensi dan efektivitas kerja perusahaan secara
menyeluruh.
3.2
Perancangan
3.2.1
Perancangan Basis Data Konseptual
3.2.1.1
Mengidentifikasi Tipe-Tipe Entitas
Berdasarkan analisis sistem dan kebutuhan informasi dapat ditentukan
kamus dan entity seperti terlihat pada tabel berikut ini :
Tabel 3.5 Kamus Data Entitas
No
1
Nama Entitas
Pelanggan
Deskripsi
M erupakan entitas yang
memberikan informasi
mengenai pelanggan.
Alias
Kejadian
Customer Setiap
pelanggan dapat
memesan daftar
harga dan
memesan
barang
2
Karyawan
M erupakan entitas yang
memberikan informasi
mengenai orang-orang
yang bekerja pada PT.
BOBST Group Indonesia.
Employee Setiap transaksi
pemesanan,
pembelian,
pembuatan surat
dan penjualan
yang dilakukan
oleh karyawan
3
Pemasok
M erupakan Entitas yang
berisi informasi dari
pemasok dalam hal ini
adalah kantor pusat.
Supplier
Pemasok dapat
memasok dan
memberikan list
harga lebih dari
satu jenis
81
No
4
Nama Entitas
Barang
Deskripsi
M erupakan entitas yang
memberikan informasi
mengenai barang dan jenis
barang yang tersedia.
Alias
Item
Kejadian
Setiap jenis
barang yang
dapat dipasok
dan dapat
dipesan oleh
beberapa
pelanggan
5
Pemesanan
M erupakaan entitas yang
memberikan informasi
mengenai pemesanan dari
pelanggan.
6
Penjualan
M erupakan entitas yang
memberikan informasi
mengenai penjualan
kepada pelanggan.
Sales
Setiap transaksi
pemesanan jual
yang dipesan
oleh pelanggan
untuk karyawan
7
Pembelian
M erupakan entitas yang
memberikan informasi
mengenai pembelian
kepada pemasok.
Purchase
Setiap transaksi
pemesanan beli
barang yang
telah di pesan
dilakukan oleh
karyawan
untuk kantor
pusat
8
Penerimaan_Barang
M erupakan entitas yang
memberikan informasi
penerimaan barang beserta
laporan tagihan pembelian
dari pemasok ke karyawan
Barang yang
telah di beli dari
pemasok di
terima
penerimaan
barang beserta
tagihannya
10.
Pengiriman_Barang
M erupakan entitas yang
memberikan informasi
tentang pengiriman barang
beserta laporan tagihan
penjualan dari karyawan
untuk pelanggan
Pengiriman
barang dari
karyawan ke
pelanggan
beserta
tagihannya
Setiap
permintaan
harga yang
dapat dipesan
oleh beberapa
pelanggan
82
3.2.1.2
Mengidentifikasi Tipe-Tipe Relasi
Berikut adalah representasi data yang digunakan untuk menentukan
relationship pada entity-entity :
•
Representasi data pelanggan dengan pemesanan (M elakukan)
•
Representasi data pelanggan dengan penjualan (M elakukan)
•
Representasi data pelanggan dengan pembelian (Dalam)
•
Representasi data karyawan dengan pemesanan (M enerima)
•
Representasi data karyawan dengan penjualan (M elakukan)
83
•
Representasi data karyawan dengan pembelian (M elakukan)
•
Representasi data pemasok dengan barang (M emproses)
•
Representasi data barang dengan pemesanan (Dalam)
•
Representasi data barang dengan pemesanan (Dalam)
•
Representasi data barang dengan pemesanan (Dalam)
•
Representasi data penjualan dengan pengiriman (M enghasilkan)
84
•
Representasi data pembelian dengan penerimaan (M enghasilkan)
Berikut adalah kamus data relationship pada entity-entity yang telah
ditentukan sebelumnya :
Tabel 3.6 Kamus Data Relationship
No Nama Entitas
1
Pelanggan
2
Karyawan
3
4
Pemasok
Barang
5
6
Penjualan
Pembelian
Multiplicity Relationship Nama Entitas
Multiplicity
M elakukan
1..1
Pemesanan
1..*
M elakukan
1..1
Penjualan
1..*
Dalam
1..1
Pembelian
1..1
M enerima
1..1
Pemesanan
1..*
M elakukan
1..1
Penjualan
1..*
M elakukan
1..1
Pembelian
1..*
M emproses
1..1
Barang
1..*
Dalam
1..*
Pembelian
1..*
Dalam
1..*
Pemesanan
1..*
Dalam
1..*
Penjualan
1..*
M enghasilkan
1..1
Pengiriman_Barang
1..1
M enghasilkan
1..1
Penerimaan_Barang
1..1
Hubungan antar tiap entity dapat kita gambarkan dalam ERD seperti
terlihat pada gambar 3.5
85
Gambar 3.6 Model Konseptual ERD Relationship
86
3.2.1.3
Mengidentifikasi Tipe-Tipe Atribut
Nama Entitas : Barang
Tabel 3.7 Tabel Entitas Barang
Atribut
Kd_Barang
Kd_M esin
Kd_Pemasok
Nama_Barang
Nama_M esin
Gambar
Deskripsi
Berat
Tgl_Update
Tipe data
dan panjang
Nomor induk setiap barang
Char(10)
Nomor induk setiap mesin
Char(9)
Nomor induk setiap pemasok yang unik Char(6)
Nama setiap barang
Varchar(20)
Nama setiap mesin
Varchar(20)
Nama gambar setiap barang
Varchar(20)
Deskripsi setiap barang
Varchar(50)
Berat setiap barang (Kg)
Decimal
Tanggal update barang, masukan
Datetime
barang dan update harga
Deskripsi
Null
Multivalue
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
Nama Entitas : Pelanggan
Tabel 3.8 Tabel Entitas Pelanggan
Atribut
Deskripsi
Kd_Pelanggan
UserIDP
Nama_Pelanggan
Nama_Perusahaan
Jabatan_Pelanggan
Alamat_Pelanggan
Kdpos_Pelanggan
Kota_Pelanggan
Telepon_Pelanggan
Fax_Pelanggan
Email_Pelanggan
PasswordP
Nomor induk pelanggan yang unik
Nama ID pelanggan yang unik
Nama setiap pelanggan
Nama setiap perusahaan pelanggan
Jabatan setiap pelanggan
Alamat setiap pelanggan
Kode pos setiap pelanggan
Kota setiap pelanggan
Telepon setiap pelanggan
Fax setiap pelanggan
Email setiap pelanggan
Password pelanggan untuk masuk
ke halaman-halaman web
Tipe data
dan panjang
Char(8)
Varchar(20)
Varchar(20)
Varchar(50)
Varchar(20)
Varchar(50)
Char(5)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Null Multivalue
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
NO
87
Nama Entitas : Karyawan
Tabel 3.9 Tabel Entitas Karyawan
Atribut
Deskripsi
Kd_Karyawan
UserIDK
Nama_Karyawan
Jabatan_Karyawan
Alamat_Karyawan
Telepon_Karyawan
Email_Karyawan
Kota_Karyawan
PasswordK
Nomor induk karyawan yang unik
Nama ID karyawan yang unik
Nama setiap karyawan
Jabatan setiap karyawan
Alamat setiap karyawan
Telepon setiap karyawan
Alamat email setiap karyawan
Nama kota dari alamat karyawan
Password yang digunakan untuk
memasuki halaman karyawan
Tipe data
dan panjang
Char(6)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(50)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Null Multivalue
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
Null
Multivalue
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
NO
NO
Nama Entitas : Pemasok
Tabel 3.10 Tabel Entitas Pemasok
Atribut
Kd_Pemasok
Deskripsi
Nomor induk setiap pemasok yang
unik
UserIDS
Nama ID pemasok yang unik
Nama_Pemasok
Nama setiap pemasok
Alamat_Pemasok Alamat setiap pemasok
Telepon_Pemasok Telepon setiap pemasok
Fax_Pemasok
Fax setiap pemasok
Email_Pemasok
Email setiap pemasok
Website
Website pemasok
PasswordS
Pasword yang digunakan untuk
memasuki halaman Pemasok
Tipe data
dan panjang
Char(6)
Varchar(20)
Varchar(20)
Varchar(50)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
Varchar(20)
88
Nama Entitas : Pemesanan
Tabel 3.11 Tabel Entitas Pemesanan
Atribut
Deskripsi
Kd_Pemesanan
Nama_Pelanggan
Nama_Karyawan
Nama_Barang
Qty_Pemesanan
Nomor induk setiap pemesanan
Nama setiap pelanggan
Nama setiap karyawan
Nama setiap barang
Jumlah barang dalam suatu
pemesanan
Tanggal pemesanan
Harga beli barang
Harga jual barang
Tgl_Pemesanan
Harga_Beli
Harga_Jual
Tipe data
dan panjang
Char(11)
Varchar(20)
Varchar(20)
Varchar(20)
Int
Null
Multivalue
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
Datetime
Int
Int
YES
YES
YES
NO
NO
NO
Null
Multivalue
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
Nama Entitas : Penjualan
Tabel 3.12 Tabel Entitas Penjualan
Atribut
Deskripsi
Kd_Jual
Nama_Pelanggan
Nama_Karyawan
Nama_Barang
Qty_Jual
Tgl_Jual
Harga_Jual
Nomor induk penjualan yang unik
Nama setiap pelanggan
Nama setiap karyawan
Nama setiap barang
Jumlah barang masing-masing
tanggal order jual
Harga jual barang
Tipe data
dan panjang
Char(11)
Varchar(20)
Varchar(20)
Varchar(20)
Int
Datetime
Int
89
Nama Entitas : Pembelian
Tabel 3.13 Tabel Entitas Pembelian
Atribut
Kd_Beli
Nama_Pelanggan
Nama_Karyawan
Kd_Barang
Nama_Barang
Qty_Beli
Tgl_Beli
Harga_Beli
Tipe data
dan panjang
Nomor induk setiap pembelian yang Char(11)
unik
Nama setiap pelanggan
Varchar(20)
Nama setiap karyawan
Varchar(20)
Nomor induk setiap barang
Char(10)
Nama setiap barang
Varchar(20)
Jumlah masing-masing barang yang Int
di beli
Tanggal order beli
Datetime
Harga beli barang
Int
Deskripsi
Null
Multivalue
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
Nama Entitas : Penerimaan_Barang
Tabel 3.14 Tabel Entitas Penerimaan Barang
Atribut
Deskripsi
Kd_Penerimaan
Nomor induk setiap penerimaan
yang unik
Tgl_Kirimpemasok
Tanggal kirim pemasok
Tgl_Terimakaryawan Tanggal Penerimaan karyawan
Tipe data
dan panjang
Char(11)
Datetime
Datetime
Null
Multivalue
NO
NO
NO
YES
NO
NO
Null
Multivalue
NO
NO
NO
YES
NO
NO
Nama Entitas : Pengiriman_Barang
Tabel 3.15 Tabel Entitas Pengiriman Barang
Atribut
Kd_Pengiriman
Deskripsi
Nomor induk pengiriman yang
unik
Tgl_Kirimkaryawan
Tanggal kirim karyawan
Tgl_Terimapelanggan Tanggal penerimaan pelanggan
Tipe data
dan panjang
Char(11)
Datetime
Datetime
90
3.2.1.4
Menentukan Domain Atribut
Tabel 3.16 Tabel Domain Atribut
Atribut
Alamat_Karyawan
Alamat_Pelanggan
Alamat_Pemasok
Gambar
Deskripsi
Berat
Email_Karyawan
Email_Pelanggan
Email_Pemasok
Fax_Pelanggan
Fax_Pemasok
Harga_Jual
Harga_Beli
Jabatan_Karyawan
Jabatan_Pelanggan
Kd_Barang
Kd_Beli
Kd_Jual
Kd_Karyawan
Kd_M esin
Kd_Pelanggan
Kd_Pemasok
Kd_Penerimaan
Kd_Pemesanan
Kd_Pengiriman
Kdpos_Pelanggan
Kota_Pelanggan
Kota_Karyawan
Nama_Barang
Nama_Karyawan
Nama_M esin
Nama_Pelanggan
Domain Atribut
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value 0.000 – 999.999
Format email standar
Format email standar
Format email standar
Range Value 0000000000 - 9999999999
Range Value 0000000000 - 9999999999
Range Value 0 – 99999999999
Range Value 0 – 99999999999
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value 0000000000 - 9999999999
Range Value B0000000000 - B9999999999
Range Value J0000000000 - J9999999999
Range Value K00000 – K99999
Range Value 000000000 – 999999999
Range Value P0000000 – P9999999
Range Value BSA000 – BSA999
Range Value R0000000000 – R9999999999
Range Value C0000000000 – C9999999999
Range Value S0000000000 – S9999999999
Range Value 00000 – 99999
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
91
Atribut
Nama_Pemasok
Nama_Perusahaan
UserIDP
UserIDK
UserIDS
PasswordP
PasswordK
PasswordS
Qty_Beli
Qty_Jual
Qty_Penerimaan
Qty_Pemesanan
Qty_Pengiriman
Telepon_Pelanggan
Telepon_Pemasok
Telepon_Karyawan
Tgl_Beli
Tgl_Jual
Tgl_Pemesanan
Tgl_Kirimpemasok
Tgl_Terimakaryawan
Tgl_Kirimkaryawan
Tgl_Terimapelanggan
Website
3.2.1.5
Domain Atribut
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9, ".", ","
Range Value A-Z, a-z, 1-9
Range Value A-Z, a-z, 1-9
Range Value A-Z, a-z, 1-9
Range Value A-Z, a-z, 1-9
Range Value A-Z, a-z, 1-9
Range Value A-Z, a-z, 1-9
Range Value 0 - 999999
Range Value 0 - 999999
Range Value 0 - 999999
Range Value 0 - 999999
Range Value 0 - 999999
Range Value 0 – 9 , (,) , Range Value 0 – 9 , (,) , Range Value 0 – 9 , (,) , Range Value 0 – 9 , '/'
Range Value 0 – 9 , '/'
Range Value 0 – 9 , '/'
Range Value 0 – 9 , '/'
Range Value 0 – 9 , '/'
Range Value 0 – 9 , '/'
Range Value 0 – 9 , '/'
Range Value A-Z, a-z, 1-9, ".", ","
Menentukan Atribut Primary Key dan Candidate Key
Tabel 3.17 Tabel Primary dan Candidate Key
Entitas
Barang
Pelanggan
Karyawan
Pemasok
Pemesanan
Canditate key
Kd_Barang,Kd_mesin
Kd_Pelanggan
Kd_Karyawan
Kd_Pemasok
Kd_Pemesanan
Primary Key
Kd_Barang
Kd_Pelanggan
Kd_Karyawan
Kd_Pemasok
Kd_Pemesanan
92
Entitas
Penjualan
Pembelian
Penerimaan_Barang
Pengiriman_Barang
Candidate key
Kd_Jual
Kd_Beli
Kd_Penerimaan
Kd_Pengiriman
Primary Key
Kd_Jual
Kd_Beli
Kd_Penerimaan
Kd_Pengiriman
93
Gambar 3.7 Entity Relationship Diagram Model Konseptual dengan Primary Key
94
3.2.1.6
Validasi Model Konseptual Lokal dengan Transaksi Pengguna
Gambar 3.8 Entity Relationship Diagram Model Konseptual terhadap Transaksi Pelanggan dengan Pathways
95
Keterangan :
a) M asukan/ubah/hapus data Pelanggan
b) M asukan/ubah/hapus data Karyawan
c) M asukan/ubah/hapus data Pemasok
d) M asukan data Pemesanan
e) Tampilkan query Pemesanan
f) M asukan data Penjualan
g) Tampilkan query Penjualan
h) M asukan data Pembelian
i) Tampilkan query Pembelian
j) M asukan data Penerimaan Barang
k) Tampilkan query Penerimaan Barang
l) M asukan data Pengiriman Barang
m) Tampilkan query Pengiriman Barang
n) M asukan/ubah/hapus data barang
o) Tampilkan query barang
96
3.2.2
Pemilihan DBMS
Pemilihan DBM S merupakan hal yang harus dilakukan untuk menentukan
DBM S apa yang nanti akan digunakan dalam perusahaan. DBM S yang menjadi
pertimbangan kami adalah : M icrosoft SQL Server, M ySQL dan Oracle 9i.
Tabel 3.18 Tabel Perbandingan Platform DBMS
Keterangan
Tipe DBMS
Biaya
Perangkat
Keras
Microsoft SQL Server
MySQL
2000
Transactional
Relational Database
relational database
Server (Transactional
server
dengan Driver
InnoDB)
$1,489 - $4,999
$0 (lisensi Umum) atau
(Profesional Edition)
$ 395 (lisensi
komersial)
‐ Procesor
Pentium 166M hz
atau lebih
‐ M emory
32M B RAM
(M inimal untuk
Desktop Engine),
64M B
RAM (M inimal
untuk semua edisi),
128 M B RAM atau
lebih
‐ Harddisk space
M inimal 95 M B
Piranti
Lunak
Windows 2000 server
atau Windows .NET
server 2003, internet
explore 5.0
‐ Procesor
Windows :
Pentium 166M hz
atau lebih
Linux :
Intel 32bit,64bit,
S/390 9672
generation atau
lebih
‐ M emory
M inimum 128M B
‐ Harddisk space
M inimum 100M B
Linux, M ac OS,
Windows
Oracle 9i
Transactional
relational database
server
$1,500 - $15,000
‐ Procesor
Windows :
Pentium 166M hz
atau lebih
Linux :
Intel 32bit atau
64bit
‐ M emory
RAM minimum
128M B
‐ Harddisk space
140M B pada
system drive,
minimum 2,8 GB
untuk Oracle
Home Drive,
Untuk instalasi
minimum 350
MB
Windows, Solaris 8,
AIX, TRU64 UNIX
97
Microsoft SQL Server
2000
1 Exabyte
Keterangan
Maksimum
Table Size
MySQL
Oracle 9i
4 Gigabyte
Tidak dibatasi
Dengan pertimbangan dari sudut pandang perusahaan, maka kami membagi
poin-poin penilaian :
Tabel 3.19 Tabel Penilaian
Biaya
30%
M aksimum
Table Size
15%
Perangkat
Lunak
20%
Tipe DBM S
15%
Perangkat
Keras
20%
SQL Server 2000
Tabel 3.20 Tabel SQL S erver 2000
Tipe
Presentase
Rating
S core
Biaya
M aksimum Table Size
Tipe DBM S
Piranti Lunak
Perangkat Keras
TOTAL
30%
15%
15%
20%
20%
100%
4
6
8
3
6
27
1,2
0,9
1,2
0,6
1,2
5,1
MySQL
Tabel 3.21 Tabel MySQL
Tipe
Biaya
M aksimum Table Size
Tipe DBM S
Piranti Lunak
Perangkat Keras
TOTAL
Presentase
30%
15%
15%
20%
20%
100%
Rating
8
4
6
6
6
30
S core
2,4
0,6
0,9
1,2
1,2
6,3
98
Oracle 9i
Tabel 3.22 Tabel Oracle 9i
Tipe
Biaya
M aksimum Table Size
Tipe DBM S
Piranti Lunak
Perangkat Keras
TOTAL
Presentase
30%
15%
15%
20%
20%
100%
Rating
2
8
8
6
6
30
S core
0,6
1,2
1,2
1,2
1,2
5,4
Hasil Penilaian
Tabel 3.23 Hasil Penilaian DBMS
SQL Server 2000
5,1
MySQL
6,3
Oracle 9i
5,4
Dari berbagai pertimbangan diatas, kami memutuskan menggunakan
MySQL sebagai DBM S yang akan kami gunakan dalam sistem yang akan dibuat.
3.2.3
Perancangan Basis Data Logikal
M embuat sebuah model data logikal lokal dari sebuah model data
konseptual
lokal
yang
menggambarkan
fakta-fakta
perusahaan
dan
memvalidasikan untuk meyakinkan struktur itu benar dan mendukung permintaan
transaksi. Berikut ini adalah tahapan-tahapan dalam membangun basis data
logikal :
3.2.3.1
Menghilangkan Fitur-Fitur yang Tidak Sesuai dengan Model Relational
M enghilangkan model data konseptual lokal untuk memindahkan fiturfitur yang tidak kompatibel dengan model relasional.
99
a. Menghilangkan Tipe Relasi Biner many-to-many (*)
•
Relasi antara entity Pemesanan dan Barang membentuk suatu entity
baru yaitu Detail_Pemesanan, dimana atribut Primary Key dari masingmasing entity yaitu Kd_Pemesanan dan Kd_Barang diberikan pada
Detail_Pemesanan.
Keterangan : (a) Kondisi Awal
(b) Kondisi Akhir
Gambar 3.9 Relasi many-to-many Pemesanan dengan Barang
•
Relasi antara entity Penjualan dan Barang membentuk suatu entity baru
yaitu Detail_Jual, dimana atribut Primary Key dari masing-masing
entity yaitu Kd_Jual dan Kd_Barang diberikan pada Detail_Jual.
Keterangan : (a) Kondisi Awal
(b) Kondisi Akhir
Gambar 3.10 Relasi many-to-many Penjualan dengan Barang
100
•
Relasi antara entity Pembelian dan Barang membentuk suatu entity baru
yaitu Detail_Beli, dimana atribut Primary Key dari masing-masing
entity yaitu Kd_Beli dan Kd_Barang diberikan pada Detail_Beli.
Keterangan : (a) Kondisi Awal
(b) Kondisi Akhir
Gambar 3.11 Relasi many-to-many Pembelian dengan Barang
b. Menghilangkan Atribut Multivalue
1. Atribut
Multivalue
Telepon_Pelanggan
pada
entitas
Pelanggan
dihilangkan dengan menghasilkan entitas baru bernama Telppelg
Telppelg
Gambar 3.12 Atribut Multivalue Telepon_Pelanggan pada Pelanggan
2. Atribut Multivalue Fax_Pelanggan pada entitas Pelanggan dihilangkan
dengan menghasilkan entitas baru bernama Faxpelg
Faxpelg
101
Gambar 3.13 Atribut Multivalue Fax_Pelanggan pada Pelanggan
3. Atribut
Multivalue
Telepon_Karyawan
pada
entitas
Karyawan
dihilangkan dengan menghasilkan entitas baru bernama Telpkary
Telpkary
Gambar 3.14 Atribut Multivalue Telepon_Karyawan pada Karyawan
4. Atribut Multivalue Telepon_Pemasok pada entitas Pemasok dihilangkan
dengan menghasilkan entitas baru bernama Telppemasok
Telppemasok
Gambar 3.15 Atribut Multivalue Telepon_Pemasok pada Pemasok
5. Atribut Multivalue Fax_Pemasok pada entitas Pemasok dihilangkan
dengan menghasilkan entitas baru bernama Faxpemasok
Faxpemasok
Gambar 3.16 Atribut Multivalue Fax_Pemasok pada Pemasok
102
3.2.3.2
Menghilangkan Relasi untuk Model Data Logikal
a. Strong Entity
Barang (Kd_barang, Kd_M esin, Kd_Pemasok, Nama_Barang,
Nama_M esin, Gambar, Deskripsi, Berat, Tgl_Update)
Primary Key Kd_barang
Pelanggan (Kd_Pelanggan, USerIDP, Nama_Pelanggan,
Nama_Perusahaan, Jabatan_Pelanggan, Alamat_Pelanggan,
Kdpos_Pelanggan, Kota_Pelanggan, PasswordP)
Primary Key Kd_Pelanggan
Karyawan (Kd_Karyawan, UserIDK, Nama_Karyawan,
Jabatan_Karyawan, Alamat_karyawan, Telepon_Karyawan,
email_karyawan, Kota_karyawan, PasswordK)
Primary Key Kd_Karyawan
Pemasok (Kd_Pemasok, UserIDS, Nama_Pemasok, Alamat_Pemasok,
email_Pemasok, website, PasswordS)
Primary Key Kd_Pemasok
Pemesanan(Kd_Pemesanan, Kd_Pelanggan, Kd_Karyawan,
Nama_Pelanggan, Nama_Karyawan, Tgl_Pemesanan)
Primary Key Kd_Pemesanan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelangan)
103
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan)
Penjualan (Kd_Jual, Kd_Pelanggan, Kd_Karyawan, Nama_Pelanggan,
Nama_Karyawan, Tgl_Jual)
Primary Key Kd_Jual
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelangan)
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan)
Pembelian (Kd_Beli, Kd_Pelanggan,Kd_Karyawan, Nama_Pelanggan,
Nama_Karyawan, Tgl_Beli)
Primary Key Kd_Beli
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelangan)
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan)
Pengiriman_Barang (Kd_Pengiriman, Kd_Jual, Tgl_Kirimkaryawan,
Tgl_Terimapelanggan)
Primary Key Kd_Pengiriman
Foreign Key Kd_Jual references Penjualan (Kd_Jual)
Penerimaan_Barang(Kd_Penerimaan, Kd_Beli, Tgl_Kirimpemasok,
Tgl_Terimakaryawan)
Primary Key Kd_Penerimaan
Foreign Key Kd_Beli references Pembelian (Kd_Beli)
104
b. Weak Entity
Detail_Pemesanan(Kd_Pemesanan, Kd_Barang, Qty_Pemesanan,
Harga_Beli, Harga_Jual)
Primary Key Kd_Pemesanan, Kd_Barang
Foreign Key Kd_Pemesanan references Pengecekan (Kd_Pemesanan)
Foreign Key Kd_Barang references Barang (Kd_Barang)
Detail_Jual (Kd_Jual, Kd_Barang, Qty_Jual, Harga_Jual)
Primary Key Kd_Jual, Kd_Barang
Foreign Key Kd_Jual references Penjualan (Kd_Jual)
Foreign Key Kd_Barang references Barang (Kd_Barang)
Detail_Beli (Kd_Beli, Kd_Barang, Qty_Beli, Harga_Beli )
Primary Key Kd_Beli Kd_Barang
Foreign Key Kd_Beli references Pembelian (Kd_Beli)
Foreign Key Kd_Barang references Barang (Kd_Barang)
Telppelg (Kd_Pelanggan, Telepon_Pelanggan)
Primary Key Telepon_Pelanggan, Kd_Pelanggan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
Faxpelg (Kd_Pelanggan, Fax_Pelanggan)
Primary Key Fax_Pelanggan, Kd_Pelanggan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
105
Telpkary (Kd_Karyawan Telepon_Karyawan)
Primary Key Telepon_Karyawan, Kd_Karyawan
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan)
Telppemasok (Kd_Pemasok, Telepon_Pemasok)
Primary Key Telepon_Pemasok, Kd_Pemasok
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok)
Faxpemasok (Kd_Pemasok, Fax_Pemasok)
Primary Key Fax_Pemasok, Kd_Pemasok
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok)
c. Identifikasi Tipe Relasi Biner one-to-many (1:*)
106
Post Kd_Pelanggan ke dalam Pembelian untuk model 1:* relasi Dalam
Pelanggan (Kd_Pelanggan, UserIDP,
Nama_Pelanggan, Nama_Perusahaan,
Jabatan_Pelanggan, Alamat_Pelanggan,
Kdpos_Pelanggan, Kota_Pelanggan,
PasswordP)
Primary key Kd_Pelanggan
Pembelian (Kd_Beli, Kd_Pelanggan,
Kd_Karyawan, Nama_Pelanggan,
Nama_Karyawan, Tgl_Beli)
Primary key Kd_Beli
Foreign key Kd_Pelanggan references
Pelanggan (Kd_Pelanggan)
Foreign key Kd_Karyawan references
Karyawan (Kd_Karyawan)
107
108
d. Identifikasi Tipe Relasi Biner one-to-one (1:1)
Post Kd_Beli ke dalam Penerimaan_Barang untuk model 1:1 relasi Dalam
Pembelian (Kd_Beli, Kd_Pelanggan,
Kd_Karyawan, Nama_Pelanggan,
Nama_Karyawan, Tgl_Beli)
Primary key Kd_Beli
Foreign key Kd_Pelanggan references
Pelanggan (Kd_Pelanggan)
Foreign key Kd_Karyawan references
Karyawan (Kd_Karyawan)
Penerimaan_Barang (Kd_Penerimaan, Kd_Beli,
Tgl_Kirimkaryawan, Tgl_Terimapelanggan)
Primary key Kd_Pengiriman
Foreign key Kd_Beli references Pembelian
(Kd_Beli)
e. Identifikasi Tipe Relasi Biner many-to-many (*:*)
109
110
f. Identifikasi Tipe Relasi Biner Multivalued
111
Post Kd_Pemasok ke dalam Telppemasok untuk model multi valued relasi
Mempunyai
Pemasok (Kd_Pemasok, Nama_Pemasok,
Alamat_Pemasok, Email_Pemasok,
Website, PasswordPm)
Primary key Kd_Pemasok
3.2.3.3
Telppemasok (Kd_Pemasok,
Telepon_Pemasok)
Primary Key Telepon_Pemasok,
Kd_Pemasok
Foreign Key Kd_Pemasok references
Pemasok (Kd_Pemasok)
Validasi Relasi dengan Normalisasi
Sistem sudah dalam bentuk normalisasi pertama karena sistem sudah
ditentukan Primary Key-nya pada perancangan konseptual dan pada fitur yang
tidak kompatibel telah dihilangkan atribut multivalue. M aka pada tahap
selanjutnya adalah menghilangkan ketergantungan parsial sehingga memenuhi
aturan 2NF dan menhilangkan ketergantungan transitif sehingga memenuhi
aturan 3NF.
112
Entitas Pemesanan
Kd_Pemesanan
Kd_Pelanggan
Kd_Karyawan
Nama_Pelanggan
Nama_Karyawan
Tgl_Pemesanan
fd1
fd2
fd3
fd1 : Kd_Pemesanan > Kd_Pelanggan, Kd_Karyawan , Tgl_Pemesanan
(Primary Key)
fd2 : Kd_Pelanggan > Nama_Pelanggan
(Terdapat ketergantungan Transitive)
fd3 : Kd_Karyawan > Nama_Karyawan
(Terdapat ketergantungan Transitive)
2NF : Sudah memenuhi karena tidak ada ketergantungan Partial (Partial
Depedencies)
3NF :
•
Pemesanan (Kd_Pemesanan, Kd_Pelanggan, Kd_Karyawan,
Tgl_Pemesanan, Tgl_Approve)
Primary Key Kd_Pemesanan
Foreign key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
Foreign key Kd_Karyawan references Karyawan (Kd_Karyawan)
•
Detail_Pemesanan (Kd_Pemesanan)
Primary Key Kd_Pemesanan
Foreign Key Kd_Pemesanan references Pemesanan
(Kd_Pemesanan)
113
•
Pelanggan (Kd_Pelanggan , Nama_Pelanggan)
Primary Key (Kd_Pelanggan)
•
Karyawan ( Kd_Karyawan, Nama_Karyawan)
Primary Key (Kd_Karyawan)
Entitas Penjualan
Kd_Jual
Kd_Pelanggan
Kd_Karyawan
Nama_Pelanggan
Nama_Karyawan
Tgl_Jual
fd1
fd2
fd3
fd1 : Kd_Jual > Kd_Pelanggan, Kd_Karyawan, Tgl_Jual
(Primary Key)
fd2 : Kd_Pelanggan > Nama_Pelanggan
(Terdapat ketergantungan Transitive)
fd3 : Kd_Karyawan > Nama_Karyawan
(Terdapat ketergantungan Transitive)
2NF : Sudah memenuhi karena tidak ada ketergantungan Partial (Partial
Depedencies)
3NF :
•
Penjualan (Kd_Jual , Kd_Pelanggan, Kd_Karyawan, Tgl_Jual)
Primary Key Kd_Jual
Foreign key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
Foreign key Kd_Karyawan references Karyawan (Kd_Karyawan)
114
•
Detail_Jual (Kd_Jual)
Primary Key Kd_Jual
Foreign Key Kd_Jual references Penjualan (Kd_Jual)
•
Pelanggan (Kd_Pelanggan , Nama_Pelanggan)
Primary Key (Kd_Pelanggan)
•
Karyawan ( Kd_Karyawan, Nama_Karyawan)
Primary Key (Kd_Karyawan)
Entitas Pembelian
Kd_Beli
Kd_Pelanggan
Kd_Karyawan
Nama_Pelanggan
Nama_Karyawan
Tgl_Beli
fd1
fd2
fd3
fd1 : Kd_Beli > Kd_Pelanggan, Kd_Karyawan , Kd_Pemasok, Tgl_Beli
(Primary Key)
fd2 : Kd_Pelanggan > Nama_Pelanggan
(Terdapat ketergantungan Transitive)
fd3 : Kd_Karyawan > Nama_Karyawan
(Terdapat ketergantungan Transitive)
2NF : Sudah memenuhi karena tidak ada ketergantungan Partial (Partial
Depedencies)
3NF :
•
Pembelian (Kd_Beli , Kd_Pelanggan, Kd_Karyawan,
115
Kd_Pemasok, Tgl_Beli)
Primary Key Kd_Beli
Foreign key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
Foreign key Kd_Karyawan references Karyawan (Kd_Karyawan)
•
Detail_Beli (Kd_Beli)
Primary Key Kd_Beli
Foreign Key Kd_Beli references Pembelian (Kd_Beli)
•
Pelanggan (Kd_Pelanggan , Nama_Pelanggan)
Primary Key (Kd_Pelanggan)
•
Karyawan ( Kd_Karyawan, Nama_Karyawan)
Primary Key (Kd_Karyawan)
Entitas Penerimaan_Barang
Kd_Penerimaan
Kd_Beli
Tgl_Kirimpemasok
Tgl_Terimakaryawan
fd1
fd2
fd1 : Kd_Penerimaan > Kd_Beli, Kd_Karyawan, Tgl_Kirimpemasok,
Tgl_Terimakaryawan
(Primary Key)
fd2 : Kd_Beli
2NF :
•
Penerimaan_Barang (Kd_Penerimaan, Kd_Beli,
Tgl_Kirimpemasok, Tgl_Terimakaryawan)
116
Primary Key (Kd_Penerimaan)
Foreign key Kd_Beli references Pembelian (Kd_Beli)
Foreign key Kd_Karyawan references Karyawan (Kd_Karyawan)
•
Pembelian (Kd_Beli)
Primary Key (Kd_Beli)
3NF : Sudah memenuhi karena tidak ada ketergantungan Transitive
(Transitive Depedencies)
Entitas Pengiriman_Barang
Kd_Pengiriman
Kd_Jual
Tgl_Kirimkaryawan
Tgl_Terimapelanggan
fd1
fd2
fd1 : Kd_Pengiriman > Kd_Jual, Tgl_Kirimkaryawan,
Tgl_Terimapelanggan
fd2 : Kd_Jual (Terdapat ketergantungan Partial)
2NF :
•
Pengiriman_Barang (Kd_Pengiriman, Kd_Jual,
Tgl_Kirimkaryawan, Tgl_Terimapelanggan)
Primary Key Kd_Pengiriman
Foreign key Kd_Jual references Penjualan (Kd_Jual)
•
Penjualan (Kd_Jual)
Primary Key Kd_Jual
3NF : Sudah memenuhi karena tidak ada ketergantungan Transitive
(Transitive Depedencies)
117
Entitas Barang
Kd_Barang
Kd_M esin
Kd_Pemasok
Nama_Barang
Nama_M esin
Gambar
Deskripsi
Berat
Tgl_Update
Jumlah_Barang
fd1
fd2
fd3
fd1 : Kd_Barang > Nama_Barang, Gambar, Deskripsi, Tgl_Update
(Primary Key)
fd2 : Kd_M esin > Nama_M esin
(Terdapat ketergantungan Transitive)
Fd3 : Kd_Pemasok
(Terdapat ketergantungan Transitive)
2NF : Sudah memenuhi karena tidak ada ketergantungan Partial (Partial
Depedencies)
3NF :
•
Barang (Kd_Barang, Kd_M esin, Kd_Pemasok, Nama_Barang,
Gambar, Deskripsi, Berat, Tgl_Update)
Primary Key (Kd_Barang)
•
Mesin (Kd_M esin, Nama_M esin)
Primary Key (Kd_M esin)
•
Pemasok (Kd_Pemasok)
Primary Key (Kd_Pemasok)
118
Berikut ini adalah entitas-entitas lainnya yang sudah ternormalisasi
sampai dengan bentuk 3NF :
•
Pelanggan (Kd_Pelanggan, UserIDP, Nama_Pelanggan,
Nama_Perusahaan, Jabatan_Pelanggan, Alamat_Pelanggan,
Kdpos_Pelanggan, Kota_Pelanggan, Telepon_Pelanggan,
Fax_Pelanggan, PasswordP)
Primary Key Kd_Pelanggan
•
Karyawan (Kd_Karyawan, UserIDK, Nama_Karyawan,
Jabatan_Karyawan, Alamat_Karyawan, Telepon_Karyawan,
Email_Karyawan, Kota_Karyawan, PasswordK)
•
Pemasok (Kd_Pemasok, UserIDS, Nama_Pemasok,
Alamat_Pemasok, Telepon_Pemasok, Fax_Pemasok,
Email_Pemasok, Website, PasswordS)
Primary Key Kd_Pemasok
•
Detail_Pemesanan (Kd_Pemesanan, Kd_Barang, Qty_Pemesanan,
Harga_Jual, Harga_Beli)
Primary Key Kd_Pemesanan, Kd_Barang
Foreign Key Kd_Pemesanan references Pemesanan
(Kd_Pemesanan)
Foreign Key Kd_Barang references Barang (Kd_Barang)
•
Detail_Jual (Kd_Jual, Kd_Barang, Qty_Jual, Harga_Jual)
Primary Key Kd_Jual, Kd_Barang
Foreign Key Kd_Jual references Penjualan (Kd_Jual)
119
Foreign Key Kd_Barang references Barang (Kd_Barang)
•
Detail_Beli (Kd_Beli, Kd_Barang, Qty_Beli, Harga_Beli)
Primary Key Kd_Beli Kd_Barang
Foreign Key Kd_Beli references Pembelian (Kd_Beli)
Foreign Key Kd_Barang references Barang (Kd_Barang)
•
Telppelg (Kd_Pelanggan, Telepon_Pelanggan)
Primary Key Telepon_Pelanggan, Kd_Pelanggan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
•
Faxpelg (Kd_Pelanggan, Fax_Pelanggan)
Primary Key Fax_Pelanggan, Kd_Pelanggan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
•
Telpkary (Kd_Karyawan Telepon_Karyawan)
Primary Key Telepon_Karyawan, Kd_Karyawan
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan)
•
Telppemasok (Kd_Pemasok, Telepon_Pemasok)
Primary Key Telepon_Pemasok, Kd_Pemasok
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok)
•
Faxpemasok (Kd_Pemasok, Fax_Pemasok)
Primary Key Fax_Pemasok, Kd_Pemasok
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok)
120
Me sin
Kd_ Mes in
1. .1
Mel akuka n
De tai l_P eme san an
P eme san an
1.. *
1.. 1
1..*
Terdi ri da ri
Dal am
1.. *
Mempunyai
Kd _Pe me san an
Kd _Ba ran g
Kd _Pe mes an an
1.. *
1. .1
1..*
Te rdiri dari
De ta il _Ju al
Da lam
1.. *
Kd_ Jua l
Kd_ Bara ng
Te lp pe lg
1..*
Kd _Ba ra ng
1.. 1
Kd_ Pel an gg an
Te le po n_ Pel an gg an
1. .*
M elakukan
M empunyai
M emproses
Dal am
1. .1
Kd_ Pel an gg an
1. .1
1.. 1
1. .1
Pe la ng ga n
1.. 1
1..1
Me lakukan
1..*
Pen ju ala n
1..1
1.. *
Me nerima
Kd_ Jua l
1.. 1
Ka ryaw an
1. .1
Kd_ Kary aw an
1..1
1. .1
Me lakukan
1..*
Pe mbe li an 1. .1
Te rdiri dari
1.. *
Kd _Be li
1.. *
D eta il_ Be li
1..*
Kd _Be li
Kd _Ba ran g
1.. 1
1.. 1
M empunyai
Fa xpe ma sok
Dal am
Fa xpe lg
Kd _Pe la ngg an
Fax_ Pel an gg an
1.. *
Bara ng
1.. 1
Menghasil ka n
M empunyai
Me nghasi lkan
Kd_ Pem aso k
Fa x_P ema sok
1.. *
Mempunyai
1.. 1
Pema sok
Kd _Pe ma sok
1..1
1. .*
1.. 1
Pen gi rim an_ Ba ran g
Kd _Pe ng iri man
1.. *
Te lp kary
Kd_ Ka ryaw an
Tele po n_ Ka ryaw an
M empunyai
1. .1
Pen eri maa n_ Ba ran g
Kd_ Pe ne rima an
1..*
Telp pe ma sok
Kd_ Pem aso k
Te le po n_ Pem eso k
Gambar 3.17 ERD Model Logikal dengan Primary Key
121
3.2.3.4
Validasi Relasi Melalui Transaksi Pengguna
Me sin
Kd_ Mes in
1. .1
(d ),(e )
Mel akuka n
De tai l_P eme san an
P eme san an
1.. *
1.. 1
1..*
Terdi ri da ri
Dal am
1.. *
Me mpunya i
Kd _Pe me san an
Kd _Ba ran g
Kd _Pe mes an an
1.. *
( n),(o)
1..*
Te rdiri dari
De ta il _Ju al
Da lam
1.. *
Kd_ Jua l
Kd_ Bara ng
Te lp pe lg
1..*
1. .1
Kd _Ba ra ng
1.. 1
Kd_ Pel an gg an
Te le po n_ Pel an gg an
1. .*
M elakukan
M empunyai
M emproses
Dal am
(a)
1. .1
(f),(g) 1.. 1
1. .1
Pe la ng ga n
1..1
Me lakukan
1..*
Kd_ Pel an gg an
1. .1
Pen ju ala n
(b)
1.. *
Me nerima
Kd_ Jua l
(h ),( i)
1..1
Ka ryaw an
1. .1
Kd_ Kary aw an
1..1
1.. 1
1.. 1
Me lakukan
1..*
Pe mbe li an 1. .1
Te rdiri dari
1.. *
Kd _Be li
1. .1
1.. *
D eta il_ Be li
1..*
Kd _Be li
Kd _Ba ran g
1.. 1
(c )
M empunyai
Fa xpe ma sok
Dal am
Fa xpe lg
Kd _Pe la ngg an
Fax_ Pel an gg an
1.. *
Bara ng
1.. 1
Menghasil ka n
Me nghasi lkan
M empunyai
Kd_ Pem aso k
Fa x_P ema sok
1.. *
Mempunyai
1.. 1
1.. 1
Pema sok
Kd _Pe ma sok
1..1
1. .*
(l),(m)
1.. 1
Pen gi rim an_ Ba ran g
Kd _Pe ng iri man
1.. *
Te lp kary
Kd_ Ka ryaw an
Tele po n_ Ka ryaw an
(j ),( k)
M empunyai
1. .1
Pen eri maa n_ Ba ran g
Kd_ Pe ne rima an
1..*
Telp pe ma sok
Kd_ Pem aso k
Te le po n_ Pem eso k
Gambar 3.18 Validasi Relasi Melalui Transaksi Pengguna (Model Logikal)
122
a) M asukan/ubah/hapus Kd_Pelanggan, UserIDP, Nama_Pelanggan,
Nama_Perusahaan, Jabatan_Pelanggan, Alamat_Pelanggan,
Kdpos_Pelanggan, Kota_Pelanggan, PasswordP dari entitas Pelanggan yang
terhubung dengan entitas Telppelg dimana entitas Pelanggan memiliki
Kd_Pelanggan yang sama dengan entitas Telppelg yang terhubung dengan
entitas Faxpelg dimana entitas Pelanggan memiliki Kd_Pelanggan yang
sama dengan entitas FaxPelg.
b) M asukan/ubah/hapus Kd_Karyawan, UserIDK, Nama_Karyawan,
Jabatan_Karyawan, Alamat_Karyawan, Email_Karyawan, Kota_Karyawan,
PasswordK dari entitas Karyawan yang terhubung dengan entitas Telpkary
dimana entitas Karyawan memiliki Kd_Karyawan yang sama dengan
entitas Telpkary
c) M asukan/ubah/hapus Kd_Pemasok, UserIDS, Nama_Pemasok,
Alamat_Pemasok, Email_Pemasok, Website, PasswordS dari entitas
Pemasok yang terhubung dengan entitas Telppemasok dimana entitas
Pemasok memiliki Kd_Pemasok yang sama dengan entitas Telppemasok
yang terhubung dengan entitas Faxpemasok dimana entitas Pemasok
memiliki Kd_Pemasok yang sama dengan entitas Faxpemasok
d) M asukan data Kd_Pemesanan, Kd_Pelanggan, Kd_Karyawan,
Tgl_Pemesanan, Tgl_Approve dari entitas Pemesanan yang terhubung
dengan entitas Pelanggan dimana entitas Pemesanan memiliki
Kd_Pelanggan yang sama dengan entitas Pelanggan yang terhubung dengan
entitas Karyawan dimana entitas Pemesanan memiliki Kd_Karyawan yang
sama dengan entitas Karyawan
123
e) Tampilkan laporan Kd_Pemesanan, Kd_Pelanggan, Kd_Karyawan,
Tgl_Pemesanan, Tgl_Approve dari entitas Pemesanan yang terhubung
dengan entitas Pelanggan dimana entitas Pemesanan memiliki
Kd_Pelanggan yang sama dengan entitas Pelanggan yang terhubung dengan
entitas Karyawan dimana entitas Pengecekan memiliki Kd_Karyawan yang
sama dengan entitas Karyawan
f) Tampilkan laporan Kd_Jual, Kd_Pelanggan, Kd_Karyawan, Tgl_Jual dari
entitas Penjualan yang terhubung dengan entitas Pelanggan dimana entitas
Penjualan memiliki Kd_Pelanggan yang sama dengan entitas Pelanggan
yang terhubung dengan entitas Karyawan dimana entitas Penjualan
memiliki Kd_Karyawan yang sama dengan entitas Karyawan
g) Tampilkan laporan Kd_Jual, Kd_Pelanggan, Kd_Karyawan, Tgl_Jual dari
entitas Penjualan yang terhubung dengan entitas Pelanggan dimana entitas
Penjualan memiliki Kd_Pelanggan yang sama dengan entitas Pelanggan
yang terhubung dengan entitas Karyawan dimana entitas Penjualan
memiliki Kd_Karyawan yang sama dengan entitas Karyawan
h) M asukan data Kd_Beli, Kd_Pelanggan,Kd_Karyawan, Kd_Pemasok,
Tgl_Beli dari entitas Pembelian yang terhubung dengan entitas Pelanggan
dimana entitas Pembelian memiliki Kd_Pelanggan yang sama dengan
entitas Pelanggan yang terhubung dengan entitas Karyawan dimana entitas
Pembelian memiliki Kd_Karyawan yang sama dengan entitas Karyawan
yang terhubung dengan entitas Pemasok dimana Pembelian memiliki
Kd_Pemasok yang sama dengan entitas Pemasok
i) Tampilkan laporan Kd_Beli, Kd_Pelanggan, Kd_Karyawan, Kd_Pemasok,
124
Tgl_Beli dari entitas Pembelian yang terhubung dengan entitas Pelanggan
dimana entitas Pembelian memiliki Kd_Pelanggan yang sama dengan
entitas Pelanggan yang terhubung dengan entitas Karyawan dimana entitas
Pembelian memiliki Kd_Karyawan yang sama dengan entitas Karyawan
yang terhubung dengan entitas Pemasok dimana Pembelian memiliki
Kd_Pemasok yang sama dengan entitas Pemasok.
j) M asukan data Kd_Penerimaan, Kd_Beli, Tgl_Kirimpemasok,
Tgl_Terimakaryawan dari entitas Penerimaan_Barang yang terhubung
dengan entitas Pembelian dimana Penerimaan_Barang memiliki Kd_Beli
yang sama dengan entitas Pembelian
k) Tampilkan laporan Kd_Penerimaan, Kd_Beli, Tgl_Kirimpemasok,
Tgl_Terimakaryawan dari entitas Penerimaan_Barang yang terhubung
dengan entitas Pembelian dimana entitas Penerimaan_Barang memiliki
Kd_Beli yang sama dengan entitas Pembelian
l) M asukan data Kd_Pengiriman, Kd_Jual, Tgl_Kirimkaryawan, Tgl_Terimapelanggan dari entitas Pengiriman_Barang yang terhubung
dengan entitas Penjualan dimana entitas Pengiriman_Barang memiliki
Kd_Jual yang sama dengan entitas Penjualan
m) Tampilkan laporan Kd_Pengiriman, Kd_Jual, Kd_Pelanggan,
Kd_Karyawan, Tgl_Kirimkaryawan, Tgl_Terimapelanggan dari entitas
Pengiriman_Barang yang terhubung dengan entitas Penjualan dimana
Pengiriman_Barang memiliki Kd_Jual yang sama dengan entitas Penjualan
n) M asukan/ubah/hapus Kd_Barang, Kd_M esin, Kd_Pemasok, Nama_Barang,
Nama_M esin, Gambar, Deskripsi, Berat, Tgl_Update, dari entitas Barang
125
o) Tampilkan barang Kd_Barang, Kd_M esin, Kd_Pemasok, Nama_Barang,
Nama_M esin, Gambar, Deskripsi, Berat, Tgl_Update dari entitas Barang
yang terhubung dengan entitas Pemasok dimana entitas barang memiliki
Kd_Pemasok yang sama dengan entitas Pemasok yang terhubung dengan
entitas M esin dimana entitas barang memiliki Kd_M esin yang sama dengan
entitas M esin yang sudah titik recorder
3.2.3.5
Definisi Integrity Constraint
Barang (Kd_Barang, Kd_M esin, Kd_Pemasok, Nama_Barang, Gambar,
Deskripsi, Berat, Tgl_Update)
Primary Key Kd_Barang
Mesin (Kd_M esin, Nama_M esin)
Primary Key Kd_M esin
Pelanggan (Kd_Pelanggan, Nama_Pelanggan, Nama_Perusahaan,
Jabatan_Pelanggan, Alamat_Pelanggan, Kdpos_Pelanggan, Kota_Pelanggan,
PasswordP)
Primary Key Kd_Pelanggan
Karyawan (Kd_Karyawan, Nama_Karyawan, Jabatan_Karyawan,
Alamat_Karyawan, Email_Karyawan, Kota_Karyawan, PasswordK)
Primary Key Kd_Karyawan
126
Pemasok (Kd_Pemasok, Nama_Pemasok, Alamat_Pemasok, Email_Pemasok,
Website, PasswordS)
Primary Key Kd_Pemasok
Pemesanan (Kd_Pemesanan, Kd_Pelanggan, Kd_Karyawan, Tgl_Pemesanan,
Tgl_Approve)
Primary Key Kd_Pemesanan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan) ON
UPDATE CASCADE ON DELETE NO ACTION
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION
Penjualan (Kd_Jual, Kd_Pelanggan, Kd_Karyawan, Tgl_Jual)
Primary Key Kd_Jual
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan) ON
UPDATE CASCADE ON DELETE NO ACTION
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION
Pembelian (Kd_Beli, Kd_Pelanggan,Kd_Karyawan, Kd_Pemasok, Tgl_Beli)
Primary Key Kd_Beli
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan) ON
UPDATE CASCADE ON DELETE NO ACTION
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan) ON
127
UPDATE CASCADE ON DELETE NO ACTION
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok) ON UPDATE
CASCADE ON DELETE NO ACTION
Penerimaan_Barang(Kd_Penerimaan, Kd_Beli, Tgl_Kirimpemasok,
Tgl_Terimakaryawan)
Primary Key Kd_Penerimaan
Foreign Key Kd_Beli references Pembelian (Kd_Beli) ON UPDATE
CASCADE ON DELETE NO ACTION
Pengiriman_Barang (Kd_Pengiriman, Kd_Jual, Tgl_Kirimkaryawan,
Tgl_Terimapelanggan)
Primary Key Kd_Pengiriman
Foreign Key Kd_Jual references Penjualan (Kd_Jual) ON UPDATE
CASCADE ON DELETE NO ACTION
Detail_Pemesanan (Kd_Pemesanan, Kd_Barang, Qty_Pemesanan)
Primary Key Kd_Pemesanan, Kd_Barang
Foreign Key Kd_Pemesanan references Pemesanan (Kd_Pemesanan) ON
UPDATE CASCADE ON DELETE NO ACTION
Foreign Key Kd_Barang references Barang (Kd_Barang) ON UPDATE
CASCADE ON DELETE NO ACTION
Detail_Jual (Kd_Jual, Kd_Barang, Qty_Jual, Harga_Jual)
128
Primary Key Kd_Jual, Kd_Barang
Foreign Key Kd_Jual references Penjualan (Kd_Jual) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key Kd_Barang references Barang (Kd_Barang) ON UPDATE
CASCADE ON DELETE NO ACTION
Detail_Beli (Kd_Beli, Kd_Barang, Qty_Beli, Harga_Beli)
Primary Key Kd_Beli Kd_Barang
Foreign Key Kd_Beli references Pembelian (Kd_Beli) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key Kd_Barang references Barang (Kd_Barang) ON UPDATE
CASCADE ON DELETE NO ACTION
Telppelg (Kd_Pelanggan, Telepon_Pelanggan)
Primary Key Telepon_Pelanggan, Kd_Pelanggan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan) ON
UPDATE CASCADE ON DELETE NO ACTION
Faxpelg (Kd_Pelanggan, Fax_Pelanggan)
Primary Key Fax_Pelanggan, Kd_Pelanggan
Foreign Key Kd_Pelanggan references Pelanggan (Kd_Pelanggan) ON
UPDATE CASCADE ON DELETE NO ACTION
Telpkary (Kd_Karyawan, Telepon_Karyawan)
129
Primary Key Telepon_Karyawan, Kd_Karyawan
Foreign Key Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION
Telppemasok (Kd_Pemasok, Telepon_Pemasok)
Primary Key Telepon_Pemasok, Kd_Pemasok
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok) ON UPDATE
CASCADE ON DELETE NO ACTION
Faxpemasok (Kd_Pemasok, Fax_Pemasok)
Primary Key Fax_Pemasok, Kd_Pemasok
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok) ON UPDATE
CASCADE ON DELETE NO ACTION
3.2.4
Perancangan Basis Data Fisikal
3.2.4.1
Penerjemahan Model Data Logikal Global untuk DBMS Target
Tujuan dari tahap ini adalah untuk mengidentifikasi basis data relasional
dalam model data logikal global yang digunakan dalam DBM S dengan
menggunakan DBDL (Database Design Language). DBDL yang digunakan
adalah sebagai berikut :
3.2.4.1.1
Perancangan Relasi Dasar
1. Barang
Domain Kd_Barang : character string, length 10
130
Domain Kd_M esin : character string, length 9
Domain Kd_Pemasok: character string, length 6
Domain Nama_Barang : variable length character string, length 20
Domain Gambar : variable length character string, length 20
Domain Deskripsi : variable length character string, length 50
Domain Gambar : Decimal
Domain Tgl_Update : variable length character datetime
Barang (
Kd_Barang
Kd_Barang
NOT NULL,
Kd_M esin
Kd_M esin
NOT NULL,
Kd_Pemasok
Kd_Pemasok
NOT NULL,
Nama_Barang
Nama_Barang
NOT NULL,
Gambar
Gambar
NOT NULL,
Deskripsi
Deskripsi
NOT NULL,
Berat
Berat
NOT NULL,
Tgl_Update
Tgl_Update
NOT NULL
PRIM ARY KEY (Kd_Barang));
2. M esin
Domain Kd_M esin : character string, length 9
Domain Nama_M esin : variable length character string, length 20
Barang (
Kd_M esin
Kd_M esin
NOT NULL,
Nama_M esin
Nama_M esin
NOT NULL,
131
PRIM ARY KEY (Kd_Barang));
3. Pelanggan
Domain Kd_Pelanggan : character string, length 8
Domain UserIDP : variable length character string, length 20
Domain Nama_Pelanggan : variable length character string, length 20
Domain Nama_Perusahaan : variable length character string, length 50
Domain Jabatan_Pelanggan : variable length character string, length 20
Domain Alamat_Pelanggan : variable length character string, length 50
Domain Kdpos_Pelanggan : character string, length 5
Domain Kota_Pelanggan : variable length character string, length 20
Domain Email_Pelanggan : variable length character string, length 20
Domain PasswordP : variable length character string, length 20
Pelanggan (
Kd_Pelanggan
Kd_Pelanggan
NOT NULL,
UserIDP
UserIDP
NOT NULL,
Nama_Pelanggan
Nama_Pelanggan
NOT NULL,
Nama_Perusahaan
Nama_Perusahaan
NOT NULL,
Jabatan_Pelanggan
Jabatan_Pelanggan
NOT NULL,
Alamat_Pelanggan
Alamat_Pelanggan
NOT NULL,
Kdpos_Pelanggan
Kdpos_Pelanggan
NOT NULL,
Kota_Pelanggan
Kota_Pelanggan
NOT NULL,
Email_Pelanggan
Email_Pelanggan
NOT NULL,
PasswordP
PasswordP
NOT NULL
132
PRIM ARY KEY (Kd_Pelanggan));
4. Karyawan
Domain Kd_Karyawan : character string, length 6
Domain UserIDK : variable length character string, length 20
Domain Nama_Karyawan : variable length character string, length 20
Domain Jabatan_Karyawan : variable length character string, length 20
Domain Alamat_Karyawan : variable length character string, length 50
Domain Email_Karyawan : variable length character string, length 20
Domain Kota_Karyawan : variable length character string, length 20
Domain PasswordK : variable length character string, length 20
Karyawan (
Kd_Karyawan
Kd_Karyawan
NOT NULL,
UserIDK
UserIDK
NOT NULL,
Nama_Karyawan
Nama_Karyawan
NOT NULL,
Jabatan_Karyawan
Jabatan_Karyawan
NOT NULL,
Alamat_Karyawan
Jabatan_Karyawan
NOT_NULL,
Email_Karyawan
Email_Karyawan
NOT NULL,
PasswordK
PasswordK
NOT NULL
PRIM ARY KEY (Kd_Karyawan));
5. Pemasok
Domain Kd_Pemasok : character string, length 6
Domain UserIDS : variable length character string, length 20
133
Domain Nama_Pemasok : variable length character string, length 20
Domain Alamat_Pemasok : variable length character string, length 50
Domain Email_Pemasok : variable length character string, length 20
Domain Website : variable length character string, length 20
Domain PasswordS : variable length character string, length 20
Pemasok (
Kd_Pemasok
Kd_Pemasok
NOT NULL,
UserIDS
UserIDS
NOT NULL,
Nama_Pemasok
Nama_Pemasok
NOT NULL,
Alamat_Pemasok
Alamat_Pemasok
NOT NULL,
Email_Pemasok
Email_Pemasok
NOT NULL,
Website
Website
NOT NULL,
PasswordS
PasswordS
NOT NULL
PRIM ARY KEY (Kd_Pemasok));
6. Pemesanan
Domain Kd_Pemesanan : character string, length 11
Domain Kd_Pelanggan : character string, length 8
Domain Kd_Karyawan : character string, length 6
Domain Tgl_Pemesanan : variable length character datetime
Domain Tgl_Approve : variable length character datetime
Pemesanan (
Kd_Pemesanan
Kd_Pemesanan
NOT NULL,
Kd_Pelanggan
Kd_Pelanggan
NOT NULL,
134
Kd_Karyawan
Kd_Karyawan
NOT NULL,
Tgl_Pemesanan
Tgl_Pemesanan
NULLABLE
Tgl_Approve
Tgl_Approve
NULLABLE
PRIM ARY KEY (Kd_Pemesanan),
FOREIGN KEY Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION
7. Penjualan
Domain Kd_Jual : character string, length 11
Domain Kd_Pelanggan : character string, length 8
Domain Kd_Karyawan : character string, length 6
Domain Tgl_Jual : variable length character datetime
Penjualan (
Kd_Jual
Kd_Jual
NOT NULL,
Kd_Pelanggan
Kd_Pelanggan
NOT NULL,
Kd_Karyawan
Kd_Karyawan
NOT NULL,
Tgl_Jual
Tgl_Jual
NOT NULL
PRIM ARY KEY (Kd_Jual),
FOREIGN KEY Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION
135
8. Pembelian
Domain Kd_Beli : character string, length 11
Domain Kd_Pelanggan : character string, length 8
Domain Kd_Karyawan : character string, length 6
Domain Tgl_Beli : variable length character datetime
Pembelian (
Kd_Beli
Kd_Beli
NOT NULL,
Kd_Pelanggan
Kd_Pelanggan
NOT NULL,
Kd_Karyawan
Kd_Karyawan
NOT NULL
Tgl_Beli
Tgl_Beli
NOT NULL
PRIM ARY KEY (Kd_Beli),
FOREIGN KEY Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION
9. Penerimaan_Barang
Domain Kd_Penerimaan : character string, length 11
Domain Kd_Beli : character string, length 11
Domain Tgl_Kirimpemasok : variable length character datetime
Domain Tgl_Terimakaryawan: variable length character datetime
Penerimaan_Barang (
Kd_Penerimaan
Kd_Penerimaan
NOT NULL,
Kd_Beli
Kd_Beli
NOT NULL,
136
Tgl_Kirimpemasok
Tgl_Kirimpemasok
NOT NULL,
Tgl_Terimakaryawan
Tgl_Terimakaryawan
NULLABLE
PRIM ARY KEY (Kd_Penerimaan),
FOREIGN KEY Kd_Beli references Pembelian (Kd_Beli) ON UPDATE
CASCADE ON DELETE NO ACTION;
10. Pengiriman_Barang
Domain Kd_Pengiriman : character string, length 11
Domain Kd_Jual : character string, length 11
Domain Tgl_Kirimkaryawan : variable length character datetime
Domain Tgl_Terimapelanggan : variable length character datetime
Pengiriman_Barang (
Kd_Pengiriman
Kd_Pengiriman
NOT NULL,
Kd_Jual
Kd_Jual
NOT NULL,
Tgl_Kirimkaryawan
Tgl_Kirimpemasok
NOT NULL,
Tgl_Terimapelanggan Tgl_Terimakaryawan NULLABLE
PRIM ARY KEY (Kd_Pengiriman),
FOREIGN KEY Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Jual references Penjualan (Kd_Jual) On UPDATE
CASCADE ON DELETE NO ACTION);
11. Detail_Pemesanan
Domain Kd_Pemesanan : character string, length 11
137
Domain Kd_Barang : character string, length 10
Domai Qty_Pemesanan : Int
Detail_Pemesanan(
Kd_Pemesanan
Kd_Pemesanan
NOT NULL,
Kd_Barang
Kd_Barang
NOT NULL,
Qty_Pemesanan
Qty_Pemesanan
NOT NULL,
Harga_Jual
Harga_Jual
NULLABLE,
Harga_Beli
Harga_Beli
NULLABLE,
PRIM ARY KEY (Kd_Pemesanan, Kd_Barang),
FOREIGN KEY Kd_Pemesanan references Pengecekan (Kd_Pemesanan)
ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Barang references Barang (Kd_Barang) ON
UPDATE CASCADE ON DELETE NO ACTION);
12. Detail_Jual
Domain Kd_Jual : character string, length 11
Domain Kd_Barang : character string, length 10
Domain Qty_Jual : Int
Domain Harga_Jual : Int
Detail_Jual (
Kd_Jual
Kd_Jual
NOT NULL,
Kd_Barang
Kd_Barang
NOT NULL,
Qty_Jual
Qty_Jual
NOT NULL,
Harga_Jual
Harga_Jual
NULLABLE,
138
PRIM ARY KEY (Kd_Jual, Kd_Barang),
FOREIGN KEY Kd_Jual references Penjualan (Kd_Jual) ON UPDATE
CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Barang references Barang (Kd_Barang) ON
UPDATE CASCADE ON DELETE NO ACTION);
13. Detail_Beli
Domain Kd_Beli : character string, length 11
Domain Kd_Barang : character string, length 10
Domai Qty_Beli : Int
Domain Harga_Beli : Int
Detail_Beli (
Kd_Beli
Kd_Beli
NOT NULL,
Kd_Barang
Kd_Barang
NOT NULL,
Qty_Beli
Qty_Beli
NOT NULL,
Harga_Beli
Harga_Beli
NULLABLE,
PRIM ARY KEY (Kd_Beli, Kd_Barang),
FOREIGN KEY Kd_Beli references Pembelian (Kd_Beli) ON UPDATE
CASCADE ON DELETE NO ACTION,
FOREIGN KEY Kd_Barang references Barang (Kd_Barang) ON
UPDATE CASCADE ON DELETE NO ACTION);
14. Telppelg
Domain Kd_Pelanggan : character string, length 8
139
Domain Telepon_Pelanggan : variable length character string, length 20
Telppelg (
Kd_Pelanggan
Kd_Pelanggan
NOT NULL,
Telepon_Pelanggan
Telepon_Pelanggan
NOT NULL,
PRIM ARY KEY (Telepon_Pelanggan),
FOREIGN KEY Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
ON UPDATE CASCADE ON DELETE NO ACTION);
15. Faxpelg
Domain Kd_Pelanggan : character string, length 8
Domain Fax_Pelanggan : variable length character string, length 20
Faxpelg (
Kd_Pelanggan
Kd_Pelanggan
NOT NULL,
Fax_Pelanggan
Fax_Pelanggan
NOT NULL,
PRIM ARY KEY (Fax_Pelanggan),
FOREIGN KEY Kd_Pelanggan references Pelanggan (Kd_Pelanggan)
ON UPDATE CASCADE ON DELETE NO ACTION);
16. Telpkary
Domain Kd_Karyawan : character string, length 6
Domain Telepon_Karyawan : variable length character string, length 20
Telpkary (
Kd_Karyawan
Kd_Karyawan
NOT NULL,
Telepon_Karyawan
Telepon_Karyawan
NOT NULL,
140
PRIM ARY KEY (Telepon_Karyawan),
FOREIGN KEY Kd_Karyawan references Karyawan (Kd_Karyawan) ON
UPDATE CASCADE ON DELETE NO ACTION);
17. Telppemasok
Domain Kd_Pemasok : character string, length 6
Domain Telepon_Pemasok : variable length character string, length 20
Telppemasok (
Kd_Pemasok
Kd_Pemasok
NOT NULL,
Telepon_Pemasok
Telepon_Pemasok
NOT NULL,
PRIM ARY KEY (Telepon_Pemasok),
FOREIGN KEY Kd_Pemasok references Pemasok (Kd_Pemasok) ON
UPDATE CASCADE ON DELETE NO ACTION);
18. Faxpemasok
Domain Kd_Pemasok : character string, length 6
Domain Fax_Pemasok : variable length character string, length 20
Faxpemasok (
Kd_Pemasok
Kd_Pemasok
NOT NULL,
Fax_Pemasok
Fax_Pemasok
NOT NULL,
PRIM ARY KEY (Fax_Pemasok),
Foreign Key Kd_Pemasok references Pemasok (Kd_Pemasok) ON
UPDATE CASCADE ON DELETE NO ACTION);
141
3.2.4.1.2
Perancangan Enterprise Constraint
Tujuan dari langkah ini adalah untuk merancang constraint perusahaan
dalam DBM S. Constraint yang digunakan adalah sebagai berikut :
1. Qty_Pemesanan harus tidak boleh kurang dari angka 0
CONSTRAINT cekqtypengecekan
Check (Qty_Pemesanan >=0)
2. Qty_Jual harus tidak boleh kurang dari angka 0
CONSTRAINT cekqtyjual
Check (Qty_Jual >= 0)
3. Qty_Beli harus tidak boleh kurang dari angka 0
CONSTRAINT cekqtybeli
Check (Qty_Beli >= 0)
4. Kd_M esin harus 9 digit
CONSTRAINT cekkdmesin
Check (Kd_M esin = [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] )
5. Kd_Pelanggan harus dimulai dengan huruf P
CONSTRAINT cekkdpelanggan
Check (Kd_Pelanggan = P[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] )
6. Kd_Karyawan harus dimulai dengan huruf K
CONSTRAINT cekkdkaryawan
Check (Kd_Karyawan = K[0-9] [0-9] [0-9] [0-9] [0-9] )
7. Kd_Pemasok harus dimulai dengan BSA
CONSTRAINT cekkdpemasok
Check (Kd_Pemasok = BSA [0-9] [0-9] [0-9] )
142
8. Kd_Pemesanan harus dimulai dengan huruf C
CONSTRAINT cekkdpengecekan
Check (Kd_Pemesanan = C [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]
[0-9] [0-9] )
9. Kd_Jual harus dimulai dengan huruf J
CONSTRAINT cekkdjual
Check (Kd_Jual = J[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [09] )
10. Kd_Beli harus dimulai dengan huruf B
CONSTRAINT cekkdbeli
Check (Kd_Beli = B[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [09] )
11. Kd_Penerimaan harus dimulai denga huruf R
CONSTRAINT cekkdpenerimaan
Check (Kd_Penerimaan = R[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]
[0-9] [0-9] )
12. Kd_Pengiriman harus dimulai dengan huruf K
CONSTRAINT cekkdpengiriman
Check (Kd_Pengiriman = K[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]
[0-9] [0-9] )
143
3.2.4.2
3.2.4.2.1
Perancangan Representasi Fisikal
Analisa Transaksi
Tabel 3.24 Tabel Analisa Transaksi 1
(A)
Transaksi
Relasi
I R U D I
Barang
X
M esin
X
Pelanggan
X
Karyawan
X
Pemasok
X
Pemesanan
X X X
Penjualan
X
Pembelian
Penerimaan_Barang
Pengiriman_Barang
Detail_Pemesanan
X X X
Detail_Jual
X
Detail_Beli
Telppelg
Faxpelg
Telpkary
Telppemasok
Faxpemasok
I = Insert; R =Read; U = Update; D = Delete
(B)
R U
X
X
X
X
D
I
X
X X
(C)
R U
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
D
(A) Prosedur pemesanan harga barang, karyawan meminta harga barang ke pemasok
(B) Prosedur penjualan, karyawan menjual barang ke pelanggan
(C) Prosedur pembelian, karyawan membeli barang dari pemasok
144
Tabel 3.25 Tabel Analisa Transaksi 2
Transaksi
(A)
Relasi
I R U D I
Barang
X
M esin
X
Pelanggan
X
Karyawan
X
Pemasok
X
Pemesanan
Penjualan
Pembelian
X
Penerimaan_Barang X X X
Pengiriman_Barang
X
Detail_Pengecekan
Detail_Jual
Detail_Beli
X
Telppelg
Faxpelg
Telpkary
Telppemasok
Faxpemasok
I = Insert; R =Read; U = Update; D = Delete
(B)
R U
X
X
X
X
X
D
I
X
X
(C)
R U
X X
X X
D
X
X
X
X
X
X
(A) Prosedur penerimaan barang, karyawan menerima barang yang telah di beli
(B) Prosedur pengiriman barang, karyawan mengirim barang ke pelanggan
(C) Prosedur detail barang
145
Tabel 3.26 Tabel Analisa Transaksi 3
(A)
(B)
Transaksi
Relasi
I R U D I R U
Barang
M esin
Pelanggan
X X X X
Karyawan
X X X
Pemasok
Pengecekan
Penjualan
Pembelian
Penerimaan_Barang
Pengiriman_Barang
Detail_Pengecekan
Detail_Jual
Detail_Beli
Telppelg
X X X X
Faxpelg
X X X X
Telpkary
X X X
Telppemasok
Faxpemasok
I = Insert; R =Read; U = Update; D = Delete
D
I
(C)
R U
D
X
X
X
X
X
X
X
X
X
X
X
X
X
X
(A) Prosedur detail pelanggan
(B) Prosedur detail karyawan
(C) Prosedur detail pemasok
3.2.4.2.2
Penerapan View dan Procedure
View
1. View Barang
CREATE DEFINER = 'root'@'localhost' VIEW `viewbarang`
(
`Kd_Barang`,
146
`Kd_M esin`,
`Kd_pemasok`,
`Nama_Barang`,
`Gambar`,
`Deskripsi`,
`Berat`,
`Tgl_Update`,
`Nama_M esin`
)
AS
(select
`a`.`Kd_Barang` AS `Kd_Barang`,
`a`.`Kd_M esin` AS `Kd_M esin`,
`a`.`Kd_pemasok` AS `Kd_pemasok`,
`a`.`Nama_Barang` AS `Nama_Barang`,
`a`.`Gambar` AS `Gambar`,
`a`.`Deskripsi` AS `Deskripsi`,
`a`.`Berat` AS `Berat`,
`a`.`Tgl_Update` AS `Tgl_Update`,
`b`.`Nama_M esin` AS `Nama_M esin`
from (`bsa`.`barang` `a`
join `bsa`.`mesin` `b` on
(
(`b`.`Kd_M esin` = `a`.`Kd_M esin`)
147
)));
2. View Pemesanan
CREATE DEFINER = 'root'@'localhost' VIEW `viewpemesanan`
(
`Kd_Pemesanan`,
`Kd_Pelanggan`,
`Kd_Karyawan`,
`Nama_Pelanggan`,
`Nama_Perusahaan`,
`Jabatan_Pelanggan`,
`Alamat_Pelanggan`,
`Kdpos_Pelanggan`,
`Kota_Pelanggan`,
`Nama_Karyawan`,
`Jabatan_Karyawan`,
`Tgl_Pemesanan`,
`Tgl_Approve`
)
AS
(select
`a`.`Kd_Pemesanan` AS `Kd_Pemesanan`,
`a`.`Kd_Pelanggan` AS `Kd_Pelanggan`,
`a`.`Kd_Karyawan` AS `Kd_Karyawan`,
148
`b`.`Nama_Pelanggan` AS `Nama_Pelanggan`,
`b`.`Nama_Perusahaan` A S `Nama_Perusahaan`,
`b`.`Jabatan_Pelanggan` AS `Jabatan_Pelanggan`,
`b`.`Alamat_Pelanggan` A S `Alamat_Pelanggan`,
`b`.`Kdpos_Pelanggan` A S `Kdpos_Pelanggan`,
`b`.`Kota_Pelanggan` A S `Kota_Pelanggan`,
`e`.`Nama_Karyawan` AS `Nama_Karyawan`,
`e`.`Jabatan_Karyawan` AS `Jabatan_Karyawan`,
date_format(`a`.`Tgl_Pemesanan`,_utf8'%M %D,%Y') AS
`Tgl_Pemesanan`,
date_format(`a`.`Tgl_Approve`,_utf8'%M %D,%Y') AS `Tgl_Approve`
from ((`bsa`.`pemesanan` `a`
join `bsa`.`pelanggan` `b` on
(
(`b`.`Kd_Pelanggan` = `a`.`Kd_Pelanggan`)
))
join `bsa`.`karyawan` `e` on
(
(`e`.`Kd_Karyawan` = `a`.`Kd_Karyawan`)
))
order by
date_format(`a`.`Tgl_Pemesanan`,_utf8'%M %D,%Y') desc);
149
3. View Penjualan
CREATE DEFINER = 'root'@'localhost' VIEW `viewpenjualan`
(
`Kd_Jual`,
`Kd_Pelanggan`,
`Kd_Karyawan`,
`Nama_Pelanggan`,
`Nama_Perusahaan`,
`Jabatan_Pelanggan`,
`Alamat_Pelanggan`,
`Kdpos_Pelanggan`,
`Kota_Pelanggan`,
`Nama_Karyawan`,
`Jabatan_Karyawan`,
`Tgl_Jual`,
`Kd_Pengiriman`
)
AS
(select
`a`.`Kd_Jual` AS `Kd_Jual`,
`a`.`Kd_Pelanggan` AS `Kd_Pelanggan`,
`a`.`Kd_Karyawan` AS `Kd_Karyawan`,
`b`.`Nama_Pelanggan` AS `Nama_Pelanggan`,
`b`.`Nama_Perusahaan` A S `Nama_Perusahaan`,
150
`b`.`Jabatan_Pelanggan` AS `Jabatan_Pelanggan`,
`b`.`Alamat_Pelanggan` A S `Alamat_Pelanggan`,
`b`.`Kdpos_Pelanggan` A S `Kdpos_Pelanggan`,
`b`.`Kota_Pelanggan` A S `Kota_Pelanggan`,
`e`.`Nama_Karyawan` AS `Nama_Karyawan`,
`e`.`Jabatan_Karyawan` AS `Jabatan_Karyawan`,
date_format(`a`.`Tgl_Jual`,_utf8'%M %D,%Y') AS `Tgl_Jual`,
`c`.`Kd_Pengiriman` A S `Kd_Pengiriman`
from (((`bsa`.`penjualan` `a`
join `bsa`.`pelanggan` `b` on
(
(`b`.`Kd_Pelanggan` = `a`.`Kd_Pelanggan`)
))
left join `bsa`.`pengiriman_barang` `c` on
(
(`c`.`Kd_Jual` = `a`.`Kd_Jual`)
))
join `bsa`.`karyawan` `e` on
(
(`e`.`Kd_Karyawan` = `a`.`Kd_Karyawan`)
)));
4. View Pembelian
CREATE DEFINER = 'root'@'localhost' VIEW `viewpembelian`
151
(
`Kd_Beli`,
`Kd_Pelanggan`,
`Kd_Karyawan`,
`Nama_Pelanggan`,
`Nama_Perusahaan`,
`Jabatan_Pelanggan`,
`Alamat_Pelanggan`,
`Kdpos_Pelanggan`,
`Kota_Pelanggan`,
`Nama_Karyawan`,
`Jabatan_Karyawan`,
`Tgl_Beli`,
`Kd_Penerimaan`
)
AS
(select
`a`.`Kd_Beli` AS `Kd_Beli`,
`a`.`Kd_Pelanggan` AS `Kd_Pelanggan`,
`a`.`Kd_Karyawan` AS `Kd_Karyawan`,
`b`.`Nama_Pelanggan` AS `Nama_Pelanggan`,
`b`.`Nama_Perusahaan` A S `Nama_Perusahaan`,
`b`.`Jabatan_Pelanggan` AS `Jabatan_Pelanggan`,
`b`.`Alamat_Pelanggan` A S `Alamat_Pelanggan`,
152
`b`.`Kdpos_Pelanggan` A S `Kdpos_Pelanggan`,
`b`.`Kota_Pelanggan` A S `Kota_Pelanggan`,
`e`.`Nama_Karyawan` AS `Nama_Karyawan`,
`e`.`Jabatan_Karyawan` AS `Jabatan_Karyawan`,
date_format(`a`.`Tgl_Beli`,_utf8'%M %D,%Y') AS `Tgl_Beli`,
`c`.`Kd_Penerimaan` AS `Kd_Penerimaan`
from (((`bsa`.`pembelian` `a`
join `bsa`.`pelanggan` `b` on
(
(`b`.`Kd_Pelanggan` = `a`.`Kd_Pelanggan`)
))
left join `bsa`.`penerimaan_barang` `c` on
(
(`c`.`Kd_Beli` = `a`.`Kd_Beli`)
))
join `bsa`.`karyawan` `e` on
(
(`e`.`Kd_Karyawan` = `a`.`Kd_Karyawan`)
))
order by
date_format(`a`.`Tgl_Beli`,_utf8'%M %D,%Y') desc);
5. View Penerimaan Barang
CREATE DEFINER = 'root'@'localhost' VIEW
153
`viewpenerimaan_barang`
(
`Kd_Penerimaan`,
`Kd_Beli`,
`Kd_Pelanggan`,
`Kd_Karyawan`,
`Nama_Pelanggan`,
`Nama_Perusahaan`,
`Jabatan_Pelanggan`,
`Alamat_Pelanggan`,
`Kdpos_Pelanggan`,
`Kota_Pelanggan`,
`Nama_Karyawan`,
`Jabatan_Karyawan`,
`Tgl_Kirimpemasok`,
`Tgl_Terimakaryawan`
)
AS
(select
`a`.`Kd_Penerimaan` AS `Kd_Penerimaan`,
`a`.`Kd_Beli` AS `Kd_Beli`,
`b`.`Kd_Pelanggan` AS `Kd_Pelanggan`,
`b`.`Kd_Karyawan` AS `Kd_Karyawan`,
`c`.`Nama_Pelanggan` AS `Nama_Pelanggan`,
154
`c`.`Nama_Perusahaan` AS `Nama_Perusahaan`,
`c`.`Jabatan_Pelanggan` A S `Jabatan_Pelanggan`,
`c`.`Alamat_Pelanggan` AS `Alamat_Pelanggan`,
`c`.`Kdpos_Pelanggan` AS `Kdpos_Pelanggan`,
`c`.`Kota_Pelanggan` AS `Kota_Pelanggan`,
`f`.`Nama_Karyawan` AS `Nama_Karyawan`,
`f`.`Jabatan_Karyawan` AS `Jabatan_Karyawan`,
date_format(`a`.`Tgl_Kirimpemasok`,_utf8'%M %D,%Y') AS
`Tgl_Kirimpemasok`,
date_format(`a`.`Tgl_Terimakaryawan`,_utf8'%M %D,%Y') AS
`Tgl_Terimakaryawan`
from (((`bsa`.`penerimaan_barang` `a`
join `bsa`.`pembelian` `b` on
(
(`b`.`Kd_Beli` = `a`.`Kd_Beli`)
))
join `bsa`.`pelanggan` `c` on
(
(`c`.`Kd_Pelanggan` = `b`.`Kd_Pelanggan`)
))
join `bsa`.`karyawan` `f` on
(
(`f`.`Kd_Karyawan` = `b`.`Kd_Karyawan`)
)));
155
6. View Pengiriman Barang
CREATE DEFINER = 'root'@'localhost' VIEW `viewpengiriman_barang`
(
`Kd_Pengiriman`,
`Kd_Jual`,
`Kd_Pelanggan`,
`Kd_Karyawan`,
`Nama_Pelanggan`,
`Nama_Perusahaan`,
`Jabatan_Pelanggan`,
`Alamat_Pelanggan`,
`Kdpos_Pelanggan`,
`Kota_Pelanggan`,
`Nama_Karyawan`,
`Jabatan_Karyawan`,
`Tgl_Kirimkaryawan`,
`Tgl_Terimapelanggan`
)
AS
(select
`a`.`Kd_Pengiriman` A S `Kd_Pengiriman`,
`a`.`Kd_Jual` AS `Kd_Jual`,
`b`.`Kd_Pelanggan` AS `Kd_Pelanggan`,
`b`.`Kd_Karyawan` AS `Kd_Karyawan`,
156
`c`.`Nama_Pelanggan` AS `Nama_Pelanggan`,
`c`.`Nama_Perusahaan` AS `Nama_Perusahaan`,
`c`.`Jabatan_Pelanggan` A S `Jabatan_Pelanggan`,
`c`.`Alamat_Pelanggan` AS `Alamat_Pelanggan`,
`c`.`Kdpos_Pelanggan` AS `Kdpos_Pelanggan`,
`c`.`Kota_Pelanggan` AS `Kota_Pelanggan`,
`f`.`Nama_Karyawan` AS `Nama_Karyawan`,
`f`.`Jabatan_Karyawan` AS `Jabatan_Karyawan`,
date_format(`a`.`Tgl_Kirimkaryawan`,_utf8'%M %D,%Y') AS
`Tgl_Kirimkaryawan`,
date_format(`a`.`Tgl_terimapelanggan`,_utf8'%M %D,%Y') AS
`Tgl_Terimapelanggan`
from (((`bsa`.`pengiriman_barang` `a`
join `bsa`.`penjualan` `b` on
(
(`b`.`Kd_Jual` = `a`.`Kd_Jual`)
))
join `bsa`.`pelanggan` `c` on
(
(`c`.`Kd_Pelanggan` = `b`.`Kd_Pelanggan`)
))
join `bsa`.`karyawan` `f` on
(
(`f`.`Kd_Karyawan` = `b`.`Kd_Karyawan`)
157
)));
7. View Detail Pemesanan
CREATE DEFINER = 'root'@'localhost' VIEW `viewdetailpemesanan`
(
`Kd_Pemesanan`,
`Kd_Barang`,
`Qty_Pemesanan`,
`Nama_Barang`,
`Berat`,
`Kd_M esin`,
`Nama_M esin`,
`Harga_Beli`,
`Harga_Jual`
)
AS
(select
`a`.`Kd_Pemesanan` AS `Kd_Pemesanan`,
`a`.`Kd_Barang` AS `Kd_Barang`,
`a`.`Qty_Pemesanan` AS `Qty_Pemesanan`,
`b`.`Nama_Barang` A S `Nama_Barang`,
`b`.`Berat` AS `Berat`,
`b`.`Kd_M esin` AS `Kd_M esin`,
`c`.`Nama_M esin` AS `Nama_M esin`,
158
`a`.`Harga_Beli` AS `Harga_Beli`,
`a`.`Harga_Jual` AS `Harga_Jual`
from ((`bsa`.`detail_pemesanan` `a`
join `bsa`.`barang` `b` on
(
(`b`.`Kd_Barang` = `a`.`Kd_Barang`)
))
join `bsa`.`mesin` `c` on
(
(`c`.`Kd_M esin` = `b`.`Kd_M esin`)
)));
8. View Detail Penjualan
CREATE DEFINER = 'root'@'localhost' VIEW `viewdetailjual`
(
`Kd_Jual`,
`Kd_Barang`,
`Harga_Jual`,
`Qty_Jual`,
`Nama_Barang`,
`Kd_M esin`,
`Nama_M esin`,
`Berat`
)
159
AS
(select
`a`.`Kd_Jual` AS `Kd_Jual`,
`a`.`Kd_Barang` AS `Kd_Barang`,
`a`.`Harga_Jual` AS `Harga_Jual`,
`a`.`Qty_Jual` AS `Qty_Jual`,
`b`.`Nama_Barang` A S `Nama_Barang`,
`b`.`Kd_M esin` AS `Kd_M esin`,
`c`.`Nama_M esin` AS `Nama_M esin`,
`b`.`Berat` AS `Berat`
from ((`bsa`.`detail_jual` `a`
join `bsa`.`barang` `b` on
(
(`b`.`Kd_Barang` = `a`.`Kd_Barang`)
))
join `bsa`.`mesin` `c` on
(
(`c`.`Kd_M esin` = `b`.`Kd_M esin`)
)));
9. View Detail Pembelian
CREATE DEFINER = 'root'@'localhost' VIEW `viewdetailbeli`
(
`Kd_Beli`,
160
`Kd_Barang`,
`Harga_Beli`,
`Qty_Beli`,
`Nama_Barang`,
`Kd_M esin`,
`Nama_M esin`,
`Berat`
)
AS
(select
`a`.`Kd_Beli` AS `Kd_Beli`,
`a`.`Kd_Barang` AS `Kd_Barang`,
`a`.`Harga_Beli` AS `Harga_Beli`,
`a`.`Qty_Beli` AS `Qty_Beli`,
`b`.`Nama_Barang` A S `Nama_Barang`,
`b`.`Kd_M esin` AS `Kd_M esin`,
`c`.`Nama_M esin` AS `Nama_M esin`,
`b`.`Berat` AS `Berat`
from ((`bsa`.`detail_beli` `a`
join `bsa`.`barang` `b` on
(
(`b`.`Kd_Barang` = `a`.`Kd_Barang`)
))
join `bsa`.`mesin` `c` on
161
(
(`c`.`Kd_M esin` = `b`.`Kd_M esin`)
)));
Procedure
1. Procedure Insert Barang
CREATE PROCEDURE `insertbarang`
(
IN `kb`
char(10),
IN `km`
char(9),
IN `kp`
char(6),
IN `nb`
varchar(20),
IN `gambar` varchar(20),
IN `d`
varchar(50),
IN `berat` decimal(10,4)
)
BEGIN
INSERT INTO barang VALUES (kb,km,kp,nb,gambar,d,berat,NOW());
END
2. Procedure Insert Pelanggan
CREATE PROCEDURE `insertpelanggan`
(
IN `user` varchar(20),
162
IN `np`
varchar(20),
IN `npu`
varchar(50),
IN `jp`
varchar(20),
IN `ap`
varchar(50),
IN `kdpos` char(5),
IN `kp`
varchar(20),
IN `ep`
varchar(20),
IN `pass` varchar(20)
)
BEGIN
DECLARE x char(8);
DECLARE y int;
select cast(RIGHT(Kd_Pelanggan,5) as UNSIGNED) from Pelanggan
order by Kd_Pelanggan Desc limit 1 into y;
IF y < 9 THEN SET X = CONCAT( 'P', '000000', y+1);
ELSEIF y < 99 THEN SET X = CONCAT( 'P', '00000', y+1);
ELSEIF y < 999 THEN SET X = CONCAT( 'P', '0000', y+1);
ELSEIF y < 9999 THEN SET X = CONCAT( 'P','000', y+1);
ELSE SET x = 'P0000001';
END IF;
INSERT INTO pelanggan VALUES
(x,user,np,npu,jp,ap,kdpos,kp,ep,pass);
END
163
3. Procedure Insert Telepon Pelanggan
CREATE PROCEDURE `inserttelppelg`
(
IN `kp`
char(8),
IN `telp` varchar(20)
)
BEGIN
insert into telppelg values(kp,telp);
END
4. Procedure Insert Fax Pelanggan
CREATE PROCEDURE `insertfaxpelg`
(
IN `kp` char(8),
IN `fax` varchar(20)
)
BEGIN
insert into faxpelg values(kp,fax);
END
5. Procedure Insert Pemesanan
CREATE PROCEDURE `insertpemesanan`
(
IN `kpel` char(8),
164
IN `kk`
char(6)
)
BEGIN
DECLARE x char(11);
DECLARE y int;
select cast(RIGHT(Kd_Pemesanan,10) as UNSIGNED) from Pemesanan
order by Kd_Pemesanan Desc limit 1 into y;
IF y < 9 THEN SET X = CONCAT( 'C', '000000000', y+1);
ELSEIF y < 99 THEN SET X = CONCAT( 'C', '00000000', y+1);
ELSEIF y < 999 THEN SET X = CONCAT( 'C', '0000000', y+1);
ELSEIF y < 9999 THEN SET X = CONCAT( 'C', '000000', y+1);
ELSEIF y < 99999 THEN SET X = CONCAT( 'C','00000', y+1);
ELSEIF y < 999999 THEN SET X = CONCAT( 'C','0000', y+1);
ELSEIF y < 9999999 THEN SET X = CONCAT( 'C','000', y+1);
ELSE SET x = 'C0000000001';
END IF;
INSERT INTO pemesanan VALUES (x ,kpel,kk,NULL,NULL);
END
6. Procedure Insert Penjualan
CREATE PROCEDURE `insertpenjualan`
(
IN `kd`
char(11),
IN `kpel` char(8),
165
IN `kk`
char(6)
)
BEGIN
DECLARE x char(11);
DECLARE y char(11);
select RIGHT(kd,10) as `kode` into y;
SET x = CONCAT( 'J', y);
INSERT INTO penjualan VALUES (x ,kpel,kk,NOW());
END
7. Procedure Insert Pembelian
CREATE PROCEDURE `insertpembelian`
(
IN `kd`
char(11),
IN `kpel` char(8),
IN `kk`
char(6)
)
BEGIN
DECLARE x char(11);
DECLARE y char(11);
select RIGHT(kd,10) as `kode` into y;
SET x = CONCAT( 'B', y);
INSERT INTO pembelian VALUES (x,kpel,kk,NOW());
END
166
8. Procedure Insert Penerimaan Barang
CREATE PROCEDURE `insertpenerimaan`
(
IN `kb` char(11)
)
BEGIN
DECLARE x char(11);
DECLARE y char(11);
select RIGHT(kb,10) as `kode` into y;
SET x = CONCAT( 'R', y);
INSERT INTO penerimaan_barang VALUES (x ,kb,NOW(),NULL);
END
9. Procedure Insert Pengiriman Barang
CREATE PROCEDURE `insertpengiriman`
(
IN `kj` char(11)
)
BEGIN
DECLARE x char(11);
DECLARE y char(11);
select RIGHT(kj,10) as `kode` into y;
SET x = CONCAT( 'S', y);
INSERT INTO pengiriman_barang VALUES (x ,kj,NOW(),NULL);
167
END
10. Procedure Insert Detail Pemesanan
CREATE PROCEDURE `insertdetailpemesanan`
(
IN `kp` char(11),
IN `kb` char(10),
IN `hb` int,
IN `hj` int,
IN `qty` int
)
BEGIN
IF qty > 0 THEN
insert into detail_pemesanan values(kp,kb,hb,hj,qty);
END IF;
END
11. Procedure Insert Detail Penjualan
CREATE PROCEDURE `insertdetailjual`
(
IN `kp`
char(11),
IN `kb`
char(10),
IN `harga` int,
IN `qty`
int
168
)
BEGIN
IF qty > 0 THEN
insert into detail_jual values(kp,kb,harga,qty);
END IF;
END
12. Procedure Insert Detail Pembelian
CREATE PROCEDURE `insertdetailbeli`
(
IN `kp`
char(11),
IN `kb`
char(10),
IN `harga` int,
IN `qty`
int
)
BEGIN
IF qty > 0 THEN
insert into detail_beli values(kp,kb,harga,qty);
END IF;
END
13. Procedure Update Barang
CREATE PROCEDURE `updatebarang`
(
169
IN `kb`
char(10),
IN `kbl`
char(10),
IN `km`
char(9),
IN `nb`
varchar(20),
IN `gambar` varchar(20),
IN `d`
varchar(50),
IN `berat` decimal(10,4)
)
BEGIN
UPDATE `barang` SET `Kd_Barang` = kb,
`Kd_M esin` = km,
`Nama_Barang` = nb,
`Gambar` = gambar,
`Deskripsi` = d,
`Berat` = berat,
`Tgl_Update` = NOW( ) WHERE `barang`.`Kd_Barang` = kbl LIM IT 1
;
END
14. Procedure Update Pelanggan
CREATE PROCEDURE `updatepelanggan`
(
IN `kd`
char(8),
IN `jp`
varchar(20),
170
IN `ap`
varchar(50),
IN `kdpos` char(5),
IN `kp`
varchar(20),
IN `ep`
varchar(20),
IN `pass` varchar(20)
)
BEGIN
UPDATE `bsa`.`pelanggan` SET `Jabatan_Pelanggan` = jp,
`Alamat_Pelanggan` = ap,
`Kdpos_Pelanggan` = kdpos,
`Kota_Pelanggan` = kp,
`Email_Pelanggan` = ep,
`PasswordP` = pass
WHERE Kd_Pelanggan = kd LIM IT 1 ;
END
15. Procedure Update Qty Pemesanan
CREATE PROCEDURE `updateqtypemesanan`
(
IN `Kd` char(11),
IN `Kb` char(10),
IN `qty` int
)
BEGIN
171
IF qty > 0 THEN
UPDATE detail_pemesanan SET `Qty_Pemesanan` = qty
WHERE Kd_Pemesanan = Kd AND Kd_Barang = Kb LIM IT 1 ;
END IF;
END
16. Procedure Update Harga Beli Detail Pemesanan
CREATE PROCEDURE `updatedetailhargabeli`
(
IN `kp` char(11),
IN `kb` char(10),
IN `hb` int
)
BEGIN
UPDATE `bsa`.`detail_pemesanan` SET `Harga_Beli` = hb
WHERE `detail_pemesanan`.`Kd_Pemesanan` = kp AND
`detail_pemesanan`.`Kd_Barang` = kb LIM IT 1 ;
END
17. Procedure Update Harga Jual Detail Pemesanan
CREATE PROCEDURE `updatedetailhargajual`
(
IN `kp` char(11),
IN `kb` char(10),
172
IN `hj` int
)
BEGIN
UPDATE `bsa`.`detail_pemesanan` SET `Harga_Jual` = hj
WHERE `detail_pemesanan`.`Kd_Pemesanan` = kp AND
`detail_pemesanan`.`Kd_Barang` = kb LIM IT 1 ;
END
18. Procedure Update Tgl Pemesanan
CREATE PROCEDURE `updatetglpemesanan`
(
IN `Kd` char(11)
)
BEGIN
UPDATE pemesanan SET `Tgl_Pemesanan` = NOW()
WHERE Kd_Pemesanan = Kd;
END
19. Procedure Update Tgl Approve
CREATE PROCEDURE `updatetglapp`
(
IN `Kd` char(11)
)
BEGIN
173
UPDATE pemesanan SET `Tgl_Approve` = NOW()
WHERE Kd_Pemesanan = Kd;
END
20. Procedure Update Tanggal Terima Karyawan
CREATE PROCEDURE `updatetglterimakaryawan`
(
IN `kd` char(11)
)
BEGIN
UPDATE penerimaan_Barang SET Tgl_Terimakaryawan = NOW( )
WHERE Kd_Penerimaan = kd LIM IT 1 ;
END
21. Procedure Update Tanggal Terima Pelanggan
CREATE PROCEDURE `updatetglterimapelanggan`
(
IN `kd` char(11)
)
BEGIN
UPDATE pengiriman_barang SET Tgl_Terimapelanggan = NOW( )
WHERE Kd_Pengiriman = kd LIM IT 1 ;
END
174
22. Procedure Hapus Telepon Pelanggan
CREATE PROCEDURE `hapustelppelg`
(
IN `Kd`
char(8),
IN `telp` varchar(20)
)
BEGIN
DELETE FROM telppelg
WHERE Kd_Pelanggan = Kd AND Telepon_Pelanggan = telp ;
END
23. Procedure Hapus Fax Pelanggan
CREATE PROCEDURE `hapusfaxpelg`
(
IN `Kd` char(8),
IN `fax` varchar(20)
)
BEGIN
DELETE FROM faxpelg
WHERE Kd_Pelanggan = Kd AND Fax_Pelanggan = fax LIM IT 1 ;
END
24. Procedure Hapus Pemesanan
CREATE PROCEDURE `hapuspemesanan`
175
(
IN `Kd` char(11)
)
BEGIN
DELETE FROM detail_pemesanan WHERE Kd_Pemesanan = Kd;
DELETE FROM pemesanan WHERE Kd_Pemesanan = Kd;
END
25. Procedure Hapus Detail Pemesanan
CREATE PROCEDURE `hapusdetailpemesanan`
(
IN `Kd` char(11),
IN `Kb` char(10)
)
BEGIN
DELETE FROM detail_pemesanan
WHERE Kd_Pemesanan = kd AND Kd_Barang = kb LIM IT 1;
END
176
3.2.4.2.3
Pemilihan Index
Tabel 3.27 Tabel Pemilihan Index dan Cluster/Non-Cluster
Deskripsi
Indeks
Barang
Kd_Barang
PK_Barang
Cluster
Kd_M esin
barang_ibfk1
Non-Cluster
Tgl_Update
barang_ibfk2
Non-Cluster
Karyawan
Kd_Karyawan
PK_Karyawan
Cluster
UserIDK
Userkaryawan
Non-Cluster
Pelanggan
Kd_Pelanggan
PK_Pelanggan
Cluster
UserIDP
Userpelanggan
Non-Cluster
Pemasok
Kd_Pemasok
PK_Pemasok
Cluster
UserIDS
Userpemasok
Non-Cluster
M esin
Kd_M esin
PK_M esin
Cluster
Pemesanan
Kd_Pemesanan
PK_Pemesanan
Cluster
Kd_Pelanggan
pengecekan_ibfk_1
Non-Cluster
Kd_Karyawan
pengecekan_ibfk_2
Non-Cluster
Tgl_Pemesanan
pengecekan_in_3
Non-Cluster
Penjualan
Kd_Jual
PK_Penjualan
Cluster
Kd_Pelanggan
penjualan_ibfk_1
Non-Cluster
Kd_Karyawan
penjualan_ibfk_2
Non-Cluster
Tgl_Jual
penjualan_ibfk_3
Non-Cluster
Pembelian
Kd_Beli
PK_Pembelian
Cluster
Kd_Pelanggan
pembelian_ibfk_1
Non-Cluster
Kd_Karyawan
pembelian_ibfk_2
Non-Cluster
Tgl_Beli
pembelian_in_3
Non-Cluster
Penerimaan_Barang Kd_Penerimaan
PK_Penerimaan_Barang
Cluster
Kd_Beli
penerimaan_barang_ibfk_1 Non-Cluster
Tgl_Kirimpemasok
penerimaan_barang_in_2
Non-Cluster
Tgl_Terimakaryawan penerimaan_barang_in_3
Non-Cluster
Pengiriman_Barang Kd_Pengiriman
PK_Pengiriman_Barang
Cluster
Kd_Jual
pengiriman_barang_ibfk_1 Non-Cluster
Tgl_Kirimkaryawan
pengiriman_barang_in_2
Non-Cluster
Tgl_Terimapelanggan pengiriman_barang_in_3
Non-Cluster
Detail_Pemesanan
PK_Detail_Pengecekan
Kd_Pemesanan
Cluster
Kd_Barang
Non-Cluster
Nama Entiti
Indeks Key
Nama Indeks
177
Nama Entiti
Indeks Key
Nama Indeks
Detail_Beli
Kd_Beli
Kd_Barang
Kd_Jual
Kd_Barang
Telepon_Pelanggan
Fax_Pelanggan
Telepon_Karyawan
Telepon_Pemasok
Fax_Pemasok
PK_Detail_Beli
Detail_Jual
Telppelg
Faxpelg
Telpkary
Telppemasok
Faxpemasok
3.2.4.2.4
PK_Detail_Jual
PK_Telppelg
PK_Faxpelg
PK_Telpkary
PK_Telppemasok
PK_FaxPemasok
Deskripsi
Indeks
Cluster
Non-Cluster
Cluster
Non-Cluster
Cluster
Cluster
Cluster
Cluster
Cluster
Estimasi Kebutuhan Media Penyimpanan
Perkiraan kebutuhan ini dilakukan dengan menghitung besar kapasitas
media penyimpanan yang terpakai untuk setiap tabel/entiti dengan atributatribut yang ada di dalamnya dan tipe data yang digunakan adalah :
Barang
Tabel 3.28 Estimasi Ukuran Entitas Barang
Tabel/Entity
Barang
Atribut
Kd_Barang
Kd_M esin
Kd_Pemasok
Nama_Barang
Gambar
Deskripsi
Berat
Tgl_Update
Tipedata
Ukuran(Byte)
Char
10
Char
9
Char
6
Varchar
20
Varchar
20
Varchar
50
Decimal
8
Datetime
8
Jumlah
131
178
Mesin
Tabel 3.29 Estimasi Ukuran Entitas Mesin
Tabel/Entity
M esin
Atribut
Kd_M esin
Nama_M esin
Tipedata
Ukuran(Byte)
Char
9
Varchar
20
Jumlah
29
Pelanggan
Tabel 3.30 Estimasi Ukuran Entitas Pelanggan
Tabel/Entity
Pelanggan
Atribut
Kd_Pelanggan
UserIDP
Nama_Pelanggan
Nama_Perusahaan
Jabatan_Pelanggan
Alamat_Pelanggan
Kdpos_Pelanggan
Kota_Pelanggan
email_Pelanggan
PasswordP
Tipedata
Ukuran(Byte)
Char
8
Varchar
20
Varchar
20
Varchar
50
Varchar
20
Varchar
50
Char
5
Varchar
20
Varchar
20
Varchar
20
Jumlah
233
Karyawan
Tabel 3.31 Estimasi Ukuran Entitas Karyawan
Tabel/Entity
Karyawan
Atribut
Kd_Karyawan
UserIDK
Nama_Karyawan
Jabatan_Karyawan
Alamat_Karyawan
email_Karyawan
Kota_Karyawan
PasswordK
Tipedata
Ukuran(Byte)
Char
6
Varchar
20
Varchar
20
Varchar
20
Varchar
50
Varchar
20
Varchar
20
Varchar
20
Jumlah
176
179
Pemasok
Tabel 3.32 Estimasi Ukuran Entitas Pemasok
Tabel/Entity
Pemasok
Atribut
Kd_Pemasok
UserIDS
Nama_Pemasok
Alamat_Pemasok
Email_Pemasok
Website
PasswordS
Tipedata
Ukuran(Byte)
Char
6
Varchar
20
Varchar
20
Varchar
50
Varchar
20
Varchar
20
Varchar
20
Jumlah
156
Pemesanan
Tabel 3.33 Estimasi Ukuran Entitas Pemesanan
Tabel/Entity
Pengecekan
Atribut
Kd_Pemesanan
Kd_Pelanggan
Kd_Karyawan
Tgl_Pemesanan
Tgl_Approve
Tipedata
Ukuran(Byte)
Char
11
Char
8
Char
6
Datetime
8
Datetime
8
Jumlah
41
Penjualan
Tabel 3.34 Estimasi Ukuran Entitas Penjualan
Tabel/Entity
Penjualan
Atribut
Kd_Jual
Kd_Pelanggan
Kd_Karyawan
Tgl_Jual
Tipedata
Ukuran(Byte)
Char
11
Char
8
Char
6
Datetime
8
Jumlah
33
180
Pembelian
Tabel 3.35 Estimasi Ukuran Entitas Pembelian
Tabel/Entity
Pembelian
Atribut
Kd_Beli
Kd_Pelanggan
Kd_Karyawan
Kd_Pemasok
Tgl_Beli
Tipedata
Ukuran(Byte)
Char
11
Char
8
Char
6
Char
6
Datetime
8
Jumlah
39
Penerimaan_Barang
Tabel 3.36 Estimasi Ukuran Entitas Penerimaan_Barang
Tabel/Entity
Atribut
Penerimaan_Barang Kd_Penerimaan
Kd_Beli
Tgl_Kirimpemasok
Tgl_Terimakaryawan
Tipedata
Ukuran(Byte)
Char
11
Char
11
Datetime
8
Datetime
8
Jumlah
38
Pengiriman_Barang
Tabel 3.37 Estimasi Ukuran Entitas Pengiriman_Barang
Tabel/Entity
Atribut
Pengiriman_Barang Kd_Pengiriman
Kd_Jual
Tgl_Kirimkaryawan
Tgl_Terimapelanggan
Tipedata
Ukuran(Byte)
Char
11
Char
11
Datetime
8
Datetime
8
Jumlah
38
Detail_Pemesanan
Tabel 3.38 Estimasi Ukuran Entitas Detail_Pemesanan
Tabel/Entity
Atribut
Detail_Pengecekan Kd_Pemesanan
Kd_Barang
Qty_Pemesanan
Harga_Jual
Harga_Beli
Tipedata
Ukuran(Byte)
Char
11
Char
10
Int
4
Int
4
Int
4
Jumlah
33
181
Detail_Jual
Tabel 3.39 Estimasi Ukuran Entitas Detail_Jual
Tabel/Entity
Detail_Jual
Atribut
Kd_Jual
Kd_Barang
Qty_Jual
Harga_Jual
Tipedata
Ukuran(Byte)
Char
11
Char
10
Int
4
Int
4
Jumlah
29
Detail_Beli
Tabel 3.40 Estimasi Ukuran Entitas Detail_Beli
Tabel/Entity
Detail_Beli
Atribut
Kd_Beli
Kd_Barang
Qty_Beli
Harga_Beli
Tipedata
Ukuran(Byte)
Char
11
Char
10
Int
4
Int
4
Jumlah
29
Telppelg
Tabel 3.41 Estimasi Ukuran Entitas Telppelg
Tabel/Entity
Telppelg
Atribut
Kd_Pelanggan
Telepon_Pelanggan
Tipedata
Ukuran(Byte)
Char
8
Varchar
20
Jumlah
28
Faxpelg
Tabel 3.42 Estimasi Ukuran Entitas Faxpelg
Tabel/Entity
Faxpelg
Atribut
Kd_Pelanggan
Fax_Pelanggan
Tipedata
Ukuran(Byte)
Char
8
Varchar
20
Jumlah
28
182
Telpkary
Tabel 3.43 Estimasi Ukuran Entitas Telpkary
Tabel/Entity
Telpkary
Atribut
Kd_Karyawan
Telepon_Karyawan
Tipedata
Ukuran(Byte)
Char
6
Varchar
20
Jumlah
26
Telppemasok
Tabel 3.44 Estimasi Ukuran Entitas Telppemasok
Tabel/Entity
Telppemasok
Atribut
Kd_Pemasok
Telepon_Pemasok
Tipedata
Ukuran(Byte)
Char
6
Varchar
20
Jumlah
26
Faxpemasok
Tabel 3.45 Estimasi Ukuran Entitas Faxpemasok
Tabel/Entity
Faxpemasok
Atribut
Kd_Pemasok
Fax_Pemasok
Tipedata
Ukuran(Byte)
Char
6
Varchar
20
Jumlah
26
Dari tabel di atas telah didapat jumlah ukuran satu record dari masingmasing tabel, maka dapat diperkirakan besar ukuran record yang digunakan
untuk transaksi yang dilakukan setiap harinya (ukuran record per hari) adalah
seperti tabel di bawah ini.
Tabel 3.46 Tabel Estimasi Total Ukuran Entitas Perhari
Tabel/Entiti
Barang
M esin
Pelanggan
Karyawan
Ukuran 1 Record
(Byte)
131
29
233
176
Estimasi Jumlah
Ukuran Perhari
3
2
1
1
Ukuran record
Perhari (Byte)
393
58
233
176
183
Tabel/Entiti
Ukuran 1 Record Estimasi Jumlah Ukuran record
(Byte)
Ukuran Perhari
Perhari (Byte)
Pemasok
156
1
156
Pemesanan
41
1
41
Penjualan
33
1
33
Pembelian
39
1
39
Penerimaan_Barang
38
1
38
Pengiriman_Barang
38
1
38
Detail_Pemesanan
33
1
33
Detail_Jual
29
1
29
Detail_Beli
29
1
29
Telppelg
28
1
28
Faxpelg
28
1
28
Telpkary
26
1
26
Telppemasok
26
1
26
Faxpemasok
26
1
26
T OT A L
1430
Perkiraan kebutuhan kapasitas disk untuk transaksi sebesar Byte/hari
untuk 1 minggunya adalah :
1430 x 5 = 7150 Byte
Perkiraan kebutuhan kapasitas disk untuk transaksi sebesar Byte/hari
untuk 1 tahunnya adalah :
7150 x 52 = 371800 Byte = 363.09 KB = 0.354 MB
184
3.2.4.3
Perancangan Mekanisme Pengamanan Data
Basis Data merupakan informasi yang penting perusahaan dan bersifat
rahasia. Untuk itu, basis data tidak dapat diakses oleh sembarang orang. Jadi
setiap user dibatasi hak-nya untuk mengakses data tersebut.
Tabel 3.47 Tabel Mekanisme Keamanan
User
Entitas
S ystem
Admin
Customer
Direktur
Adminitra
si
Supplier
Barang
IRUD
R
R
IRUD
IRUD
M esin
IRUD
R
R
IRUD
IRUD
Pelanggan
IRUD
IRUD
R
R
-
Karyawan
IRUD
R
IRUD
IRUD
R
Pemasok
IRUD
-
R
R
IRUD
Pemesanan
IRUD
IRUD
R
IRUD
IRUD
Penjualan
IRUD
IRUD
R
IRUD
-
Pembelian
IRUD
-
R
IRUD
IRUD
Penerimaan_Barang
IRUD
-
R
R
IRUD
Pengiriman_Barang
IRUD
R
R
IRUD
-
Detail_Pemesanan
IRUD
IRUD
R
IRUD
IRUD
Detail_Jual
IRUD
IRUD
R
IRUD
-
Detail_Beli
IRUD
-
R
IRUD
IRUD
Telppelg
IRUD
IRUD
R
R
-
Faxpelg
IRUD
IRUD
R
R
-
Telpkary
IRUD
R
IRUD
IRUD
R
Telppemasok
IRUD
-
R
R
IRUD
Faxpemasok
IRUD
-
R
R
IRUD
Berikut adalah perancangan mekanisme keamanan yang meliputi
pembuatan user dengan syntax SQL untuk memberikan pengaksesan data
sesuai dengan jabatan, sebagai berikut :
185
•
Membuat User
CREATE USER 'SystemAdmin'@'localhost';
GRANT USAGE ON *.*
TO 'SystemAdmin'@'localhost'
IDENTIFIED BY 'adm01';
CREATE USER 'Supplier'@'localhost';
GRANT USAGE ON *.*
TO 'Supplier'@'localhost'
IDENTIFIED BY 'sup';
CREATE USER 'Direktur'@'localhost';
GRANT USAGE ON *.*
TO 'Direktur'@'localhost'
IDENTIFIED BY 'dir';
CREATE USER 'Customer'@'localhost';
GRANT USAGE ON *.*
TO 'Customer'@'localhost'
IDENTIFIED BY 'cust';
CREATE USER 'Administrasi'@'localhost';
GRANT USAGE ON *.*
TO 'Administrasi'@'localhost'
186
IDENTIFIED BY 'afg';
•
Pemberian Hak Akses
Tabel Barang
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `barang`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `barang`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `barang`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `barang`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `barang`
187
TO 'SystemAdmin'@'localhost';
Tabel Mesin
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `mesin`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `mesin`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `mesin`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `mesin`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `mesin`
TO 'SystemAdmin'@'localhost';
188
Tabel Pelanggan
GRANT SELECT, SHOW VIEW
ON TABLE `pelanggan`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pelanggan`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `pelanggan`
TO 'Direktur'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `pelanggan`
TO 'SystemAdmin'@'localhost';
Tabel Karyawan
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `karyawan`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
189
ON TABLE `karyawan`
TO 'Customer'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `karyawan`
TO 'Direktur'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `karyawan`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `karyawan`
TO 'SystemAdmin'@'localhost';
Tabel Pemasok
GRANT SELECT, SHOW VIEW
ON TABLE `pemasok`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `pemasok`
TO 'Direktur'@'localhost';
190
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pemasok`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `pemasok`
TO 'SystemAdmin'@'localhost';
Tabel Pemesanan
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pemesanan`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pemesanan`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `pemesanan`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pemesanan`
191
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `pemesanan`
TO 'SystemAdmin'@'localhost';
Tabel Penjualan
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `penjualan`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `penjualan`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `penjualan`
TO 'Direktur'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `penjualan`
TO 'SystemAdmin'@'localhost';
192
Tabel Pembelian
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pembelian`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `pembelian`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pembelian`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `pembelian`
TO 'SystemAdmin'@'localhost';
Tabel Penerimaan_Barang
GRANT SELECT, SHOW VIEW
ON TABLE `penerimaan_barang`
TO 'Administrasi'@'localhost';
193
GRANT SELECT, SHOW VIEW
ON TABLE `penerimaan_barang`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `penerimaan_barang`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `penerimaan_barang`
TO 'SystemAdmin'@'localhost';
Tabel Pengiriman_Barang
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `pengiriman_barang`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `pengiriman_barang`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `pengiriman_barang`
194
TO 'Direktur'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `pengiriman_barang`
TO 'SystemAdmin'@'localhost';
Tabel Detail_Pemesanan
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `detail_pemesanan`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `detail_pemesanan`
TO 'Customer'@'localhost';
GRANT SELECT
ON TABLE `detail_pemesanan`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `detail_pemesanan`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
195
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `detail_pemesanan`
TO 'SystemAdmin'@'localhost';
Tabel Detail_Jual
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `detail_jual`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `detail_jual`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `detail_jual`
TO 'Direktur'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `detail_jual`
TO 'SystemAdmin'@'localhost';
Tabel Detail_Beli
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
196
ON TABLE `detail_beli`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `detail_beli`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `detail_beli`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `detail_beli`
TO 'SystemAdmin'@'localhost';
Tabel Telppelg
GRANT SELECT, SHOW VIEW
ON TABLE `telppelg`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `telppelg`
TO 'Customer'@'localhost';
197
GRANT SELECT, SHOW VIEW
ON TABLE `telppelg`
TO 'Direktur'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `telppelg`
TO 'SystemAdmin'@'localhost';
Tabel Faxpelg
GRANT SELECT, SHOW VIEW
ON TABLE `faxpelg`
TO 'Administrasi'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `faxpelg`
TO 'Customer'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `faxpelg`
TO 'Direktur'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
198
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `faxpelg`
TO 'SystemAdmin'@'localhost';
Tabel Telpkary
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `telpkary`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `telpkary`
TO 'Customer'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `telpkary`
TO 'Direktur'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `telpkary`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `telpkary`
199
TO 'SystemAdmin'@'localhost';
Tabel Telppemasok
GRANT SELECT, SHOW VIEW
ON TABLE `telppemasok`
TO 'Administrasi'@'localhost';
GRANT SELECT, SHOW VIEW
ON TABLE `telppemasok`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `telppemasok`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `telppemasok`
TO 'SystemAdmin'@'localhost';
Tabel Faxpemasok
GRANT SELECT, SHOW VIEW
ON TABLE `faxpemasok`
TO 'Administrasi'@'localhost';
200
GRANT SELECT, SHOW VIEW
ON TABLE `faxpemasok`
TO 'Direktur'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, SHOW VIEW
ON TABLE `faxpemasok`
TO 'Supplier'@'localhost';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP,
GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW
ON TABLE `faxpemasok`
TO 'SystemAdmin'@'localhost';
201
3.2.5
3.2.5.1
Perancangan Program Aplikasi
S truktur Menu
Gambar 3.19 S truktur Menu
202
3.2.5.2
S TD
Gambar 3.20 S TD Menu Utama
Gambar 3.21 S TD Registrasi Pelanggan
203
Gambar 3.22 S TD Produk
Gambar 3.23 S TD Halaman About us
204
Halaman Home
Login Invalid
T ampilkan pesan
kesalahan dan
kembali home
Masukkan Username dan
Password
Klik Button Login
Lakukan Validasi
Valid asi
Usern ame dan
Passw ord
Login Berhasil
Tam pilkan Halaman sesu ai deng an sta tus
Halaman Hom e
Pelang gan
Halaman Home
Pemasok
Halaman H ome
Administrasi
H alam an Home
Direktur
Gambar 3.24 S TD Login
Gambar 3.25 S TD Menu Utama (Pelanggan)
205
Gambar 3.26 S TD Update Profile (Pelanggan)
206
Gambar 3.27 S TD Produk (Pelanggan)
207
Gambar 3.28 S TD Pemesanan (Pelanggan)
208
Gambar 3.29 S TD Penawaran Harga (Pelanggan)
209
Gambar 3.30 S TD S tatus Barang (Pelanggan)
Gambar 3.31 S TD Menu Utama (Administrasi)
210
Gambar 3.32 S TD Pemesanan (Administrasi)
211
Gambar 3.33 S TD Penjualan (Administrasi)
212
Gambar 3.34 S TD Pembelian (Administrasi)
213
Hala man Home
Hala man Home
Admin istra si
Kli k “Sal e”
Tampi lkan Ha laman
Pe njua lan
Hal aman
Penju alan
Kli k “Order”
Tampil ka n Hala man
Pe sanan
Hala man Pesanan
Kl ik “Pu rch ased”
Ta mpilka n H alama n
Pembe lian
Hal aman
Pembel ian
Kli k “Na ma
Me sin”
Ta mpilka n
Hala man
Produ k
Kli k “Ho me “
Ta mp ilka n
Hala ma n
H ome
Ad mi nistrasi
Klik “Logo ut”
Tamp ilkan
H alaman
Ho me
Ha laman Prod uk
(Mesi n)
Kli k “Produ ct”
Tampil kan
Hal aman
Produk Mesin
Ha laman Prod uk
Kl ik “Ba ck”
Tampil ka n
Hal aman
De tai l
Prod uk
Klik “Detail ”
Tampil kan
Hala man Detail
Prod uk
Ha laman De tai l
Produk
Kl ik “Ed it”
Tampi lkan
Ha laman
Edit
Produk
Klik “Ba ck”
Kembali Ke
Hal aman
Detai l Pro duk
Hala ma n Ed it
Produk
Klik “Back”
Kemb ali ke
Ha laman
Pro duk
Hal aman Insert
Pro duk
Kl ik Tomb ol
“Add”
Lakuka n
Valid asi
Va lida si Se mua
Fie ld
Data In valid
Ta mp ilkan
Pesan
Kesala han dan
Kembal i ke
Hala man Edit
Produ k
Klik
tomb ol
“Upd ate”
L akukan
Val idasi
Val ida si se mu a
fi eld
Kembal i Ke
Ha laman
De ta il Barang
Klik “In sert Ne w
Prod uct”
Ta mp ilkan
H alama n Inse rt
Produ k
D ata Inval id
Tampi lkan
Pe san
Ke sa laha n dan
Kembal i Ke
Ha laman Insert
Pro duk
D ata
Vali d
Insert D ata To
Tabl e Ba rang
Kemb ali Ke
Hala ma n
Produ k
Data
Val id
U pdate Sele cted
Data on ta ble
Barang
Gambar 3.35 S TD Produk (Administrasi)
214
Gambar 3.36 S TD Menu Utama (Direktur)
Gambar 3.37 S TD Karyawan (Direktur)
215
Gambar 3.38 S TD Produk (Direktur)
Gambar 3.39 S TD Data Pemesanan (Direktur)
216
Gambar 3.40 S TD Data Pembelian (Direktur)
Gambar 3.41 S TD Data Penjualan (Direktur)
217
Gambar 3.42 S TD Menu Utama (Pemasok)
218
Gambar 3.43 S TD Produk (Pemasok)
219
Gambar 3.44 S TD Cek Pemesanan (Pemasok)
220
Gambar 3.45 S TD Pembelian (Pemasok)
221
3.2.5.3
Perancangan Layar
Gambar 3.46 Rancangan Layar Home (Sebelum Login)
Gambar 3.47 Rancangan Layar Registrasi
222
Gambar 3.48 Rancangan Layar Produk Mesin (Sebelum Login)
223
Gambar 3.49 Rancangan Layar Produk (Sebelum Login)
Gambar 3.50 Rancangan Layar Detail Produk (Sebelum Login)
224
Gambar 3.51 Rancangan Layar About Us
Gambar 3.52 Rancangan Layar Home (Pelanggan)
225
Gambar 3.53 Rancangan Layar Produk Mesin (Pelanggan)
226
Gambar 3.54 Rancangan Layar Produk (Pelanggan)
Gambar 3.55 Rancangan Layar Detail Produk (Pelanggan)
227
Gambar 3.56 Rancangan Layar Order (Pelanggan)
Gambar 3.57 Rancangan Layar Add Product (Pelanggan)
228
Gambar 3.58 Rancangan Layar Order S tep 1 (Pelanggan)
229
Gambar 3.59 Rancangan Layar Order S tep 2 (Pelanggan)
Gambar 3.60 Rancangan Layar Order S tep 3 (Pelanggan)
230
Gambar 3.61 Rancangan Layar Edit Product Order (Pelanggan)
Gambar 3.62 Rancangan Layar Update Profile (Pelanggan)
231
Gambar 3.63 Rancangan Layar Update Telepon (Pelanggan)
Gambar 3.64 Rancangan Layar Update Fax (Pelanggan)
232
Gambar 3.65 Rancangan Layar Quotation List (Pelanggan)
Gambar 3.66 Rancangan Layar Order Detail (Pelanggan)
233
Gambar 3.67 Rancangan Layar Order S tatus (Pelanggan)
Gambar 3.68 Rancangan Layar In voice (Pelanggan)
234
Gambar 3.69 Rancangan Layar S hipping Detail (Pelanggan)
Gambar 3.70 Rancangan Layar Home (Direktur)
235
Gambar 3.71 Rancangan Layar S taff (Direktur)
Gambar 3.72 Rancangan Layar Detail S taff (Direktur)
236
Gambar 3.73 Rancangan Layar Detail Telepon (Direktur)
Gambar 3.74 Rancangan Layar Order Data (Direktur)
237
Gambar 3.75 Rancangan Layar Detail Order (Direktur)
Gambar 3.76 Rancangan Layar Purchased Data (Direktur)
238
Gambar 3.77 Rancangan Layar Detail Purchased (Direktur)
Gambar 3.78 Rancangan Layar S ale Data (Direktur)
239
Gambar 3.79 Rancangan Layar Detail S ale (Direktur)
240
Gambar 3.80 Rancangan Layar Produk Mesin (Direktur)
241
Gambar 3.81 Rancangan Layar Produk (Direktur)
Gambar 3.82 Rancangan Layar Detail Produk (Direktur)
242
Gambar 3.83 Rancangan Layar Home (Pemasok)
Gambar 3.84 Rancangan Layar Produk Mesin (Pemasok)
243
Gambar 3.85 Rancangan Layar Produk (Pemasok)
Gambar 3.86 Rancangan Layar Detail Produk (Pemasok)
244
Gambar 3.87 Rancangan Layar Edit Detail Produk (Pemasok)
Gambar 3.88 Rancangan Layar Insert Produk (Pemasok)
245
Gambar 3.89 Rancangan Layar Cek Order (Pemasok)
Gambar 3.90 Rancangan Layar Detail Cek Order (Pemasok)
246
Gambar 3.91 Rancangan Layar Insert Harga (Pemasok)
Gambar 3.92 Rancangan Layar Order S tatus (Pemasok)
247
Gambar 3.93 Rancangan Layar Detail Order (Pemasok)
Gambar 3.94 Rancangan Layar Home (Administrasi)
248
Gambar 3.95 Rancangan Layar Order (Administrasi)
Gambar 3.96 Rancangan Layar Detail Order (Administrasi)
249
Gambar 3.97 Rancangan Layar Insert Harga (Administrasi)
Gambar 3.98 Rancangan Layar Penjualan (Administrasi)
250
Gambar 3.99 Rancangan Layar Detail Penjualan (Administrasi)
Gambar 3.100 Rancangan Layar Detail Pengiriman (Administrasi)
251
Gambar 3.101 Rancangan Layar Pembelian (Administrasi)
Gambar 3.102 Rancangan Layar Detail Pembelian (Administrasi)
252
Gambar 3.103 Rancangan Layar Detail Penerimaan (Administrasi)
253
Gambar 3.104 Rancangan Layar Produk Mesin (Administrasi)
254
Gambar 3.105 Rancangan Layar Produk (Administrasi)
Gambar 3.106 Rancangan Layar Detail Produk (Administrasi)
255
Gambar 3.107 Rancangan Layar Edit Produk (Administrasi)
Gambar 3.108 Rancangan Layar Insert Produk (Administrasi)
256
3.2.5.4
Perancangan Laporan
Laporan Pemesanan
Gambar 3.109 Rancangan Layar Laporan Pemesanan
257
Laporan Pembelian
Gambar 3.110 Rancangan Layar Laporan Pembelian
258
Laporan Penjualan
Gambar 3.111 Rancangan Layar Laporan Penjualan
259
Laporan Penerimaan Barang Gambar 3.112 Rancangan Layar Laporan Penerimaan Barang
260
Laporan Pengiriman Barang Gambar 3.113 Rancangan Layar Laporan Pengiriman Barang
261
3.2.5.5
S pesifikasi Proses
Berikut ini adalah spesifikasi proses yang telah dirancang pada aplikasi
basis data PT Bobst Group Indonesia.
Modul Home Utama ( Sebelum Login)
M ulai
Tampilkan Halaman Home Utama
Lakukan
Jika Link Registration ditekan
Tampilkan Halaman Registrasi
Akhir jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin
Akhir Jika
Jika Link About Us ditekan
Tampilkan Halaman About Us
Akhir Jika
Jika Tombol login ditekan maka
Jika username kosong atau password kosong
Tampilkan Pesan Kesalahan
Akhir jika
Selain itu
Buka koneksi ke database bsa
Cek username dan password
262
Jika username dan password cocok maka
Tampilkan Halaman Home
Validasi user untuk mengatur hak akses
Selain itu
Tampilkan Pesan Kesalahan
Akhir jika
Akhir Jika
Akhir Lakukan
Selesai
Modul Registrasi (Sebelum Login)
M ulai
Tampilkan Halaman Registrasi
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home Utama
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin
Akhir Jika
Jika Link About Us ditekan
Tampilkan Halaman About Us
Akhir Jika
Jika Tombol Reset ditekan
263
Hapus semua isi dari textfield yang ada
Akhir Jika
Jika tombol submit ditekan maka
Jika
username
kosong
/
password
kosong
/
confirmpassword kosong / name kosong / company kosong
/ occupation kosong / address kosong / zipcode kosong /
telephonenumber kosong / faxnumber kosong / email
kosong
Berikan simbol * pada field yang kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Email tidak sesuai ketentuan
Tampilkan Pesan Kesalahan
Akhir Jika
Jika name mengandung angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Zip Code bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Telephone Number bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Fax Number bukan Angka
264
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Confirm Password tidak sama dengan Password
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
Buka koneksi ke database bsa
Jika Username sudah ada di database bsa
Tampilkan Pesan Kesalahan
Selain itu
Gunakan perintah store procedure yang ada di SQL,
yaitu :
Procedure “InsertPelanggan”
Kembali Ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk Mesin (Sebelum Login)
M ulai
Tampilkan Halaman Produk M esin
Buka Koneksi ke Database BSA
Tampilkan Data dengan menggunakan bahasa SQL, yaitu “SELECT”
SELECT *
265
Dari M esin
Lakukan
Jika Data kosong
Tampilkan Pesan “Data not availabe”
Akhir Jika
Jika Link Home ditekan
Tampilkan Halaman Home Utama
Akhir Jika
Jika Link Registration ditekan
Tampilkan Halaman Registrasi
Akhir Jika
Jika Link About Us ditekan
Tampilkan Halaman About Us
Akhir Jika
Jika Nama M esin ditekan
Tampilkan Halaman Produk
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk (S ebelum Login)
M ulai
Tampilkan Halaman Produk
Buka koneksi ke database bsa
266
Tampilkan Data Produk dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana Nama_M esin = “Nama Link M esin yang ditekan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home Utama
Akhir Jika
Jika Link Registration ditekan
Tampilkan Halaman Registrasi
Akhir Jika
Jika Link Product/Back ditekan
Tampilkan Halaman Produk M esin
Akhir Jika
Jika Link About Us ditekan
Tampilkan Halaman About Us
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan Kesalahan
Selain itu
267
Tampilkan
data
yang
dicari
dengan
menggunakan view SQL, yaitu
View “viewbarang”
Dimana
(Nama_Barang
“”%textfield.text%””
“”%textfield.text%””
or
or
=
Kd_Barang
=
deskripsi
=
“”%textfield.text%””) and (nama_mesin =
“nama link yang ditekan” or nama_mesin =
“nama di listmenu)
Akhir Jika
Akhir Jika
Jika listmenu ditekan maka
Tampilkan Data Produk
Dimana nama_mesin = mesin yang ada di list menu
Akhir jika
Jika Link Detail ditekan
Tampilkan Halaman Detail Produk
Akhir Jika
Jika Link pada page ditekan
Tampilkan data barang pada halaman tersebut
Akhir Jika
Akhir Lakukan
Selesai
268
Modul Detail Produk (sebelum login)
M ulai
Tampilkan Halaman Detail Produk
Buka koneksi ke database bsa
Tampilkan Data Produk dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana kd_barang = “kd_barang link detail yang ditekan”
Lakukan
Jika Link Back ditekan
Kembali Ke Halaman Produk
Akhir Jika
Akhir Lakukan
Selesai
Modul About Us (Sebelum Login)
M ulai
Tampilkan Halaman About Us
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin
Akhir Jika
269
Jika Link Registration ditekan
Tampilkan Halaman Registrasi
Akhir Jika
Akhir Lakukan
Selesai
Modul Home (Pelanggan)
M ulai
Tampilkan Halaman Home Pelanggan
Buka Koneksi ke database bsa
Lakukan
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Order
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quatation List
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Link Update Profile ditekan
270
Tampilkan Halaman Update Profile
Akhir Jika
Jika Link Logout ditekan
Hapus session dan cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk Mesin (Pelanggan)
M ulai
Tampilkan Halaman Produk M esin (Pelanggan)
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
Dari barang
Lakukan
Jika Data Kosong
Tampilkan Pesan “Data Not Available”
Akhir Jika
Jika Link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir Jika
271
Jika Link Order ditekan
Tampilkan Halaman Order
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quotation List
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Link Update Profile ditekan
Tampilkan Halaman Update Profile
Akhir Jika
Jika Nama M esin ditekan
Tampilkan Halaman Produk (Pelanggan)
Akhir Jika
Jika Link Logout ditekan
Hapus session dan cookies
Kembali ke halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk (Pelanggan)
M ulai
272
Tampilkan Halaman Produk (Pelanggan)
Buka Koneksi ke database bsa
Tampilkan Data Produk dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana Nama_M esin = “Nama Link M esin yang ditekan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Order
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quotation List
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Link Update Profile ditekan
Tampilkan Halaman Update Profile
Akhir Jika
273
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan Data yang dicari dengan view
“viewbarang”
Dimana
(Nama_Barang
“”%textfield.text%””
“”%textfield.text%””
or
or
=
Kd_Barang =
deskripsi
=
“”%textfield.text%””) and (nama_mesin =
“nama link yang ditekan” or nama_mesin =
“nama di listmenu)
Akhir Jika
Akhir Jika
Akhir Jika
Jika listmenu ditekan maka
Tampilkan Data Produk
Dimana nama_mesin = “nama yang ada di listmenu”
Akhir jika
Jika Nomor Page ditekan
274
Tampilkan Halaman sesuai nomor halaman yang ditekan
Akhir Jika
Jika Link Detail ditekan
Tampilkan Halaman Detail Produk
Akhir Jika
Jika Link Logout ditekan
Hapus session dan cookies
Kembali ke halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Produk (Pelanggan)
M ulai
Tampilkan Halaman Detail Produk (Pelanggan)
Buka koneksi ke database bsa
Tampilkan Data Produk dengan menggunakan view pada SQL, yaitu
View “viewbarang:
Dimana kd_barang = “kd_barang link detail yang ditekan”
Lakukan
Jika Link back ditekan
Kembali Ke Halaman Produk (Pelanggan)
Akhir Jika
Akhir Lakukan
275
Selesai
Modul Order (Pelanggan)
M ulai
Tampilkan Halaman Order
Buka Koneksi ke database bsa
Tampilkan Data Halaman Order dengan menggunakan view pada SQL,
yaitu
View “viewpemesanan”
Dimana nama_pelanggan = “nama_pelanggan yang login”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quotation List
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Link Update Profile ditekan
276
Tampilkan Halaman Update Profile
Akhir Jika
Jika tombol “add order” ditekan maka
Insert data dengan menggunakan Procedure pada SQL,
yaitu
Procedure “insertpemesanan”
Refresh Halamann Order
Akhir jika
Jika Link detail ditekan
Tampilkan Halaman Add Product
Akhir jika
Jika Link Logout ditekan
Hapus session dan cookies
Tampilkan Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Add Product (Pelanggan)
M ulai
Tampilkan Halaman Add Product
Buka koneksi ke database bsa
Tampilkan Data Halaman Add Product dengan menggunakan view pada
SQL, yaitu
277
View “viewpemesanan”
Dimana kd_pemesanan = “kd_pemesanan yang ditekan”
Lakukan
Jika link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir jika
Jika link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Order
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quotation List
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Invoice
Akhir Jika
Cek
Jika tgl_pemesanan null maka
Tampilkan link edit, link delete, tombol “add
product” dan tombol “ok”
Jika data pemesanan masih kosong
Tampilkan Pesan “Please add your Cart”
278
Akhir jika
Jika tombol “add product” ditekan
Tampilkan halaman order step 1
Akhir Jika
Jika link edit ditekan
Tampilkan halaman Edit Product Order
Akhir Jika
Jika Link Delete ditekan
Hapus data dengan menggunakan procedure
pada SQL, yaitu
Procedure “hapusdetailpemesanan”
Dimana kd_barang = kd_barang link delete
yang ditekan
Akhir Jika
Jika tombol “Ok” ditekan
Update tgl_pemesanan dengan
menggunakan procedure yang ada di SQL,
yaitu
Procedure "updatetglpemesanan”
Kembali Ke Halaman Order
Akhir Jika
Selain itu
Hilangkan link edit, link delete, tombol “add
product” dan tombol “ok”
279
Akhir cek
Akhir Lakukan
Selesai
Modul Order step 1 (Pelanggan)
M ulai
Tampilkan Halaman Order Step 1
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
Dari M esin
Lakukan
Jika Data Kosong
Tampilkan Pesan “Data not available”
Akhir Jika
Jika Nama M esin ditekan
Tampilkan halaman order step 2
Akhir Jika
Jika Link Back ditekan
Kembali ke Halaman Add Product
Akhir Jika
Akhir Lakukan
Selesai
280
Modul Order step 2 (Pelanggan)
M ulai
Tampilkan Halaman order step 2
Buka koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Where nama_mesin = “nama link mesin yang ditekan”
Lakukan
Jika Link Back ditekan
Tampilkan Halaman Order Step 1
Akhir Jika
Jika link detail ditekan
Tampilkan Halaman Order Step 3
Akhir Jika
Jika link nomor page ditekan
Tampilkan Halaman page, nomor yang ditekan
Akhir jika
Jika tombol go ditekan maka
Jika textfield search kosong
Fungsi mencari tidak dilakukan
Selain itu
Cari Data dari database bsa
Jika Data yang dicari tidak ada
281
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan data dengan menggunakan view
pada SQL, yaitu
View “viewbarang”
Dimana
(Nama_Barang
“”%textfield.text%””
“”%textfield.text%””
or
or
=
Kd_Barang
=
deskripsi
=
“”%textfield.text%””) and (nama_mesin =
“nama link yang ditekan” or nama_mesin =
“nama di listmenu”)
Akhir Jika
Akhir Jika
Jika listmenu ditekan
Tampilkan data Produk
Dimana nama_mesin = nama_mesin yang ada di list menu
Akhir jika
Akhir Lakukan
Selesai
Modul Order S tep 3 (Pelanggan)
M ulai
Tampilkan Halaman Order Step 3
Buka Koneksi ke database bsa
282
Tampilkan data dengan mengunakan view bahasa SQL, yaitu
View “viewbarang”
Dimana kd_barang = kd_barang dari link yang ditekan
Lakukan
Jika link back ditekan
Kembali ke Halaman Order Step 2
Akhir Jika
Jika tombol “add” ditekan maka
Jika qty kosong
Tampilkan Pesan Kesalahan
Akhir jika
Jika qty bukan angka
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
Insert data dengan menggunakan procedure pada SQL,
yaitu
Procedure “insertdetailpemesanan”
Kembali ke Halaman Add Product
Akhir jika
Akhir Lakukan
Selesai
Modul Edit Product Order (Pelanggan)
283
M ulai
Tampilkan Halaman Edit Product Order
Buka Koneksi ke database bsa
Gunakan view yang terdapat dalam SQL, yaitu
View “detailpemesanan”
Lakukan
Jika link back ditekan
Tampilkan Halaman Add Product
Akhir Jika
Jika tombol edit ditekan maka
Jika qty kosong
Tampilkan Pesan Kesalahan
Akhir jika
Jika qty bukan angka
Tampilkan Pesan “Qty must number”
Akhir jika
Selain itu
Update qty menggunakan procedure yang ada di SQL,
yaitu
Procedure “updateqtypemesanan”
Kembali ke halaman Add Product
Akhir Jika
Akhir lakukan
Selesai
284
Modul Update Profile (Pelanggan)
M ulai
Tampilkan Halaman Update Profile
Buka koneksi ke database bsa
Tampilkan data menggunakan bahasa SQL, yaitu “Select”
Select *
Dari Pelanggan
Dimana nama_pelanggan = “nama pelanggan yang login”
Lakukan
Jika link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir jika
Jika link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Order
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quotation List
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Order Status
285
Akhir Jika
Jika link detail pada telephone number ditekan
Tampilkan Halaman Update Telephone Number
Akhir Jika
Jika link detail pada pada fax number ditekan
Tampilkan Halaman Update fax number
Akhir Jika
Jika tombol update ditekan maka
Jika password kosong / confirmpassword kosong /
occupation kosong / address kosong / zipcode kosong /
email kosong
Berikan simbol * pada field yang kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Email tidak sesuai ketentuan
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Zip Code bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Confirm Password tidak sama dengan Password
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
286
Update data dengan menggunakan Procedure bahasa SQL,
yaitu
Procedure “updatepelanggan”
Kembali ke Halaman Home Pelanggan
Akhir jika
Jika link logout ditekan
Hapus session dan cookies
Kembali ke Halaman Home Utama
Akhir jika
Akhir lakukan
Selesai
Modul Update Telephone (Pelanggan)
M ulai
Tampilkan Halaman Update Telephone
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan bahasa SQL, yaitu “SELECT”
SELECT *
Dari telppelg
Dimana Kd_Pelanggan = “Kd_Pelanggan yang login”
Lakukan
Jika Link Back ditekan
Kembali ke halaman update profile
Akhir jika
287
Jika link delete ditekan
Hapus data dengan menggunakan procedure pada SQL,
yaitu
Procedure “hapustelppelg”
Akhir jika
Jika tombol add ditekan maka
Jika insert new number kosong
Tampilkan Pesan Kesalahan
Akhir jika
Jika insert new number bukan angka
Tampilkan Pesan Kesalahan
Akhir jika
Selain itu
Insert data dengan menggunakan procedure pada SQL,
yaitu
Procedure “inserttelppelg”
Refresh halaman update telepon
Akhir jika
Akhir Lakukan
Selesai
Modul Update Fax (Pelanggan)
M ulai
Tampilkan Halaman Update Fax
288
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan bahasa SQL, yaitu “SELECT”
SELECT *
From faxpelg
Dimana Kd_Pelanggan = “Kd_Pelanggan yang login”
Lakukan
Jika Link Back ditekan
Kembali ke halaman update profile
Akhir jika
Jika link delete ditekan
Hapus data dengan menggunakan procedure yang ada di
SQL, yaitu
Procedure “hapusfaxpelg”
Akhir jika
Jika tombol add ditekan maka
Jika insert new number kosong
Tampilkan Pesan Kesalahan
Akhir jika
Jika insert new number bukan angka
Tampilkan Pesan Kesalahan
Akhir jika
Selain itu
Insert data to data dengan menggunakan procedure pada
SQL, yaitu
289
Procedure “insertfaxpelg”
Refresh halaman update fax
Akhir jika
Akhir Lakukan
Selesai
Modul Quotation List (Pelanggan)
M ulai
Tampilkan Halaman Quotation List
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “pemesanan”
Dimana kd_pelanggan = (”kd_pelanggan yang login”)
Lakukan
Jika kd_pemesanan masih kosong
Tampilkan pesan
Akhir Jika
Jika link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir Jika
Jika link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Order ditekan
290
Tampilkan Halaman Order
Akhir Jika
Jika Link Invoice ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Link Update Profile ditekan
Tampilkan Halaman Update Profile
Akhir Jika
Jika Link Detail ditekan
Tampilkan Halaman Konfirmasi Order
Akhir Jika
Jika Link Logout ditekan
Hapus session dan cookies
Kembali ke Halaman Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Konfirmasi Order (Pelanggan)
M ulai
Tampilkan Halaman Konfirmasi Order
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewpemesanan”
291
Dimana kd_pemesanan = link detail kd_pemesanan yang ditekan
Lakukan
Jika Link Back ditekan
Kembali ke Halaman Penawaran Harga
Akhir Jika
Jika tombol approve ditekan maka
Jika harga masih ada yang kosong
Tampilkan pesan Kesalahan
Selain itu
Insert data dengan menggunakan procedure pada
SQL, yaitu
Procedure
“updatetglapp”
dan
Procedure
“insertpenjualan”
Kembali ke Halaman Quotation List
Akhir Jika
Akhir Jika
Jika tombol disapprove ditekan
Delete data dengan menggunakan procedure pada SQL,
yaitu
Procedure “hapuspemesanan”
Kembali ke Halaman Quotation List
Akhir Jika
Akhir Lakukan
Selesai
292
Modul Order S tatus (Pelanggan)
M ulai
Tampilkan Halaman Order Status
Buka koneksi ke database bsa
Tampilkan Data dengan menggunakan View pada SQL, yaitu
View “viewpenjualan” dan View “viewdetailjual”
Dimana Kd_pelanggan = Kd_Pelanggan yang login
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Pelanggan)
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Pelanggan)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Order
Akhir Jika
Jika Link Quotation ditekan
Tampilkan Halaman Quotation List
Akhir Jika
Jika Link Update Profile ditekan
Tampilkan Halaman Update Profile
Akhir Jika
293
Jika Link Detail pada invoice ditekan
Tampilkan Halaman Invoice
Akhir Jika
Jika Link Detail pada shipping ditekan
Tampilkan Halaman Shipping
Akhir Jika
Jika Link Logout ditekan
Hapus session dan cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Invoice (Pelanggan)
M ulai
Tampilkan Halaman Invoice
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewjual” dan view “viewdetailjual”
Dimana Kd_Jual = Kd_Jual, Link Detail Invoice yang ditekan
Lakukan
Jika Link View Report Ditekan
Buat Laporan Penjualan
Akhir Jika
294
Jika Link Back Ditekan
Kembali Ke Halaman Order Status
Akhir Jika
Akhir Lakukan
Selesai
Modul Shipping (Pelanggan)
M ulai
Tampilkan Halaman Shipping
Buka Koneksi ke database bsa
Tampilkan Data Dengan M enggunakan View pada SQL, yaitu
View “viewdetailjual” dan view “viewpengiriman_barang”
Dimana kd_jual = link detail kd_jual yang ditekan
Lakukan
Cek
Jika tgl_terimapelanggan null maka
Tampilkan tombol “confirm”
Jika Tombol Confirm ditekan
Update
data
dengan
menggunakan
procedure pada SQL, yaitu
Procedure “updatetglterimapelanggan”
Akhir Jika
Jika Link Back Ditekan
Kembali ke Halaman Order Status
295
Akhir Jika
Selain itu
Tampilkan Link “view report”
Jika Link Report ditekan
Buat Laporan Pengiriman
Akhir Jika
Jika Link Back Ditekan
Kembali Ke Halaman Order Status
Akhir Jika
Akhir Cek
Akhir Lakukan
Selesai
Modul Home (Direktur)
M ulai
Tampilkan Halaman Home (Direktur)
Buka koneksi ke database bsa
Lakukan
Jika Link Staff ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Order Data ditekan
Tampilkan Halaman Data Pemesanan
Akhir Jika
296
Jika Link Sale Data ditekan
Tampilkan Halaman Data Penjualan
Akhir Jika
Jika Link Purchased Data ditekan
Tampilkan Halaman Data Pembelian
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Direktur)
Akhir Jika
Jika Link Logout ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul S taff (Direktur)
M ulai
Tampilkan Halaman Staff
Buka koneksi ke database bsa
Tampilkan data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
Dari Karyawan
297
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Direktur)
Akhir Jika
Jika Link Order Data ditekan
Tampilkan Halaman Data Pemesanan
Akhir Jika
Jika Link Sale Data ditekan
Tampilkan Halaman Data Penjualan
Akhir Jika
Jika Link Purchased Data ditekan
Tampilkan Halaman Data Pembelian
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Direktur)
Akhir Jika
Jika tombol Go ditekan maka
Jika textfield pada search kosong
Fungsi mencari tidak dilaksanakan
Selain itu
Cari data di database bsa
Jika data tidak ditemukan
Tampilkan pesan Kesalahan
Selain itu
298
Tampilkan data staff
Dimana
(Nama_Karyawan
“”%textfield.text%””
or
“”%textfield.text%””)
Akhir jika
Akhir Jika
Akhir Jika
Jika link detail ditekan
Tampilkan Halaman Detail Staff
Akhir Jika
Jika Link Logout ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Staff (Direktur)
M ulai
Tampilkan Halaman Detail Staff
Buka koneksi ke database bsa
Tampilkan data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
Jabatan
=
=
299
Dari Karyawan
Dimana kd_karyawan = link kd_karyawan yang ditekan
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Detail Ditekan
Tampilkan Halaman Detail Telepon Staff
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Telepon S taff (Direktur)
M ulai
Tampilkan Halaman Detail Telepon Staff
Buka koneksi ke database bsa
Tampilkan data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
Dari telpkary
Dimana kd_karyawan = detail telepon kd_karyawan yang ditekan
Lakukan
Jika data kosong
Tampilkan Pesan
300
Akhir Jika
Jika link Back ditekan
Tampilkan Ke halaman detail staff
Akhir Jika
Akhir Lakukan
Selesai
Modul Data Pemesanan (Direktur)
M ulai
Tampilkan Halaman Data Pemesanan
Buka koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewpemesanan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Direktur)
Akhir Jika
Jika Link Staff ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Sale Data ditekan
Tampilkan Halaman Data Penjualan
Akhir Jika
Jika Link Purchased Data ditekan
301
Tampilkan Halaman Data Pembelian
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Direktur)
Akhir Jika
Jika tombol Go ditekan maka
Jika textfield pada search kosong
Fungsi mencari tidak dilaksanakan
Selain itu
Cari data dari database bsa
Jika Data tidak ditemukan
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan Data Pemesanan
Dimana
(Kd_Pemesanan
=
“”%textfield.text%”” or Nama_Pelanggan =
“”%textfield.text%”” or Tgl_Pemesanan =
“”%textfield.text%””)
Akhir jika
Akhir Jika
Akhir Jika
Jika link Detail ditekan
Tampilkan Halaman Detail Data Pemesanan
Akhir Jika
302
Jika Link Page Ditekan
Tampilkan Halaman Sesuai Nomor Page
Akhir Jika
Jika Link Logout ditekan
Hapus Session dan Cookies
Kembali ke Halaman Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Data Pemesanan (Direktur)
M ulai
Tampilkan Halaman Detail Data Pemesanan
Buka koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewdetailpemesanan” dan View “viewpemesanan”
Dimana kd_pemesanan = kd_pemesanan link yang ditekan
Lakukan
Jika Link Back Ditekan
Kembali ke Halaman Data Pemesanan
Akhir Jika
Jika Link view report ditekan
Buat Laporan Pemesanan
Akhir Jika
303
Akhir Lakukan
Selesai
Modul Data Pembelian (Direktur)
M ulai
Tampilkan Halaman Data Pembelian
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewpembelian”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Direktur)
Akhir Jika
Jika Link Staff ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Sale Data ditekan
Tampilkan Halaman Data Penjualan
Akhir Jika
Jika Link Order Data ditekan
Tampilkan Halaman Data Pemesanan
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Direktur)
304
Akhir Jika
Jika tombol Go ditekan maka
Jika textfield pada search kosong
Fungsi mencari tidak dilaksanakan
Selain itu
Cari data dari database bsa
Jika data tidak ditemukan
Tampilkan Pesan “Data Not
M atch”
Selain itu
Tampilkan Data Pembelian
Dimana
(Kd_Beli
=
“”%textfield.text%””
or
Nama_Pelanggan
=
“”%textfield.text%”” or Tgl_Beli =
“”%textfield.text%””)
Akhir Jika
Akhir jika
Jika Link Detail ditekan
Tampilkan Halaman Detail Data Pembelian
Akhir Jika
Jika Link Page Ditekan
Tampilkan Halaman Sesuai Nomor Page
Akhir Jika
305
Jika Link Logout ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Data Pembelian (Direktur)
M ulai
Tampilkan Halaman Detail Data Pembelian
Buka Koneksi ke Database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewpembelian” dan View “viewdetailpembelian”
Dimana kd_beli = kd_beli link yang ditekan
Lakukan
Jika Link Back Ditekan
Kembali ke Halaman Data Pembelian
Akhir Jika
Jika Link view report ditekan
Buat Laporan Pembelian
Akhir Jika
Akhir Lakukan
Selesai
306
Modul Data Penjualan (Direktur)
M ulai
Tampilkan Halaman Data Penjualan
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewpenjualan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Direktur)
Akhir Jika
Jika Link Staff ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Purchased Data ditekan
Tampilkan Halaman Data Pembelian
Akhir Jika
Jika Link Order Data ditekan
Tampilkan Halaman Data Pemesanan
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Direktur)
Akhir Jika
Jika tombol Go ditekan maka
Jika textfield pada search kosong
307
Fungsi mencari tidak dilaksanakan
Selain itu
Cari data dari database bsa
Jika data tidak ditemukan
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan Data Penjualan
Dimana
(Kd_Jual
=
“”%textfield.text%””
or
Nama_Pelanggan
=
“”%textfield.text%”” or Tgl_Jual =
“”%textfield.text%””)
Akhir Jika
Akhir jika
Jika Link Detail ditekan
Tampilkan Halaman Detail Data Penjualan
Akhir Jika
Jika Link Logout ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
308
Modul Detail Data Penjualan (Direktur)
M ulai
Tampilkan Halaman Detail Penjualan
Buka Koneksi ke Database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewpenjualan” dan View “viewdetailpenjualan”
Dimana kd_jual = kd_jual link yang ditekan
Lakukan
Jika Link Back Ditekan
Kembali ke Halaman Data Penjualan
Akhir Jika
Jika Link view report ditekan
Buat Laporan Penjualan
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk Mesin (Direktur)
M ulai
Tampilkan Halaman Produk M esin (Direktur)
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
309
Dari M esin
Lakukan
Jika Data kosong
Tampilkan Pesan “Data not availabe”
Akhir Jika
Jika Link Home ditekan
Tampilkan Halaman Home (Direktur)
Akhir Jika
Jika Link Staff ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Purchased Data ditekan
Tampilkan Halaman Data Pembelian
Akhir Jika
Jika Link Order Data ditekan
Tampilkan Halaman Data Pemesanan
Akhir Jika
Jika Link Sale Data ditekan
Tampilkan Halaman Data Penjualan
Akhir Jika
Jika Nama M esin ditekan
Tampilkan Halaman Produk (Direktur)
Akhir Jika
Akhir Lakukan
310
Selesai
Modul Produk (Direktur)
M ulai
Tampilkan Halaman Produk (Direktur)
Buka koneksi ke database bsa
Tampilkan data barang dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana Nama_M esin = “Nama Link M esin yang ditekan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Direktur)
Akhir Jika
Jika Link Staff ditekan
Tampilkan Halaman Staff
Akhir Jika
Jika Link Product/Back ditekan
Tampilkan Halaman Produk M esin (Direktur)
Akhir Jika
Jika Link Order Data ditekan
Tampilkan Halaman Data Pemesanan
Akhir Jika
Jika Link Sale Data ditekan
Tampilkan Halaman Data Penjualan
311
Akhir Jika
Jika Link Purchased Data ditekan
Tampilkan Halaman Data Pembelian
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan “Data Not M atch”
Selain itu
Tampilkan data yang dicari dengan view
“viewbarang”
Dimana
(Nama_Barang
“”%textfield.text%””
“”%textfield.text%””
or
or
=
Kd_Barang =
deskripsi
=
“”%textfield.text%””) and (nama_mesin =
“nama link yang ditekan” or nama_mesin =
“nama di listmenu)
Akhir Jika
Akhir Jika
Jika listmenu ditekan maka
Tampilkan data product
312
Dimana nama_mesin = mesin yang ada di list menu
Akhir jika
Jika Link Detail ditekan
Tampilkan Halaman Detail Produk
Akhir Jika
Jika Link pada page ditekan
Tampilkan data barang pada halaman tersebut
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Produk (Direktur)
M ulai
Tampilkan Halaman Detail Produk (Direktur)
Buka koneksi ke database bsa
Tampilkan data barang dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana kd_barang = “kd_barang link detail yang ditekan”
Lakukan
Jika Link Back ditekan
Kembali Ke Halaman Barang (Direktur)
Akhir Jika
Akhir Lakukan
Selesai
313
Modul Home (Pemasok)
M ulai
Tampilkan Halaman Home (Pemasok)
Buka Koneksi ke Database bsa
Lakukan
Jika Link Product Ditekan
Tampilkan Halaman Produk M esin (Pemasok)
Akhir Jika
Jika Link Check Order Ditekan
Tampilkan Halaman Cek Order
Akhir Jika
Jika Link Order Status Ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk Mesin (Pemasok)
M ulai
Tampilkan Halaman Produk M esin (Pemasok)
314
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan bahasa SQL, yaitu
“SELECT”
SELECT *
Dari M esin
Lakukan
Jika Data Kosong
Tampilkan Pesan “Data Not Available”
Akhir Jika
Jika Link Home Ditekan
Tampilkan Halaman Home (Pemasok)
Akhir Jika
Jika Link Check Order Ditekan
Tampilkan Halaman Cek Order
Akhir Jika
Jika Link Order Status Ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika Nama M esin Ditekan
Tampilkan Halaman Produk (Pemasok)
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
315
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk (Pemasok)
M ulai
Tampilkan Halaman Produk (Pemasok)
Buka Koneksi ke Database bsa
Tampilkan data barang dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana Nama_M esin = “Nama Link M esin yang ditekan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Pemasok)
Akhir Jika
Jika Link Product / Back ditekan
Tampilkan Halaman Produk M esin (Pemasok)
Akhir Jika
Jika Link Check Order ditekan
Tampilkan Halaman Cek Order
Akhir Jika
Jika Link Order Status Ditekan
Tampilkan Halaman Order Status
Akhir Jika
316
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan
data
yang
dicari
dengan
menggunakan view SQL, yaitu
View “viewbarang”
Dimana
(Nama_Barang
“”%textfield.text%””
“”%textfield.text%””
or
or
=
Kd_Barang
=
deskripsi
=
“”%textfield.text%””) and (nama_mesin =
“nama link yang ditekan” or nama_mesin =
“nama di listmenu)
Akhir Jika
Akhir Jika
Jika listmenu ditekan maka
Tampilkan data barang
Dimana nama_mesin = mesin yang ada di list menu
Akhir Jika
Jika Link Detail ditekan
317
Tampilkan Halaman Detail Produk (Pemasok)
Akhir Jika
Jika Link pada page ditekan
Tampilkan data barang pada halaman tersebut
Akhir Jika
Jika Link Insert New Product Ditekan
Tampilkan Halaman Insert Produk
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Produk (Pemasok)
M ulai
Tampilkan Halaman Detail Produk (Pemasok)
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana Kd_Barang = Link Kd_Barang yang ditekan
Lakukan
Jika Link Back Ditekan
318
Tampilkan Halaman Produk (Pemasok)
Akhir Jika
Jika Link Edit Ditekan
Tampilkan Halaman Edit Produk
Akhir Jika
Akhir Lakukan
Selesai
Modul Insert Produk (Pemasok)
M ulai
Tampilkan Halaman Insert Produk
Buka Koneksi ke Database bsa
Lakukan
Jika Link Back ditekan
Kembali ke Halaman Produk (Pemasok)
Akhir Jika
Jika tombol add ditekan maka
Jika Product_Name Kosong / Product_Code Kosong /
Deskripsi Kosong / Weight Kosong
Berikan simbol * Pada Field yang kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Weight bukan Angka
Tampilkan Pesan Kesalahan
319
Akhir Jika
Jika Gambar bukan tipe yang didukung
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Ukuran Gambar diatas 2M B
Tampilkan Pesan Kesalahan
Akhir Jika
Selain Itu
Insert Product Dengan M enggunakan Procedure pada SQL,
yaitu
Procedure “insertbarang”
Kembali ke Halaman Produk M esin (Pemasok)
Akhir Jika
Akhir Lakukan
Selesai
Modul Edit Produk (Pemasok)
M ulai
Tampilkan Halaman Edit Produk
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana kd_mesin = Detail kd_mesin yang ingin diedit
Lakukan
320
Jika Tombol Update ditekan maka
Jika Product_Name Kosong / Product_Code Kosong /
Deskripsi Kosong / Weight Kosong
Berikan simbol * Pada Field yang kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Weight bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Gambar bukan tipe yang didukung
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Ukuran Gambar diatas 2M B
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
Update data dengan menggunakan Procedure pada SQL,
yaitu
Procedure “updatebarang”
Kembali ke Halaman Detail Barang (Pemasok)
Akhir Jika
Jika Link Back Ditekan
Tampilkan Halaman Detail Barang (Pemasok)
Akhir Jika
321
Akhir Lakukan
Selesai
Modul Cek Order (Pemasok)
M ulai
Tampilkan Halaman Cek Order
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewpemesanan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Pemasok)
Akhir Jika
Jika Link Product / Back ditekan
Tampilkan Halaman Produk M esin (Pemasok)
Akhir Jika
Jika Link Order Status ditekan
Tampilkan Halaman Order Status
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
322
Jika data yang dicari tidak ada
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan
data
yang
dicari
dengan
menggunakan view SQL, yaitu
View “viewbarang”
Dimana
(Kd_Pemesanan
=
“”%textfield.text%”” or Nama_Pelanggan =
“”%textfield.text%”” or Tgl_Pemesanan =
“”%textfield.text%””)
Akhir Jika
Akhir Jika
Jika Link Detail Ditekan
Tampilkan Halaman Detail Order
Akhir Jika
Jika Link pada page ditekan
Tampilkan data barang pada halaman tersebut
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
323
Modul Detail Order (Pemasok)
M ulai
Tampilkan Halaman Detail Order
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewdetailpemesanan”
Dimana Kd_Pemesanan = Detail Kd_Pemesanan yang ditekan
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Cek Order
Akhir Jika
Jika Link Insert Ditekan
Tampilkan Halaman Insert Harga
Akhir Jika
Akhir Lakukan
Selesai
Modul Insert Harga (Pemasok)
M ulai
Tampilkan Halaman Harga
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewdetailpemesanan”
324
Dimana Kd_Pemesanan = Detail Kd_Pemesanan yang ditekan dan
Kd_Barang = Detail Kd_Barang yang ditekan
Lakukan
Jika Link Back Ditekan
Kembali ke Halaman Detail Order
Akhir Jika
Jika tombol Ok Ditekan maka
Jika Price Kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Price bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
Update Harga dengan menggunakan Procedure pada SQL,
yaitu
Procedure “updatedetailhargabeli”
Kembali ke Halaman Detail Cek Pemesanan
Akhir Jika
Akhir Lakukan
Selesai
Modul Order S tatus (Pemasok)
M ulai
325
Tampilkan Halaman Order Status
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewpembelian”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Pemasok)
Akhir Jika
Jika Link Product ditekan
Tampilkan Halaman Produk M esin (Pemasok)
Akhir Jika
Jika Link Check Order ditekan
Tampilkan Halaman Cek Order
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan Kesalahan
Selain itu
Tampilkan
data
yang
dicari
menggunakan view SQL, yaitu
dengan
326
View “viewbarang”
Dimana (Kd_Beli = “”%textfield.text%”” or
Nama_Pelanggan = “”%textfield.text%”” or
Tgl_Beli = “”%textfield.text%””)
Akhir Jika
Akhir Jika
Jika Link Detail Ditekan
Tampilkan Halaman Order Status Detail
Akhir Jika
Jika Link pada page ditekan
Tampilkan data pembelian pada halaman tersebut
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Order S tatus Detail (Pemasok)
M ulai
Tampilkan Halaman Order Status Detail
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
327
View “viewdetailbeli”
Lakukan
Cek
Jika tgl_kirim pada penerimaan_barang masih null
maka
Tampilkan Tombol Sent
Jika Tombol Sent ditekan
Insert data dengan menggunakan Procedure
pada SQL, yaitu
Procedure “insertpenerimaan”
Akhir Jika
Jika Link Back ditekan
Tampilkan Halaman Status
Pembelian
Akhir Jika
Selain itu
Tampilkan Pesan “This Packets have been
sent”
Jika Link Back ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Akhir Jika
Akhir Cek
Akhir Lakukan
328
Selesai
Modul Home (Administrasi)
M ulai
Tampilkan Halaman Home (Administrasi)
Buka Koneksi ke database bsa
Lakukan
Jika Link Order Ditekan
Tampilkan Halaman Pemesanan
Akhir Jika
Jika Link Sale Ditekan
Tampilkan Halaman Penjualan
Akhir Jika
Jika Link Purchased Ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Jika Link Product Ditekan
Tampilkan Halaman Produk M esin (Administrasi)
Akhir Jika
Jika Link Logout ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
329
Selesai
Modul Pemesanan (Administrasi)
M ulai
Tampilkan Halaman Pemesanan
Buka Koneksi ke database bsa
Tampilkan Dara dengan menggunakan view pada SQL, yaitu
View “viewpemesanan”
Dimana tgl_pemesanan not null
Lakukan
Jika Link Home Ditekan
Tampilkan Halaman Home (Administrasi)
Akhir Jika
Jika Link Sale Ditekan
Tampilkan Halaman Penjualan
Akhir Jika
Jika Link Purchased Ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Jika Link Product Ditekan
Tampilkan Halaman Produk M esin (Administrasi)
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
330
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan “Data Not M atch”
Selain itu
Tampilkan
data
yang
dicari
dengan
menggunakan view SQL, yaitu
View “viewpemesanan”
Dimana
(Kd_Pemesanan
=
“”%textfield.text%”” or Nama_Pelanggan =
“”%textfield.text%”” or Tgl_Pemesanan =
“”%textfield.text%””)
Akhir Jika
Akhir Jika
Cek
Jika di detail_pemesanan ada harga_jual yang masih
null
Tampilkan Pesan “Please Insert All Price” pada
status di tabel pemesanan
Akhir Jika
Akhir Cek
Jika Link Detail Ditekan
Tampilkan Halaman Detail Pemesanan
331
Akhir Jika
Jika Link pada page ditekan
Tampilkan data pemesanan pada halaman tersebut
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Pemesanan (Administrasi)
M ulai
Tampilkan Halaman Detail Pemesanan
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewdetailpemesanan”
Dimana Kd_Pemesanan = Detail Kd_Pemesanan yang ditekan
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Pemesanan
Akhir Jika
Jika Purchase Price kosong
Tampilkan Pesan “Purchased Price is empty”
332
Akhir Jika
Jika Sale Price Kosong
Tampilkan Pesan “Please Insert Price”
Akhir Jika
Jika Link Insert Ditekan
Tampilkan Halaman Insert Harga (Administrasi)
Akhir Jika
Akhir Lakukan
Selesai
Modul Insert Price (Administrasi)
M ulai
Tampilkan Halaman Insert Price (Administrasi)
Buka Koneksi ke database bsa
Tampilkan data dengan menggunakan view pada SQL, yaitu
View “viewdetailpemesanan”
Dimana Kd_Pemesanan = Detail Kd_Pemesanan yang ditekan dan
Kd_Barang = Detail Kd_Barang yang ditekan
Lakukan
Jika Link Back Ditekan
Kembali ke Halaman Detail Pemesanan
Akhir Jika
Jika tombol Ok Ditekan maka
Jika Price Kosong
333
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Price bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Cost Kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Cost bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
Update Harga dengan menggunakan Procedure pada SQL,
yaitu
Procedure “updatedetailhargajual”
Kembali ke Halaman Detail Pemesanan
Akhir Jika
Akhir Lakukan
Selesai
Modul Penjualan (Administrasi)
M ulai
Tampilkan Halaman Penjualan
Buka Koneksi ke database bsa
334
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewpenjualan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Administrasi)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Pemesanan
Akhir Jika
Jika Link Purchased ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Jika Link Product Ditekan
Tampilkan Halaman Produk M esin (Administrasi)
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan Kesalahan
Selain itu
335
Tampilkan
data
yang
dicari
dengan
menggunakan view SQL, yaitu
View “viewpenjualan”
Dimana (Kd_Jual = “”%textfield.text%”” or
Nama_Pelanggan = “”%textfield.text%”” or
Tgl_Jual = “”%textfield.text%””)
Akhir Jika
Akhir Jika
Jika Link Detail Pada Sale Detail Ditekan
Tampilkan Halaman Detail Penjualan
Akhir Jika
Jika Link pada page ditekan
Tampilkan data penjualan pada halaman tersebut
Akhir Jika
Cek
View “viewpenerimaanbarang”
Jika Tgl_Terimakaryawan not null
Tampilkan Link Detail pada Shipping Detail
Jika Link Detail Pada Shipping Detail
Ditekan
Tampilkan Halaman Detail Pengiriman
Akhir Jika
Selain itu
336
Tampilkan Pesan “No Shipping” di tabel Shipping
Detail
Akhir Jika
Akhir Cek
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Penjualan (Administrasi)
M ulai
Tampilkan Halaman Detail Penjualan
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewdetailjual”
Dimana Kd_Jual = Detail Kd_Jual yang ditekan
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Penjualan
Akhir Jika
Cek
View “viewpembelian”
337
Jika Right(Kd_Jual) tidak sama dengan
Right(Kd_Beli)
Tampilkan Tombol Approve
Jika Tombol Approve ditekan
Jalankan Procedure “inserpembelian dan
procedure “insertdetailbeli”
Kembali ke Halaman Penjualan
Akhir Jika
Selain itu
Tampilkan Pesan “Sale has been Approve”
Akhir Jika
Akhir Cek
Akhir Lakukan
Selesai
Modul Detail Pengiriman (Administrasi)
M ulai
Tampilkan Halaman Detail Pengiriman
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewdetailbeli”
Dimana right(kd_beli)=right(kd_jual)
Lakukan
Jika Link Back Ditekan
338
Tampilkan Halaman Penjualan
Akhir Jika
Cek
View “viewpengiriman_barang”
Jika Data Kosong dalam pengiriman_barang
Tampilkan Tombol Sent
Jika Tombol Sent ditekan
Jalankan Procedure “insertpengiriman”
Kembali ke Halaman Penjualan
Akhir Jika
Selain itu
Tampilkan Pesan “This Packet Have Been
Sent”
Akhir Jika
Akhir Cek
Akhir Lakukan
Selesai
Modul Pembelian (Administrasi)
M ulai
Tampilkan Halaman Pembelian
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewpembelian”
339
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Administrasi)
Akhir Jika
Jika Link Order ditekan
Tampilkan Halaman Pemesanan
Akhir Jika
Jika Link Sale ditekan
Tampilkan Halaman Penjualan
Akhir Jika
Jika Link Product Ditekan
Tampilkan Halaman Produk M esin (Administrasi)
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan “Data Not M atch”
Selain itu
Tampilkan
data
yang
dicari
menggunakan view SQL, yaitu
View “viewpembelian”
dengan
340
Dimana (Kd_Beli = “”%textfield.text%”” or
Nama_Pelanggan = “”%textfield.text%”” or
Tgl_Beli = “”%textfield.text%””)
Akhir Jika
Akhir Jika
Jika Link Detail Pada Purchased Detail Ditekan
Tampilkan Halaman Detail Pembelian
Akhir Jika
Jika Link pada page ditekan
Tampilkan data pembelian pada halaman tersebut
Akhir Jika
Cek
Jika kd_Penerimaan null
Tampilkan Pesan “Note Yet Send” Pada Shipping
Detail
Akhir Jika
Akhir Cek
Jika Link Detail Pada Shipping Detail Ditekan
Tampilkan Halaman Detail Pengiriman
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
341
Akhir Lakukan
Selesai
Modul Detail Pembelian (Administrasi)
M ulai
Tampilkan Halaman Detail Pembelian
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewdetailbeli” dan View “viewpembelian”
Dimana Kd_beli = Detail Kd_beli yang ditekan
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Penerimaan (Administrasi)
M ulai
Tampilkan Halaman Detail Penerimaan
Buka Koneksi ke database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewpembelian”
Dimana Kd_Beli = Detail Kd_Beli yang ditekan
342
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Cek
View “viewpenerimaan_barang”
Jika Tgl_Terimakaryawan Null
Tampilkan Tombol Arrive
Tampilkan Pesan “If the packet have been arrive
please click the sent button above”
Jika Tombol Arrive ditekan
Jalankan
“updatetglterimakaryawan”
Kembali ke Halaman Pembelian
Akhir Jika
Akhir Jika
Akhir Cek
Akhir Lakukan
Selesai
Modul Produk Mesin (Administrasi)
Tampilkan Halaman Produk M esin (Administrasi)
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan bahasa SQL, yaitu
Procedure
343
“SELECT”
SELECT *
Dari M esin
Lakukan
Jika Data Kosong
Tampilkan Pesan “Data Not Available”
Akhir Jika
Jika Link Home Ditekan
Tampilkan Halaman Home (Administrasi)
Akhir Jika
Jika Link Order Ditekan
Tampilkan Halaman Pemesanan
Akhir Jika
Jika Link Sale Ditekan
Tampilkan Halaman Penjualan
Akhir Jika
Jika Link Purchased Ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Jika Nama M esin Ditekan
Tampilkan Halaman Produk (Administrasi)
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
344
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Produk (Administrasi)
M ulai
Tampilkan Halaman Produk (Administrasi)
Buka Koneksi ke Database bsa
Tampilkan data barang dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana Nama_M esin = “Nama Link M esin yang ditekan”
Lakukan
Jika Link Home ditekan
Tampilkan Halaman Home (Administrasi)
Akhir Jika
Jika Link Product / Back ditekan
Tampilkan Halaman Produk M esin (Administrasi)
Akhir Jika
Jika Link Sale ditekan
Tampilkan Halaman Penjualan
Akhir Jika
Jika Link Order Ditekan
Tampilkan Halaman Pemesanan
345
Akhir Jika
Jika Link Purchased Ditekan
Tampilkan Halaman Pembelian
Akhir Jika
Jika tombol Go ditekan maka
Jika search kosong
Fungsi mencari data tidak dijalankan
Selain itu
Cari data dari database bsa
Jika data yang dicari tidak ada
Tampilkan Pesan “Data Not M atch”
Selain itu
Tampilkan
data
yang
dicari
dengan
menggunakan view SQL, yaitu
View “viewbarang”
Dimana
(Nama_Barang
“”%textfield.text%””
“”%textfield.text%””
or
or
=
Kd_Barang
=
deskripsi
=
“”%textfield.text%””) and (nama_mesin =
“nama link yang ditekan” or nama_mesin =
“nama di listmenu)
Akhir Jika
Akhir Jika
Jika listmenu ditekan maka
346
Tampilkan data barang
Dimana nama_mesin = mesin yang ada di list menu
Akhir Jika
Jika Link Detail ditekan
Tampilkan Halaman Detail Produk (Administrasi)
Akhir Jika
Jika Link pada page ditekan
Tampilkan data barang pada halaman tersebut
Akhir Jika
Jika Link Insert New Product Ditekan
Tampilkan Halaman Insert Produk
Akhir Jika
Jika Link Logout Ditekan
Hapus Session dan Cookies
Kembali ke Halaman Home Utama
Akhir Jika
Akhir Lakukan
Selesai
Modul Detail Produk (Administrasi)
M ulai
Tampilkan Halaman Detail Produk (Administrasi)
Buka Koneksi ke Database bsa
Tampilkan Data dengan menggunakan view pada SQL, yaitu
347
View “viewbarang”
Dimana Kd_Barang = Link Kd_Barang yang ditekan
Lakukan
Jika Link Back Ditekan
Tampilkan Halaman Produk (Administrasi)
Akhir Jika
Jika Link Edit Ditekan
Tampilkan Halaman Edit Produk
Akhir Jika
Akhir Lakukan
Selesai
Modul Insert Produk (Administrasi)
M ulai
Tampilkan Halaman Insert Produk
Buka Koneksi ke Database bsa
Lakukan
Jika Tombol Back Ditekan
Kembali ke Halaman Produk (Administrasi)
Akhir Jika
Jika tombol add ditekan maka
Jika Product_Name Kosong / Product_Code Kosong /
Deskripsi Kosong / Weight Kosong
Berikan simbol * Pada Field yang kosong
348
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Weight bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Gambar bukan tipe yang didukung
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Ukuran Gambar diatas 2M B
Tampilkan Pesan Kesalahan
Akhir Jika
Selain Itu
Insert Product Dengan M enggunakan Procedure pada SQL,
yaitu
Procedure “insertbarang”
Kembali ke Halaman Produk M esin (Administrasi)
Akhir Jika
Akhir Lakukan
Selesai
Modul Edit Produk (Administrasi)
M ulai
Tampilkan Halaman Edit Produk
Buka Koneksi ke Database bsa
349
Tampilkan Data dengan menggunakan view pada SQL, yaitu
View “viewbarang”
Dimana kd_mesin = Detail kd_mesin yang ingin diedit
Lakukan
Jika Tombol Update ditekan maka
Jika Product_Name Kosong / Product_Code Kosong /
Deskripsi Kosong / Weight Kosong
Berikan simbol * Pada Field yang kosong
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Weight bukan Angka
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Gambar bukan tipe yang didukung
Tampilkan Pesan Kesalahan
Akhir Jika
Jika Ukuran Gambar diatas 2M B
Tampilkan Pesan Kesalahan
Akhir Jika
Selain itu
Update data dengan menggunakan Procedure pada SQL,
yaitu
Procedure “updatebarang”
Kembali ke Halaman Produk M esin (Administrasi)
350
Akhir Jika
Jika Link Back Ditekan
Tampilkan Halaman Detail Produk (Administrasi)
Akhir Jika
Akhir Lakukan
Selesai
Modul Laporan Pembelian
M ulai
Tampilkan form Laporan Pembelian
Buka Koneksi ke database bsa
Tampilkan Data dari view “viewpembelian”
Selesai
Modul Laporan Pemesanan
M ulai
Tampilkan form Laporan Pemesanan
Buka Koneksi ke database bsa
Tampilkan Data dari view “viewpemesanan” dan view
“viewdetailpemesanan”
Selesai
Modul Laporan Penjualan
M ulai
351
Tampilkan form Laporan Penjualan
Buka Koneksi ke database bsa
Tampilkan Data dari view “viewpenjualan” dan view
“viewdetailpenjualan”
Selesai
Modul Laporan Pengiriman
M ulai
Tampilkan form Laporan Pengiriman
Buka Koneksi ke database bsa
Tampilkan Data dari view “viewpengiriman”
Selesai
Modul Laporan Penerimaan
M ulai
Tampilkan form Laporan Penerimaan
Buka Koneksi ke database bsa
Tampilkan Data dari view “viewpenerimaan”
Selesai
Download