BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan...

45
33 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem penjualan secara online berbasis web dimana penjual dan pembeli dapat melakukan transaksi tanpa harus bertatap muka.Konsumen melakukan transaksi pembelian melalui media browser. Berikut adalah spesifikasi kebutuhan (system requirement) dari sistem e-commerce : Halaman User A1. User memilih barang yang akan dibeli dan ditambahkan ke keranjang belanja. A2. User bisa memfilter barang berdasarkan kategori. A3. User melakukan checkout. A4. Sistem melakukan kalkulasi jumlah barang dan total pembelian. A5. Sistem melakukan rincian pembelian via e-mail,sms atau telepon. A6. User bisa melakukan konfirmasi pembayaran. Halaman Administrasi B1. Admin dapat mengelola data barang. B2. Admin dapat mengelola data transaksi penjualan. B3. Admin dapat mengelola laporan penjualan. B4. Admin dapat mengelola data administrator. B5. Admin dapat mengelola ongkos kirim

Transcript of BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan...

Page 1: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

33

BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1. Analisis Kebutuhan Software

A. Tahapan Analisis

Sistem penjualan secara online berbasis web dimana penjual dan pembeli

dapat melakukan transaksi tanpa harus bertatap muka.Konsumen melakukan transaksi

pembelian melalui media browser. Berikut adalah spesifikasi kebutuhan (system

requirement) dari sistem e-commerce :

Halaman User

A1. User memilih barang yang akan dibeli dan ditambahkan ke keranjang

belanja.

A2. User bisa memfilter barang berdasarkan kategori.

A3. User melakukan checkout.

A4. Sistem melakukan kalkulasi jumlah barang dan total pembelian.

A5. Sistem melakukan rincian pembelian via e-mail,sms atau telepon.

A6. User bisa melakukan konfirmasi pembayaran.

Halaman Administrasi

B1. Admin dapat mengelola data barang.

B2. Admin dapat mengelola data transaksi penjualan.

B3. Admin dapat mengelola laporan penjualan.

B4. Admin dapat mengelola data administrator.

B5. Admin dapat mengelola ongkos kirim

Page 2: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

34

B. Use Case Diagram

Use case bekerja dengan cara mendekripsikan tripikal interaksi antara

pengguna sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana

sebuah sistem di pakai,

1. Use Case Diagram Belanja Online Halaman User

Sumber: Toko Juveberniaga(2017)

Gambar IV.1

Use Case Diagram Belanja Online Halaman User

Page 3: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

35

Deskripsi Use Case Belanja Online Halaman User

Tabel IV.1

Deskripsi Use Case Belanja Online Halaman User

Use Case Name Belanja Online

Requirements A1-A5

Goal User dapat memilih barang,melakukan transaksi

dan melakukan konfirmasi pembayaran melalui

e-mail.

Pre-conditions User telah memilih barang

Post-conditions System mengirim rincian faktur penjualan via

email

Failed end condition User membatalkan checkout, Kemungkinan user

ingin menambah barang atau membatalkan

pembelian.

Primary Actors User

Main Flow / Basic Path 1. User melihat daftar barang sesuai kategori

2. User melakukan transaksi

3. User melakukan sms konfirmasi pembayaran

Alternate Flow / Invarian 1 2a User melakukan transaksi

Invarian 2 2b. Admin menghapus data barang

Sumber: Toko Juveberniaga(2017)

Page 4: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

36

2. Use Case Diagram Mengelola Data Admin

Sumber: Toko Juveberniaga(2017)

Gambar IV.2

Use Case Diagram Mengelola Data Admin

Deskripsi Use Case Mengelola Data Admin

Tabel IV.2

Deskripsi Use Case Mengelola Data Administrasi

Use Case Name Mengelola Data Admin

Requirements B4

Goal Admin dapat mengubah,menambah dan

mengupdate data Administrator

Pre-conditions Admin telah login

Post-conditions Data account dapat di ubah dan ditambahkan

Failed end condition Gagal mengubah,mengupdate dan menambahkan

Page 5: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

37

account baru

Primary Actors Admin

Main Flow / Basic Path 1. Admin menambahkan data account

Alternate Flow / Invarian 1 2a. Admin mengubah data account

Invarian 2 2b. Admin mengupdate data account

Sumber: Toko Juveberniaga(2017)

3. Package Diagram Halaman Admin

Gambar IV.3

Package Diagram Halaman Admin

Page 6: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

38

4. Use Case Diagram Mengelola Data Barang

Sumber: Toko Juveberniaga(2017)

Gambar IV.4

Use Case Diagram Mengelola Data Barang

Deskripsi Use Case Mengelola Data Barang

Tabel IV.3

Deskripsi Use Case Mengelola Data Barang

Use Case Name Mengelola Data Barang

Requirements B1

Goal Admin dapat menambah,mengedit dan

Page 7: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

39

menghapus data barang dan data kategori (merk)

Pre-conditions Admin telah login

Post-conditions Kategori dan data barang

tersimpan,terupdate,atau terhapus

Failed end condition Gagal menyimpan,mengupdate atau menghapus

data kategori dan data barang

Primary Actors Administrator

Main Flow / Basic Path 1. Admin melihat daftar barang

2. Admin menambahkan data barang

3. Admin mengubah data barang

4. Admin menghapus data barang

5. Admin melihat data kategori

6. Admin menambahkan data kategori

Alternate Flow / Invarian 1 2a. Admin mengedit data barang

2b. Admin menghapus data barang

Invarian 2 2c. Admin mengedit data kategori

2d. Admin menambah data kategori

Sumber: Toko Juveberniaga(2017)

Page 8: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

40

5. Use Case Diagram Mengelola Data Transaksi Penjualan (Order)

Sumber: Toko Juveberniaga(2017)

Gambar IV.5

Use Case Diagram Mengelola Data Transaksi Penjualan

Deskripsi Use Case Mengelola Data Transaksi Penjualan

Tabel IV.4

Deskripsi Use Case Mengelola Data Transaksi Penjualan

Use Case Name Mengelola Data Transaksi Penjualan

Requirements B2

Goal Admin dapat mengupdate status transaksi

Penjualan

Pre-conditions Admin telah login

Post-conditions Data transaksi tersimpan

Failed end condition Gagal menyimpan dan mengupdate transaksi

Page 9: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

41

Primary Actors Admin

Main Flow / Basic Path 1. Admin melihat data transaksi penjualan

2. Admin mengupdate status transaksi penjualan

3. Admin menyimpan data transaksi penjualan

Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi

Invarian 2 2b. Admin menyimpan data transaksi penjualan

Sumber: Toko Juveberniaga(2017)

6. Use Case Diagram Mengelola Data Laporan Penjualan

Sumber: Toko Juveberniaga(2017)

Gambar IV.6

Use Case Diagram Mengelola Data Laporan Penjualan

Page 10: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

42

Deskripsi Use Case Mengelola Data Laporan Penjualan

Tabel IV.5

Deskripsi Use Case Mengelola Data Laporan Penjualan

Use Case Name Mengelola Data Laporan Penjualan

Requirements B3

Goal Admin dapat memproses dan mencetak laporan

Penjualan

Pre-conditions Admin telah login

Post-conditions Laporan penjualan dapat diproses dan di cetak

Failed end condition Gagal memproses dan mencetak laporan penjualan

Primary Actors Admin

Main Flow / Basic Path 1. Admin memproses laporan penjualan

2. Admin mencetak laporan penjualan

Alternate Flow / Invarian 1 2a. Admin memproses data laporan penjualan

Invarian 2 -

Sumber: Toko Juveberniaga(2017)

Page 11: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

43

7. Diagram Mengelola Ongkos Kirim ( Ongkir )

Sumber: Toko Juveberniaga(2017)

Gambar IV.7

Use Case Diagram Mengelola Ongkos Kirim ( Ongkir )

Page 12: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

44

Deskripsi Use Case Mengelola Ongkos kirim

Tabel IV.6

Deskripsi Use Case Mengelola Ongkir

Use Case Name Mengelola Ongkir

Requirements B4

Goal Admin dapat mengubah,menambah dan

mengupdate ongkir

Pre-conditions Admin telah login

Post-conditions Data ongkir dapat di ubah dan ditambahkan

Failed end condition Gagal mengubah,mengupdate dan menambahkan

data ongkir baru

Primary Actors Admin

Main Flow / Basic Path 2. Admin menambahkan data ongkir

Alternate Flow / Invarian 1 2a. Admin mengubah data ongkir

Invarian 2 2b. Admin mengupdate data ongkir

Sumber: Toko Juveberniaga(2017)

C. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, decision yang

mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Page 13: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

45

1. Activity Diagram Belanja Online Halaman User

Gambar IV.8

Activity Diagram Belanja Online Halaman User

Page 14: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

46

2. Activity Diagram Mengelola Data Barang

Gambar IV.9

Activity Diagram Mengelola Data Barang

Page 15: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

47

3. Activity Diagram Mengelola Transaksi Penjualan

Gambar IV.10

Activity Diagram Mengelola Transaksi Penjualan

4. Activity Diagram Mengelola Data Laporan Penjualan

Gambar IV.11

Activity Diagram Mengelola Data Laporan Penjualan

Page 16: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

48

5. Activity Diagram Mengelola Data Admin

Gambar IV.12

Activity Diagram Mengelola Data Admin

6. Activity Diagram Mengelola Ongkos Kirim (Ongkir)

Gambar IV.13

Page 17: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

49

Activity Diagram Mengelola Ongkos Kirim

4.2. Desain

4.2.1. Database

1. Entity Relationship Diagram

Gambar IV.14

Entity Relationship Diagram Sistem Berjalan

Page 18: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

50

2. Logical Record Structure

Gambar IV.15

Logical Record Structure

3. Spesifikasi File

a. Spesifikasi Tabel Produk

Nama Database : dbjuveberniaga

Nama File : Tabel Produk

Akronim : product.myd

Tipe File : File Master

Page 19: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

51

Akses File : Random

Panjang Record : 691 Byte

Kunci Field : item_id

Tabel IV.7

Spesifikasi Tabel Produk

No. Elemen Data Nama Field Type Size Keterangan

1 Id produk item_id bigint 20 Primary Key

2 Id kategori cat_id int 10

3 Nama produk item_name varchar 250

4 Harga item_price Float 100

5 Deskripsi item_desc Text

6 Status produk item_status tinyint 1

7 Gambar1 Thumbnail varchar 100

8 Gambar2 big_image varchar 100

9 Gambar3 medium_image varchar 100

10 Stok produk item_stock int 10

b. Spesifikasi Tabel Customer

Nama Database : dbjuveberniaga

Nama File : Tabel Transaksi

Akronim : cust.myd

Tipe File : File Master

Akses File : Random

Panjang Record : 261 Byte

Page 20: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

52

Kunci Field : user_id

Tabel IV.8

Spesifikasi Tabel Customer

No. Elemen Data Nama Field Type Size Keterangan

1 Id user user_id Int 11 Primary Key

2 Nama user full_name Varchar 100

3 Password user_pass Varchar 10

4 Email Email Varchar 100

5 Tanggal gabung date_joined Date

6 Nama kantor company_name Char 20

7 Status user account_type Varchar 20

c. Spesifikasi Tabel Transaksi

Nama Database : dbjuveberniaga

Nama File : Tabel Transaksi

Akronim : ord_trans.myd

Tipe File : File Master

Akses File : Random

Panjang Record : 80 Byte

Kunci Field : order_id

Page 21: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

53

Tabel IV.9

Spesifikasi Tabel Transaksi

No. Elemen Data Nama Field Type Size Keterangan

1 Id Transaksi order_id Int 10 Primary Key

2 Id user user_id Varchar 20

3 Harga sub_total Varchar 10

4 Ongkos kirim Ongkir Varchar 10

5 Total harga total_price Double

6 Tanggal order order_date Date

7 Status order order_status Varchar 30

d. Spesifikasi Tabel Kota

Nama Database : dbjuveberniaga

Nama File : Tabel Kota

Akronim : city.myd

Tipe File : File Master

Akses File : Random

Panjang Record : 280 Byte

Kunci Field : address_id

Page 22: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

54

Tabel IV.10

Spesifikasi Tabel Kota

No. Elemen Data Nama Field Type Size Keterangan

1 Id alamat address_id Int 10 Primary key

2 Id order order_id Int 10

3 Alamat1 address1 Varchar 100

4 Alamat2 address2 Varchar 100

5 Kota City Varchar 20

6 Negara Country Varchar 20

7 Kode pos post_code Varchar 20

e. Spesifikasi Tabel Kategori

Nama Database : dbjuveberniaga

Nama File : Tabel Kategori

Akronim : categori.myd

Tipe File : File Master

Akses File : Random

Panjang Record : 41 Byte

Kunci Field : cat_id

Page 23: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

55

Tabel IV.12

Spesifikasi Tabel Kategori

f. Spesifikasi Tabel Order Detail

Nama Database : dbjuveberniaga

Nama File : Tabel Order Detail

Akronim : ord_det.myd

Tipe File : File Master

Akses File : Random

Panjang Record : 242 Byte

Kunci Field : cart_id

Tabel IV.13

Spesifikasi Tabel Order Detail

No. Elemen Data Nama Field Type Size Keterangan

1 Id Order cart_id Int 10

2 Id Produk item_id Int 10

3 Harga item_price Float

4 Nama produk item_name Varchar 100

No. Elemen Data Nama Field Type Size Keterangan

1 Id Kategori cat_id Int 10 Primary Key

2 Nama Kategori cat_name Varchar 30

3 Status Status Varchar 1

Page 24: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

56

5 Jumlah item_quantity Int 2

6 Total item_total_price Float

7 Gambar item_image Varchar 100

8 Status cart_status Varchar 10

9 Id_order order_id Varchar 10

4.2.2. Software Architecture

A. Component Diagram

Gambar IV.16

Page 25: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

57

Component Diagram Sistem Penjualan Online

B. Deployment Diagram

Deployment diagram menunjukan tata letak sebuah sistem secara fisik,

menampakkan bagian-bagian software yang berjalan pada bagian-bagian

hardware. Berikut gambar Deployment Diagram :

Gambar IV.17

Deployment Diagram Sistem Penjualan Online

Page 26: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

58

4.2.3. User Interface

Gambar IV.18

Tampilan Keranjang Belanja

Gambar IV.19

Tampilan Order Transaksi

Page 27: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

59

Gambar IV.20

Tampilan Halaman Transaksi Selesai (Check out)

4.3. Code Generation

A. Mengelola Keranjang Belanja

function cart()

{

$data['categories'] = $this->main_model->getAllCategories();

$data['cart_products'] = $this->cart_model->getCartProducts();

$this->load->view('cart',$data);

}

function getAllCategories()

{

$this->db->select("*");

$result = $this->db->get('wg_categories');

if($result->num_rows()>0)

return $result->result();

else

Page 28: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

60

return 'empty';

}

function getCartProducts()

{

if($this->session->userdata('cart_session')!='')

{

$sess = $this->session->userdata('cart_session');

$this->db->select("*");

$this->db->where("cart_session",$sess);

$this->db->where("order_id",'');

$this->db->order_by('cart_id','DESC');

$result = $this->db->get('wg_cart');

if($result->num_rows()>0)

return $result->result();

else

return 'empty';

}

else

return 'empty';

}

<body>

<div id="wrapper">

<?php include("header.php"); ?>

<div id="content">

<div id="breadcrumb">

<a href="#">Products</a>

</div>

<?php include("left.php"); ?>

<div id="right">

Page 29: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

61

<h1 class="bar">Your Shopping Basket</h1>

<?php if($cart_products!='empty')

{

?>

<?php if($this->uri->segment(2)=='added')

{

?>

<div id="success"> Product is added to the cart</div>

<?php

}

?>

<form method="post" enctype="multipart/form-data" action="<?php echo

base_url();?>index.php/front/update_cart">

<table id="cart">

<thead>

<th class="thumb-column">Image</th>

<th class="thumb-column">Product</th>

<th class="thumb-column">Qty</th>

<!--th class="thumb-column">Action</th>-->

<th class="thumb-column">Price</th>

<th class="thumb-column">Total</th>

<th class="thumb-column">Action</th>

</thead>

<tbody>

<?php

$total_price = 0;

foreach($cart_products as $product)

{

$total_price += $product->item_total_price;

Page 30: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

62

?>

<input type="hidden" name="items[]" value="<?php echo $product->item_id;?>" />

<tr>

<td><img src="<?php echo base_url().$product->item_image;?>" alt="<?php echo $product-

>item_name;?>" /></td>

<td><?php echo $product->item_name;?></td>

<td><input type="text" name="qty[]" value="<?php echo $product->item_quantity;?>"></td>

<td>Rp <?php echo number_format($product->item_price,2);?></td>

<td>Rp <?php echo number_format($product->item_total_price,2);?></td>

<td><a href="<?php echo base_url();?>index.php/front/delete_product1/<?php echo $product-

>cart_id;?>">Delete</a></td>

</tr>

<?php } ?>

<tr>

<td colspan="3" class="hidden"></td>

<td><strong>Sub Total</strong></td>

<td>Rp<?php echo number_format($total_price,2); ?></td>

<tr>

<tr>

<td colspan="3" class="hidden"></td>

<td><strong>Ongkos Kirim</strong></td>

<!--td>Rp<?php $vat = ($total_price*(0.2)); echo number_format($vat,2);?></td>-->

<td>Rp<?php echo number_format(13000,2); ?></td>

<tr>

<tr>

<td colspan="3" class="hidden"></td>

<td><strong>Total</strong></td>

<td>Rp<?php $total_price = $total_price + 13000;

$this->session->set_userdata('total_price',$total_price);

Page 31: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

63

echo number_format($total_price,2);?></td>

<tr>

</tbody>

</table>

<div id="actions">

<a style="float:right;" href="<?php echo base_url();?>index.php/checkout">Checkout</a>

<a href="<?php echo base_url();?>">Update Cart</a>

<!--input type="submit" name="submit" value="Update Cart">-->

<input type="hidden" name="update_action" value="1" />

</div>

</form>

<?php }

else echo ' Sorry - Cart is empty';?>

</div>

<div class="clear"></div>

<?php include("footer.php"); ?>

</div>

</div>

</body>

B. Data Customer Order

function order_step2()

{

if($this->session->userdata('user_id')=='')

header("Location:".base_url()."index.php/login");

if($this->session->userdata('total_price')=='0')

header("Location:".base_url()."index.php/user");

else if($this->input->post('checkout_action')=='')

{

$data['categories'] = $this->main_model->getAllCategories();

Page 32: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

64

$data['products'] = $this->cart_model->getCheckoutDetails();

$this->load->view('checkout',$data);

}

else if($this->input->post('checkout_action')=='true')

{

$this->form_validation->set_rules('address1', 'Address 1', 'trim|required');

$this->form_validation->set_rules('address2', 'Address 2', 'trim|required');

$this->form_validation->set_rules('city', 'City', 'trim|required');

$this->form_validation->set_rules('county', 'County', 'trim|required');

$this->form_validation->set_rules('post_code', 'Post Code', 'trim|required');

if ($this->form_validation->run() == FALSE)

{

$data['categories'] = $this->main_model->getAllCategories();

$data['products'] = $this->cart_model->getCheckoutDetails();

$this->load->view('checkout',$data);

}

else

{

$order_id = $this->cart_model->save_order($this->input->post());

$this->cart_model->save_address($this->input->post());

$url = base_url()."index.php/confirm";

header("Location:$url");

}

}

}

function getAllCategories()

{

$this->db->select("*");

$result = $this->db->get('wg_categories');

Page 33: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

65

if($result->num_rows()>0)

return $result->result();

else

return 'empty';

}

function getCheckoutDetails()

{

if($this->session->userdata('cart_session')!='')

{

$sess = $this->session->userdata('cart_session');

$this->db->select("*");

$this->db->where("cart_session",$sess);

$this->db->where("cart_status",'saved');

$this->db->where("order_id",'');

$this->db->order_by('cart_id','DESC');

$result = $this->db->get('wg_cart');

if($result->num_rows()>0)

return $result->result();

else

return 'empty';

}

else

return 'empty';

}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Page 34: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

66

<title></title>

<link rel="stylesheet" href="<?php echo base_url();?>css/main.css" type="text/css">

</head>

<body>

<div id="wrapper">

<?php include("header.php"); ?>

<div id="content">

<div id="breadcrumb">

<a href="#">Our Products</a>

</div>

<?php include("left.php"); ?>

<div id="right">

<h1 class="bar">Checkout</h1>

<?php if(validation_errors()) { ?><div id="errors"><?php echo validation_errors();

?></div> <?php } ?>

<form

action="<?=base_url();?>index.php/front/order_step2" method="post" enctype="multipart/form-data"

id="admin">

<h2>Delivery Address</h2>

<p>

<label>Address:</label>

<input name="address1" type="text" id="address1" value="<?=set_value('address1');?>">

<input name="address2" type="text" id="address2" value="<?=set_value('address2');?>">

</p>

<p>

<label>Town/City:</label>

<input name="city" type="text" id="city" value="<?=set_value('city');?>">

</p>

<p>

Page 35: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

67

<label>County:</label>

<select name="county" >

<optgroup label="Indonesia">

<option>Aceh</option>

<option>Bali</option>

<option>Bangka Belitung</option>

<option>Banten</option>

<option>Bengkulu</option>

<option>Gorontalo</option>

<option>Jakarta</option>

<option>Jambi</option>

<option>Bandung</option>

<option>Bekasi</option>

<option>Bogor</option>

<option>Cimahi</option>

<option>Cirebon</option>

<option>Depok</option>

<option>Sukabumi</option>

<option>Tasikmalaya</option>

<option>Banjar</option>

<option>Magelang</option>

<option>Pekalongan</option>

<option>Salatiga</option>

<option>Semarang</option>

<option>Surakarta</option>

<option>Tegal</option>

<option>Batu</option>

<option>Blitar</option>

<option>Kediri</option>

Page 36: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

68

<option>Madiun</option>

<option>Malang</option>

<option>Mojokerto</option>

<option>Pasuruan</option>

<option>Probolinggo</option>

<option>Surabaya</option>

<option>pontianak</option>

<option>Singkawang</option>

<option>Banjarbaru</option>

<option>Banjarmasin</option>

<option>Palangkaraya</option>

<option>Balikpapan</option>

<option>Bontang</option>

<option>Samarinda</option>

<option>Tarakan</option>

<option>Batam</option>

<option>Tanjung Pinang</option>

<option>Bandar Lampung</option>

<option>Ternate</option>

<option>Ambon</option>

<option>Bima</option>

<option>Mataram</option>

</optgroup>

</select>

</p>

<p>

<label>Postcode:</label>

<input name="post_code" type="text" id="post_code" value="<?=set_value('post_code');?>">

</p>

Page 37: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

69

<br />

<h2>Order Summary</h2>

<?php

if($products!='empty')

{

?>

<table id="cart">

<thead>

<th>Product</th>

<th class="qty-column">Qty</th>

<th>Price</th>

<th>Total</th>

</thead>

<tbody>

<?php

$total_price = 0;

foreach($products as $product) {

$total_price += $product->item_total_price;

?>

<tr>

<td><?=$product->item_name;?></td>

<td><?=$product->item_quantity;?></td>

<td>Rp. <?=number_format($product->item_price,2);?></td>

<td>Rp. <?=number_format($product->item_total_price,2);?></td>

</tr>

<?php } ?>

<tr>

<td colspan="2" class="hidden"></td>

<td><strong>Sub Total</strong></td>

Page 38: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

70

<td>Rp.<?=number_format($total_price,2);?></td>

<tr>

<tr>

<td colspan="2" class="hidden"></td>

<td><strong>Ongkos Kirim</strong></td>

<td>Rp<?php echo number_format(13000,2); ?></td>

<tr>

<tr>

<td colspan="2" class="hidden"></td>

<td><strong>Total</strong></td>

<td>Rp.<?=number_format(($total_price+13000),2);?></td>

<tr>

</tbody>

</table>

<?php }

else header("Location:".base_url()); ?>

<input name="vat" type="hidden" id="vat" value="<?=$vat;?>" />

<input name="sub_total" type="hidden" id="sub_total" value="<?=$total_price;?>" />

<input name="total_price" type="hidden" id="total_price"

value="<?=$total_price+$vat;?>" />

<input name="checkout_action" type="hidden" id="checkout_action" value="true" />

<br />

<input type="submit" value="Send Order">

</form>

</div>

<div class="clear"></div>

<?php include("footer.php"); ?>

</div>

</div></body></html>

Page 39: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

71

C. Transaksi Selesai (Check out)

function confirm()

{

if($this->session->userdata('order_id')!='')

{

$data['categories'] = $this->main_model->getAllCategories();

$this->email_model->order_confirmation();

$this->load->view('order_confirmation',$data);

}

else

header("Location:".base_url());

}

function order_confirmation()

{

$msg = '<P> Dear '. $this->session->userdata('user_name').'</p>';

$msg .='<p> Thank you for placing order online at Juveberniaga. Your order has been received

and will be processed shortly</p>';

$msg .='<p>Your order ID :'.$this->session->userdata('order_id').'</p>';

$msg .='<p><a href="'.base_url().'index.php/front/login">Login & Check Order Details

Online</a></p>';

$msg .='<p> Thank You<br /> Juveberniaga.com</p>';

$subject = "Thank you for your order @ Juveberniaga";

$this->send_email($this->session->userdata('email'),$subject,$msg);

}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

Page 40: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

72

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<link rel="stylesheet" href="<?php echo base_url();?>css/main.css" type="text/css">

</head>

<body>

<div id="wrapper">

<?php include("header.php"); ?>

<div id="content">

<div id="breadcrumb">

<a href="#">Products</a>

</div>

<?php include("left.php"); ?>

<div id="right">

<h1 class="bar">Order Confirmatin</h1>

<h2>Thank you very much for shopping at

Juveberniaga</h2>

<h2>Your Order Number is: <?php echo $this->session-

>userdata('order_id'); ?></h2>

<p>You will receive an email shortly with the the order

details and invoice.</p>

<br />

<p><strong>Note:</strong> You can track the status

order from the dashboard.</p>

</div>

<div class="clear"></div>

<?php include("footer.php"); ?>

</div>

</div>

Page 41: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

73

</body>

</html>

4.4. Testing

A. Form Login Admin

No. Skenario Pengujian Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan

1

Mengosongkan semua isian

data login pada login

customer, lalu mengklik

tombol ’ Login’

Username:

(kosong)

Password:

(kosong)

Sistem akan menolak akses dan

menampilkan pesan

”Username dan password tidak

dikenal”

Sesuai harapan Valid

2

Hanya mengisi data userna

medan mengosongkan data

password,lalu langsung

mengklik tombol ”Login”

Username:

Supadmin

Password:

(kosong)

Sistem akan menolak akses

login dan akan menampilkan

pesan ”Username dan

password t idak dikenal”

Sesuai harapan Valid

3

Hanya mengisi data passwo

rd dan mengosongkan data

username, lalu langsung

mengklik tombol ” Login”

Username:

(kosong)

Password:

(admin)

Sistem akan menolak akses

login dan akan menampilkan

pesan ”Username dan

password tidak dikenal”

Sesuai harapan Valid

4

Menginputkan dengan

kond

isi salah satu benardan satu

lagi salah, lalu langsung

mengklik tombol ” Login”

Username:

Supadmin

Password:

galau(salah)

Sistem akan menolak akses

login dan akan menampilkan

pesan ”Username dan

password tidak dikenal”

Sesuai harapan Valid

5

Menginputkan dengen

kondisi benar , lalu

langsung meng

klik tombol ” Login”

Username:

Supadmin

Password:

admin 1

(benar)

Sistem menerima akses login

Dan kemudian langsung men

ampilkan form Admin

Sesuai harapan Valid

Tabel IV.13

Page 42: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

74

Hasil Pengujian Black Box Testing Form Login Admin

B. Form Transaksi

No. Skenario Pengujian Test Case Hasil yang diharapkan Hasil Pengujian Kesimpulan

1

Mengosongkan semua isian

data customer pada form

transaksi, lalu mengklik

tombol ’ Proses’

Semua

textbox

kosong

Sistem akan menolak akses

dan menampilkan pesan

”nama harus diisi”

Sesuai harapan Valid

2

Hanya mengisi nama dan

mengosongkan semua data

lalu langsung mengklik

tombol ”Proses”

Semua

kosong

Kecuali

nama (Adi)

Sistem akan menolak akses

dan akan menampilkan pesan

”No telepon/HP harus diisi

dan benar”

Sesuai harapan Valid

3

Hanya mengis nama dani

no telp dengan format huruf

lalu langsung mengklik

tombol ”Proses”

Nama: (Adi)

Telepon:

(supriyanto)

Semua

kosong

Sistem akan menolak akses

dan akan menampilkan pesan

”Data telepon tidak valid”

Sesuai harapan Valid

4

Menginputkan email

dengan format salah tidak

menggunakan format . dan

@ lalu klik ”Proses”

Email: saya

senang

Sistem akan menolak akses

dan akan menampilkan pesan

”Format e-mail salah”

Sesuai harapan Valid

5

Semua data terisi dengan

baik kecuali Alamat

dikosongkan lalu klik

”Proses”

Semua terisi

dengan

benar,

Alamat

(kosong)

Sistem akan menolak akses

dan akan menampilkan pesan

”Alamat harus diisi”

Sesuai harapan Valid

Page 43: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

75

6

Semua data terisi kecuali

pilih provinsi lalu langsung

mengklik tombol ”Proses”

Semuaterisi

Dengan

benar

Kecuali pilih

provinsi

Sistem akan menolak akses

dan menampilkan pesan”pilih

provinsi dahulu”

Sesuai harapan Valid

7

Semua data terisi lalu salah

dalam memasukkan kode

verifikasi langsung klik

”Proses”

Semua terisi

dengan

benar,

Kode(Salah)

Sistem akan menolak akses

dan akan menampilkan pesan

”Kode verifikasi harus diisi”

Sesuai harapan Valid

8

Menginputkan dengen

kondisi benar , lalu

langsung meng

klik tombol ” Proses”

Semua data

terisi dengan

benar

Sistem akan memproses

transaksi. Sesuai harapan Valid

Tabel IV.14

Hasil Pengujian Black Box Testing Form Transaksi

4.5. Support

4.5.1. Publikasi Web

Penulis melakukan pembelian hosting dan domain untuk situs

www.juveberniaga.com pada web penyedia hosting yaitu http://rumahweb.com

Dengan perincian biaya dan fitur – fitur yang di dapat, yaitu sebagai berikut :

1 Membeli hosting Rp. 154.000, aktif selama 1 tahun

2 Harga sudah termasuk hosting dan domain

3 Mendapat space 250 MB dengan bandwidth Unlimited

Page 44: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

76

4 Mendapat account email unlimited

5 Mendapat SQL database Unlimited

6 Mendapat Subdomain unlimited

7 Dan memiliki beberapa bonus lainnya

Penulis memilih http://rumahweb.com, karena mempunyai server yang stabil

dan maintenance yang sangat cepat merespon client baik melalui chat atau

melalui email , ditambah pula online 24 jam

4.5.2 Spesifikasi Hardware dan Software

Perangkat keras yang dimaksud disini adalah seperangkat alat atau elemen

elektronik yang dapat membantu sistem yang diusulkan sehingga program yang

diusulkan oleh penulis dapat bekerja dengan baik

Tabel IV.15

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi : Windows 2010 dan sesudahnya

Processor : AMD A8-6410 APU with AMD Radeon R5

Graphics 2.00 GHz

RAM : 2 GB

Harddisk : 500 GB

CD-ROM : 10.0.10586.0

Monitor : 14 Inch

Page 45: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … · 3. Admin menyimpan data transaksi penjualan Alternate Flow / Invarian 1 2a. Admin mengupdate status data transaksi Invarian

77

Keyboard : 108 Key

Printer : HP 2400

Mouse : Standard

Browser : Mozilla Firefox, Google Chrome

Software : Notepad++, Adobe Photoshop, PhpMyAdmin

4.6 Spsifikasi Dokumen Sistem Usulan

Adapun yang dimaksud dengan bentuk dokumen sistem usulan adalah

rancangan terinci dari bentuk dokumen – dokumen yang masuk atau

dokumen masukandan dokumen keluaran untuk kemudian diproses sebagai

data, dokumen tersebut adalah :

a. Nama dokumen : Daftar Persediaan Barang

Fungsi : Sebagai Form untuk daftar barang

Sumber : Admin

Tujuan : Pemilik

Media : Tampilan

Frekuensi : Setiap ada pesanan

Format : Lampiran B -1