68
BAB 3
ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM BASIS DATA
3.1 Analisis Kebutuhan
3.1.1 Riwayat Perusahaan
3.1.1.1 Sejarah Organisasi
PT Cavenzi Indonesia cabang Plaza Meubel Cawang didirikan
pada tanggal 18 Januari 2007 oleh Bapak Adrian Haryono
Mulyoharjono dan Bapak Alwi Koty, yang disahkan oleh Bapak
Rusnaldy, S.H. selaku notarisnya. Perusahaan yang bergerak
dalam industri meubel dan beralamat di Jl. Otista Raya No. 82a
Cawang Jakarta Timur ini selain memproduksi barang – barang
meubel, juga mengambil barang – barang meubel dari supplier –
supplier untuk dijual. PT Cavenzi Indonesia bekerja sama dengan
perusahaan – perusahaan lain, dimana PT Cavenzi Indonesia
menyediakan barang – barang meubel bagi perusahaan –
perusahaan tersebut.
3.1.1.2 Visi dan Misi
Visi dari perusahaan adalah menjadi salah satu perusahaan
meubel yang dapat memenuhi permintaan konsumen dan
kebutuhan pasar terhadap meubel.
Misi yang ingin dicapai oleh perusahaan adalah sebagai
berikut :
69
• Meningkatkan kualitas, baik pelayanan kepada pelanggan
(Meningkatkan kinerja karyawan pada setiap bagian), maupun
barang – barang yang dijual
• Menjalin kerja sama yang baik dengan supplier – supplier.
3.1.2 Struktur Organisasi
Struktur organisasi suatu perusahaan memegang peranan penting,
karena dapat menggambarkan dengan jelas fungsi-fungsi dan pembagian
tugas dalam organisasi. Dalam struktur organisasi akan digambarkan tata
hubungan kerja, wewenang, dan tanggung jawab dari tiap-tiap bagian
yang ada dalam organisasi. Struktur organisasi bertujuan membantu
perusahaan dalam penyelesaian tugas secara efektif dan efisien agar
tercipta suatu kelancaran kerja, guna mencapai tujuan perusahaan yang
telah ditetapkan.
Struktur organisasi PT Cavenzi Indonesia adalah struktur
organisasi garis, karena tugas dan perintah mengalir dari pimpinan
melalui garis vertikal sampai pada tingkat yang terbawah. Struktur ini
menjelaskan bahwa setiap bawahan menerima perintah langsung dari satu
atasan dan bertanggung jawab penuh terhadap atasannya.
Struktur organisasi PT Cavenzi Indonesia dapat dilihat pada gambar
berikut ini :
70
Gambar 3.1 Struktur Organisasi PT Cavenzi Indonesia
RUPS
DEWAN KOMISARIS
DIREKTUR UTAMA
MANAGER PEMASARAN
MANAGER KEUANGAN
WAKIL MANAGER KEUANGAN
BAGIAN PERSEDIAAN
BARANG
SALES PROMOTION GIRLS
OFFICE BOY DAN
SOPIR
STAFF ADMINISTRASI
71
3.1.3 Pembagian Tugas dan Tanggung Jawab
Uraian tugas dari masing-masing posisi pada struktur organisasi PT
Cavenzi Indonesia adalah sebagai berikut :
a. RUPS (Rapat Umum Pemegang Saham).
1) Pemegang kekuasaan tertinggi dalam pengambilan keputusan.
2) Memilih dan mengangkat dewan komisaris dan direktur.
3) Mengawasi dan menerima pertanggungjawaban pelaksanaan
kegiatan perusahaan dari dewan komisaris.
b. Dewan Komisaris.
1) Mengawasi pelaksanaan kegiatan perusahaan dalam pencapaian
tujuan yang telah ditetapkan.
2) Menentukan kebijakan dan tujuan perusahaan secara keseluruhan.
3) Bertanggungjawab kepada RUPS atas seluruh kegiatan
perusahaan.
c. Direktur Utama.
1) Merumuskan, menyusun dan menetapkan kegiatan operasional
perusahaan.
2) Mengawasi, mengkoordinir dan mengevaluasi kegiatan dari
masing-masing manager dalam menjalankan aktivitas perusahaan.
3) Memberikan pengarahan umum serta menetapkan tugas,
wewenang dan tanggung jawab untuk setiap bagian perusahaan,
baik dari segi disiplin kerja maupun prestasi kerja.
4) Menerima semua laporan per bulan yang telah diperiksa oleh para
manager.
72
5) Memiliki hak / wewenang untuk memberhentikan dan menerima
karyawan.
d. Manager Keuangan
1) Memeriksa laporan keuangan per bulan yang disusun oleh Wakil
Manager Keuangan.
e. Manager Pemasaran
1) Memantau arus penjualan barang ke pelanggan, yang meliputi
pesanan penjualan barang, pembayaran pelanggan, pengiriman
barang ke pelanggan, dan retur penjualan dengan memeriksa
laporan penjualan yang telah disusun oleh staff administrasi.
2) Memantau arus persediaan barang dari supplier / vendor, yang
meliputi pembelian barang jadi ke supplier dan retur pembelian
dengan memeriksa laporan pembelian dan laporan persediaan
yang telah disusun oleh bagian persediaan barang.
f. Wakil Manager Keuangan
1) Menyusun laporan keuangan per bulan berdasarkan laporan
penjualan, pembelian, dan persediaan.
g. Bagian Persediaan Barang
1) Mengatur persediaan barang dari supplier, yang meliputi
pembelian barang jadi ke supplier dan retur pembelian.
2) Mencatat barang masuk dan keluar.
3) Menyusun laporan pembelian dan persediaan per bulan.
h. Staff Administrasi
73
1) Mengatur penjualan barang ke pelanggan, yang meliputi pesanan
penjualan barang, pembayaran pelanggan, pengiriman barang ke
pelanggan, dan retur penjualan
2) Membuat kwitansi, faktur, dan surat jalan (untuk pelanggan).
3) Mendokumentasikan faktur, tanda terima, bukti surat jalan, dan
data retur penjualan.
4) Menyusun laporan penjualan per bulan.
i. Sales Promotion Girls
1) Melayani dan melakukan penawaran barang kepada pelanggan.
j. Office Boy dan Sopir
1) Membersihkan showroom tiap hari.
2) Merakit meubel.
3) Pesuruh.
4) Mengirimkan barang pesanan pelanggan
3.1.4 Sistem yang Sedang Berjalan
3.1.4.1 Diagram Aliran Dokumen
3.1.4.1.1 DAD Sistem Penjualan
74
Mulai
Sales PromotionGirls
Pelanggan
Sesuaidengan yangdibutuhkan?
Selesai
StaffAdministrasi
Ya
Bagian PersediaanBarang
Sopir
Melakukanpenawaran
barang
Menerimainformasi
penawaran
Mengeluarkandaftar harga
Daftar harga
Tidak
Apakahharga
sesuai?Tidak
Memesanbarang
Ya
Membuatfaktur
Menawarharga
43
2
Membayar50% dariharga beli
Membuatsurat jalan
2Surat jalan
Packingbarang
Kirimbarang
Ada barangyang rusak?
Tidak
Melunasipembayaran
Faktur
Memberikanfaktur (buktipelunasan)
dan surat jalan
Faktur dansurat jalan
Ya
Memprosesretur
penjualan
Mendokumentasikanfaktur
Ordner
Mendokumentasikan surat
jalan
Ordner
Membuatkwitansi
Kwitansi
Menerimasuratjalan
Menerimafaktur
Wakil ManagerKeuangan
Menerimafaktur
Menerimafaktur
Membuatlaporan
penjualan
Mencatatbarangkeluar
Gambar 3.2 DAD Sistem Penjualan
75
3.1.4.1.2 DAD Sistem Persediaan
Gambar 3.3 DAD Sistem Persediaan
76
3.1.4.2 Kebutuhan pengguna
Analisis kebutuhan sistem pada PT Cavenzi Indonesia
digambarkan dalam tabel berikut :
Tabel 3.1 Informasi Kebutuhan Pengguna
Informasi Pengguna
Barang Bagian persediaan barang
Supplier Bagian persediaan barang
Customer Staff administrasi
Pesanan customer Staff administrasi
Pembayaran customer Staff administrasi
Pengiriman barang ke customer Staff administrasi
Pembelian barang ke supplier Bagian persediaan barang
Retur penjualan Staff administrasi
Retur pembelian Bagian persediaan barang
Laporan penjualan Staff administrasi
Laporan pembelian Bagian persediaan barang
Laporan persediaan Bagian persediaan barang
77
3.1.5 Permasalahan yang Dihadapi
Dari analisis sistem yang berlaku ditemukan permasalahan yaitu
penjualan dan persediaan masih dilakukan secara manual dengan
menggunakan kertas, sehingga membutuhkan waktu, biaya dan tenaga
yang cukup besar. Melihat permasalahan yang ada, maka PT Cavenzi
Indonesia memutuskan untuk menggunakan sistem penjualan dan
persediaan yang baru dan alternatif yang lain untuk mengatasi
permasalahan yang ada.
Sistem penjualan dan persediaan ini dibuat lebih karena adanya
arahan dari pihak manajemen PT Cavenzi Indonesia untuk lebih
meningkatkan penjualan dan dapat memantau persediaan yang ada.
3.1.6 Usulan Pemecahan Masalah
Dengan melihat permasalahan yang ada, maka usulan atas
masalah yang dihadapi adalah dengan mengubah sistem penjualan dan
persediaan yang manual menjadi sistem penjualan dan persediaan yang
dapat dilakukan dengan menggunakan aplikasi berbasis web dan
merancang sistem basis data untuk menyimpan data penjualan dan
persediaan tersebut.
Dengan adanya sistem ini, pengguna diberikan kemudahan dalam
melakukan kegiatan penjualan dan persediaan, sehingga akan lebih
efisien dan efektif dalam hal waktu pengerjaan dan tenaga serta
menghemat kertas (paperless), dan ini tentunya akan mengurangi biaya.
Pengguna juga dapat memperoleh suatu basis data dari penjualan dan
78
persediaan yang akurat dan konsisten, yang mana dapat meningkatkan
kinerja PT Cavenzi Indonesia dalam mengolah data – data tersebut.
3.2 Perancangan Sistem Basis Data
Perancangan basis data dilakukan berdasarkan kebutuhan informasi yang
telah diidentifikasi pada PT Cavenzi Indonesia dan terbagi dalam tiga tahap,
yaitu:
• Perancangan basis data konseptual
• Perancangan basis data logical
• Perancangan basis data fisikal
3.2.1 Perancangan Basis Data Konseptual
3.2.1.1 Identifikasi Tipe Entity
Tabel 3.2 Identifikasi Tipe Entity
Nama Entity Deskripsi Alias Kejadian
MsBarang Barang – barang yang
dijual di PT Cavenzi
Indonesia
Barang Memiliki beberapa
macam, seperti sofa,
lemari, meja, dll.
MsSupplier
Perusahaan –
perusahaan yang
menyediakan barang
untuk PT Cavenzi
Indonesia
Supplier Supplier memasok
barang – barang
yang akan dijual ke
pelanggan
79
Nama Entity Deskripsi Alias Kejadian
MsKaryawan Karyawan yang bekerja
pada PT Cavenzi
Indonesia
Pegawai Bekerja di PT
Cavenzi
MsCustomer Pelanggan yang hendak
membeli suatu barang
Customer Melakukan transaksi
pembelian barang
TrPemesanan
Berisi informasi
mengenai pemesanan
barang dari pelanggan
Pemesanan Pelanggan memesan
barang
TrPembayaran Berisi informasi
mengenai pembayaran
pelanggan atas
pesanannya
Pembayaran Pelanggan
membayar barang –
barang yang
dipesannya
TrPengiriman Berisi informasi
mengenai pengiriman
barang – barang ke
pelanggan
Pengiriman Barang – barang
dikirim setelah
pelanggan
melakukan
pembayaran
TrPembelian Berisi informasi
mengenai pembelian
barang ke supplier
Pembelian PT Cavenzi
Indonesia membeli
barang dari supplier
80
Nama Entity Deskripsi Alias Kejadian
TrReturPenjualan
Informasi mengenai
retur barang – barang
yang dijual ke
pelanggan
Retur
Penjualan
Jika ada barang
rusak dikirim, maka
pelanggan akan
meretur barang itu
TrReturPembelian Informasi mengenai
retur barang – barang
yang dibeli dari
supplier
Retur
Pembelian
Jika ada barang
rusak dikirim
supplier ke
perusahaan, maka
perusahaan akan
meretur barang itu
CustomerTalk Saran dan kritik
customer
Saran dan
Kritik
Setiap customer
berhak untuk
mengeluarkan saran
dan kritik, demi
kemajuan
perusahaan
3.2.1.2 Identifikasi Tipe Relationship
Tabel 3.3 Identifikasi Tipe Relationship
Nama Entity Multipicity Relational Multipicity Nama Entitas
MsBarang 1..1
1..*
Dimiliki
Dimiliki
1..*
1..*
TrPemesanan
TrPembelian
81
Nama Entity Multipicity Relational Multipicity Nama Entitas
MsSupplier 1..1 Dimiliki 1..* TrPembelian
MsKaryawan 1..1
1..1
1..1
1..1
Melakukan
Melayani
Melayani
Melakukan
1..*
1..*
1..*
1..*
TrPembelian
TrPemesanan
TrPembayaran
TrPengiriman
MsCustomer 1..1
1..1
Melakukan
Memberikan
1..*
1..*
TrPemesanan
CustomerTalk
TrPemesanan 1..1 Dimiliki 1..1 TrPembayaran
TrPembayaran 1..1 Melakukan 1..1 TrPengiriman
TrPengiriman 1..1 Memiliki 0..1 TrReturPenjualan
TrPembelian 1..1 Memiliki 0..1 TrReturPembelian
82
Gambar 3.4 ER Diagram Konseptual
83
3.2.1.3 Identifikasi dan Asosiasi Atribut dengan Entity atau Tipe
Relationship
Tabel 3.4 Entity MsBarang
Entity : MsBarang
Atribut Deskripsi Tipe Data Null Multi value
KdBarang
NamaBarang
JenisBarang
Harga
Stok
Kode Barang
Nama Barang
Jenis Barang
Harga
Persediaan Barang
Char(5)
Varchar(30)
Varchar(30)
Varchar(20)
Int
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tabel 3.5 Entity MsSupplier
Entity : MsSupplier
Atribut Deskripsi Tipe Data Null Multi value
KdSupplier
NamaSupplier
AlamatSupplier
TelpSupplier
EmailSupplier
Kode Supplier
Nama Supplier
Alamat Supplier
Telepon Supplier
Email Supplier
Char(5)
Varchar(30)
Text
Varchar(20)
Varchar(50)
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Ya
84
Tabel 3.6 Entity MsKaryawan
Entity : MsKaryawan
Atribut Deskripsi Tipe Data Null Multi value
KdKaryawan
NamaKaryawan
AlamatKaryawan
TelpKaryawan
EmailKaryawan
Jabatan
Username
Password
Kode Karyawan
Nama Karyawan
Alamat Karyawan
Telepon Karyawan
Email Karyawan
Jabatan Karyawan
Username Karyawan
Password Karyawan
Char(5)
Varchar(30)
Text
Varchar(20)
Varchar(50)
Varchar(30)
Varchar(20)
Varchar(35)
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Ya
Tidak
Tidak
Tidak
Tabel 3.7 Entity MsCustomer
Entity : MsCustomer
Atribut Deskripsi Tipe Data Null Multi value
KdCust
NamaCust
AlamatCust
KdPos
TelpCust
EmailCust
NoRekCust
Username
Kode Customer
Nama Customer
Alamat Customer
Kode Pos Customer
Telepon Customer
Email Customer
Nomor Rekening Customer
Username Customer
Int
Varchar(30)
Text
Char(5)
Varchar(20)
Varchar(50)
Varchar(20)
Varchar(20)
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Ya
Ya
Tidak
85
Password Password Customer Varchar(35) Tidak Tidak
Tabel 3.8 Entity TrPemesanan
Entity : TrPemesanan
Atribut Deskripsi Tipe Data Null Multi value
KdPemesanan
KdBarang
HargaJual
Qty
TglPesan
Kode Pemesanan
Kode Barang
Harga Jual Satuan
Jumlah Barang
Tanggal Pemesanan
Char(6)
Char(5)
Varchar(20)
Int
Datetime
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tabel 3.9 Entity TrPembayaran
Entity : TrPembayaran
Atribut Deskripsi Tipe Data Null Multi value
KdPembayaran
TglBayar
Kode Penjualan
Tanggal Pembayaran
Char(6)
Datetime
Tidak
Tidak
Tidak
Tidak
Tabel 3.10 Entity TrPengiriman
Entity : TrPengiriman
Atribut Deskripsi Tipe Data Null Multi value
KdPengiriman
TglKirim
Kode Pengiriman
Tanggal Pengiriman
Char(6)
Datetime
Tidak
Tidak
Tidak
Tidak
86
Tabel 3.11 Entity TrPembelian
Entity : TrPembelian
Atribut Deskripsi Tipe Data Null Multi value
KdPembelian
KdBarang
HargaBeli
Qty
TglBeli
Kode Pembelian
Kode Barang
Harga Beli Satuan
Banyak Barang
Tanggal Beli
Char(6)
Char(5)
Varchar(20)
Int
Datetime
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tabel 3.12 Entity TrReturPenjualan
Entity : TrReturPenjualan
Atribut Deskripsi Tipe Data Null Multi value
KdRtrPenjualan
Qty
TglPengembalian
Kode Retur Penjualan
Banyak Barang
Tanggal Pengembalian
Char(6)
Int
Datetime
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tabel 3.13 Entity TrReturPembelian
Entity : TrReturPembelian
Atribut Deskripsi Tipe Data Null Multi value
KdRtrPembelian
Qty
TglPengembalian
Kode Retur Pembelian
Banyak Barang
Tanggal Pengembalian
Char(6)
Int
Datetime
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
87
Tabel 3.14 Entity CustomerTalk
Entity : CustomerTalk
Atribut Deskripsi Tipe Data Null Multi value
KdCust
Talk
Tgl
Kode Customer
Isi saran dan kritik
Tanggal pengiriman
Char(5)
Text
Datetime
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
3.2.1.4 Menentukan Atribut Domain
Tabel 3.15 Atribut Domain Entity MsBarang
Entity : MsBarang
Atribut Atribut Domain
KdBarang
NamaBarang
JenisBarang
Harga
Stok
Harus diawali dengan ‘KB’, sisa
karakter berupa angka dan harus 5
karakter
Diisi dengan karakter, maksimal 30
karakter
Diisi dengan karakter, maksimal 30
karakter
Diisi dengan karakter, maksimal 20
karakter
Diisi dengan angka
88
Tabel 3.16 Atribut Domain Entity MsSupplier
Entity : MsSupplier
Tabel 3.17 Atribut Domain Entity MsKaryawan
Entity : MsKaryawan
Atribut Atribut Domain
KdSupplier
NamaSupplier
AlamatSupplier
TelpSupplier
EmailSupplier
Harus diawali dengan ‘KS’, sisa
karakter berupa angka dan harus 5
karakter
Diisi dengan karakter, maksimal 30
karakter
Diisi dengan karakter
Diisi karakter berupa angka, maksimal
20 karakter
Diisi dengan karakter, maksimal 50
karakter
Atribut Atribut Domain
KdKaryawan
NamaKaryawan
Harus diawali dengan ‘KK’, sisa
karakter berupa angka dan harus 5
karakter
Diisi dengan karakter, maksimal 30
karakter
89
Tabel 3.18 Atribut Domain Entity MsCustomer
Entity : MsCustomer
AlamatKaryawan
TelpKaryawan
EmailKaryawan
Jabatan
Username
Password
Diisi dengan karakter
Diisi karakter berupa angka, maksimal
20 karakter
Diisi dengan karakter, maksimal 50
karakter
Diisi dengan karakter, maksimal 30
karakter
Diisi dengan karakter, maksimal 20
karakter
Diisi dengan karakter, maksimal 35
karakter
Atribut Atribut Domain
KdCust
NamaCust
AlamatCust
KdPos
TelpCust
Diisi dengan angka
Diisi dengan karakter, maksimal 30
karakter
Diisi dengan karakter
Diisi karakter berupa angka, maksimal
5 karakter
Diisi karakter berupa angka, maksimal
90
T
Tabel 3.19 Atribut Domain Entity TrPemesanan
Entity : TrPemesanan
EmailCust
NoRekCust
Username
Password
20 karakter
Diisi dengan karakter, maksimal 50
karakter
Diisi karakter berupa angka, maksimal
20 karakter
Diisi dengan karakter, maksimal 20
karakter
Diisi dengan karakter, maksimal 35
karakter
Atribut Atribut Domain
KdPemesanan
KdBarang
HargaJual
Qty
Harus diawali dengan ‘KPB sisa
karakter berupa angka dan harus 6
karakter
Harus diawali dengan ‘KB’, sisa
karakter berupa angka dan harus 5
karakter
Diisi dengan karakter, maksimal 20
karakter
Diisi dengan angka
91
Tabel 3.20 Atribut Domain Entity TrPembayaran
Entity : TrPembayaran
Tabel 3.21 Atribut Domain Entity TrPengiriman
Entity : TrPengiriman
TglPesan Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
Atribut Atribut Domain
KdPembayaran
TglBayar
Harus diawali dengan ‘KBB’, sisa
karakter berupa angka dan harus 6
karakter
Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
Atribut Atribut Domain
KdPengiriman
TglKirim
Harus diawali dengan ‘KKB’, sisa
karakter berupa angka dan harus 6
karakter
Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
92
Tabel 3.22 Atribut Domain Entity TrPembelian
Entity : TrPembelian
Tabel 3.23 Atribut Domain Entity TrReturPenjualan
Entity : TrReturPenjualan
Atribut Atribut Domain
KdPembelian
KdBarang
HargaBeli
Qty
TglBeli
Harus diawali dengan ‘KBI’, sisa
karakter berupa angka dan harus 6
karakter
Harus diawali dengan ‘KB’, sisa
karakter berupa angka dan harus 5
karakter
Diisi dengan karakter, maksimal 20
karakter
Diisi dengan angka
Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
Atribut Atribut Domain
KdRtrPenjualan
Qty
Harus diawali dengan ‘KRJ’, sisa
karakter berupa angka dan harus 6
karakter
Diisi dengan angka
93
Tabel 3.24 Atribut Domain Entity TrReturPembelian
Entity : TrReturPembelian
TglPengembalian Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
Atribut Atribut Domain
KdRtrPembelian
Qty
TglPengembalian
Harus diawali dengan ‘KRB’, sisa
karakter berupa angka dan harus 6
karakter
Diisi dengan angka
Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
94
Tabel 3.25 Atribut Domain Entity CustomerTalk
Entity : Customer Talk
3.2.1.5 Menentukan Atribut Candidate Key dan Primary Key Setiap
Entity
Tabel 3.26 Identifikasi Candidate Key dan Primary Key
Entity Candidate Key Primary Key
MsBarang KdBarang KdBarang
MsSupplier KdSupplier KdSupplier
MsKaryawan KdKaryawan KdKaryawan
MsCustomer KdCust KdCust
TrPemesanan KdPemesanan
KdBarang
KdPemesanan
KdBarang
TrPembayaran KdPembayaran KdPembayaran
TrPengiriman KdPengiriman KdPengiriman
Atribut Atribut Domain
KdCust
Talk
Tgl
Harus diawali dengan ‘KC’, sisa
karakter berupa angka dan harus 5
karakter
Diisi dengan karakter
Diisi dengan tanggal dan waktu dengan
format yyyy-mm-dd hh:mm:ss
95
Entity Candidate Key Primary Key
TrPembelian KdPembelian
KdBarang
KdPembelian
KdBarang
TrReturPenjualan KdRtrPenjualan KdRtrPenjualan
TrReturPembelian KdRtrPembelian KdRtrPembelian
CustomerTalk KdCust KdCust
96
Gambar 3.5 ER Diagram Konseptual dengan Primary Key
97
3.2.1.6 Mempertimbangkan Penggunaan Konsep Pemodelan
Enhanced
Tidak terdapat entity dengan konsep enhanced modeling,
seperti spesialisasi, generalisasi, penggabungan (aggregation) dan
komposisi (composition).
3.2.1.7 Cek Redudansi
Pada langkah ini, dilakukan pengecekan untuk
menghilangkan redudansi. Terdapat 3 aktivitas pada langkah ini
yaitu :
1. Mengecek relasi one-to-one (1:1)
Tujuannya supaya tidak ada dua atau lebih tipe entitas yang
merepresentasikan objek yang sama dalam perusahaan.
Adapun 1:1 relationship (1:1) yang diuji antara lain :
Gambar 3.6 Hubungan one to one (1:1) antara
TrPemesanan dan TrPembayaran
98
Gambar 3.7 Hubungan one to one (1:1) antara
TrPembayaran dan TrPengiriman
Gambar 3.8 Hubungan one to one (1:1) antara
TrPengiriman dan TrPemesanan
Dari hasil pengujian tersebut ternyata tidak ditemukan adanya
dua atau lebih entitas yang merepresentasikan objek yang
sama dalam perusahaan.
2. Menghilangkan relasi yang redundan.
Pada relasi-relasi entity yang ada, tidak ada relasi yang
redundan yang perlu dihilangkan.
3. Mempertimbangkan dimensi waktu.
Tidak ada relasi yang berhubungan dengan dimensi waktu.
Oleh karena itu langkah ini tidak dilakukan.
99
3.2.1.8 Validasi Model Konseptual Terhadap Transaksi User
Validasi model data konseptual diuji untuk memastikan model
konseptual lokal mendukung dan menjalankan transaksi yang
dibutuhkan oleh pengguna.
100
Gambar 3.9 ER Diagram dengan Penambahan Panah Transaksi
101
Keterangan :
(A) Barang dimiliki transaksi pemesanan
(B) Barang dimiliki transaksi pembelian
(C) Supplier dimiliki transaksi pembelian barang
(D) Karyawan melakukan transaksi pembelian
(E) Karyawan melayani transaksi pemesanan
(F) Karyawan melayani transaksi pembayaran
(G) Karyawan melakukan transaksi pengiriman
(H) Customer melakukan pemesanan barang
(I) Customer memberikan saran dan kritik (Customer Talk)
(J) Transaksi pemesanan dimiliki transaksi pembayaran
(K) Transaksi pembayaran melakukan transaksi pengiriman
(L) Pengiriman memiliki retur penjualan
(M) Pembelian memiliki retur pembelian
3.2.1.9 Melakukan Review Model Data Konseptual dengan User
Model data konseptual merupakan representasi yang sebenarnya
dari transaksi pengguna. Setelah ditinjau secara bersama-sama
dengan penggunaannya, rancangan basis data konseptual yang
dirancang sampai tahap ini dianggap mampu mewakili keinginan
pengguna sistem di PT Cavenzi Indonesia.
102
3.2.2 Pemilihan DBMS
Berikut ini memperlihatkan perbandingan DBMS MySQL Server
2000 standard edition dengan Oracle 9i standard edition :
Tabel 3.27 Tabel perbandingan MySQL Server 2000 Standard Edition dengan
Oracle Standard edition
Kriteria Feasibility Faktor
Pemberat
MySQL Oracle 9i
Operational
Feasibility
menjelaskan sebaik
apa sistem akan
bekerja dan juga
penerimaan solusi
yang ditawarkan
25% MySQL
mendukung user
akan mudah
mengoperasikan
sistem ini.Karena
aplikasi PHP 4.0
berbasis web
interface seperti ini
mungkin sangat
familiar bagi user
yang biasa surfing
di internet dan akan
mengurangi
terjadinya human
error
Dari segi keamanan
oracle memang
memberikan
fungsionalitas yang
tinggi, tetapi di lain
pihak Oracle lebih
umum digunakan
pada perusahaan
dengan basis data
yang sangat besar,
sehingga perusahaan
dengan basis data
yang tidak besar akan
lebih memilih DBMS
lain dan tidak
mendukung TCP-C
103
Kriteria Feasibility Faktor
Pemberat
MySQL Oracle 9i
Nilai : 85 Nilai : 80
Technical Feasibility
menilai kematangan
teknologi, tingkat
keahlian teknis yang
dibutuhkan untuk
mengembangkan,
mengoperasikan, dan
mengelola DBMS
25%
Membuat aplikasi
web-based,
khususnya PHP 4.0
sangat mudah
dikuasai oleh
programmer, atau
yang baru ingin
menguasainya
dapat menjadi ahli
dalam waktu
singkat. MySQL
adalah DBMS yang
mudah digunakan
dan dioperasikan.
Secara teknis oracle
membutuhkan
keahlian yang lebih
daripada SQL Server.
Namun oracle ini
mendukung semua
platform, tidak hanya
platform yang
berbasis windows
saja. Fitur yang
mendukung adalah
PL/SQL, dimana
PL/SQL memiliki
fitur:
Indexes:
B-Tree indexes,
Bitmap indexes,
Partitioned indexes,
Function-based
104
Kriteria Feasibility Faktor
Pemberat
MySQL Oracle 9i
indexes, Domain
indexes
Tables:
BEFORE trigger,
AFTER trigger,
INSTEAD OF trigger
Procedures :
PL/SQL statements,
Java methods, Third-
Generation Language
(3GL) routines
Array : Mendukung
Nilai : 80 Nilai : 85
Economic Feasibility
Berapa besar biaya
yang dibutuhkan
untuk menerapkan
solusi
40%
MySQL Free
Processor : Pentium
166 MHz
Memory : 64 MB
RAM
Hard disk Space:
145 MB, 380 MB
(typical)
Oracle 9i Enterprise
Edition dihargai US$
40.000 namun belum
meliputi fitur-fitur
manajemen manapun
OLAP dan data
mining. Bila ingin
menginstal fitur-fitur
105
Kriteria Feasibility Faktor
Pemberat
MySQL Oracle 9i
Dilihat dari
kebutuhan piranti
lunak: Microsoft
Windows,
Dreamweaver Mx
tersebut, maka harus
mengeluarkan biaya
tambahan lagi dan ada
biaya tambahan untuk
pelatihan karena
keahlian yang tinggi.
Dilihat dari kebutuhan
piranti keras
(minimum):
Processor : Pentium
166 MHz
Memory : 128 MB
RAM
Hard disk Space: 140
MB pada system
Drive ditambah 4.5
GB untuk Oracle
Home
Drive (NTFS)
Dilihat dari kebutuhan
piranti lunak: Oracle
106
Kriteria Feasibility Faktor
Pemberat
MySQL Oracle 9i
9i mendukung semua
platform termasuk
platform berbasis
windows, AIX-Based
system, Compaq
Tru64 UNIX, HP,
LINUX, Intel,
Sun Solaris, dan
sebagainya
Nilai : 90 Nilai : 80
Schedule Feasibility
Berapa lama yang
diperlukan untuk
merancang dan
mengimplementasikan
solusi
10% Karena tidak
memerlukan
keahlian teknis
yang tinggi maka
solusi dapat
diimplementasikan
dalam waktu 5-7
bulan
Butuh waktu sekitar
9-12 bulan untuk
mengimplementasikan
solusi
Nilai : 75 Nilai : 70
100% 84,75 80,25
107
Dari hasil analisis diatas diambil keputusan bahwa DBMS yang
akan digunakan adalah MySQL. Hal ini berdasarkan dari nilai tertinggi
MySQL memperoleh nilai 84,75. MySQL juga gratis dan gampang
diimplementasikan.
Karakteristik DBMS MySQL 5.0.20 yang digunakan dalam
perancangan fisikal ini :
Tabel 3.28 Karakteristik MySQL 5.0.20
MySQL 5.0.20
Tipe DBMS Transactional relational database server
Kebutuhan Piranti Keras
Processor : Pentium 166 MHz (minimum)
Memory : 64 MB RAM (minimum)
Hard disk Space: 145 MB (minimum), 380 MB
(typical)
Kebutuhan Piranti Lunak
Membutuhkan software Apache2Triad versi 1.5.4
untuk Windows versi 2000 ke atas.
Membutuhkan software updated phpMyAdmin to
2.7.0
Portability Dapat berjalan di atas berbagai macam OS.
Open Source Karena bersifat open source, maka tidak ada
biaya license.
Multiuser Dapat digunakan oleh banyak user pada waktu
yang bersamaan.
108
MySQL 5.0.20
Security Mempunyai beberapa lapisan keamanan seperti
level subnetmask, nama host, user permission,
dan password ter-enkripsi.
Scalability & Limits Dapat menangani jumlah records lebih dari 50
juta dan jumlah tabel 60 ribu
Graphical user interface Dapat menggunakan software sebagai antarmuka
grafis dengan user, sehingga mudah digunakan.
3.2.3 Perancangan Basis Data Logikal
3.2.3.1 Menghilangkan Fitur yang Tidak Kompatibel dengan Model
Relasional
Berikut ini adalah tahap-tahap dalam menghilangkan fitur-fitur
yang tidak kompatibel dengan model relasional
1. Menghilangkan Many-To-Many (*:*) Binary Relationship
a.Relasi Many-To-Many (*:*) pada entitas TrPembelian dan
MsBarang akan menghasilkan entitas baru yaitu entitas
TrDetailPembelian
109
Gambar 3.10 Pemecahan menjadi dua relationship 1:* antara
entity TrPembelian dan MsBarang
2. Hilangkan tipe relasi Many-To-Many (*:*) rekursif
Gambar 3.11 Relasi *:* rekursif MsBarang
110
Gambar 3.12 Relasi *:* rekursif MsKaryawan
3. Hilangkan atribut Multi-Value
a. Atribute Multi-Value TeleponSupplier pada entitas
MsSupplier dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas TeleponSupplier
Gambar 3.13 Atribute Multi- Value TeleponSupplier
b.Atribute Multi-Value EmailSupplier pada entitas
MsSupplier dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas EmailSupplier
111
Gambar 3.14 Atribute Multi-Value EmailSupplier
c.Atribute Multi-Value TeleponKaryawan pada entitas
MsKaryawan dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas TeleponKaryawan
Gambar 3.15 Atribute Multi-Value TeleponKaryawan
d.Atribute Multi-Value EmailKaryawan pada entitas
MsKaryawan dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas EmailKaryawan
Gambar 3.16 Atribute Multi-Value EmailKaryawan
112
e.Atribute Multi-Value TeleponCustomer pada entitas
MsCustomer dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas TeleponCustomer
Gambar 3.17 Atribute Multi-Value TeleponCustomer
f.Atribute Multi-Value EmailCustomer pada entitas
MsCustomer dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas EmailCustomer
Gambar 3.18 Atribute Multi-Value EmailCustomer
113
g.Atribute Multi-Value NoRekCustomer pada entitas
MsCustomer dihilangkan dengan menghasilkan sebuah
entitas baru yaitu entitas EmailCustomer
Gambar 3.19 Atribute Multi-Value
NoRekeningCustomer
3.2.3.2 Membuat relasi untuk model data logikal lokal
1. Tipe entity kuat
- MsJenisBarang (KdJenisBarang, JenisBarang)
Primary Key : KdJenisBarang
- MsSupplier (KdSupplier, NamaSupplier, AlamatSupplier)
Primary Key : KdSupplier.
- MsJenisKaryawan (KdJenisKaryawan, Jabatan)
Primary Key : KdJenisKaryawan
- MsCustomer (KdCust, NamaCust, AlamatCust, KdPos,
Username, Password)
Primary Key : KdCust
- TrPemesanan (KdPemesanan, TglPesan)
Primary Key : KdPemesanan
- TrPembayaran (KdPembayaran, TglBayar)
Primary Key : KdPembayaran
114
- TrPengiriman (KdPengiriman, TglKirim)
Primary Key : KdPengiriman
- TrPembelian (KdPembelian, KdBarang, HargaBeli, Qty,
TglBeli)
Primary Key : KdPembelian
- TrReturPenjualan (KdRtrPenjualan, Qty,
TglPengembalian)
Primary Key : KdRtrPenjualan
- TrReturPembelian (KdRtrPembelian, Qty,
TglPengembalian)
Primary Key : KdRtrPembelian
2. Tipe Entity lemah
- MsBarang (KdBarang, KdJenisBarang, NamaBarang,
JenisBarang, Harga, Stok)
Primary Key : MsBarang
Foreign Key : KdJenisBarang references MsJenisBarang
- MsKaryawan (KdKaryawan, KdJenisKaryawan,
NamaKaryawan, AlamatKaryawan, Username, Password)
Primary Key : KdKaryawan
Foreign Key : KdJenisKaryawan references
MsJenisKaryawan
- TrDetailPembelian (KdPembelian, Qty, TglBeli,
HargaBeli, KdBarang, NamaBarang, JenisBarang)
115
Primary Key : KdPembelian, KdBarang
Foreign Key :
KdPembelian references TrPembelian
KdBarang references MsBarang
- TeleponSupplier (TelpSupplier, KdSupplier)
Primary Key : TelpSupplier
Foreign Key : KdSupplier references MsSupplier
- EmailSupplier (EmailSupplier, KdSupplier)
Primary Key : EmailSupplier
Foreign Key : KdSupplier references MsSupplier
- TeleponKaryawan (TelpKaryawan, KdKaryawan)
Primary Key : TelpKaryawan
Foreign Key : KdKaryawan references MsKaryawan
- EmailKaryawan (EmailKaryawan, KdKaryawan)
Primary Key : EmailKaryawan
Foreign Key : KdKaryawan references MsKaryawan
- TeleponCustomer (TelpCust, KdCust)
Primary Key : TelpCust
Foreign Key : KdCust references MsCustomer
- EmailCustomer (EmailCust, KdCust)
Primary Key : EmailCust
Foreign Key : KdCust references MsCustomer
- NoRekeningCustomer (NoRekCust, KdCust)
Primary Key : NoRekCust
116
Foreign Key : KdCust references MsCustomer
3. Mengidentifikasi relasi One-To-Many (1:*)
a. Hubungan MsSupplier dengan TrPembelian
b. Hubungan MsKaryawan dengan TrPembelian
c. Hubungan MsKaryawan dengan TrPemesanan
117
d. Hubungan MsKaryawan dengan TrPembayaran
e. Hubungan MsKaryawan dengan TrPengiriman
f. Hubungan MsCustomer dengan TrPemesanan
g. Hubungan MsCustomer dengan CustomerTalk
118
4. Mengidentifikasi relasi One-To-One (1:1)
a. Hubungan TrPemesanan dengan TrPembayaran
b. Hubungan TrPembayaran dengan TrPengiriman
c. Hubungan TrPemesanan dengan TrPengiriman
119
d. Hubungan TrPengiriman dengan TrRtrPenjualan
e. Hubungan TrPembelian dengan TrRtrPembelian
5. Mengidentifikasi relasi Many-To-Many (*;*)
a.
120
6. Mengidentifikasi atribut Multi-Value
a. Hubungan KdSupplier dengan TeleponSupplier untuk
model relasi Multi-Value mempunyai
b. Hubungan KdSupplier dengan EmailSupplier untuk model
relasi Multi-Value mempunyai
c. Hubungan KdKaryawan dengan TeleponKaryawan untuk
model relasi Multi-Value mempunyai
121
d. Hubungan KdKaryawan dengan EmailKaryawan untuk
model relasi Multi-Value mempunyai
e. Hubungan KdCustomer dengan TeleponCustomer untuk
model relasi Multi-Value mempunyai
f. Hubungan KdCustomer dengan EmailCustomer untuk
model relasi Multi-Value mempunyai
122
3.2.3.3 Memvalidasi relasi menggunakan normalisasi
• MsBarang (KdBarang, KdJenisBarang, NamaBarang,
JenisBarang, Harga, Stok)
Primary Key : KdBarang
Foreign Key : KdJenisBarang references MsJenisBarang
(KdJenisBarang)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
MsBarang (KdBarang, KdJenisBarang, NamaBarang,
JenisBarang, Harga, Stok)
Primary key : KdBarang
Foreign Key : KdJenisBarang references MsJenisBarang
(KdJenisBarang)
• MsJenisBarang (KdJenisBarang, JenisBarang)
Primary Key : KdJenisBarang
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
123
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
MsJenisBarang (KdJenisBarang, JenisBarang)
Primary key : KdJenisBarang
• MsSupplier (KdSupplier, NamaSupplier, AlamatSupplier)
Primary Key : KdSupplier
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
MsSupplier (KdSupplier, NamaSupplier, AlamatSupplier)
Primary key : KdSupplier
• MsKaryawan (KdKaryawan, KdJenisKaryawan,
NamaKaryawan, AlamatKaryawan, Username, Password)
Primary Key : KdKaryawan
124
Foreign Key : KdJenisKaryawan references
MsJenisKaryawan (KdJenisKaryawan)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
MsKaryawan (KdKaryawan, KdJenisKaryawan,
NamaKaryawan, AlamatKaryawan, Username, Password)
Primary key : KdKaryawan
Foreign Key : KdJenisKaryawan references
MsJenisKaryawan (KdJenisKaryawan)
• MsJenisKaryawan (KdJenisKaryawan, Jabatan)
Primary Key : KdJenisKaryawan
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
125
MsJenisKaryawan (KdJenisKaryawan, Jabatan)
Primary key : KdJenisKaryawan
• MsCustomer (KdCust, NamaCust, AlamatCust, KdPos,
Username,Password)
Primary Key : KdCust
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
MsCustomer (KdCust, NamaCust, AlamatCust, KdPos,
Username, Password)
Primary key : KdCust
• TrPemesanan (KdPemesanan, TglPesan)
Primary Key : KdPemesanan
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
126
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrPemesanan (KdPemesanan, TglPesan)
Primary Key : KdPemesanan
• TrPembayaran (KdPembayaran, TglBayar)
Primary Key : KdPembayaran
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrPembayaran (KdPembayaran, TglBayar)
Primary Key : KdPembayaran
• TrPengiriman (KdPengiriman, TglKirim)
Primary Key : KdPengiriman
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
127
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrPengiriman (KdPengiriman, TglKirim)
Primary Key : KdPengiriman
• TrPembelian (KdPembelian, Qty, TglBeli, HargaBeli)
Primary Key : KdPembelian
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrPembelian (KdPembelian, Qty, TglBeli, HargaBeli)
Primary Key : KdPembelian
128
• TrReturPenjualan (KdRtrPenjualan, Qty, TglPengembalian)
Primary Key : KdRtrPenjualan
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrReturPenjualan (KdRtrPenjualan, Qty, TglPengembalian)
Primary Key : KdRtrPenjualan
• TrReturPembelian (KdRtrPembelian, Qty,TglPengembalian)
Primary Key : KdRtrPembelian
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrReturPembelian (KdRtrPembelian, Qty,TglPengembalian)
Primary Key : KdRtrPembelian
129
• TrDetailPembelian (KdPembelian, Qty, TglBeli, HargaBeli,
KdBarang, NamaBarang, JenisBarang)
Primary Key : KdPembelian, KdBarang
Foreign Key : KdPembelian references
TrPembelian(KdPembelian)
Foreign Key : KdBarang references MsBarang (KdBarang)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TrDetailPembelian (KdPembelian, Qty, TglBeli, HargaBeli,
KdBarang, NamaBarang, JenisBarang)
Primary Key : KdPembelian, KdBarang
Foreign Key : KdPembelian references
TrPembelian(KdPembelian)
Foreign Key : KdBarang references MsBarang (KdBarang)
• TeleponSupplier (TelpSupplier, KdSupplier)
Primary Key : TelpSupplier
130
Foreign Key : KdSupplier references MsSupplier
(KdSupplier)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TeleponSupplier (TelpSupplier, KdSupplier)
Primary Key : TelpSupplier
Foreign Key : KdSupplier references MsSupplier
(KdSupplier)
• EmailSupplier (EmailSupplier, KdSupplier)
Primary Key : EmailSupplier
Foreign Key : KdSupplier references MsSupplier
(KdSupplier)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
131
Hasil validasi normalisasi :
EmailSupplier (EmailSupplier, KdSupplier)
Primary Key : EmailSupplier
Foreign Key : KdSupplier references MsSupplier
(KdSupplier)
• TeleponKaryawan (TelpKaryawan, KdKaryawan)
Primary Key : TelpKaryawan
Foreign Key : KdKaryawan references MsKaryawan
(KdKaryawan)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TeleponKaryawan (TelpKaryawan, KdKaryawan)
Primary Key : TelpKaryawan
Foreign Key : KdKaryawan references MsKaryawan
(KdKaryawan)
132
• EmailKaryawan (EmailKaryawan, KdKaryawan)
Primary Key : EmailKaryawan
Foreign Key : KdKaryawan references MsKaryawan
(KdKaryawan)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
EmailKaryawan (EmailKaryawan, KdKaryawan)
Primary Key : EmailKaryawan
Foreign Key : KdKaryawan references MsKaryawan
(KdKaryawan)
• TeleponCustomer (TelpCust, KdCust)
Primary Key : TelpCust
Foreign Key : KdCust references MsCustomer (KdCust)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
133
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
TeleponCustomer (TelpCust, KdCust)
Primary Key : TelpCust
Foreign Key : KdCust references MsCustomer (KdCust)
• EmailCustomer (EmailCust, KdCust)
Primary Key : EmailCust
Foreign Key : KdCust references MsCustomer (KdCust)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
EmailCustomer (EmailCust, KdCust)
Primary Key : EmailCust
Foreign Key : KdCust references MsCustomer (KdCust)
134
• NoRekeningCustomer (NoRekCust, KdCust)
Primary Key : NoRekCust
Foreign Key : KdCust references MsCustomer (KdCust)
1NF : Sudah memenuhi 1NF karena mempunyai primary key
dan tidak ada lagi repeating group.
2NF : Sudah memenuhi 2NF karena tidak terdapat partial
dependency.
3NF : Sudah memenuhi 3NF karena tidak terdapat transitive
dependency
Hasil validasi normalisasi :
NoRekeningCustomer (NoRekCust, KdCust)
Primary Key : NoRekCust
Foreign Key : KdCust references MsCustomer (KdCust)
3.2.3.4 Validasi relasi pada transaksi user
Semua transaksi pengguna seperti yang telah didefinisikan
pada tahap konseptual diperiksa kembali terhadap relasi yang ada
untuk memastikan relasi sudah benar dan dapat memenuhi
transaksi-transaksi yang dibutuhkan pengguna.
135
3.2.3.5 Mendefinisikan integrity constraint
• Required data
Beberapa atribut harus selalu berisi data yang sah sehingga
atribut tersebut tidak diperbolehkan menerima null. Batasan
seperti ini telah diidentifikasikan dalam kamus data atribut.
• Attribute domain constrains
Setiap atribut mempunyai domain yang merupakan
sekumpulan nilai yang sah. Batasan ini telah diidentifiikasikan
pada saat menentukan domain atribut untuk model data.
• Entity integrity
Primary key dari sebuah entity tidak dapat menerima null.
Batasan ini telah dipertimbangkan pada saat mengidentifikasi
primary key pada kamus data entitas.
• Referential integrity
MsBarang (KdBarang, KdJenisBarang, NamaBarang,
JenisBarang, Harga, Stok)
Primary key : KdBarang
Foreign Key KdJenisBarang references MsJenisBarang
ON UPDATE CASCADE ON DELETE NO ACTION
MsSupplier (KdSupplier, NamaSupplier, AlamatSupplier)
Primary key : KdSupplier
136
MsKaryawan (KdKaryawan, KdJenisKaryawan,
NamaKaryawan, AlamatKaryawan, Username, Password)
Primary key : KdKaryawan
Foreign Key KdJenisKaryawan references MsJenisKaryawan
(KdJenisKaryawan)
MsCustomer (KdCust, NamaCust, AlamatCust, KdPos,
Username, Password)
Primary Key : KdCust
TrPemesanan (KdPemesanan, TglPesan)
Primary Key : KdPemesanan
TrPembayaran (KdPembayaran, TglBayar)
Primary Key : KdPembayaran
TrPengiriman (KdPengiriman, TglKirim)
Primary Key : KdPengiriman
TrPembelian (KdPembelian, Qty, TglBeli, HargaBeli)
Primary Key : KdPembelian
TrReturPenjualan (KdRtrPenjualan, Qty, TglPengembalian)
Primary Key : KdRtrPenjualan
137
TrReturPembelian (KdRtrPembelian, Qty,
TglPengembalian)
Primary Key : KdRtrPembelian
TrDetailPembelian (KdPembelian, Qty, TglBeli, HargaBeli,
KdBarang, NamaBarang, JenisBarang)
Primary Key : KdPembelian, KdBarang
Foreign Key KdPembelian references TrPembelian
(KdPembelian)
Foreign Key KdBarang references MsBarang (KdBarang)
ON UPDATE CASCADE ON DELETE NO ACTION
TeleponSupplier (TelpSupplier, KdSupplier)
Primary Key : TelpSupplier
Foreign Key KdSupplier references MsSupplier
(KdSupplier)
ON UPDATE CASCADE ON DELETE NO ACTION
EmailSupplier (EmailSupplier, KdSupplier)
Primary Key : EmailSupplier
Foreign Key KdSupplier references MsSupplier
(KdSupplier)
ON UPDATE CASCADE ON DELETE NO ACTION
138
TeleponKaryawan (TelpKaryawan, KdKaryawan)
Primary Key : TelpKaryawan
Foreign Key KdKaryawan references MsKaryawan
(KdKaryawan)
ON UPDATE CASCADE ON DELETE NO ACTION
EmailKaryawan (EmailKaryawan, KdKaryawan)
Primary Key : EmailKaryawan
Foreign Key KdKaryawan references MsKaryawan
(KdKaryawan)
ON UPDATE CASCADE ON DELETE NO ACTION
TeleponCustomer (TelpCust, KdCust)
Primary Key : TelpCust
Foreign Key KdCust references MsCustomer (KdCust)
ON UPDATE CASCADE ON DELETE NO ACTION
EmailCustomer (EmailCust, KdCust)
Primary Key : EmailCust
Foreign Key KdCust references MsCustomer (KdCust)
ON UPDATE CASCADE ON DELETE NO ACTION
139
NoRekeningCustomer (NoRekCust, KdCust)
Primary Key : NoRekCust
Foreign Key KdCust references MsCustomer (KdCust)
ON UPDATE CASCADE ON DELETE NO ACTION
• Enterprise constrains
Merupakan aturan tambahan yang dibuat oleh user atau
seorang database administrator dari basis data tersebut.
Batasan ini telah diidentifikasikan dalam tabel atribut domain.
140
MsBarang
PK KdBarang
FK1 KdJenisBarangNamaBarangHargaStok
TrDetailPembelian
PK KdPembelian
FK1 KdBarangQtyTglBeliHargaBeliNamaBarangJenisBarang
TrReturPenjualan
PK KdRtrPenjualan
FK1 KdPengirimanQtyTglPengembalian
TrPembelian
PK KdPembelian
FK1 KdBarangFK2 KdSupplier
QtyTglBeliHargaBeli
TrReturPembelian
PK KdRtrPembelian
FK1 KdPembelianQtyTglPengembalian
MsCustomer
PK KdCust
NamaCustAlamatCustKdPosUsernamePassword
MsSupplier
PK KdSupplier
NamaSupplierAlamatSupplier
TeleponSupplier
PK TelpSupplier
FK1 KdSupplierEmailSupplier
PK EmailSupplier
FK1 KdSupplier
MsKaryawan
PK KdKaryawan
FK1 KdJenisKaryawanNamaKaryawanAlamatKaryawanUsernamePassword
TeleponKaryawan
PK TeleponKaryawan
FK1 KdKaryawan
EmailKaryawan
PK EmailKaryawan
FK1 KdKaryawan
TeleponCustomer
PK TelpCust
FK1 KdCust
EmailCustomer
PK EmailCust
FK1 KdCust
MsJenisBarang
PK KdJenisBarang
JenisBarang
MsJenisKaryawan
PK KdJenisKaryawan
Jabatan
NoRekeningCustomer
PK NoRekCust
FK1 KdCust
TrPemesanan
PK KdPemesanan
FK1 KdCustTglPesan
TrPembayaran
PK KdPembayaran
FK1 KdPemesananTglBayar
TrPengiriman
PK KdPengiriman
FK1 KdPembayaranTglKirim
FK2 KdKaryawan
CustomerTalk
PK,FK1 KdCust
TalkTgl
Gambar 3.20 : ERD LOGIKAL
141
3.2.4 Perancangan Basis Data Fisikal
Pada perancangan basis data fisikal terdapat pembahasan perancangan
Database Design Language (DBDL) untuk setiap entitas, perancangan
constraint setiap entitas, analisis transaksi, pembuatan indeks, serta
perancangan mekanisme keamanan data.
3.2.4.1 Menerjemahkan Model Data Logikal kedalam Target DBMS
Bertujuan untuk membuat suatu skema basis data relasional dari
model data logikal yang dapat diimplementasikan ke DBMS yang
dituju.
3.2.4.1.1 Merancang Relasi Dasar
Tujuan dari tahap ini adalah untuk merepresentasikan
relasi dasar yang diidentifikasi pada model data logikal
global ke dalam sasaran DBMS dengan menggunakan
DBDL (Database Design Language). DBDL yang
digunakan adalah sebagai berikut:
1. DBDL untuk MsBarang
Domain KdBarang : char, length 5
Domain KdJenisBarang : char, length 6
Domain NamaBarang : variable length char string,
length 20
Domain Harga : variable length char string,
length 20
Domain Stok : int
142
MsBarang (
KdBarang Kode Barang NOT NULL,
KdJenisBarang Kode Jenis Barang NOT NULL,
NamaBarang Nama Barang NOT NULL,
Harga Harga NOT NULL,
Stok Persediaan Barang NOT NULL
Primary Key KdBarang
Foreign Key KdJenisBarang references MsBarang
(KdJenisBarang) ON UPDATE CASCADE ON
DELETE NO ACTION
2. DBDL untuk MsJenisBarang
Domain KdJenisBarang : char, length 5
Domain JenisBarang : variable length char string,
length 20
MsJenisBarang(
KdJenisBarang Kode Jenis Barang NOT NULL,
JenisBarang Jenis Barang NOT NULL
Primary Key KdJenisBarang
143
3. DBDL untuk MsSupplier
Domain KdSupplier : char, length 5
Domain NamaSupplier : variable length char string,
length 20
Domain AlamatSupplier : text
MsSupplier (
KdSupplier Kode Supplier NOT NULL,
NamaSupplier Nama Supplier NOT NULL,
AlamatSupplier Alamat Supplier NOT NULL,
Primary Key KdSupplier
4. DBDL untuk TeleponSupplier
Domain KdSupplier : char, length 5
Domain TelpSupplier : variable length char string,
length 20
TeleponSupplier (
KdSupplier Kode Supplier NOT NULL,
TelpSupplier Telepon Supplier NOTNULL
Primary Key TelpSupplier
Foreign Key KdSupplier references MsSupplier
(KdSupplier) ON UPDATE CASCADE ON
DELETE NO ACTION
144
5. DBDL untuk EmailSupplier
Domain EmailSupplier : variable length char string,
length 50
Domain KdSupplier : char, length 5
EmailSupplier (
EmailSupplier Email Supplier NOTNULL,
KdSupplier Kode Supplier NOT NULL
Primary Key EmailSupplier
Foreign Key KdSupplier references MsSupplier
(KdSupplier) ON UPDATE CASCADE ON
DELETE NO ACTION
6. DBDL untuk MsKaryawan
Domain KdKaryawan : char, length 5
Domain KdJenisKaryawan : char, length 6
Domain NamaKaryawan : variable length char
string, length 50
Domain AlamatKaryawan : text
Domain Username : variable length char string,
length 20
Domain Password : variable length char
string, length 35
145
MsKaryawan (
KdKaryawan Kode Karyawan NOT NULL,
KdJenisKaryawan Kode Jenis Karyawan NOT
NULL,
NamaKaryawan Nama Karyawan NOT NULL,
AlamatKaryawan Alamat Karyawan NOT NULL,
Username Username Karyawan NOT NULL,
Password Password Karyawan NOT NULL
Primary Key KdKaryawan
Foreign Key KdJenisKaryawan references
MsJenisKaryawan (KdJenisKaryawan) ON UPDATE
CASCADE ON DELETE NO ACTION
7. DBDL untuk MsJenisKaryawan
Domain KdJenisKaryawan : char, length 6
Domain JabatanKaryawan : variable length char
string, length 30
MsJenisKaryawan (
KdJenisKaryawan Kode Jenis Karyawan NOT
NULL,
Jabatan Jabatan Karyawan NOT NULL
Primary Key KdJenisKaryawan
146
8. DBDL untuk TeleponKaryawan
Domain TelpKaryawan : variable length char string,
length 20
Domain KdKaryawan : char, length 5
TeleponKaryawan (
TelpKaryawan Telepon Karyawan NOTNULL
KdKaryawan Kode Karyawan NOT NULL,
Primary Key TelpKaryawan
Foreign Key KdKaryawan references MsKaryawan
(KdKaryawan) ON UPDATE CASCADE ON
DELETE NO ACTION,
9. DBDL untuk EmailKaryawan
Domain EmailKaryawan : variable length char
string, length 50
Domain KdKaryawan : char, length 5
EmailKaryawan (
TelpKaryawan Email Karyawan NOTNULL
KdKaryawan Kode Karyawan NOT NULL,
Primary Key EmailKaryawan
Foreign Key KdKaryawan references MsKaryawan
(KdKaryawan) ON UPDATE CASCADE ON
DELETE NO ACTION,
147
10. DBDL untuk MsCustomer
Domain KdCust : integer
Domain NamaCust : variable length char string,
length 50
Domain AlamatCust : text
Domain Kdpos : char, length 5
Domain Username : variable length char string,
length 20
Domain Password : variable length char
string, length 35
MsCustomer (
KdCust Kode Customer NOT NULL,
NamaCust Nama Customer NOT NULL,
AlamatCust Alamat Customer NOT NULL,
Kdpos Kode Pos dari Customer NOT NULL,
Username Username Customer NOT NULL,
Password Password Customer NOT NULL
Primary Key KdCust
11. DBDL untuk TeleponCustomer
Domain TelpCust : variable length char string, length
20
Domain KdCust : char, length 5
148
TeleponCustomer (
TelpCust Telepon Customer NOTNULL
KdCust Kode Customer NOT NULL,
Primary Key TelpCust
Foreign Key KdCust references MsCustomer
(KdCust) ON UPDATE CASCADE ON DELETE
NO ACTION,
12. DBDL untuk EmailCustomer
Domain EmailCust : variable length char string,
length 50
Domain KdCust : char, length 5
EmailCustomer (
TelpCust Email Customer NOTNULL,
KdCust Kode Customer NOT NULL
Primary Key EmailCust
Foreign Key KdCust references MsCustomer
(KdCust) ON UPDATE CASCADE ON DELETE
NO ACTION
13. DBDL untuk NoRekeningCustomer
Domain NoRekCust : variable length char string,
length 50
149
Domain KdCust : char, length 5
NoRekeningCustomer (
NoRekCust Email Customer NOTNULL,
KdCust Kode Customer NOT NULL
Primary Key NoRekCust
Foreign Key KdCust references MsCustomer
(KdCust) ON UPDATE CASCADE ON DELETE
NO ACTION
14. DBDL untuk TrPemesanan
Domain KdPemesanan : char, length 6
Domain KdCust : char, length 5
Domain TglPesan : datetime
TrPemesanan (
KdPemesanan Kode Pemesanan NOT NULL,
KdCust Kode Customer NOTNULL,
TglPesan Tanggal pemesanan NOT NULL
Primary Key KdPemesanan
Foreign Key KdCust references MsCustomer
(KdCust) ON UPDATE CASCADE ON DELETE
NO ACTION
);
150
15. DBDL untuk TrPembayaran
Domain KdPembayaran : char, length 6
Domain KdPemesanan : char, length 6
Domain KdKaryawan : char, lenght 5
Domain TglBayar : datetime
TrPembayaran (
KdPembayaran Kode Pembayaran NOT NULL,
KdPemesanan Kode Pemesanan NOTNULL,
KdKaryawan Kode Karyawan NOT NULL,
TglBayar Tanggal pembayaran NOT NULL
Primary Key KdPembayaran
Foreign Key KdPemesanan references
TrPemesanan (KdPemesanan) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key KdKaryawan references MsKaryawan
(KdKaryawan) ON UPDATE CASCADE ON
DELETE NO ACTION
);
16. DBDL untuk TrPengiriman
Domain KdPengiriman : char, length 6
Domain KdPembayaran : char, length 6
Domain KdKaryawan : char, length 5
151
Domain TglKirim : datetime
TrPengiriman (
KdPengiriman Kode Pengiriman NOT NULL,
KdPembayaran Kode Pembayaran NOTNULL,
KdKaryawan Kode Karyawan NOT NULL,
TglKirim Tanggal pembayaran NOT NULL
Primary Key KdPengiriman
Foreign Key KdPembayaran references
TrPembayaran (KdPembayaran) ON UPDATE
CASCADE ON DELETE NO ACTION
Foreign Key KdKaryawan references MsKaryawan
(KdKaryawan) ON UPDATE CASCADE ON
DELETE NO ACTION
);
17. DBDL untuk TrPembelian
Domain KdPembelian : char, length 6
Domain KdSupplier : char, lenght 5
Domain TglBeli : datetime
TrPembelian (
KdPembelian Kode Pembelian NOT NULL,
KdSupplier Kode Supplier NOT NULL,
TglBeli Tanggal Pembelian NOTNULL
152
Primary Key KdPembelian
Foreign Key KdSupplier references MsSupplier
(KdSupplier) ON UPDATE CASCADE ON
DELETE NO ACTION,
);
18. DBDL untuk TrDetailPembelian
Domain KdPembelian : char, length 6
Domain KdBarang : char, length 6
Domain HargaBeli : variable length char string,
length 20
Domain Qty : integer
TrDetailPembelian (
KdPembelian Kode Pembelian NOT NULL,
KdBarang Kode Barang NOT NULL,
HargaBeli Harga Beli Satuan NOT NULL,
Qty Banyaknya barang NOT NULL,
Primary Key KdPembelian
Foreign Key KdBarang references MsBrang
(KdBarang) ON UPDATE CASCADE ON DELETE
NO ACTION
);
153
19. DBDL untuk TrReturPenjualan
Domain KdRtrPenjualan: char, length 6
Domain KdPenjualan : char, length 6
Domain Qty : integer
Domain TglPengembalian : Datetime
TrReturPenjualan (
KdRtrPenjualan Kode Retur Penjualan NOT
NULL,
KdPenjualan Kode penjualan NOT
NULL,
Qty Banyaknya barang NOT
NULL,
TglPengembalian Tanggal Pengembalian NOT
NULL
Primary Key KdRtrPenjualan
Foreign Key KdPenjualan references TrlPenjualan
(KdPenjualan) ON UPDATE CASCADE ON
DELETE NO ACTION
);
20. DBDL untuk TrReturPembelian
Domain KdRtrPembelian : char, length 6
Domain KdPembelian : char, length 6
154
Domain Qty : integer
Domain TglPengembalian : Datetime
TrReturPembelian (
KdRtrPembelian Kode Retur Pembelian NOT
NULL,
KdPembelian Kode Pembelian NOT NULL,
Qty Banyaknya barang NOT NULL,
TglPengembalian Tanggal Pengembalian NOT
NULL
Primary Key KdRtrPembelian
Foreign Key KdPembelian references
TrHeaderlPembelian (KdPembelian) ON UPDATE
CASCADE ON DELETE NO ACTION
);
21. DBDL untuk CustomerTalk
Domain KdCust : char, length 6
Domain Talk : Text
Domain Tgl : datetime
CustomerTalk (
KdCust Kode Customer NOT NULL,
Talk Komentar NOT NULL,
Tgl Nama barang NOT NULL
155
Primary Key KdCust
Foreign Key KdCust references MsCustomer
(KdCust) ON UPDATE CASCADE ON DELETE
NO ACTION
);
3.2.4.1.2 Merancang Representasi Dari Data Turunan
Tujuan dari langkah ini adalah untuk memutuskan
bagaimana merepresentasikan suatu data turunan pada
model data logikal global pada DBMS yang dipakai.
Pada model data logikal global yang telah dibuat tidak
terdapat data turunan, jadi langkah ini tidak dilakukan
3.2.4.1.3 Merancang Enterprise Constraints
Berikut ini merupakan perancangan constraints yang
terdapat dalam suatu entitas, antara lain:
1. Constraint untuk MsBarang
CREATE TABLE MsBarang
(
KdBarang CHAR(5),
KdJenisBarang VARCHAR(30),
NamaBarang VARCHAR(30),
Harga VARCHAR(20)
Stok INT,
156
CONSTRAINT PK MsBarang PRIMARY KEY
(KdBarang),
CONSTRAINT FK MsBarang FOREIGN KEY
(KdJenisBarang) REFERENCES MsJenisBarang
(KdJenisBarang) ON UPDATE CASCADE ON
DELETE NO ACTION
)
2. Constraint untuk MsJenisBarang
CREATE TABLE MsJenisBarang
(
KdJenisBarang VARCHAR(30),
JenisBarang VARCHAR(30),
CONSTRAINT PK MsjenisBarang PRIMARY
KEY (KdJenisBarang),
)
3. Constraint untuk MsSupplier
CREATE TABLE MsSupplier
(
KdSupplier CHAR(5),
NamaSupplier VARCHAR(20),
AlamatSupplier TEXT,
157
CONSTRAINT PK MsSupplier PRIMARY KEY
(KdSupplier)
)
4. Constraint untuk TeleponSupplier
CREATE TABLE TeleponSupplier
(
TelpSupplier VARCHAR(20),
KdSupplier CHAR(5),
CONSTRAINT PK TeleponSupplier PRIMARY
KEY (TelpSupplier)
CONSTRAINT FK TeleponSupplier FOREIGN
KEY (KdSupplier) REFERENCES MsSupplier
(KdSupplier) ON UPDATE CASCADE ON
DELETE NO ACTION
)
5. Constraint untuk EmailSupplier
CREATE TABLE EmailSupplier
(
EmailSupplier VARCHAR(20),
KdSupplier CHAR(5),
CONSTRAINT PK EmailSupplier PRIMARY
KEY (EmailSupplier)
158
CONSTRAINT FK EmailSupplier FOREIGN
KEY (KdSupplier) REFERENCES MsSupplier
(KdSupplier) ON UPDATE CASCADE ON
DELETE NO ACTION
)
6. Constraint untuk MsKaryawan
CREATE TABLE MsKaryawan
(
KdKaryawan CHAR(5),
KdJenisKaryawan CHAR(6),
NamaKaryawan VARCHAR(20),
AlamatKaryawan TEXT,
Username VARCHAR (20),
Password VARCHAR (10),
CONSTRAINT PK MsKaryawan PRIMARY
KEY (KdKaryawan),
CONSTRAINT FK MsKaryawan FOREIGN
KEY (KdJenisKaryawan) REFERENCES
MsJenisKaryawan(KdJenisKaryawan) ON
UPDATE CASCADE ON DELETE NO
ACTION
)
159
7. Constraint untuk MsJenisKaryawan
CREATE TABLE MsJenisKaryawan
(
KdJenisKaryawan CHAR(6),
Jabatan VARCHAR(30),
CONSTRAINT PK MsJenisKaryawan
PRIMARY KEY (KdJenisKaryawan)
)
8. Constraint untuk TeleponKaryawan
CREATE TABLE TeleponKaryawan
(
TelpKaryawan VARCHAR(20),
KdKaryawan CHAR(5),
CONSTRAINT PK TeleponKaryawan
PRIMARY KEY (TelpKaryawan)
CONSTRAINT FK TeleponKaryawan
FOREIGN KEY (KdKaryawan) REFERENCES
MsKaryawan (KdKaryawan) ON UPDATE
CASCADE ON DELETE NO ACTION
)
160
9. Constraint untuk EmailKaryawan
CREATE TABLE EmailKaryawan
(
EmailKaryawan VARCHAR(20),
KdKaryawan CHAR(5),
CONSTRAINT PK EmailKaryawan PRIMARY
KEY (EmailKaryawan)
CONSTRAINT FK EmailKaryawan FOREIGN
KEY (KdKaryawan) REFERENCES
MsKaryawan (KdKaryawan) ON UPDATE
CASCADE ON DELETE NO ACTION
)
10. Constraint untuk MsCustomer
CREATE TABLE MsCustomer
(
KdCust INT(5),
KdJenisCust CHAR(6),
NamaCust VARCHAR(50),
AlamatCust TEXT,
KdPos VARCHAR(6),
Username VARCHAR (20),
Password VARCHAR (10),
161
CONSTRAINT PK MsCustomer PRIMARY
KEY (KdCust),
CONSTRAINT FK MsCustomer FOREIGN
KEY (KdJenisCust) REFERENCES
MsJenisCustomer(KdJenisCust) ON UPDATE
CASCADE ON DELETE NO ACTION
)
11. Constraint untuk TeleponCustomer
CREATE TABLE TeleponCustomer
(
TelpCust VARCHAR(20),
KdCust CHAR(5),
CONSTRAINT PK TeleponCustomer
PRIMARY KEY (TelpCust)
CONSTRAINT FK TeleponCustomer FOREIGN
KEY (KdCust) REFERENCES MsCustomer
(KdCust) ON UPDATE CASCADE ON
DELETE NO ACTION
)
162
12. Constraint untuk EmailCustomer
CREATE TABLE EmailCustomer
(
EmailCust VARCHAR(20),
KdCust CHAR(5),
CONSTRAINT PK EmailCustomer PRIMARY
KEY (EmailCust)
CONSTRAINT FK EmailCustomer FOREIGN
KEY (KdCust) REFERENCES MsCustomer
(KdCust) ON UPDATE CASCADE ON
DELETE NO ACTION
)
13. Constraint untuk NoRekeningCustomer
CREATE TABLE NoRekeningCustomer
(
NoRekCust VARCHAR(20),
KdCust CHAR(5),
CONSTRAINT PK NoRekeningCustomer
PRIMARY KEY (NoRekCust)
CONSTRAINT FK NoRekeningCustomer
FOREIGN KEY (KdCust) REFERENCES
MsCustomer (KdCust) ON UPDATE
CASCADE ON DELETE NO ACTION
163
)
14. Constraint untuk TrPemesanan
CREATE TABLE TrPemesanan
(
KdPemesanan CHAR(6),
KdCust CHAR(5),
TglPesan DATETIME,
CONSTRAINT PK TrPemesanan PRIMARY
KEY (KdPemesanan),
CONSTRAINT FK TrPemesanan FOREIGN
KEY (KdCust)
REFERENCES MsCust(KdCust) ON UPDATE
CASCADE ON DELETE NO ACTION
)
15. Constraint untuk TrPembayaran
CREATE TABLE TrPembayaran
(
KdPembayaran CHAR(6),
KdPemesanan CHAR(6),
KdKaryawan CHAR(5),
TglBayar DATETIME,
164
CONSTRAINT PK TrPembayaran PRIMARY
KEY (KdPembayaran),
CONSTRAINT FK TrPembayaran FOREIGN
KEY (KdPemesanan) REFERENCES
TrPemesanan(KdPemesanan) ON UPDATE
CASCADE ON DELETE NO ACTION,
CONSTRAINT FK TrPembayaran FOREIGN
KEY (KdKaryawan) REFERENCES
MsKaryawan(KdKaryawan) ON UPDATE
CASCADE ON DELETE NO ACTION
)
16. Constraint untuk TrPengiriman
CREATE TABLE TrPengiriman
(
KdPengiriman CHAR(6),
KdPembayaran CHAR(6),
KdKaryawan CHAR(5),
TglKirim DATETIME,
CONSTRAINT PK TrPengiriman PRIMARY
KEY (KdPengiriman),
CONSTRAINT FK TrPengiriman FOREIGN
KEY (KdPembayaran) REFERENCES
165
TrPembayaran (KdPembayaran) ON UPDATE
CASCADE ON DELETE NO ACTION,
CONSTRAINT FK TrPengiriman FOREIGN
KEY (KdKaryawan) REFERENCES
MsKaryawan (KdKaryawan) ON UPDATE
CASCADE ON DELETE NO ACTION
)
17. Constraint untuk TrPembelian
CREATE TABLE TrPembelian
(
KdPembelian CHAR(6),
KdSupplier CHAR(5),
TglBeli DATETIME,
CONSTRAINT PK TrPembelian PRIMARY
KEY (KdPembelian),
CONSTRAINT FK TrPembelian FOREIGN
KEY (KdSupplier) REFERENCES
MsSupplier(KdSupplier) ON UPDATE
CASCADE ON DELETE NO ACTION
)
166
18. Constraint untuk TrDetailPembelian
CREATE TABLE TrDetailPembelian
(
KdPembelian CHAR(6),
KdBarang CHAR(5),
HargaBeli VARCHAR(20),
Qty INT(8)
CONSTRAINT PK TrPembelian PRIMARY
KEY (KdPembelian,KdBarang),
CONSTRAINT FK TrDetailPembelian
FOREIGN KEY (KdPembelian) REFERENCES
TrPembelian(KdPembelian) ON UPDATE
CASCADE ON DELETE NO ACTION,
CONSTRAINT FK TrPembelian FOREIGN
KEY (KdBarang) REFERENCES
MsBarang(KdBarang) ON UPDATE CASCADE
ON DELETE NO ACTION
)
19. Constraint untuk TrReturPenjualan
CREATE TABLE TrReturPenjualan
(
KdRtrPenjualan CHAR(6),
KdPenjualan CHAR(6),
167
Qty INT,
TglPengembalian DATETIME,
CONSTRAINT PK TrReturPenjualan
PRIMARY KEY (KdRtrPenjualan),
CONSTRAINT FK TrReturPenjualan FOREIGN
KEY (KdPenjualan)
REFERENCES
TrHeaderPenjualan(KdPenjualan) ON UPDATE
CASCADE ON DELETE NO ACTION
)
20. Constraint untuk TrReturPembelian
CREATE TABLE TrReturPembelian
(
KdRtrPembelian CHAR(6),
KdPembelian CHAR(6),
Qty INT,
TglPengembalian DATETIME,
CONSTRAINT PK TrReturPembelian
PRIMARY KEY (KdRtrPembelian),
CONSTRAINT FK TrReturPembelian
FOREIGN KEY (KdPembelian)
REFERENCES
TrHeaderPembelian(KdPembelian) ON
168
UPDATE CASCADE ON DELETE NO
ACTION
)
21. Constraint untuk CustomerTalk
CREATE TABLE CustomerTalk
(
KdCust CHAR(6),
Talk TEXT,
Tgl DATETIME,
CONSTRAINT PK CustomerTalk PRIMARY
KEY (KdCust),
CONSTRAINT FK CustomerTalk FOREIGN
KEY (KdCust) REFERENCES
MsCustomer(KdCust) ON UPDATE CASCADE
ON DELETE NO ACTION,
)
3.2.4.2 Merancang Representasi Fisikal
3.2.4.2.1 Menganalisis Transaksi
Data Entry
A. Memasukan, mengubah dan melihat data barang
B. Memasukan dan melihat data supplier
C. Memasukan data penambahan karyawan baru
169
D. Memasukan, mengubah dan melihat data jabatan.
E. Pelanggan melakukan pendaftaran.
F. Pelanggan mengupdate informasi dirinya.
G. Pelanggan melakukan pemesan barang.
H. Melihat pemesanan yang dilakukan oleh pelanggan.
I. Memasukan, mengubah dan melihat data
pembayaran berdasarkan pembayaran transfer yang
dilakukan oleh pelanggan
J. Pelanggan melihat status pemesanan, pembayaran
dan pengiriman
K. Memasukan dan melihat data karyawan yang
memproses transaksi.
L. Memasukan, mengubah dan melihat data pengiriman
barang ke pelanggan
M. Memasukan, melihat dan mengubah data retur
penjualan dan retur pembelian.
N. Pelanggan dapat melakukan komplain
O. Melihat komplain dari pelanggan.
Tabel 3.29 Cross-referencing transactions and relations (A) – (D)
(A) (B) (C) (D) Transaksi/Relasi I R U D I R U D I R U D I R U D
MsBarang x x x MsJenisBarang x MsSupplier x x x TeleponSupplier x x x
170
EmailSupplier x x x MsKaryawan x x x x MsJenisKaryawan x x x x TeleponKaryawan x EmailKaryawan x NoRekCustomer x MsCustomer TeleponCustomer EmailCustomer NoRekCustomer TrPemesanan TrPembayaran TrPengiriman TrPembelian TrDetailPembelian TrReturPenjualan TrReturPembelian CustomerTalk
I = Insert, R = Read, U = Update, D = Delete
Tabel 3.30 Cross-referencing transactions and relations (E) – (H)
(E) (F) (G) (H) Transaksi/Relasi I R U D I R U D I R U D I R U D
MsBarang x x MsJenisBarang x x MsSupplier TeleponSupplier EmailSupplier MsKaryawan MsJenisKaryawan TeleponKaryawan EmailKaryawan MsCustomer x x x x x TeleponCustomer x x x x x EmailCustomer x x x x x NoRekCustomer x x x x x TrPemesanan x x TrPembayaran TrPengiriman TrPembelian TrDetailPembelian TrReturPenjualan
171
TrReturPembelian CustomerTalk
Tabel 3.31 Cross-referencing transactions and relations (I) – (L)
(I) (J) (K) (L) Transaksi/Relasi I R U D I R U D I R U D I R U D
MsBarang MsJenisBarang MsSupplier TeleponSupplier EmailSupplier MsKaryawan x MsJenisKaryawan x TeleponKaryawan x EmailKaryawan x MsCustomer x TeleponCustomer x EmailCustomer x NoRekCustomer x TrPemesanan x TrPembayaran x x x x x TrPengiriman x x x x x TrPembelian x TrDetailPembelian x TrReturPenjualan x TrReturPembelian x CustomerTalk
I = Insert, R = Read, U = Update, D = Delete
Tabel 3.32 Cross-referencing transactions and relations (M) – (O)
(M) (N) (O) Transaksi/Relasi I R U D I R U D I R U D
MsBarang x x MsJenisBarang x x MsSupplier TeleponSupplier EmailSupplier MsKaryawan MsJenisKaryawan TeleponKaryawan
172
EmailKaryawan MsCustomer x TeleponCustomer x EmailCustomer x NoRekCustomer x TrPemesanan TrPembayaran TrPengiriman TrPembelian TrDetailPembelian TrReturPenjualan x x x TrReturPembelian x x x CustomerTalk x x x
I = Insert, R = Read, U = Update, D = Delete
3.2.4.2.2 Memilih Organisasi File
Karena DBMS yang digunakan dalam sistem yang akan
dibuat adalah MySQL, maka organisasi file yang
digunakan adalah MyISAM. MyISAM menggunakan
logika B-tree, yang hampir sama dengan B+-tree, hanya
saja pencarian kata kunci hanya terjadi sekali pada
indeks.
3.2.4.2.3 Memilih Indeks
Tujuan dari langkah ini adalah untuk meningkatkan
performa dari sistem. Berikut ini adalah indeks yang
digunakan :
173
Tabel 3.33 Tabel Indeks
Entity Nama Indeks Indeks Key Deskripsi Indeks
MsBarang pk_ms_barang
idx_nama_barang
KdBarang
NamaBarang
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
MsJenisBarang pk_ms_jenis_barang
idx_jenis_barang
KdJenisBarang
JenisBarang
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
MsSupplier pk_ms_supplier
idx_nama_supplier
KdSupplier
NamaSupplier
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
174
Entity Nama Indeks Indeks Key Deskripsi Indeks
TeleponSupplier
pk_telepon_supplier
TelpSupplier
Clustered,
Unique, primary
key located on
PRIMARY
EmailSupplier pk_email_supplier EmailSupplier Clustered,
Unique, primary
key located on
PRIMARY
MsKaryawan pk_ms_karyawan
idx_nama_karyawan
KdKaryawan
NamaKaryawan
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
MsJenisKaryawan pk_jenis_karyawan
idx_jabatan_karyawan
KdJenisKaryawan
JabatanKaryawan
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
175
Entity Nama Indeks Indeks Key Deskripsi Indeks
TeleponKaryawan pk_telepon_karyawan TelpKaryawan Clustered,
Unique, primary
key located on
PRIMARY
EmailKaryawan pk_email_karyawan EmailKaryawan Clustered,
Unique, primary
key located on
PRIMARY
MsCustomer pk_ms_cust
idx_nama_cust
KdCust
NamaCust
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
TeleponCustomer pk_telepon_customer TelpCust Clustered,
Unique, primary
key located on
PRIMARY
176
Entity Nama Indeks Indeks Key Deskripsi Indeks
EmailCustomer pk_email_customer EmailCust Clustered,
Unique, primary
key located on
PRIMARY
NoRekening
Customer
pk_no_rekening_custo
mer
NoRekCust Clustered,
Unique, primary
key located on
PRIMARY
TrPemesanan pk_pemesanan
idx_tgl_pesan
KdPemesanan
TglPesan
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
TrPembayaran pk_pembayaran
idx_tgl_bayar
KdPembayaran
TglBayar
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
177
Entity Nama Indeks Indeks Key Deskripsi Indeks
TrPengiriman pk_pengiriman
idx_tgl_kirim
KdPengiriman
TglKirim
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
TrPembelian pk_pembelian
idx_tgl_beli
KdPembelian
TglBeli
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
TrDetailPembelian pk_detail_pembelian
idx_kd_barang_detail
_pembelian
KdPembelian
KdBarang
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
TrReturPenjualan pk_rtr_penjualan
idx_tgl_pengembalian
KdRtrPenjualan
TglPengembalian
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
178
Entity Nama Indeks Indeks Key Deskripsi Indeks
TrReturPembelian pk_rtr_penjualan
idx_tgl_pengembalian
KdRtrPembelian
TglPengembalian
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
CustomerTalk pk_customer_talk
idx_tgl
KdCust
Tgl
Clustered,
Unique, primary
key located on
PRIMARY
Non-Clustered
3.2.4.2.4Memperkirakan Kapasitas Disk yang Dibutuhkan
Untuk Menyimpan Basis Data
Tabel 3.34 Perkiraan Kapasitas MsBarang
1. Tabel MsBarang
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdBarang Char 5
KdJenisBarang Char 6
NamaBarang Varchar 30
MsBarang
Harga Varchar 20
179
Stok Int 8
Jumlah 69
Kapasitas dari table MsBarang adalah 69 bytes
Diperkirakan dalam satu bulan terjadi 80 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 80 x 69
= 66.240 bytes
Tabel 3.35 Perkiraan Kapasitas MsJenisBarang
2. Tabel MsJenisBarang
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdJenisBarang Char 6 MsJenisBarang
JenisBarang Varchar 30
Jumlah 36
Kapasitas dari table MsBarang adalah 36 bytes
Diperkirakan dalam satu bulan terjadi 80 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 80 x 36
= 34.560 bytes
180
Tabel 3.36 Perkiraan Kapasitas MsSupplier
3. Tabel MsSupplier
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdSupplier Char 5
NamaSupplier Varchar 20
MsSupplier
AlamatSupplier Text 50
Jumlah 75
Kapasitas dari table MsSupplier adalah 75 bytes
Diperkirakan dalam satu bulan terjadi 4 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 4 x 75 =
3.600 bytes
Tabel 3.37 Perkiraan Kapasitas TeleponSupplier
4. Tabel TeleponSupplier
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdSupplier Char 5 TeleponSupplier
TelpSupplier Varchar 20
Jumlah 25
Kapasitas dari table TeleponSupplier adalah 25 bytes
Diperkirakan dalam satu bulan terjadi 4 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 4 x 25 =
181
1.200 bytes
Tabel 3.38 Perkiraan Kapasitas EmailSupplier
5. Tabel EmailSupplier
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdSupplier Char 5 EmailSupplier
EmailSupplier Varchar 50
Jumlah 55
Kapasitas dari table EmailSupplier adalah 55 bytes
Diperkirakan dalam satu bulan terjadi 4 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 4 x 55 =
2.640 bytes
Tabel 3.39 Perkiraan Kapasitas MsKaryawan
6. Tabel MsKaryawan
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdKaryawan Char 5
KdJenisKaryawan Char 6
NamaKaryawan Varchar 50
AlamatKaryawan Text 50
MsKaryawan
Username Varchar 20
182
Password Varchar 35
Jumlah 166
Kapasitas dari table MsKaryawan adalah 166 bytes
Diperkirakan dalam satu bulan terjadi 4 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 4 x 141
= 7.968 bytes
Tabel 3.40 Perkiraan Kapasitas MsJenisKaryawan
7. Tabel MsJenisKaryawan
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdJenisKaryawan Char 6 MsJenisKaryawan
Jabatan Varchar 30
Jumlah 36
Kapasitas dari table MsJenisKaryawan adalah 36 bytes
Diperkirakan dalam satu bulan terjadi 8 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 8 x 36 =
3.456 bytes
183
Tabel 3.41 Perkiraan Kapasitas TeleponKaryawan
8. Tabel TeleponKaryawan
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdKaryawan Char 5 TeleponKaryawan
TelpKaryawan Varchar 20
Jumlah 25
Kapasitas dari table TeleponKaryawan adalah 25 bytes
Diperkirakan dalam satu bulan terjadi 4 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 4 x 25 =
1.200 bytes
Tabel 3.42 Perkiraan Kapasitas EmailKaryawan
9. Tabel EmailKaryawan
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdKaryawan Char 5 EmailKaryawan
EmailKaryawan Varchar 50
Jumlah 55
Kapasitas dari table EmailKaryawan adalah 55 bytes
Diperkirakan dalam satu bulan terjadi 4 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 4 x 55 =
2.640 bytes
184
Tabel 3.43 Perkiraan Kapasitas MsCustomer
10. Tabel MsCustomer
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdCust Int 5
KdJenisCust Char 6
NamaCust Varchar 50
AlamatCust Text 50
KdPos Char 5
NoRekCust Varchar 20
Username Varchar 20
MsCustomer
Password Varchar 35
Jumlah 191
Kapasitas dari table MsCustomer adalah 191 bytes
Diperkirakan dalam satu bulan terjadi 80 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 80 x 191
= 183.360 bytes
Tabel 3.44 Perkiraan Kapasitas TeleponCustomer
11. Tabel TeleponCustomer
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
TeleponCustomer KdCust Char 5
185
TelpCust Varchar 20
Jumlah 25
Kapasitas dari table TeleponCustomer adalah 25 bytes
Diperkirakan dalam satu bulan terjadi 80 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 80 x 25
= 2.400 bytes
Tabel 3.45 Perkiraan Kapasitas EmailCustomer
12. Tabel EmailCustomer
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdCust Char 5 EmailCustomer
EmailCust Varchar 50
Jumlah 55
Kapasitas dari table EmailCustomer adalah 55 bytes
Diperkirakan dalam satu bulan terjadi 80 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 80 x 55
= 52.800 bytes
186
Tabel 3.46 Perkiraan Kapasitas NoRekeningCustomer
13. Tabel NoRekeningCustomer
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdCust Char 5 NoRekeningCustomer
NoRekCust Varchar 20
Jumlah 25
Kapasitas dari table EmailCustomer adalah 25 bytes
Diperkirakan dalam satu bulan terjadi 80 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 80 x 25 =
24.000 bytes
Tabel 3.47 Perkiraan Kapasitas TrPemesanan
14. Tabel TrPemesanan
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdPemesanan Char 6
KdCust Int 5
TrPemesanan
TglPesan Datetime 8
Jumlah 19
Kapasitas dari table TrPemesanan adalah 19 bytes
Diperkirakan dalam satu bulan terjadi 95 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 95 x 19
187
= 21.660 bytes
Tabel 3.48 Perkiraan Kapasitas TrPembayaran
15. Tabel TrPembayaran
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdPembayaran Char 6
KdPemesanan Char 6
KdKaryawan Char 5
TrPembayaran
TglBayar Datetime 8
Jumlah 25
Kapasitas dari table TrPembayaran adalah 25 bytes
Diperkirakan dalam satu bulan terjadi 95 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 95 x 25
= 28.500 bytes
Tabel 3.49 Perkiraan Kapasitas TrPengiriman
16. Tabel TrPengiriman
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdPengiriman Char 6
KdPembayaran Char 6
TrPengiriman
KdKaryawan Char 5
188
TglKirim Datetime 8
Jumlah 25
Kapasitas dari table TrPengiriman adalah 25 bytes
Diperkirakan dalam satu bulan terjadi 95 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 95 x 25
= 28.500 bytes
Tabel 3.50 Perkiraan Kapasitas TrPembelian
17. Tabel TrPembelian
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdPembelian Char 6
KdSupplier Char 5
TrPembelian
TglBeli Datetime 8
Jumlah 19
Kapasitas dari table TrPembelian adalah 19 bytes
Diperkirakan dalam satu bulan terjadi 40 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 40 x 19
= 9.120 bytes
189
Tabel 3.51 Perkiraan Kapasitas TrDetailPembelian
18. Tabel TrDetailPembelian
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdPembelian Char 6
KdBarang Char 5
HargaBeli Varchar 20
TrDetailPembelian
Qty Int 4
Jumlah 35
Kapasitas dari table TrDetailPembelian adalah 35 bytes
Diperkirakan dalam satu bulan terjadi 40 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 40 x 35
= 16.800 bytes
Tabel 3.52 Perkiraan Kapasitas TrReturPenjualan
19. Tabel TrReturPenjualan
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdRtrPenjualan Char 6
KdPenjualan Char 6
Qty Int 4
TrReturPenjualan
TglPengembalian Datetime 8
Jumlah 24
190
Kapasitas dari table TrReturPenjualan adalah 24 bytes
Diperkirakan dalam satu bulan terjadi 3 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 3 x 24 =
864 bytes
Tabel 3.53 Perkiraan Kapasitas TrReturPembelian
20. Tabel TrReturPembelian
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdRtrPembelian Char 6
KdPembelian Char 6
Qty Int 4
TrReturPembelian
TglPengembalian Datetime 8
Jumlah 24
Kapasitas dari table TrReturPembelian adalah 24 bytes
Diperkirakan dalam satu bulan terjadi 5 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 5 x 24 =
1.440 bytes
191
Tabel 3.54 Perkiraan Kapasitas CustomerTalk
21. CustomerTalk
Tabel / Entiti Atribut Tipe Data Ukuran
(Byte)
KdCust Int 5
Talk Text 100
CustomerTalk
Tgl Datetime 8
Jumlah 113
Kapasitas dari table CustomerTalk adalah 113 bytes
Diperkirakan dalam satu bulan terjadi 10 transaksi
Dalam satu tahun pertumbuhan dari table ini adalah 12 x 10 x 113
= 13.560 bytes
Tabel 3.55 Perkiraan Total Disk Space
Total Disk Space
Tabel /Entiti Kapasitas yang diperlukan dalam
1 tahun (bytes)
MsBarang 66.240
MsJenisBarang 34.560
MsSupplier 3.600
TeleponSupplier 1.200
EmailSupplier 2.640
192
Tabel /Entiti Kapasitas yang diperlukan dalam
1 tahun (bytes)
MsKaryawan 7.968
MsJenisKaryawan 3.456
TeleponKaryawan 1.200
EmailKaryawan 2.640
MsCustomer 183.360
TeleponCustomer 2.400
EmailCustomer 52.800
NoRekCustomer 24.000
TrPemesanan 21.660
TrPembayaran 28.500
TrPengiriman 28.500
TrPembelian 9.120
TrDetailPembelian 16.800
TrReturPenjualan 864
TrReturPembelian 1.440
CustomerTalk 13.560
Total space yang dibutuhkan
dalam 1 tahun
506.508 Bytes
Total space yang dibutuhkan
dalam 5 tahun
2.532.540 Bytes
193
3.2.4.3 Perancangan User View
View
1. View MsBarang
--View untuk menampilkan Data Barang
create view view_MsBarang
as
(select KdBarang, KdJenisBarang, NamaBarang, Harga, Stok
from MsBarang)
2. View MsSupplier
--View untuk menampilkan data supplier
create view view_MsSupplier
as
(select KdSupplier, NamaSupplier, AlamatSupplier,
TelpSupplier, EmailSupplier from MsSupplier)
3. View TeleponSupplier
--View untuk menampilkan Telepon supplier
create view view_TeleponSupplier
as
(select TelpSupplier, KdSupplier from TeleponSupplier)
4. View EmailSupplier
--View untuk menampilkan Email supplier
194
create view view_EmailSupplier
as
(select EmailSupplier, KdSupplier from EmailSupplier)
5. View MsKaryawan
--View untuk menampilkan Data Karyawan
create view view_MsKaryawan
as
(select a.KdKaryawan, b.KdJenisKaryawan, NamaKaryawan,
AlamatKaryawan, Username, Password from MsKaryawan a
inner join MsJenisKaryawan b on a.KdJenisKaryawan =
b.KdJenisKaryawan)
6. View TeleponKaryawan
--View untuk menampilkan Telepon Karyawan
create view view_TeleponKaryawan
as
(select TelpKaryawan, KdKaryawan from TeleponKaryawan)
7. View EmailKaryawan
--View untuk menampilkan Email karyawan
create view view_EmailKaryawan
as
(select EmailKaryawan ,KdKaryawan from EmailKaryawan)
195
8. View MsCustomer
--View untuk menampilkan Data Pelanggan
create view view_MsCustomer
as
(select a.KdCust, b.KdJenisCust, NamaCust, AlamatCust,
KdPos, TelpCust, EmailCust, Username, Password from
MsCustomer a inner join MsJenisCust b on a.KdJenisCust =
b.KdJenisCust)
9. View TeleponCustomer
--View untuk menampilkan Telepon Customer
create view view_TeleponCustomer
as
(select KdSupplier, TelpCust from TeleponCustomer)
10. View EmailCustomer
--View untuk menampilkan Email Customer
create view view_EmailCustomer
as
(select EmailCust, KdCust from EmailCustomer)
11. View NoRekeningCustomer
--View untuk menampilkan No Rekening Customer
create view view_No_Rek_Cust
196
as
(select NoRekCust, KdCust from NoRekeningCustomer)
12. View TrPemesanan
--View untuk menampilkan Pemesanan
create view view_TrPemesanan
as
(select a.KdPemesanan, b.KdCust, TglPesan from
TrPemesanan a inner join MsCustomer b on a.KdCust =
b.KdCust)
13. View TrPembayaran
--View untuk menampilkan pembayaran
create view view_TrPembayaran
as
(select a.KdPembayaran, b.KdPemesanan, c.KdKaryawan,
TglBayar from TrPembayaran a inner join TrPemesanan b on
a.KdPemesanan = b.KdPemesanan inner join MsKaryawan c
on a.KdKaryawan = c.KdKaryawan)
14. View TrPengiriman
--View untuk menampilkan pengiriman
create view view_TrPengiriman
as
197
(select KdPengiriman, b.KdPembayaran, c.KdKaryawan
TglKirim from TrPengiriman a inner join TrPembayaran b on
a.KdPembayaran = b.KdPembayaran inner join MsKaryawan
c on a.KdKaryawan = b.KdKaryawan)
15. View TrPembelian
--View untuk menampilkan Header dari Pembelian barang
create view view_TrPembelian
as
(select a.KdPembelian, b.KdSupplier, TglTrans from
TrPembelian a inner join MsSupplier c on a.KdSupplier =
b.KdSupplier)
16. View TrDetailPembelian
--View untuk menampilkan Detail dari Pembelian barang
create view view_TrDetailPembelian
as
(select a.KdPembelian, b.KdBarang, HargaBeli, Qty from
TrDetailPembelian a inner join MsBarang b on a.KdBarang =
b.KdBarang)
17. View TrReturPenjualan
--View untuk menampilkan Header dari Retur Penjualan
barang
198
create view view_TrRtrPenjualan
as
(select a.KdRtrPenjualan, b.KdPenjualan, Qty, NoFaktur,
SuratJalan, TglPengembalian from TrRtrPenjualan a inner join
TrRtrPenjualan a on a.KdBarang = b..KdBarang)
18. View TrReturPembelian
--View untuk menampilkan Header dari Retur Pembelian
barang
create view view_TrRtrPembelian
as
(select a.KdRtrPembelian, b.KdPembelian, Qty, NoFaktur,
SuratJalan, TglPengembalian from TrRtrPembelian a inner
join TrRtrPembelian a on a.KdBarang = b..KdBarang)
19. View CustomerTalk
--View untuk menampilkan keluhan pelanggan
create view view_CustomerTalk
as
(select a.KdCust, Talk, Tgl from CustomerTalk a inner join
CustomerTalk a on a.KdCust = b..KdCust)
199
3.2.4.4 Store Procedure
1. Procedure insert Barang
create proc proc_insert_barang
(
@KdBarang char(5),
@NamaBarang varchar(30),
@Harga varchar(20),
@Stok(20)
as
insert into MsBarang values (@KdBarang,
@NamaBarang, @Harga, @Stok)
)
2.Procedure insert Supplier
create proc proc_insert_Supplier
(
@KdSupplier char(5)
@NamaSupplier varchar(50)
@AlamatSupplier text
as
insert into MsSupplier values (@KdSupplier,
@NamaSupplier, @AlamatSupplier)
)
200
3. Procedure insert Karyawan
create proc proc_insert_Karyawan
(
@KdKaryawan char(5)
@KdJenisKaryawan char(6)
@NamaKaryawan varchar(50)
@AlamatKaryawan text
@Username varchar(20)
@Password varchar(10)
as
insert into MsKaryawan values (@KdKaryawan,
@KdJenisKaryawan, @NamaKaryawan,
@AlamatKaryawan, @TelpKaryawan, @Email
Karyawan, @Username, @Password)
)
4.Procedure insert Customer
create proc proc_add_Customer
(
@KdCust int(5)
@KdJenisCust char(6)
@NamaCust varchar(50)
@AlamatCust text
@KdPos char(5)
201
@Username varchar(20)
@Password varchar(10)
as
insert into MsCustomer values (@KdCust, @KdJenisCust,
@NamaCust, @AlamatCust, @KdPos, @Username,
@Password)
)
5. Procedure insert pemesanan
create proc proc_insert_pemesanan
(
@KdPemesanan char(6)
@NamaBarang vachar(30)
@HargaJual varchar(20)
@Qty int
@TglPesan datetime
as
insert into pemesanan values (@KdPemesanan,
@NamaBarang, @HargaJual, @Qty, @TglPesan)
)
6. Procedure insert pembayaran
create proc proc_insert_pembayaran
(
202
@KdPembayaran char(6)
@KdPemesanan char(6)
@KdKaryawan char(5)
@TglBayar datetime
as
insert into pembayaran values (@KdPembayaran,
@KdPemesanan, @KdKaryawan, @TglBayar)
)
7. Procedure insert pengiriman
create proc proc_insert_pengiriman
(
@KdPengiriman char(6)
@KdPembayaran char(6)
@KdKaryawan char(5)
@TglKirim datetime
as
insert into pengiriman values (@KdPengiriman,
@KdPembayaran, @KdKaryawan, @TglKirim)
)
8. Procedure insert pembelian
create proc proc_insert_ pembelian
(
203
@KdPembelian char(6)
@KdSupplier char(5)
@KdBarang char (5)
@Qty int
@TglPengembalian datetime
as
insert into pembelian values (@KdPembelian,
@KdSupplier, @KdBarang, @Qty, @TglPengembalian)
)
9. Procedure insert retur penjualan
create proc proc_insert retur_penjualan
(
@KdRtrPenjualan char(6)
@KdPengiriman char(5)
@Qty int
@TglPengembalian datetime
as
insert into retur_penjualan values (@KdPembelian,
@KdPengiriman @Qty, @TglPengembalian)
)
10. Procedure insert retur_pembelian
create proc proc_insert_ retur_pembelian
204
(
@KdRtrPembelian char(6)
@KdPengiriman char(6)
@Qty int
@TglPengembalian datetime
as
insert into detail_retur_pembelian values
(@KdRtrPembelian, @KdPengiriman, @Qty,
@TglPengembalian)
)
11. Procedure update barang
create proc proc_update_barang
(
@Harga (6)
@Stok int
@KdBarang char(5)
as
update MsBarang set Harga = @Harga, Stok = @Stok
where KdBarang = @KdBarang
)
12. Procedure update jabatan karyawan
create proc proc_update_karyawan
205
(
@Jabatan varchar(30)
@KdKaryawan char(5)
as
update MsJenisKaryawan set Jabatan = @Jabatan where
KdKaryawan = @KdKaryawan
)
13. Procedure update customer
create proc proc_update_customer
(
@AlamatSupplier (6)
@TelpSupplier varchar(20)
@EmailSupplier varchar(20)
@Username varchar (10)
@Password varchar (35)
@KdCust char(5)
as
update MsBarang set AlamatSupplier = @AlamatSupplier,
TelpSupplier = @TelpSupplier, EmailSupplier =
@EmailSupplier, Username = @Username, Password =
@Password where KdCust = @KdCust
206
)
14. Procedure Select CustomerTalk
create proc proc_select_customerTalk
(
@KdCust char(5)
as
select * from CustomerTalk where KdCust = @KdCust
)
3.2.4.5 Merancang Mekanisme Keamanan
Langkah ini bertujuan untuk mendesain ukuran keamanan untuk
basis data. Ada 2 tipe di dalam sistem keamanan basis data ini,
yaitu:
• Keamanan sistem, yaitu untuk menangani akses dan
penggunaan basis data pada tingkat sistem. Implementasinya
adalah dengan menggunakan Username dan password.
Customer disini haruslah yang sudah pernah melakukan
request untuk menjadi member dan telah disetujui requestnya
oleh admin.
• Keamanan data, yaitu untuk menangani akses dan penggunaan
objek-objek basis data dan aksi-aksi yang bisa dilakukan user
terhadap objek-objek tersebut. Implementasinya adalah
207
dengan mekanisme authorization, yaitu mekanisme yang
membatasi hak-hak akses user terhadap tabel-tabel di
database. Hak akses terdiri dari Insert, Update, Read, dan
Delete. Pengaturan ini sudah terdokumentasi dengan lengkap
pada tabel berikut.
Tabel 3.56 Perancangan Mekanisme Keamanan
User Pelanggan Staff
AdministrasiBagianPersediaan
Barang Tabel I R U D I R U D I R U D
MsBarang x x x x x MsJenisBarang x x x x MsSupplier x x x x x TeleponSupplier x x x x x EmailSupplier x x x x x MsKaryawan x x x x x MsJenisKaryawan x x x x x TeleponKaryawan x x x x x EmailKaryawan x x x x x MsCustomer x x x x x TeleponCustomer x x x x x EmailCustomer x x x x x NoRekCustomer x x x x x TrPemesanan x x x x TrPembayaran x x x x x TrPengiriman x x x x x TrPembelian x x x x TrDetailPembelian x x x x TrReturPenjualan x x x x x TrReturPembelian x x x x x CustomerTalk x x x
208
3.2.5 Perancangan Program Aplikasi
3.2.5.1 Struktur Menu
3.2.5.1.1Struktur Menu Pelanggan
Gambar 3.21 Struktur menu pelanggan
3.2.5.1.2 Struktur Menu Karyawan
Gambar 3.22 Struktur menu karyawan
Keterangan untuk struktur menu karyawan :
Edit terdiri dari insert, update dan delete
209
3.2.5.2 State Transition Diagram (STD)
3.2.5.2.1 STD untuk Pelanggan
Gambar 3.23 STD Index
Gambar 3.24 STD Register
Register
Tampilkan form Register
Home
Login berhasil dan masuk ke halaman
Home
Isi data diri lalu klik submit
Index
Validasi
Home
Login salah Masukkan Username dan Password
Login berhasil
Tampilkan pesan kesalahan
Pilih link Register Now Register
Tampilkan form Register
Masuk ke halaman Home
210
Gambar 3.25 STD Home
Pilih menu Customer Talk
Home
Pilih menu About Us
Tampilkan sub menu About Us
About Us
Profile
Pilih menu Profile
Tampilkan sub menu Profile
Products
Tampilkan sub menu Products
Pilih menu Products
Status
Pilih menu Status
Tampilkan sub menu Customer Talk
Tampilkan sub menu Status
Customer Talk
Pilih menu Logout
Kembali ke halaman Index
Home
Tampilkan sub menu Home
Pilih menu Home
211
Gambar 3.26 STD Sub Menu Profile
Gambar 3.27 STD Sub Menu Products
Gambar 3.28 STD Sub Menu Product
Products
Product
Pilih Products
Tampilkan form Product berdasarkan Products
yang dipilih
Tampilkan sub menu Products
Product
Order Status
Tentukan pesanan lalu klik submit
Tampilkan form Order Status
Tampilkan form Product
Profile
Edit Profile
Pilih Edit Profile
Tampilkan form Edit Profile
Tampilkan sub menu Profile
212
Gambar 3.29 STD Form Order Status
Gambar 3.30 STD Sub Menu Status
Order Status
Paying Status
jika klik ya
Tampilkan form Paying Status
Tampilkan form Order Status
jika klik batal
Masuk ke halaman Products
ProductsKonfirmasi
Jawab pertanyaan konfirmasi
Status
Order Status Paying Status
Tampilkan sub menu Status
Pilih Order Status
Tampilkan form Order Status
Pilih Paying Status
Tampilkan form Paying Status
Pilih Delivery Status
Tampilkan form Delivery Status
Delivery Status
213
3.2.5.2.2 STD untuk Karyawan
Gambar 3.31 STD Index
Gambar 3.32 STD Home
Tampilkan sub menu Home
Pilih menu Laporan
Home
Master Tampilkan sub menu Master
Pilih menu Master
Transaksi Pilih menu Transaksi
Tampilkan sub menu Laporan
Tampilkan sub menu Transaksi
Laporan
Pilih menu Logout
Kembali ke halaman Index
Home
Pilih menu Home
Index
Validasi
Home
Login salah Masukkan Username dan Password
Login berhasil
Tampilkan pesan kesalahan
Masuk ke halaman Home
214
Gambar 3.33 STD Sub Menu Master
Gambar 3.34 STD Sub Menu Insert Barang
Barang
Tampilkan sub menu Barang
Pilih Insert
Tampilkan form Insert
Insert
Tampilkan sub menu Master
Barang
Supplier
Karyawan
Tampilkan sub menu Supplier
Pilih Supplier
Pilih Karyawan
Pilih Customer
Tampilkan sub menu Karyawan
Tampilkan sub menu Customer
Tampilkan sub menu Barang
Master
Pilih Barang
Customer
215
Gambar 3.35 STD Sub Menu Update Barang
Gambar 3.36 STD Sub Menu Delete Barang
Barang
Tampilkan sub menu Barang
Pilih Delete
Hapus data dan tampilkan sub menu Barang
Barang
Barang
Tampilkan sub menu Barang
Pilih Update
Tampilkan form Update
Update
216
Gambar 3.37 STD Sub Menu Insert Supplier
Gambar 3.38 STD Sub Menu Update Supplier
Supplier
Tampilkan sub menu Supplier
Pilih Update
Tampilkan form Update
Update
Supplier
Tampilkan sub menu Supplier
Pilih Insert
Tampilkan form Insert
Insert
217
Gambar 3.39 STD Sub Menu Delete Supplier
Gambar 3.40 STD Sub Menu Insert Karyawan
Supplier
Pilih Delete
Hapus data dan tampilkan sub menu Supplier
Supplier
Karyawan
Tampilkan sub menu Karyawan
Pilih Insert
Tampilkan form Insert
Insert
Tampilkan sub menu Supplier
218
Gambar 3.41 STD Sub Menu Update Karyawan
Gambar 3.42 STD Sub Menu Delete Karyawan
Karyawan
Tampilkan sub menu Karyawan
Pilih Delete
Hapus data dan tampilkan sub menu Karyawan
Karyawan
Karyawan
Tampilkan sub menu Karyawan
Pilih Update
Tampilkan form Update
Update
219
Gambar 3.43 STD Sub Menu Customer
Customer
Tampilkan sub menu Customer
Pilih Customer Talk
Tampilkan sub menu Customer Talk
Customer Talk
220
Gambar 3.44 STD Sub Menu Transaksi
Tampilkan sub menu Transaksi
Transaksi
Pembelian
Retur Penjualan
Retur Pembelian
Pilih Pembelian
Pilih Retur Penjualan
Pilih Retur Pembelian
Tampilkan sub menu Pemesanan
Tampilkan sub menu Pembelian
Tampilkan sub menu Retur Pembelian
Tampilkan sub menu Retur Penjualan
Pilih Pembayaran
Tampilkan sub menu Pembayaran
Pilih Pengiriman
Tampilkan sub menu Pengiriman
Pemesanan
Pengiriman
Pembayaran
Pilih Pemesanan
221
Gambar 3.45 STD Sub Menu Pembayaran
Gambar 3.46 STD Sub Menu Pengiriman
Pengiriman
Tampilkan sub menu Pengiriman
Pilih Insert
Tampilkan form Insert
Insert
Pilih Delete Hapus data Pengiriman
Pembayaran
Pilih Insert
Tampilkan form Insert
Insert
Pilih Delete
Hapus data
Tampilkan sub menu Pembayaran
Pembayaran
222
Gambar 3.47 STD Sub Menu Pembelian
Gambar 3.48 STD Sub Menu Retur Penjualan
Retur Penjualan
Tampilkan sub menu Retur Penjualan
Pilih Insert
Tampilkan form Insert
Insert
Pilih Delete Hapus data Retur Penjualan
Pembelian
Pilih Insert
Tampilkan form insert
Insert
Pilih Delete Hapus data Pembelian
Tampilkan sub menu Pembelian
223
Gambar 3.49 STD Sub Menu Retur Pembelian
Gambar 3.50 STD Sub Menu Laporan
Retur Pembelian
Tampilkan sub menu Retur Pembelian
Pilih Insert
Tampilkan form Insert
Insert
Pilih Delete Hapus data Retur Pembelian
Tampilkan sub menu Laporan
Penjualan
Pembelian
Tampilkan sub menu Penjualan
Pilih Pembelian
Tampilkan sub menu Pembelian
Laporan
Pilih Persediaan
Tampilkan sub menu Persediaan
Persediaan
Pilih Penjualan
224
Gambar 3.51 STD Sub Menu Laporan Penjualan
Penjualan
Laporan
Tampilkan sub menu Laporan Penjualan
Pilih Barang
Tampilkan laporan
Pilih Wilayah
Tampilkan laporan
Laporan
225
3.2.5.3 Perancangan Layar
3.2.5.3.1 Untuk Pelanggan
Halaman Index
LOGO
Login Form
Username x-20-x
Password x-35-x
Login
Registrasi
Gambar 3.52 Perancangan halaman login
Image
226
Halaman Registrasi
LOGO
Login Form
Username x-20-x
Password x-35-x
Login
Registrasi
Registrasi
Nama
Alamat
Kode Pos
Telepon
Nomor Rekening
Username
Password
Confirm Password
Gambar 3.53 Perancangan halaman registrasi pelanggan
x-30-x
x-5-x
x-50-x
x-20-x
x-50-x
x-20-x
x-35-x
x-35-x
Registrasi
x-20-x
Cancel
227
Halaman Home
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Selamat Datang, User
Gambar 3.54 Perancangan halaman home
Image
228
Halaman About Us
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Sejarah Organisasi
Visi dan Misi
Alamat
Nomor Telepon
Gambar 3.55 Perancangan halaman about us
229
Halaman Profile
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Profile
Nama
Alamat
Kode Pos
Telepon
Nomor Rekening
Username
Password
Edit Profile
Gambar 3.56 Perancangan halaman profile pelanggan
x-30-x
x-5-x
x-20-x
x-50-x
x-20-x
x-35-x
x-20-x
x-50-x
230
Halaman Edit Profile
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Edit Profile
Nama
Alamat
Kode Pos
Telepon
Nomor Rekening
Username
Password
Confirm Password
Gambar 3.57 Perancangan halaman edit profile pelanggan
x-30-x
x-5-x
x-20-x
x-50-x
x-20-x
x-35-x
Submit
x-35-x
x-20-x
Cancel
x-50-x
231
Halaman Products Categories
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Products Categories
Gambar 3.58 Perancangan halaman kategori produk
Image Image Image
Image Image
232
Halaman Product
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Products Sofa
Nama Barang : x-30-x
Harga : x-20-x
Banyak :
Nama Barang : x-30-x
Harga : x-20-x
Banyak :
Gambar 3.59 Perancangan halaman pemesanan produk
Image
Image
Submit
999
999
233
Halaman Status
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Status
Order Status
Paying Status
Delivery Status
Gambar 3.60 Perancangan halaman status pembelian pelanggan
234
Halaman Order Status
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Order Status
Nama Barang Harga Banyak Total Tgl Pesan
x-30-x x-20-x 99999 99999 dd/mm/yyyy
Gambar 3.61 Perancangan halaman order status
Submit Cancel
235
Halaman Paying Status
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Paying Status
Total Tgl Bayar
99999 dd/mm/yyyy
Gambar 3.62 Perancangan halaman paying status
236
Halaman Delivery Status
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Delivery Status
Nama Barang Banyak Tgl Kirim
x-30-x 99999 dd/mm/yyyy
Gambar 3.63 Perancangan halaman delivery status
237
Halaman Customer Talk
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Customer Talk
Silahkan isi saran dan kritik anda
Talk :
Gambar 3.64 Perancangan halaman customer talk
Submit
x-100-x
238
3.2.5.3.2 Untuk Karyawan
Halaman Index
LOGO
Login Form
Username x-20-x
Password x-35-x
Login
Registrasi
Gambar 3.65 Perancangan halaman login
Image
239
Halaman Home
LOGO
Home
About Us
Profile
Products
Status
Customer Talk
Logout
Selamat Datang, User
Gambar 3.66 Perancangan halaman home
Image
240
Halaman Master
LOGO
Home
Master
Transaksi
Laporan
Logout
Master
Barang
Supplier
Karyawan
Customer
Gambar 3.67 Perancangan halaman master
241
Halaman Barang
LOGO
Home
Master
Transaksi
Laporan
Logout
Barang
Insert
Kd Barang Jenis Barang Nama Barang Harga Stok Action
x-5-x x-30-x x-30-x x-20-x 99999 Update
Delete
x-5-x x-30-x x-30-x x-20-x 99999 Update
Delete
Gambar 3.68 Perancangan halaman barang
242
Halaman Insert Barang
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Barang
Kd Barang
Kd Jenis Barang
Nama Barang
Harga
Stok
Gambar 3.69 Perancangan halaman insert barang
x-5-x
x-6-x
x-30-x
99999
Submit
x-20-x
243
Halaman Update Barang
LOGO
Home
Master
Transaksi
Laporan
Logout
Update Barang
Kd Barang
Kd Jenis Barang
Nama Barang
Harga
Stok
Gambar 3.70 Perancangan halaman update barang
x-5-x
x-6-x
x-30-x
99999
Submit
x-20-x
244
Halaman Supplier
LOGO
Home
Master
Transaksi
Laporan
Logout
Supplier
Insert
Kd
Supplier
Nama
Supplier
Alamat
Supplier
Telp
Supplier
Supplier
Action
x-5-x
x-30-x
x-50-x
x-20-x
x-50-x
Update
Delete
x-5-x x-30-x x-50-x x-20-x x-50-x Update
Delete
Gambar 3.71 Perancangan halaman supplier
245
Halaman Insert Supplier
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Supplier
Kd Supplier
Nama Supplier
Alamat Supplier
Telp Supplier
Email Supplier
Gambar 3.72 Perancangan halaman insert supplier
x-5-x
x-30-x
x-20-x
Submit
x-50-x
x-50-x
246
Halaman Update Supplier
LOGO
Home
Master
Transaksi
Laporan
Logout
Update Supplier
Kd Supplier
Nama Supplier
Alamat Supplier
Telp Supplier
Email Supplier
Gambar 3.73 Perancangan halaman update supplier
x-5-x
x-30-x
x-20-x
Submit
x-50-x
x-50-x
247
Halaman Karyawan
LOGO
Home
Master
Transaksi
Laporan
Logout
Karyawan
Insert
Kd
Karyawan
Nama
Karyawan
Jabatan Alamat
Karyawan
Telp
Karyawan
Karyawan
Action
x-5-x x-30-x x-30-x x-50-x x-20-x x-50-x Update
Delete
x-5-x x-30-x x-30-x x-50-x x-20-x x-50-x Update
Delete
Gambar 3.74 Perancangan halaman karyawan
248
Halaman Insert Karyawan
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Karyawan
Kd Karyawan
Kd Jenis Karyawan
Nama Karyawan
Alamat Karyawan
Telp Karyawan
Email Karyawan
Gambar 3.75 Perancangan halaman insert karyawan
x-5-x
x-6-x
x-30-x
x-20-x
Submit
x-50-x
x-50-x
249
Halaman Update Karyawan
LOGO
Home
Master
Transaksi
Laporan
Logout
Update Karyawan
Kd Karyawan
Kd Jenis Karyawan
Nama Karyawan
Alamat Karyawan
Telp Karyawan
Email Karyawan
Gambar 3.76 Perancangan halaman update karyawan
x-5-x
x-6-x
x-20-x
Submit
x-50-x
x-30-x
x-50-x
250
Halaman Customer
LOGO
Home
Master
Transaksi
Laporan
Logout
Customer
Customer Talk
KdCust Nama
Cust
Alamat
Cust
KdPos Telp
Cust
Cust
User
name
Pass
word
99999
99999
x-30-x
x-30-x
x-50-x
x-50-x
x-5-x
x-5-x
x-20-x
x-20-x
x-50-x
x-50-x
x-20-x
x-20-x
x-35-x
x-35-x
Gambar 3.77 Perancangan halaman view customer
251
Halaman Customer Talk
LOGO
Home
Master
Transaksi
Laporan
Logout
Customer Talk
KdCust Talk Tgl
99999
99999
x-100-x
x-100-x
dd/mm/yyyy
dd/mm/yyyy
Gambar 3.78 Perancangan halaman view customer talk
252
Halaman Transaksi
LOGO
Home
Master
Transaksi
Laporan
Logout
Transaksi
Pemesanan
Pembayaran
Pengiriman
Pembelian
Retur Penjualan
Retur Pembelian
Gambar 3.79 Perancangan halaman transaksi
253
Halaman Pemesanan
LOGO
Home
Master
Transaksi
Laporan
Logout
Pemesanan
Kd
Pemesanan
Nama
Customer
Nama
Barang
Harga
Jual
Qty TglPesan
x-6-x
x-6-x
x-30-x
x-30-x
x-30-x
x-30-x
x-20-x
x-20-x
999
999
dd/mm/yyyy
dd/mm/yyyy
Gambar 3.80 Perancangan halaman data pemesanan oleh pelanggan
254
Halaman Pembayaran
LOGO
Home
Master
Transaksi
Laporan
Logout
Pembayaran
Insert
Kd
Pembayaran
Nama
Customer
Nama
Karyawan
Total
Pembayaran
Tgl
Bayar
Action
x-6-x
x-6-x
x-30-x
x-30-x
x-30-x
x-30-x
99999
99999
dd/mm/yyyy
dd/mm/yyyy
Delete
Delete
Gambar 3.81 Perancangan halaman pembayaran oleh pelanggan
255
Halaman Insert Pembayaran
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Pembayaran
Kd Pembayaran
Kd Pemesanan
Kd Karyawan
Tgl Bayar
Gambar 3.82 Perancangan halaman insert pembayaran
x-6-x
x-6-x
dd/mm/yyyy
Submit
x-5-x
256
Halaman Pengiriman
LOGO
Home
Master
Transaksi
Laporan
Logout
Pengiriman
Insert
Kd
Pengiriman
Nama
Karyawan
Nama
Customer
Alamat
Customer
TglKirim Action
x-6-x
x-6-x
x-30-x
x-30-x
x-30-x
x-30-x
x-50-x
x-50-x
dd/mm/yyyy
dd/mm/yyyy
Delete
Delete
Gambar 3.83 Perancangan halaman pengiriman barang
257
Halaman Insert Pengiriman
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Pengiriman
Kd Pengiriman
Kd Pembayaran
Kd Karyawan
Tgl Kirim
Gambar 3.84 Perancangan halaman insert pengiriman
x-6-x
x-6-x
dd/mm/yyyy
Submit
x-5-x
258
Halaman Pembelian
LOGO
Home
Master
Transaksi
Laporan
Logout
Pembelian
Insert
Kd
Pembelian
Nama
Barang
Nama
Supplier
Nama
Karyawan
Harga
Beli
Qty TglBeli
x-6-x
x-6-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-20-x
x-20-x
999
999
dd/mm/yyyy
dd/mm/yyyy
Action
Delete
Delete
Gambar 3.85 Perancangan halaman pembelian barang ke supplier
259
Halaman Insert Pembelian
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Pembelian
Kd Pembelian
Kd Barang
Kd Supplier
Harga Beli
Qty
Tgl Beli
Gambar 3.86 Perancangan halaman insert pembelian
x-6-x
xxxxxxxxxxx-5-x
999
Submit
x-5-x
dd/mm/yyyy
x-20-x
260
Halaman Retur Penjualan
LOGO
Home
Master
Transaksi
Laporan
Logout
Retur Penjualan
Insert
KdRtr
Penjualan
Nama
Barang
Qty TglPengembalian Action
x-6-x
x-6-x
x-30-x
x-30-x
999
999
dd/mm/yyyy
dd/mm/yyyy
Delete
Delete
Gambar 3.87 Perancangan halaman retur penjualan
261
Halaman Insert Retur Penjualan
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Retur Penjualan
KdRtrPenjualan
KdPengiriman
Qty
Tgl Pengembalian
Gambar 3.88 Perancangan halaman insert retur penjualan
x-6-x
999
Submit
x-6-x
dd/mm/yyyy
262
Halaman Retur Pembelian
LOGO
Home
Master
Transaksi
Laporan
Logout
Retur Pembelian
Insert
KdRtr
Pembelian
Nama
Barang
Qty TglPengembalian Action
x-6-x
x-6-x
x-30-x
x-30-x
999
999
dd/mm/yyyy
dd/mm/yyyy
Delete
Delete
Gambar 3.89 Perancangan halaman retur pembelian
263
Halaman Insert Retur Pembelian
LOGO
Home
Master
Transaksi
Laporan
Logout
Insert Retur Pembelian
KdRtrPembelian
KdPembelian
Qty
Tgl Pengembalian
Gambar 3.90 Perancangan halaman insert retur pembelian
x-6-x
999
Submit
x-6-x
dd/mm/yyyy
264
Halaman Laporan
LOGO
Home
Master
Transaksi
Laporan
Logout
Laporan
Penjualan
Pembelian
Persediaan
Gambar 3.91 Perancangan halaman laporan
265
Halaman Laporan Penjualan
LOGO
Home
Master
Transaksi
Laporan
Logout
Penjualan
Barang
Wilayah
Gambar 3.92 Perancangan halaman laporan – penjualan
266
Printed dd/mm/yyyy hh:mm:ss
Laporan Penjualan
Berdasarkan Barang yang Paling Banyak Terjual
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Barang Nama Barang Jumlah Penjualan
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
99999
99999
99999
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Staff Administrasi Manager Pemasaran
Cetak
Gambar 3.93 Perancangan halaman laporan penjualan berdasarkan barang
yang paling banyak terjual
267
Printed dd/mm/yyyy hh:mm:ss
Laporan Penjualan
Berdasarkan Wilayah Customer
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Barang Nama Barang Jumlah Penjualan Wilayah
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
99999
99999
99999
x-20-x
x-20-x
x-20-x
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Staff Administrasi Manager Pemasaran
Cetak
Gambar 3.94 Perancangan halaman laporan penjualan berdasarkan
wilayah customer
268
Printed dd/mm/yyyy hh:mm:ss
Laporan Pembelian
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Pembelian : x-6-x
Tanggal Pembelian : dd/mm/yyyy
Kode Karyawan : x-5-x
Nama Karyawan : x-30-x
Kode Barang Nama Barang Nama
Supplier
Harga Satuan Banyak Jumlah
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-20-x
x-20-x
x-20-x
99999
99999
99999
x-20-x
x-20-x
x-20-x
Total x-20-x
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Bagian Persediaan Barang Manager Pemasaran
Cetak
Gambar 3.95 Perancangan halaman laporan pembelian
269
Printed dd/mm/yyyy hh:mm:ss
Laporan Persediaan
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Barang Jenis Barang Nama Barang Harga Stok
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-20-x
x-20-x
x-20-x
99999
99999
99999
Total 99999
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Bagian Persediaan Barang Manager Pemasaran
Cetak
Gambar 3.96 Perancangan halaman laporan persediaan
270
3.2.5.4 Perancangan Laporan
Printed dd/mm/yyyy hh:mm:ss
Laporan Penjualan
Berdasarkan Barang yang Paling Banyak Terjual
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Barang Nama Barang Jumlah Penjualan
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
99999
99999
99999
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Staff Administrasi Manager Pemasaran
Gambar 3.97 Perancangan halaman laporan penjualan berdasarkan barang
yang paling banyak terjual (yang akan dicetak)
271
Printed dd/mm/yyyy hh:mm:ss
Laporan Penjualan
Berdasarkan Wilayah Customer
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Barang Nama Barang Jumlah Penjualan Wilayah
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
99999
99999
99999
x-20-x
x-20-x
x-20-x
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Staff Administrasi Manager Pemasaran
Gambar 3.98 Perancangan halaman laporan penjualan berdasarkan
wilayah customer (yang akan dicetak)
272
Printed dd/mm/yyyy hh:mm:ss
Laporan Pembelian
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Pembelian : x-6-x
Tanggal Pembelian : dd/mm/yyyy
Kode Karyawan : x-5-x
Nama Karyawan : x-30-x
Kode Barang Nama Barang Nama
Supplier
Harga Satuan Banyak Jumlah
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-20-x
x-20-x
x-20-x
99999
99999
99999
x-20-x
x-20-x
x-20-x
Total x-20-x
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Bagian Persediaan Barang Manager Pemasaran
Gambar 3.99 Perancangan halaman laporan pembelian (yang akan dicetak)
273
Printed dd/mm/yyyy hh:mm:ss
Laporan Persediaan
Per dd/mm/yyyy
PT Cavenzi Indonesia
Jl. Otista Raya No. 82a
Cawang Jakarta Timur
Kode Barang Jenis Barang Nama Barang Harga Stok
x-5-x
x-5-x
x-5-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-30-x
x-20-x
x-20-x
x-20-x
99999
99999
99999
Total 99999
dibuat oleh, disetujui oleh,
(x-30-x) (x-30-x)
Bagian Pesediaan Barang Manager Pemasaran
Gambar 3.100 Perancangan halaman laporan persediaan (yang akan
dicetak)
274
3.2.5.5 Spesifikasi Proses
1. Modul index.php
Begin
Tampilkan halaman Index.php
If tombol login diklik Then
Buka koneksi ke tabel MsKaryawan dan MsCustomer
Baca input username dan password
If input username dan password salah Then
Tampilkan pesan ”Invalid username or password”
Else If posisi = Admin Then
Masuk ke halaman Home_Admin.php sebagai Admin
Tutup data
Tutup koneksi
Else If posisi = Member
Masuk ke halaman Home.php sebagai Member
Tutup data
Tutup koneksi
End If
Else If tombol Log Out diklik Then
Tutup aplikasi
End If
End
275
2. Modul connect.php
Begin
Buka koneksi ke database
Memilih Database dbcavenzi
End
3. Modul Menu registrasi.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
If link Registrasi diklik Then
Tampilkan halaman pengisian Registrasi pelanggan
Mengisi data diri pelanggan
If tombol submit diklik Then
Simpan data ke dalam database
End If
End
4. Modul Menu Home.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
If memilih menu home Then
Tampilkan halaman Home.php
Else If memilih menu About us Then
Tampilkan halaman About_us.php
276
Else If memilih menu Profile Then
Tampilkan halaman Profile.php
Else If memilih menu Products Then
Tampilkan halaman Products.php
Else If memilih menu Status Then
Tampilkan halaman Status.php
Else If memilih menu Customer Talk Then
Tampilkan halaman Customer_Talk.php
Else If memilih menu Logout Then
Tampilkan modul Index.php
End If
End
5. Modul Menu About Us.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
If About Us diklik Then
Tampilkan data tentang perusahaan
End If
End
6. Modul Menu Profile.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
277
Tampilkan data pelanggan
If link Edit Profile diklik Then
Menuju modul Update_Profile.php dan ubah data yang diinginkan
dalam database
End If
End
7. Modul Menu Products.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
Tampilkan halaman gambar Products berdasarkan jenisnya
If link gambar Jenis Products diklik Then
Tampilkan data Product sesuai dengan jenis yang dipilih
Menginput product yang akan dipesan
If tombol submit ditekan Then
Simpan data kedalam modul pemesanan.php
End If
End
8. Modul Menu Status.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
If link Order Status diklik Then
Tampilkan data status pemesanan pelanggan
278
Else If link Paying Status diklik Then
Tampilkan data status pembayaran pelanggan
Else If link Delivery Status diklik Then
Tampilkan data status pengiriman barang
End If
End
9. Modul Menu Customer_Talk.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
Tampilkan halaman Customer_Talk.php
Mengisi saran dan kritik pada halaman Customer_Talk.php
If tombol submit diklik Then
Simpan data ke dalam database dan modul
View_Customer_Talk.php
End If
End
10. Modul Menu Logout.php (sebagai Pelanggan)
Begin
Buka koneksi ke database
If Logout diklik Then
Keluar dari aplikasi
End If
279
End
11. Modul Menu Home_Admin.php (sebagai Karyawan)
Begin
Buka koneksi ke database
If memilih menu home Then
Tampilkan halaman HomeAdmin.php
Else If memilih menu Master Then
Tampilkan halaman Master.php
Else If memilih menu transaksi Then
Tampilkan halaman Transaksi.php
Else If memilih menu Laporan
Tampilkan halaman Laporan.php
Else If memilih menu Logout
Tampilkan modul index.php
End If
End
12. Modul Menu Master.php (sebagai Karyawan)
Begin
Buka koneksi ke database
If link Barang diklik Then
Tampilkan data Barang
If link update diklik Then
280
Koneksi ke database
Tampilkan data-data barang pada field-field isian yang akan di
update pada Update_Barang.php
End If
If link delete diklik Then
Hapus data barang yang akan dihapus
End If
If link insert diklik Then
Tampilkan field isian barang baru
Masukan data-data barang baru pada field
End If
Else If link Supplier diklik Then
Tampilkan data-data supplier
If link update diklik Then
Koneksi ke database
Tampilkan data-data supplier pada field-field isian yang akan di
update pada Update_Supplier.php
End If
If link delete diklik Then
Hapus data supplier yang akan dihapus
End If
If link insert diklik Then
Tampilkan field isian supplier baru
Masukan data-data supplier baru pada field
281
End If
Else If link Karyawan diklik Then
Tampilkan data-data karyawan
If link update diklik Then
Koneksi ke database
Tampilkan data-data karyawan pada field-field isian yang akan di
update pada Update_Karyawan.php
If link delete diklik Then
Hapus data karyawan yang akan dihapus
End If
If link insert diklik Then
Tampilkan field isian karyawan baru
Masukan data-data karyawan baru pada field
End If
Else If link Customer diklik Then
Tampilkan data-data customer
If link Customer Talk diklik Then
Koneksi ke database
Tampilkan data-data Customer Talk pada
View_Customer_Talk.php
End If
End If
End
282
13. Modul Menu Transaksi.php (sebagai Karyawan)
Begin
Buka koneksi ke database
If link Pemesan diklik Then
Tampilkan data pemesanan barang customer pada modul
Pemesan.php
Else If link Pembayaran diklik Then
Tampilkan data-data pembayaran customer pada modul
Pembayaran.php
If link Insert diklik then
Tampilkan field isian pembayaran
Masukan data pembayaran baru pada field
End If
If link delete diklik Then
Hapus data pembayaran yang akan dihapus
End If
Else If link Pengiriman diklik Then
Tampilkan data-data pengiriman barang pada modul
Pengiriman.php
If link Insert diklik then
Tampilkan field isian pengiriman
Masukan data pengiriman baru pada field
End If
If link delete diklik Then
283
Hapus data pengiriman yang akan dihapus
End If
Else If link Pembelian diklik Then
Tampilkan data-data pembelian barang ke supplier pada modul
Pembelian.php
If link Insert diklik then
Tampilkan field isian pembelian
Masukan data pembelian baru pada field
End If
If link delete diklik Then
Hapus data pembelian yang akan dihapus
End If
Else If link Retur Penjualan diklik Then
Tampilkan data retur penjualan pada modul Retur_Penjualan.php
If link Insert diklik then
Tampilkan field isian retur penjualan
Masukan data retur penjualan baru pada field
End If
If link delete diklik Then
Hapus data retur penjualan yang akan dihapus
End If
Else If link Retur Pembelian diklik Then
Tampilkan data retur pembelian pada modul
Retur_Pembelian.php
284
If link Insert diklik then
Tampilkan field isian retur pembelian
Masukan data retur pembelian baru pada field
End If
If link delete diklik Then
Hapus data retur pembelian yang akan dihapus
End If
End If
End
14. Modul Menu Laporan (sebagai Karyawan)
Begin
Buka koneksi ke database
If link Penjualan diklik Then
Tampilkan link Barang dan link Wilayah
If link Barang diklik Then
Tampilkan laporan penjualan berdasarkan barang yang paling
banyak terjual
End If
If link Cetak dipilih Then
Cetak laporan penjualan berdasarkan barang yang paling banyak
terjual
End If
If link Wilayah diklik Then
285
Tampilkan laporan penjualan berdasarkan wilayah customer
End If
If link Cetak dipilih Then
Cetak laporan penjualan berdasarkan wilayah customer
End If
Else If link Pembelian diklik Then
Tampilkan modul Laporan_Pembelian.php
If link Cetak dipilih Then
Cetak Laporan Pembelian
End If
Else If link Persediaan diklik Then
Tampilkan modul Laporan_Persediaan.php
If link Cetak dipilih Then
Cetak Laporan Persediaan
End If
End If
End
286
15. Modul Menu Logout.php (sebagai Karyawan)
Begin
Buka koneksi ke database
If Logout diklik Then
Keluar dari aplikasi
End If
End