35 4.1. Analisa Kebutuhan Software
Berdasarkan analisis pada sistem berjalan tersebut, dapat dilihat pentingnya untuk adanya suatu sistem yang diperlukan untuk memproses transaksi agar lebih mudah, yaitu kebutuhan dalam menggunakan aplikasi yang dapat memudahkan perusahaan untuk memberikan informasi kepada pelanggan agar jauh lebih cepat dan juga pemesanan ataupun penawaran dapat di lakukan secara online.
1. Tahapan Analisis
Sistem Informasi pada PT Hasta Prima Industri adalah sistem berbasis web online sebagai sarana yang memudahkan dalam proses transaksi, membantu memberikan informasi tentang produk ataupun promo yang sedang berlangsung.
Dengan requirement sebagai berikut:
a. Pengunjung
A1. Pengunjung dapat melihat profil perusahaan.
A2. Pengunjung dapat melihat tampilan produk yang akan di pesan berupa harga, spesifikasi, gambar dan deskripsi mengenai produk tersebut.
A.3. Pengunjung harus mengisi data diri untuk melakukan pemesanan barang dan mengetahui total harga yang harus dibayar ditambah ongkos kirim agar dapat dilanjutkan pada tahap pembayaran.
A4. Pengunjung dapat melihat petunjuk cara melakukan pemesanan barang.
pemesanan atau pengiriman barang.
b. Admin
B1. Admin dapat login dengan akun yang sudah didaftarkan B2. Admin dapat mengganti password
B3. Admin dapat mengelola manajemen modul B4. Admin dapat mengelola data kategori produk B5. admin dapat mengelola data produk
B6. Admin dapat mengelola data warna produk B7. Admin dapat mengelola data order atau pesanan B8. Admin dapat mengelola data ongkoskirim B9. Admin dapat mengelola review produk B10. Admin dapat mengelola kontak perusahaan 2. Use Case Diagram
Use casediagram merupakan gambaran interaksi atau prilaku actor-actor
yang terlibat terhadap PT Hasta Prima Industri. Berikut gambaran use case diagram
yang terdapat pada PT Hasta Prima Industri.
Gambar IV.1 Use Case Diagram untuk Pengunjung Tabel IV.1
Deskripsi Use Case Diagram untuk melihat Profil Perusahaan Use Case Name Halaman melihat Profil Perusahaan
ID A1
Goal Actor dapat melihat profil perusahaan Primary Actors Pengunjung
Pre-conditions Actor sudah masuk ke halaman utama UserMain Flow/Basic
Path
1. Actor mengunjungi website PT Hasta Prima Industri
2. Akan Tampil sejarah dan visi misi PT Hasta Prima Industri
Post-conditions Sistem dapat membuka halaman utama dan menampilkan profil perusahaan
Pengunj ung
Melihat Profil Perusahaan
Memesan Produk
Melihat Produk Mengisi Data Diri dan
Alamat Pengirirman
Melihat Cara Beli
Menghubungi Perusahaan
«extend» «include»
Deskripsi Use Case Diagram untuk Melihat Produk Use Case Name Halaman Pembelian Barang
ID A2
Goal Actor dapat melihat produk Primary Actors Pengunjung
Pre-conditions Actor sudah masuk ke halaman utama UserMain Flow/Basic
Path
1. Actor mengunjungi website PT Hasta Prima Industri 2. Akan tampil produk yang tersedia
3. Actor dapat melakukan pemesanan barang dengan terlebih dahulu mengisi data diri
4. Akan tampil jumlah harga yang harus dibayar ditambah dengan ongkos kirim
Post-Condition Sistem dapat membuka halaman utama dan menampilkan produk
Tabel IV.3
Deskripsi Use Case Diagram untuk Cara Beli Use Case Name Halaman Melihat Cara Beli
ID A3
Goal Actor dapat melihat cara beli Primary Actors Pengunjung
Pre-conditions Actor sudah masuk ke halaman utama UserMain Flow/Basic
Path
1 Actor mengunjungi website PT Hasta Prima Industri 2 Akan tampil petunjuk untuk melakukan pembelian Post-Condition Sistem dapat membuka halaman utamadan
menampilkan petunjuk cara melakukan pembelian Tabel IV.4
Deskripsi Use Case Diagram untuk Kontak Kami Use Case Name Halaman Kontak Kami
ID A4
Goal Actor dapat menghubungi Perusahaan Primary Actors Pengunjung
Pre-conditions Actor sudah masuk ke halaman utama UserMain Flow/Basic
Path
1. Actor mengunjungi website PT Hasta Prima Industri 2. Actor mengklik kontak kami
3. Akan tampil form yang bias diisi jika ada keluhan terkait pemesanan barang
Post-Condition Sistem dapat membuka halaman utama dan
menampilkan form untuk menghubungi perusahaan
Gambar IV.2. Use Case Diagram Admin Tabel IV.5
Deskripsi Use Case Diagram untuk login Use Case Name Halaman Login
ID B1
Goal Actor dapat masuk pada halaman utama Primary Actors Admin
Pre-conditions Actor harus memliki akun
Main Flow/Basic Path 1. Actor memasukan username dan password 2. Actor mengisi captcha
3. Actor klik tombol ‘Login’ atau tekan tombol Enter pada keyboard
4. Sistem melakukan validasi akun
5. Sistem menyetujui username dan password 6. Sistem akan menampilan halaman utama
Admin
Ganti Passw ord
Kelola Ongkos Kirim
Kelola Rev iew Produk
Kelola Kontak Kami
Logout
Login Kelola Kategori
Produk
Kelola Produk
Kelola Order
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
Deskripsi Use Case Diagram untuk ganti password Use Case Name Halaman Ganti Password
ID B2
Goal Actor dapat mengganti password Pre-conditions Actor sudah berhasil login Post-conditions Password baru disimpan Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat megganti password
2. Klik tombol“ganti password” untuk membuka form ganti password
3. Masukan password ama, kemudian masukan password baru sebanyak 2 (dua) kali
4. Klik tombol “proses” untuk memproses pergantian password
Tabel IV.7
Deskripsi Use Case Diagramuntuk kelola kategori produk Use Case Name Halaman Kelola Kategori Produk
ID B3
Goal Actor dapat mengelola kategori produk Pre-conditions Actor sudah berhasil login
Post-conditions Kategori produk dapat disimpan Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat melihat daftar “Kategoriproduk”
2. Klik “tambah kategori” untuk membuka form kategori, kemudian masukan kategori yang baru untuk menambah kategori produk
3. Klik simpan pada form kategori untuk menyimpan data kategori produk
4. Klik “edit” untuk mengubah kategori
5. Klik ”hapus” pada form untuk menghapus kategori
yang akan di hapus
Deskripsi Use Case Diagram untuk kelola produk Use Case Name Halaman Kelola Produk
ID B4
Goal Actor dapat mengelola produk Pre-conditions Actor sudah berhasil login Post-conditions Data produk dapat disimpan Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat melihat daftar “produk”
2. Klik “tambah produk” untuk membuka form tambah produk, kemudian memasukan detail produk yang akan ditambahkan dan klik “browse”
untuk menyunting gambar produk
3. Klik simpan pada form untuk menyimpan data produk
4. Klik “edit” untuk mengubah data produk
5. Klik ”hapus” pada untuk menghapus produk yang akan di hapus
Tabel IV.9
Deskripsi Use Case Diagram untuk kelola order Use Case Name Halaman Kelola Order
ID B5
Goal Actor dapat mengelola order Pre-conditions Actor sudah berhasil login Post-conditions Data produk dapat disimpan Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat melihat daftar order melalui menu
“Order”
2. Maka akan tampil daftar order yang telah masuk
Deskripsi Use Case Diagram kelola ongkos kirim Use Case Name Halaman Kelola ongkos kirim
ID B6
Goal Actor dapat mengelola data ongkos kirim Pre-conditions Actor sudah berhasil login
Post-conditions Data tarif ongkos kirim dapat disimpan Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat melihat daftar ongkos kirim melalui menu “ongkos kirim”
2. Klik “tambah ongkos kirim” untuk membuka form,kemudian masukan nama kota dan ongkos kirimnya
3. Klik “Simpan” untuk menyimpan data ongkos kirim yang baru
4. Klik “Edit”untuk merubah tarif ongkos kirim 5. Klik “Hapus” untuk menghapus data ongkos kirim
Tabel IV.11
Deskripsi Use Case Diagram kelola review produk Use Case Name Halaman Kelola Review Produk
ID B7
Goal Actor dapat menyunting review produk dari pengunjung
Pre-conditions Actor sudah berhasil login
Post-conditions Data review dapat disunting ke halaman utama Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat melihat daftar review dari pengunjung 2. Klik “detail” pada daftar review kemudian klik
“On” pada status review kemudian klik “update”
untuk menyunting review kehalaman utama web
Tabel IV.12
Deskripsi Use Case Diagram kelola kontak kami Use Case Name Halaman Kelola Kontak Kami
ID B8
Goal Actor dapat membalas pesan dari pengunjung berbentuk email
Pre-conditions Actor sudah berhasil login
Post-conditions Pesan atau aduan dari pengunjung dapat direspon Primary Actors Admin
Main Flow/Basic Path 1. Actor dapat melihat daftar pengunjung yang menghubungi melalui web
2. Klik alamat email pengunjung untuk membalas pesan, kemudian klik “Kirim”
Tabel IV.13
Deskripsi Use Case Diagramlogout Use Case Name Halaman Logout
ID B9
Goal Actor dapat melihat dan mencetak laporan Pre-conditions Actor sudah berhasil login
Post-conditions Actor berhasil logout Primary Actors Admin
Main Flow/Basic Path Actor dapat keluar halaman admin dengan mengklik menu “Logout”
3. Activity Diagram
Gambar IV.3. Activity Diagram Pengunjung
act Use Case Model
System Pengunj ung
Mengakses Web
Menampilkan Halaman Utama
Gambar IV.4. Activity Diagram Lihat Profil Perusahaan
System Pengunj ung
Mengakses Web
Menampilkan Halaman Utama
Gambar IV.5. Activity Diagram Pembelian Produk
System Pengunj ung
Klik Menu
Produk Menampilkan
Semua Produk
Pilih Produk
Kilk Beli Sekarang
Menampilkan Keranj ang
Belanj a
Merubah Jumlah Beli
Klik Selesai Belanj a
Klik Belanj a Lagi
Menampilkan Form Data Anda Mengisi Data
Diri
Klik Proses
Menampilkan Konfirmasi
Pesanan
Gambar IV.6. Activity Diagram Lihat Cara Belanja
Gambar IV.7. Activity Diagram Hubungi Perusahaan
System Pengunj ung
Klik Menu Cara Belanj a
Menampilkan Petunj uk Cara
Belaj a
act Use Case Model
System Pengunj ung
Klik Kontak
Kami Menampilkan Form
Hubungi Kami
Isi Data Diri dan Pesan
Klik Kirim
Menampilkan Konfirmasi Pesan
Terkirim
Gambar IV.8. Activity Diagram Admin untuk Login
Gambar IV.9. Activity Diagram Ganti Password
Sistem Admin
Masuk ke Halaman Admin Menampilkan Halaman Admin
Mengisi Username, Passw ord, dan Kode
Captcha
Klik Tombol Login Memv alidasi Akun
Ditolak
Menampilkan Halaman Utama Admin Diterima
act Use Case Model
System Admin
Klik Menu Ganti
Pasw ord Menampilkan Form
Ganti Passw ord
Input Passw ord Lama, Kemudian Input Passw ord
Baru 2 Kali Validasi Data
Ditolak
Menampilkan Halaman Utama Diterima
Gambar IV.10. Activity Diagram Kelola Kategori
System Admin
Klik Menu Kategori
Menampilkan Daftar Kategori
Tambah Kategori
Menampilkan Form Kategori Input Nama
Kategori
Klik Simpan
Klik Batal Hapus
Edit
Gambar IV.11. Activity Diagram Kelola Produk
System Admin
Klik Menu Produk
Menampilkan Daftar Produk
Tambah Produk
Menampilkan Form Produk Input Detail
Produk
Klik Simpan
Klik Batal Hapus
Edit
Gambar IV.12. Activity Diagram Kelola Order
Sistem Admin
Klik Menu Order Menampilkan Daftar Order
Klik Detail
Menampilkan Detail Order Ubah Status Order
Klik Ubah Status
Gambar IV.13. Activity Diagram Kelola Ongkos Kirim
System Admin
Klik Menu Ongkos
Kirim
Menampilkan Daftar Ongkos Kirim
Tambah Ongkos Kirim
Menampilkan Form Ongkos
Kirim Input Nama
Kota dan Ongkos
Klik Simpan
Klik Batal Hapus
Edit
Gambar IV.14. Activity Diagram Kelola Review Produk
System Pengunj ung
Klik Menu Rev iew Produk
Menampilkan Daftar Rev iew
Klik Detail
Menampilkan Detail Rev iew Ubah Status
Rev iew
Klik Update
Hapus
Batal Admin
Gambar IV.15. Activity Diagram Kelola Kontak Kami
Gambar IV.16. Activity Diagram Logout
System Pengunj ung
Klik Menu Kontak Kami
Menampilkan Daftar Hubungi Kami
Klik Link Email
Menampilkan Detail Pesan
Dari Pengunj ung Membalas
Pesan
Klik Kirim
Hapus
Batal
act Use Case Model
System Pengunj ung
Klik Menu Logout Menampilkan Form Login Admin
Admin
4.2.1. Database
1. Entity-relation Diagram (ERD)
Gambar IV.17Entity-relation Diagram
Gambar IV.18 Gambar Diagram Logical Record Structure 3. Spesifikasi File
a. Spesifikasi File Tabel Admin Nama Database : hastaprima Nama File : Tabel Admin Akronim : admin Tipe File : File Master Panjang Record : 340
Kunci Field : username
Spesifikasi File Table Admin
No Elemen Data Nama Field Type Size Keterangan
1 Username username Varchar 50 Primery Key
2 Password password Varchar 50 3 Nama Lengkap nama_lengkap Varchar 100
4 Email Email Varchar 100
5 No Telepon no_telp Varchar 20
6 Level Level Varchar 20
7 Blokir Blokir enum
b. Spesifikasi File Tabel Kategori Nama Database : hastaprima Nama File : Tabel Kategori Akronim : kategori Tipe File : FileMaster Panjang Record : 105
Kunci Field : id_kategori
Table IV.15
Spesifikasi File Table Kategori
No Elemen Data Nama Field Type Size Keterangan 1 ID Kategori Id_kategori Integer 5 Primary Key 2 Nama Kategori nama_kategori Varchar 50
3 seo Seo Varchar 50
c. Spesifikasi File Tabel Kontak Nama Database : hastaprima Nama File : Table Kontak Akronim : kontak Tipe File : FileMaster Panjang Record : 155
Kunci Field : id_kontak
Spesifikasi File Tabel Kontak
No Elemen Data Nama Field Type Size Keterangan
1 ID Kontak id_kontak Integer 5 Primary Key
2 Nama nama Varchar 50
3 Email email Varchar 100
4 Subjek subjek Varchar 100
5 Pesan pesan Text
6 Tanggal tanggal date
d. Spesifikasi File Tabel Ongkos Kirim Nama Database : hastaprima
Nama File : Table Ongkos Kirim Akronim : kota
Tipe File : File Master Panjang Record : 113
Kunci Field : id_kota
Table IV.17
Spesifikasi File Ongkos Kirim
No Elemen Data Nama Field Type Size Keterangan
1 ID Kota id_kota Integer 3 Primary key
2 Nama Kota nama_kota Varchar 100 3 Ongkos Kirim ongkos_kirim Integer 10 e. Spesifikasi File Tabel Modul
Nama Database : hastaprima Nama File : Table Modul Akronim : modul Tipe File : FileMaster Panjang Record : 160
Kunci Field : id_modul
Spesifikasi File Tabel Modul
No Elemen Data Nama Field Type Size Keterangan
1 ID Modul id_modul Integer 5 Primary key
2 Nama Modul nama_modul Varchar 50
3 Link link Varchar 100
4 Status status enum
5 Aktif aktif enum
6 Urutan urutan Integer 5
f. Spesifikasi File Tabel Orders Nama Database : hastaprima Nama File : Table Orders Akronim : orders
Tipe File : File Transcations Panjang Record : 309
Kunci Field : id_orders
Table IV.19
Spesifikasi File Tabel Orders
No Elemen Data Nama Field Type Size Keterangan 1 ID Orders id_orders Integer 5 Primary key 2 Nama Customer nama_customer Varchar 50
3 Alamat alamat_lengkap Varchar 100 4 No Telepon telpon Varchar 50
5 Email email Varchar 50
6 Status Order status_order Char 50
7 Jam jam_order time
8 Tanggal tgl_order date
9 ID Kota id_kota Integer 4 Foreign Key
g. Spesifikasi File Tabel Detail Orders Nama Database : hastaprima
Nama File : Table Detail Orders
Akronim : orders_detail
Tipe File : File Transaction
Panjang Record : 20
Table IV.20
Spesifikasi File Tabel Detail Orders
No Elemen Data Nama Field Type Size Keterangan
1 ID Order id_orders Integer 5 Primary Key
2 ID Produk Id_produk Integer 5 Foreign Key
3 Jumlah jumlah Integer 10
h. Spesifikasi File Tabel Tipe Status Nama Database : hastaprima
Nama File : Table Order Sementara Akronim : orders_temp
Tipe File : FileTransaction Panjang Record : 230
Kunci Field : id_order_sementara Table IV.21
Spesifikasi File Tabel Order Sementara
No Elemen Data Nama Field Type Size Keterangan
1 ID Order
Sementara
id_orders_temp Integer 5 Primary key 2 ID Produk id_produk Integer 5 Foreign Key 3 ID Session id_session Varchar 100 Foreign Key
4 Jumlah jumlah Integer 20
5 Tanggal Order tgl_order_temp date
6 Jam Order jam_order_tem Varchar 100 i. Spesifikasi File Tabel Produk
Nama Database : hastaprima
Nama File : Table Produk
Akronim : produk
Tipe File : FileMaster
Panjang Record : 358
Table IV.22
Spesifikasi File Tabel Produk
No Elemen Data Nama Field Type Size Keterangan 1 ID Produk id_produk Integer 5 Primary Key 2 ID Kategori id_kategori Integer 5 Foreign Key
3 ID Warna id_warna Integer 3 Foreign Key
4 Nama Produk nama_produk Varchar 100
5 Seo seo Varchar 50
6 Deskripsi deskripsi text
7 Dimensi dimensi Varchar 20
8 Berat berat Double
9 Harga Awal h_awal Integer 20
10 Harga harga Integer 20
11 Ongkos Kirim ongkir Integer 20
12 Stok stok Integer 5
13 Tanggal Masuk tgl_masuk Date
14 Gambar gambar Varchar 100
15 Jumlah Beli dibeli Integer 4
16 Promo promo Char 3
17 Soon soon Char 3
j. Spesifikasi File Tabel Review Produk Nama Database : hastaprima
Nama File : Table Review Produk Akronim : review_produk Tipe File : FileTransaction Panjang Record : 90
Kunci Field : id_review
Spesifikasi File Tabel Review Produk
No Elemen Data Nama Field Type Size Keterangan 1 ID Review id_review Integer 3 Primary Key 2 Nama Customer nama_customer Varchar 30 Foreign Key
3 Email email Varchar 50 Foreign Key
4 Isi isi Longtext
5 ID Produk id_produk Integer 3
6 Status status Varchar 4
7 Tanggal tanggal Date
8 Jam jam Time
k. Spesifikasi File Tabel Warna Nama Database : hastaprima Nama File : Table Warna Akronim : warna Tipe File : FileMaster Panjang Record : 91
Kunci Field : id_warna
Table IV.24
Spesifikasi File Tabel Warna
No Elemen Data Nama Field Type Size Keterangan
1 ID Warna Id_warna Integer 11 Primary Key
2 Nama Warna nama_warna Varchar 30
3 Seo seo Varchar 50
1. Component Diagram
Gambar IV.19 Component Diagram Sistem Informasi Penjualan pada PT Hasta Prima Industri
2. Deployment Diagram
Gambar IV.20 Deployment Diagram Sistem Informasi Penjualan PT Hasta Prima
Industri
Gambar IV.21 Tampilan Halaman Utama Pengunjung
Gambar IV.22 Tampilan Halaman Produk
Gambar IV.23 Tampilan Halaman Cara Belanja
Gambar IV.24 Tampilan Hubungi Perusahaan
Gambar IV.25 Tampilan Form Login Admin
Gambar IV.26 Tampilan Halaman Utama Admin
Gambar IV.27 Tampilan Form Ganti Password
Gambar IV.28 Tampilan Kelola Modul
Gambar IV.29 Tampilan Kelola Kategori
Gambar IV.30 Tampilan Kelola Produk
Gambar IV.31 Tampilan Kelola Order
Gambar IV.32 Tampilan Kelola Ongkos Kirim
Gambar IV.33 Tampilan Kelola Review Produk
Gambar IV.34 Tampilan Kelola Hubungi Kami 4.3. Code Generation
Form Produk
<script LANGUAGE="JavaScript">
<!--
function confirmSubmit(ttt,id) { var msg;
msg= "Anda yakin akan menghapus produk " + ttt + " - ID = "+ id +"?";
var agree=confirm(msg);
if (agree) return true ; else
return false ; }
// -->
</script>
<?php
$aksi="modul/mod_produk/aksi_produk.php";
switch($_GET['act']){
// Tampil Produk default:
echo "<div class='top_admin_box'><h2>Produk</h2></div>
<input type=button value='Tambah Produk'
onclick=\"window.location.href='?module=produk&act=tambahproduk';\
">
<table id='list'>
<tr><th>No</th><th>Nama Produk</th><th>Harga</th><th>Harga Awal</th><th>Stok</th><th>Tgl.
masuk</th><th>Promo</th><th>Soon</th><th>Aksi</th></tr>";
$p = new Paging;
$batas = 10;
$posisi = $p->cariPosisi($batas);
$tampil = mysql_query("SELECT * FROM produk ORDER BY id_produk DESC LIMIT $posisi,$batas");
$no = $posisi+1;
$tanggal=tgl_indo($r['tgl_masuk']);
$harga=format_rupiah($r['harga']);
$h_awal=format_rupiah($r['h_awal']);
echo "<tr><td>$no</td>
<td>$r[nama_produk]</td>
<td>$harga</td>
<td>$h_awal</td>
<td align=center>$r[stok]</td>
<td>$tanggal</td>
<td>$r[promo]</td>
<td>$r[soon]</td>
<td><a
href=?module=produk&act=editproduk&id=$r[id_produk]>Edit</a> |
<a onclick=\"return
confirmSubmit('$r[nama_produk]','$r[id_produk]')\"
href=$aksi?module=produk&act=hapus&id=$r[id_produk]>Hapus</a></td>
</tr>";
$no++;
}
echo "</table>";
$jmldata = mysql_num_rows(mysql_query("SELECT * FROM produk"));
$jmlhalaman = $p->jumlahHalaman($jmldata, $batas);
$linkHalaman = $p->navHalaman($_GET['halaman'], $jmlhalaman);
echo "<div id=paging>Hal: $linkHalaman</div><br>";
break;
case "tambahproduk":
?>
<script type="text/javascript" language="javascript">
function validasiProduk() {
var x=document.forms["form"]["nama_produk"].value;
var y=document.forms["form"]["harga"].value;
var z=document.forms["form"]["deskripsi"].value;
var b=document.forms["form"]["agen"].value;
var a=document.forms["form"]["file"].value;
var ext = a.substring(a.lastIndexOf(".") + 1);
if (x=="" || y=="" || z=="" || a=="" || b=="-") {
alert("Data Anda kurang lengkap :)");
return false;
}
else if (ext =="dbf" || ext =="DBF") {
return true;
}
else if (ext !="dbf" || ext !="DBF") {
alert("Data harus dalam format .DBF :)");
return false;
} }
<?php
echo "<div class='top_admin_box'><h2>Tambah Produk</h2></div>
<form onSubmit=\"return validasiProduk()\" name=\"form\"
method='POST' action='$aksi?module=produk&act=input' enctype='multipart/form-data'>
<table>
<tr><td width=70>Nama Produk</td><td> : <input type=text name=\"nama_produk\" size=60>";
if (isset($_GET['f']) AND $_GET['f']=='nama') { echo "<br><font color=red>Namaproduk sebaiknya diisi</font>";
}
echo "</td></tr>";
echo "<tr><td>Kategori</td><td> :
<select name='kategori'>";
$tampil=mysql_query("SELECT * FROM kategori ORDER BY nama_kategori");
while($r=mysql_fetch_array($tampil)){
echo "<option
value=$r[id_kategori]>$r[nama_kategori]</option>";
}
echo "</select> Pilih Kategori</td></tr>
<tr><td>Warna</td><td> :
<select name='warna'>";
$data=mysql_query("SELECT * FROM warna ORDER BY nama_warna");
while($r2=mysql_fetch_array($data)){
echo "<option
value=$r2[id_warna]>$r2[nama_warna]</option>";//`id_produk` ,
`id_kategori` , `id_merk` , `nama_produk` , `seo` ,
`deskripsi` , `dimensi` , `berat` , `h_awal` , `harga` ,
`stok` , `tgl_masuk` , `gambar` , `dibeli` , `promo` , `soon`
}
echo "</select> Pilih Warna</td></tr>
<tr><td>Harga</td><td> : <input type=text name='harga'
size=10> Harga Awal : <input type=text name='h_awal' size=10> Ongkir : <input type=text name='ongkir' size=10>";
if (isset($_GET['f']) AND $_GET['f']=='harga') { echo "<br><font color=red>Harga Produk harus diisi</font>";
}
echo "</td></tr>
<tr><td>Dimensi(PxLxT)</td><td> : <input type=text name='dimensi' size=10> Berat : <input type=text name='berat' size=4>*dalam Kg</td></tr>
<tr><td>Stok</td><td> : <input type=text name='stok' size=3> Promo : <select name='promo'>
<option value='off' selected> Off </option>
<option value='on' selected> On </option>
</select>
Segera Hadir : <select name='soon'>
<option value='off' selected> Off </option>
<option value='on' selected> On </option>
</select>";
if (isset($_GET['f']) AND $_GET['f']=='stok') {
echo "<br><font color=red>Stok harus diisi</font>";
} echo "</td></tr>";
echo "<tr><td valign='top'>Deskripsi</td><td><textarea name='deskripsi' style='width: 450px; height:
250px;'></textarea></td></tr>
<tr><td>Gambar</td><td> : <input type=file name='gambar' size=40>
<br>Tipe gambar harus JPG/JPEG dan ukuran lebar maks: 400 px</td></tr>
<tr><td colspan=2><input type=submit value=Simpan>
<input type=button value=Batal
onclick=self.history.back()></td></tr>
</table></form>";
break;
case "editproduk":
$edit = mysql_query("SELECT * FROM produk WHERE id_produk='$_GET[id]'");
$r = mysql_fetch_array($edit);
echo "<div class='top_admin_box'><h2>Edit Produk</h2></div>
<form method=POST enctype='multipart/form-data' action=$aksi?module=produk&act=update>
<input type=hidden name=id value=$r[id_produk]>
<table>
<tr><td width=70>Nama Produk</td><td> : <input type=text name='nama_produk' size=60 value='$r[nama_produk]'></td></tr>
<tr><td>Kategori</td><td> : <select name='kategori'>";
$tampil=mysql_query("SELECT * FROM kategori ORDER BY nama_kategori");
while($w=mysql_fetch_array($tampil)){
if ($r[id_kategori]==$w[id_kategori]){
echo "<option value=$w[id_kategori]
selected>$w[nama_kategori]</option>";
} else{
echo "<option
value=$w[id_kategori]>$w[nama_kategori]</option>";
} }
echo "</select></td></tr>
<tr><td>warna</td><td> : <select name='warna'>";
nama_warna");
while($w2=mysql_fetch_array($tampil2)){
if ($r[id_warna]==$w[id_warna]){
echo "<option value=$w2[id_warna]
selected>$w2[nama_warna]</option>";
} else{
echo "<option
value=$w2[id_warna]>$w2[nama_warna]</option>";
} }
echo "</select></td></tr>
<tr><td>Harga</td><td> : <input type=text name='harga'
value=$r[harga] size=10>Harga Awal: <input type=text name='h_awal' value=$r[h_awal] size=10>Ongkir: <input type=text name='ongkir' value=$r[ongkir] size=8></td></tr>
<tr><td>Dimensi(PxLxT)</td><td> : <input type=text name='dimensi' value=$r[dimensi] size=10> Berat :
<input type=text name='berat' value=$r[berat] size=4>*dalam Kg</td></tr>
<tr><td>Stok</td><td> : <input type=text name='stok'
value=$r[stok] size=3> Promo : <select name='promo'>
<option value='off' selected> Off </option>
<option value='on' selected> On </option>
</select>
Segera Hadir : <select name='soon'>
<option value='off' selected> Off </option>
<option value='on' selected> On </option>
</select></td></tr>
<tr><td valign='top'>Deskripsi</td><td><textarea name='deskripsi' style='width: 450px; height:
250px;'>$r[deskripsi]</textarea></td></tr>
<tr><td>Gambar</td><td> :
<img src='../foto_produk/small_$r[gambar]'></td></tr>
<tr><td>Ganti Gbr</td><td> : <input type=file name='gambar' size=30> *)</td></tr>
<tr><td colspan=2>*) Apabila gambar tidak diubah, dikosongkan saja.</td></tr>
<tr><td colspan=2><input type=submit value=Update>
<input type=button value=Batal
onclick=self.history.back()></td></tr>
</table></form>";
break;
}
a<?php
session_start();
include "../../../config/koneksi.php";
include "../../../config/library.php";
include "../../../config/fungsi_thumb.php";
include "../../../config/fungsi_seo.php";
$module=$_GET[module];
$act=$_GET[act];
// Hapus produk
if ($module=='produk' AND $act=='hapus'){
mysql_query("DELETE FROM produk WHERE id_produk='$_GET[id]'");
header('location:../../media.php?module='.$module);
}
// Input produk
elseif ($module=='produk' AND $act=='input'){
if ($_POST['nama_produk']=="") {
header('location:../../media.php?module=produk&act=tambahproduk&f=
nama');
}
elseif($_POST['harga']==""){
header('location:../../media.php?module=produk&act=tambahpro duk&f=harga');
}
elseif($_POST['stok']==""){
header('location:../../media.php?module=produk&act=tambahpro duk&f=stok');
} else {
$lokasi_file = $_FILES['gambar']['tmp_name'];
$tipe_file = $_FILES['gambar']['type'];
$nama_file = $_FILES['gambar']['name'];
$acak = rand(1,99);
$nama_file_unik = $acak.$nama_file;
$produk_seo = seo_title($_POST[nama_produk]);
// Apabila ada gambar yang diupload if (!empty($lokasi_file)){
UploadImage($nama_file_unik);
$sql = mysql_query("INSERT INTO produk(nama_produk,
seo,
id_kategori, id_warna, h_awal, harga,
ongkir, dimensi, berat, stok, promo, soon, deskripsi, tgl_masuk, gambar)
VALUES('$_POST[nama_produk]', '$produk_seo',
'$_POST[kategori]', '$_POST[warna]',
'$_POST[h_awal]',
'$_POST[harga]', '$_POST[ongkir]',
'$_POST[dimensi]',
'$_POST[berat]',
'$_POST[stok]', '$_POST[promo]',
'$_POST[soon]', '$_POST[deskripsi]',
'$tgl_sekarang', '$nama_file_unik')");
if (!$sql) {
"Error (no picture):".mysql_error();
} }
else{
$sql = mysql_query("INSERT INTO produk(nama_produk,
seo,
id_kategori,
id_warna, h_awal, harga,
ongkir, dimensi, berat, stok,
promo, soon, deskripsi,
VALUES('$_POST[nama_produk]', '$produk_seo',
'$_POST[kategori]', '$_POST[warna]',
'$_POST[h_awal]',
'$_POST[harga]', '$_POST[ongkir]',
'$_POST[dimensi]',
'$_POST[berat]',
'$_POST[stok]', '$_POST[promo]',
'$_POST[soon]', '$_POST[deskripsi]',
'$tgl_sekarang')");
if (!$sql) {
"Error (picture):".mysql_error();
} }
header('location:../../media.php?module='.$module);
} }
// Update produk
elseif ($module=='produk' AND $act=='update'){
$lokasi_file = $_FILES['gambar']['tmp_name'];
$tipe_file = $_FILES['gambar']['type'];
$nama_file = $_FILES['gambar']['name'];
$acak = rand(1,99);
$nama_file_unik = $acak.$nama_file;
$produk_seo = seo_title($_POST[nama_produk]);
// Apabila gambar tidak diganti if (empty($lokasi_file)){
$sql = mysql_query("UPDATE produk SET nama_produk = '$_POST[nama_produk]',
seo = '$produk_seo', id_kategori =
'$_POST[kategori]',
id_warna = '$_POST[warna]',
h_awal
= '$_POST[h_awal]',
harga = '$_POST[harga]', ongkir
= '$_POST[ongkir]',
dimensi
= '$_POST[dimensi]',
berat
= '$_POST[berat]',
stok = '$_POST[stok]',
= '$_POST[promo]',
soon
= '$_POST[soon]',
deskripsi = '$_POST[deskripsi]'
WHERE id_produk = '$_POST[id]'");
if (!$sql) {
"Error (no picture):".mysql_error();
} } else{
UploadImage($nama_file_unik);
$sql = mysql_query("UPDATE produk SET nama_produk = '$_POST[nama_produk]',
seo = '$produk_seo', id_kategori =
'$_POST[kategori]',
id_warna = '$_POST[warna]',
h_awal
= '$_POST[h_awal]',
harga = '$_POST[harga]', ongkir
= '$_POST[ongkir]',
dimensi
= '$_POST[dimensi]',
berat
= '$_POST[berat]',
stok = '$_POST[stok]', promo
= '$_POST[promo]',
soon
= '$_POST[soon]',
deskripsi = '$_POST[deskripsi]',
gambar = '$nama_file_unik' WHERE id_produk = '$_POST[id]'");
if (!$sql) {
"Error (picture):".mysql_error();
} }
header('location:../../media.php?lokasi='.$nama_file_unik.'&module
='.$module);
}
?>
Table IV.25
Hasil Pengujian Black Box Testing Form Login No Skenario
Pengujian
Test Case Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Mengosongkan
semua isian data lalu mengklik tombol login
Username (kosong) Password (kosong)
Sistem akan menolak dan keluar pesan
“Anda Belum Mengisi Username”
Sesuai harapan
Valid
2 Hanya mengisi data username dan mengosongkan data password lalu mengklik tombol login
Username:
admin Password:
(kosong)
Sistem akan menolak dan keluar pesan
“Anda Belum Mengisi Password”
Sesuai harapan
Valid
3 Hanya mengisi data username dan password dan tidak menginputkode captchalalu mengklik tombol login
Username:
(admin) Password:
(Admin) Kode Captcha:
(kosong)
Sistem akan menolak dan keluar pesan
“Anda Belum Mengisi Kode Captcha”
Sesuai harapan
Valid
Table IV.26
Hasil Pengujian Black Box Testing Form Ganti Password No Skenario
Pengujian
Test Case Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Mengosongkan
semua isian data lalu mengklik tombol proses
Password lama(koson g)
Password baru (kosong)
Sistem akan menolak dan keluar pesan
“Anda Harus Mengisikan Semua Data pada Form Ganti Password”
Sesuai harapan
Valid
2 Hanya mengisi data password
Password lama:
Sistem akan menolak dan
Sesuai harapan
Valid
mengosongkan data password baru lalu mengklik tombol login
Passwordba ru:
(kosong)
“Anda Harus Mengisikan Semua Data pada Form Ganti Password”
3 Mengisi password lama yang
salahdan mengisi password baru lalu mengklik tombol login
Password lama:
(admin234) Passwordba ru:
(Admin1)
Sistem akan menolak dan keluar pesan
“Anda salah memasukan password lama anda”
Sesuai harapan
Valid
Table IV.27
Hasil Pengujian Black Box Testing FormTambah Produk No Skenario
Pengujian
Test Case
Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Mengosongkan
semua isian data lalu mengklik tombol save
Semua field (kosong)
Sistem akan menolak dan akan
mengeluarkan pesan “Nama Produk Harus diisi.
Sesuai harapan
Valid
2 Hanya mengisi Nama Produk, Harga dan Stok dikosongkan
Nama Produk:
(Cangkir) Harga:
(kosong) Stok:
(kosong)
Sistem akan menolak dan akan
mengeluarkan pesan “Harga Harus di Isi”
Sesuai harapan
Valid
3 Hanya mengisi Nama Produk dan Harga, Stok dikosongkan
Nama Produk:
(Cangkir) Harga:
(5000) Stok:
(kosong)
Sistem akan menolak dan akan
mengeluarkan pesan “Stok Harus di Isi”
Sesuai harapan
Valid
Hasil Pengujian Black Box Testing FormOrder No Skenario
Pengujian
Test Case
Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Merubah status
order menjadi lunas atau dikirim, lalu mengklik ubah status
Status (Lunas) Atau (Dikirim)
Sistem akan menampilkan perubahan status order pada daftar order
Sesuai harapan
Valid
Table IV.29
Hasil Pengujian Black Box Testing FormTambah Ongkos Kirim No Skenario
Pengujian
Test Case
Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Menginput nama
kota dan Ongkos Kirim
Nama Kota (Bali) Ongkos (50.000)
Sistem akan menampilkan perubahan status order pada daftar order
Sesuai harapan
Valid
Table IV.30
Hasil Pengujian Black Box Testing Kelola Review Produk No Skenario
Pengujian
Test Case
Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Merubah status
review menjadi On
Status Review (On)
Sistem akan menampilkan review pada produk di Halaman Pengunjung
Sesuai harapan
Valid
Hasil Pengujian Black Box Testing FormTambah Kategori No Skenario
Pengujian
Test Case
Hasil yang diharapkan
Hasil Pengujia
n
Kesimpul an 1 Mengosongkan
semua isian data lalu mengklik tombol Simpan
Semua field (kosong)
Sistem akan menolak dan akan
mengeluarkan pesan “Anda Belum Mengisikan Kategori”.
Sesuai harapan
Valid
4.5. Support
4.5.1. Publikasi Web
Sistem Informasi Penjualan pada PT Hasta Prima Industri dipublikasikan secara umum melalui internet, karena sistem ini ditujukan untuk memperluas penjualan dan agar mudah diakses oleh calon pembeli.
4.5.2. Spesifikasi Hardware dan Software
Pada tahapan ini penulis memberikan spesifikasi hardware dan software
yang sesuai kebutuhan sistem yang penulis bangun, adapun spesifikasi tersebut
adalah sebagai berikut:
Spesifikasi Hardware dan Software
Kebutuhan Ketrangan
Sistem Operasi Windows atau Linux
Processor Intel Core i3 2,5 Ghz atau lebih
RAM 2 GB atau lebih
Harddisk 100 Gb atau lebih
DVD-Rom 16x
Monitor LED 18 inch
Keyboard Standard
Printer Laser Jet
Browser Mozilla Firefox atau Google Chrome
Software XAMPP, Sublime Text, Navicat
Premium,Heidysql
4.6. Spesifikasi Dokumen Sistem Usulan a. Nama Dokumen : Daftar Order
Fungsi : Daftar Pesanan
Sumber : Customer
Tujuan : Marketing
Frekuensi : Setiap Hari
Media : Kertas
Jumlah : Satu Lembar Bentuk : Lampiran B.1 b. Nama Dokumen : Daftar Order
Fungsi : Permintaan penyediaan barang
Sumber : Marketing
Tujuan : Warehouse
Frekuensi : Setiap Hari
Media : Kertas
Bentuk : Lampiran B.1 c. Nama Dokumen : Daftar Order
Fungsi : Daftar Pesanan
Sumber : Customer
Tujuan : Marketing
Frekuensi : Setiap Hari
Media : Kertas
Jumlah : Satu Lembar
Bentuk : Lampiran B.2