Implementasi Perangkat Lunak

5.1. Implementasi Perangkat Lunak

Implementasi sistem merupakan tahap dimana sistem ini siap dioperasikan pada keadaan sebenarnya. Pembahasan ini akan diketahui apakah sistem yang dibuat benar-benar dapat menghasilkan tujuan yang diinginkan yang didasarkan pada analisis dan desain yang telah dilakukan.

5.1.1. Implementasi Basis Data

Implementasi basis data merupakan transformasi desain data yang dihasilkan dari proses proses perancangan data menjadi suatu database . Dalam SI-LKCH ini,

d atabase yang dibangun terdiri dari tiga tabel. Adapun query untuk membuat basis data dalam SI-LCKH adalah sebagai berikut.

CREATE DATABASE si-lckh;

Gambar 5.1. Implementasi Basis Data SI-LCKH Tabel-tabel dalam basis data yang dibuat dalam sistem manajemen basis data MySQL dengan nama „si-lckh‟ adalah sebagai berikut.

a. Tabel data_pegawai Tabel data_pegawai merupakan tabel di dalam basis data yang berisikan informasi-informasi mengenai detail biodata pegawai negeri sipil Kementerian Agama Jawa Tengah. Tabel data_pegawai digunakan untuk menyimpan data a. Tabel data_pegawai Tabel data_pegawai merupakan tabel di dalam basis data yang berisikan informasi-informasi mengenai detail biodata pegawai negeri sipil Kementerian Agama Jawa Tengah. Tabel data_pegawai digunakan untuk menyimpan data

CREATE TABLE data_pegawai (

nip varchar(20) NOT NULL, password varchar(40) NOT NULL, nama varchar(60) NOT NULL, unit_kerja varchar(60) NOT NULL, jabatan varchar(60) NOT NULL, tanggal_lahir date NOT NULL, agama varchar(20) NOT NULL, kelamin varchar(20) NOT NULL, npwp varchar(20) NOT NULL, PRIMARY KEY (‘nip’)

Gambar 5.2. Implementasi Tabel data_pegawai

b. Tabel laporan_pegawai Tabel laporan_pegawai merupakan tabel di dalam basis data yang berisikan kumpulan laporan seluruh pegawai yang dibuat setiap harinya. Basis data laporan ini hanya dapat diakses oleh pegawai yang berkaitan, ataupun atasan yang memiliki kesamaan unit kerja. Adapun query untuk membuat tabel laporan_pegawai dalam SI-LCKH adalah sebagai berikut.

CREATE TABLE laporan_pegawai (

id_laporan int(10) NOT NULL, nip varchar(20) NOT NULL, kegiatan text NOT NULL, output text NOT NULL, volume int(11) NOT NULL, satuan varchar(20) NOT NULL, keterangan text NULL, tanggal_laporan date NOT NULL approve int(1) NOT NULL, PRIMARY KEY (‘id_laporan’)

Gambar 5.3. Implementasi Tabel laporan_pegawai

c. Tabel administrator Tabel administrator merupakan tabel di dalam basis data yang berisikan data mengenai data autentifikasi administrator berupa username dan password . Sistem ini hanya memiliki seorang administrator dan tidak dapat ditambahkan. Adapun query untuk membuat tabel administrator dalam SI-LCKH adalah sebagai berikut.

CREATE TABLE administrator (

username varchar(60) NOT NULL, password varchar(60) NOT NULL,

PRIMARY KEY (‘username’)

Gambar 5.4. Implementasi Tabel administrator

5.1.2. Implementasi Algoritma

Implementasi algoritma pada SI-LCKH Pegawai Negeri Sipil Kementerian Agama Kantor Wilayah Provinsi Jawa Tengah merupakan realisasi dari Flowchart yang telah dibuat sebelumnya. Bahasa yang digunakan pada implementasi ini adalah bahasa pemrograman PHP yang ditulis sebagai runtutan fungsi-fungsi. Berikut

adalah implementasi algoritma pada SI-LCK:

a. Algoritma Melakukan Login Login dilakukan oleh pegawai ataupun administrator yang memiliki username dan password . Jika cocok, maka pegawai ataupun adminsitrator dapat masuk ke sistem.

<?php include '../config/db_login.php'; session_start();

$nip

= $_POST['nip'];

$password

= $_POST['password'];

$nip

= filter($nip);

$password = filter($password);

$query = mysql_query("SELECT * FROM data_pegawai WHERE nip = '$nip' AND password = '$password'"); $result = mysql_fetch_array($query); $r

= mysql_num_rows($query);

if ($r > 0){

$_SESSION['nip']

= $result['nip'];

$_SESSION['nama']

= $result['nama'];

$_SESSION['id_unit']

= $result['id_unit']; $_SESSION['unit_kerja'] = $result['unit_kerja']; $_SESSION['jabatan']

= $result['jabatan'];

if ($kode_unit1 == '9999'){

$_SESSION['eselon']

= '1';

header('location:../admin/index.php'); }elseif ($kode_unit1 == '0000'){

$_SESSION['eselon']

= '2';

header('location:../report/index.php'); }elseif ($kode_unit2 == '00'){

$_SESSION['eselon']

= '3';

header('location:../report/index.php'); }elseif ($kode_unit3 == '0'){

$_SESSION['eselon']

= '4';

header('location:../report/index.php'); }else{

$_SESSION['eselon']

= '5';

header('location:../report/index.php');

}else

header('location:gagal.php');

b. Algoritma Menulis Laporan Algoritma untuk menulis laporan dilakukan oleh pegawai saat membuka halaman pembuatan laporan. Pegawai dapat mengganti keterangan kehadirannya saat dia sedang sakit, ijin, atau dinas luar. Jika, pegawai hadir, maka dapat mengisi laporan sesuai kinerja sebanyak yang dilakukannya. Kemudian, data tersebut disimpan dan menunggu untuk ditindaklanjuti oleh atasan.

<?php require_once('../config/db_login.php'); $db = new mysqli($db_host, $db_username, $db_password,

$db_database);

if ($db->connect_errno){ die ("Could not connect to the database:

</br>".$db->connect_error);

session_start(); $nip

= $_SESSION['nip'];

$tanggal

= $_SESSION['tanggal'];

$kegiatan = $_POST['kegiatan']; $output

= $_POST['output'];

$volume

= $_POST['volume'];

$satuan

= $_POST['satuan'];

$keterangan = $_POST['keterangan'];

$kegiatan = filter($kegiatan); $output

= filter($output);

$volume

= filter($volume);

$satuan

= filter($satuan);

$keterangan = filter($keterangan);

//Assign query $query = "INSERT INTO laporan_pegawai(nip, kegiatan,

output, volume, satuan, keterangan, tanggal_laporan)VALUES('$nip', '$kegiatan', '$output', '$volume', '$satuan', '$keterangan', '$tanggal')";

//Execute query $result = $db->query($query); if(!$result){

die("Could not query the database: </br>".$db

>error);

}else{

echo '1 record added. </br></br>';

c. Algoritma Menindaklanjuti Laporan Atasan pegawai dalam SI-LCKH Pegawai Negeri Sipil Kementerian Agama Kantor Wilayah Provinsi Jawa Tengah dapat menindaklanjuti laporan bawahannya, apakah disetujui atau tidak. Kemudian bawahan menerima hasil laporan yang telah ditindaklanjutinya tersebut.

<?php include '../config/db_login.php'; session_start(); if(!isset($_SESSION['nip'])){

header('location:../index.php');

} $tanggal

= $_SESSION['tanggal'];

$nippegawai = $_SESSION['nippegawai'];

$laporan = mysql_query("UPDATE laporan_pegawai SET approve='1' WHERE nip='$nippegawai' and tanggal_laporan='$tanggal'");

header("location:ganti_laporan_pegawai.php?tgl=$tanggal") ; ?>

d. Algoritma Membuat Akun Administrator dapat membuat akun pegawai baru. Akun pegawai baru dapat dibuat dengan syarat bahwa akun tersebut belum pernah dibuat sebelumnya. Administator membuat akun pegawai baru dengan cara mengisikan formulir data pegawai, kemudian sistem menyimpannya dalam basis data.

<?php include '../config/db_login.php'; session_start(); if(!isset($_SESSION['nip'])){

header('location:../index.php');

$nip

= $_POST['nip'];

$password

= $_POST['password'];

$nama

= $_POST['nama'];

$id_unit

= $_POST['id_unit'];

$unit_kerja

= $_POST['unit_kerja'];

$jabatan

= $_POST['jabatan'];

$tanggal_lahir = $_POST['tanggal_lahir']; $kode_golongan

= $_POST['kode_golongan']; $agama

= $_POST['agama'];

$kelamin

= $_POST['kelamin'];

$npwp

= $_POST['npwp'];

$cekvalid = mysql_num_rows(mysql_query("SELECT nip from data_pegawai WHERE nip = '$nip'"));

if ($cekvalid == 0){ $query = mysql_query("INSERT INTO data_pegawai(nip, password ,nama, id_unit, unit_kerja, jabatan, tanggal_lahir, kode_golongan, agama, kelamin, npwp) VALUES ('$nip', '$password', '$nama', '$id_unit', '$unit_kerja', '$jabatan', '$tanggal_lahir', '$kode_golongan', '$kode_agama', '$kode_kelamin', '$npwp')"); if ($cekvalid == 0){ $query = mysql_query("INSERT INTO data_pegawai(nip, password ,nama, id_unit, unit_kerja, jabatan, tanggal_lahir, kode_golongan, agama, kelamin, npwp) VALUES ('$nip', '$password', '$nama', '$id_unit', '$unit_kerja', '$jabatan', '$tanggal_lahir', '$kode_golongan', '$kode_agama', '$kode_kelamin', '$npwp')");

//jika berhasil input data

header('location:sukses.php'); }else { //jika gagal input header('location:gagal.php'); } }else {

header('location:gagal.php');

e. Algoritma Mengganti Password Password dalam akun SI-LCKH Pegawai Negeri Sipil Kementerian Agama Kantor Wilayah Provinsi Jawa Tengah dapat diganti dengan mengisikan formulir berupa password lama, password baru, dan konfirmasi password baru. Jika formulir-formulir ini terisi dengan benar, maka password akan sukses terganti dan langsung tersimpan di dalam basis data.

<?php include '../config/db_login.php'; session_start(); if(!isset($_SESSION['nip'])){

header('location:../index.php');

$nip

= $_SESSION['nip'];

$passwordlama = $_POST['passwordlama'];

$passwordbaru1 = $_POST['passwordbaru']; $passwordbaru2

= $_POST['passwordbarurepeat'];

$query2 = mysql_query('SELECT * FROM data_pegawai where nip ='.$nip.' ');

$result2

= mysql_fetch_array($query2);

$pass

= $result2['password'];

if($pass==$passwordlama){

if($passwordbaru1==$passwordbaru2){

$query = mysql_query("UPDATE data_pegawai set password ='$passwordbaru1' WHERE nip='$nip'");

if ($query) {$_SESSION['nip'] = $nip; header('location:../ganti/sukses.php'); }else {

echo 'Gagal Mengganti Password';

} }else {

header('location:konfirmasipass.php');

} }else{

header('location:pslamagagal.php');

5.1.3. Implementasi Antarmuka

SI-LCKH Pegawai Negeri Sipil Kementerian Agama Kantor Wilayah Provinsi Jawa Tengah adalah sebuah sistem yang mempermudah pegawai dalam penulisan dan pertanggungjawaban laporan capaian kinerja harian. Maka dari itu, sistem ini harus memiliki tampilan yang nyaman dan sesuai dengan karakteristik pegawai sebagai pengguna. Implementasi antarmuka SI-LCKH dapat dilihat pada Gambar 5.5 sampai dengan Gambar 5.13 berikut ini.

a. Halaman Login Saat pertama kali pegawai membuka sistem ini, maka pegawai harus memasukkan username dan password. Jika benar, akan masuk ke halaman utama.

Gambar 5.5. Implementasi Halaman Login

b. Halaman Pembuatan Laporan Setelah pegawai masuk, maka akan menuju halaman pembuatan laporan. Pada halaman ini, pegawai dapat membuat laporan sesuai dengan kinerja harian yang telah diselesaikannya. Untuk pengguna Eselon IV, III, dan II, memiliki akses tombol untuk melihat pegawai sesuai dengan unit kerjanya.

c. Halaman Lihat Pegawai Berikut adalam tampilan pegawai saat menekan tombol Lihat Pegawai. Pada tampilan ini akan muncul pegawai yang memiliki jabatan di bawahnya dan memiliki kesamaan unit kerja. Dengan kata lain, fitur Lihat Pegawai ini tidak dapat melihat pegawai yang tingkat jabatannya lebih tinggi atau di luar unit kerjanya. Dari tampilan ini, pegawai dapat melihat laporan pegawai bawahannya.

Gambar 5.6. Implementasi Halaman Pembuatan Laporan

Gambar 5.7. Implementasi Halaman Lihat Pegawai

d. Halaman Lihat Laporan Pegawai Tampilan halaman ini adalah saat pegawai melihat laporan pegawai sesuai tanggal yang dipilihnya. Kemudian, pegawai memiliki hak untuk menyetujui ataupun menolak laporan yang dilihat berdasarkan penilaian yang ada. Hasil dari penindaklanjutan ini langsung diterima oleh pegawai bawahan yang bersangkutan saat pegawai tersebut membuka kembali SI-LCKH ini.

Gambar 5.8. Implementasi Halaman Lihat Laporan Pegawai

e. Halaman Ganti Password Pada halaman ini, pegawai dapat mengganti password dengan cara mengisi formulir yang disediakan. Kemudian sistem ini akan mengecek apakah isian tersebut benar atau tidak. Jika benar, maka password dapat terganti.

Gambar 5.9. Implementasi Halaman Ganti Password

f. Halaman Beranda Administrator Berikut adalah tampilan menu administrator saat berhasil masuk. Terdapat tiga menu utama: Beranda, Buat Akun, Lihat Akun serta fitur Ganti Password dan Logout .

Gambar 5.10. Implementasi Halaman Beranda Administrator

g. Halaman Buat Akun Pada halaman ini, administrator dapat membuat akun pegawai dengan mengisikan formulir yang telah disediakan pada sistem ini. Pengisian formulir ini harus sesuai dengan format yang ditentukan.

Gambar 5.11. Implementasi Halaman Buat Akun

h. Halaman Lihat Akun Pada halaman ini, administrator dapat melihat seluruh akun yang terdaftar pada sistem ini. Kemudian terdapat tiga tombol aksi, yaitu Lihat Akun, Edit Akun, dan Hapus Akun. Terdapat juga fitur pencarian akun pegawai dengan memasukkan kata kunci yang diinginkan.

Gambar 5.12. Implementasi Halaman Lihat Akun

i. Halaman Edit Akun Pada halaman ini, administrator dapat mengedit akun pegawai yang telah ada dalam basis data dengan cara memilih nama pegawai yang bersangkutan. Kemudian administrator dapat mengedit seluruh data pegawai terkecuali NIP dan NPWP.

Gambar 5.13. Implementasi Halaman Edit Akun