38
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisis Kebutuhan Software A. Tahap Analisis
Sistem penjualan sepatu yang berbasis web ini dibuat untuk membantu proses penjualan pada toko Sepatu Rosse agar lebih mudah, cepat dan dapat diakses dimana saja dan kapan saja. Berikut rincian pembagian halaman berdasarkan level pengguna :
Halaman User :
A1.User dapat melihat daftar produk yang ada di website toko Sepatu Rosse.
A2. User dapat melihat detail harga dan keterangan produk.
A3.User dapat melakukan pendaftaran sebagai member.
Halaman Member:
B1. Member dapat melakukan login.
B2. Member dapat melakukan proses pemesanan / pembelian produk.
B3. Member dapat melakukan konfirmasi pembayaran.
Halaman Admin :
C1. Admin dapat mengubah password admin.
C2. Admin dapat mengelola manajemen modul.
C3. Admin dapat mengubah profil.
C4. Admin dapat mengelola kategori produk.
C5. Admin dapat mengelola data pemesanan.
C7. Admin dapat mengelola ongkos kirim.
C8. Admin dapat mengubah cara pembelian.
C9. Admin dapat melihat data konfirmasi.
C10. Admin dapat menghapus member.
C11. Admin dapat mengelola laporan penjualan.
B. Use Case Diagram
Berikut adalah rancangan Use case diagram pada toko Sepatu Rosse.
Penggambaran Use Case Diagram Model Pertama :
Penggambaran dengan melihat secara keseluruhan fungsi-fungsi yang ada pada sistem.
1. Use Case Diagram Belanja Online Halaman User
Gambar IV.1.
Use Case Diagram Belanja Online Halaman User
uc Use Case Diagram halaman user
User
Login
Pilih Produk Tampilkan detail
produk
Input keranj ang belanj a
«extend»
«include»
a. Deskripsi Use case Diagram Penjualan Online Halaman User Tabel IV.1
Deskripsi Use Case Diagram Belanja Online Halaman User
Use Case Name User
Requirements A1,A2,A3
Goal User masuk dan keluar hanya bisa melihat website Sepatu Rosse
Pre-Conditions User membuka browser dan mengetikan url pada address bar
Post-Conditions User masuk kedalam menu home dan login Failed and condition User gagal terdaftar
Primary Actors User
Main Flow / Basic Patch 1. User memilih produk 2. User memilih beli
3. System menampilkan dialog harus login / register Invariant A 1. A4. User memilih register
2. A5. User Mengisi Form Pendaftaran 3. A6. User memilih daftar
4. A7. System menampilkan menu login
2. Use Case Diagram Penjualan Online Halaman Member
Gambar IV.2
Use case Diagram Penjualan Online Halaman Member
a. Deskripsi Use Case Diagram Penjualan Online Halaman Member Tabel IV.2
Deskripsi Use Case Diagram Belanja Online Halaman Member
Use Case Name Member
Requirements B1,B2,B3
Goal User dapat melakukan pembelian secara online Pre-Conditions Usertelah melakukan login
Post-Conditions User melakukan pembelian online
Failed and condition Usertidak dapat melakukan pembelian online Primary Actors Member
Main Flow / Basic Patch 1. Membermemilih beli
2. System menampilkan keranjang belanja 3. Member milih icon selesai belanja
4. System menampilkan formdata pengiriman 5. Member mengisi data pengiriman dan
melanjutkan
uc Use Case diagram halaman member
Member
Login
Pilih Kategori
Pilih Produk
Pilih Konfirmasi Pembayaran
Tampil produk berdasarkan
kategori
Tampil detail produk
Masukkan data pembayaran
Tambah ke keranj ang belanj a
Lanj utkan belanj a
Update Keranj ang
Selesai Belanj a
Mengisi data pengiriman
Tampilkan data pengiriman & total
belanj a
«extend»
«include»
«include»
«include»
«extend»
«include»
«extend»
«extend»
«include»
«include»
«extend»
«include»
6. System menyimpan data pembelian Invariant B 5. B4.Member memilih konfirmasi pembayaran
6. B5. Systemmenampilkan form pembayaran 7. B6. Membermengisi data pembayaran
8. B7. Systemmenyimpan data dan memproses pengiriman
3. Use Case Diagram Penjualan Online Halaman Admin
Gambar IV.3.
Use Case Diagram Belanja Online Halaman Admin
uc Use Case Diagram halaman admin
Admin
Login
mengubah passw ord admin
mengelola manaj emen modul
mengubah profil
mengelola kategori produk
mengelola data produk
mengelola data pemesanan
mengelola ongkos kirim
mengubah cara pembelian
melihat data konfirmasi
menghapus member
mengelola laporan penj ualan
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
a. Deskripsi Use Case Diagram Mengubah Password Admin Tabel IV.3.
Deskripsi Use Case Diagram Mengubah Password Admin Use Case Name Mengubah Password Admin
Requirements C1
Goal Admin dapat mengubah password admin
Pre-condition Admin telah login
Post-condition Data password baru tersimpan.
Failed end condition Gagal menyimpan
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu ganti password 2. System tampilkan form ganti password 3. Admin menginput password lama dan baru
kemudian memilih tombol proses 4. System menyimpan data password baru b. Deskripsi Use Case Diagram Mengolah Data Manajemen Modul
Tabel IV.4.
Deskripsi Use Case Diagram Mengolah Data Manajemen Modul Use Case Name Mengolah Data Manajemen Modul
Requirements C2
Goal Admin dapat menambah, mengedit dan menghapus data manajemen modul
Pre-condition Admin telah login
Post-condition Data modul tersimpan, terupdate atau terhapus Failed end condition Gagal menyimpan, mengupdate atau menghapus
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu manajemen modul 2. System tampilkan form data modul 3. Admin memilih tombol “Tambah Modul”
4. System menampilkan form tambah data modul 5. Admin menginput data modul dan melanjutkan 6. Sysem menyimpan data modul
Aternate Flow / Invariant A A2. Adminmemilih data modul
A3. System menampilkan form data modul A4. Admin memilih tombol “Update”
A5. System menyimpan data Modul Invariant B B2. Admin memilih data modul
B3. Admin memilih “Hapus”
B4. System berhasil menghapus data modul
c. Deskprisi Use Case Diagram Mengubah Profil Tabel IV.5.
Deskripsi Use Case Diagram Mengubah Profil Use Case Name Mengubah Profil
Requirements C3
Goal Admin dapat mengubah profil
Pre-condition Admin telah login Post-condition Data profil terupdate Failed end condition Gagal update
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu profil
2. System menampilkan form data profil 3. Admin mengedit dan memilih update 4. System menyimpan data profil baru d. Deskripsi Use Case Diagram Mengolah Data Kategori Produk
Tabel IV.6.
Deskripsi Use Case Diagram Mengolah Data Kategori Produk Use Case Name Mengelola Data Ketegori Produk
Requirements C4
Goal Admin dapat menambah, mengedit dan menghapus data kategori produk
Pre-condition Admin telah login
Post-condition Data kategori tersimpan, terupdate atau terhapus Failed end condition Gagal menyimpan, mengupdate atau menghapus
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu kategori produk 2. Adminmemilih tombol “Tambah Kategori”
3. Systemmenampilkan form tambah kategori 4. Adminmenginput data kategori baru 5. Admin memilih tombol “Simpan”
6. Sysem menyimpan data kategori Aternate Flow / Invariant A A2. Adminmemilih tombol “edit”
A3. System menampilkan form data kategori A4. Adminmengedit data kategori
A5. Admin memilih tombol “Update”
A6. Systemmenyimpan data kategori Invariant B B2. Admin memilih data kategori
B3. Admin memilih “Hapus”
B4. System berhasil menghapus kategori
e. Deskripsi Use Case Diagram Mengolah Data Produk Tabel IV.7.
Deskripsi Use Case Diagram Mengelola Data Produk Use Case Name Mengelola Data Produk
Requirements C5
Goal Admin dapat menambah, mengedit dan menghapus data produk
Pre-condition Admin telah login
Post-condition Data kategori tersimpan, terupdate atau terhapus Failed end condition Gagal menyimpan, mengupdate atau menghapus
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu produk
2. Admin memilih tombol “Tambah Produk”
3. System menampilkan form tambah produk 4. Admin menginput data produk
5. Admin memilih tombol “Simpan”
6. Sysem menyimpan data produk Aternate Flow / Invariant A A2. Adminmemilih tombol “edit”
A3. System menampilkan form data produk A4. Admin mengedit data produk
A5. Admin memilih tombol “Update”
A6. System menyimpan data produk Invariant B B2. Admin memilih data produk
B3. Admin memilih “Hapus”
B4. System berhasil menghapus produk f. Deskripsi Use Case Diagram MengelolaData Pemesanan
Tabel IV.8.
Deskripsi Use Case Diagram Mengelola Data Pemesanan Use Case Name Mengelola Data Pemesanan
Requirements C6
Goal Admin dapat mengupdate status pemesanan Pre-condition Admin telah login
Post-condition Status pemesanan terupdate Failed end condition Gagal mengupdate
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu
2. System tampilkan form data modul 3. Admin memilih “Detail”
4. System tampilkan rincian pemesanan 5. Admin memilih tombol “Ubah Status”
6. Sysem mengupdate status pemesanan
g. Deskripsi Use Case Diagram Mengelola Ongkos Kirim Tabel IV.9.
Deskripsi Use Case Diagram Mengelola Ongkos Kirim Use Case Name Mengelola Ongkos Kirim
Requirements C7
Goal Admin dapat menambah, mengedit dan menghapus data ongkos kirim
Pre-condition Admin telah login
Post-condition Data ongkos kirim tersimpan, terupdate atau terhapus
Failed end condition Gagal menyimpan, mengupdate atau menghapus
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu ongkos kirim 2. Admin memilih tombol “Tambah Ongkos
Kirim”
3. System tampilkan form tambah ongkos kirim 4. Admin menginput data ongkos kirim
5. Adminmemilih tombol “Update”
6. Sysem menyimpan data ongkos kirim Aternate Flow / Invariant A A2. Adminmemilih tombol “edit”
A3. System menampilkan form data ongkos kirim A4. Admin mengedit data ongkos kirim
A5. Admin memilih tombol “Update”
A5. System menyimpan data ongkos kirim Invariant B B2. Admin memilih data ongkos kirim
B3. Admin memilih “Hapus”
B4. System berhasil menghapus ongkos kirim h. Deskripsi Use Case Diagram Mengubah Cara Pembelian
Tabel IV.10.
Deskripsi Use Case Diagram Mengubah Cara Pembelian Use Case Name Mengubah Cara Pembelian
Requirements C8
Goal Admin dapat mengubah cara pembelian
Pre-condition Admin telah login
Post-condition Data cara pembelian terupdate Failed end condition Gagal mengupdate
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu cara pembelian 2. System menampilkan form cara pembelian 3. Admin mengedit dan memilih update 4. System menyimpan data cara pembelian
i. Deskripsi Use Case Diagram Menghapus Member Tabel IV.11.
Deskripsi Use Case Diagram Menghapus Member Use Case Name Menghapus Member
Requirements C9
Goal Admin dapat menghapus member
Pre-condition Admin telah login Post-condition Member terhapus Failed end condition Gagal menghapus
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu Member 2. System menampilkan data member 3. Admin memilih member dan “hapus”
4. System menghapus data member j. Deskripsi Use Case Diagram Mengelola Laporan Penjualan
Tabel IV.12.
Deskripsi Use Case Diagram Mengelola Laporan Penjualan Use Case Name Mengelola Laporan Penjualan
Requirements C11
Goal Admin dapat mencetak laporan penjualan Pre-condition Admin telah login
Post-condition Laporan Penjualan tercetak Failed end condition Gagal mencetak
Primary Actors Admin
Main Flow / Basic Path 1. Admin memilih menu Laporan Penjualan 2. System menampilkan data penjualan
3. Admin memilih penjualan perbulan dan cetak 4. System mencetak laporan penjualan
5. Admin menginput data modul dan melanjutkan 6. Sysem menyimpan data modul
Aternate Flow / Invariant A A2. Adminmemilih data modul
A3. System menampilkan form data modul A4. Admin memilih tombol “Update”
A5. System menyimpan data Modul Invariant B B2. Admin memilih data modul
B3. Admin memilih “Hapus”
B4. System berhasil menghapus data modul
C. Activity Diagram
Berikut merupakan gambaran dari diagram activity Toko Sepatu ROSSE.
1. Activity Diagram Belanja Online Halaman Front Page
Gambar IV.4.
Activity Diagram Belanja Online Halaman Front Page
act toko sepatu rosse
[pilih barang lain]
Deliv ery Sistem E-Commerce
User
mulai
memilih kategori
memilih barang decision
simpan ke keranj ang belanj aan
tampilkan item dan total belanj a isi data registrasi dan
alamat pengiriman
memilih j enis pembayaran
penyelesaian transaksi menyimpan transaksi
menerima konfirmasi
belanj a menerima konfirmasi
mengkonfirmasi pembayaran
fork
menerima konfirmasi
pembayaran mengirim barang
hapus transaksi pemesanan
pesanan ditutup
join
selesai [tambah barang]
2. Activity Diagram Penjualan Online Halaman Admin
Gambar IV.4.
Activity Diagram Penjualan Online Halaman Admin
act admin
system admin
start
login
melihat daftar barang
tampilkan data barang
input data barang
edit data barang
klik tombol sav e simpan data barang
pilih barang
pilih tindakan
pilih j aw aban
tampil dialog konfirmasi penghapusan
hapus data barang
end [add]
[add]
[edit]
[no]
4.2. Desain System
Dalam membuat sebuah Sistem penjualan online, dibutuhkan tahap desain yang akan menggambarkan design database, desain software architecthure dan disain interface dari sistem yang akan di buat.
4.2.1. Database
Di dalam database terdapat beberapa tabel yang saling berelasi (berhubungan) maka dari itu penulis mencoba menggambarkannya menggunakan ERD. Diagram hubungan entitas merupakan diagram yang berfungsi untuk menggambarkan hubungan antara entitas dalam suatu sistem, dimana diagram menjelaskan hubungan antara entitas yang ada melalui atribut yang dimiliki oleh entitas tersebut. Penggambaran database pada Toko Sepatu ROSSE menggunakan Entity Relationship-Diagram adalah sebagai berikut:
1. Entity Relationship Diagram
customer nama
gender
password
foto alamat
telepon email
1
Id_pemesanan pemesanan pesan
id_pemesanan
id_pemesanan tanggal
tujuan pengiriman
alamat pengiriman
tanggal konfirmasi
bank konfirmasi
nama konfirmasi
jumlah konfirmasi
miliki
pemesanan detail miliki
sepatu
miliki Id_pemesanan
id_sepatu jumlah
kategori
id_sepatu_kategori
nama id_sepatu
nama id_sepatu_kategori
id_sepatu_merk warna
ukuran
harga
foto
keterangan
stok
tanggal
1 M
1 M
1
M 1
M
status
subtotal
miliki
merk
id_sepatu_merk
nama
Gambar IV.6.
Entity Relationship Diagram Penjualan Online Toko Sepatu ROSSE
2. Logical Record Structure
Gambar IV.7.
Logical Record Structure Penjualan Online Toko Sepatu ROSSE
customer email PK
password nama gender foto alamat telepon
pemesanan id_pemesanan PK FK
tanggal email tujuan pengiriman alamat pengiriman tanggal konfirmasi bank konfirmasi nama konfirmasi jumlah konfirmasi
pemesanan detail id_pemesanan PK
id_sepatu FK
jumlah
sepatu id_sepatu PK
nama id_sepatu_kategori FK
id_sepatu_merk warna ukuran harga foto keterangan stok tanggal
kategori id_sepatu_kategori PK
nama
1 M 1 1 M M 1 1
status
subtotal
merk id_sepatu_merk PK
nama
3. Spesifikasi File
a. SpesifikasiFile Tabel admin Nama Database : db_sepatu Nama File : Tabel admin Akronim : admin.myd
Fungsi : Untuk menyimpan data admin Tipe File : File Master
Organisasi File : index sequential Akses File : Random
Panjang Record : 56 byte Kunci Field : usernames Software : Mysql
Tabel IV.13
Spesifikasi File Tabel admin
No Elemen data Nama Field Tipe Size Keterangan
1 Username usernames Varchar 15 Primary Key
2 Password password Varchar 50
3 Nama nama Varchar 40
b. Spesifikasi File Tabel kategori Nama Database : db_sepatu Nama File : Tabel kategori Akronim : kategori.myd
Fungsi : Untuk Menyimpan Kategori
Tipe File : File Master Organisasi File : index sequential Akses File : Random
Media : Harddisk
Panjang Record : 192byte
Kunci Field : id_sepatu_kategori Software : Mysql
Tabel IV.14
Spesifikasi File Tabel kategori
No Elemen data Nama Field Tipe Size Keterangan
1 Id Kategori id_sepatu_kategori Varchar 20 Primary Key
2 Nama Kategori Nama Varchar 40
c. Spesifikasi File Tabel pemesanan Nama Database : db_sepatu
Nama File : Tabel pemesanan Akronim : orders.myd
Fungsi : Untuk menyimpan data pengiriman Tipe File : File Transaksi
Organisasi File : index sequential Akses File : Random
Media : Harddisk
Panjang Record : 404 Byte Kunci Field : id_pemesanan Software : Mysql
Tabel IV.15
Spesifikasi File Tabel pemesanan
No Elemen data Nama Field Tipe Size Keterangan
1 Id Pemesanan id_pemesanan Varchar 20 Primary Key
2 Tanggal Tanggal Datetime
3 Email Email Varchar 40
4 Tujuan Pengiriman tujuan_pengiriman Varchar 100 5 Alamat Pengiriman alamat_pengiriman Varchar 100 6 Tanggal Konfirmasi tanggal_konfirmasi Datetime 7 Bank Konfirmasi bank_konfirmasi Varchar 100 8 Nama Konfirmasi nama_konfirmasi Varchar 100 9 Jumlah Konfirmasi jumlah_konfirmasi Double
10 Status Status Enum
d. Spesifikasi File Tabel pemesanan_detail Nama Database : db_sepatu
Nama File : Tabel pemesanan_detail Akronim : orders_detail.myd
Fungsi : Menampilkan rincian pesanan Tipe File : File Transaksi
Organisasi File : index sequential Akses File : Random
Media : Harddisk
Panjang Record : 16 Byte Kunci Field : id_pemesanan Software : Mysql
Tabel IV.16
Spesifikasi File Tabel pemesanan_detail
No Elemen data Nama Field Tipe Size Keterangan 1 Id Pemesanan id_pemesanan Varchar 20 Foreign Key
2 Id Sepatu id_sepatu Varchar 20
3 Jumlah Jumlah Tinyint 4
4 Subtotal Subtotal Double e. Spesifikasi File Tabel customer
Nama Database : db_sepatu Nama File : Tabel customer Akronim : pelanggan.myd
Fungsi : Menyimpan data customer Tipe File : File Transaksi
Organisasi File : index sequential Akses File : Random
Media : Harddisk
Panjang Record : 148 Byte Kunci Field : email Software : Mysql
Tabel IV.17
Spesifikasi File Tabel Customer
No Elemen data Nama Field Tipe Size Keterangan
1 Email Email Varchar 40 Primary Key
2 Password Password Varchar 50
3 Nama Nama Varchar 40
4 Jenis Kelamin gender Enum „1,‟,‟0‟
5 Foto Foto Varchar 100
6 Alamat alamat Varchar 100
7 Telepon telepon Varchar 30
f. Spesifikasi File Tabel sepatu Nama Database : db_sepatu Nama File : Tabel sepatu Akronim : produk.myd
Fungsi : Mengelola data produk Tipe File : File Master
Organisasi File : index sequential Akses File : Random
Media : Harddisk
Panjang Record : 1.4KiloByte Kunci Field : id_sepatu Software : Mysql
Tabel IV.18
Spesifikasi File Tabel sepatu
No Elemen data Nama Field Tipe Size Keterangan
1 Id Sepatu id_sepatu Varchar 20 Primary Key
2 Nama Nama Varchar 40
3 Id Sepatu Kategori id_sepatu_kategori Varchar 20 4 Id Sepatu Merk id_sepatu_merk Varchar 20
5 Warna Warna Varchar 40
6 Ukuran Ukuran Varchar 40
7 Harga Harga Double
8 Foto Foto Varchar 100
9 Keterangan Keterangan Text
10 Stok Stok Tinyint 4
11 Tanggal Tanggal Datetime
4.2.2. Software Architecture
Di dalam merancang sebuah sistem penjualan secara online pada Toko Sepatu ROSSE, bahasa program yang digunakan penulis adalah PHP secara terstruktur atau prosedural. Maka Software Architecture yang digunakan untuk menggambarkan program adalah sebagai berikut :
A. Component Diagram
Component diagrammenggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan diantaranya yang ada di dalam sistem penjualan Toko Sepatu ROSSE. Component Diagram juga dapat berupa interface yang berupa kumpulan layanan yang disediakan oleh komponen untuk komponen lainnya.
Gambar IV.8.
Component Diagram
cmp Toko Sepatu ROSSE
FrontPage Aplications
Application Database
J query.j s
MySQL.Database
Admin Application style.css
Apache 2 Serv er
Gambar IV.8.
Component Diagram Sitem Penjualan Toko Sepatu ROSSE
g. Deployment Diagram
Menggambarkan tata letak sistem secara fisik, yang menampakan bagian – bagian software yang berjalan pada hardware yang digunakan untuk mengimplementasi sebuah sistem dan keterhubungan antar hardware – hardware tersebut.
deployment Toko Sepatu ROSSE
Web Serv er
FrontPage Application
style.css
Admin Application
j query.j s
Apache 2 Serv er
Port 80
Database Serv er
Application
MySQL Database
Client PC
Brow ser
Port 3306
4.2.3. User Interface
Merupakan gambaran sistem yang sudah berjalan. Berikut detail tampilan – tampilan tiap halaman website Penjualan Toko Sepatu ROSSE :
1. Tampilan Halaman User Toko Sepatu ROSSE
Gambar IV.10.
Tampilan Halaman user 2. Tampilan Halaman Detail Sepatu
Gambar IV.11
Tampilan Halaman Detail Sepat 3. Tampilan Halaman Keranjang Belanja
Gambar IV.12.
Tampilan Menu Halaman Keranjang Belanja
4. Tampilan Halaman Selesai Belanja
Gambar IV.13.
Tampilan Halaman Selesai Belanja
5. Tampilan Halaman Login Admin
Gambar IV.14.
Tampilan Halaman Login Admin
6. Tampilan Halaman Admin
Gambar IV.15.
Tampilan Halaman Admin
7. Tampilan Halaman Ganti Password
Gambar IV.16.
Tampilan Halaman Ganti Password
8. Tampilan Halaman Profil
Gambar IV.17.
Tampilan Halaman Profil
9. Tampilan Halaman Kategori Produk
Gambar IV.18.
Tampilan Halaman Kategori Produk
10. Tampilan Halaman Produk
Gambar IV.19.
Tampilan Halaman Produk
11. Tampilan Halaman Pemesanan
Gambar IV.20.
Tampilan Halaman Pemesanan
12. Tampilan Halaman Cara Pembelian
Gambar IV.21.
Tampilan Halaman Cara Pembelian
13. Tampilan Halaman Data Member
Gambar IV.22.
Tampilan Halaman Data Member
14. Tampilan Halaman Konfirmasi
Gambar IV.23.
Tampilan Halaman Konfirmasi
4.3. Code Generation
Berikut merupakan code generation dari Sistem Informasi Penjualan Toko Sepatu ROSSE dengan pemprograman terstruktur:
A. Form keranjang belanja
<?php
session_start();
include "../includes/config.php";
include "../includes/functions.php";
$_SESSION['s_page'] = "users/keranjang.php";
if(!isset($_SESSION['s_emailCust'])){
echo "<script language='javascript'>alert('Silahkan login dahulu sebagai member'); document.getElementById('txtuser').focus(); sendRequest('home.php', '', 'content', 'div', '');</script>";
}else{
//Cek apakah ada pembelian yang masih pending
$qCek = "SELECT id_pemesanan FROM _pemesanan WHERE email = '$_SESSION[s_emailCust]' AND status = '0'";
$hqCek = mysql_query($qCek);
$rqCek = mysql_num_rows($hqCek);
if($rqCek == '0'){
//Tambahkan barang ke keranjang belanja if($_POST['id'] != ''){
//Cek jika barang sama hanya tambahkan jumlahnya saja if(isset($_SESSION['s_sepatuChart'])){
$nambah = true;
$x=0;
foreach($_SESSION['s_sepatuChart'] as $idsepatu){
if($_POST['id'] == $idsepatu){
$nambah = false;
$pos = $x;
}
$x++;
}
if($nambah == true){
$_SESSION['s_sepatuChart'][] =
$_POST['id'];
$_SESSION['s_jumlahChart'][] = 1;
}else{
$_SESSION['s_jumlahChart'][$pos] =
($_SESSION['s_jumlahChart'][$pos]) + 1;
} }else{
$_SESSION['s_sepatuChart'][] = $_POST['id'];
$_SESSION['s_jumlahChart'][] = 1;
} }
echo "<h2>Keranjang Belanja</h2>";
echo "<div>";
if(isset($_SESSION['s_sepatuChart']) &&
count($_SESSION['s_sepatuChart']) != 0){
echo "<table class='table-list' width='95%'>";
echo "<tr class='table-list-header'>";
echo "<th>No.</th>";
echo "<th>Nama Sepatu</th>";
echo "<th>Harga</th>";
echo "<th>Jumlah</th>";
echo "<th>Subtotal</th>";
echo "<th> </th>";
echo "</tr>";
$no=1; $x=0; $grandtotal = 0;
foreach($_SESSION['s_sepatuChart'] as $idsepatu){
//for($n=0; $n<count($_SESSION['s_sepatuChart']);
$n++){
list($namasepatu, $hargasepatu) =
mysql_fetch_row(mysql_query("SELECT nama, harga FROM _sepatu WHERE id_sepatu = '$idsepatu'"));
echo "<tr class='table-list-row'>";
echo "<td align='center'>$no.</td>";
echo "<td>$namasepatu</td>";
echo "<td align='right'>Rp.
".number_format($hargasepatu, 0, ',', '.')."</td>";
echo "<td align='center'><input type='text' name='jumlah_$x' id='jumlah_$x' value='".$_SESSION['s_jumlahChart'][$x]."' size='3' style='text-align:center;' onkeyup=\"javascript: if(isNaN(this.value)){
alert('Harus Angka !'); this.value=''; }\" /> <a style='cursor:pointer;' onclick=\"javascript:
sendRequest('users/keranjang_proses.php','proc=refresh&pos=$x&id=$idsepatu&
jumlah='+document.getElementById('jumlah_$x').value,'content','div','');\"><img src='images/refresh.png' width='18' height='16' title='refresh' border='0'
/></a></td>";
$subtotal = $hargasepatu * ($_SESSION['s_jumlahChart'][$x]);
echo "<td align='right'>Rp.
".number_format($subtotal, 0, ',', '.')."</td>";
echo "<td align='center'><a style='cursor:pointer;' onclick=\"javascript:
sendRequest('users/keranjang_proses.php', 'proc=delete&pos=$x', 'content', 'div', '');\"><img src='images/remove.png' /></a></td>";
echo "</tr>";
$grandtotal += $subtotal;
$no++;
$x++;
}
echo "<tr class='table-list-row'>";
echo "<td align='center' colspan='4'><b>Grand Total</b></td>";
echo "<td align='right'><b>Rp.
".number_format($grandtotal, 0, ',', '.')."</b></td>";
echo "<td> </td>";
echo "</tr>";
echo "</table>";
echo "<p> </p>";
echo "<p>";
echo "<input type='button' value='Belanja Lagi'
onclick=\"javascript: sendRequest('home.php','','content','div','');\" /> ";
echo " <input type='button' value='Selesai Belanja' onclick=\"javascript: if(confirm('Apakah yakin sudah selesai belanja?'))
sendRequest('users/keranjang_tujuan.php','','content','div','');\"/>";
echo "</p>";
}else{
echo "Anda belum memiliki keranjang belanja atau belum memilih sepatu satu pun";
} }else{
echo "<script>alert('Anda masih memiliki pemesanan yang belum dibayarkan');</script>";
echo
"<script>sendRequest('users/history.php','sign=ok','content','div','');</script>";
}
echo "</div>";
echo "<div class='cleaner'></div>";
}
?>
B. Form Detail Transaksi
<?php
session_start();
include "../includes/config.php";
include "../includes/functions.php";
$_SESSION['s_page'] = "users/history.php";
if(isset($_SESSION['s_emailCust'])){
echo "<h2>Data Pemesanan</h2>";
echo "<div>";
$idPemesanan = $_POST['id'];
list($tanggal, $tujuanPengiriman, $alamatPengiriman, $status) = mysql_fetch_row(mysql_query("SELECT tanggal, tujuan_pengiriman, alamat_pengiriman, status FROM _pemesanan WHERE id_pemesanan = '$idPemesanan'"));
echo "<table width='75%'>";
echo "<tr>";
echo "<td width='35%'>Kode Pemesanan</td>";
echo "<td>:</td>";
echo "<td><b>$idPemesanan</b></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Hari, Tanggal</td>";
echo "<td>:</td>";
echo "<td>".SearchDay($tanggal).",
".ReportDate($tanggal)."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Nama Customer</td>";
echo "<td>:</td>";
echo "<td>".$_SESSION['s_namaCust']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Tujuan</td>";
echo "<td>:</td>";
if($tujuanPengiriman == '0') echo "<td>Dalam kota (Jabodetabek)</td>";
else echo "<td>Luar kota (Jabodetabek)</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Alamat Pengiriman</td>";
echo "<td>:</td>";
echo "<td>$alamatPengiriman</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Status</td>";
echo "<td>:</td>";
if($status == '0') echo "<td><blink style='color:red;'>Menunggu pembayaran</blink></td>";
else echo "<td><span style='color:green;'>Barang sudah dikirim</span></td>";
echo "</tr>";
echo "</table>";
echo "<p> </p>";
echo "<table class='table-list' width='100%'>";
echo "<tr class='table-list-header'>";
echo "<th>No.</th>";
echo "<th>Nama Sepatu</th>";
echo "<th>Harga</th>";
echo "<th>Jumlah</th>";
echo "<th>Subtotal</th>";
echo "</tr>";
$no=1; $x=0; $grandtotal = 0;
$qData = "SELECT id_sepatu, jumlah, subtotal FROM _pemesanan_detail WHERE id_pemesanan = '$idPemesanan'";
$hqData = mysql_query($qData);
while(list($idsepatu, $jumlahsepatu, $subtotal) = mysql_fetch_row($hqData)){
list($namasepatu, $hargasepatu) =
mysql_fetch_row(mysql_query("SELECT nama, harga FROM _sepatu WHERE id_sepatu = '$idsepatu'"));
echo "<tr class='table-list-row'>";
echo "<td align='center'>$no.</td>";
echo "<td>$namasepatu</td>";
echo "<td align='right'>Rp. ".number_format($hargasepatu, 0, ',', '.')."</td>";
echo "<td align='center'>$jumlahsepatu</td>";
$subtotal = $hargasepatu * $jumlahsepatu;
echo "<td align='right'>Rp. ".number_format($subtotal, 0, ',', '.')."</td>";
echo "</tr>";
$grandtotal += $subtotal;
$no++;
$x++;
}
echo "<tr class='table-list-row'>";
echo "<td align='right' colspan='4'><i>Grand Total</i></td>";
echo "<td align='right'><i>Rp.
".number_format($grandtotal, 0, ',', '.')."</i></td>";
echo "</tr>";
$biayaKirim = 0;
if($tujuanPengiriman == '0'){
echo "<tr class='table-list-row'>";
echo "<td align='right' colspan='4'><i>Biaya Pengiriman Dalam Kota (Jabodetabek)</i></td>";
echo "<td align='right'><i>Rp.
".number_format($biayaDalam, 0, ',', '.')."</i></td>";
echo "</tr>";
$biayaKirim = $biayaDalam;
}else{
echo "<tr class='table-list-row'>";
echo "<td align='right' colspan='4'><i>Biaya Pengiriman Luar Kota (Jabodetabek) (Via TIKI)</i></td>";
echo "<td align='right'><i>Rp.
".number_format($biayaLuar, 0, ',', '.')."</i></td>";
echo "</tr>";
$biayaKirim = $biayaLuar;
}
$totalBiaya = $grandtotal + $biayaKirim;
echo "<tr class='table-list-row'>";
echo "<td align='right' colspan='4'><b>Total Biaya</b></td>";
echo "<td align='right'><b>Rp.
".number_format($totalBiaya, 0, ',', '.')."</b></td>";
echo "</tr>";
echo "</table>";
echo "<p> </p>";
echo "<p>";
echo "<input type='button' value='Print' onclick=\"javascript:
window.open('users/invoice-pdf.php?id=$idPemesanan', '_blank', 'menubar=no, width=600, height=400');\" /> ";
echo " <input type='button' value='Kembali' onclick=\"javascript:
sendRequest('users/history.php','','content','div','');\"/>";
echo "</p>";
echo "</div>";
if($status == '0'){
echo "<div id='konfirmasi'>";
echo "<ol>
<li>Segera lakukan pembayaran ke rekening kami :
<ul>
<li><span style='font-weight:
bold;'>BCA</span> 03231333412 an: Hasan Isham</li>
<li><span style='font-weight:
bold;'>Mandiri</span> 900072378912 an: Hasan Isham</li>
</ul>
</li>
<li>Setelah melakukan pembayaran, segera lakukan konfirmasi <a style='cursor:pointer;color:blue;' onclick=\"javascript:
sendRequest('users/konfirmasi.php', 'id=$idPemesanan', 'konfirmasi', 'div', '');\">di sini</a></li>
<li>Barang akan dikirim paling lambat 3 hari setelah pembayaran. </li>
<li>Apabila Anda tidak melakukan pembayaran dalam 3 hari, maka data order Anda akan kami hapus (transaksi batal).</li>
</ol>";
echo "</div>";
}
echo "<div class='cleaner'></div>";
}
?>
4.4. Testing
A. Form Login Admin
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahannya bisa terjadi karena adanya kesalahan yang muncul dan tidak terdekteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
Tabel IV.23
Hasil Pengujian Black Box Testing Form Login No Skenario
Pengujian
Test Case Hasil yang di harapkan
Hasil Pengujian
Kesimpulan
1 Mengosongkan username pada login admin dan
langsung tekan enter
Username:(Kosong) Sistem akan menolak akses login
dan menampilkan
pesan
“HARAP ISI USER!”
Sesuai Harapan
Valid
2 Hanya mengisi data username
dan mengosongkan data password, lalu tekan enter
Password:(Kosong) Sistem akan menilak akses login
dan menampilkan
pesan
“HARAP ISI PASSWORD!
”
Sesuai Harapan
Valid
B. Form Pendaftaran Customer
Tabel IV.25
Hasil Pengujian Black Box Testing Form Pendaftaran Pelanggan No Skenario
Pengujian
Test Case Hasil yang diharapkan
Hasil Pengujian
Kesimpulan
1 Mengosongkan semua data
field, kemudian klik
daftar
Field:(kosong)
Muncul peringatan
“Ada inputan yang belum
valid”
Sesuai Harapan
Valid
2 Mengisikan email yang
salah
Email:(email salah)
Muncul peringatan
“Email tidak valid”
Sesuai Harapan
Valid
3 Mengisi password kurang dari 7
Password:(kurang dari 7)
Muncul peringatan
“Password minimal 7
huruf”
Sesuai Harapan
Valid
4.5. Support
Menjelaskan tentang publikasi web dan spesifikasi hardware dan software yang akan digunakan untuk menjalankan sistem yang dibuat. Dalam pembuatan aplikasi sistem penjualan online ini akan membantu admin untuk mengelola data – data dan membuat laporan,untuk itu penulis menggunakan program PHP untuk membuat aplikasi. Untuk mengoperasikan program tersebut diperlukan spesifikasi komputer yang cukup tinggi dan untuk mendukung pembuatan aplikasi kebutuhan hardware yang diperlukan meliputi : processor, memory, hard disk, keyboard, mouse sedangkan untuk kebutuhan software yang diperlukan meliputi sistem operasi software program PHP dan software database Mysql.
4.5.1. Publikasi Web
Pada pembuatan skripsi ini penulis membuat program berbasis web yang mana program harus benar – benar secara online. Untuk itu penulis harus mempersiapkan segala sesuatunya guna memenuhi syarat yang sudah ditentukan.
Penulis sudah melakukan penyewaan domain dan hosting secara online beserta analisa biaya. Biaya yang digunakan penulis untuk melakukan penyewaan domain dan hosting secara online.
Tabel IV.26 Rincian Publikasi Web Domain
Periode Pendaftaran 1 Tahun
Disk Space Jumlah Lokasi Server Alamat IP Server
4.5.2. Spesifikasi Hardware dan Software
Selain biaya yang dikeluarkan dalam penulisan skripsi ini yaitu adalah penjelasan tentang spesifikasi hardware dan software yang digunakan. Kebutuhan hardware tersebut meliputi: Processor, Memory, Monitor, Hard Disk, Keyboard, Mouse dan printer. Kebutuhan software tersebut meliputi : Sistem Operasi, software aplikasi dan software.
Tabel IV.27
Spesifikasi Hardware dan Software
Kebutuhan Keterangan Sistem Operasi
Processor Ram Harddisk DVD-ROM
Printer Epson L220 Series
Browser Google Chrome, Internet Explorer, Opera
Software Dreamweaver, XAMPP
4.6. Spesifikasi Dokumen Sistem Usulan
Adapun bentuk sistem usulan pada Toko Sepatu ROSSE adalah : a. Nama Dokumen : Invoice Penjualan
Fungsi : Sebagai Bukti Pembelian Barang
Sumber : Administrator
Tujuan : User
Media : Tampilan
Frekuensi : Setiap terjadi transaksi pembelian
Format : Lampiran B.1
b. Nama Dokumen : Laporan Penjualan
Fungsi : Sebagai Laporan Penjualan Barang
Sumber : Administrator
Tujuan : Administrator
Media : Tampilan
Frekuensi : Setiap terjadi transaksi penjualan
Format : Lampiran B.2