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
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”
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”
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”
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]
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 email 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.
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
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
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
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.
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.
13. Tampilan Halaman Data Member
Gambar IV.22.
Tampilan Halaman Data Member
14. Tampilan Halaman Konfirmasi
Gambar IV.23.
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>"; }
} ?>
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
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