BAB III ANALISIS DAN PERANCANGAN
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
16
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 Data pelanggan Username&password
User&password User&password ADMIN
SIM Ecommerce
Data pemesanan Product terbaru
ID_product konfirmasi katalog ID_product
Jadwal_sewa
Jadwal sewa konfirmasi
konfirmasi
Jadwal terbaru
jadwal
Info terbaru
Info_jadwal
databukutamu
info bukutamu info
komentar
pengunjung
Gambar 3.1 Context Diagram
2. Data Flow Diagram (DFD)
pelanggan
17
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
18
ADMIN
User&pass Konfirmasi Username&password
1 Pendataan ADMIN T.admin
2 Pendataan pelanggan
Id pelanggan
T.provinsi
Data pemesanan
Data pelanggan
T.pelanggan
3
ID_product
Pemesanan product
konfirmasi
pelanggan
Pass dan user name
konfirmasi
T.pemesanan
4 Product terbaru
Pendataan product
katalog ID_product
T.product
Jadwal sewa konfirmasi
5
Jadwal_sewa
Penyewaan Lapangan
konfirmasi
T.sewa lapangan
6
Jadwal terbaru
Pembaruan Jadwal
Info_jadwal pengunjung
T.jadwal
7 Info terbaru
Perubahan Info
info
info
T.info Data bukutamu
8
komentar
Pengisian Bukutamu T.bukutamu
Gambar 3.2 Data Flow Diagram
komentar
19
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
idpemesanana
3.1
Id_product
pemesanan T.pemesanan
3.2 ADMIN
idprodct
konfirmasi
Konfirmasi product
3.3 Pencarian product
pelanggan
katalog
ID_product
T.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
20
Idsewa lapangan
5.1
Jadwal_sewa
Sewa lapangan T.sewa lapangan
5.2 ADMIN
idkonfirmasi
konfirmasi
Konfirmasi penyewaan
pelanggan
5.2 Pencarian jadwal
jadwal
Info_jadwal
T.jadwal
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.
21
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)
22
Nama_team
jam id_waktu
id_jadwal
tgl_pesan
harga
id_pelanggan
1
Memperbaharui status_pesan
nama
no_hp
kd_post
kd_provinsi
1
1
pelanggan
userid
passid
time
tlpn_rmh
passid
ADMIN
harga
e_mail
alamat
1
n
id_pelanggan
kelamin
userid
no_pemesanan
jadwal
no_fax
kota
tgl_sewa
tgl_sewa
id_waktu
status
id_product
id_keranjang
tgl_pesan
id_pelanggan
nama_team
status
no_pemesanan
sewalapangan id_sewalapangan
1
nama_team
1
Rek_tujuan
Atas_nama
id_konfirmasi
id_pemesanan
jam
1
pemesanan
jumlah
Tgl_transfer
konfirmasi
No_pemesanan
no_pemesanan
harga
id_pelanggan
status
tanggal
1
Memperbaharui
n
Rek_asal name
kd_kategori
tipe
id_product
product
Bank_asal Jml_bayar size
size
hemat
harga file_gambar nama_product
warna jumlah
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.
23
konfirmasi jadwal PK id_jadwal nama_team id_waktu tgl_pesan harga id_sewalapangan pelanggan
sewalapngan PK id_sewalapangan no_pemesanan id_pelanggan tgl_pesan time status unik_transfer id_waktu nama_team harga tgl_sewa
provinsi PK kd_provinsi nm_provinsi ongkos_kirim
PK id_pelanggan status_pesan userid passid nama alamat kota e_mail kelamin kd_post kd_provinsi tlpn_rmh no_hp no_fax
pemesanan
PK id_konfirmasi no_pemesanan jml_ bayar tanggal bank_asal atas_nama rek_tujuan tgl_transfer name type size id_pemesanan
PK id_pemesanan no_pemesanan id_pelanggan tanggal jam status unik_transfer id_product jumlah harga
waktu PK id_waktu jam harga
product PK id_product nama_product kd_kategori warna size jumlah file_gambar harga hemat
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
24
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
Data Update Pelanggan product
Jadwal terbaru
Proses
Konfirmasi Konfirmasi Info komentar pembelian terbaru penyewaan
Pendataan Pemesanan Penyewaan pelanggan product lapangan
Pembaruan jadwal
Output
Pembaruan Pengisian Info Info info bukutamu product jadwal
Gambar 3.7 Perancangan Sistem H. Proses Specification (PSPEC) FASE PERANCANGAN 1.
Perancangan Pendaftaran Pelanggan a. Perancangan Antarmuka Header
Info berita
Info biaya kirim
Info pembelian product
Info sewa lapangan
25
Login Pelanggan
Menu pendaftaran 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='".
26
$_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
Login Pelanggan Pembelian produk
Footer Gambar3.9 Halaman Pembelian
27
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
Menyiapkan data-data pengiriman serta biaya dan
State
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='".
28
$_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);
29
$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]."',
30
'".$value[1]."', '".$value[2]."', '". $value[3]."')"; +;
}
}$i+ }
$sql="INSERT INTO t_pemesanan VALUES ".$values;
$query = mysql_query($sql)
or die(mysql_error()); Final
if ($query) {
Data pemesanan produk disimpan ke table pemesanan
State
3. Perancangan Penyewaan Lapangan Futsal a. Perancangan Antarmuka menu Header
Login Jadwal lapangan
Footer Gambar 3.10 Halaman Penyewaan Lapangan futsal
Pelanggan
31
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
Dipastikan data user yang diinputkan adalah data yang
State
benar.
Algoritm
?page=sewalap:
a
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 =
32
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
Data penyewaan lapangan di simpan ke tabel sewa
State
lapangan.
33
4. Perancangan Konfirmasi Pembayaran a. Perancangan Antarmuka menu Header
Login Konfirmasi Pembayaran
Pelanggan
Footer Gambar3.11 Halaman Konfirmasi Pembayaran
b. Perancangan Proses Tabel 3.8 Perancangan Proses Konfirmasi Pembayaran Proses
5 Halaman Konfirmasi Pembayaran
34
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
I.
Data berhasil di inputkan ke table konfirmasi pembayaran.
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 userid
Tipe Varchar
Length 35
Keterangan Primary key
35
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
idbukutamu
Int
5
nama
Varchar
15
e_mail
Varchar
15
komentar
Varchar
100
tanggal
date
8
Jam
time
6
Keterangan Primary key
-
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
-
36
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
-
37
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
-
38
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
-
39
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
40
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
-