bab iv rancangan sistem dan program usulan · b. use case diagram ... deskripsi use case sistem...
TRANSCRIPT
31
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software
A. Tahap Analisa
Sistem penjualan secara online berbasis website (e-commerce) dimana penjual
dan calon pembeli tidak saling bertatap muka secara langsung melainkan melalui
media website agar sistem penjualan yang dilakukan lebih mudah dan efisien.
Berikut ini spesifikasi kebutuhan sistem penjualan online yang dibuat penulis.
Halaman User :
A1. User dapat melihat beranda website
A2. User dapat melihat daftar produk
A3. User dapat melihat kategori
A4. User dapat melihat keranjang belanja
A5. User dapat melakukan pencarian
A6. User dapat melakukan registrasi
Halaman Member :
B1. Member dapat memilih daftar produk sesuai dengan kebutuhannya
B2. Member dapat memilih kategori
B3. Member dapat melakukan pencarian
B4. Member dapat melihat keranjang belanja
B5. Member dapat melakukan registrasi untuk login
B6. Member dapat melakukan login dengan account yang telah dibuat untuk
berbelanja dilain waktu
32
B7. Member dapat melakukan konfirmasi pembayaran
B8. Member dapat mengelola data pribadinya setelah login
B9. Member dapat melihat status order dan mencetak invoice
Halaman Administrator :
C1. Administrator dapat mengelola data produk/ layanan
C2. Administrator dapat mengelola data kategori
C3. Administrator dapat mengelola data pesanan customer
C4. Administrator dapat mengelola data laporan transaksi
C5. Administrator dapat mengelola data konfirmasi pembayaran
C6. Administrator dapat mengelola password admin
C7. Administrator dapat mengelola data ongkos kirim
33
B. Use Case Diagram
Use case diagram berguna untuk menggambarkan perilaku, prosedur-prosedur
serta pengguna atau aktor yang terlibat pada sistem informasi penjualan berbasis
web pada Toko DAC (Depklu Art Collection).
1. Use Case Halaman User
Gambar IV.1.
Use Case Halaman User
34
Deskripsi Use Case Halaman User
Tabel IV.1.
Deskripsi Use Case Halaman User
Use Case Name Halaman user.
Requirements A1-A6
Goal User dapat melihat website dan menjadi member.
Pre-Conditions User mengetahui situs penjualan online di website Toko
DAC.
Post-Conditions User membeli produk secara online.
Failed end condition User membatalkan belanja produk secara online.
Primary Actors User / calon member
Main Flow / Basic Path 1. User dapat melihat beranda website
2. User dapat melihat daftar produk
3. User dapat melihat kategori
4. User dapat melihat keranjang belanja
5. User dapat melakukan pencarian
6. User dapat melakukan registrasi
Alternate Flow / Invariant 1 -
Invariant 2 -
2. Use Case Sistem Pemesanan Online Halaman Member
Gambar IV.2.
Use Case Sistem Pemesanan Online Halaman Member
35
Deskripsi Use Case Sistem Pemesanan Online Halaman Member
Tabel IV.2.
Deskripsi Use Case Sistem Pemesanan Online Halaman Member
Use Case Name Sistem Pemesanan Online.
Requirements B1-B7
Goal Member melakukan pembelian online via website.
Pre-Conditions Member mengetahui informasi bahwa Toko DAC
(Depklu Art Collection) melayani permintaan mencetak
berkas secara online di website Toko DAC.
Post-Conditions Member melakukan permintaan untuk mencetak berkas
secara online via website.
Failed end condition Member membatalkan permintaan secara online.
Primary Actors Member
Main Flow / Basic Path 7. Member mengunjungi website Toko DAC (Depklu
Art Collection).
8. Member memilih produk yang akan dijadikan
referensi disain dalam mencetakdokumen melalui
halaman beranda ataupun kategori produk atau
melalui pencarian produk.
9. Member harus melakukan login untuk melanjutkan
transaksi.
10. Member melakukan pembelian dan mengisi form
data order sebagai data spesifikasi berkas yang
akan dicetak dan sebagai data pengiriman.
11. Website menampilkan total biaya yang harus
dibayar dan member selesai melakukan transaksi.
12. Member melakukan konfirmasi pembayaran.
Alternate Flow / Invariant 1 -
Invariant 2 -
36
3. Use Case Mengolah Data Pribadi Halaman Member
Gambar IV.3.
Use Case Mengolah Data Pribadi Member
Deskripsi Use Case Mengolah Data Pribadi Member
Tabel IV.3.
Deskripsi Use Case Mengolah Data Pribadi Member
Use Case Name Data Pribadi Member
Requirements B8
Goal Member melakukan login dan mengolah data pribadinya
Pre-Conditions Member biasa harus login terlebih dahulu agar statusnya
menjadi member dan dapat mengolah data pribadinya
Post-Conditions Jika proses berhasil maka data pribadi member diubah
Failed end condition Member tidak mengubah data pribadinya
Primary Actors Member
Main Flow / Basic Path 1. Member dapat mengolah data pribadi mereka
diantaranya edit password, edit profil pribadi dan
melihat riwayat transaksi.
Alternate Flow / Invariant 1 -
Invariant 2 -
37
4. Use Case Data Riwayat Transaksi Halaman Member
Gambar IV.4.
Use Case Data Riwayat Transaksi
Deskripsi Use Case Data History Transaksi
Tabel IV.4.
Deskripsi Use Case Data Riwayat Transaksi
Use Case Name Data Riwayat Transaksi
Requirements B7, B9
Goal Member melihat riwayat transaksi dan mencetak bukti
transaksi atau invoice dan melakukan konfirmasi
pembayaran.
Pre-Conditions Member biasa harus login terlebih dahulu agar statusnya
menjadi member dan dapat melihat serta mencetak
invoicedan mengkonfirmasi pembayaran.
Post-Conditions Jika proses berhasil maka member mencetak invoice dan
melakukan konfirmasi pembayaran.
Failed end condition Member gagal melakukan pencetakan invoice dan tidak
melakukan konfirmasi
Primary Actors Member
Main Flow / Basic Path 1. Member melihat data transaksi dan invoice.
2. Member mencetak invoice
3. Member melakukan konfirmasi pembayaran
Alternate Flow / Invariant 1 -
Invariant 2 -
38
5. Package Diagram Halaman Administrator
Gambar IV.5.
Package diagram Halaman Administrator
39
6. Use Case Halaman Administrator
Gambar IV.6.
Use Case Halaman Administrator
Deskripsi Use Case Mengelola Data Produk
Tabel IV.5.
Deskripsi Use Case Halaman Administrator
Use Case Name Mengelola Halaman Administrator
Requirements C1 – C7
Goal Administrator dapat menambah data, merubah dan
menghapus produk, dan menyetujui pesanan di halaman
administrator
Pre-Conditions Administrator telah Login
Post-Conditions Data produk tersimpan, ter-update atau terhapus
Failed end condition Gagal menyimpan, meng-update, atau menghapus
Primary Actors Administrator
40
Main Flow / Basic Path 1. Administrator login dengan user administrator
2. Sistem berhasil menampilkan halaman administrator
3. Administrator menambah, merubah dan menghapus
produk dan kategori produk
4. Administrator dapat mengelola detail pesanan
Alternate Flow / Invariant 1 2a. Administrator meng-edit data produk
Invariant 2 2b. Administrator menghapus data produk
7. Use Case Mengelola Data Produk Halaman Administrator
Gambar IV.7.
Use Case Mengelola Data Produk Halaman Administrator
Deskripsi Use Case Mengelola Data Produk
Tabel IV.6.
Deskripsi Use Case Mengelola Data Produk Halaman Administrator
41
Use Case Name Mengelola Data Produk
Requirements C1
Goal Administrator dapat melihat, menambah, mengubah dan
menghapus data produk
Pre-Conditions Administrator telah Login
Post-Conditions Data produk tersimpan, ter-update atau terhapus
Failed end condition Gagal menyimpan, meng-update, atau menghapus
Primary Actors Administrator
Main Flow / Basic Path 1. Administrator melihat daftar produk
2. Administrator menambah data produk
3. Administrator menyimpan data produk
Alternate Flow / Invariant 1 2a. Administrator meng-edit data produk
Invariant 2 2b. Administrator menghapus data produk
8. Use Case Mengelola Data Kategori Halaman Administrator
Gambar IV.8.
Use Case Mengelola Data Kategori
42
Deskripsi Use CaseMengelola Data Kategori
Tabel IV.7.
Deskripsi Use Case Mengelola Data Kategori
Use Case Name Mengelola Data Kategori
Requirements C2
Goal Administrator dapat melihat, menambah, mengubah dan
menghapus data kategori
Pre-Conditions Administrator telah Login
Post-Conditions Data kategori tersimpan, ter-update atau terhapus
Failed end condition Gagal menyimpan, meng-update, atau menghapus data
produk
Primary Actors Administrator
Main Flow / Basic Path 1. Administrator melihat daftar kategori
2. Administrator menambah data kategori
3. Administrator menyimpan data kategori
Alternate Flow / Invariant 1 2a. Administrator meng-editdata kategori
Invariant 2 2b. Administrator menghapus data kategori
9. Use Case Mengelola Data Pesanan Customer Halaman Administrator
Gambar IV.9.
Use Case Mengelola Data Pesanan Customer
43
Deskripsi UseCase Mengelola Data Pesanan Customer
Tabel IV.8.
Deskripsi Use Case Mengelola Data Pesanan Customer
Use Case Name Mengelola Data Pesanan Customer
Requirements C3
Goal Administrator dapat melihat detail dan mengubah status
order
Pre-Conditions Administrator telah Login
Post-Conditions Data status order terubah
Failed end condition Gagal mengubah status order
Primary Actors Administrator
Main Flow / Basic Path 1. Administrator melihat daftar order
2. Administrator mengubah data status order
3. Administrator mencetak invoice
Alternate Flow / Invariant 1 -
Invariant 2 -
44
10. Use Case Mengelola Data Laporan Penjualan / Transaksi
Gambar IV.10.
Use Case Mengelola Data Laporan Penjualan
Deskripsi Use Case Mengelola Data Laporan Penjualan
Tabel IV.9.
Deskripsi Use Case Mengelola Data Laporan Penjualan / Transaksi
Use Case Name Mengelola Data Laporan Penjualan
Requirements C4
Goal Administrator dapat melihat dan mencetak laporan
penjualan
Pre-Conditions Administrator telah Login
Post-Conditions Data laporan dicetak oleh administrator
Failed end condition Admin tidak melihat dan mencetak laporan
Primary Actors Administrator
Main Flow / Basic Path 1. Administrator melihat laporan penjualan
Alternate Flow / Invariant 1 2a. Administrator Mencetak Laporan Penjualan
Invariant 2 -
45
11. Use CaseMengelola Data Konfirmasi Pembayaran
Gambar IV.11.
Use Case Mengelola Data Konfirmasi Pembayaran
Deskripsi Use Case Mengelola Data Konfirmasi Pembayaran
Tabel IV.10.
Deskripsi Use CaseMengelola Data Konfirmasi Pembayaran
Use Case Name Mengelola Data Konfirmasi Pembayaran
Requirements C5
Goal Administrator dapat melihat data konfirmasi pembayaran
Pre-Conditions Administrator telah Login
Post-Conditions Data konfirmasi pembayaran dilihat oleh administrator
Failed end condition Administrator tidak melihat konfirmasi pembayaran
Primary Actors Administrator
Main Flow / Basic Path 1. Administrator melihat konfirmasi pembayaran
Alternate Flow / Invariant 1 -
Invariant 2 -
46
12. Use Case Mengelola Data Ongkos Kirim Halaman Administrator
Gambar IV.12.
Use Case Mengelola Data Ongkos Kirim
Deskripsi Use Case Mengelola Data Ongkos Kirim
Tabel IV.11.
Deskripsi Use Case Mengelola Data Ongkos Kirim
Use Case Name Mengelola Data Ongkos Kirim
Requirements C10
Goal Administrator dapat melihat, menambah, mengubah atau
menghapus data ongkos kirim
Pre-Conditions Administrator telah Login
Post-Conditions Data ongkos kirim tersimpan, terupdate atau terhapus
Failed end condition Data ongkos kirim gagal tersimpan, terupdate atau terhapus
Primary Actors Administrator
Main Flow / Basic Path 1. Administrator melihat data ongkos kirim
2. Administrator menambah data ongkos kirim
3. Administrator menyimpan data ongkos kirim
Alternate Flow / Invariant 1 2a. Administrator mengubah data ongkos kirim
Invariant 2 2b. Administrator menghapus data ongkos kirim
47
C. Activity Diagram
1. Activity Diagram Pemesanan Online
Gambar IV.13.
Activity Diagram Pemesanan Online
48
2. Activity Diagram Mengelola Produk
Gambar IV.14.
Activity Diagram Mengelola Produk
49
3. Activity Diagram Mengelola Pesanan
Gambar IV.15.
Activity Diagram Mengelola Pesanan
50
4. Activity Diagram Mengelola Data History Transaksi
Gambar IV.16.
Activity Diagram Mengelola Data History Transaksi
51
4.2. Desain
4.2.1. Database
1. EntityRelationship Diagram
Produk
Tanggal input
deskripsi Nama_produk satuan
Harga
BeratGambar
Id_kategori
Memiliki
Kategori
Nama
Kategori
Tanggal
Modifikasi
Id_kategoriTanggal_
modifikasi
Tanggal input
Gambar
M
Transaksi_detail
catatan
Id_transaksi_
detail
Id_produk
Jumlah_produk
Harga_produk
Customer
Alamat
password
Id_customer
Nama
Tanggal_modifikasi
Tanggal_input
phone
Id_provinsi
M
memilih1
Provinsi
Id_provinsi Nama_provinsi
Tanggal_input
1
Tanggal_modifikasi
Melakukan
transaksi
Id_transaksi
Id_customer
Total_belanja
Ongkos_kirim
Alamat_pengiriman
Id_provinsi
status
Tanggal_transaksi
Melakukan Konfirmasi
Jumlah_pembayaran
Id_konfirmasi
Id_transaksi
Jenis_pembayaran
No_rekeningNama_pemilik
No_referensi
memuat
Id_transaksi
M
M
1 1
1
1
Id_produk
Gambar IV.17.
Entity RelationshipDiagram
52
2. Logical Record Structure
Gambar IV.18.
Logical Record Structure
Produk
id_produk
id_kategori
nama_produk
deskripsi
gambar
harga
satuan
berat
tanggal_input
tanggal_modifikasi
Kategori
id_kategori
nama_kategori
gambar
tanggal_input
tanggal_modifikasi
transaksi
id_transaksi
id_customer
total_belanja
ongkos_kirim
alamat_pengiriman
id_provinsi
status
tanggal_transaksi
tanggal_modifikasi
customer
id_customer
nama
phone
password
alamat
id_provinsi
tanggal_input
tanggal_modifikasi
transaksi_detail
id_transaksi_detail
id_transaksi
id_produk
jumlah_produk
harga_produk
catatan
provinsi
id_provinsi
nama_provinsi
tanggal_input
tanggal_modifikasi
id_kategori id_produk
id_transaksi
Id_provinsi
id_customer
Konfirmasi
id_konfirmasi
id_transaksi
jenis_pembayaran
no_rekening
nama_pemilik
no_referensi
tanggal_pembayaran
jumlah_pembayaran
id_transasksi
53
3. Spesifikasi File
a. Spesifikasi Tabel Admin
Tabel admin berfungsi untuk menyimpan data login admin untuk pengelolaan
website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel admin
Akronim : admin.myd
Tipe File : file master
Akses File : index sequence
Panjang Karakter : 315 Karakter
Kunci Field : username
Tabel IV.12.
Admin
No. Elemen Data Akronim Type Size Ket
I Id Id Int 10 Primary
Key
2. Username Username Varchar 50
3. Password Password Varchar 255 Unique
4. Login
Terakhir login_terakhir Datetime
5. Tanggal_input tanggal_input Datetime
6. Tanggal
Modifikasi Tanggal_modifikasi Timestamp
54
b. Spesifikasi Tabel Konten
Tabel Artikel berfungsi untuk menyimpan data artikel dan komentarnya
untuk pengelolaan artikel website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel konten
Akronim : konten.myd
Tipe File : file transaksi
Akses File : index sequence
Panjang Karakter :60 Karakter
Kunci Field : idkonten
Tabel IV.13.
Konten
No. Elemen Data Akronim Type Size Ket
1. ID konten td_konten Int 10 Primary
Key
2. Nama Konten nama_konten varchar 50 Unique
3. Isi Konten tsi_konten Text
4. Tanggal Input tanggal_input datetime
5. Tanggal
Modifikasi Tanggal_modifikasi timestamp
c. Spedifikasi Tabel Kategori
Tabel header berfungsi untuk menyimpan data gambar yang digunakan
sebagai slideshow website pada website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel kategori
55
Akronim : kategori.myd
Tipe File : file master
Akses File : index sequence
Panjang Karakter : 261 Karakter
Kunci Field : id_kategori
Tabel IV.14.
Kategori
No. Elemen Data Akronim Type Size Ket
1. Id Kategori id_kategori Int 11 Primary Key
2. Nama Kategori nama_kategori varchar 50
3. Gambar Gambar varchar 200
4. Tanggal Input tanggal_input datetime
5. Tanggal
Modifikasi Tanggal_modifikasi timestamp
d. Tabel Konfirmasi
Tabel konfirmasi berfungsi untuk sebagai halaman konfirmasi pembayaran
customer saat customer selesai melakukan pembayaran pada website Toko
DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel konfirmasi
Akronim : konfirmasi.myd
Tipe File : file transaksi
Akses File : index sequence
Panjang Karakter : 172 Karakter
Kunci Field : id_konfirmasi
56
Tabel IV.15.
Konfirmasi
No
. Elemen Data Akronim Type Size Ket
1. ID Konfirmasi id_konfirmasi Int 11 Primary
Key
2. Id transaksi Id_transaksi Int 11 Unique
3. Jenis
pembayaran Jenis_pembayaran Enum
‘transfer’,’tu
nai’
4. No rekening No_rekening Varchar 50
5. Nama pemilik Nama_pemilik Varchar 50
6. No referensi No_referensi Varchar 50
7. Tanggal
pembayaran
Tanggal_pembayara
n Date
8. Jumlah
pembayaran Jumlah_pembayaran Double
9. Sudah dibaca Sudah_dibaca ‘Y’,’N’
10. Tanggal
Konfirmasi Tanggal_konfirmasi Datetime
11. Tanggal
modifikasi Tanggal_modifikasi Timestamp
e. Spesifikasi Tabel Provinsi
Tabel kota berfungsi untuk menyimpan data biaya pengiriman di setiap kota
tujuan pengiriman pada website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel provinsi
Akronim : provinsi.myd
Tipe File : file master
57
Akses File : index sequence
Panjang Karakter : 60 Karakter
Kunci Field : idprovinsi
Tabel IV.16.
Provinsi
No. Elemen Data Akronim Type Size Ket
1. ID Provinsi Id_provinsi Int 10 Primary
Key
2. Nama Provinsi Nama_provinsi varchar 50
3. Tanggal input Tanggal_input datetime
4. Tanggal
modifikasi Tanggal_modifikasi timestamp
f. Spesifikasi Tabel customer
Tabel kustomer berfungsi sebagai file yang menyimpan data customer pada
website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel costumer
Akronim : customer.myd
Tipe File : file master
Akses File : index sequence
Panjang Karakter : 590 Karakter
Kunci Field : id_customer
58
Tabel IV.17.
Customer
No. Elemen Data Akronim Type Size Ket
1. Id customer id_customer INT 10 Primary Key
2. Nama Nama varchar 255
3. Phone Phone varchar 30
4. email Email varchar 255 Unique
5. Password Password vachar 30
6. Alamat Alamat Text
7. Id Provinsi Id_provinsi INT 10
8. Tanggal Input Tanggal_input datetime
9. Tanggal
modifikasi Tanggal_modifikasi Timestamp
g. Spesifikasi Tabel Transaksi
Tabel transaksi berfungsi untuk mencatat data pesanan dari customer yang
telah melakukan transaksi pada website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabeltransaksi
Akronim : transaksi.myd
Tipe File : file transaksi
Akses File : index sequence
Panjang Karakter : 60 Karakter
Kunci Field : id_transaksi
59
Tabel IV.18.
Transaksi
No. Elemen
Data Akronim Type Size Ket
1. Id Transaksi id_transaksi Int 10 Primary
Key
2. Id Customer Id_customer Int 10 Foreign
Key
3. Total
belanja Total_belanja Double
4. Ongkos
kirim Ongkos_kirim Double
5. Alamat
pengiriman alamat_pengiriman Text
6. Id provinsi id_provinsi Int 10
7. Status Status Varchar 30
8. Tanggal
transaksi Tanggal_transaksi Datetime
9. Tanggal
modifikasi Tanggal_modifikasi Timestamp
h. Tabel Transaksi detail
Tabel transaksi detail berfungsi untuk mengetahui total atau detail dari
transaksi pelanggan pada website Toko DAC (Depklu Art Collection)
Nama database : dbdac
Nama File : tabel transaksi detail
Akronim : transaksi_detail.myd
Tipe File : file transaksi detail
Akses File : index sequence
60
Panjang Karakter : 40 Karakter
Kunci Field : id_transaksi_detail
Tabel IV.19.
Transaksi Detail
No. Elemen
Data Akronim Type Size Ket
1. Id Transaksi
detail id_transaksi_detail Int 10 Primary key
2. Id transaksi id_transaksi Int 10
3. Id produk Id_produk Int 10
4. Jumlah
produk Jumlah_produk Int 10
5. Harga
produk Harga_produk Double
6. Catatan Text
i. Tabel Produk
Tabel produk berfungsi untuk mengetahui produk dari website Toko DAC
(Depklu Art Collection)
Nama database : dbdac
Nama File : tabel Produk
Akronim : produk.myd
Tipe File : file master
Akses File : index sequence
Panjang Karakter : 325 Karakter
Kunci Field : id_produk
61
Tabel IV.20.
Produk
No. Elemen Data Akronim Type Size Ket
1. IdProduk id_produk Int 10 Primary Key
2. Id Kategori id_kategori Int 10
3. Nama Produk nama_produk Varchar 255
4. Deskripsi Deskripsi Text
5. Gambar Gambar Text
6. harga Harga Double
7. Satuan Satuan Varchar 50
8. Berat Berat Float
9. Tanggal Input Tanggal_input Datetime
10. Tanggal
modifikasi
Tanggal-
modifikasi Timestamp
62
4.2.2. Software Architecture
A. Component Diagram
Menggambarkan struktur dan hubungan antar komponen piranti lunak,
termasuk ketergantungan diantaranya.
Gambar IV.19.
Component Diagram Sistem Penjualan Online Toko DAC (Depklu Art
Collection)
63
B. Deployment Diagram
Menggambarkan tata letak sistem secara fisik, yang menampakkan bagian-
bagian software yang berjalan pada hardware untuk mengimplementasikan
sebuah sistem dan keterhubungan antara komponen hardware-hardware tersebut.
Gambar IV.20.
Deployment Diagram Sistem Penjualan Online Toko DAC (Depklu Art
Collection)
64
4.2.2. User Interface
1. Halaman Tambah Produk
Halaman ini berfungsi sebagai halaman untuk menambah produk baru dimenu
admin.
Gambar IV.21.
Tampilan Tambah Produk
65
2. Tambah Kategori Baru
Halaman ini berfungsi sebagai halaman untuk penambahan kategori produk
baru.
Gambar IV.22.
Tampilan Tambah Kategori
66
3. Pendaftaran Member Baru
Halaman ini berfungsi sebagai halaman pendaftaran bagi customer baru yang
ingin berbelanja dan belum menjadi member.
Gambar IV.23.
Tampilan Halaman Pendaftaran Member Baru
67
4. Konfirmasi Pembayaran
Halaman ini berfungsi sebagai halaman untuk melakukan konfirmasi
pembayaran setelah member melakukan pembayaran dp 50% dari total bayar
ke rekening Toko DAC (Depklu Art Collection) yang telah disediakan.
Gambar IV. 24.
Tampilan Halaman Konfirmasi Pembayaran
68
5. Login Admin
Halaman ini berfungsi sebagai tampilan login admin.
Gambar IV.25.
Tampilan Halaman Login Admin
4.3. Code Generation
Code Generation adalah sebuah program yang dibuat agar dapat
menghasilkan instruksi atau kode program sesuai dengan kebutuhan pengguna
dalam ruang lingkup tertentu. Dalam hal ini penulis menggunakan model
pemrograman terstuktur.
A. Form Tambah Produk
<?php if(isset($pesan_error) && $pesan_error != ''): ?>
<div class="alert alert-danger" role="alert">
<strong>Inputan error:</strong>
<div><?php echo $pesan_error; ?></div>
69
</div>
<?php endif; ?>
<?php
// ambil data kategori
$kategori = DB_query("SELECT * FROM kategori ORDER BY
nama_kategori");
?>
<form method="post" action="<?php echo admin_url('produk-
simpan.php'); ?>" enctype="multipart/form-data">
<div class="row">
<div class="form-group col-xs-12 col-md-3">
<label for="nama">Nama Produk</label>
<input type="text" class="form-control" id="nama"
name="nama_produk" placeholder="Nama produk" value="<?php echo
(isset($_POST['nama_produk']) ? $_POST['nama_produk'] : '');
?>">
</div>
<div class="form-group col-xs-12 col-md-3">
<label for="id_kategori">Kategori</label>
<select class="form-control" name="id_kategori"
id="id_kategori">
<option value="0" selected="selected">Pilih kategori...</option>
<?php if(is_array($kategori) && count($kategori)): ?>
<?php foreach($kategori as $kat): ?>
<option value="<?php echo $kat['id_kategori']; ?>"><?php echo
$kat['nama_kategori']; ?></option>
<?php endforeach; ?>
<?php endif; ?>
</select>
</div>
<div class="form-group col-xs-12 col-md-3">
<label for="harga">Harga</label>
<input type="text" class="form-control" id="harga" name="harga"
placeholder="Harga" value="<?php echo (isset($_POST['harga']) ?
$_POST['harga'] : ''); ?>">
</div>
70
<div class="form-group col-xs-12 col-md-3">
<label for="satuan">Satuan</label>
<input type="text" class="form-control" id="satuan"
name="satuan" placeholder="Satuan" value="<?php echo
(isset($_POST['satuan']) ? $_POST['satuan'] : ''); ?>">
</div>
</div>
<div class="row">
<div class="form-group col-xs-12 col-md-9">
<label for="deskripsi">Deskripsi</label>
<textarea class="form-control no-resize" id="deskripsi"
name="deskripsi" placeholder="Deskripsi" rows="10"><?php echo
(isset($_POST['deskripsi']) ? $_POST['deskripsi'] : '');
?></textarea>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<label for="gambar">Gambar Produk:</label>
</div>
<div class="col-xs-12 col-md-3">
<input type="file" id="gambar" name="gambar[]">
</div>
<div class="col-xs-12 col-md-3">
<input type="file" id="gambar" name="gambar[]">
</div>
<div class="col-xs-12 col-md-3">
<input type="file" id="gambar" name="gambar[]">
</div>
</div>
<div class="mt20 mb20">
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
71
B. Form Pendaftaran Member Baru
<form method="post" action="<?php echo base_url('proses-
pendaftaran.php?ref='. data_get('ref'));?>">
<?php if(isset($pendaftaran_error) && $pendaftaran_error != ''):
?>
<div class="alert alert-danger">
<?php echo $pendaftaran_error; ?>
</div>
<?php endif; ?>
<div class="form-group">
<label for="nama">Nama</label>
<input type="text" name="nama" id="nama" class="form-control"
value="<?php echo data_post('nama'); ?>">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" name="email" id="email" class="form-control"
value="<?php echo data_post('email'); ?>">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" id="password"
class="form-control">
</div>
<div class="form-group">
<label for="phone">No Telepon</label>
<input type="text" name="phone" id="phone" class="form-control"
value="<?php echo data_post('phone'); ?>">
</div>
<div class="form-group">
<label for="alamat">Alamat</label>
<textarea name="alamat" id="alamat" class="form-control"
rows="3"><?php echo data_post('alamat'); ?></textarea>
</div>
<div class="form-group">
72
<label for="id_provinsi">Provinsi</label>
<select name="id_provinsi" id="id_provinsi" class="form-
control">
<?php $provinsi = DB_query("SELECT * FROM provinsi"); ?>
<?php foreach($provinsi as $prov): ?>
<option <?php echo
($prov['id_provinsi']==data_post('id_provinsi')?'selected="selec
ted"':''); ?> value="<?php echo $prov['id_provinsi']; ?>"><?php
echo $prov['nama_provinsi']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit">Submit!</button>
</div>
</form>
C. Form Konfirmasi Pembayaran
<?php
// panggil semua fungsi yang diperlukan
include "fungsi/semua.php";
// panggil HTML header
include "html/header.php";
// id_transaksi
$id_transaksi = data_get('t');
// validasi inputan
if(isset($_POST['id_transaksi']))
{
$data = data_post();
$id_transaksi = @$data['id_transaksi'];
73
$pesan_error = '';
$gonext = TRUE;
if($gonext && $data['jenis_pembayaran']=='transfer' &&
!$data['no_rekening'])
{
$pesan_error = 'Silahkan masukkan no rekening penransfer!';
$gonext = FALSE;
}
elseif($gonext && $data['jenis_pembayaran']=='tunai' &&
!$data['no_referensi'])
{
$pesan_error = 'Silahkan masukkan no referensi yang tertera pada
struk setor tunai!';
$gonext = FALSE;
}
if($gonext && $data['jenis_pembayaran']=='transfer' &&
!$data['nama_pemilik_rekening'])
{
$pesan_error = 'Silahkan masukkan nama pemilik rekening
penransfer!';
$gonext = FALSE;
}
if($gonext && !$data['tanggal_pembayaran'])
{
$pesan_error = 'Silahkan masukkan tanggal pembayaran!';
$gonext = FALSE;
}
if($gonext && !$data['jumlah_pembayaran'])
{
$pesan_error = 'Silahkan masukkan jumlah pembayaran!';
$gonext = FALSE;
74
}
// reformat tanggal pembayaran
$array_tanggal = explode('-', $data['tanggal_pembayaran']);
$data['tanggal_pembayaran'] = $array_tanggal[2] .
$array_tanggal[1] . $array_tanggal[0];
// simpan
$data['tanggal_konfirmasi'] = date('YmdHis');
$simpan = DB_insert('konfirmasi', $data);
if($simpan)
{
$pesan_sukses = 'Terimakasih, konfirmasi pembayaran Anda
berhasil kami simpan. Kami akan segera memprosesnya.';
$gonext = FALSE;
}
else
{
$pesan_error = 'Maaf, konfirmasi gagal disimpan. Silahkan coba
beberapa saat lagi';
if(preg_match('/(duplicate)/i', @$DB_ERROR))
{
$pesan_error = 'Konfirmasi pembayaran untuk no transaksi #'.
$id_transaksi .' sudah pernah dilakukan.';
}
$gonext = FALSE;
}
}
?>
<div class="menu-utama">
<div class="container">
<?php include "menu-utama.php"; ?>
</div>
</div>
75
<div class="container">
<div class="konten-utama">
<?php include "konten-header.php"; ?>
<div class="pembatas-konten">
<div class="pull-left">
Konfirmasi Pembayaran
</div>
<div class="clearfix"></div>
</div>
<div class="padding">
<div class="padding">
<form method="post" style="width:50%">
<?php if(isset($pesan_error) && $pesan_error!=''): ?>
<div class="alert alert-danger">
<?php echo $pesan_error; ?>
</div>
<?php endif; ?>
<?php if(isset($pesan_sukses) && $pesan_sukses!=''): ?>
<div class="alert alert-success">
<?php echo $pesan_sukses; ?>
</div>
<?php endif; ?>
<div class="form-group">
<label for="id_transaksi">No Transaksi</label>
<input type="text" class="form-control" id="id_transaksi"
name="id_transaksi" value="<?php echo $id_transaksi; ?>">
</div>
<div class="form-group">
<label for="jenis_pembayaran">Jenis Pembayaran</label>
<select id="jenis_pembayaran" name="jenis_pembayaran"
class="form-control">
76
<option <?php echo
(@$data['jenis_pembayaran']=='transfer'?'selected="selected"':''
); ?> value="transfer">Transfer</option>
<option <?php echo
(@$data['jenis_pembayaran']=='tunai'?'selected="selected"':'');
?> value="tunai">Setor Tunai</option>
</select>
</div>
<div class="form-group">
<label for="no_rekening">No Rekening <small>(Jika
Transfer)</small></label>
<input type="text" class="form-control" id="no_rekening"
name="no_rekening" value="<?php echo @$data['no_rekening']; ?>">
</div>
<div class="form-group">
<label for="nama_pemilik_rekening">Nama Pemilik Rekening
<small>(Jika Transfer)</small></label>
<input type="text" class="form-control"
id="nama_pemilik_rekening" name="nama_pemilik_rekening"
value="<?php echo @$data['nama_pemilik_rekening']; ?>">
</div>
<div class="form-group">
<label for="no_referensi">No Referensi <small>(Jika Setor
Tunai)</small></label>
<input type="text" class="form-control" id="no_referensi"
name="no_referensi" value="<?php echo @$data['no_referensi'];
?>">
</div>
<div class="form-group">
<label for="tanggal_pembayaran">Tanggal Pembayaran</label>
<input type="text" class="form-control" id="tanggal_pembayaran"
name="tanggal_pembayaran" value="<?php echo
@$data['tanggal_pembayaran']; ?>">
</div>
<div class="form-group">
<label for="jumlah_pembayaran">Jumlah Pembayaran</label>
<input type="text" class="form-control" id="jumlah_pembayaran"
name="jumlah_pembayaran" value="<?php echo
@$data['jumlah_pembayaran']; ?>">
</div>
77
<button type="submit" class="btn btn-primary btn-
print">Submit</button>
</form>
</div>
</div>
</div>
</div>
<?php
// panggil HTML footer
include "html/footer.php";
?>
D. Login Admin
<?php
// login.php
// panggil semua fungsi
require_once "../fungsi/semua.php";
?>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" type="text/css" href="<?php echo
assets_url('css/style-login.css'); ?>">
<title></title>
</head>
<body>
<div class="login">
<form method="post" action="<?php echo admin_url('login-
proses.php'); ?>">
<table>
<tr>
<td colspan="2">
<h3 align="center">Login Administrator</h3>
<?php
if(isset($pesan_error) && $pesan_error != '')
{
?>
<div class="alert error">
78
<strong>Error:</strong><br>
<?php echo $pesan_error; ?>
</div>
<?php
}
?>
</td>
</tr>
<tr>
<td><label for="username">Username</label></td>
<td><input class="input" type="text" id="username"
name="username"></td>
</tr>
<tr>
<td><label for="password">Password</label></td>
<td><input class="input" type="password" id="password"
name="password"></td>
</tr>
<tr>
<td> </td>
<td>
<button class="btn btn-blue" type="submit">Login</button>
<button class="btn btn-yellow" type="button"
onclick="location.href='<?php echo base_url(); ?>'">Batal</button>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<?php
// login-proses.php
// panggil semua fungsi
require_once "../fungsi/semua.php";
// ambil username dan password yang dikirim melalui form login
dengan method post ($_POST)
$username = data_post('username');
$password = data_post('password');
// validasi data
$pesan_error = '';
$gonext = TRUE;
// 1. validasi username
if($gonext && !$username)
{
$pesan_error = 'Silahkan masukkan username anda!';
$gonext = FALSE;
}
// 2. validasi password
if($gonext && !$password)
{
$pesan_error = 'Silahkan masukkan password anda!';
$gonext = FALSE;
79
}
// 3. otentikasi username dan password
if($gonext)
{
$login = DB_query("SELECT COUNT(*) AS jml FROM admin WHERE
username='$username' AND password='$password'");
if(is_array($login) && $login[0]['jml'] == 1)
{
// login berhasil
// set sesi dan pindah ke halaman admin-dashboard
set_sesi('login_id', md5(microtime()));
redirect(admin_url());
}
else
{
// login gagal
// username dan password tidak cocok dengan yang ada di
tabel admin
// tampilkan pesan error
$pesan_error = 'Username dan Password tidak benar';
$gonext = FALSE;
}
}
if($pesan_error != '')
{
// tampilkan kembali form login
require_once "login.php";
}
4.4. Testing
Black Box Testing yaitu menguji perangkat lunak dari segi spesifikasi
fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan
untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat
lunak sesuai dengan spesifikasi yang dibutuhkan.
A. Pengujian Terhadap Form Login Admin
Tabel IV.21.
Hasil Pengujian Black Box Testing Halaman Login Admin
No Skenario
Pengujian Test Case Hasil yang diharapkan
Hasil
Pengujian
Kesimpula
n
1
Username dan
password tidak
diisi kemudian
klik tombol login
Username: (kosong)
Password: (kosong)
Sistem akan menolak
akses administrator dan
menampilkan
“Silahkan masukkan
username anda!”
Sesuai
Harapan Valid
80
2
Mengetikkan
Username dan
password tidak
diisi atau kosong
kemudian klik
tombol login
Username : ending
Password : (kosong)
Sistem akan menolak
akses administrator dan
menampilkan
“Silahkan masukkan
password anda”
Sesuai
harapan Valid
3
Mengetikkan
salah satu
kondisi salah
pada username
atau password
kemudian klik
tombol login
Username: admin
(benar)
Password:
1233 (salah)
Sistem akan menolak
akses administrator dan
menampilkan halaman
“Username dan
password tidak benar”
Sesuai
harapan Valid
4
Mengetikkan
Username dan
password dengan
data yang benar
kemudian klik
tombol login
Email: admin(benar)
Password: 1234(benar)
Sistem menerima akses
login dan kemudian
langsung menampilkan
halaman administrator.
Sesuai
harapan Valid
B. Pengujian Terhadap Form Pendaftaran Member Baru
Tabel IV.22.
Hasil Pengujian Black Box Testing Halaman Pendaftaran Member Baru
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian
Kesimpu
lan
1
Semua data
dikosongkan atau
tidak diisi lalu
mengklik submit
sekarang.
Semua data dikosongkan atau
tidak diisi
Sistem akan
menolak akses
pendaftaran dan
menampilkan
popup message
yang berisi
“Semua isian
harus diisi”
Sesuai
Harapan Valid
2
Semua data diisi
dan captcha diisi
tetapi email
dikosongkan atau
salah diisi.
Semua data : (terisi)
Email : (Salah)
Captcha : (terisi)
Sistem akan
menolak akses
pendaftaran dan
menampilkanpop
up message berisi
pesan “semua
isian harus diisi.”
Sesuai
harapan Valid
3
Semua data diisi
dan captcha diisi
tetapi email diisi
dengan email yang
telah terdaftar.
Semua data : (terisi)
Captcha : (Terisi)
Email : (Terisi tapi sudah
terdaftar)
Sistem akan
menolak akses
pendaftaran dan
menampilkanpop
up messageyang
berisi
pesan”Email
sudah terdaftar”
Sesuai
harapan Valid
4
Semua data diisi
dan email diisi
dengan dengan
benar dan belum
terdaftar tetapi
Semua data : (terisi)
Email : (terisi benar dan
belum terdaftar)
Captcha : (kosong)
Sistem akan
menolak akses
pendaftaran dan
menampilkan
popup message
Sesuai
Harapan Valid
81
captcha tidak diisi.
yang berisi pesan
”semua isian
harus diisi”
5
Semua data diisi
dan email diisi
dengan benar dan
belum terdaftar
dan captcha diisi
dengan benar
Semua data : (terisi)
Email : (terisi benar dan
belum terdaftar)
Captcha : (terisi benar)
Sistem menerima
akses pendaftaran
member baru dan
menampilkan
popup
message”Terima
Kasih telah
mendaftar,”
Sesuai
harapan Valid
C. Pengujian Terhadap Form Tambah Produk
Tabel IV.23.
Hasil Pengujian Black Box Testing Halaman Tambah Produk
No Skenario Pengujian Test Case Hasil yang
diharapkan
Hasil
Pengujian
Kesimpula
n
1
Semua data
dikosongkan atau
tidak diisi lalu
mengklik simpan.
Semua data : (kosong
atau tidak diisi)
Sistem akan menolak
akses penambahan
produk baru dan
menampilkan popup
message yang berisi
“satuan belum diisi”
Sesuai
Harapan Valid
2
Mengisi beberapa
data atau salah satu
lalu mengklik
simpan
Nama Produk: (terisi)
Kategori : (Kosong)
satuan : (terisi)
Harga : (Kosong)
Sistem akan menolak
akses penambahan
produk baru dan
menampilkan popup
message berisi pesan
“satuan belum diisi”
Sesuai
harapan Valid
3
Mengisi semua data
produk dan
mengklik simpan
Semua data : (Terisi)
Sistem menerima
akses penambahan
produk baru dan
menampilkan popup
messageyang berisi
pesan”Data produk
berhasil disimpan.”
Sesuai
harapan Valid
D. Pengujian Terhadap Form Tambah Kategori
Tabel IV.24.
Hasil Pengujian Black Box Testing Halaman Tambah Kategori
No Skenario Pengujian Test Case Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1
Semua data
dikosongkan atau
tidak diisi lalu
mengklik simpan.
Semua data : (kosong atau
tidak diisi)
Sistem akan
menolak akses
penambahan
kategori baru dan
menampilkan
Sesuai
Harapan Valid
82
popup message
yang berisi
“Nama kategori
belum diisi”
2
Mengisi beberapa
data atau salah satu
lalu mengklik
simpan
Nama Kategori: (terisi)
Gambar Kategori :
(Kosong)
Sistem akan
menolak akses
penambahan
produk baru dan
menampilkan
popup message
berisi pesan
“Silahkan pilih
gambar untuk
ilustrasi kategori.
Usahakan ukuran
gambar lebih dari
300x300px ”
Sesuai
harapan Valid
3
Mengisi semua data
kategori dan
mengklik simpan
Semua data : (Terisi)
Sistem akan
menerima akses
penambahan
kategori baru dan
menampilkanpop
up messageyang
berisi pesan”Data
Kategori berhasil
disimpan.”
Sesuai
harapan Valid
E. Pengujian Terhadap Form Login User
Tabel IV.25.
Hasil Pengujian Black Box Testing Halaman Login User
No Skenario Pengujian Test Case Hasil yang diharapkan Hasil
Pengujian
Kesimpula
n
1
Email dan
password tidak
diisi kemudian klik
tombol login
Email: (kosong)
Password: (kosong)
Sistem akan menolak
akses login user dan
menampilkan “Email
atau Passwordharus
diisi”
Sesuai
Harapan Valid
2
Mengetikkan Email
dan password tidak
diisi atau kosong
kemudian klik
tombol login
Email : (terisi dan
benar)
Password : (kosong)
Sistem akan menolak
akses login user dan
menampilkan “email
dan password harus
diisi”
Sesuai
harapan Valid
3
Mengetikkan salah
satu kondisi salah
pada email atau
password kemudian
klik tombol login
Email: (terisi dan benar)
Password: (terisi dan
salah)
Sistem akan menolak
akses administrator dan
menampilkan halaman
“Kombinasi email dan
password tidak
ditemukan di database
kami”
Sesuai
harapan Valid
4
Mengetikkan
Username dan
password dengan
Email: (terisi dan benar)
Password: (terisi dan
benar)
Sistem menerima akses
login user dan
kemudian langsung
Sesuai
harapan Valid
83
data yang benar
kemudian klik
tombol login
menampilkan halaman
kelola user.
4.5. Support
Support adalah dukungan teknis yang diberikan untuk merawat perangkat
kerasdan perangkat lunak. Komputer dan perangkat elektronik lainnya adalah
sebuah mesin yang tentu saja perlu dirawat secara berkala dan rutin untuk
menjamin agar tetap berfungsi dengan baik dan mengantisipasi setiap
kemungkinan error yang dapat mengakibatkan kerugian pada perusahaan.
4.5.1. Publikasi Web
1. Nama Domain dan Analisa Biaya
Nama domain (domain name) merupakan nama unik yang diberikan untuk
mengidentifikasi nama server komputer seperti web server atau email server di
jaringan komputer ataupun internet. Nama domain berfungsi untuk mempermudah
pengguna di internet pada saat melakukan akses ke server, selain itu juga dapat
dipakai untuk mengingat namaserver yang dikunjungi tanpa harus mengenai
deretan angka yang rumit yang dikenal sebagai IP address. Registrasi domain
name untuk website ini adalah http://tokodac.byethost7.com/.
2. Kapasitas Hosting
Hosting merupakan jasa layanan internet yang menyediakan server-server
untuk disewakan sehingga memungkinkan organisasi atau individu menempatkan
informasi di internet. Kapasitas hosting yang ditawarkan penyedia jasa hosting
pun cukup beragam. Melihat kebutuhan storage database pada website Ifn ini
tidak terlalu besar dan mungkin kedepannya apabila digunakan maka akan terus
84
membutuhkan ruang storage, maka Penulis menggunakan subdomain gratis dari
https://byet.host/.
4.5.2. Spesifikasi Hardware dan Software
Perangkat keras (hardware) tidak akan berfungsi tanpa adanya perangkat
lunak (software), perangkat lunak merupakan bagian dari sistem pengolahan data
yang digunakan untuk mengaktifkan fungsi dari perangkat keras komputer. Dalam
penulisan skripsi ini penulis menggunakan perangkat keras dan lunak sebagai
berikut :
Tabel IV.26.
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Windows XP atau sesudahnya
Processor Intel Pentium Dual Core, 1.8 Ghz
RAM 1 GB
Harddisk 500 GB
DVD-ROM 8X DVD Super Multi Drive
Monitor LCD 14”
Keyboard Standart
Printer Deskjet
Mouse Standart
Browser Mozilla Firefox, Google Chrome
Software Sublime Text, XAMPP
4.6. Spesifikasi Dokumen Sistem Usulan
Spesifikasi sistem usulan merupakan pembahasan mengenai bentuk
dokumen-dokumen sistem usulan dalam proses penjualan perlengkapan dibidang
85
percetakan di Toko DAC (Depklu Art Collection). Dokumen sistem usulannya
adalah sebagai berikut:
1. Nama Dokumen : Invoice
Fungsi : Sebagai bukti penjualan produk
Sumber : Sistem
Tujuan : Customer
Media : Kertas
Frekuensi : Setiap ada penjualan produk
Jumlah : Satu lembar
Bentuk : Lampiran B.1
2. Nama Dokumen : Laporan Transaksi
Fungsi : Sebagai laporan transaksi
Sumber : Admin
Tujuan : Owner
Media : Kertas
Frekuensi : setiap bulan
Jumlah : Satu lembar
Bentuk : Lampiran B.2