• Tidak ada hasil yang ditemukan

Tampilan Form Tambah Absen Masuk

Dalam dokumen bab iv rancangan sistem dan program usulan (Halaman 47-67)

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

Dalam dokumen bab iv rancangan sistem dan program usulan (Halaman 47-67)

Dokumen terkait