• Tidak ada hasil yang ditemukan

RANCANG BANGUN APLIKASI INVENTARIS BARANG BERBASIS WEB MENGGUNAKAN FRAMEWORK CODEIGNITER PADA POLITEKNIK DARUSSALAM - POLSRI REPOSITORY

N/A
N/A
Protected

Academic year: 2024

Membagikan "RANCANG BANGUN APLIKASI INVENTARIS BARANG BERBASIS WEB MENGGUNAKAN FRAMEWORK CODEIGNITER PADA POLITEKNIK DARUSSALAM - POLSRI REPOSITORY"

Copied!
45
0
0

Teks penuh

(1)

LAMPIRAN

(2)

DAFTAR PERTANYAAN WAWANCARA

Daftar

pertanyaanwawancarainiberfungsiuntukmemperkuatlatarbelakangpada Laporan Akhir yang berjudul “RancangBangunAplikasiInventarisBarangBerbasisWeb MenggunakanFramework CodeIgniter pada Politeknik Darussalam”. Berikut daftar pertanyaanwawancarauntukmemperkuatlatarbelakangtersebut.

Daftar pertanyaan:

1. ApakahPoliteknik Darussalam memilikisistemkhususdalampengelolaan data inventarisbarang?

2. Bagaimanaprosedurpenanganan dan pengelolaaninventarisbarang yang selamainidilakukan pada Politeknik Darussalam?

3. ApakahPoliteknik Darussalam didukung oleh

suatusistemtertentusepertiperangkatlunakdalampengelolaan data inventarisbarangnya?

4. Untukpendataaninventarisbarang, apasaja yang perludicatat?

5. Apasajakendala yang dialamidalampengelolaan data inventarisbarang pada Politeknik Darussalam saatini?

6. Bagaimanadenganpelaporaninventarisbarang yang selamainidilakukan oleh Politeknik Darussalam?

7. Apakahpengelolaan data inventarisbarang pada Politeknik Darussalam saatinisudahdirasaefektif dan efisien?

8. Sistemsepertiapakah yang bapakinginkanuntukmendukungpengelolaan data inventarisbarang?

9. Apakahbersediajikasistem yang dirancangberbasiswebsite?

10. Apakah SDM yang ada di Politeknik Darussalam khususnya pada bagian yang

mengelola data inventarisbarangdapatmengoperasikankomputer?

(3)

TRANSKRIP HASIL WAWANCARA YANG TELAH DILAKUKAN

Hari/Tanggal : Senin, 12 April 2021 Waktu : 09.00 – 11.00

Lokasi : Politeknik Darussalam

Narasumber : M. Bambang Purwanto, S.Pd., M.Pd., M.IA.

Jabatan : Staff SDM dan PengurusInventaris

1. Peneliti : “ApakahPoliteknik Darussalam memilikisistemkhususdalampengelolaan data inventarisbarang?”.

Narasumber : “Sistemkhusus yang ada di Politeknik Darussalam dalampenginventarisanitubelumada,

jadimasihdalamkategoripenginventarisansecara manual denganbukubesar”.

2. Peneliti : “Bagaimanaprosedurpenanganan dan pengelolaaninventarisbarang yang selamainidilakukan pada Politeknik Darussalam?”.

Narasumber : “Yasepertiapa yang sayakatakantadi, sistempenginventarisanbarangdilakukansecara manual, ketikabarangdatang dan masuk di Politeknik Darussalam akandicatatdalambukubesar, apapunjenisbarangtersebutbaikelektronik, furniture, dan lain-lain. Setelah itubarangdiberikankodesesuaidenganjenisbarangnyatersebut dan barangakandicatattanggalmasuknya. Lalu barangsiapdigunakan”.

3. Peneliti : “ApakahPoliteknik Darussalam didukung oleh suatusistemtertentusepertiperagkatlunakdalampengelolaan data inventarisbarangnya?”.

Narasumber : “Belum ada”.

4. Peneliti : “Untukpendataaninventarisbarang, apasaja yang perludicatat?”.

(4)

Narasumber : “Data yang perludicatatsepertikodebarang, namabarang, jenisbarang, penggunaanbarang, tanggalmasuk, kondisibarang dan keterangan”.

5. Peneliti : “Apasajakendala yang dialamidalampengelolaan data inventarisbarang pada Politeknik Darussalam saatini?”.

Narasumber : “Mungkinkendaladalampenginventarisanbarang, ketikabarangdicatatsecara manual ituprosesnyalambat, kemudiancatatannyatersebutseringhilang. Oleh karenaitu, kami sangatmembutuhkansuatuterobosan dan inovasi agar proses pencatatanbarangdapatlebihmudah”.

6. Peneliti : “Bagaimanadenganpelaporaninventarisbarang yang selamainidilakukan oleh Politeknik Darussalam?”.

Narasumber : “Pembuatanlaporanmasihdilakukansecara manual yaitudenganmemindahkan data daribukubesarkeaplikasi excel, jadikendalanyaapabila data pada aplikasi excel hilangmaka data akanhilangsemua”.

7. Peneliti : “Apakahpengelolaan data inventarisbarang pada Politeknik Darussalam saatinisudahdirasaefektif dan efisien?”.

Narasumber : “Belum efektif dan efisien, karena proses peng-inputandata barangdilakukansecara manual sehinggamasihtergolongsulit”.

8. Peneliti : “Sistemsepertiapakah yang bapakinginkanuntukmendukungpengelolaan data inventarisbarang?”

Narasumber : “Sistem yang kami inginkandalampenginventarisbarang,

pertama kami menginginkanaplikasi yang sederhana dan

mudahuntukdigunakan, setelahitusetiappengguna SDM terutamapetugas yang

melakukanpendataaninventarisbarangdisinibisamemilikiakunsendirisehinggaa

pabilaadabarang-barangmasukpendataannyatidakbergantung pada satu orang

(5)

saja. Itulah yang kami inginkanyaituaplikasi yang mudahdigunakan, efisien dan smart using”.

9. Peneliti : “Apakahbersediajikasistem yang dirancangberbasiswebsite?”.

(6)
(7)

DOKUMENTASI

Wawancara yang Dilakukandengan Staff PengurusInventaris

Foto Bersamadengan Staff PengurusInventaris

(8)

Foto Bersamadengan Staff PengurusInventaris

ObservasiRak yang DigunakanuntukMenyimpanBukuBesar Data Inventaris

(9)

ObservasiMelihatBarang yang TermasukInventaris

ObservasiBukuBesar yang DigunakanuntukPencatatanInventarisBarang

(10)

LISTING PROGRAM 1. Database.php

<?php

namespace Config;

use CodeIgniter\Database\Config;

/**

* Database Configuration */

class Database extends Config {

/**

* The directory that holds the Migrations * and Seeds directories.

*

* @var string */

public $filesPath = APPPATH . 'Database' . DIRECTORY_SEPARATOR;

/**

* Lets you choose which connection group to * use if no other is specified.

*

* @var string */

public $defaultGroup = 'default';

/**

* The default database connection.

*

* @var array */

// public $default = [ // 'DSN' => '',

// 'hostname' => 'localhost', // 'username' => 'n1448507_rifqi', // 'password' => 's6+P~Euc#[-u', // 'database' => 'n1448507_inventaris', // 'DBDriver' => 'MySQLi',

// 'DBPrefix' => '', // 'pConnect' => false,

// 'DBDebug' => (ENVIRONMENT !== 'production'), // 'charset' => 'utf8',

// 'DBCollat' => 'utf8_general_ci', // 'swapPre' => '',

// 'encrypt' => false, // 'compress' => false, // 'strictOn' => false, // 'failover' => [], // 'port' => 3306, // ];

public $default = [ 'DSN' => '',

'hostname' => 'localhost', 'username' => 'root', 'password' => '',

'database' => 'inventaris', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false,

'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8',

'DBCollat' => 'utf8_general_ci', 'swapPre' => '',

'encrypt' => false,

(11)

'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];

/**

* This database connection is used when * runningPHPUnit database tests.

*

* @var array */

public $tests = [

'DSN' => '',

'hostname' => '127.0.0.1', 'username' => '',

'password' => '', 'database' =>':memory:', 'DBDriver' => 'SQLite3',

'DBPrefix' => 'db_', // Needed to ensure we're working correctly with prefixes live. DO NOT REMOVE FOR CI DEVS

'pConnect' => false,

'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8',

'DBCollat' => 'utf8_general_ci', 'swapPre' => '',

'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];

//---

public function __construct() {

parent::__construct();

// Ensure that we always set the database group to 'tests' if // we are currently running an automated test suite, so that // we don't overwrite live data on accident.

if (ENVIRONMENT === 'testing') {

$this->defaultGroup = 'tests';

} }

}

2. Admin.php

<?php

namespace App\Models;

use CodeIgniter\Model;

class Admin extends Model {

protected $table = 'admin';

protected $returnType = 'array';

protected $allowedFields = ['nama','email', 'username','password','foto', 'level', 'uniid', 'activation_date', 'status', 'updated_at'];

public function search($keyword){

return $this->table('admin')->like('username', $keyword);

} }

(12)

3. Jenis.php

<?php

namespace App\Models;

use CodeIgniter\Model;

class Jenis extends Model {

protected $table = 'jenis';

protected $returnType = 'array';

protected $allowedFields = ['id_jenis','nama_jenis'];

}

4. Penggunaan.php

<?php

namespace App\Models;

use CodeIgniter\Model;

class Penggunaan extends Model {

protected $table = 'penggunaan';

protected $returnType = 'array';

protected $allowedFields = ['id_penggunaan','nama_penggunaan'];

}

5. BarangMasuk.php

<?php

namespace App\Models;

use CodeIgniter\Model;

use CodeIgniter\Database\BaseBuilder;

class BarangMasuk extends Model {

protected $db;

protected $table = 'barang_masuk';

protected $returnType = 'array';

protected $allowedFields =

['id','kode_barang','nama_barang','sn','id_jenis','id_penggunaan','tanggal_masuk', 'kondisi','keterangan'];

public function get_barangmasuk1(){

return $this->db->table('barang_masuk')

->join('jenis', 'jenis.id_jenis = barang_masuk.id_jenis') ->join('penggunaan', 'penggunaan.id_penggunaan =

barang_masuk.id_penggunaan') ->get()->getResultArray();

}

public function ambil_barangmasuk($id){

return $this->db->table('barang_masuk') ->where(['id' => $id])

->get()->getResultArray();

}

public function get_barangmasuk2(){

$tanggal_sekarang = date('Y-m-d');

$tahun_lalu = date('Y-m-d', strtotime('-12 month', strtotime($tanggal_sekarang)));

$sql= "select MONTH(tanggal_masuk),COUNT(*) as 'total' from barang_masuk GROUP by MONTH(tanggal_masuk)";

return $this->db->query($sql);

(13)

}

public function get_barangmasuk3(){

$sql= "select id_jenis,COUNT(*) as 'total2' from barang_masuk GROUP by id_jenis";

return $this->db->query($sql);

}

public function get_jenis($jenis1){

$sql= "select * from jenis where id_jenis = '$jenis1'";

return $this->db->query($sql);

}

public function get_barangmasuk4(){

$sql= "SELECT * FROM barang_masuk, jenis, penggunaan where barang_masuk.id_jenis=jenis.id_jenis and

barang_masuk.id_penggunaan=penggunaan.id_penggunaan order by tanggal_masuk";

return $this->db->query($sql);

}

public function get_barangmasuk5($tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_masuk, jenis, penggunaan where barang_masuk.id_jenis=jenis.id_jenis and

barang_masuk.id_penggunaan=penggunaan.id_penggunaan and barang_masuk.tanggal_masuk BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_masuk";

return $this->db->query($sql);

}

public function get_barangmasuk6($keyword, $tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_masuk, jenis, penggunaan where barang_masuk.id_jenis=jenis.id_jenis and

barang_masuk.id_penggunaan=penggunaan.id_penggunaan and

barang_masuk.id_jenis='$keyword' and barang_masuk.tanggal_masuk BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_masuk";

return $this->db->query($sql);

}

public function get_barangmasuk7($keyword, $tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_masuk, jenis, penggunaan where barang_masuk.id_jenis=jenis.id_jenis and

barang_masuk.id_penggunaan=penggunaan.id_penggunaan and

barang_masuk.id_penggunaan='$keyword' and barang_masuk.tanggal_masuk BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_masuk";

return $this->db->query($sql);

}

public function get_barangmasuk8($keyword, $tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_masuk, jenis, penggunaan where barang_masuk.id_jenis=jenis.id_jenis and

barang_masuk.id_penggunaan=penggunaan.id_penggunaan and

barang_masuk.kondisi='$keyword' and barang_masuk.tanggal_masuk BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_masuk";

return $this->db->query($sql);

} }

6. BarangKeluar.php

<?php

namespace App\Models;

use CodeIgniter\Model;

class BarangKeluar extends Model {

protected $table = 'barang_keluar';

protected $returnType = 'array';

(14)

protected $allowedFields =

['id','kode_barang','nama_barang','sn','id_jenis','id_penggunaan','tanggal_keluar' ,'kondisi','keterangan'];

public function get_barangkeluar1(){

return $this->db->table('barang_keluar')

->join('jenis', 'jenis.id_jenis = barang_keluar.id_jenis' ) ->join('penggunaan', 'penggunaan.id_penggunaan =

barang_keluar.id_penggunaan') ->get()->getResultArray();

}

public function get_barangkeluar2(){

$sql= "select MONTH(tanggal_keluar),COUNT(*) as 'total' from barang_keluar GROUP by MONTH(tanggal_keluar)";

return $this->db->query($sql);

}

public function get_barangkeluar4(){

$sql= "SELECT * FROM barang_keluar, jenis, penggunaan where barang_keluar.id_jenis=jenis.id_jenis and

barang_keluar.id_penggunaan=penggunaan.id_penggunaan order by tanggal_keluar";

return $this->db->query($sql);

}

public function get_barangkeluar5($tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_keluar, jenis, penggunaan where barang_keluar.id_jenis=jenis.id_jenis and

barang_keluar.id_penggunaan=penggunaan.id_penggunaan and

barang_keluar.tanggal_keluar BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_keluar";

return $this->db->query($sql);

}

public function get_barangkeluar6($keyword, $tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_keluar, jenis, penggunaan where barang_keluar.id_jenis=jenis.id_jenis and

barang_keluar.id_penggunaan=penggunaan.id_penggunaan and

barang_keluar.id_jenis='$keyword' and barang_keluar.tanggal_keluar BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_keluar";

return $this->db->query($sql);

}

public function get_barangkeluar7($keyword, $tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_keluar, jenis, penggunaan where barang_keluar.id_jenis=jenis.id_jenis and

barang_keluar.id_penggunaan=penggunaan.id_penggunaan and

barang_keluar.id_penggunaan='$keyword' and barang_keluar.tanggal_keluar BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_keluar";

return $this->db->query($sql);

}

public function get_barangkeluar8($keyword, $tanggal_awal, $tanggal_akhir){

$sql= "SELECT * FROM barang_keluar, jenis, penggunaan where barang_keluar.id_jenis=jenis.id_jenis and

barang_keluar.id_penggunaan=penggunaan.id_penggunaan and

barang_keluar.kondisi='$keyword' and barang_keluar.tanggal_keluar BETWEEN '$tanggal_awal' AND '$tanggal_akhir' order by tanggal_keluar";

return $this->db->query($sql);

} }

7. Login.php

<?php

namespace App\Controllers;

use App\Models\Admin;

use SebastianBergmann\Diff\Diff;

(15)

class Login extends BaseController {

public $adminModel;

public function __construct() {

$this ->adminModel = new Admin();

helper('form');

}

public function index() {

if (session()->get('username')) {

return redirect()->to(base_url('/dashboard'));

}

$data = [

'title' => 'Login | SINPODA' ];

return view('login/login', $data);

}

public function cek_login(){

$data = [

'username' => $this-> request ->getPost('username'), 'password' => $this-> request -

>getPost('password',FILTER_SANITIZE_STRING) ];

$username = $data['username'];

$password = md5($data['password']);

$admin = $this->adminModel->where(['username' => $username, 'password' =>

$password]) -> first();

if($admin>0){

$data_user = [

'id' => $admin['id'], 'nama' => $admin['nama'], 'email' => $admin['email'], 'username' => $admin['username'], 'password' => $admin['password'], 'foto' => $admin['foto'],

'level' => $admin['level'], 'status' =>$admin['status'], 'uniid' =>$admin['uniid']

];

session()->set('id',$data_user['id']);

session()->set('nama',$data_user['nama']);

session()->set('email',$data_user['email']);

session()->set('username',$data_user['username']);

session()->set('password',$data_user['password']);

session()->set('level',$data_user['level']);

session()->set('foto',$data_user['foto']);

session()->set('status',$data_user['status']);

session()->set('uniid',$data_user['uniid']);

if($data_user['status'] == 'inactive'){

session()->setFlashdata('berhasil', 'Berhasil Login');

return redirect()->to(base_url('/aktivasi'));

} else {

session()->setFlashdata('berhasil', 'Berhasil Login');

return redirect()->to(base_url('/dashboard'));

}

} else {

session()->setFlashdata('login_error', 'Username ataupassword salah!');

return redirect()->to(base_url('/'));

} }

(16)

public function aktivasi(){

$data = [

'title' => 'AktivasiAkun | SINPODA' ];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='active'){

return redirect()->to(base_url('/dashboard'));

}

return view('login/aktivasi', $data);

}

public function kirim_aktivasi(){

$to = session()->get('email');

$uniid = md5(str_shuffle('abcdefghijklmnopqrstuvwxyz'.time()));

$subject = 'Account Activation link - SINPODA';

$message = 'Halo '.session()-

>get('nama').",<br><br>Akunandaberhasildibuat. "

."Silahkankliklinkdibawahiniuntukaktivasiakunanda.<br><br>"

. "<a href='".base_url()."/activate/".$uniid."' target='_blank'>AktivasiSekarang</a><br><br>Terima Kasih.";

$email = \Config\Services::email();

$email->setTo($to);

$email->setFrom('[email protected]', 'SINPODA - Politeknik Darussalam');

$email->setSubject($subject);

$email ->setMessage($message);

if($email -> send()){

$data = [

'uniid' => $uniid,

'activation_date' =>date('Y-m-d h:i:s') ];

$this->adminModel->set($data);

$this->adminModel->where(['id' => session()->get('id')]);

$this->adminModel->update();

session()->setFlashdata('login_success', 'Linkaktivasitelahdikirimkealamat Email anda. Silahkancek Email anda!');

return redirect()->to(base_url('/aktivasi'));

} else {

session()->setFlashdata('login_error', 'Gagalmengirimlinkaktivasi.');

return redirect()->to(base_url('/aktivasi'));

} }

public function activate($uniid=null){

$data =[];

if(!empty($uniid)){

$data = $this->adminModel->where(['uniid'=>$uniid])->First();

if($data != 0){

if($this->verifyExpiryTime($data['activation_date'])){

if($data['status'] == 'inactive'){

$this->adminModel->set(['status'=>'active']);

$this->adminModel->where(['uniid'=>$uniid]);

$this->adminModel->update();

session()->set('status','active');

session()->setFlashdata('login_success', 'Terimakasih, akunandatelahdiaktivasi.');

return redirect()->to(base_url('/aktivasi_berhasil'));

} elseif($data['status'] == 'active'){

session()->setFlashdata('login_success', 'Akunandatelahdiaktivasisebelumnya.');

return redirect()->to(base_url('/aktivasi_berhasil'));

} else{

session()->set('status','active');

session()->setFlashdata('login_success', 'Akunandatelahdiaktivasi.');

return redirect()->to(base_url('/aktivasi_berhasil'));

} } else {

session()->setFlashdata('login_error', 'Mohon maaf, linkaktivasitelah expired.');

return redirect()->to(base_url('/aktivasi_gagal'));

}

(17)

} else {

session()->setFlashdata('login_error', 'Mohon maaf, tidakdapatmenemukanakun.');

return redirect()->to(base_url('/aktivasi_gagal'));

} } else {

session()->setFlashdata('login_error', 'Mohon maaf, tidakdapatmemprosespermintaananda.');

return redirect()->to(base_url('/aktivasi_gagal'));

} }

public function verifyExpiryTime($reqTime){

$diffTime = strtotime(date("Y-m-d h:i:s")) - strtotime($reqTime);

if($diffTime< 3600){

return true;

} else {

return false;

} }

public function aktivasi_berhasil(){

$data = [

'title' => 'AktivasiBerhasil | SINPODA' ];

if(session()->get('status') == 'inactive'){

return redirect()->to(base_url('/aktivasi'));

}

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

}

return view('login/aktivasi_berhasil', $data);

}

public function aktivasi_gagal(){

$data = [

'title' => 'AktivasiGagal | SINPODA' ];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

}

return view('login/aktivasi_gagal', $data);

}

public function forgot_password(){

$data = [

'title' => 'AturUlangPassword | SINPODA' ];

return view('login/lupa_password', $data);

}

public function verify_email(){

$email = $this->request->getVar('email',FILTER_SANITIZE_EMAIL);

$data = $this ->adminModel ->where(['email' => $email]) -> first();

if($data>0){

if($data['status']=='active'){

$to = $data['email'];

$token = md5(str_shuffle('abcdefghijklmnopqrstuvwxyz'.time()));

$id = $data['id'];

$subject = 'Reset PasswordLink - SINPODA';

$message = 'Halo

'.$data['nama'].",<br><br>Permintaanandauntukmeresetpasswordtelahditerima. "

."Silahkankliklinkdibawahiniuntukmeresetpasswordakunanda.<br><br>"

. "<a href='".base_url()."/reset_password/".$token."' target='_blank'>Reset Password</a><br><br>"

."Silahkanabaikanpesaniniapabilabukananda yang melakukanpermintaan reset password.<br><br>Terima Kasih.";

(18)

$email = \Config\Services::email();

$email->setTo($to);

$email->setFrom('[email protected]', 'SINPODA - Politeknik Darussalam');

$email->setSubject($subject);

$email ->setMessage($message);

if($email -> send()){

$data = [

'uniid' => $token,

'updated_at' =>date('Y-m-d h:i:s') ];

$this->adminModel->set($data);

$this->adminModel->where(['id' => $id]);

$this->adminModel->update();

session()->setFlashdata('login_success', 'Link reset passwordtelahdikirimkealamat Email anda!<br>Harapverifikasidalamwaktu 15 menit.');

return redirect()->to(base_url('/lupa_password'));

} else {

session()->setFlashdata('login_error', 'Gagalmengirimlink reset password.');

return redirect()->to(base_url('/lupa_password'));

} } else {

session()->setFlashdata('login_error', 'Mohon maaf, email yang

andamasukkanbelumdiaktivasisehinggatidakdapatdigunakanuntukmeresetpassword.');

return redirect()->to(base_url('/lupa_password'));

} } else {

session()->setFlashdata('login_error', 'Mohon maaf, email yang andamasukkantidakterdaftar.');

return redirect()->to(base_url('/lupa_password'));

} }

public function reset_password($token=null){

if(!empty($token)){

$data = $this->adminModel->where(['uniid'=>$token])->First();

if($data != 0){

if($this->verifyExpiryTimeReset($data['updated_at'])){

if($this->request->getMethod()=='post'){

$rules = [ 'password' => [

'label' => 'Password',

'rules' => 'required|min_length[8]|max_length[18]', ],

'ulang_password' => [

'label' => 'Confirmation Password', 'rules' => 'required|matches[password]' ],

];

if($this->validate($rules)){

$password = $this->request->getVar('password');

$data_reset = [

'password' => md5($password) ];

$this->adminModel->set($data_reset);

$this->adminModel->where(['uniid' => $token ]);

$this->adminModel->update();

session()->setFlashdata('login_success', 'Passwordberhasildireset!');

return redirect()->to(base_url('/'));

} else {

$data['validation'] = $this->validator;

}

} } else {

$data['error'] = session()->setFlashdata('login_error', 'Mohon maaf, link reset telah expired.');

}

(19)

} else {

$data['error'] = session()->setFlashdata('login_error', 'Mohon maaf, tidakdapatmenemukanakun.');

} } else {

$data['error'] = session()->setFlashdata('login_error', 'Mohon maaf, tidakdapatmemprosespermintaananda.');

}

$data['title'] = 'Reset Password | SINPODA';

return view('/login/reset_password', $data);

}

public function verifyExpiryTimeReset($reqTime){

$diffTime = strtotime(date("Y-m-d h:i:s")) - strtotime($reqTime);

if($diffTime< 900){

return true;

} else {

return false;

} }

public function logout(){

session()->destroy();

session()->setFlashdata('login_error','Andaberhasil logout');

return redirect()->to(base_url('/'));

} }

8. Setting.php

<?php

namespace App\Controllers;

use App\Models\Admin;

class Setting extends BaseController {

public $adminModel;

public function __construct() {

$this->adminModel = new Admin();

helper('form');

}

public function get_profile(){

$users = $this->adminModel ->where(['id' => session() -> get('id')]) ->

first();

$data = [

'title'=>"Profile | SINPODA", 'users' => $users

];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/profile', $data);

}

public function update_profile(){

$id = $this-> request ->getVar('id');

$file_foto = $this->request->getFile('foto');

$foto_lama = $this-> request ->getVar('foto_lama');

$extension = $file_foto->getExtension();

(20)

$size = $file_foto->getSize();

$email_lama = $this-> request ->getVar('email_lama');

$email = $this-> request ->getVar('email');

$cari_email = $this->adminModel ->where(['email' => $email]);

$hitung_email = $cari_email->countAllResults();

$username = $this-> request ->getVar('username');

$username_lama = $this-> request ->getVar('username_lama');

$cari_username = $this->adminModel ->where(['username' => $username]);

$hitung = $cari_username->countAllResults();

$status_lama = $this-> request ->getVar('status_lama');

$uniid_lama = $this-> request ->getVar('uniid_lama');

if($email_lama != $email){

$status = 'inactive';

$uniid = md5(str_shuffle('abcdefghijklmnopqrstuvwxyz'.time()));

} else {

$status = $status_lama;

$uniid =$uniid_lama;

}

if($size>3000000){

session()->setFlashdata('gagal', 'File fototerlalubesar! maksimal 3MB.');

return redirect()->to(base_url('/setting/profile'));

} elseif($file_foto ->getError() != 4 && $extension != 'jpg' &&

$extension!='png' && $extension!='jpeg'){

session()->setFlashdata('gagal', 'Format foto salah! Sialahkan upload fotoberupa jpg / jpeg / png.');

return redirect()->to(base_url('/setting/profile'));

} elseif($email_lama != $email && $hitung_email == 1){

session()->setFlashdata('gagal', 'Email telahdigunakan! Silahkangunakan Email lain.');

return redirect()->to(base_url('/setting/profile'));

} elseif($username_lama != $username && $hitung == 1){

session()->setFlashdata('gagal', 'Username telahdigunakan! Silahkangunakan Username lain.');

return redirect()->to(base_url('/setting/profile'));

} else{

if($file_foto ->getError() == 4){

$nama_baru = $foto_lama;

} elseif($foto_lama != 'default.png') { unlink('img/admin/'.$foto_lama);

$nama_foto = $file_foto->getName();

$file_foto -> move('img/admin');

$nama_baru =

str_shuffle('abcdefghijklmnopqrstuvwxyz').'_'.session()->get('nama').'.png';

\Config\Services::image()-

>withFile('img/admin/'.$nama_foto)->fit(300, 300, 'top-center')-

>save('img/admin/'.$nama_baru);

unlink('img/admin/'.$nama_foto);

} else{

$nama_foto = $file_foto->getName();

$file_foto -> move('img/admin');

$nama_baru =

str_shuffle('abcdefghijklmnopqrstuvwxyz').'_'.session()->get('nama').'.png';

\Config\Services::image()-

>withFile('img/admin/'.$nama_foto)->fit(300, 300, 'top-center')-

>save('img/admin/'.$nama_baru);

unlink('img/admin/'.$nama_foto);

} $data = [

'nama' => $this-> request ->getVar('nama'), 'email' => $this-> request ->getVar('email'), 'username' => $this-> request ->getVar('username'), 'foto' => $nama_baru,

'status' => $status, 'uniid' => $uniid,

'updated_at' =>date('Y-m-d h:i:s') ];

$this->adminModel->set($data);

$this->adminModel->where(['id' => $id]);

(21)

$this->adminModel->update();

session()->set('nama',$data['nama']);

session()->set('email',$data['email']);

session()->set('username',$data['username']);

session()->set('foto',$data['foto']);

session()->set('status',$data['status']);

session()->set('uniid',$data['uniid']);

session()->setFlashdata('berhasil', 'BerhasilMemperbarui Profile');

return redirect()->to(base_url('/setting/profile'));

} }

public function get_password(){

$users = $this->adminModel ->where(['id' => session() -> get('id')]) ->

first();

$data = [

'title'=>"UbahPassword | SINPODA", 'users'=>$users

];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/password', $data);

}

public function update_password(){

$id = $this->request->getVar('id');

$password1 = md5($this->request->getVar('password_lama'));

$users = $this->adminModel ->where(['id' => $id]) -> first();

$password_lama = $users['password'];

$password_baru = $this->request->getVar('password_baru');

$uppercase = preg_match('@[A-Z]@', $password_baru);

$lowercase = preg_match('@[a-z]@', $password_baru);

$number = preg_match('@[0-9]@', $password_baru);

$password2 = md5($this->request->getVar('password_baru'));

$password3 = md5($this->request->getVar('ulang_password_baru'));

if($password1 != $password_lama){

session()->setFlashdata('gagal', 'Password lama tidaksesuai!

silahkanmasukkanpassword lama denganbenar.');

return redirect()->to(base_url('/setting/password'));

} elseif(!$uppercase || !$lowercase || !$number ||

strlen($password_baru)<8){

session()->setFlashdata('gagal', 'Passwordharuslebihdari 8 karakter, mengandunghuruf BESAR, hurufkecil dan angka.');

return redirect()->to(base_url('/setting/password'));

} elseif($password2 != $password3){

session()->setFlashdata('gagal', 'Silahkanulangipassworddenganbenar.');

return redirect()->to(base_url('/setting/password'));

} else { $data = [

'password' => $password3 ];

$this->adminModel->set($data);

$this->adminModel->where(['id' => $id]);

$this->adminModel->update();

session()->setFlashdata('berhasil', 'BerhasilMemperbaruiPassword');

return redirect()->to(base_url('/setting/password'));

} } }

9. Admincontrol.php

<?php

(22)

namespace App\Controllers;

use App\Models\Admin;

class AdminControl extends BaseController {

public $adminModel;

public function __construct() {

$this->adminModel = new Admin();

helper('form');

}

public function get_admin(){

$users = $this->adminModel->findAll();

$data = [

'title'=>"Data Admin | SINPODA", 'users' => $users

];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/admin', $data);

}

public function save_admin(){

$file_foto = $this->request->getFile('foto');

$size = $file_foto->getSize();

$extension = $file_foto->getExtension();

$email = $this-> request ->getVar('email');

$cari_email = $this->adminModel ->where(['email' => $email]);

$hitung_email = $cari_email->countAllResults();

$username = $this-> request ->getVar('username');

$cari_username = $this->adminModel ->where(['username' => $username]);

$hitung = $cari_username->countAllResults();

$password1 = $this->request->getVar('password');

$uppercase = preg_match('@[A-Z]@', $password1);

$lowercase = preg_match('@[a-z]@', $password1);

$number = preg_match('@[0-9]@', $password1);

$password2 = md5($this->request->getVar('password'));

$password3 = md5($this->request->getVar('ulangi_password'));

(23)

if($password2 != $password3){

session()->setFlashdata('gagal', 'Silahkanulangipassworddenganbenar.');

return redirect()->to(base_url('/admin/admin'));

} elseif(!$uppercase || !$lowercase || !$number || strlen($password1)<8){

session()->setFlashdata('gagal', 'Passwordharuslebihdari 8 karakter, mengandunghurufbesar, hurufkecil dan angka.');

return redirect()->to(base_url('/admin/admin'));

} elseif($size>3000000){

session()->setFlashdata('gagal', 'File fototerlalubesar! maksimal 3MB.');

return redirect()->to(base_url('/admin/admin'));

} elseif($file_foto ->getError() != 4 && $extension != 'jpg' &&

$extension!='png' && $extension!='jpeg'){

session()->setFlashdata('gagal', 'Format foto salah! Sialahkan upload fotoberupa jpg / jpeg / png.');

return redirect()->to(base_url('/admin/admin'));

} elseif($hitung_email == 1){

session()->setFlashdata('gagal', 'Email telahdigunakan! Silahkangunakan Email lain.');

return redirect()->to(base_url('/admin/admin'));

} elseif($hitung == 1){

session()->setFlashdata('gagal', 'Username telahdigunakan! Silahkangunakan Username lain.');

return redirect()->to(base_url('/admin/admin'));

} else{

if($file_foto->getError() == 4){

$nama_baru = 'default.png';

}else{

$nama_foto = $file_foto->getName();

$file_foto -> move('img/admin');

$nama_baru

=str_shuffle('abcdefghijklmnopqrstuvwxyz').'_'.$nama_foto;

\Config\Services::image()-

>withFile('img/admin/'.$nama_foto)->fit(300, 300, 'top-center')-

>save('img/admin/'.$nama_baru);

unlink('img/admin/'.$nama_foto);

}

$uniid = md5(str_shuffle('abcdefghijklmnopqrstuvwxyz'.time()));

$data = [

'nama' => $this-> request ->getVar('nama'), 'email' => $email,

'username' => $username, 'password' => $password2, 'foto' => $nama_baru,

'level' => $this-> request ->getVar('level'), 'uniid' => $uniid,

'activation_date' =>date("Y-m-d h:i:s")

(24)

];

$this->adminModel->insert($data);

session()->setFlashdata('berhasil', 'BerhasilMenambahkan Data Admin Baru!

Selahkancek Email yang didaftarkanuntukaktivasiakun.');

return redirect()->to(base_url('/admin/admin'));

} }

public function update_admin(){

$id = $this-> request ->getVar('id');

$file_foto = $this->request->getFile('foto');

$foto_lama = $this-> request ->getVar('foto_lama');

$extension = $file_foto->getExtension();

$size = $file_foto->getSize();

$email_lama = $this-> request ->getVar('email_lama');

$email = $this-> request ->getVar('email');

$cari_email = $this->adminModel ->where(['email' => $email]);

$hitung_email = $cari_email->countAllResults();

$username = $this-> request ->getVar('username');

$username_lama = $this-> request ->getVar('username_lama');

$cari_username = $this->adminModel ->where(['username' => $username]);

$hitung = $cari_username->countAllResults();

$status_lama = $this-> request ->getVar('status_lama');

$uniid_lama = $this-> request ->getVar('uniid_lama');

if($email_lama != $email){

$status = 'inactive';

$uniid = md5(str_shuffle('abcdefghijklmnopqrstuvwxyz'.time()));

} else {

$status = $status_lama;

$uniid =$uniid_lama;

}

if($size>3000000){

session()->setFlashdata('gagal', 'File fototerlalubesar! maksimal 3MB.');

return redirect()->to(base_url('/admin/admin'));

} elseif($file_foto ->getError() != 4 && $extension != 'jpg' &&

$extension!='png' && $extension!='jpeg'){

session()->setFlashdata('gagal', 'Format foto salah! Sialahkan upload fotoberupa jpg / jpeg / png.');

return redirect()->to(base_url('/admin/admin'));

} elseif($email_lama != $email && $hitung_email == 1){

session()->setFlashdata('gagal', 'Email telahdigunakan! Silahkangunakan Email lain.');

return redirect()->to(base_url('/admin/admin'));

} elseif($username_lama != $username && $hitung == 1){

(25)

session()->setFlashdata('gagal', 'Username telahdigunakan! Silahkangunakan Username lain.');

return redirect()->to(base_url('/admin/admin'));

} else{

if($file_foto ->getError() == 4){

$nama_baru = $foto_lama;

} elseif($foto_lama != 'default.png') { unlink('img/admin/'.$foto_lama);

$nama_foto = $file_foto->getName();

$file_foto -> move('img/admin');

$nama_baru

=str_shuffle('abcdefghijklmnopqrstuvwxyz').'_'.$nama_foto;

\Config\Services::image()-

>withFile('img/admin/'.$nama_foto)->fit(300, 300, 'top-center')-

>save('img/admin/'.$nama_baru);

unlink('img/admin/'.$nama_foto);

} else{

$nama_foto = $file_foto->getName();

$file_foto -> move('img/admin');

$nama_baru

=str_shuffle('abcdefghijklmnopqrstuvwxyz').'_'.$nama_foto;

\Config\Services::image()-

>withFile('img/admin/'.$nama_foto)->fit(300, 300, 'top-center')-

>save('img/admin/'.$nama_baru);

unlink('img/admin/'.$nama_foto);

}

$data = [

'nama' => $this-> request ->getVar('nama'), 'email' => $this-> request ->getVar('email'), 'username' => $this-> request ->getVar('username'), 'foto' => $nama_baru,

'level' => $this-> request ->getVar('level'), 'status' => $status,

'uniid' => $uniid,

'updated_at' =>date('Y-m-d h:i:s') ];

$this->adminModel->set($data);

$this->adminModel->where(['id' => $id]);

$this->adminModel->update();

session()->setFlashdata('berhasil', 'BerhasilMemperbarui Data Admin');

return redirect()->to(base_url('/admin/admin'));

} }

public function delete_admin($id){

$this->admin = $this->adminModel -> find($id);

if($this->admin['foto'] != 'default.png'){

(26)

unlink('img/admin/'.$this->admin['foto']);

}

$this->adminModel->delete($id);

session()->setFlashdata('berhasil', 'BerhasilMenghapus Data Admin');

return redirect()->to(base_url('/admin/admin'));

} }

10. Kategori.php

<?php

namespace App\Controllers;

use App\Models\Jenis;

use App\Models\Penggunaan;

class Kategori extends BaseController {

public $jenisModel;

public $penggunaanModel;

public function __construct() {

$this->jenisModel = new Jenis();

$this->penggunaanModel = new Penggunaan();

helper('form');

}

public function get_jenis(){

$jenis = $this->jenisModel->findAll();

$data = [

'title'=>"Data Jenis | SINPODA", 'jenis' => $jenis

];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/jenis', $data);

}

public function save_jenis(){

$jenis = $this->request->getVar('jenis');

$cari_jenis = $this->jenisModel ->where(['nama_jenis' => $jenis]);

$hitung_jenis = $cari_jenis->countAllResults();

(27)

if($hitung_jenis == 1){

session()->setFlashdata('gagal', 'Jenisbarangtelahada, silahkanmasukkanjenisbarang lain!');

return redirect()->to(base_url('/kategori/jenis'));

} else{

$data = [

'nama_jenis' => $jenis ];

$this->jenisModel->insert($data);

session()->setFlashdata('berhasil', 'Berhasilmenambahkanjenisbarangbaru!');

return redirect()->to(base_url('/kategori/jenis'));

} }

public function delete_jenis($id_jenis){

$this->jenisModel->where(['id_jenis' => $id_jenis]);

$this->jenisModel->delete();

session()->setFlashdata('berhasil', 'Berhasilmenghapus data jenisbarang!');

return redirect()->to(base_url('/kategori/jenis'));

}

public function update_jenis(){

$id_jenis = $this-> request ->getVar('id_jenis');

$nama_jenislama = $this-> request ->getVar('nama_jenislama');

$jenis = $this->request->getVar('jenis');

$cari_jenis = $this->jenisModel ->where(['nama_jenis' => $jenis]);

$hitung_jenis = $cari_jenis->countAllResults();

if($hitung_jenis == 1 && $jenis!=$nama_jenislama){

session()->setFlashdata('gagal', 'Jenisbarangtelahada, silahkanmasukkanjenisbarang lain!');

return redirect()->to(base_url('/kategori/jenis'));

} else{

$data = [

'nama_jenis' => $jenis ];

$this->jenisModel->set($data);

$this->jenisModel->where(['id_jenis' => $id_jenis]);

$this->jenisModel->update();

session()->setFlashdata('berhasil', 'Berhasilmemperbarui data jenisbarang!');

return redirect()->to(base_url('/kategori/jenis'));

} }

public function get_penggunaan(){

(28)

$penggunaan = $this->penggunaanModel->findAll();

$data = [

'title'=>"Data Penggunaan | SINPODA", 'penggunaan' => $penggunaan

];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/penggunaan', $data);

}

public function save_penggunaan(){

$penggunaan = $this->request->getVar('penggunaan');

$cari_penggunaan = $this->penggunaanModel ->where(['nama_penggunaan' =>

$penggunaan]);

$hitung_penggunaan = $cari_penggunaan->countAllResults();

if($hitung_penggunaan == 1){

session()->setFlashdata('gagal', 'penggunaanbarangtelahada, silahkanmasukkanpenggunaanbarang lain!');

return redirect()->to(base_url('/kategori/penggunaan'));

} else{

$data = [

'nama_penggunaan' => $penggunaan ];

$this->penggunaanModel->insert($data);

session()->setFlashdata('berhasil', 'Berhasilmenambahkanpenggunaanbarangbaru!');

return redirect()->to(base_url('/kategori/penggunaan'));

} }

public function delete_penggunaan($id_penggunaan){

$this->penggunaanModel->where(['id_penggunaan' => $id_penggunaan]);

$this->penggunaanModel->delete();

session()->setFlashdata('berhasil', 'Berhasilmenghapus data penggunaanbarang!');

return redirect()->to(base_url('/kategori/penggunaan'));

}

public function update_penggunaan(){

$id_penggunaan = $this-> request ->getVar('id_penggunaan');

$nama_penggunaanlama = $this-> request ->getVar('nama_penggunaanlama');

(29)

$penggunaan = $this->request->getVar('penggunaan');

$cari_penggunaan = $this->penggunaanModel ->where(['nama_penggunaan' =>

$penggunaan]);

$hitung_penggunaan = $cari_penggunaan->countAllResults();

if($hitung_penggunaan == 1 && $penggunaan!=$nama_penggunaanlama){

session()->setFlashdata('gagal', 'penggunaanbarangtelahada, silahkanmasukkanpenggunaanbarang lain!');

return redirect()->to(base_url('/kategori/penggunaan'));

} else{

$data = [

'nama_penggunaan' => $penggunaan ];

$this->penggunaanModel->set($data);

$this->penggunaanModel->where(['id_penggunaan' => $id_penggunaan]);

$this->penggunaanModel->update();

session()->setFlashdata('berhasil', 'Berhasilmemperbarui data penggunaanbarang!');

return redirect()->to(base_url('/kategori/penggunaan'));

} } }

11. Inventaris.php

<?php

namespace App\Controllers;

use App\Models\Jenis;

use App\Models\Penggunaan;

use App\Models\BarangMasuk;

use App\Models\BarangKeluar;

class Inventaris extends BaseController {

public $jenisModel;

public $penggunaanModel;

public $barangmasukModel;

public $barangkeluarModel;

public function __construct() {

$this->jenisModel = new Jenis();

$this->penggunaanModel = new Penggunaan();

$this->barangmasukModel = new BarangMasuk();

$this->barangkeluarModel = new BarangKeluar();

helper('form');

}

(30)

public function get_barangmasuk(){

$barangmasuk = $this->barangmasukModel->findAll();

$data = [

'title'=>"Data Barang Masuk | SINPODA",

'barangmasuk' => $this->barangmasukModel->get_barangmasuk1(), 'barangmasuk2' => $barangmasuk,

'jenis' => $this->jenisModel->findAll(),

'penggunaan' => $this->penggunaanModel->findAll() ];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/barang_masuk', $data);

}

public function save_barangmasuk(){

$kode = $this->request->getVar('kode');

$nama = $this->request->getVar('nama');

$jenis = $this->request->getVar('jenis');

$penggunaan = $this->request->getVar('penggunaan');

$tanggal_masuk = $this->request->getVar('tanggal_masuk');

$kondisi = $this->request->getVar('kondisi');

$keterangan = $this->request->getVar('keterangan');

$cari_kode = $this->barangmasukModel ->where(['kode_barang' => $kode]);

$hitung_kode = $cari_kode->countAllResults();

if($keterangan == ''){

$keterangan_new = '-';

} elseif($keterangan != '') { $keterangan_new = $keterangan;

}

if($hitung_kode == 1){

session()->setFlashdata('gagal', 'Kode barangtelahada, silahkanmasukkankodebarang lain!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

} else{

$data = [

'kode_barang' => $kode, 'nama_barang' => $nama, 'id_jenis' => $jenis,

'id_penggunaan' => $penggunaan,

(31)

'tanggal_masuk' => $tanggal_masuk, 'kondisi' => $kondisi,

'keterangan' => $keterangan_new ];

$this->barangmasukModel->insert($data);

session()->setFlashdata('berhasil', 'Berhasilmenambahkan data barangmasuk!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

} }

public function update_barangmasuk(){

$id = $this->request->getVar('id');

$kode = $this->request->getVar('kode');

$kode_lama = $this->request->getVar('kode_lama');

$nama = $this->request->getVar('nama');

$jenis = $this->request->getVar('jenis');

$penggunaan = $this->request->getVar('penggunaan');

$tanggal_masuk = $this->request->getVar('tanggal_masuk');

$kondisi = $this->request->getVar('kondisi');

$keterangan = $this->request->getVar('keterangan');

$cari_kode = $this->barangmasukModel ->where(['kode_barang' => $kode]);

$hitung_kode = $cari_kode->countAllResults();

if($keterangan == ''){

$keterangan_new = '-';

} elseif($keterangan != '') { $keterangan_new = $keterangan;

}

if($hitung_kode == 1 && $kode!=$kode_lama){

session()->setFlashdata('gagal', 'Kode barangtelahada, silahkanmasukkankodebarang lain!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

} else{

$data = [

'kode_barang' => $kode, 'nama_barang' => $nama, 'id_jenis' => $jenis,

'id_penggunaan' => $penggunaan, 'tanggal_masuk' => $tanggal_masuk, 'kondisi' => $kondisi,

'keterangan' => $keterangan_new ];

$this->barangmasukModel->set($data);

$this->barangmasukModel->where(['id' => $id]);

(32)

$this->barangmasukModel->update();

session()->setFlashdata('berhasil', 'Berhasilmemperbarui data barangmasuk!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

} }

public function delete_barangmasuk($id){

$this->barangmasukModel->where(['id' => $id]);

$this->barangmasukModel->delete();

session()->setFlashdata('berhasil', 'Berhasilmenghapus data barangmasuk!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

}

public function save_barangkeluar($id){

$kode = $this->request->getVar('kode');

$nama = $this->request->getVar('nama');

$jenis = $this->request->getVar('jenis');

$penggunaan = $this->request->getVar('penggunaan');

$kondisi = $this->request->getVar('kondisi');

$keterangan = $this->request->getVar('keterangan');

$cari_kode = $this->barangkeluarModel ->where(['kode_barang' => $kode]);

$hitung_kode = $cari_kode->countAllResults();

if($keterangan == ''){

$keterangan_new = '-';

} elseif($keterangan != '') { $keterangan_new = $keterangan;

}

if($hitung_kode == 1){

session()->setFlashdata('gagal', 'Kode barangtelahada, silahkanmasukkankodebarang lain!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

} else{

$data = [

'kode_barang' => $kode, 'nama_barang' => $nama, 'id_jenis' => $jenis,

'id_penggunaan' => $penggunaan,

'tanggal_keluar' =>date("Y-m-d h:i:s"), 'kondisi' => $kondisi,

'keterangan' => $keterangan_new ];

$this->barangkeluarModel->insert($data);

$this->barangmasukModel->where(['id' => $id]);

$this->barangmasukModel->delete();

(33)

session()->setFlashdata('berhasil',

'Berhasilmemindahkanbarangmasukmenjadibarangkeluar!');

return redirect()->to(base_url('/inventaris/barangmasuk'));

} }

public function get_barangkeluar(){

$barangkeluar = $this->barangkeluarModel->findAll();

$data = [

'title'=>"Data BarangKeluar | SINPODA",

'barangkeluar' => $this->barangkeluarModel->get_barangkeluar1(), 'barangkeluar2' => $barangkeluar,

'jenis' => $this->jenisModel->findAll(),

'penggunaan' => $this->penggunaanModel->findAll() ];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/barang_keluar', $data);

}

public function update_barangkeluar(){

$id = $this->request->getVar('id');

$kode = $this->request->getVar('kode');

$kode_lama = $this->request->getVar('kode_lama');

$nama = $this->request->getVar('nama');

$jenis = $this->request->getVar('jenis');

$penggunaan = $this->request->getVar('penggunaan');

$tanggal_keluar = $this->request->getVar('tanggal_keluar');

$kondisi = $this->request->getVar('kondisi');

$keterangan = $this->request->getVar('keterangan');

$cari_kode = $this->barangkeluarModel ->where(['kode_barang' => $kode]);

$hitung_kode = $cari_kode->countAllResults();

if($keterangan == ''){

$keterangan_new = '-';

} elseif($keterangan != '') { $keterangan_new = $keterangan;

}

if($hitung_kode == 1 && $kode!=$kode_lama){

session()->setFlashdata('gagal', 'Kode barangtelahada, silahkankeluarkankodebarang lain!');

(34)

return redirect()->to(base_url('/inventaris/barangkeluar'));

} else{

$data = [

'kode_barang' => $kode, 'nama_barang' => $nama, 'id_jenis' => $jenis,

'id_penggunaan' => $penggunaan, 'tanggal_keluar' => $tanggal_keluar, 'kondisi' => $kondisi,

'keterangan' => $keterangan_new ];

$this->barangkeluarModel->set($data);

$this->barangkeluarModel->where(['id' => $id]);

$this->barangkeluarModel->update();

session()->setFlashdata('berhasil', 'Berhasilmemperbarui data barangkeluar!');

return redirect()->to(base_url('/inventaris/barangkeluar'));

} }

public function delete_barangkeluar($id){

$this->barangkeluarModel->where(['id' => $id]);

$this->barangkeluarModel->delete();

session()->setFlashdata('berhasil', 'Berhasilmenghapus data barangkeluar!');

return redirect()->to(base_url('/inventaris/barangkeluar'));

} }

12. Laporan.php

<?php

namespace App\Controllers;

use App\Models\Jenis;

use App\Models\Penggunaan;

use App\Models\BarangMasuk;

use App\Models\BarangKeluar;

use Mpdf\Mpdf;

class Laporan extends BaseController {

public $jenisModel;

public $penggunaanModel;

public $barangmasukModel;

public $barangkeluarModel;

public function __construct() {

(35)

date_default_timezone_set('Asia/Jakarta');

$this->jenisModel = new Jenis();

$this->penggunaanModel = new Penggunaan();

$this->barangmasukModel = new BarangMasuk();

$this->barangkeluarModel = new BarangKeluar();

helper('form');

}

public function get_laporanbarangmasuk(){

$filter = $this->request->getVar('filter');

$keyword = $this->request->getVar('keyword');

$tanggal_awal = $this->request->getVar('tanggal_awal');

$tanggal_akhir = $this->request->getVar('tanggal_akhir');

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

if($filter == '' && $keyword=''){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

} elseif ($filter == 'semua' && $keyword == 'semua'){

$barangmasuk = $this->barangmasukModel->

get_barangmasuk5($tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'jenis'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk6($keyword,

$tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'penggunaan'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk7($keyword,

$tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'kondisi'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk8($keyword,

$tanggal_awal, $tanggal_akhir);

}

$jenis = $this->jenisModel->findAll();

$penggunaan = $this->penggunaanModel->findAll();

$data = [

'title'=>"LaporanBarang Masuk | SINPODA", 'barangmasuk'=>$barangmasuk,

'jenis'=>$jenis,

'penggunaan'=>$penggunaan, 'filter' =>$filter,

'keyword'=>$keyword,

'tanggal_awal'=>$tanggal_awal, 'tanggal_akhir'=>$tanggal_akhir ];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

(36)

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/laporan_barangmasuk', $data);

}

public function pdf_barangmasuk(){

$filter = $this->request->getVar('filter');

$keyword = $this->request->getVar('keyword');

$tanggal_awal = $this->request->getVar('tanggal_awal');

$tanggal_akhir = $this->request->getVar('tanggal_akhir');

$hari = date('d-m-Y');

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

if($filter == '' && $keyword='' && $tanggal_awal == '' && $tanggal_akhir == ''){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

} elseif ($filter == 'semua' && $keyword == 'semua'){

$barangmasuk = $this->barangmasukModel->

get_barangmasuk5($tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'jenis'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk6($keyword,

$tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'penggunaan'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk7($keyword,

$tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'kondisi'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk8($keyword,

$tanggal_awal, $tanggal_akhir);

}

$jenis = $this->jenisModel->findAll();

$penggunaan = $this->penggunaanModel->findAll();

$data = [

'title'=>"LaporanBarang Masuk | SINPODA", 'barangmasuk'=>$barangmasuk,

'jenis'=>$jenis,

'penggunaan'=>$penggunaan, 'filter' =>$filter,

'keyword'=>$keyword,

'tanggal_awal'=>$tanggal_awal, 'tanggal_akhir'=>$tanggal_akhir ];

$html = view('dashboard/pdf_barangmasuk', $data);

(37)

$mpdf = new \Mpdf\Mpdf();

$mpdf->AddPage('P', '', '', '', '', 5, 5, 25, 22, 0, 0);

$mpdf->SetTitle("LaporanBarang Masuk");

$mpdf->SetAuthor("LaporanBarang Masuk Politeknik Darussalam");

$mpdf->SetKeywords("LaporanBarang Masuk");

$mpdf->SetSubject("LaporanBarang Masuk");

$mpdf->SetCreator("[email protected]");

$stylesheet = file_get_contents('css/cetak.css');

$mpdf->WriteHTML($stylesheet, 1);

$mpdf->WriteHTML($html,2);

$mpdf->Output('DATA LAPORAN BARANG MASUK - '.$hari.'.pdf', 'I');

exit;

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

} }

public function excel_barangmasuk(){

$filter = $this->request->getVar('filter');

$keyword = $this->request->getVar('keyword');

$tanggal_awal = $this->request->getVar('tanggal_awal');

$tanggal_akhir = $this->request->getVar('tanggal_akhir');

$hari = date('d-m-Y');

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

if($filter == '' && $keyword=''){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

} elseif ($filter == 'semua' && $keyword == 'semua'){

$barangmasuk = $this->barangmasukModel->

get_barangmasuk5($tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'jenis'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk6($keyword,

$tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'penggunaan'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk7($keyword,

$tanggal_awal, $tanggal_akhir);

} elseif ($filter == 'kondisi'){

$barangmasuk = $this->barangmasukModel-> get_barangmasuk8($keyword,

$tanggal_awal, $tanggal_akhir);

}

(38)

$jenis = $this->jenisModel->findAll();

$penggunaan = $this->penggunaanModel->findAll();

$data = [

'title'=>"LaporanBarang Masuk - ".$hari, 'barangmasuk'=>$barangmasuk,

'jenis'=>$jenis,

'penggunaan'=>$penggunaan, 'filter' =>$filter,

'keyword'=>$keyword,

'tanggal_awal'=>$tanggal_awal, 'tanggal_akhir'=>$tanggal_akhir ];

if(session()->get('username')==''){

session()->setFlashdata('login_error','Silahkan login untukmengaksessistem');

return redirect()->to(base_url('/'));

} elseif(session()->get('status')=='inactive'){

return redirect()->to(base_url('/aktivasi'));

}

return view('dashboard/excel_barangmasuk', $data);

}

public function print_barangmasuk(){

$filter = $this->request->getVar('filter');

$keyword = $this->request->getVar('keyword');

$tanggal_awal = $this->request->getVar('tanggal_awal');

$tanggal_akhir = $this->request->getVar('tanggal_akhir');

$hari = date('d-m-Y');

$barangmasuk = $this->barangmasukModel-> get_barangmasuk4();

if($filter == '' && $keyword=''){

$barangmasuk = $this->barangmasukModel->

Gambar

Foto Bersamadengan Staff PengurusInventaris
Foto Bersamadengan Staff PengurusInventaris

Referensi

Dokumen terkait

Aplikasi web juga merupakan suatu perangkat lunak komputer yang dikodekan dalam bahasa pemrograman yang mendukung perangkat lunak berbasis web seperti HTML, JavaScript, CSS, Ruby,

Data dosen tetap yang bidang keahliannya sesuai dengan bidang

Puji syukur atas kehadirat Tuhan YME yang telah melimpahkan segala rahmat dan karuniaNya, sehingga penulis dapat menyelesaikan laporan skripsi yang

Form data disposisi merupakan halaman yang tampil ketika admin memilih menu disposisi perizinan, sistem akan menampilkan data disposisi yang ada di dalam

Berdasarkan observasi yang dilakukan di Kecamatan Tomo Kabupaten Sumedang bahwa pada sistem yang sedang berjalan dalam proses pengelolaan data KK dan KTP sudah