Bab 4 IMPLEMENTASI DAN PENGUJIAN
5.2 Saran
Saran yang dapat diberikan berdasarkan hasil yang telah dicapai maupun untuk pengembangan aplikasi pada masa yang akan datang, antara lain :
1. Diharapkan sistem atau aplikasi ini dapat memiliki keamanan yang jauh lebih aman lagi sehingga data yang tersimpan dalam sistem atau aplikasi ini akan selalu ada tanpa adanya kehilangan data.
2. Design dari halaman Karyawan maupun pemilik butik diharapkan dibuat lebih menarik lagi sehingga tidak jenuh dalam melihat sistem nya.
3. Diharapkan sistem pengendalian persediaan ini dapat di kembang kan dalam bentuk android
79
DAFTAR PUSTAKA
[1] Alatas, Husein. 2015. Proyek Membangun Responsive.Web Design dengan Bootstrap 3 dan 4. Yogyakarta : Lokomedia
[2] Arief, M. Rudianto. 2011. Pemrograman Web Dinamis Menggunakan PHP dan Mysql. Yogyakarta: ANDI
[3] A.S, Rosa & Shalahudin .M. 2015. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung : Informatika
[5] Hakim, Lukmanul. 2010. Bikin website Super Keren dengan PHP dan jQuery. Yogyakarta : Lokomedia
[6] Jogiyanto, H. Ma. 1991. Analisis dan Desain Sistem Informasi. Yogyakarta : Andi Offset
[7] Jogiyanto, H. Mb. 2009. Analisis dan Desain Sistem Informasi. Yogyakarta : Andi Offset
[8] Madcoms. 2011. Mahir dalam 7 Hari Adobe Dreamweaver CS5 dengan Pemrograman PHP & MySQL. Yogyakarta : Andi Offset
[9] Raharjo, Budi. 2015. Belajar Otodidak Framework CodeIgniter. Bandung : Informatika
[10] Ramadhan, Arief. 2006. Pemrograman Web. Jakarta : PT Elex Media Komputindo
[11] Ristono, Agus. 2009. Manajemen Persediaan. Yogyakarta : Graha Ilmu
[12] Silalahi, Ulber. 2002. Pemahaman Praktis Asas-asas Manajemen. Bandung : Mandar Maju
[13] Sunyoto, Andi. 2007. Ajax Membangun Web dengan Teknolog Asynchronouse Javascript dan XML. Yogyakarta : CV. Andi Offset
[14] Brahmasta. 2008. Pengertian BPMN (Online).(Http:/digilib.itb.ac.id/files/disk1/598/jbptitbpp-gdl-brahmastaa-29900-3-2008ta-2.pdf , diakses 15 Januari 2018).
[15] Hendrayudi. 2009. Pengertian Aplikasi. Andi. Yogyakarta [16] Zaki, Ali. 2008. Pengertian Aplikasi. Andi. Yogyakarta.
[17] Sidik, Betha. 2012. Pemrograman Web dengan PHP (Edisi Revisi). Bandung: Informatika.
[18] Zaki, Ali & SmitDev Community. 2008. 36 Menit Belajar Komputer PHP dan MySQL. Jakarta: PT Elex Media Komputindo.
[19] Kadir, Abdul. 2009. Membuat Aplikasi Web dengan PHP + Database MySQL. Yogayakarta: Andi.
[20] Ahmad Taslim, 2013. Pengujian black box, Nugroho, Adi. 2005. Rational Rose untuk pemodelan Berorientasi. Penerbit Bandung : Informatika
A-1
LAMPIRAN A
1. Code (View/Utama/Barang/Addbarang)
<div class="page-header"> <h1>
Halaman Pengelola Butik Mezaarfa <small>
<i class="ace-icon fa fa-angle-double-right"></i> Input Barang
</small> </h1>
</div><!-- /.page-header -->
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/barang/insert" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> Kode Barang </label>
<div class="col-sm-9">
<input type="text" id="kode_brg" placeholder="Kode barang" name="kode_brg" value="BR<?php echo $angkastring ?><?php echo $angkastring1 ?>" class="col-xs-10 col-sm-5" readonly="readonly" />
a) </div> </div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1-1"> Serial </label>
<div class="col-sm-9">
<input type="text" id="serial" placeholder="Text Field" name="serial" value="SN<?php echo $angkastring1 ?><?php echo $angkastring ?>" class="col-xs-10 col-sm-5" readonly="readonly" />
</div> </div>
<div class="space-4"></div> <div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> Nama Barang </label>
<div class="col-sm-9">
<input type="text" id="nama_brg" placeholder="Nama Barang" class="col-xs-10 col-sm-5" name="nama_brg" />
</div> </div>
<div class="space-4"></div> <div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-input-readonly"> Kode Katagori </label>
<div class="col-sm-9">
<select name="kode_kategori" style="width:200px;" class="fcol-xs-10 col-sm-5" required="true">
<?php $no=1;
foreach ($hasil as $data1){?>
<option value="<?php echo >kode_kategori;?>"> <?php echo $data1->nama_kategori;?> - <?php echo $data1->kode_kategori;?></option>
<?php }?>
</select><!--<input type="text" id="kode_kategori" placeholder="Text Field" name="kode_kategori" class="col-xs-10 col-sm-5" />-->
<span class="help-inline col-xs-12 col-sm-7"> <label class="middle"> </label> </span></div> </div> <div class="space-4"></div> <div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-4">Detail Barang</label>
<div class="col-sm-9">
<input type="text" id="detail_brg" placeholder="Text Field" name="detail_brg" class="col-xs-10 col-sm-5" />
<span class="help-inline col-xs-12 col-sm-7"> <label class="middle"> </label>
</span></div> </div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-4">Stok Minimum</label>
<div class="col-sm-9">
<input type="text" id="stok_min" placeholder="Text Field" name="stok_min" class="col-xs-10 col-sm-5" />
<span class="help-inline col-xs-12 col-sm-7"> <label class="middle"> </label>
</span></div> </div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-4">Foto (gambar)</label>
<div class="col-sm-9">
<input type="file" id="filefoto" placeholder="Masukan File" name="filefoto" class="col-xs-10 col-sm-5" />
<span class="help-inline col-xs-12 col-sm-7"> <label class="middle"> </label> </span></div>
</div>
<div class="space-4"></div> <div class="space-4"></div> <div class="clearfix form-actions"> <div class="col-md-offset-3 col-md-9"> <button class="btn btn-info" type="submit"> <i class="ace-icon fa fa-check bigger-110"></i> Submit
</button>
2. Code (View/Utama/Barang/Listbarang)
<table id="dynamic-table" class="table table-striped table-bordered table-hover"> <thead>
<tr>
<th class="center"> <label class="pos-rel"> <input type="checkbox" class="ace" /> <span class="lbl"></span> </label> </th>
<th>Kode Barang</th> <th>Serial</th>
<th class="hidden-480">Nama Barang</th>
<th> <i class="ace-icon fa fa-clock-o bigger-110 hidden-480"></i> Kode Kategori</th>
<th> <i class="ace-icon fa fa-clock-o bigger-110 hidden-480"></i> Foto</th> <th class="hidden-480">Detail Barang</th> <th></th> </tr> </thead> <?php $no = $this->uri->segment('3') + 1; foreach($user as $rng){ ?> <tbody> <tr>
<td class="center"><label class="pos-rel"><?php echo $no++?><span class="lbl"></span> </label></td>
<td><?php echo $rng->kode_brg;?></td> <td><?php echo $rng->serial;?></td>
<td class="hidden-480"><?php echo $rng->nama_brg;?></td> <td><?php echo $rng->kode_kategori;?></td>
<td><p align="center"><img src="<?=base_url()?>assets/hasil_resize/<?php echo $rng->file;?>" /></p></td>
<td class="hidden-480"><span class="label label-sm label-warning"><?php echo $rng->detail_brg;?></span></td>
<td>
<a onclick="return confirm('Anda yakin akan menghapus barang ini <?php echo $rng ->nama_brg;?> ?')" href="<?php echo site_url();?>/Barang/deletedata/<?php
echo $rng->kode_brg;?>"class="tooltip-error" data-rel="tooltip" title="Delete"> <span class="red"> <i class="ace-icon fa fa-trash-o bigger-120"></i> </span> </a> <a href="<?php echo site_url();?>/Barang/update/<?php echo $rng->kode_brg;?>" class="tooltip-success" data-rel="tooltip" title="Edit"> <span class="green"> <i class="ace-icon fa fa-pencil-square-o bigger-120"></i> </span> </a>
</td> </tr> <tr> <?php }?> </tbody> </table> 3. Code (View/Utama/Barang_Keluar/Addbarangkeluar)
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/barang_keluar/insertbarang">
4. Code (View/Utama/barang_masuk/Addbarangmasuk)
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/barang_masuk/insertbarang">
5. Code (View/Utama/kategori/addkategori)
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/barang/insertkategori">
6. Code (View/Utama/kategori/editkategori)
<form class="form-horizontal" method="post" action="<?php echo site_url('kategori/updatedata/'.$hasil->kode_kategori); ?>" enctype="multipart/form-data">
7. Code (View/Utama/laporan/liststok && Liststok_management)
<table id="dynamic-table" class="table table-striped table-bordered table-hover"> <thead>
<tr>
<th class="center">
<label class="pos-rel"> NO <span class="lbl"></span> </label> </th> <th>Kode Barang</th> <th>Nama Barang</th> <th>Rak</th> <th>Jumlah Barang</th> <th></th> </tr>
</thead> <?php $no = $this->uri->segment('3') + 1; foreach($user as $rng){ ?> <tbody> <tr>
<td class="center"><label class="pos-rel"><?php echo $no++?><span class="lbl"></span> </label></td>
<td><?php echo $rng->kode_brg;?></td> <td><?php echo $rng->nama_brg;?></td>
<td><?php echo "terletak di kolom ".$rng->kolom." di tingkat ke ".$rng->tinggi." baris ke ".$rng->baris;?></td>
<td><?php echo $rng->jml_brg;?></td> <td>
<a onclick="return confirm('Anda yakin akan menghapus barang ini <?php echo $rng ->nama_brg;?> ?')" href="<?php echo site_url();?>/Barang/deletedata/<?php echo $rng->kode_brg;?>"class="tooltip-error" data-rel="tooltip" title="Delete"> <span class="red"> <i class="ace-icon fa fa-trash-o bigger-120"></i> </span> </a> </td>
</tr> <?php }?> <tr> <?php
$sum = 0;
foreach($user as $rows){
$sum += str_replace(",", "", $rows->jml_brg); }?> <td>Total</td> <td></td> <td></td> <td></td> <td><?php echo $sum ;?></td> <td></td> </tbody> </table> 8. Code (View/Utama/pegawai/addpegawai)
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/pegawai/insertpegawai">
9. Code (View/Utama/pegawai/editpegawai)
<form class="form-horizontal" method="post" action="<?php echo site_url('pegawai/updatedata/'.$hasil->id_pegawai); ?>">
<?php
Echo form_open ('supplier/updatedata/'.$hasil->id_pegawai); ?>
10. Code (View/Utama/rak/addrak)
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/barang/insertrak">
11. Code (View/Utama/rak/updaterak)
<form class="form-horizontal" method="post" action="<?php echo site_url('barang/updatedata1/'.$hasil->kode_rak); ?>" enctype="multipart/form-data"> <?php echo form_open('rak/updatedata1/'.$hasil->kode_rak); ?> 12. Code (View/Utama/supplier/addsuplier)
<form class="form-horizontal" method="post" action="<?php echo base_url();?>index.php/supplier/insertsupplier">
13. Code (View/Utama/supplier/editsupplier)
<form class="form-horizontal" method="post" action="<?php echo site_url('supplier/updatedata/'.$hasil->kode_supp); ?>" enctype="multipart/form-data"> <?php echo form_open('spplier/updatedata/'.$hasil->kode_supp); ?> 14. Code (View/Utama/home)
<form method="post" action="<?php echo base_url();?>utama/index2"> <select data-placeholder="Pilih Nama Barang" class="validate[required] form-control" id="kategori" name="kategori" value="<?php echo set_value('kategori');?>" required oninvalid="this.setCustomValidity('Nama Barang tidak boleh kosong')" oninput="setCustomValidity('')"/>
15. Code (View/Utama/home1)
<form method="post" action="<?php echo base_url();?>utama/index3"> <select data-placeholder="Pilih Nama Barang" class="validate[required] form-control" id="kategori" name="kategori" value="<?php echo set_value('kategori');?>" required oninvalid="this.setCustomValidity('Nama Barang tidak boleh kosong')" oninput="setCustomValidity('')"/>
16. Code (Controller/barang/insert)
public function insert(){
$this->load->library('upload');
$nmfile = "file_".time(); //nama file + fungsi time
$config['upload_path'] = './assets/uploads/'; //Folder untuk menyimpan hasil upload
diakses bisa anda sesuaikan
$config['max_size'] = '3072'; //maksimum besar file 3M $config['max_width'] = '5000'; //lebar maksimum 5000 px $config['max_height'] = '5000'; //tinggi maksimu 5000 px $config['file_name'] = $nmfile; //nama yang terupload nantinya $this->upload->initialize($config); if($_FILES['filefoto']['name']) { if ($this->upload->do_upload('filefoto')) { $gbr = $this->upload->data(); $data = array( 'kode_brg' =>$this->input->post('kode_brg'), 'serial' =>$this->input->post('serial'), 'kode_kategori' =>$this->input->post('kode_kategori'), 'nama_brg' =>$this->input->post('nama_brg'), 'detail_brg' =>$this->input->post('detail_brg'), 'stok_min' =>$this->input->post('stok_min'), 'file' =>$gbr['file_name'], 'type' =>$gbr['file_type'], );
$this->m_barang->get_insert($data); //akses model untuk menyimpan ke database
//dibawah ini merupakan code untuk resize $config2['image_library'] = 'gd2';
$config2['source_image'] = $this->upload->upload_path.$this->upload->file_name;
$config2['new_image'] = './assets/hasil_resize/'; // folder tempat menyimpan hasil resize
$config2['maintain_ratio'] = TRUE;
$config2['width'] = 100; //lebar setelah resize menjadi 100 px $config2['height'] = 100; //lebar setelah resize menjadi 100 px $this->load->library('image_lib',$config2);
//pesan yang muncul jika resize error dimasukkan pada session flashdata if ( !$this->image_lib->resize()){
$this->session->set_flashdata('errors', $this->image_lib->display_errors('', ''));
}
//pesan yang muncul jika berhasil diupload pada session flashdata $this->session->set_flashdata("pesan", "<div class=\"col-md-12\"><div class=\"alert alert-success\" id=\"alert\">Upload gambar berhasil !!</div></div>");
redirect('barang/viewbarang'); //jika berhasil maka akan ditampilkan view upload
}else{
//pesan yang muncul jika terdapat error dimasukkan pada session flashdata
class=\"col-md-12\"><div class=\"alert alert-danger\" id=\"alert\">Gagal upload gambar !!</div></div>");
redirect('barang/viewbarang'); //jika gagal maka akan ditampilkan form upload } } } 17. Code (Controller/barang/insertkategori) function insertkategori() { $this->load->model('m_kategori'); $this->m_kategori->insert(); redirect('kategori/viewkategori'); } 18. Code (Controller/barang/addbarang)
public function addbarang() { $this->load->model('m_kategori'); $data['hasil'] = $this->m_kategori->bacadata(); $this->load->view('/utama/barang/addbarang',$data); } 19. Code (Controller/barang/insertrak) function insertrak() { $this->load->model('m_rak'); $this->m_rak->insert(); redirect('barang/viewrak'); } 20. Code (Controller/barang/addkategori)
public function addkategori() { $this->load->view('/utama/kategori/addkategori'); } 21. Code (Controller/pegawai/insertpegawai) function insertpegawai() { $this->load->model('m_petugas'); $this->m_petugas->insertuser();
redirect('login'); }
22. Code (Controller/pegawai/insert)
public function addpegawai() { $this->load->view('/utama/pegawai/addpegawai'); } 23. Code (Controller/utama/index) function index() {
$query1['data1'] = $this->db->query("SELECT stok.jml_brg as jml_brg, stok.kode_brg as kode_brg, barang.stok_min as stok_min, barang.nama_brg as nama_brg FROM stok join barang WHERE stok.kode_brg=barang.kode_brg")->result(); $this->load->view('utama/home', $query1); } 24. Code (Controller/utama/index2) a. function index2() {
$query1['data1'] = $this->db->query("SELECT stok.jml_brg as jml_brg, stok.kode_brg as kode_brg, barang.stok_min as stok_min, barang.nama_brg as nama_brg FROM stok join barang WHERE stok.kode_brg=barang.kode_brg")->result(); $kategori = $this->input->post('kategori'); $tahun = date('Y'); if ($kategori) { //daftar grafik foreach($this->m_stok->laporanTahunan($kategori,$tahun)->result_array() as $row) { $query1['grafik'][]=(float)$row['Januari']; $query1['grafik'][]=(float)$row['Februari']; $query1['grafik'][]=(float)$row['Maret']; $query1['grafik'][]=(float)$row['April']; $query1['grafik'][]=(float)$row['Mei']; $query1['grafik'][]=(float)$row['Juni']; $query1['grafik'][]=(float)$row['Juli']; $query1['grafik'][]=(float)$row['Agustus']; $query1['grafik'][]=(float)$row['September']; $query1['grafik'][]=(float)$row['Oktober'];
$query1['grafik'][]=(float)$row['November']; $query1['grafik'][]=(float)$row['Desember']; // print_r($data); // $this->load->view('percobaan',$data); } foreach($this->m_stok->laporanTahunan2($kategori,$tahun)->result_array() as $row) { $query1['grafik1'][]=(float)$row['Januari']; $query1['grafik1'][]=(float)$row['Februari']; $query1['grafik1'][]=(float)$row['Maret']; $query1['grafik1'][]=(float)$row['April']; $query1['grafik1'][]=(float)$row['Mei']; $query1['grafik1'][]=(float)$row['Juni']; $query1['grafik1'][]=(float)$row['Juli']; $query1['grafik1'][]=(float)$row['Agustus']; $query1['grafik1'][]=(float)$row['September']; $query1['grafik1'][]=(float)$row['Oktober']; $query1['grafik1'][]=(float)$row['November']; $query1['grafik1'][]=(float)$row['Desember']; // print_r($query1); } }else{ // $this->load->view('utama/home', $query1); } $this->load->view('utama/home', $query1); // $this->load->view('percobaan'); } 25. Code (Controller/utama/) function home() { $this->load->view('utama/home1'); } 26. Code (Models/m_barang) Function insert() { $insert_ruangan = array( 'kode_brg' => $this->input->post('kode_brg'), 'serial' => $this->input->post('serial'), 'kode_kategori' => $this->input->post('kode_kategori'), 'detail_brg' => $this->input->post('detail_brg'), );
return $insert; } 27. Code (Models/m_barangkeluar) function insert() { $insert_petugas = array( 'no_brgkeluar' => $this->input->post('no_brgkeluar'), 'tgl_keluar' => date('Y-m-d'), 'username' => $this->input->post('username'), 'jml_brg' => $this->input->post('jml_brg'), 'kode_brg' => $this->input->post('kode_brg'), );
$insert = $this->db->insert('barang_keluar', $insert_petugas); return $insert; } 28. Code (Models/m_barangmasuk) function insert() { $insert_petugas = array( 'no_brgmasuk' => $this->input->post('no_brgmasuk'), 'tgl_masuk' => date('Y-m-d'), 'kode_supp' => $this->input->post('kode_supp'), 'username' => $this->input->post('username'), 'jml_brg' => $this->input->post('jml_brg'), 'kode_brg' => $this->input->post('kode_brg'), 'rak' => $this->input->post('rak'), );
$insert = $this->db->insert('barang_masuk', $insert_petugas); return $insert; } 29. Code (Models/m_kategori) function insert() { $insert_kategori = array( 'kode_kategori' => $this->input->post('kode_kategori'), 'nama_kategori' => $this->input->post('nama_kategori'), );
$insert = $this->db->insert('kategori_brg', $insert_kategori); return $insert;
30. Code (Models/m_laporan)
function data(){
$data = $this->db->query("select barang.kode_brg as kode_brg, barang.nama_brg as nama_brg, rak.kolom as kolom, rak.tinggi as tinggi, rak.baris as baris, stok.jml_brg as jml_brg from barang join rak join stok where stok.kode_brg = barang.kode_brg && stok.rak = rak.kode_rak");
return $data->result();
// return $query = $this->db->get('stok',$number,$offset)->result(); }
function jumlah_data(){
$data = $this->db->query("select barang.kode_brg as kode_brg, barang.nama_brg as nama_brg, rak.kolom as kolom, rak.tinggi as tinggi, rak.baris as baris, stok.jml_brg as jml_brg from barang join rak join stok where stok.kode_brg = barang.kode_brg && stok.rak = rak.kode_rak");
return $data->num_rows();
// return $this->db->get('stok')->num_rows();}
31. Code (Models/m_login)
<?php
class M_login extends CI_Model{ function __construct(){
parent::__construct() ;
}
var $table = "pegawai";
function getLogin($user,$pass){
$sql="select * from pegawai where username ='$user' and password ='$pass' LIMIT 1"; //echo $sql; exit; return $this->db->query($sql);