• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PEMBAHASAN. Dalam pembuatan program diperlukan beberapa spesifikasi perangkat

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV IMPLEMENTASI DAN PEMBAHASAN. Dalam pembuatan program diperlukan beberapa spesifikasi perangkat"

Copied!
34
0
0

Teks penuh

(1)

72

4.1

Implementasi

4.1.1

Spesifikasi Perancangan

Dalam pembuatan program diperlukan beberapa spesifikasi perangkat

keras (hardware) dan juga perangkat lunak (software) yang dapat mendukung

jalannya pogram. Berikut spesifikasi Hardwar dan Software yang digunakan

selama perancangan :

4.1.2

Hardware

1 buah komputer dengan spesifikasi :

prosesor Intel i3

Memori 2 GB DDR 3

Harddisk 500 GB

4.1.3

Software

Sistem Operasi Windows 7.0

XAMPP Control Panel dengan Apache Web Server

MySQL database

Bahasa pemrograman PHP, HTML, dan Javascript

CodeIgniter Framework

(2)

4.1.4

Layout Program

4.1.4.1

Halaman Login

Halaman Log in merupakan halaman utama untuk menjalankan aplikasi

ini. Namun sebelum user masuk untuk menggunakan menu – menu atau fitur

yang terdapat di dalam sistem informai tersebut, user harus memasukkan

username dam password terlebih dahulu pada kolom yang telah disediakan.

Form Log in dapat dilihat pada gambar 4.1 dan Script utama pada form Log in

dapat dilihat di segmen 4.1.

Gambar 4.1 Halaman Login

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class System_Model extends CI_Model {

public function isLogin($data){

$u = mysql_real_escape_string($data['username']);

$p =

mysql_real_escape_string($data['password']);

$login = $this->db->query("

SELECT

*

FROM

tb_users

WHERE

user_username = '$u'

AND user_password = MD5('$p')"

);

if($login->num_rows()>0){

$login=$login->row_array();

(3)

$sess=array(

'username'=>$login['user_username'],

'nama'=>$login['nama'],

'role'=>$login['role'],

'id_user'=>$login['id']

);

$this->session->set_userdata($sess);

header('location:'.base_url().'index.php/dashboard');

}else{

$this->session->set_flashdata('result_login',

'<br>Username atau password salah.');

header('location:'.base_url().'index.php/login');

}

Segmen program login 4.1

4.1.4.2

Halaman Utama

Gambar 4.2 merupakan gambar halama utama yang terdata menu – menu

atau fitur yang penting dalam sistem ini formas ini, diantaranya yaitu : menu

ukuran, aksesoris, sablon, kin, model dan laporan. Namun maing – masing user

mempunyai role yang berbeda seperti yag sudah dijelaskan pada bab

sebelumnya.

Gambar 4.2 Halaman Utama

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

(4)

class Dashboard extends MY_Admin_Page {

public function index()

{

$this->mydata['data']=$this->admin_model->getNDashboard();

$this->mydata['pesanan']=$this->admin_model->getTabelPesanan();

$this->mydata['content']=$this->load-

>view('admin/application/dashboard/content',$this->mydata,true);

$this->load->view('main_admin',$this->mydata);

}

}

?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class Admin_Model extends CI_Model {

function getNDashboard(){

$res['tot_order']=$this->getNofTotOrder();

$res['ongoing_order']=$this->getNofOngoingOrder();

$res['finish_order']=$this->getNofFinishOrder();

$res['pakaian']=$this->getNofPakaian();

return $res;

}

function getNofTotOrder(){

$res=$this->db->query("SELECT COUNT(No_Order) AS n

FROM tb_pesanan");

$res=$res->row_array();

return $res['n'];

}

function getNofOngoingOrder(){

$res=$this->db->query("SELECT COUNT(No_Order) AS n

FROM tb_pesanan WHERE isSelesai='NO'");

$res=$res->row_array();

return $res['n'];

}

function getNofFinishOrder(){

$res=$this->db->query("SELECT COUNT(No_Order) AS n

FROM tb_pesanan WHERE isSelesai='YES'");

$res=$res->row_array();

return $res['n'];

}

function getNofPakaian(){

$res=$this->db->query("SELECT

sum(jumlah) as n

FROM

tb_pesanan

INNER JOIN tb_jumlah_order_ukuran uk ON

tb_pesanan.No_Order = uk.No_Order

WHERE

isSelesai='NO'");

$res=$res->row_array();

return $res['n'];

}

(5)

function getTabelPesanan(){

return $this->db->query("SELECT

tb_pesanan.No_Order,

Nama_Pemesan,

DATE_FORMAT(tgl_transaksi,'%d/%m/%Y') AS

tgl_transaksi,

nama,

SUM(jumlah) AS jumlah

FROM

tb_pesanan LEFT JOIN tb_model ON

tb_pesanan.model_pakaian=tb_model.id

LEFT JOIN tb_jumlah_order_ukuran jmlh ON

tb_pesanan.No_Order=jmlh.No_Order

WHERE

isSelesai = 'NO'

GROUP BY

tb_pesanan.No_Order

ORDER BY No_Order");

}

Segmen program halaman utama 4.2

4.1.4.3

Halaman Ukuran

Berikut ini merupakan halaman ukuran yang digunakan untuk

menentukan banyak nya ukuran atau size dalam proses produksi.

Gambar 4.3 Halaman Ukuran

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class ukuran extends MY_Admin_Page {

public function index()

{

(6)

$this->mydata['modal']=$this->load->view('admin/ukuran/input',$this->mydata,true);

$this->mydata['content']=$this->load->view('admin/ukuran/content',$this->mydata,true);

$this->load->view('main_admin',$this->mydata);

}

public function retrieveData(){

$this->load->library('datatable');

$kolom =

array('id','nama','keterangan','options-no-db');

$pk = 'id';

$sql = "

(

SELECT

id,nama,keterangan

FROM

tb_ukuran

)";

$data = $this->datatable->render($kolom, $sql,

$pk, true, true);

$new_data = array();

if(is_array($data->data)) foreach ($data->data

as $row)

{

$new_data[] = array(

$row->id,

$row->nama,

$row->keterangan,

'<div style="width:64px"><button

type="button" class="btn btn-primary btn-circle"

onclick="ubah(\''.$row->id.'\')"><i class="fa

fa-pencil"></i></button>

<button type="button" class="btn btn-danger

btn-circle" onclick="hapus(\''.$row->id.'\')"><i class="fa

fa-times"></i></button></div>'

);

}

$data->data = $new_data;

echo json_encode($data);

}

public function lihat(){

$id=$this->input->post('id');

$res=$this->admin_model->getDetailOfUkuran($id);

echo json_encode($res);

}}

Segmen program halaman ukuran 4.3

4.1.4.4

Halaman Tambah Data Ukuran

User dapat menambahkan data ukuran sesuai dengan permintaan

konsumen atau pelanggan, halaman untuk menambahkan data ukuran seperti

pada gambar 4.4

(7)

Gambar 4.4 Halaman Tambah Data Ukuran

public function simpan(){

$p=$this->input->post();

if($p['saveas']=='new'){

if(!

$this->admin_model->is_userUkuranExist($p['nama'])){

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->insert('tb_ukuran',$data);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->update('tb_ukuran',$data,array('id'=>$data['id']));

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}

echo json_encode($res); }

public function hapus(){

$id=$this->input->post('id');

$where=array(

'id'=>$id

);

$res1=$this->db->delete('tb_ukuran',$where);

if($res1){

(8)

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

echo json_encode($res);

}

function getPilihanUkuranModel($model){

$res=$this->db->query("SELECT

DISTINCT(id_ukuran)

FROM

tb_kombinasi_model

WHERE

id_model = '$model'");

return $res->result_array();

Segmen program halaman tambah data ukuran 4.4

4.1.4.5

Halaman Aksesoris

Setelah proses pemilihan kain dan produksi terdapat proses selanjutnya

adalah pemilihan aksesoris, semua data yang berhubungan dengan aksesoris

ditampung dalam halama aksesoris.

Gambar 4.5 Halaman Aksesoris

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class aksesoris extends MY_Admin_Page {

public function index()

{

$this->mydata['modal']=$this->load->view('admin/aksesoris/input',$this->mydata,true);

(9)

$this->load->view('main_admin',$this->mydata);

}

public function retrieveData(){

$this->load->library('datatable');

$kolom =

array('id','nama','harga','keterangan','options-no-db');

$pk = 'id';

$sql = "

(

SELECT

id,

nama,

CONCAT('Rp. ',FORMAT(Harga,2)) AS harga,

keterangan

FROM

tb_aksesoris

)";

$data = $this->datatable->render($kolom, $sql,

$pk, true, true);

$new_data = array();

if(is_array($data->data)) foreach ($data->data

as $row)

{

$new_data[] = array(

$row->id,

$row->nama,

$row->harga,

$row->keterangan,

'<div style="width:64px"><button

type="button" class="btn btn-primary btn-circle"

onclick="ubah(\''.$row->id.'\')"><i class="fa

fa-pencil"></i></button>

<button type="button" class="btn btn-danger

btn-circle" onclick="hapus(\''.$row->id.'\')"><i class="fa

fa-times"></i></button></div>'

);

}

$data->data = $new_data;

echo json_encode($data);

}

public function lihat(){

$id=$this->input->post('id');

$res=$this->admin_model->getDetailOfAksesoris($id);

echo json_encode($res);

}

Segmen program halaman akssesoris 4.5

4.1.4.6

Halaman Tambah Aksesoris

(10)

Gambar 4.6 Halaman Tambah Aksesoris

public function simpan(){

$p=$this->input->post();

if($p['saveas']=='new'){

if(!

$this->admin_model->is_aksesorisExist($p['nama'])){

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->insert('tb_aksesoris',$data);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->update('tb_aksesoris',$data,array('id'=>$data['id']));

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}

echo json_encode($res);

}

public function hapus(){

(11)

$where=array(

'id'=>$id

);

$res1=$this->db->delete('tb_aksesoris',$where);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

echo json_encode($res);

}

}

Segmen program halaman tambah aksesoris 4.6

4.1.4.7

Halaman Sablon

Berikut ini merupakan halaman untuk data sablon

Gambar 4.7 Halaman Sablon

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class sablon extends MY_Admin_Page {

public function index()

{

$this->mydata['modal']=$this->load->view('admin/sablon/input',$this->mydata,true);

$this->mydata['modal'].=$this->load->view('admin/sablon/detail',$this->mydata,true);

$this->mydata['content']=$this->load->view('admin/sablon/content',$this->mydata,true);

$this->load->view('main_admin',$this->mydata);

}

(12)

public function retrieveData(){

$this->load->library('datatable');

$kolom =

array('id','nama','jenis','jumlah_warna','ukuran','harga','

keterangan','options-no-db');

$pk = 'id';

$sql = "

(

SELECT

id,

nama,

jenis,

jumlah_warna,

concat(ukuran_p,' x ',ukuran_l) as

ukuran,

concat('Rp. ',FORMAT(harga,2))harga,

keterangan

FROM

tb_sablon

)";

$data = $this->datatable->render($kolom, $sql,

$pk, true, true);

$new_data = array();

if(is_array($data->data)) foreach ($data->data

as $row)

{

$new_data[] = array(

$row->nama,

$row->jenis,

$row->jumlah_warna,

$row->ukuran,

$row->harga,

'<div style="width:98px">

<button type="button" class="btn

btn-success btn-circle" onclick="lihat(\''.$row->id.'\')"><i

class="fa fa-eye"></i></button>

<button type="button" class="btn

btn-primary btn-circle" onclick="ubah(\''.$row->id.'\')"><i

class="fa fa-pencil"></i></button>

<button type="button" class="btn btn-danger

btn-circle" onclick="hapus(\''.$row->id.'\')"><i class="fa

fa-times"></i></button>

</div>'

);

}

$data->data = $new_data;

echo json_encode($data);

}

public function lihat(){

$id=$this->input->post('id');

$res=$this->admin_model->getDetailOfSablon($id);

echo json_encode($res);

}

(13)

4.1.4.8

Halaman Tambah Sablon

Berikut ini merupakan halaman untuk menambah data sablon.

Gambar 4.8 Halaman Tambah Sablon

public function simpan(){

$p=$this->input->post();

if($p['saveas']=='new'){

if(!

$this->admin_model->is_sablonExist($p['nama'])){

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->insert('tb_sablon',$data);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->update('tb_sablon',$data,array('id'=>$data['id']));

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

(14)

}

echo json_encode($res);

}

public function hapus(){

$id=$this->input->post('id');

$where=array(

'id'=>$id

);

$res1=$this->db->delete('tb_sablon',$where);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

echo json_encode($res);

}

}

Segmen program halaman tambah sablon 4.8

4.1.4.9

Halaman Kain

Banyak nya jenis kain yang digunakan sangat beragam sesuai dengan

kebutuhan konsumen. Untuk dapat menjadi sebuah produk yang sesuai dengan

keinginan konsumen atau pelanggan harus memperhatikan data kain dengan

teliti dan cermat, berikut merupakan halaman untuk menyimpan informasi

mengenai data kaiin.

(15)

public function simpan(){

$p=$this->input->post();

if($p['saveas']=='new'){

if(!

$this->admin_model->is_kainExist($p['nama'])){

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->insert('tb_kain',$data);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->update('tb_kain',$data,array('id'=>$data['id']));

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}

echo json_encode($res);

}

public function hapus(){

$id=$this->input->post('id');

$where=array(

'id'=>$id

);

$res1=$this->db->delete('tb_kain',$where);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

echo json_encode($res);

}}

Segmen program halaman kain 4.9

4.1.4.10

Halaman Tambah Kain

(16)

Berikut merupakan halaman untuk menambah data kain.

Gambar 4.10 Halaman Tambah Kain

public function simpan(){

$p=$this->input->post();

if($p['saveas']=='new'){

if(!

$this->admin_model->is_kainExist($p['nama'])){

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->insert('tb_kain',$data);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->db->update('tb_kain',$data,array('id'=>$data['id']));

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}

echo json_encode($res);

(17)

}

Segmen program halaman tambah kain 4.10

4.1.4.11

Halaman Model

Berikut merupakan halaman untuk menu model

Gambar 4.11 Halaman Model

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class model extends MY_Admin_Page {

public function index()

{

$this->session->unset_userdata('my_photo');

$this->mydata['lo_ukuran']=$this->admin_model->getListOfUkuran();

$this->mydata['modal']=$this->load->view('admin/model/input',$this->mydata,true);

$this->mydata['modal'].=$this->load->view('admin/model/detail',$this->mydata,true);

$this->mydata['content']=$this->load->view('admin/model/content',$this->mydata,true);

$this->load->view('main_admin',$this->mydata);

}

public function retrieveData(){

$this->load->library('datatable');

$kolom =

array('id','nama','jenis','pilihanUkuran','keterangan','

options-no-db');

$pk = 'id';

$sql = "

(18)

(

SELECT

model.id,

model.nama,

jenis,

model.keterangan,

GROUP_CONCAT(DISTINCT(ukuran.nama)) as

pilihanUkuran

FROM

tb_model model LEFT JOIN

tb_kombinasi_model kom ON model.id=kom.id_model

LEFT JOIN tb_ukuran ukuran ON

kom.id_ukuran=ukuran.id

GROUP BY

model.id

)";

$data = $this->datatable->render($kolom,

$sql, $pk, true, true);

$new_data = array();

if(is_array>data)) foreach

($data->data as $row)

{

$new_data[] = array(

$row->nama,

$row->jenis,

$row->pilihanUkuran,

$row->keterangan,

'<div style="width:98px">

<button type="button" class="btn

btn-success btn-circle" onclick="lihat(\''.$row->id.'\')"><i

class="fa fa-eye"></i></button>

<button type="button" class="btn

btn-primary btn-circle" onclick="ubah(\''.$row->id.'\')"><i

class="fa fa-pencil"></i></button>

<button type="button" class="btn

btn-danger btn-circle" onclick="hapus(\''.$row->id.'\')"><i

class="fa fa-times"></i></button>

</div>'

);

}

$data->data = $new_data;

echo json_encode($data);

}

Segmen program halaman model 4.11

4.1.4.12

Halaman Tambah Model

Berikut merupakan halaman untuk menambahkan data model yang

digunakan dalam proses produksi.

(19)

Gambar 4.12 Halaman Tambah Model

public function simpan(){

$p=$this->input->post();

$p['photo']=$this->session->userdata('my_photo');

if($p['saveas']=='new'){

if(!

$this->admin_model->is_modelExist($p['nama'])){

$data=$p;

unset($data['saveas']);

unset($data['kombinasi']);

if($data['photo']=='-')

unset($data['photo']);

$res1=$this->db->insert('tb_model',$data);

$modelId=$this->db->insert_id();

$res2=$this->admin_model->setDetailModel($modelId,$p['kombinasi']);

if($res1 && $res2){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

unset($data['kombinasi']);

$res1=$this->db->update('tb_model',$data,array('id'=>$data['id']));

$res2=$this->admin_model->setDetailModel($data['id'],$p['kombinasi']);

if($res1 && $res2){

$res['isOk']=true;

$res['msg']='';

}else{

(20)

$res['msg']='Gagal menyimpan.';

}

}

echo json_encode($res);

}

public function hapus(){

$id=$this->input->post('id');

$where=array(

'id'=>$id

);

$res1=$this->db->delete('tb_model',$where);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

echo json_encode($res);

}

public function doUploadPhotoModel(){

$tempFile = $_FILES['file']['tmp_name'];

$targetPath = $this->config->item('file_loc');

$filename = $_FILES['file']['name'];

$ext=end(explode('.',$filename));

$filename=substr($filename,0,strlen($filename)-(strlen($ext)+1));

$filename=str_replace(' ','_',$filename);

$filename =

$filename.$this->input->get('id')."_".md5($this->admin_model->getToday());

$targetFile = $targetPath.$filename.'.'.$ext;

//echo $targetFile;

$sess_file['oploaded']=$filename.'.'.$ext;

move_uploaded_file($tempFile, $targetFile);

$files=json_decode($this->session->userdata('my_photo'),true);

$berkas=array(

'NamaFileOri'=>strip_quotes($_FILES['file']['name']),

'ftp_path'=>base_url().'assets/contents/images/'.$sess_file

['oploaded'],

);

$this->session->set_userdata('my_photo',$berkas['ftp_path']);

echo 'succes';

}

}

Segmen program halaman tambah model 4.12

4.1.4.13

Halaman Transaksi Pemesanan

(21)

Setelah semua data kain terkumpul, maka di halaman transaksi

pemesann ini lah semua data akan diperhitungkan. Data kain, model dan

kombinasi ,ukuran serta aksesori akan diolah dalam transaksi pemesanan. User

harus memasukkan semua data ke dalam halaman transaksi sesuai dengan data

yang ada pada saat user memasukkan data pada fitur – fitur tersebut. Dari proses

ini akan terlihat kebutuhan dan biaya produksi yang digunakan dalam setiap

transaksi pemesananm serta muncul hasil untuk penjualan per item dalam setiap

proses produksi yang dilakukan.

Gambar 4.13 Halaman Transaksi Pemesanan

function getDetailOfPesanan($id){

$res=$this->db->query("SELECT

No_Order,

Nama_Pemesan,

Alamat,

Telp,

model_pakaian,

uang_muka,

biaya_produksi,

ongkos_kerja_persen,

ongkos_kerja,

ongkos_jahit,

total_harga,

isSelesai,

tb_model.nama AS namaModel

FROM

(22)

tb_pesanan LEFT JOIN tb_model ON

tb_pesanan.model_pakaian=tb_model.id

WHERE

No_Order = '$id'");

$has['order']=$res->row_array();

$res=$this->db->query("SELECT

No_Order,

id_ukuran,

jumlah,

uk.nama,

uk.keterangan

FROM

tb_jumlah_order_ukuran ord LEFT JOIN tb_ukuran

uk ON ord.id_ukuran=uk.id

WHERE

No_Order = '$id'");

$has['size']=$res->result_array();

$res=$this->db->query("SELECT

kombinasi,

bagian,

kain,

ordKom.warna,

kain.nama

FROM

tb_kombinasi_order ordKom LEFT JOIN tb_kain kain

ON ordKom.kain=kain.id

WHERE

No_Order = '$id'");

$has['kombinasi']=$res->result_array();

$res=$this->db->query("SELECT

id_aksesoris,

jumlah,

nama

FROM

tb_aksesoris_order LEFT JOIN tb_aksesoris ON

tb_aksesoris_order.id_aksesoris=tb_aksesoris.id

WHERE

No_Order = '$id'");

$has['det_aksesoris']=$res->result_array();

$res=$this->db->query("SELECT

id_sablon,

jumlah,

nama,

jenis

FROM

tb_sablon_order o LEFT JOIN tb_sablon s ON

o.id_sablon=s.id

WHERE

No_Order = '$id'");

$has['det_sablon']=$res->result_array();

$res=$this->db->query("SELECT

IFNULL(tb_model.photo,'') as photo

FROM

(23)

tb_pesanan.model_pakaian=tb_model.id

WHERE

No_Order = '$id'");

$res=$res->row_array();

$has['photo']=$res['photo'];

return $has;}

function getDetailOfPesananSelesai($id){

$res=$this->db->query("SELECT No_Order as

id,isSelesai,DATE_FORMAT(tgl_selesai,'%Y/%m/%d') AS

tgl_selesai,total_harga-uang_muka AS sisa_bayar FROM

tb_pesanan WHERE No_Order='$id'");

return $res->row_array();}

Segmen program halaman transaksi pemesanan 4.13

4.1.4.14

Halaman Tambah Transaksi Pemesanan

Berikut ini merupakan halaman untuk menambah data transaksi

pemesanan.

Gambar 4.14 Halaman Tambah Transaksi Pemesanan (1)

(24)

Gambar 4.16 Halaman Tambah Transaksi Pemesanan (3)

<?php if ( ! defined('BASEPATH')) exit('No direct script

access allowed');

class orders extends MY_Admin_Page {

public function index()

{

$this->mydata['p_model']=$this->admin_model->getListOfModel();

$this->mydata['modal']=$this->load->view('admin/orders/input',$this->mydata,true);

$this->mydata['modal'].=$this->load->view('admin/orders/detail',$this->mydata,true);

$this->mydata['modal'].=$this->load->view('admin/orders/input_selesai',$this->mydata,true);

$this->mydata['content']=$this->load->view('admin/orders/content',$this->mydata,true);

$this->load->view('main_admin',$this->mydata);

}

$data = $this->datatable->render($kolom, $sql,

$pk, true, true);

$new_data = array();

if(is_array($data->data)) foreach ($data->data

as $row)

{

$new_data[] = array(

$row->No_Order,

$row->Nama_Pemesan,

$row->tanggal,

$row->jumlah,

$row->isSelesai,

'<div style="width:133px">

<button type="button" class="btn

btn-success btn-circle"

onclick="lihat(\''.$row->No_Order.'\')"><i class="fa fa-eye"></i></button>

<button type="button" class="btn

btn-warning btn-circle"

onclick="ubahSelesai(\''.$row->No_Order.'\')"><i class="fa

(25)

fa-check-square-o"></i></button>

<button type="button" class="btn

btn-primary btn-circle"

onclick="ubah(\''.$row->No_Order.'\')"><i class="fa fa-pencil"></i></button>

<button type="button" class="btn btn-danger

btn-circle" onclick="hapus(\''.$row->No_Order.'\')"><i

class="fa fa-times"></i></button>

</div>'

);

}

$data->data = $new_data;

echo json_encode($data);

}

public function lihat(){

$id=$this->input->post('id');

$res=$this->admin_model->getDetailOfPesanan($id);

echo json_encode($res);

}

public function lihatDetail(){

$id=$this->input->post('id');

$res=$this->admin_model->getDetailOfPesanan($id);

$data=$this->admin_model->getDataHitung($id);

$resHitung=$this->doHitung($data);

$res=array_merge($res,$resHitung);

$this->load->view('admin/orders/detail_content',$res);

}

public function lihat_model(){

$id=$this->input->post('id');

$res=$this->admin_model->getDetailOfModel($id);

echo json_encode($res);

}

public function lihat_ukuran_model(){

$id=$this->input->post('id');

$d['res']=$this->admin_model->getListOfUkuranModel($id);

$this->load->view('admin/orders/input_ukuran',$d);

}

public function lihat_kombinasi_model(){

$id=$this->input->post('id');

$d['res']=$this->admin_model->getListOfKombinasiModel($id);

$d['kain']=$this->admin_model->getListOfKain();

$this->load->view('admin/orders/input_kombinasi',$d);

}

public function lihat_aksesoris_model(){

$d['res']=$this->admin_model->getListOfAksesoris();

$this->load->view('admin/orders/input_aksesoris',$d);

}

public function lihat_sablon_model(){

$d['res']=$this->admin_model->getListOfSablon();

$this->load->view('admin/orders/input_sablon',$d);

}

public function hitung(){

(26)

$hasil=$this->doHitung($p);

$this->load->view('admin/orders/invoice',$hasil);

}

public function doHitung($p){

$hasil=array();

//Kain

if(isset($p[7]['opt_kombinasi'])){

//Cari jenis kain yang digunakan

$kain=array();

foreach($p[7]['opt_kombinasi'] as $k){

if(!in_array(array('kain'=>$k['kain'],'luas'=>0),$kain))

array_push($kain,array('kain'=>$k['kain'],'luas'=>0));

}

//Hitung luas kain untuk masing-masing jenis

$sizeOfKain=$kain;

foreach($kain as $i=>$k){

foreach($p[6]['opt_ukuran'] as $s=>$n){

foreach($p[7]['opt_kombinasi'] as

$kombinasi){

if($kombinasi['kain']==$k['kain']){

$u=key($n);

$param=$kombinasi;

$param['id_model']=$p[5]['model_pakaian'];

$param['id_ukuran']=$u;

$L=$this->admin_model->getLuasKombinasi($param);

$sizeOfKain[$i]['luas']+=($n[$u]*$L);

}

}

}

}

Segmen program halaman tambah transaksi pemesanan 4.14

4.1.4.15

Halaman Laporan

Di dalam halama terdapat dua jenis laporan yaitu laporan transaksi

pemesanan dan laporan bahan baku. Laporan transaksi untuk menyimpan semua

transaksi pemesanan yang telah dilakukan. Sedangkan untuk laporan bahan baku

yaitu untuk mngetahui seberapa banyak bahan baku yang telah digunakan dalam

proses produksi tersebut.

(27)

Gambar 4.17 Halaman Laporan Pemesanan

Gambar 4.18 Halaman Laporan Bahan Baku

function getReportPesanan($p){

if($p['isSelesai']=='ALL') $where=''; else

if($p['isSelesai']=='YES') $where="AND

isSelesai='YES'"; else $where="AND isSelesai='NO'";

echo "SELECT

tb_pesanan.No_Order,

Nama_Pemesan,

DATE_FORMAT(tgl_transaksi,'%d/%m/%Y') AS

tgl_transaksi,

nama,

SUM(jumlah) AS jumlah,

CONCAT('Rp. ',FORMAT(total_harga,2)) AS

total_harga,

IF(isSelesai='YES','Selesai','Belum') AS

statusPesanan

FROM

tb_pesanan LEFT JOIN tb_model ON

tb_pesanan.model_pakaian=tb_model.id

LEFT JOIN tb_jumlah_order_ukuran jmlh ON

tb_pesanan.No_Order=jmlh.No_Order

(28)

tgl_transaksi>='".$p['from_date']." 00:00:00'

AND tgl_transaksi<='".$p['to_date']." 23:59:00'

$where

GROUP BY

tb_pesanan.No_Order";

return $this->db->query("SELECT

tb_pesanan.No_Order,

Nama_Pemesan,

DATE_FORMAT(tgl_transaksi,'%d/%m/%Y') AS

tgl_transaksi,

nama,

SUM(jumlah) AS jumlah,

CONCAT('Rp. ',FORMAT(total_harga,2)) AS

total_harga,

IF(isSelesai='YES','Selesai','Belum') AS

statusPesanan

FROM

tb_pesanan LEFT JOIN tb_model ON

tb_pesanan.model_pakaian=tb_model.id

LEFT JOIN tb_jumlah_order_ukuran jmlh ON

tb_pesanan.No_Order=jmlh.No_Order

WHERE

tgl_transaksi>='".$p['from_date']." 00:00:00'

AND tgl_transaksi<='".$p['to_date']." 23:59:00'

$where

GROUP BY

tb_pesanan.No_Order");

}

Segmen program halaman laporan 4.15

4.1.4.16

Halaman Users

User merupakan pengguna dari sistem informasi ini, terrdapat tiga user

yang menggunakan sistem informasi dengan role yang berbeda. User tersebut

diantaranya adalah pegawai, owner dan admin.

(29)

Gambar 4.19 Halaman User

function insertUser($data){

return $this->db->query("INSERT INTO `tb_users` (

`nama`,

`Alamat`,

`telp`,

`email`,

`user_username`,

`user_password`,

`role`

)

function updateUser($data){

if($data['user_password']=='unchanged') $pwd='';

else $pwd=",`user_password` =

md5('".$data['user_password']."')";

if(isset($data['role'])) $role=",`role` =

'".$data['role']."'"; else $role='';

return $this->db->query("UPDATE `tb_users`

SET

`nama` = '".$data['nama']."',

`alamat` = '".$data['Alamat']."',

`telp` = '".$data['telp']."',

`email` = '".$data['email']."',

`user_username` = '".$data['user_username']."'

$role

$pwd

WHERE

(`id` = '".$data['id']."');");

}

function getDetailOfUserByUsername($username){

$res = $this->db->query("SELECT

*

FROM

tb_users users

WHERE

user_username = '$username'");

$data=$res->row_array();

if(empty($data['photo']))

(30)

$data['photo']=$this->config->item('no_picture');

return $data;

}

Segmen program halaman user 4.16

4.1.4.17

Halaman Tambah User

Berikut ini merupakan halaman untuk menabah data user.

Gambar 4.20 Halaman Tambah User

public function simpan(){

$p=$this->input->post();

if($p['saveas']=='new'){

if(!

$this->admin_model->is_userAdminExist($p['user_username'])){

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->admin_model->insertUser($data);

if($res1){

$res['isOk']=true;

$res['msg']='';

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}else{

$res['isOk']=false;

$res['msg']='Data yang sama sudah tersimpan

pada sistem.';

}

}else{

$data=$p;

unset($data['saveas']);

//Users

$res1=$this->admin_model->updateUser($data);

if($res1){

$res['isOk']=true;

$res['msg']='';

(31)

}else{

$res['isOk']=false;

$res['msg']='Gagal menyimpan.';

}

}

echo json_encode($res);

}

Segmen program halaman tambah user 4.17

4.2

Pembahasan

Setelah melalui tahapan implementasi, maka dilanjutkan pada tahapan

berikutnya yaitu tahapan pembahasan atau dalam penelitian ini adalah tahapan

pengujian. Seperti pada gambar 4.2.1 merupakan contoh salah satu produk yang

digunakan.

User

Gambar 4.21 Contoh form pemesanan

Langkah – langkah yang digunakan untuk menghitung proses pemesanan dengan

gambar diatasa adalah :

a.

Masukkan username dan password terlebih dahulu ke sistem informasasi

manajemen data barang.

(32)

Gambar 4.22 Fitur atau menu di dalam sistem informasi

dan kemudian akan tampil halaman berikut, setelah itu pilih tombol tambah

di dalam halaman transaksi pemesanan.

Gambar 4.23 Menu Transaksi Pemesanan

c.

Masukkan identitas pemesan (nama , alamat , no.telp dan model yang

dipesan)

(33)

Gambar 4.24 Halaman identitas pemesan

d.

Masukkan jumlah perukuran kaos yang dipesan, sablon yang digunakan

sesuai dengan yang tertera di form pemesanan pada gambar 4.2.1.

(34)

e.

Setelah semua kebutuhan terisi, maka akan muncul halaman invoice atau

pembayaran yang harus dilunasi oleh pelanggan dengan rincian

kebutuhan yang terdapat di dalamnya.

Gambar 4.25 Invoice Pembayaran

f.

Kemudian jika admin ingin merubah status pembayaran dari pelanggan

tersebut maka di halaman transaksi pemesanan pilih menu pesanan

selesai dan ubah status pemesanan menjadi “selesai” atau “belum”.

Gambar

Gambar 4.1 Halaman Login
Gambar 4.2 Halaman Utama
Gambar 4.3 Halaman Ukuran
Gambar 4.4 Halaman Tambah Data Ukuran
+7

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui pengaruh sediaan gel basis HPMC dan karbopol terhadap sifat fisik dan efektivitas minyak atsiri daun jeruk nipis sebagai

- Melakukan koordinasi dengan Instruktur Nasional dan mitra penyelengara mengenai persiapan pelaksanaan tentang jumlah kelas, modul kelompok kompetensi, jumlah IN, tempat

Melalui hasil penelitian dapat disimpulkan bahwasanya aktifitas mahasiswa semester I dalam mata kuliah Literal Reading mengenai pembelajaran metode Context Clues terlihat

sampel dilakukan dengan cara proportional stratified random sampling, yaitu metode pemilihan sampel dengan cara membagi populasi ke dalam kelompok-kelompok yang homogen

JUDUL SKRIPSI : Perancangan Sistem Kontrol dan Algoritma yang Diterapkan untuk Robot Berkaki Enam dalam Menyelesaikan Misi pada Kontes Robot Pemadam Api

terhadap efektifitas implementasi renstra pada Madrasah Aliyah di Kabupaten Sukabumi, hanya kelompok data komite sekolah yang tidak menunjukkan tingkat signifikansi

Salah satu alasan utama saya terus bekerja pada STIKES Bethesda Yakkum adalah bahwa meninggalkan akan memerlukan cukup pengorbanan pribadi dan organisasi lain