LAMPIRAN
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?
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?”.
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
saja. Itulah yang kami inginkanyaituaplikasi yang mudahdigunakan, efisien dan smart using”.
9. Peneliti : “Apakahbersediajikasistem yang dirancangberbasiswebsite?”.
DOKUMENTASI
Wawancara yang Dilakukandengan Staff PengurusInventaris
Foto Bersamadengan Staff PengurusInventaris
Foto Bersamadengan Staff PengurusInventaris
ObservasiRak yang DigunakanuntukMenyimpanBukuBesar Data Inventaris
ObservasiMelihatBarang yang TermasukInventaris
ObservasiBukuBesar yang DigunakanuntukPencatatanInventarisBarang
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,
'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);
} }
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);
}
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';
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;
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('/'));
} }
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'));
}
} 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.";
$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.');
}
} 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();
$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]);
$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
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'));
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")
];
$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){
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'){
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();
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(){
$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');
$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');
}
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,
'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]);
$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();
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!');
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() {
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');
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);
$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);
}
$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->