A. Identifikasi Masalah
Aplikasi ecommerce serta penyewaan lapangan futsal adalah aplikasi berbasis web yang memfasilitasi seluruh Solo Sehat Indoor Soccer dalam melakukan proses penjualan serta penyewaan lapangan futsal sebagai pengganti proses penjualan serta penyewaan lapangan futsal secara manual yang bersifat interaktif yaitu antara pembeli serta penyewa datang langsung ke tempat lapangan futsal. Pengguna aplikasi penjualan serta penyewaan lapangan online hanya dibatasi pada transaksi penjualan, informasi produk, penyewaan lapangan serta informasi lapangan secara online.
Kegiatan penjualan serta penyewaan lapangan futsal selama ini masih dilakukan dengan datang langsung ke lapangan futsal dengan menemui penjual serta penjaga lapangan futsal. Data penjualan serta penyewaan lapangan futsal yang masuk (menyewa) ataupun yang keluar (dibeli) nantinya akan dilaporkan sebagai laporan bulanan. Namun penerapan sistem tersebut masih manual hasilnya menjadi tidak efektif dan efisien bagi Solo Sehat Indoor Soccer di karenakan sistem tersebut masih harus ditulis atau di data ulang secara manual yang memerlukan waktu yang sangat lama.
B. Analisa Sistem
Pembuatan Aplikasi penjualan dan penyewaan lapangan futsal di Solo sehat di harapkan mampu mewakili proses penjualan dan penyewaan lapangan futsal dengan media online anta pembeli dan penjual serta penyewa dan pemilik lapangan futsal sebagaimana proses tersebut masih dilakukan secara manual oleh karena itu, aplikasi penjualan dan penyewaan lapangan futsal dituntut untuk mampu memenuhi criteria web antara lain dengan memenuhi kebutuhan pelanggan.
15
Berdasarkan data-data yang diperoleh, maka data tersebut dapat dijadikan referensi dalam pembangunan aplikasi e-commerce serta penyewaan lapangan futsal. Berdasarkan data yang terkumpul kemudian dapat dilakukan analisa sistem dan dilakukan proses pembangunan aplikasi e-commerce serta penyewaan lapangan futsal.
1. Context Diagram
CD aplikasi penjualan produk dan penyewaan lapangan futsal merupakan diagram alir dari eksternal entity yang akan diproses kemudian disimpan kedalam database dan data akan digunakan kembali oleh eksternal entity.
Context Diagram pada system pembangunan aplikasi e-commerce ditunjukkan pada Gambar 3.1
ADMIN pelanggan
ID_product konfirmasi
Jadwal terbaru Info terbaru
konfirmasi Jadwal sewa Data pemesanan
User&password
Info_jadwal jadwal konfirmasi Jadwal_sewa ID_product katalog
databukutamu Product terbaru
User&password Username&password
Data pelanggan
info bukutamu
pengunjung komentar info
EcommerceSIM
Gambar 3.1 Context Diagram
2. Data Flow Diagram (DFD)
DFD adalah model yang menggambarkan sistem sebagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan aliran data dan penyimpanan data.
a. Data Flow Diagram (DFD) Level 0
Data Flow Diagram (DFD) Level 0 ditunjukkan pada Gambar 3.2
ADMIN 1 Pendataan
ADMIN
2 Pendataan pelanggan
3 Pemesanan
product
4 Pendataan
product
T.admin User&pass
Konfirmasi Username&password
T.pelanggan T.provinsi
Id pelanggan
pelanggan Data pelanggan
Pass dan user name
ID_product konfirmasi
T.pemesanan
7 Perubahan
Info
T.product
T.info
pengunjung
info
6 Pembaruan
Jadwal
T.jadwal
5 Penyewaan
Lapangan
T.sewa lapangan
8 Pengisian Bukutamu
T.bukutamu Jadwal terbaru
Info terbaru
Data bukutamu konfirmasi Jadwal sewa Product terbaru
konfirmasi Data pemesanan
komentar info Info_jadwal konfirmasi
Jadwal_sewa ID_product
katalog
komentar
Gambar 3.2 Data Flow Diagram
b. DFD Level 1 Proses 3 Pemesanan Produk
DFD Level 1 Proses 3 Pemesanan menggambarkan akses sistem yang dilakukan oleh user yang di gunakan untuk memesan sebuah produk pada DFD Level 1 Proses 3 Pemesanan ditunjukan pada Gambar 3.3
ADMIN
3.1 pemesanan
3.3 Pencarian
product
pelanggan T.pemesanan
T.product idprodct idpemesanana
ID_product katalog
3.2 Konfirmasi
product
konfirmasi Id_product
Gambar 3.3 DFD Level 1 Proses 3 Pemesanan Produk
c. DFD Level 1 Proses 5 Penyewaan Lapangan Futsal
DFD Level 1 Proses 5 Penyewaan Lapangan Futsal menggambarkan akses sistem yang dilakukan oleh user yang di gunakan untuk memesan sebuah produk pada DFD Level 1 Proses 5 Penyewaan ditunjukan pada Gambar 3.4
ADMIN
5.1 Sewa lapangan
5.2 Pencarian
jadwal
pelanggan T.sewa lapangan
T.jadwal idkonfirmasi
Idsewa lapangan
Info_jadwal jadwal
5.2 Konfirmasi penyewaan
konfirmasi Jadwal_sewa
Gambar 3.4 DFD Level 1 Proses 7 Penyewaan Lapangan Futsal
C. Process Specification
1. PSPEC 0.2 Pendataan Pelanggan
Tabel 3.1 PSPEC Pendataan Pelanggan
PSPEC 0.2 Pendataan Pelanggan
Masukan Data Pelanggan.
Keluaran Username dan Password.
Algoritma Simpan data pelanggan di tabel pelanggan.
2. PSPEC 0.3 Pemesanan Produk
Tabel 3.2 PSPEC Pemesanan Produk
PSPEC 0.3 Mengubah data pelanggan
Masukan Id produk dan jumlah produk . Keluaran Harga produk serta biaya kirim.
Algoritma Pelanggan memilih produk yang akan di beli setelah selesai pelanggan mendapatkan total pembelian produk serta biaya kirim untuk mengirim produk ke tempat tujuan.
3. PSPEC 0.4 Pendataan Produk
Tabel 3.3 PSPEC Pendataan Produk
PSPEC 0.4 Mengubah data pelanggan
Masukan Data produk.
Keluaran Data produk yang telah dimasukkan.
Algoritma Memasukkan data produk setelah itu data akan tersimpan di tabel produk.
4. PSPEC 0.5 Penyewaan Lapangan Futsal
Tabel 3.4 PSPEC Penyewaan Lapangan futsal
PSPEC 0.5 Penyewaan lapangan Futsal
Masukan Pilih jam, tanggal sewa serta nama team
Keluaran Data penyewaan serta biaya yang dikeluarkan untuk menyewa lapangan futsal
Algoritma Input jam, tanggal sewa dan nama team, simpan ke tabel
sewalapangan lalu penyewa mendapatkan biaya sewa lapangan untuk di transfer lewat rekening.
D. Pemodelan Data
1. Entity Relationship Diagram (ERD)
ADMIN pelanggan sewalapangan
pemesanan
product Memperbaharui
userid
passid
kd_provinsi kelamin
alamat
nama id_pelanggan
kd_post e_mail tlpn_rmh
userid no_fax passid
size
warna kd_kategori
file_gambar
harga
jumlah
id_product no_pemesanan
tanggal jam
id_pelanggan
Memperbaharui
tgl_pesan time
nama_team no_pemesanan no_hp
kota
id_product id_pemesanan
status harga jumlah
status_pesan
status harga
status
nama_product hemat
1
1 1
n
1
n 1
jadwal id_jadwal
jam
harga 1
konfirmasi
tgl_sewa
id_keranjang
id_sewalapangan id_waktu
nama_team
tgl_sewa id_pelanggan Nama_team
id_waktu tgl_pesan
id_pelanggan
no_pemesanan
id_konfirmasi No_pemesanan
Jml_bayar Bank_asal
Rek_asal Atas_nama
Rek_tujuan Tgl_transfer
name
tipe
size
1 1
Gambar 3.5 Entity Relationship Diagram
2. Skema Diagram (Schema Diagram)
Skema diagram adalah suatu diagram yang menggambarkan relasi atau hubungan antar tabel yang ada pada aplikasi ecommerce serta penyewaan lapangan futsal.
pelanggan PK id_pelanggan
status_pesan userid passid nama alamat kota e_mail kelamin kd_post kd_provinsi tlpn_rmh no_hp no_fax
product PK id_product nama_product kd_kategori warna size jumlah file_gambar harga
hemat provinsi
PK kd_provinsi nm_provinsi ongkos_kirim
konfirmasi PK id_konfirmasi
no_pemesanan jml_bayar tanggal bank_asal
atas_nama rek_tujuan tgl_transfer name type size id_pemesanan pemesanan
PK id_pemesanan no_pemesanan id_pelanggan tanggal jam
status unik_transfer id_product jumlah harga sewalapngan
PK id_sewalapangan no_pemesanan
id_pelanggan tgl_pesan time status unik_transfer id_waktu nama_team harga tgl_sewa
jadwal PK id_jadwal nama_team id_waktu tgl_pesan harga
id_sewalapangan
waktu PK id_waktu
jam harga
Gambar 3.6 Skema Diagram
E. Kebutuhan Hardware
Hardware yang diperlukan dalam pembuatan aplikasi e-commerce serta penyewaan lapangan futsal oleh penulis adalah laptop dengan spesifikasi sebagai berikut:
a. Intel Pentium 4 b. RAM 1 Gb c. Harddisk 80 Gb
d. Monitor WideScreen 14”
e. Mouse and keyboard
F. Kebutuhan Software
Software yang diperlukan dalam pembuatan aplikasi e-commerce serta penyewaan lapangan futsal adalah
a. MySql b. Php c. Apache
d. Macromedia Dreamweaver 8 e. Adobe Photoshop CS
f. Corel Draw X3
g. Browser (Nozilla Firefox) G. Perancangan Arsitektur
Sistem Solo Sehat Indoor Soccer
Input Proses Output
Data PelangganUpdate
product Jadwal
terbaru Info
terbaru Pendataan
pelanggan Pemesanan product Penyewaan
lapangan Pembaruan jadwal Pembaruan
info Konfirmasi
pembelian
Konfirmasi
penyewaan Pengisian
bukutamu Info product Info
jadwal Info berita
komentar Info biaya
kirim Info pembelian product Info sewa
lapangan
Gambar 3.7 Perancangan Sistem
H. Proses Specification (PSPEC) FASE PERANCANGAN
1. Perancangan Pendaftaran Pelanggan a. Perancangan Antarmuka
Header
Menu pendaftaran pelanggan
Login Pelanggan menu
Footer
Gambar3.8 Halaman Pendaftaran Pelanggan b. Perancangan Proses
Tabel 3.5 Perancangan Proses Pendataan Pelanggan Proses 2 Halaman Pendataan Pelanggan File index.php?page=profile; index.php?page=info;
index.php?page=produk; index.php?page=jadwal;
index.php?page=beli; index.php?page=bayar;
index.php?page=daftar;
Input Username dan password, Data pelanggan diisi dengan data sebenar-benarnya.
Output Username, password view data pribadi
Inisial State Dipastikan data user yang diinputkan adalah data yang benar.
Algoritma ?page=appdaftar:
include_once "config/koneksi.php";
include_once "config/librari.php";
$kode= kdauto("t_pelanggan","IDP");
$sql = "INSERT INTO t_pelanggan SET id_pelanggan='$kode',
userid='".
$_POST['txtuserid']."',
passid=MD5('".$_POST['passid1']."'), nama='".$_POST['txtnama']."',
alamat='".
$_POST['txtalamat']."',
kota='".$_POST['txtkota']."', e_mail='".
$_POST['txtemail']."',
kelamin='".$_POST['kelamin']."', kd_post='".$_POST['txtkdpost']."',
kd_provinsi='".
$_POST['cmbprovinsi']."',
tlpn_rmh='".$_POST['txttlpnrmh']."', no_hp='".$_POST['txtnohp']."',
no_fax='".
$_POST['txtnofax']."'"; $query = mysql_query($sql, $koneksi);
if ($query) {
url=?page=daftarview'>"; }
else { echo "<meta http-equiv='refresh' content='0;
url=index.php'>";}
Final State Data pelanggan di simpan ke tabel pelanggan.
2. Perancangan Pembelian a. Perancangan Antarmuka
menu Header
Pembelian produk
Login Pelanggan
Footer
Gambar3.9 Halaman Pembelian
b. Perancangan Proses
Tabel 3.6 Perancangan Proses Pembelian
Proses 3 Halaman Pembelian
File index.php?page=produk;index.php?
page=pengirimbarang;;index.php?
page=apppengirimbarang;pengirimbarangkonfirm.php;
page/knfrmsukses.php;
Input Pilih produk, ubah jumlah produk
Output Data produk, total biaya kirim, kode unik transfer.
Inisial State
Menyiapkan data-data pengiriman serta biaya dan pengiriman produk yang akan di transfer.
Algoritma for ($i=0; $i < $ArrData; $i++) { $sql
= "UPDATE t_keranjang SET
jumlah='".$_POST['TxtJum'][$i]."', tanggal='".date('Y-m-d')."',
jam='".date('G:i:s')."' WHERE id_produk='".$_POST['TxtKodeH'][$i]."'
AND id_pelanggan='".
$_SESSION['useidplg']."'";
selesai lanjut ke ?page=pengirimbarang:
$sql = "UPDATE t_pelanggan SET
nama='".$_POST['txtnama']."', kd_provinsi='".
$_POST['cmbprovinsi']."', alamat ='".
$_POST['txtalamat']."', kota='".
$_POST['txtkota']."', kd_post='".
$_POST['txtkdpost']."', tlpn_rmh='".
$_POST['txttlpnrmh']."',
no_hp='".$_POST['txtnohp']."' WHERE id_pelanggan='".
$_SESSION['useidplg']." AND userid='".
$_SESSION['useplg']."'"; $query = mysql_query($sql, $koneksi); if ($query) {include "page/konfrmsukses.php"; }
page/konfrmsukses.php:
if ($_GET['page']=="konfrmsukses") { if(!
$_POST['TxtUnikH']=="") {
$sqlGetKeranjangValue = "SELECT t_keranjang.id_produk, t_keranjang.jumlah, t_produk.harga ,t_keranjang.id_keranjang
FROM t_keranjang,t_produk WHERE t_keranjang.id_pelanggan='".
$_SESSION['useidplg']."' AND
t_keranjang.id_produk=t_produk.id_produk ORDER BY id_keranjang ASC";
$getKeranjang =
mysql_query($sqlGetKeranjangValue);
$tmpIdProduk = ""; $tmpJumlah = "";
$i = 1;
$jumRecord=mysql_num_rows($getKeranjang);
$values = "";
if( $jumRecord > 0){
$kode=kdautoPemesanan("t_pemesanan","KT-");
while($value =
mysql_fetch_row($getKeranjang)){ if($i
< $jumRecord){
$values .= "('','".$kode."', '".
$_SESSION['useidplg']."', '".date('Y-m-d')."',
'".date('G:i:s')."', 'PESA N',
'".$_POST['TxtUnikH']."', '".$value[0]."',
'".
$value[1]."',
'".$value[2]."',
'".$value[3]."'),";
}else{
$values.=
"('','$kode',
'".$_SESSION['useidplg']."', '".date('Y-m-d')."',
'".date('G:i:s' )."',
'PESAN',
'".$_POST['TxtUnikH']."', '".
$value[0]."',
'".$value[1]."',
'".$value[2]."', '".
$value[3]."')"; }$i+
+; } }
$sql="INSERT INTO t_pemesanan
VALUES ".$values; $query = mysql_query($sql) or die(mysql_error()); if ($query) {
Final State
Data pemesanan produk disimpan ke table pemesanan
3. Perancangan Penyewaan Lapangan Futsal a. Perancangan Antarmuka
menu Header
Jadwal lapangan
Login Pelanggan
Footer
Gambar 3.10 Halaman Penyewaan Lapangan futsal
b. Perancangan Proses
Tabel 3.7 Perancangan Proses Penyewaan Lapangan Futsal Proses 4 Halaman Penyewaan Lapangan Futsal File index.php?page=jadwal; ?page=appjadwal;
Input Username dan password, Data pelanggan diisi dengan data sebenar-benarnya.
Output Username, password view data pribadi Inisial
State
Dipastikan data user yang diinputkan adalah data yang benar.
Algoritm a
?page=sewalap:
if ($_GET['page']=="appsewalap") { if(!
$_POST['TxtUnikH']=="") {
$sqlGetLapanganValue = "SELECT t_sewalapangan.id_waktu,
t_sewalapangan.nama_team, t_waktu.harga, t_sewalapangan.tgl
FROM t_sewalapangan,t_waktu WHERE
t_sewalapangan.id_pelanggan='".
$_SESSION['useidplg']."'
AND t_sewalapangan.id_waktu=t_waktu.id_waktu ORDER BY id_sewalapangan ASC";
$getLapangan=mysql_query($sqlGetLapanganValu e); $tmpIdLapangan = "";
$tmpJumlah = "";
$i = 1; $jumRecord =
mysql_num_rows($getLapangan);
$values = ""; if( $jumRecord
> 0){ $kode=
kdautoPemesanan("t_lapangan","SL-");
while($value = mysql_fetch_row($getLapangan)){
if($i < $jumRecord){
$values .= "('','".
$kode."',
'".$_SESSION['useidplg']."', '".date('Y-m-d')."',
'".date('G:i:s')."', 'PESAN',
'".
$_POST['TxtUnikH']."', '".$value[0]."',
'".$value[1]."',
'".$value[2]."',
'".$value[3]."'),";
}else{
$values .= "('','$kode', '".
$_SESSION['useidplg']."', '".date('Y-m-d')."',
'".date('G:i:s')."', 'PESAN',
'".
$_POST['TxtUnikH']."', '".$value[0]."',
'".$value[1]."',
'".$value[2]."',
'".$value[3]."')";
}
$i++;
} } Final
State
Data penyewaan lapangan di simpan ke tabel sewa lapangan.
4. Perancangan Konfirmasi Pembayaran a. Perancangan Antarmuka
menu Header
Konfirmasi Pembayaran
Login Pelanggan
Footer
Gambar3.11 Halaman Konfirmasi Pembayaran
b. Perancangan Proses
Tabel 3.8 Perancangan Proses Konfirmasi Pembayaran
Proses 5 Halaman Konfirmasi Pembayaran
File index.php?page=konfirmbarang;index.php?
page=appkonfirmbarang;
Input No pemesanan data pelanggan dan data transfer biaya Output Confirm pembayaran
Inisial State Dipastikan data pembayaran yang diinputkan adalah data yang benar.
Algoritma index.php?page=appkonfirmbarang:
$query = "INSERT INTO t_konfirmasi (no_pemesanan,jml_bayar,bank_asal,rek_asal,atas_
nama,rek_tujuan,tgl_transfer,name, size, type) VALUES
('$txtnopesan','$txttransfer','$txtdaribank','$txtnorek', '$txtnama','$cmbrek','$tanggal','$fileName','$fileSize' ,'$fileType')";
Final State Data berhasil di inputkan ke table konfirmasi pembayaran.
I. Struktur Database
Struktur Database unutk pembuatan aplikasi e-commerce serta penyewaan lapangan adalah sebagai berikut:
a. Tabel Administrator
Tabel admin digunakan untuk menyimpan data username dan password untuk program autentifikasi. Program autentifikasi ini mempunyai fungsi sebagai gerbang login masuk pada sistem (disebut cPanel). Struktur tabel admin digambarkan pada Tabel 3.9
Tabel 3.9 Tabel Admin
Field Tipe Length Keterangan
userid Varchar 35 Primary key
passid Varchar 35 -
b. Tabel Buku Tamu
Tabel buku tamu digunakan untuk menyimpan data sebuah komentar tentang web atau saran digambarkan pada Tabel 3.10
Tabel 3.10 Tabel Buku Tamu
Field Tipe Length Keterangan
idbukutamu Int 5 Primary key
nama Varchar 15
e_mail Varchar 15
komentar Varchar 100
tanggal date 8
Jam time 6 -
c. Tabel Info
Tabel info digunakan untuk menyimpan data info tentang perkembangan futsal atau dunia olahraga digambarkan pada Tabel 3.11
Tabel 3.11 Tabel Info
Field Tipe Length Keterangan
idinfo Int 5 Primary key,
Judul Varchar 50 -
Ringkasan Text - -
Jam Time 6 -
Tanggal Date 8 -
d. Tabel Jadwal
Tabel Jadwal digunakan untuk menyimpan data jadwal lapangan digambarkan pada Tabel 3.12
Tabel 3.12 Tabel Jadwal
Field Tipe Length Keterangan
id_jadwal Int 3 Primary key,
Nama_team Varchar 10 Unique
Id_waktu Int 11 -
Tgl_pesan Date -
Id_pelanggan Varchar 7 -
e. Tabel Pelanggan
Tabel pelanggan digunakan untuk menyimpan data pelanggan yang akan membeli produk. Data pelanggan meliputi data-data pribadi. Struktur tabel pelanggan digambarkan pada Tabel 3.13
Tabel 3.13 Tabel Pelanggan
Field Tipe Length Keterangan
Id_pelanggan Varchar 7 Primary key
Userid Varchar 35 -
Passid Varchar 15 -
Nama Varchar 20 -
Kelamin Enum - ‘Wanita’, ‘Pria’
Alamat Varchar 100 -
Kd_post Char 5 -
Kd_provinsi Varchar 4 -
E_mail Varchar 30 -
Tlp Int 12 -
Status_pesan Enum - ‘FREE’,’ORDER’
No_hp Int 12 -
No_fax Int 12 -
f. Tabel Pemesanan
Tabel pemesanan digunakan untuk menyimpan semua data yang akan dipesan oleh pelanggan. Data yang diinput ke dalam tabel pelanggan memiliki ketentuan apabila proses transaksi dan data pelanggan telah diisi dengan lengkap.
Struktur tabel pemesanan digambarkan pada Tabel 3.13 Tabel 3.13 Tabel Pemesanan
Field Tipe Length Keterangan
Id_pemesanan Int 5 Primary key
No_pemesanan Char 15 -
Id_pelanggan Varchar 7 -
Tanggal Date 8 -
Jam Time 6 -
Status Enum - ‘Pesan’,Lunas’
Unik_transfer Char 2 -
Id_produk Varchar 6 -
Jumlah Int 3 -
Harga Int 15 -
Id_keranjang Int 6
g. Tabel Sewalapangan
Tabel sewalapangan digunakan untuk menyimpan semua data yang lapangan yang akan disewa. Data yang diinput ke dalam tabel pelanggan memiliki ketentuan apabila proses transaksi dan data pelanggan telah diisi dengan lengkap.
Struktur tabel sewalapangan digambarkan pada Tabel 3.14 Tabel 3.14 Tabel Sewalapangan
Field Tipe Length Keterangan
Id_lapangan Int 15 Primary key
No_pemesanan Char 7 -
Id_pelanggan Varchar 7 -
Tgl_pesan Date 8 -
time Time 6 -
Status Enum - ‘Pesan’,’Sewa’
Unik_transfer Char 2 -
Id_waktu Int 3 -
Nama_team Varchar 20 -
Harga Int 6 -
Tgl_sewa Date 8 -
h. Tabel Produk
Tabel produk digunakan untuk menyimpan data produk yang dijual pada aplikasi e-commerce. Struktur tabel produk digambarkan pada Tabel 3.15
Tabel 3.15 Tabel Produk
Field Tipe Length Keterangan
Id_produk Varchar 6 Primary key
Nama_produk Varchar 30 -
Kd_kategori Enum - ‘Sport’,’Accesoris’
Jumlah Int 3 -
File_gambar Varchar 50 -
Warna Varchar 20 -
Harga Int 8 -
Hemat Int 3 -
i. Tabel Provinsi
Tabel provinsi digunakan untuk mengetahui berapa biaya untuk ongkos pengirimannya. Struktur tabel provinsi digambarkan pada Tabel 3.16
Tabel 3.16 Tabel Provinsi
Field Tipe Length Keterangan
kd_provinsi Char 4 Primary key
Nm_provinsi Varchar 60 -
Ongkos_kirim Int 10 -