• Tidak ada hasil yang ditemukan

Interface Halaman Pengaturan Pengguna

Dalam dokumen BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN (Halaman 37-62)

Gambar IV.25. Halaman Pengaturan Pengguna

Keterangan :

1) Hak Akses : Penguna

2) Nama : Halaman Pengaturan Pengguna 3) Fungsi : Merubah data login pengguna.

N. Interface Halaman Login Admin

Gambar IV.26. Halaman Login Admin

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Login Admin

3) Fungsi : Untuk masuk ke halaman admin.

O. Interface Halaman Data Master Admin

Gambar IV.27. Halaman Data Master Admin

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Admin 3) Fungsi : Mengelola data master admin.

P. Interface Halaman Data Master Jabatan

Gambar IV.28. Halaman Data Master Jabatan

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Jabatan 3) Fungsi : Mengelola data master jabatan.

Q. Interface Halaman Data Master Karyawan

Gambar IV.29. Halaman Data Master Karyawan

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Karyawan 3) Fungsi : Mengelola data master karyawan.

R. Interface Halaman Data Master Lembur

Gambar IV.30. Halaman Data Master Lembur

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Lembur 3) Fungsi : Mengelola data master lembur.

S. Interface Halaman Data Master Pengguna

Gambar IV.31. Halaman Data Master Pengguna

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Data Master Pengguna 3) Fungsi : Mengelola data master pengguna

T. Interface Halaman Pengaturan Admin

Gambar IV.32. Halaman Pengaturan Admin

Keterangan :

1) Hak Akses : Admin

2) Nama : Halaman Pengaturan Admin 3) Fungsi : Merubah data login admin.

4.3. Code Generation A. Class Absen

<!--

/**********************************************************

*/

/

/

/ @copyright handc0de

/

/ [email protected]

/

/

/

/**********************************************************

*/

-->

<?php

class Absen extends CI_Controller {

public function __construct() { parent::__construct();

//load model

$this->load->model('Mabsen');

$this->load->model('Mkaryawan');

//load helper

$this->load->helper(array('url', 'form'));

}

public function index() {

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

$data['title'] = "Aplikasi Absensi";

$data['judul'] = "Absen";

$data['nik'] = $nik;

$jam = date('H:i:s');

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

$jam_pembatas = date('H');

if(!empty($nik)) {

$this->cek = $this->Mkaryawan->get_byidrow($nik);

if ($this->cek>0) {

if ($jam_pembatas < '16') {

if ($jam_pembatas < '08') {

$kehadiran = 'TW';

$keterangan = 'Tepat Waktu';

} else {

$kehadiran = 'TL';

$keterangan = 'Telat';

}

$w = "nik='$nik' and

tanggal='$tanggal'";

$this->cekabsen = $this->Mabsen-

>get_bydatarow($w);

if ($this->cekabsen>0) {

$data['pesan'] = "<div

class='alert alert-block alert-danger fade in'>

<button data-dismiss='alert' class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Gagal!</strong> Anda sudah melakukan absen masuk

</div>";

$data['gambar'] = 'no-pict.png';

$data['folder_gambar'] = 'default';

$data['keterangan'] = 'Data not found';

$data['jam'] = 'Data not

found';

} else {

$encoded_data = $this->input-

>post('mydata');

$binary_data =

base64_decode($encoded_data);

// save to server (beware of

permissions)

$date = date('Y-m-d H-i-s');

$gambar = $date.".jpg";

$result = file_put_contents(

'./upload/absen_masuk/'.$date.'.jpg', $binary_data );

$d = array(

'tanggal'

=> $tanggal,

'jam_masuk' =>

$jam,

'jam_keluar' =>

'',

'status_absen' =>

'1',

'status_kehadiran' =>

$kehadiran,

'gambar_absenmasuk' =>

$gambar,

'nik'

=> $nik

);

$this->Mabsen->insert($d);

$data['pesan'] = "<div

class='alert alert-success fade in'>

<button data-dismiss='alert' class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Sukses!</strong>

Berhasil melakukan absen masuk

</div>";

$data['gambar'] = $gambar;

$data['folder_gambar'] = 'absen_masuk';

$data['keterangan'] = $keterangan;

$data['jam'] = 'Anda

melakukan Absen Masuk pada jam '.$jam;

}

} else {

$w = "nik='$nik' and status_absen='2'

and tanggal='$tanggal'";

$this->cekabsen = $this->Mabsen-

>get_bydatarow($w);

if ($this->cekabsen>0) {

$data['pesan'] = "<div

class='alert alert-block alert-danger fade in'>

<button data-dismiss='alert' class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Gagal!</strong> Anda sudah melakukan absen hari ini

</div>";

$data['gambar'] = 'no-pict.png';

$data['folder_gambar'] = 'default';

$data['keterangan'] = 'Data not found';

$data['jam'] = 'Data not

found';

} else {

$encoded_data = $this->input-

>post('mydata');

$binary_data = base64_decode($encoded_data);

// menyimpan pict ke server

$date = date('Y-m-d H-i-s');

$gambar = $date.".jpg";

$result = file_put_contents(

'./upload/absen_keluar/'.$date.'.jpg', $binary_data );

$this->result = $this-

>Mkaryawan->get_join($nik);

foreach ($this->result as $h) {}

if ($h->jabatanid == "1" or $h-

>jabatanid == "3") {

$banyak_lembur = '0';

} else {

if ($jam_pembatas >

"20") {

$banyak_lembur

= "4";

} else {

$banyak_lembur

= $jam_pembatas - "16";

}

}

$d = array(

'jam_keluar'

=> $jam,

'status_absen'

=> '2',

'gambar_absenkeluar' =>

$gambar,

'banyak_lembur'

=> $banyak_lembur

);

$w = array (

'tanggal' =>

$tanggal,

'nik' =>

$nik

);

$this->Mabsen->update($d,$w);

$data['pesan'] = "<div

class='alert alert-success fade in'>

<button data-dismiss='alert' class='close close-sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Sukses!</strong>

Berhasil melakukan absen keluar

</div>";

$data['gambar'] = $gambar;

$data['folder_gambar'] = 'absen_keluar';

$data['keterangan'] = 'Anda lembur selama '.$banyak_lembur.' jam';

$data['jam'] = 'Anda

melakukan Absen Keluar pada jam '.$jam;

}

}

} else {

$data['pesan'] = "<div class='alert alert-block alert-danger fade in'>

<button data-dismiss='alert' class='close close- sm' type='button'>

<i class='fa fa-times'></i>

</button>

<strong>Gagal!</strong> Nik anda tidak ditemukan

</div>";

$data['gambar'] = 'no-pict.png';

$data['folder_gambar'] = 'default';

$data['keterangan'] = 'Data not found';

$data['jam'] = 'Data not found';

}

} else {

$data['pesan'] = "";

}

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

} }

?>

Listing Program IV.1. Class Absen B. View Absen

<!--

/**********************************************************

*/

/ /

/ @copyright handc0de / / [email protected] / / /

/**********************************************************

*/

-->

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial- scale=1.0">

<title><?php echo $judul ?> | <?php echo $title ?></title>

<link href="<?php echo base_url() ?>assets/css/bootstrap.min.css"

rel="stylesheet">

<link href="<?php echo base_url() ?>assets/font-awesome/css/font- awesome.css" rel="stylesheet">

<link href="<?php echo base_url() ?>assets/css/animate.css"

rel="stylesheet">

<link href="<?php echo base_url() ?>assets/css/style.css"

rel="stylesheet">

</head>

<body class="gray-bg">

<h1 align="center">Selamat datang di Aplikasi Absensi Karyawan PT RAMA JASINDO ABADI</h1>

<blink><h3 align="center">Gunakan barcode yang sudah disediakan agar lebih cepat melakukan absensi</h3></blink>

<div class="loginColumns animated fadeInDown" style="margin-top:- 70px">

<div class="row">

<div class="col-md-6">

<div class="ibox-content">

<h2 class="form-signin-heading">Absen Karyawan</h2>

<form method="POST" action="<?php echo base_url('Absen') ?>">

<input type="text" name="nik" class="form-control"

placeholder="nik" autofocus><br>

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

value=""/>

<input type="submit" class="btn btn-primary"

onClick="take_snapshot()" value="Absen" style="width:100%;">

</form><br>

<div id="my_camera"></div>

<p class="m-t">

<small style="color:red">*Masukkan nik anda secara manual jika barcode error</small>

</p>

</div>

</div>

<div class="col-md-6">

<div class="ibox-content">

<?php

if(!empty($nik)) {

$this->db->where('nik',$nik);

$q = $this->db->get('karyawan');

$cari = $q->num_rows();

if ($cari>0) {

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

$this->db->from("karyawan");

$this->db-

>join("jabatan","jabatan.jabatanid=karyawan.jabatanid");

$this->db->where('karyawan.nik',$nik);

$q = $this->db->get();

foreach ($q->result() as $tampil) {}

?>

<h2 align="center">Selamat datang</h2>

<center><img

style="width:150px;height:150px;margin-top:2%;" src="<?php echo base_url('upload/'.$folder_gambar.'/'.$gambar) ?>"></center>

<table width="100%" style="margin-top:5%;margin- bottom:5%;">

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">NIK</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $tampil->nik ?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Nama</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $tampil->namakaryawan

?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Jabatan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $tampil->namajabatan

?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Keterangan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $keterangan ?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Jam</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $jam ?></div></td>

</tr>

</table>

<?php } else {

?>

<h2 align="center">Selamat datang</h2>

<center><img style="width:150px;height:150px;margin- top:2%;" src="<?php echo base_url('upload/default/no-pict.png')

?>"></center>

<table width="100%" style="margin-top:5%;margin- bottom:5%;">

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">NIK</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Nama</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Jabatan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Keterangan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $keterangan ?></div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Jam</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;"><?php echo $jam ?></div></td>

</tr>

</table>

<?php }

echo $pesan ?>

<?php } else { ?>

<h2 align="center">Selamat datang</h2>

<center><img style="width:150px;height:150px;margin- top:2%;" src="<?php echo base_url('upload/default/no-pict.png')

?>"></center>

<table width="100%" style="margin-top:5%;margin- bottom:5%;">

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">NIK</div></td>

<td width="2%">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Nama</div></td>

<td width="2%">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Jabatan</div></td>

<td width="2%">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Keterangan</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

<tr>

<td width="23%"><div

style="background:red;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;text-align:right;">Jam</div></td>

<td width="2%" align="center">:</td>

<td width="75%" height="30px"><div

style="background:blue;color:white;padding:5px;margin:5px;border- radius:5px;font-weight:bold;">Data not found</div></td>

</tr>

</table>

<?php echo $pesan ?>

<?php } ?>

</div>

</div>

</div>

<hr/>

<div class="row">

<div class="col-md-6">

PT RAMA JASINDO ABADI </div>

<div class="col-md-6 text-right">

<small>© 2016 - <?php echo date('Y') ?></small>

</div>

</div>

</div>

<!-- First, include the Webcam.js JavaScript Library -->

<script type="text/javascript" src="<?php echo base_url()

?>assets/webcam/webcam.js"></script>

<!-- Configure a few settings and attach camera -->

<script language="JavaScript">

Webcam.set({

width: 330, height: 240,

image_format: 'jpeg', jpeg_quality: 90 });

Webcam.attach( '#my_camera' );

</script>

<script language="JavaScript">

function take_snapshot() {

// take snapshot and get image data Webcam.snap( function(data_uri) { // display results in page

var raw_image_data =

data_uri.replace(/^data\:image\/\w+\;base64\,/, '');

document.getElementById('mydata').value = raw_image_data;

} );

}

</script>

</body>

</html>

Listing Progran IV.2. View Absen C. Model Absen

<!--

/**********************************************************

*/

/ /

/ @copyright handc0de / / [email protected] / / /

/**********************************************************

*/

-->

<?php

class Mabsen extends CI_Model {

var $table = 'absensi';

var $table_join = 'karyawan';

var $table_join_by = 'nik';

var $table_join2 = 'jabatan';

var $table_join2_by = 'jabatanid';

public function get_bydatarow($w) { $this->db->where($w);

return $this->db->get($this->table)->num_rows();

}

public function insert($d) {

$this->db->insert($this->table, $d);

}

public function update($d,$w) { $this->db->where($w);

$this->db->update($this->table,$d);

}

public function get_all() {

return $this->db->query("SELECT * from absensi

inner join

karyawan on karyawan.nik=absensi.nik

inner join jabatan

on jabatan.jabatanid=karyawan.jabatanid

order by

absensi.tanggal DESC");

}

public function get_bydata($data) { $this->db->where($data);

return $this->db->get($this->table);

}

public function get_bydatajoin($data) {

return $this->db->query("SELECT * from absensi

inner join

karyawan on karyawan.nik=absensi.nik

inner join jabatan

on jabatan.jabatanid=karyawan.jabatanid

where $data

order by

absensi.tanggal DESC");

}

public function get_bydatajoinlembur($data) {

return $this->db->query("SELECT * from absensi

inner join

karyawan on karyawan.nik=absensi.nik

inner join jabatan

on jabatan.jabatanid=karyawan.jabatanid

inner join lembur

on lembur.jabatanid=jabatan.jabatanid

where $data

order by

absensi.tanggal DESC");

}

}

?>

Listing Program IV.3. Model Absen

Dalam dokumen BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN (Halaman 37-62)

Dokumen terkait