Gambar IV.42
Tampilan Form Tambah Absen Masuk 16. Tampilan Form Tambah Pinjaman
Gambar IV.43
Tampilan Form Tambah Pinjaman 17. Tampilan Form Tambah Uang Insentif
Gambar IV.44
Tampilan Form Tambah Uang Insentif 18. Tampilan Form Cetak Rekap Absensi
Gambar IV.45
Tampilan Form Cetak Rekap Absensi 19. Tampilan Form Cetak Slip Upah
Gambar IV.46
Tampilan Form Cetak Slip Upah
4.3. Code Generation
4.3.1. Code Generation Class Karyawan (controller)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Karyawan extends MX_Controller { function __construct() {
parent::__construct();$this->load->model('m_karyawan'); } public function index()
{if($this->session->userdata('login')) {
$session_data = $this->session->userdata('login');
$data['username'] = $session_data['username'];
$data['user'] = $session_data['user'];
$data['judul']="Beranda";
$data['module']="karyawan";
$data['view_file']="beranda"; echo modules::run('template/user_template',
$data);}
else { $data['login']="Login karyawan";
$data['module']="karyawan";
$data['view_file']="login";echo modules::run('template/login_template',
$data);}}
function username(){
$session_data = $this->session->userdata('login');
$username= $session_data['username'];
echo $username;}
function user(){
$session_data = $this->session->userdata('login');
$user=$session_data['user'];
echo $user;}
public function datakaryawan(){
$data['nama_jabatan']=$this->m_karyawan->getjabatan();
$data['judul']="Data Karyawan";
$data['module']="karyawan";
$data['view_file']="karyawan";
echo modules::run('template/admin_template',$data); } public function getnama_jabatan(){
$data['nama_jabatan']=$this->m_karyawan->getjabatan();
return $nama_jabatan;}
function datatables_ajax() {
if( isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']=='xmlhttpreqst' ) {
$datatables = $_POST;
$datatables['table'] = 'karyawan';
$datatables['col-display'] = array('kd_karyawan', 'nama_jabatan', 'jenis_kelamin', 'nama','tanggal_masuk', 'alamat','nohp');
$datatables['join'] = "INNER JOIN jabatan ON karyawan.kd_jabatan = jabatan.kd_jabatan";$this->m_karyawan->Datatables($datatables)}
return;}
function login() {
$username = $this->input->post('username',TRUE);
$password = $this->input->post('password',TRUE);
$result = $this->m_karyawan->login($username, $password);
if($result) {
foreach($result as $ro) {
$da = array( 'username'=>$ro->nama,'user'=>$ro->kd_karyawan );
$this->session->set_userdata('login',$da);}
redirect('karyawan');}
else {redirect('karyawan?gagal=1'); }}
function editp(){
$id=$this->uri->segment(3);
$dt=$this->m_karyawan->editp($id);
$data['kode']=$dt->kd_karyawan;
$data['nohp']=$dt->nohp;
$data['alamat']=$dt->alamat;
$data['user']=$dt->username;
$data['password']=$dt->password;
$data['judul']="Edit Profile";
$data['module']="karyawan";
$data['view_file']="editp";
echo modules::run('template/user_template',$data);}
function tambah(){
$data['klas'] = $this->m_karyawan->getjabatan();
$data['kodeunik'] = $this->m_karyawan->getkodeunik();
if($session_data = $this->session->userdata('logged_in')){
$data['username'] = $session_data['username'];
$data['user'] = $session_data['user'];
$data['judul']="Tambah Karyawan";
$data['module']="karyawan";
$data['view_file']="tkaryawan";
echo modules::run('template/admin_template',$data);}
else{ $data['login']="Login Admin";
$data['module']="admin";
$data['view_file']="login";
echo modules::run('template/login_template',$data);}
function hapus(){
$u=$this->uri->segment(3);
$this->m_karyawan->hapus($u);
redirect('karyawan/datakaryawan');}
function enama(){ $kode=$this->input->post('pk');
$this->m_karyawan->enama($kode); } function ejabatan(){ $kode=$this->input->post('pk');
$this->m_karyawan->ejabatan($kode);}
function ealamat(){ $kode=$this->input->post('pk');
$this->m_karyawan->ealamat($kode);}
function etanggal(){ $kode=$this->input->post('pk');
$this->m_karyawan->etanggal($kode);}
function enohp(){ $kode=$this->input->post('pk');
$this->m_karyawan->enohp($kode);}
function updatep(){ $kode=$this->input->post('kode');
$this->m_karyawan->updatep($kode);
redirect('karyawan?not=1');}
function insert(){
$this->m_karyawan->insert();
redirect('karyawan/tambah?not=1');}
function logout() {
$this->session->unset_userdata('logged_in');
session_destroy();
redirect('karyawan/index');} }
4.3.2. Code Generation Class M_karyawan (model)
<?php
class M_karyawan extends CI_Model{
function __construct(){
parent::__construct();}
function Datatables($dt){
$columns = implode(', ', $dt['col-display']);
$join = $dt['join'];
$sql = "SELECT {$columns},jabatan.kd_jabatan FROM {$dt['table']}
{$join}";
$data = $this->db->query($sql);
$rowCount = $data->num_rows();
$data->free_result();
$columnd = $dt['col-display'];
$count_c = count($columnd);
$search = $dt['search']['value'];
$where = ''; if ($search != '') { for ($i=0; $i < $count_c ; $i++) {
$where .= $columnd[$i] .' LIKE "%'. $search .'%"' if ($i < $count_c - 1) {
$where .= ' OR ' }}}
if ($where != '') {
$sql .= " WHERE " . $where; $sql .= " ORDER BY
{$columnd[$dt['order'][0]['column']]} {$dt['order'][0]['dir']}";
$start = $dt['start'];
$length = $dt['length'];
$sql .= " LIMIT {$start}, {$length}";
$list = $this->db->query($sql);
$buka="<a";$tutup="</a>$option['draw']= $dt['draw'];
$option['recordsTotal'] = $rowCount;$option['recordsFiltered'] = function login($username, $password) {
$this -> db -> select('kd_karyawan,password,nama');
$this -> db -> from('karyawan'); //nama tabel pada database
$this -> db -> where('username', $username);
$this -> db -> where('password', $password);
$this -> db -> limit(1); $query = $this -> db -> get();
if($query -> num_rows() == 1) { return $query->result();}
else {
return false ;}}
function editp($a){
$d=$this->db->get_where('karyawan',array('kd_karyawan'=>$a));
if($d -> num_rows() == 1{ return $d->row}
redirect('karyawan/logout');}}
function getjabatan() {
$data = array();
$query = $this->db->query("SELECT kd_jabatan,nama_jabatan FROM jabatan");if ($query->num_rows() > 0) {
foreach ($query->result_array() as $row){
$data[] = $row; } }
$query->free_result();
return $data; }
function insert(){
$kode= $this->input->post('kode');
$nama = $this->input->post('nama');
$jk = $this->input->post('jeniskelamin');
kd_jabatan= $this->input->post('nama_jabatan');
alamat = $this->input->post('alamat');
$tanggal= $this->input->post('tanggal_masuk');
$dat = date_create($tanggal);
$date=date_format($dat, 'Y-m-d');
$password=$date;
$username=$kode;
$nohp= $this->input->post('nohp');
$data = array('kd_karyawan'=>$kode, 'kd_jabatan'=>$kd_jabatan,
'nama'=>$nama, 'jenis_kelamin'=>$jk, 'alamat'=>$alamat, 'tanggal_masuk'=>$date, 'password'=>$password, 'nohp'=>$nohp,
'username'=>$username);
$this->db->insert('karyawan',$data);}
function getnama($kd){
$this->db->select('nama_jabatan')->from('jabatan')->where('kd_jabatan',
$kd);
$query=$this->db->get();
if($query->num_rows()>0){return $query->row()->nama_jabatan;}return false;}
function ejabatan($kode){
$kd_jabatan = $this->input->post('value');
$this->db->set('kd_jabatan',$kd_jabatan);
$this->db->where('kd_karyawan',$kode);
$this->db->update('karyawan');}
function ealamat($kode){
$alamat= $this->input->post('value');
$this->db->set('alamat',$alamat);
$this->db->where('kd_karyawan',$kode);
$this->db->update('karyawan');}
function etanggal($kode){
$tanggal= $this->input->post('value');
$this->db->set('tanggal_masuk',$tanggal);
$this->db->where('kd_karyawan',$kode);
$this->db->update('karyawan');}
function enohp($kode){
$nohp = $this->input->post('value');
$this->db->set('nohp',$nohp);
$this->db->where('kd_karyawan',$kode);
$this->db->update('karyawan');}
function updatep($kode){
$username= $this->input->post('username');
$password= $this->input->post('password');
$nohp= $this->input->post('nohp');
$alamat= $this->input->post('alamat');
$data=array('alamat'=>$alamat,'username'=>$username,'password'=>$pass word, 'nohp'=>$nohp);
$this->db->where('kd_karyawan',$kode);
$this->db->update('karyawan',$data);}
function getkodeunik() {
$tanggal=date("ymd");
$q = $this->db->query("SELECT
MAX(CONVERT(kd_karyawan,signed)) AS idmax FROM karyawan HAVING MAX(CONVERT(kd_karyawan,signed)) like '%$tanggal%'");
$kd = ""; //kode awal
if($q->num_rows()>0){ //jika data ada foreach($q->result() as $k){
$kd =$k->idmax+1; }}
else{ $kd = $tanggal."01";}
return $kd; } }
4.4. Testing
Dalam proses pengujian (testing) terhadap sistem pengupahan karyawan Terapis ini penulis menggunakan jenis pengujian blackbox. Pengujian dilakukan dengan menjalankan sistem dan melihat keluarannya (output), apakah sudah sesuai yang diharapkan atau belum. Adapun pengujian yang penulis lakukan hanya terkait dengan proses bisnis utamanya saja yang disajikan dalam tabel dibawah ini:
Tabel IV.36
Blackbox Testing Pada Form Login Admin NO Skenario
Pengujian
Test Case Hasil yang diharapka n
Hasil Pengujian
Kesimpula n
1. Mengosongka n Username dan Password lalu menekan tombol login.
Username:
(kosong), Password:
(kosong)
Muncul pesan data harus diisi
Sesuai harapan
Valid
2. Mengisi Username dengan benar
dan salah
mengisi
Password lalu menekan tombol login.
Username:
(isi benar), Password (isi salah)
Muncul pesan username atau password salah
Sesuai
harapan Valid
3. Mengisi password dengan benar
dan salah
mengisi
username lalu menekan tombol login.
Username:
(isi salah), Password (isi benar)
Muncul Pesan username atau password salah
Sesuai harapan
Valid
4. Mengisi
username dan password dengan benar
Username:
(isi benar), Password (isi benar)
Masuk kehalam admin
Sesuai harapan
Valid
lalu menekan tombol login.
Tabel IV.37
Blackbox testing Pada Form Tambah Karyawan N
O
Skenario Pengujian
Test Case Hasil yang diharapka n
Hasil Pengujian
Kesimp ulan 1. Tidak memilih
nama jabatan, jenis kelamin, mengosongkan nama, alamat, tanggal masuk, dan nomer HP lalu menekan tombol simpan
Nama jabatan:
(tidak dipilih) Jenis kelamin:
(tidak dipilih) Nama:
(kosong) Alamat:
(kosong) Tanggal masuk:
(kosong) No.HP (kosong)
Muncul pesan data harus diisi
Sesuai harapan
Valid
2. Mengisi tanggal masuk selain dengan angka
Tanggal masuk:
(isi salah)
Tanggal masuk tidak dapat terisi
Sesuai harapan
Valid
3. Mengisi nomer HP dengan huruf.
simbol tanda baca dan simbol
Nomer HP:
(isi salah) Muncul pesan data yang di inputkan
Sesuai
harapan Valid
matematika salah 4. Memilih nama
jabatan, jenis kelamin, mengisi nama, alamat, tanggal masuk, dan nomer HP dengan benar lalu menekan tombol simpan.
Nama jabatan:
(dipilih) Jenis kelamin:
(dipilih) Nama:
(isi benar) Alamat:
(isi benar) Tanggal masuk:
(isi benar) No.HP (isi benar)
Muncul pesan data berhasil disimpan
Sesuai
harapan Valid
Tabel IV.38
Blackbox testing Pada Form Tambah Cuti NO Skenario
Pengujian
Test Case Hasil yang diharapkan
Hasil Pengujian
Kesimpula n
1. Mengosongka n nama terapis tanggal awal, tanggal akhir dan keperluan.
Nama terapis:
(kosong) Tanggal awal:
(kosong) Tanggal akhir:
(kosong) Keperluan :
(kosong)
Muncul validasi data harus diisi
Sesuai harapan
Valid
2. Mengisi kolom nama terapis dengan nama yang tidak sesuai. Lalu menekan tombol simpan
Nama terapis:
(isi salah)
Muncul validasi nama terapis tidak ditemukan
Sesuai harapan
Valid
3. Mengisi 2 huruf pertama nama terapis
Nama terapis:
(isi 2
huruf)
Muncul nama-nama terapis yang bersangkutan .
Sesuai
harapan Valid
4. Mengisi
tanggal awal dan tanggal akhir selain dengan angka
Tanggal awal:
(isi salah) Tanggal akhir:
(isi salah)
Tanggal awal dan tanggal akhir tidak dapat terisi.
Sesuai harapan
Valid
5. Mengisi nama terapis, tanggal awal, tanggal
akhir dan
keperluan dengan benar lalu menekan tombol simpan
Nama terapis (isi benar), tanggal awal (isi benar), Tanggal akhir:
(isi benar), Keperluan :
(isi benar)
Muncul alert data berhasil disimpan
Sesuai harapan
Valid
Tabel IV.39
Blackbox testing Pada Form Tambah Komisi Terapis
NO Skenario Pengujian
Test Case Hasil yang diharapkan
Hasil Pengujian
Kesimpula n
1. Mengosongka n nama terapis
dan nama
tamu, lalu menekan tombol simpan
Nama terapis:
(kosong), Nama tamu:
(kosong)
Muncul validasi data harus diisi
Sesuai harapan
Valid
2. Mengisi kolom nama terapis dengan nama yang tidak sesuai. Lalu menekan tombol simpan
Nama terapis:
(isi salah)
Muncul validasi nama terapis tidak ditemukan
Sesuai harapan
Valid
3. Mengisi dua huruf pertama nama terapis
Nama terapis:
(isi dua huruf)
Muncul nama-nama terapis yang bersangkutan .
Sesuai harapan
Valid
4. Mengisi nama Nama Muncul Sesuai Valid
nama tamu dengan benar lalu menekan tombol
simpan.
(isi benar), nama tamu (isi benar)
berhasil disimpan
Tabel IV.40
Blackbox testing Pada Form Tambah Absen Masuk
NO Skenario Pengujian
Test Case Hasil yang diharapkan
Hasil Pengujian
Kesimpula n
1. Mengosongka n nama terapis dan jam masuk
Nama terapis:
(kosong), Jam masuk:
(kosong)
Muncul pesan data harus diisi
Sesuai harapan
Valid
2. Salah mengisi nama terapis, lalu menekan tombol
simpan.
Nama terapis:
(isi salah)
Muncul validasi nama terapis tidak ditemukan
Sesuai harapan
Valid
Lanjutan Blackbox testing Pada Form Tambah Komisi Terapis 3. Mengisi 2
huruf pertama nama terapis
Nama terapis:
(isi 2
huruf)
Muncul nama-nama terapis yang bersangkutan .
Sesuai harapan
Valid
4. Mengisi jam masuk dengan huruf, simbol tanda baca dan simbol
matematika
Jam masuk:
(isi salah)
Jam masuk tidak dapat terisi selain dengan angka
Sesuai harapan
Valid
5. Mengisi nama terapis, dan jama masuk dengan benar lalu menekan tombol simpan
Nama terapis (isi benar), jam masuk (isi benar),
Muncul pesan data berhasil disimpan
Sesuai harapan
Valid
4.5. Support
Support menjelaskan tentang publikasi web, spesifikasi hardware dan software yang akan digunakan untuk menjalankan sistem pengupahan karyawan
terapis berbasis WEB pada CV. Zenko.
4.5.1. Publikasi Web
Hal pertama yang wajib dimiliki untuk mempublikasikan website adalah webhosting dan domain. Penulis melakukan penyewaan hosting melalui sebuah
penyedia jasa hosting dari www.jagoanhosting.com dan registrasi domain untuk website ini adalah upahzenko.com.
Cara upload website ke internet:
1. Hal pertama yang harus dilakukan adalan login ke cPanel dengan menggunakan username dan password yang didapat dari member area . 2. Pilih menu MySQL Database yang terdapat didalam cPanel, kemudian buat
database baru, selanjutnya buat MySQL user baru untuk mendapatkan hak ases dan tambahkan user yang baru saja dibuat ke database yang telah dibuat sebelumnya.
3. Pilih menu phpMyadmin yang terdapat didalam cPanel, kemudian pilih database yang telah dibuat, selanjutnya pilih menu import untuk import database.
4. Pilih menu File Manager yang terdapat didalam cPanel, kemudian pilih direkrori public_html, selanjutnya upload file didalam direktori tersebut.
Untuk memudahkan proses upload, sebaiknya file berekstensi .Zip.
5. Buka file yang berhubungan dengan database, kemudian sesuaikan nama database, username dan password.
4.5.2. Spesifikasi Hardware dan Software
Untuk mendukung berjalannya sistem pengupahan karyawan terapis, penulis menggunakan beberapa spesifikasi hardware dan software minimum yang akan digunakan untuk menjalankan sistem.
1. Spesifikasi Hardware
Tabel IV.41 Spesifikasi Hardware
Kebutuhan Keterangan
Monitor LCD 11”
Processor Intel(R) Atom (TM) CPU N2600 @1.60GHz
RAM 2.00 GB
Harddisk 500GB
Printer Hp Deskjet 2000
2. Spesifikasi Software
Tabel IV.42 Spesifikasi Software
Kebutuhan Keterangan
Operating System Windows 7 Ultimate
Browser Google Chrome, Mozilla Firefox
Web Server Cpsrvd 11.58.0.20
Database MySQL
3. Spesifikasi Software Pendukung
Berikut ini merupakan spesifikasi software yang digunakan untuk mendukung pembuatan sistem pengupahan karyawan terapis berbasis WEB.
Tabel IV.43
Spesifikasi Software Pendukung
Kebutuhan Keterangan
Text Editor Adobe Dreamweaver CC 2015
Browser Google Chrome, Mozilla Firefox
Desain Database Microsoft Office Visio 2003 Unified Modeling Language Enterprise Architect Version 12.1
Web Server Wamp Server Version 2.5
4.6. Spesifikasi Dokumen Sistem Usulan 4.6.1. Nama Dokumen : Data Karyawan Alfa
Fungsi : Untuk mengetahui karyawan yang tidak hadir tanpa keterangan.
Sumber : Admin/Kasir
Tujuan : Admin/Kasir
Media : Tampilan
Frekuensi : Setiap jam 4 Sore
Format : Lampiran B – 1
4.6.2. Nama Dokumen : Data Cuti Karyawan
Fungsi : Untuk mengetahui sisa dan detail cuti karyawan.
Sumber : Admin/Kasir
Tujuan : Admin/Kasir
Media : Tampilan
Frekuensi : Setiap karyawan mengajukan cuti