• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Simulasi Psikotest Berbasis Web

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Aplikasi Simulasi Psikotest Berbasis Web"

Copied!
119
0
0

Teks penuh

(1)

SURAT KETERANGAN

Hasil Uji Program Tugas Akhir

Yang bertanda tangan dibawah ini, menerangkan bahwa Mahasiswa Tugas Akhir

Program Diploma 3 Teknik Informatika :

Nama

:

MEYLIA SANDRA TAMPUBOLON

NIM

:

132406109

Prog.Studi

:

D3 Teknik Informatika

Judul TA

:

PERANCANGAN APLIKASI SIMULASI PSIKOTEST

BERBASIS WEB

Telah melaksanakan test program Tugas Akhir Mahasiswa tersebut di atas pada

tanggal...

Dengan Hasil :

SUKSES / GAGAL

Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja

Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU

Medan.

Medan, Juni 2016

DosenPembimbing

(Dr. Syahriol Sitorus, S.Si.M.IT)

(2)

KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Nama Mahasiswa

: MEYLIA SANDRA TAMPUBOLON

Nomor Stambuk

: 132406109

Judul Tugas Akhir

: PERANCANGAN

APLIKASI

SIMULASI

PSIKOTEST BERBASIS WEB

Dosen Pembimbing

: Dr. Syahriol Sitorus, S.Si.M.IT

Tanggal Mulai Bimbingan

:

Tanggal Selesai Bimbingan :

No.

Tanggal

Asisten

Bimbingan

Pembahasan pada

Asistensi Mengenai, pada

Bab :

Paraf Dosen

Pembimbing

Keterangan

1.

2.

3.

4.

5.

6.

7

Diketahui,

Disetujui,

Ketua Prog.Studi D3 Teknik Informatika,

Dosen Pembimbing,

Dr. Elly Rosmaini, M.Si.

Dr. Syahriol Sitorus, S.Si.M.IT

(3)

LAMPIRAN PROGRAM

1.

Index.php

<!doctype html> <html>

<head>

<meta charset="utf-8">

<title>PERANCANGAN APLIKASI SIMULASI PSIKOTEST BERBASIS WEB</title>

<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="style.css">

<link rel="stylesheet" href="administrator/alert/css/jquery-confirm.css">

<script type="text/javascript"

src="bootstrap/js/bootstrap.min.js"></script> <script src="js/jquery.min.js"></script>

<script src="administrator/alert/js/jquery-confirm.js"></script> </head>

<body>

<div id="wrapper">

<div id="header"></div> <div id="content"> <div class="row"> <div class="col-md-6">

<div class="panel panel-default"> <div class="panel-heading">

(4)

</div>

<div class="panel-body">

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table">

<tbody> <tr>

<td width="25%">Email</td>

<td width="75%"><input type="text" name="txtemail" id="txtemail" class="form-control"></td>

</tr> <tr>

<td>Password</td>

<td><input type="password" name="txtpassword" id="txtpassword" class="form-control"></td>

</tr> <tr>

<td>&nbsp;</td>

<td><input type="button" name="cmdmasuk" id="cmdmasuk" value="Masuk" class="btn btn-primary btn-sm btn-block"></td>

</tr> </tbody> </table>

</div> </div>

</div>

<div class="col-md-6"> <div class="panel panel-danger"> <div class="panel-heading">

(5)

</div>

<div class="panel-body">

<a href="login.php" class="btn btn-danger">Login System</a> <a href="registrasi.php" class="btn btn-info">Regitrasi</a>

</div> </div> </div> </div> </div> </div>

<script>

$(document).ready(function(e) {

$('#cmdmasuk').click(function(e) { var temail=$('#txtemail').val();

var pwd=$('#txtpassword').val(); $.post('validasiuser.php', {

temail:temail, pwd:pwd

}, function (data, status){ if (data==''){

document.location.href='home.php?page=zindex'; }

else{

$.alert({content:data}); }

(6)

</script> </body> </html>

2.

Home.php

<?php error_reporting("E_ALL ^ E_NOTICE"); ?> <?php include 'cekuser.php'; ?>

<?php include 'koneksi.php'; ?> <?php

$idpeserta=$_SESSION['sesiidpeserta'];

$nama=$db->tampilrecord("tblpeserta", "idpeserta='$idpeserta'", "nama");

$temail=$db->tampilrecord("tblpeserta", "idpeserta='$idpeserta'", "email");

$pretest=$db->tampilrecord("tblpengaturan", "kriteria='PRETEST'", "nilai");

if ($pretest>=1){

echo "<script>

document.location.href='ujian/index.php?page=info'; </script>";

} ?>

<!doctype html> <html>

<head>

<meta charset="utf-8">

(7)

<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="style-home.css">

<link rel="stylesheet" href="administrator/alert/css/jquery-confirm.css">

<script type="text/javascript"

src="bootstrap/js/bootstrap.min.js"></script> <script src="js/jquery.min.js"></script>

<script src="administrator/alert/js/jquery-confirm.js"></script> </head>

<body> <?php

?>

<div id="wrapper">

<div id="header"></div> <div id="container">

<div class="row" style="padding:10px;">

<div class="panel panel-info"> <div class="panel-heading">

<h4 class="panel-title">Home</h4> </div>

<div class="panel-body"> <?php

$page=$_GET['page']; if ($page==''){ ?>

<!-- -->

(8)

<div id="isi"></div> </div>

<div class="col-md-12"> <div id="ket"></div> <div id="cwaktu"></div> </div>

<!-- ---> <?php

} else{

include 'home/zindex.php'; }

?>

</div> </div>

</div> </div> </div> <script>

$(document).ready(function(e) { setInterval(function(){

$('#isi').load('home/index.php'); }, 1000);

setInterval(function(){

$('#ket').load('home/hasil.php'); }, 1000);

(9)

$('#cwaktu').load('home/cekwaktu.php'); }, 1000);

});

</script> </body> </html>

3.

Cek.php

<?php session_start(); ?> <?php

if (!isset($_SESSION[sesipsikologiuser]) or

!isset($_SESSION[sesipsikologipass])){

echo "<script> document.location.href='login.php'; </script>";

} ?>

4.

Cekuser.php

<?php session_start(); ?> <?php

if (!isset($_SESSION['sesiidpeserta']) or

!isset($_SESSION['sesitgllahir'])){

echo "<script> document.location.href='index.php'; </script>";

} ?>

5.

Koneksi.php

<?php

(10)

include 'config.php'; }

elseif (file_exists('../config.php')){ include '../config.php';

}

elseif (file_exists('../../config.php')){ include '../../config.php';

}

elseif (file_exists('../../../config.php')){ include '../../../config.php';

}

$db=new database('localhost', 'root', '', 'dbpsikotest'); $db->konekdb();

?>

6.

Login.php

<!doctype html> <html>

<head>

<meta charset="utf-8"> <title>Login System</title>

<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <script src="bootstrap/js/bootstrap.min.js"></script>

<script src="js/jquery.min.js"></script> </head>

<body>

(11)

<div class="col-md-4 col-xs-offset-4"> <div class="panel panel-info">

<div class="panel-heading">Login</div> <div class="panel-body">

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table">

<tbody> <tr>

<td width="35%">Username</td>

<td width="65%"><input type="text" name="txtusername" id="txtusername" class="form-control"></td>

</tr> <tr>

<td>Password</td>

<td><input type="password" name="txtpassword" id="txtpassword" class="form-control"></td>

</tr> <tr>

<td>&nbsp;</td>

<td><input type="button" name="cmdlogin" id="cmdlogin" value="Login" class="btn btn-primary btn-sm btn-block"></td> </tr>

</tbody> </table>

(12)

<script>

$(document).ready(function(e) {

$('#cmdlogin').click(function(e) { var u=$('#txtusername').val(); var p=$('#txtpassword').val(); if (u=='' || p==''){

return false; }

$.post('logincek.php', {

u:$('#txtusername').val(), p:$('#txtpassword').val() }, function (data, status){

if (data==''){

document.location.href='administrator/index.php' }

else{

alert(data); }

}); }); });

</script> </body> </html>

7.

Logincek.php

(13)

include 'koneksi.php';

$u=$_POST['u']; $p=$_POST['p'];

if ($db->cekrecord("select * from tbladmin where userku='$u' and passku='$p'")==true){

$_SESSION['sesipsikologiuser']=$u; $_SESSION['sesipsikologipass']=$p; echo '';

} else{

echo 'Terjadi kesalahan!'; }

?>

8.

Registrasi.php

<!doctype html> <html>

<head>

<meta charset="utf-8">

<title>PERANCANGAN APLIKASI SIMULASI PSIKOTEST BERBASIS WEB</title>

<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="style.css">

<link rel="stylesheet" href="administrator/alert/css/jquery-confirm.css">

<link rel="stylesheet"

(14)

<script type="text/javascript"

src="bootstrap/js/bootstrap.min.js"></script> <script src="js/jquery.min.js"></script>

<script src="administrator/alert/js/jquery-confirm.js"></script> <script

src="administrator/plugins/datepicker/bootstrap-datepicker.js"></script> </head>

<body>

<div id="wrapper">

<div id="header"></div> <div id="content"> <div class="row">

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

<div class="panel panel-primary">

<div class="panel-heading">Registrasi Peserta Baru</div> <div class="panel-body">

<form name="form1" method="post" action="simpan.php">

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table">

<tbody> <tr>

<td width="22%">Nama</td>

<td width="78%"><div class="col-md-10"><input type="text" name="txtnama" id="txtnama" class="form-control"></div></td> </tr>

<tr>

<td>J. Kelamin</td>

(15)

<option value="Pria">Pria</option> <option value="Wanita">Wanita</option> </select></div></td>

</tr> <tr>

<td>Tempat &amp; Tgl Lahir</td>

<td><div class="col-md-8"><input type="text"

name="txttempat" id="txttempat" class="form-control"></div><div class="col-md-4"><input type="text" name="txttgllahir"

id="txttgllahir" class="form-control"></div></td> </tr>

<tr>

<td>Alamat</td>

<td><div class="col-md-12"><input type="text"

name="txtalamat" id="txtalamat" class="form-control"></div></td> </tr>

<tr>

<td>Pendidikan Terakhir</td>

<td><div class="col-md-4"><select name="txtpendidikan" class="form-control" id="txtpendidikan">

<option value="SMA">SMA</option> <option value="D1">D1</option> <option value="D3">D3</option> <option value="S1">S1</option> <option value="S2">S2</option> </select></div></td>

</tr> <tr>

(16)

<td><div class="col-md-5"><input type="text" name="txtemail" id="txtemail" class="form-control"></div></td>

</tr> <tr>

<td>Password</td>

<td><div class="col-md-5"><input type="password"

name="txtpass1" id="txtpass1" class="form-control"></div></td> </tr>

<tr>

<td>re-tye Password</td>

<td><div class="col-md-5"><input type="password"

name="txtpass2" id="txtpass2" class="form-control"></div></td> </tr>

<tr>

<td>&nbsp;</td>

<td><div class="col-md-12"><input name="cmdsimpan" type="submit" id="cmdsimpan" value="Simpan" class="btn

btn-primary"> <input name="cmdkembali" type="button" id="cmdkembali" value="Kembali" class="btn btn-default"></div></td>

</tr> </tbody> </table> </form> </div> </div>

(17)

<script>

$(document).ready(function(e) {

$('#txttgllahir').datepicker({format:'dd-mm-yyyy'}); $('#cmdkembali').click(function(e) {

document.location.href='index.php'; });

$('#cmdsimpan').click(function(e) { var nama=$('#txtnama').val();

if (nama==''){

$.alert({content:'Nama belum diisi!'}); return false;

}

var tempat=$('#txttempat').val(); if (tempat==''){

$.alert({content:'Tempat lahir belum diisi!'}); return false;

}

var tgllahir=$('#txttgllahir').val(); if (tgllahir==''){

$.alert({content:'Tanggal lahir belum diisi!'}); return false;

}

var email=$('#txtemail').val(); if (email==''){

$.alert({content:'email belum diisi!'}); return false;

}

(18)

$.alert({content:'Password belum diisi!'}); return false;

}

var pwd1=$('#txtpass2').val(); if (pwd2==''){

$.alert({content:'retype Password belum anda isi!'});

return false; }

if (pwd1!=pwd2){

$.alert({content:'Password tidak sama!'}); return false;

} }); });

</script> </body> </html>

9.

Regsukses.php

<!doctype html> <html>

<head>

<meta charset="utf-8">

<title>PERANCANGAN APLIKASI SIMULASI PSIKOTEST BERBASIS WEB</title>

(19)

<link rel="stylesheet" href="administrator/alert/css/jquery-confirm.css">

<link rel="stylesheet"

href="administrator/plugins/datepicker/datepicker3.css"> <script type="text/javascript"

src="bootstrap/js/bootstrap.min.js"></script> <script src="js/jquery.min.js"></script>

<script src="administrator/alert/js/jquery-confirm.js"></script> <script

src="administrator/plugins/datepicker/bootstrap-datepicker.js"></script> </head>

<body>

<div id="wrapper">

<div id="header"></div> <div id="content"> <div class="row">

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

<div class="alert alert-success" role="alert"><strong>Registrasi Sukses !</strong> Terima kasih, data anda sudah disimpan. Untuk memulai simulai psikologi silahkan klik tombol dibawah <p><a

href="index.php" class="btn btn-primary btn-sm">Login</a></div> </div>

(20)

10.

Simpan.php

<?php

include 'koneksi.php'; $nama=$_POST['txtnama']; $jk=$_POST['txtjk'];

$tempat=$_POST['txttempat']; $tgllahir=$_POST['txttgllahir']; $alamat=$_POST['txtalamat'];

$pendidikan=$_POST['txtpendidikan']; $email=$_POST['txtemail'];

$pwd=$_POST['txtpass1'];

$tgl=$db->ubahtanggal($tgllahir);

if ($db->cekrecord("select * from tblpeserta where email='$email'")==true){

echo 'Email sudah terdaftar, periksa kembali data anda!'; }

else{

$qry=mysql_query("insert into tblpeserta (nama, jk, tempat, tgllahir, alamat, pendidikan, email, password) values ('$nama', '$jk', '$tempat', '$tgl', '$alamat', '$pendidikan', '$email', '$pwd')");

if ($qry){

echo "<script> document.location.href='regsukses.php'; </script>";

(21)

echo 'Terjadi kesalahan, silahkan hubungi panitia!'; }

} ?>

11.

Simpanreg.php

<?php

echo 'Sukses'; ?>

12.

Validuser.php

<?php session_start(); ?> <?php

include 'koneksi.php';

$temail=$_POST['temail']; $pwd=$_POST['pwd'];

if ($db->cekrecord("select * from tblpeserta where email='$temail' and password='$pwd'")==true){

$id=$db->tampilrecord("tblpeserta", "email='$temail'", "idpeserta");

$tgl=$db->tampilrecord("tblpeserta", "email='$temail'", "tgllahir");

(22)

$idpeserta=$id;

$qry=mysql_query("select * from tblujianpeserta where idpeserta='$idpeserta' order by idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$data=mysql_fetch_array($qry); $idujian=$data['idujian']; #echo $idujian.' '.$idpeserta;

$qry=mysql_query("update tblujianpeserta set ket='' where idpeserta='$idpeserta' and idujian='$idujian'");

if ($qry){

} else{

echo 'Gagal'; }

$qry=mysql_query("select * from tblujiankategori where idujian='$idujian'");

while ($data=mysql_fetch_array($qry)){ $kategori=$data['kategori']; $waktu=$data['waktu'];

if ($db->cekrecord("select * from tblujianwaktu where idpeserta='$idpeserta' and idujian='$idujian' and

kategori='$kategori'")==false){

$qrywaktu=mysql_query("insert into tblujianwaktu (idujian, idpeserta, kategori, waktu) values ('$idujian', '$idpeserta', '$kategori', '$waktu')");

if ($qrywaktu){

(23)

else

echo "Gagal"; }

} }

echo ''; }

else{

echo 'Terjadi kesalahan!'; }

?>

13.

Logout.php

<?php session_start(); ?> <?php

unset($_SESSION['sesiidpeserta']); unset($_SESSION['sesitgllahir']);

echo "<script> document.location.href='index.php'; </script>"; ?>

14.

Cekwaktu.php

<?php error_reporting("E_ALL ^ E_NOTICE"); ?> <?php session_start(); ?>

<?php

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta'];

(24)

<?php

$qry=mysql_query("select tblujian.idujian, tblujian.st,

tblujianpeserta.idpeserta from tblujian INNER JOIN tblujianpeserta ON tblujian.idujian=tblujianpeserta.idujian where

tblujianpeserta.idpeserta='$id' and tblujian.st='1' order by tblujian.idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$dataujian=mysql_fetch_array($qry); $idujian=$dataujian[0];

$ket=$db->tampilrecord("tblujian", "idujian='$idujian'", "keterangan");

$jabatan=$db->tampilrecord("tblujian", "idujian='$idujian'", "jabatan");

}

if (isset($_SESSION['sesikategori'])){

$waktu=$db->tampilrecord("tblujianwaktu", "idpeserta='$id' and idujian='$idujian' and kategori='$skategori'", "waktu");

$waktu--;

$qry=mysql_query("update tblujianwaktu set waktu='$waktu' where idujian='$idujian' and idpeserta='$id' and

kategori='$skategori'"); }

?>

15.

Hasil.php

<?php #error_reporting("E_ALL ^ E_NOTICE"); ?> <?php session_start(); ?>

(25)

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta'];

$qry=mysql_query("select * from tblujianpeserta where idpeserta='$id' order by idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$data=mysql_fetch_array($qry); $idujian=$data['idujian']; $hasil=$data['ket'];

$lulus=$data['lulus']; $nilai=$data['nilai'];

$jlhkategori=$db->totalrecord("tblujiankategori", "idujian='$idujian'");

$hasil=str_replace('Anda tidak lulus ujian', '', $hasil); $hasil=str_replace('.', ', ', $hasil);

$score=(($nilai*$jlhkategori)/$jlhkategori)*10; #$score=$jlhkategori;

} else{

}

if ($hasil<>''){ ?>

<div style="width:400px; margin-left:auto; margin-right:auto"> <div class="panel panel-primary">

<div class="panel-heading">Hasil Ujian</div> <div class="panel-body">

(26)

if ($lulus>=1){ ?>

<div style="font-size:14px; color:#002CB9;">Selamat! Anda Lulus Simulasi Psikotest <br>

Score Anda : <?php echo $score; ?> </div>

<?php } else{

?> <!-- --> <div>

<div style="color:red; font-size:16px;">Maaf Anda Gagal.</div> <br> Anda tidak memenuhi kriteria yang telah ditetapkan.<br> Score Anda : <?php echo $score; ?> <br>

Anda Gagal di bagian : <?php echo $hasil; ?> <br>

Silahkan mencoba kembali! </div>

<?php } ?> <!-- --> </div> </div> </div> <?php } ?>

16.

Hasil.php

(27)

<?php

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta'];

$qry=mysql_query("select * from tblujianpeserta where idpeserta='$id' order by idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$data=mysql_fetch_array($qry); $idujian=$data['idujian']; $hasil=$data['ket'];

$lulus=$data['lulus']; $nilai=$data['nilai'];

$jlhkategori=$db->totalrecord("tblujiankategori", "idujian='$idujian'");

$hasil=str_replace('Anda tidak lulus ujian', '', $hasil); $hasil=str_replace('.', ', ', $hasil);

$score=(($nilai*$jlhkategori)/$jlhkategori)*10; #$score=$jlhkategori;

} else{

}

if ($hasil<>''){ ?>

<div style="width:400px; margin-left:auto; margin-right:auto"> <div class="panel panel-primary">

<div class="panel-heading">Hasil Ujian</div> <div class="panel-body">

(28)

<?php

if ($lulus>=1){ ?>

<div style="font-size:14px; color:#002CB9;">Selamat! Anda Lulus Simulasi Psikotest <br>

Score Anda : <?php echo $score; ?> </div>

<?php } else{

?> <!-- --> <div>

<div style="color:red; font-size:16px;">Maaf Anda Gagal.</div> <br> Anda tidak memenuhi kriteria yang telah ditetapkan.<br> Score Anda : <?php echo $score; ?> <br>

Anda Gagal di bagian : <?php echo $hasil; ?> <br>

Silahkan mencoba kembali! </div>

<?php } ?> <!-- --> </div> </div> </div> <?php } ?>

17.

Hasilakhir.php

(29)

<?php session_start(); ?> <?php

include '../koneksi.php';

$idpeserta=$_SESSION['sesiidpeserta']; echo $idpeserta;

$qry=mysql_query("select * from tblujianpeserta where idpeserta='$idpeserta' order by idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$data=mysql_fetch_array($qry); $idujian=$data['idujian']; $hasil=$data['ket'];

$lulus=$data['lulus']; $nilai=$data['nilai'];

$jlhkategori=$db->totalrecord("tblujiankategori", "idujian='$idujian'");

$hasil=str_replace('Anda tidak lulus ujian', '', $hasil); $hasil=str_replace('.', ', ', $hasil);

$score=($nilai*10)/$jlhkategori; #$score=$jlhkategori;

} else{

exit; }

echo $idujian;

$i=0;

$qry=mysql_query("select * from tblujiankategori where idujian='$idujian'");

(30)

while ($data=mysql_fetch_array($qry)){ $jlhlulus=$data['jlhlulus']; $kategori=$data['kategori'];

$hasil=$db->hitungjawabanbenar($idujian, $idpeserta, $kategori);

if ($hasil>=$jlhlulus){

$ket='Selamat! Anda Lulus '; }

else{

$k=$k.'Anda tidak lulus ujian '.$kategori.'. '; $i++;

} }

#

$jlhbenar=$db->jumlahrecord("select * from tbljawaban where idpeserta='$idpeserta' and idujian='$idujian' and st='1'");

if ($i<=0){

$query="update tblujianpeserta set ket='$ket',

nilai='$jlhbenar', lulus='1' where idpeserta='$idpeserta' and idujian='$idujian'";

} else{

$query="update tblujianpeserta set ket='$k',

nilai='$jlhbenar', lulus='0' where idpeserta='$idpeserta' and idujian='$idujian'";

}

(31)

echo 'Sukses '; }

else{

echo 'Gagal '; }

?>

18.

Hitung.php

<?php session_start(); ?> <?php

include '../koneksi.php';

$idpeserta=$_SESSION['sesiidpeserta'];

$qry=mysql_query("select tblujian.idujian, tblujian.st,

tblujianpeserta.idpeserta from tblujian INNER JOIN tblujianpeserta ON tblujian.idujian=tblujianpeserta.idujian where

tblujianpeserta.idpeserta='$id' and tblujian.st='1' order by tblujian.idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$dataujian=mysql_fetch_array($qry); $idujian=$dataujian[0];

$ket=$db->tampilrecord("tblujian", "idujian='$idujian'", "keterangan");

$jabatan=$db->tampilrecord("tblujian", "idujian='$idujian'", "jabatan");

(32)

$i=0;

$qry=mysql_query("select * from tblujiankategori where idujian='$id'");

$k='';

while ($data=mysql_fetch_array($qry)){ $jlhlulus=$data['jlhlulus']; $kategori=$data['kategori']; $idpeserta=$dataku['idpeserta'];

$hasil=$db->hitungjawabanbenar($id, $idpeserta, $kategori);

if ($hasil>=$jlhlulus){

$ket='Selamat! Anda Lulus '; }

else{

$k=$k.'Anda tidak lulus ujian '.$kategori.'. '; $i++;

} }

#

$jlhbenar=$db->jumlahrecord("select * from tbljawaban where idpeserta='$dataku[idpeserta]' and idujian='$id' and st='1'");

if ($i<=0){

$query="update tblujianpeserta set ket='$ket',

nilai='$jlhbenar', lulus='1' where idpeserta='$dataku[idpeserta]' and idujian='$id'";

(33)

$query="update tblujianpeserta set ket='$k',

nilai='$jlhbenar', lulus='0' where idpeserta='$dataku[idpeserta]' and idujian='$id'";

}

$qryhasil=mysql_query($query); if ($qryhasil){

echo 'Sukses '; }

else{

echo 'Gagal '; }

?>

19.

Pilih.php

<?php

include '../koneksi.php';

$nilai=$_POST['nilai'];

$qry=mysql_query("update tbljawaban set jwb='0' where idjawaban='$nilai'");

if ($qry){

#echo 'Sukses'; }

else{

(34)

?>

20.

Pilihkategori.php

<?php session_start(); ?>

<?php

$kategori=$_POST['kategori'];

$_SESSION['sesikategori']=$kategori; echo '';

?>

21.

Ulangi.php

<?php session_start(); ?> <?php

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta']; ?>

<?php

$qry=mysql_query("select tblujian.idujian, tblujian.st,

tblujianpeserta.idpeserta from tblujian INNER JOIN tblujianpeserta ON tblujian.idujian=tblujianpeserta.idujian where

tblujianpeserta.idpeserta='$id' and tblujian.st='1'"); $jlh=mysql_num_rows($qry);

if ($jlh>=1){

$dataujian=mysql_fetch_array($qry); $idujian=$dataujian[0];

(35)

$jabatan=$db->tampilrecord("tblujian", "idujian='$idujian'", "jabatan");

}

$qry=mysql_query("select * from tblujiankategori where idujian='$idujian'");

while ($data=mysql_fetch_array($qry)){ $kategori=$data['kategori'];

$waktu=$data['waktu'];

$qrywaktu=mysql_query("update tblujianwaktu set waktu='$waktu' where idpeserta='$id' and idujian='$idujian' and

kategori='$kategori'"); }

$qry=mysql_query("update tblujianpeserta set ket='' where idpeserta='$id' and idujian='$idujian'");

$qry=mysql_query("update tbljawaban set jwb='0' where idujian='$idujian' and idpeserta='$id'");

?>

22.

Zindex.php

<?php #error_reporting("E_ALL ^ E_NOTICE"); ?> <?php session_start(); ?>

<?php

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta']; ?>

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

(36)

<div class="panel-heading">Pilih Kategori</div> <div class="panel-body">

<?php

$qry=mysql_query("select tblujian.idujian, tblujian.st,

tblujianpeserta.idpeserta from tblujian INNER JOIN tblujianpeserta ON tblujian.idujian=tblujianpeserta.idujian where

tblujianpeserta.idpeserta='$id' and tblujian.st='1' order by tblujian.idujian desc");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$dataujian=mysql_fetch_array($qry); $idujian=$dataujian[0];

$ket=$db->tampilrecord("tblujian", "idujian='$idujian'", "keterangan");

$jabatan=$db->tampilrecord("tblujian", "idujian='$idujian'", "jabatan");

} ?>

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table">

<tbody> <?php

#echo $idujian.' '.$id;

$qry=mysql_query("select * from tblujianwaktu where

idujian='$idujian' and idpeserta='$id' and waktu>0 order by kategori asc");

while ($data=mysql_fetch_array($qry)){ ?>

(37)

<td><a href="#" class="btn btn-warning btn-block cmdpilih" id="<?php echo $data['kategori']; ?>"><?php echo

$data['kategori']; ?></a></td> </tr>

<?php } ?> </tbody> </table>

</div> </div> </div>

<div class="col-md-8"> <?php

echo '<div class="alert alert-danger" role="alert"> <h3>Petunjuk Soal:</h3>

<p>

Soal terdiri dari 3 kategori.<br>

Anda dapat beralih ke soal berikutnya secara otomatis ketika menjawab pertanyaan. <br>

Apabila soal sudah terjawab semua, anda dapat memperbaiki jawaban anda sesuai nomor urutannya, nomor urutannya berada pada sisi bawah.

</p>

<p><a href="logout.php" class="btn btn-danger btn-sm">Logout</a> <a href="#" class="btn btn-danger btn-sm"

id="cmdulangi">Ulangi</a> </p>

</div>'; ?>

(38)

<div id="hasilakhir"></div> </div>

<script>

$(document).ready(function(e) {

$('.cmdpilih').click(function(e) { var nilai=$(this).attr('id');

$.post('home/pilihkategori.php', { kategori:nilai

}, function (data, status){

document.location.href='home.php'; });

});

$('#cmdulangi').click(function(e) { $.post('home/ulangi.php', {

}, function (data, status){

document.location.href='home.php?page=zindex'; });

});

$('#cmdhasil').click(function(e) { $.post('home/hasilakhir.php', {

}, function (data, status){

});

$('#hasilakhir').load('home/hasil.php'); });

(39)

23.

Cekwaktu.php

<?php session_start(); ?> <?php

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta']; ?>

<?php

$waktu=$db->tampilrecord("tblpretesthasil", "idpeserta='$id' and st='1'", "waktu");

$idhasilpretest=0;

$idhasilpretest=$db->tampilrecord("tblpretesthasil", "idpeserta='$id' and st='1'", "idhasilpretest"); #echo $waktu;

if ($idhasilpretest!=0 and $waktu>=0){ $waktu--;

$qry=mysql_query("update tblpretesthasil set waktu='$waktu' where idhasilpretest='$idhasilpretest'");

if ($waktu<=0){

$qry=mysql_query("update tblpretesthasil set st='0', waktu='0' where idhasilpretest='$idhasilpretest'");

} } ?>

24.

Hitung.php

<?php session_start(); ?> <?php

include '../koneksi.php';

(40)

$jabatan=$_GET['jabatan'];

$jlhsoal=0; $jbenar=0; $ket=''; $stlulus=0;

$qry=mysql_query("select * from tblpretestpengaturan where jabatan='$jabatan'");

while ($data=mysql_fetch_array($qry)){ $jlhlulus=$data['lulus'];

$jlhsoal=$jlhsoal+$data['jlh']; $kategori=$data['kategori'];

$jlhbenar=$db->totalrecord("tblpretest", "idpeserta='$id' and jabatan='$jabatan' and kategori='$kategori' and st='1'");

if ($jlhbenar>=$jlhlulus){

} else{

$ket=$ket.$data['kategori'].' '; $stlulus=1;

} } # #

#echo "ST LULUS ".$stlulus;

#echo " JUMLAH BENAR ".$jlhbenar;

$jbenar=$db->totalrecord("tblpretest", "idpeserta='$id' and jabatan='$jabatan' and st='1'");

(41)

if ($stlulus>=1){

$keterangan="Maaf anda tidak lulus. Anda gagal pada kategori ".$ket;

$klulus=0; }

else{

$keterangan="Selamat! Anda lulus"; $klulus=1;

}

$qry=mysql_query("update tblpretesthasil set hasil='$keterangan', nilai='$nilai', stlulus='$klulus' where idpeserta='$id' and

jabatan='$jabatan'"); if ($qry){

echo

"<script>document.location.href='tampilhasil.php?jabatan=$jabatan' ; </script>";

} else{

echo 'Terjadi kesalahan!'; }

?>

25.

Pilihjabatan.php

<?php session_start(); ?> <?php

(42)

$idpeserta=$_SESSION['sesiidpeserta']; $jabatan=$_GET['jabatan'];

$_SESSION['sesijabatan']=$jabatan; #

$qry=mysql_query("delete from tblpretest where idpeserta='$idpeserta' and jabatan='$jabatan'"); if($qry){

} else{

echo "Terjadi kesalahan!"; exit;

} #

$waktu=0;

$qry=mysql_query("select * from tblpretestpengaturan where jabatan='$jabatan'");

while ($dataku=mysql_fetch_array($qry)){ $jlhsoal=$dataku['jlh'];

$kategori=$dataku['kategori']; $waktu=$waktu+$dataku['waktu']; #

$qrysoal=mysql_query("SELECT * FROM tblsoal where

kategori='$dataku[kategori]' and jabatan='$jabatan' ORDER BY RAND() LIMIT ".$jlhsoal);

while ($datasoal=mysql_fetch_array($qrysoal)){ $idsoal=$datasoal['idsoal'];

$db->simpansoalpretest($idpeserta, $idsoal, $kategori, $jabatan);

(43)

}

if ($db->cekrecord("select * from tblpretesthasil where idpeserta='$idpeserta' and jabatan='$jabatan'")==true){

$qry=mysql_query("update tblpretesthasil set st='0' where idpeserta='$idpeserta'");

$qry=mysql_query("update tblpretesthasil set hasil='',

nilai='', waktu='$waktu', st='1' where idpeserta='$idpeserta' and jabatan='$jabatan'");

if ($qry){

} else{

echo "Gagal Edit"; }

} else{

$qry=mysql_query("insert into tblpretesthasil (idpeserta, jabatan, hasil, nilai, waktu, st) values ('$idpeserta', '$jabatan', '', '0', '$waktu', '1')");

if ($qry){ }

else{

echo "gagal tambah"; }

}

(44)

26.

Soal.php

<?php error_reporting("E_ALL ^ E_NOTICE"); ?> <?php session_start(); ?>

<?php

include '../koneksi.php';

$id=$_SESSION['sesiidpeserta']; ?>

<div class="col-md-12"> <?php

$qry=mysql_query("select * from tblpretesthasil where idpeserta='$id' and st='1'");

$jlh=mysql_num_rows($qry); if ($jlh>=1){

$jabatan=$db->tampilrecord("tblpretesthasil", "idpeserta='$id' and st='1'", "jabatan");

?>

<!-- -->

<p style="font-family:Lucida Sans Cambria, 'Hoefler Text', 'Liberation Serif', Times, 'Times New Roman', serif; font-size:16px; color:#B30002; font-weight:bold;

text-transform:uppercase" align="center">JABATAN : <?php echo strtoupper($jabatan); ?></p>

<p align="center">

<div style="width:280px; margin-left:auto; margin-right:auto"> <?php

$waktu=$db->tampilrecord("tblpretesthasil", "idpeserta='$id' and st='1'", "waktu");

(45)

if ($waktu<=0){ echo "<script>

document.location.href='index.php?page=hasil&jabatan=$jabatan'; </script>";

} ?>

<div class="alert alert-warning" role="alert" style="text-align:center">

<small>Waktu</small>

<h1 align="center"><?php echo $waktu; ?></h1> </div>

</div> </p> <!-- --> <?php

$qry=mysql_query("select * from tblpretest where

idpeserta='$id' and jabatan='$jabatan' and jwb='0' order by idpretest asc");

$jlhsoal=mysql_num_rows($qry); if ($jlhsoal>=1){

$data=mysql_fetch_array($qry); $soal=$db->tampilrecord("tblsoal", "idsoal='$data[idsoal]'", "soal");

$jwba=$db->tampilrecord("tblsoal", "idsoal='$data[idsoal]'", "jwb_a");

$jwbb=$db->tampilrecord("tblsoal", "idsoal='$data[idsoal]'", "jwb_b");

(46)

$jwbd=$db->tampilrecord("tblsoal", "idsoal='$data[idsoal]'", "jwb_d");

$kelompok=$db->tampilrecord("tblsoal", "idsoal='$data[idsoal]'", "kategori");

?>

<h3 style="margin-top:5px;" align="center">SOAL <?php echo strtoupper($kelompok); ?></h3>

<div style="width:100%; border-bottom:solid 2px #477E00;"></div> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="table" style="font-size:16px; font-weight:bold;">

<tbody> <tr>

<td colspan="2"><div style="font-size:14px; color:#01118F; font-weight:bold;">No Soal : <?php echo $_SESSION['nosoal']; ?></div></td>

</tr> <tr>

<td colspan="2"><?php echo $soal; ?><input type="hidden" name="txtidsoal" id="txtidsoal" value="<?php echo $data[idsoal]; ?>">

<input type="hidden" name="txtidpeserta" id="txtidpeserta" value="<?php echo $id;?>"> <input name="txtidujian" type="hidden" id="txtidujian" value="<?php echo $idujian; ?>"></td>

</tr> <tr>

<td width="3%"><input type="button" name="a" id="a" value="A" class="btn btn-primary cmdok"></td>

<td width="97%"><?php echo $jwba; ?></td> </tr>

(47)

<td><input type="button" name="b" id="b" value="B" class="btn btn-primary cmdok"></td>

<td><?php echo $jwbb; ?></td> </tr>

<tr>

<td><input type="button" name="c" id="c" value="C" class="btn btn-primary cmdok"></td>

<td><?php echo $jwbc; ?></td> </tr>

<tr>

<td><input type="button" name="d" id="d" value="D" class="btn btn-primary cmdok"></td>

<td><?php echo $jwbd; ?></td> </tr>

</tbody> </table> <?php

} ?> <p>

<div style="font-size:16px; margin-bottom:5px; margin-top:10px; border-top:solid 1px #B0B0B0;">No Soal</div>

<ul class="pagination" style="margin:0"> <?php

$no=0;

$qry=mysql_query("select * from tblpretest where

idpeserta='$id' and jabatan='$jabatan' order by idsoal asc"); while ($data=mysql_fetch_array($qry)){

(48)

<li><a href="#" class="cmdpilih" id="<?php echo $data['idpretest']; ?>"><?php echo $no; ?></a>

</li> <?php } ?> </ul> <br>

<a href="index.php?page=zindex" class="btn default btn-sm">Kembali</a>

</p> <?php } else{

$jabatan=$_SESSION['sesijabatan'];

echo '<div class="alert alert-danger" role="alert"> <h3>Petunjuk Soal:</h3>

<p>

Soal terdiri dari 3 kategori.<br>

Anda dapat beralih ke soal berikutnya secara otomatis ketika menjawab pertanyaan. <br>

Apabila soal sudah terjawab semua, anda dapat memperbaiki jawaban anda sesuai nomor urutannya, nomor urutannya berada pada sisi bawah.

</p> <p>

<a href="hitung.php?jabatan='.$jabatan.'" class="btn btn-primary btn-sm">Lihat Hasil</a>

<a href="index.php?page=ulang" class="btn warning btn-sm">Ulangi</a>

(49)

} ?> </div>

<script>

$(document).ready(function(e) { $('.cmdok').click(function(e) { var nilai=$(this).attr('id');

$.post('simpan.php', {

idujian:$('#txtidujian').val(), idsoal:$('#txtidsoal').val(),

idpeserta:$('#txtidpeserta').val(), nilai:nilai

}, function (data, status){ if (data==''){

} else{

$.alert({content:data}); }

}); });

$('.cmdpilih').click(function(e) { var nilai=$(this).attr('id');

$.post('pilih.php', { nilai:nilai

(50)

if (data==''){

} else{

$.alert({content:data}); }

}); }); });

</script>

27.

Tampilhasil.php

<?php error_reporting("E_ALL ^ E_NOTICE"); ?> <?php include '../cekuser.php'; ?>

<?php include '../koneksi.php'; ?> <?php

$idpeserta=$_SESSION['sesiidpeserta'];

$nama=$db->tampilrecord("tblpeserta", "idpeserta='$idpeserta'", "nama");

$temail=$db->tampilrecord("tblpeserta", "idpeserta='$idpeserta'", "email");

$jabatan=$_SESSION['sesijabatan'];

$pretest=$db->tampilrecord("tblpengaturan", "kriteria='PRETEST'", "nilai");

if ($pretest<=0){

echo "<script> document.location.href='../home.php'; </script>";

(51)

# # #

?>

<!doctype html> <html>

<head>

<meta charset="utf-8">

<title>PERANCANGAN APLIKASI SIMULASI PSIKOTEST BERBASIS WEB</title>

<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="../style-home.css">

<link rel="stylesheet" href="../administrator/alert/css/jquery-confirm.css">

<script type="text/javascript"

src="../bootstrap/js/bootstrap.min.js"></script> <script src="../js/jquery.min.js"></script> <script src="../administrator/alert/js/jquery-confirm.js"></script>

</head>

<body> <?php

?>

<div id="wrapper">

(52)

<div class="row" style="padding:10px;">

<div class="panel panel-info"> <div class="panel-heading">

<h4 class="panel-title">Simulasi Psikotest</h4> </div>

<div class="panel-body">

<div class="col-md-6 col-xs-offset-3"> <!-- -->

<div class="panel panel-primary"> <div class="panel-heading">

<h4 class="panel-title">Hasil Ujian</h4> </div>

<div class="panel-body"> <?php

$nilai=$db->tampilrecord("tblpretesthasil",

"idpeserta='$idpeserta' and jabatan='$jabatan'", "nilai"); $status=$db->tampilrecord("tblpretesthasil",

"idpeserta='$idpeserta' and jabatan='$jabatan'", "stlulus"); $keterangan=$db->tampilrecord("tblpretesthasil",

"idpeserta='$idpeserta' and jabatan='$jabatan'", "hasil");

$status>=1 ? $stx="<div class='label label-success'>Lulus</div>" : $stx="<div class='label label-danger'>Tidak Lulus</div>";

if ($status>=1){

$ket="<div class='alert

alert-success'><h3>$keterangan</h3></div>"; }

(53)

$ket="<div class='alert alert-danger'><h4>$keterangan</h4></div>"; }

?>

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table table-striped">

<tbody> <tr>

<td width="26%"><em>Nama</em></td>

<td width="74%"><?php echo $nama; ?></td> </tr>

<tr>

<td><em>Jabatan diuji</em></td> <td><?php echo $jabatan; ?></td> </tr>

<tr>

<td><em>Nilai</em></td>

<td><?php echo $nilai; ?></td> </tr>

<tr>

<td><em>Status</em></td> <td><?php echo $stx; ?></td> </tr>

<tr>

<td><em>Keterangan</em></td> <td><?php echo $ket; ?></td> </tr>

<tr>

(54)

<td><a href="index.php" class="btn primary btn-sm">Ulangi</a></td>

</tr> </tbody> </table>

</div> </div> <!-- --> </div> </div> </div>

</div> </div> </div>

</body> </html>

28.

Administrator/menu.php

<ul class="sidebar-menu">

<li class="header">MAIN NAVIGATION</li> <li class="active">

<a href="index.php">

<i class="fa fa-dashboard"></i> <span>Dashboard</span> <i class="fa fa-angle-left pull-right"></i>

(55)

<li class="header">PENGATURAN PESERTA</li>

<li><a href="index.php?page=peserta"><i class="fa fa-th"></i> <span>Data Peserta</span></a></li>

<?php

$pretest=$db->tampilrecord("tblpengaturan", "kriteria='PRETEST'", "nilai");

if ($pretest>=1){

echo '<li><a href="index.php?page=ujian"><i class="fa fa-circle-o text-red"></i> <span>Ujian</span></a></li>';

} else{ ?>

<li><a href="index.php?page=dataujian"><i class="fa fa-circle-o text-red"></i> <span>Data Ujian</span></a></li>

<?php } ?>

<li class="header">SOAL</li>

<li><a href="index.php?page=kategori"><i class="fa fa-circle-o text-red"></i> <span>Kategori</span></a></li>

<li><a href="index.php?page=jabatan"><i class="fa fa-circle-o text-red"></i> <span>Jabatan</span></a></li>

<li><a href="index.php?page=_soal"><i class="fa fa-circle-o text-yellow"></i> <span>Data Soal</span></a></li>

<li><a href="index.php?page=gambar"><i class="fa fa-circle-o text-yellow"></i> <span>File Gambar</span></a></li>

</ul>

29.

Administrator/isi.php

<?php

(56)

$sfile=$_GET["sfile"]; if ($page==''){

include 'page/index.php'; }

else{

if ($sfile=='' or !isset($sfile)){

if (file_exists('page/'.$page.'/index.php')){ include 'page/'.$page.'/index.php'; }

else{

include 'error404.html'; }

} else{

if (file_exists('page/'.$page.'/'.$sfile.'.php')){ include 'page/'.$page.'/'.$sfile.'.php'; }

else{

include 'error404.html'; }

} }

?>

30.

Asministrator/cetak.php

<?php

ini_set("memory_limit","1000M");

(57)

if ( isset( $_POST["html"] )) {

if ( get_magic_quotes_gpc() )

$_POST["html"] = stripslashes($_POST["html"]);

$dompdf = new DOMPDF();

$dompdf->load_html($_POST["html"]); $dompdf->set_paper("a4", "potrait"); $dompdf->render();

$dompdf->stream($namafile, array("Attachment" => false));

exit(0); }

?>

31.

Administrator/logout.php

<?php session_start(); ?> <?php

unset($_SESSION['sesipsikologiuser']); unset($_SESSION['sesipsikologipass']);

echo "<script> document.location.href='../index.php'; </script>";

(58)

Daftar Pustaka

Kristanto, A, 2003. Perancangan Sistem Informasi dan Aplikasinya, Yogyakarta:

Gava Media.

Betha, Sidik, Ir. 2007. Pemrograman Web dengan HTML.Bandung: Informatika

Bandung.

Adnyani, Nyoman. 2002. Kelemahan-Kelemahan Penerimaan Siswa SMP yang

Beracuan pada

NUAN. Makalah yang Disampaikan dalam Seminar Ilmiah

Universitas Mahasaraswati, September 2003.

Abdul, Kadir. 2003. Pengenalan Sistem Informasi. Andi : Yogyakarta.

Fadjar. 2002.

Pengenalan Nilai Budaya dan Etika Bagi Mahasiswa. Yogyakarta :

Yayasan

Penerbitan.

Kristanto, Andri. 2008.

Perancangan Sistem Informasi dan Aplikasinya. Gava Ilmu :

Yogyakarta.

Munandar, Imam dkk. 2012. Sistem Basis Data Akademik Sekolah Berbasis Web Pada

SMPN 5

Jakarta.

Betha, Sidik, Ir. 2007. Pemrograman Web dengan HTML.Bandung: Informatika

Bandung.

Adnyani, Nyoman. 2002. Kelemahan-Kelemahan Penerimaan Siswa SMP yang

Beracuan pada NUAN. Makalah yang Disampaikan dalam Seminar Ilmiah Universitas

Mahasaraswati,

September 2003.

Abdul, Kadir. 2003. Pengenalan Sistem Informasi. Andi : Yogyakarta.

Kristanto, Andri. 2008. Perancangan Sistem Informasi dan Aplikasinya. Gava Ilmu :

Yogyakarta.

(59)

BAB 3

ANALISA PERANCANGAN SISTEM

3.1

Perancangan Sistem

Perancangan Sistem adalah upaya suatu organisasi atau lembaga untuk memulai

memiliki suatu sistem yang lebih baik lagi dari sistem yang sebelumnya. Perancangan

sistem dilakukan setelah mendapat gambaran dengan jelas apa yang harus dikerjakan.

Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan pemakai (user)

mengenai gambaran yang jelas tentang perancangan sistem yang akan dibuat serta

diimplementasikan.Perancangan sistem adalah suatu upaya untuk membuat suatu

sistem yang baru atau memperbaiki sistem yang lama secara keseluruhan atau

memperbaiki sistem yang telah ada. Desain sistem secara umum mengidentifikasikan

komponen-komponen sistem informasi yang akan didesain secara terinci. Desain

terinci dimaksudkan untuk pemrogram komputer dan ahli teknik lainnya yang akan

mengimplementasikan sistem.

3.2

Data Flow Diagram (DFD)

Data Flow Diagram

(DFD) adalah suatu diagram yang menggunakan notasi-notasi

untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu

(60)

diagram yang menggambarkan hubungan antarsistem dengan entitas di luar sistem,

merupakan sistem secara keseluruhan. Diagram rinci menggambarkan sistem sebagai

jaringan kerja antara fungsi yang berhubungan satu dengan yang lain dengan aliran

penyimpanan data, model ini hanya memodelkan sistem dari sudut pandang fungsi.

Agar suatu sistem terstruktur, dapat dibuat suatu proses modeling dimana hasil dari

proses modeling tersebut berupa diagram konteks. Aplikasi perancangan simulasi

psikotest berbasis web bekerja dengan proses user terlebih dulu melakukan registrasi

sebelum memulai dan akan dientrykan administrator ke dalam sebuah database data

peserta. Dari

website tersebut akhirnya dirancang sebuah form pendaftaran simulasi

psikotest untuk dapat dilihat dan diisi oleh pihak pendaftar. Untuk lebih jelasnya dapat

dilihat pada gambar 3.2.1 diagram konteks berikut ini :

Peserta Administrator

Registrasi Ujian

Data Kategori Data Soal Data Peserta

Data Ujian Hasil Ujian

0.0

[image:60.595.98.517.438.634.2]

Simulasi Psikotest

(61)

3.3

Data Flow Diagram

Level 0 Simulasi Psikotest

Administrator 1.0 Login Administrator 2.0 Data Peserta Peserta 3.0 Data Kategori 4.0 Data Jabatan 5.0 Data Soal 6.0 Registrasi Peserta 7.0 Login Peserta 8.0 Simulasi Ujian 9.0 Hasil Ujian D1 D2 D3 D4 D5

Username & Password

Verifikasi Data Password

Verifikasi Password Data Kategori Data Kategori Data Jabatan Data Jabatan Data Peserta Verifikasi Data

[image:61.595.89.528.145.615.2]

Email & Password Data Peserta Data Peserta Data Peserta Data Soal Data Kategori Data Jabatan Daftar Soal D6 Jawaban Hasil Jabawan Nilai Hasil Ujian Tabel Login Tabel Peserta Tabel Kategori Tabel Soal Tabel Jawaban Tabel Jabatan

(62)

3.4

Data Flow Diagram

Level 1 Simulasi Psikotest

Peserta

8.1 Pilih Kategori

8.2 Acak Soal 8.3

Ujian

8.4 Hasil Ujian

D8

D8

D8

Kategori

Data Kategori

[image:62.595.101.499.179.463.2]

Soal Berkategori Soal Berkategori

Soal Acak Jawaban

Jawaban

Hasil Ujian Hasil Ujian

Soal

Soal

Tabel kategori

Tabel Soal

Tabel Jawaban

Gambar 3.4.1 DFD Level 1

3.5

Entity Relationship Diagram

(ERD)

Berikut ini adalah gambaran dari

Entity Relationship Diagram (ERD) dari admin

simulasi psikotest. Berikut merupakan penjelasan ERD, yaitu dimulai dari entitas table

peserta. Entitas table peserta memiliki sepuluh atribut yaitu id peserta, nama, jenis

kelamin, tempat, tanggal lahir, alamat, pendidikan, email, password dan waktu. Jika

user memiliki atribut tersebut maka admin akan menyajikan soal ke entitas peserta. Di

(63)

kategori dan di dalam entitas tabel jawaban ada beberapa atribut, yaitu id jawaban, id

ujian, id peserta, id soal, jawab, dan kategori. Di dalam tabel jawaban, jawaban akan

disimpan. Untuk lebih jelasnya dapat dilihat pada gambar 3.5.1

Entity Relationship

Diagram (ERD) berikut ini:

[image:63.595.80.528.234.423.2]

tblpeserta tblsoal tbljawaban menyajikan menyimpan alamat email nama jabatan idsoal idpeserta idjawaban menyajikan tblkategori kategori 1 1 idpeserta waktu jk tempat tgllahir pendidika n pass soal kategori idsoal kategori idujian jwb n n 1 n

Gambar 3.5.1 Entity Relationship Diagram (ERD)

3.6

Perancangan

Database

(64)
[image:64.595.91.457.114.197.2]

Tabel 3.1 Tabel Admin

No

Field Nama

Data Tipe

Size

Keterangan

1

2

user

pass

Varchar

Varchar

50

50

Username

Password

Tabel 3.2 Tabel Gambar

[image:64.595.95.456.255.339.2] [image:64.595.96.456.393.450.2]

No

Field Nama

Data Tipe

Size

Keterangan

1

2

idgambar

gambar

Integer

Varchar

11

200

Id Gambar

Nama Gambar

Tabel 3.3 Tabel Jabatan

[image:64.595.93.453.501.726.2]

No

Field Nama

Data Tipe

Size

Keterangan

1.

jabatan

Varchar

50

Jabatan

Tabel 3.4 Tabel Jawaban

(65)
[image:65.595.93.458.111.171.2]

Tabel 3.5 Tabel Kategori

[image:65.595.92.458.224.309.2]

No

Field Nama

Data Tipe

Size

Keterangan

1.

kategori

Varchar

50

Kategori

Tabel 3.6 Tabel Pengaturan

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

kriteria

nilai

Varchar

Text

200

-

Kriteria

Nilai

Tabel 3.7 Tabel Peserta

[image:65.595.93.455.366.673.2]
(66)
[image:66.595.92.456.111.362.2]

Tabel 3.8 Tabel Test

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

5.

6.

7.

idtest

idpeserta

idsoal

kategori

jabatan

jwb

st

Integer

Integer

Integer

Varchar

Varchar

Integer

Integer

11

11

11

50

50

1

1

Kriteria

Nilai

Soal

Kategori

Jabatan

Jawaban

Jawaban Benar / Salah

Tabel 3.9 Tabel Hasil Test

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

5.

6.

7.

8.

idhasiltest

idpeserta

jabatan

hasil

nilai

waktu

st

stlulus

Integer

Integer

Varchar

Varchar

double

Integer

Integer

Integer

11

11

50

255

-

11

1

1

Id Hasil Test

Id Peserta

Jabatan

Hasil

Nilai

Waktu

[image:66.595.93.457.418.671.2]
(67)
[image:67.595.94.457.112.335.2]

Tabel 3.10 Tabel Pengaturan Test

No

Field Nama

Data

Tipe

Size

Keterangan

1.

2.

3.

4.

5.

6.

idtestpengaturan

jabatan

kategori

jlh

lulus

waktu

Integer

Varchar

Varchar

Integer

Integer

Integer

11

50

50

11

11

11

Id Pengaturan Test

Jabatan

Kategori

Jumlah

Lulus

Waktu

Tabel 3.11 Tabel Soal

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

idsoal*

kategori

jabatan

soal

Integer

Varchar

Varchar

Text

11

50

50

-

Id Soal

Kategori

Jabatan

Soal

Tabel 3.12 Tabel Ujian

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

5.

idujian

keterangan

tgl

st

waktu

Integer

Varchar

Date

Integer

Integer

11

255

-

1

11

Id Ujian

Keterangan

Tanggal

Jawaban Benar / Salah

[image:67.595.93.457.584.754.2]
(68)
[image:68.595.91.456.85.170.2]

6.

7.

8.

cwaktu

hasil

jabatan

Integer

Varchar

Varchar

11

255

50

Cek Waktu

Hasil

Jabatan

Tabel 3.13 Tabel Ujian Kategori

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

5.

6.

idujiankategori

idujian

kategori

jlhsoal

jlhlulus

waktu

Integer

Integer

Varchar

Integer

Integer

Integer

11

11

50

11

11

11

Id Ujian Kategori

Id Ujian

Kategori

Jumlah Soal

Jumlah Lulus

[image:68.595.94.457.225.421.2]

Waktu

Tabel 3.14 Tabel Ujian Peserta

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

5.

6.

idujianpeserta

idujian

idpeserta

ket

nilai

lulus

Integer

Integer

Integer

Varchar

Integer

Integer

11

11

11

255

11

1

Id Ujian Peserta

Id Ujian

Id Peserta

Keterangan

Nilai

(69)
[image:69.595.93.458.109.315.2]

Tabel 3.15 Tabel Ujian Waktu

No

Field Nama

Data Tipe

Size

Keterangan

1.

2.

3.

4.

5.

6.

idujianwaktu

idpeserta

idujian

kategori

st

waktu

Integer

Integer

Integer

Varchar

Integer

Integer

11

11

11

50

11

1

Id Ujian Waktu

Id Peserta

Id Ujian

Kategori

Jawaban Benar / Salah

Waktu

3.7

Flowchart

Flowchart

adalah

sekumpulan

simbol-simbol

yang

menunjukkan

atau

menggambarkan rangkaian kegiatan-kegiatan program dari awal hingga akhir,

flowchart juga digunakan untuk menggambarkan urutan langkah-langkah pekerjaan di

suatu algoritma. Di dalam web ini ada beberapa

flowchart, yaitu flowchart menu

utama,

flowchart administrator, dan lain-lain. Berikut ini merupakan penjelasan

program Perancangan Aplikasi Simulasi Psikotest Berbasis Web berikut ini.

3.7.1

Flowchart

Menu

Admin

(70)

Mulai

Tampilan Halaman Admin

Menu Data Peserta

Menu Ujian

Menu Kategori

Menu Jabatan Data

Peserta

Pengatura n Soal

KategoriSoal

Jenis Jabatan

Keluar

Selesai Admin

S

B S

B

B S

S

B S

B

Data Soal

Komentar S

[image:70.595.107.501.77.538.2]

B

Gambar 3.7.1 Flowchart Menu Administrator

3.7.2

Flowchart

Menu Kategori

(71)

Mulai

Kategori

Tampilan Kategori

Tambah Kategori

Hapus Kategori Simpan

Kategori

Kategori Telah Dihapus

Selesai

S

B

[image:71.595.232.374.105.540.2]

B

Gambar 3.7.2 Flowchart Menu Kategori Soal

3.7.3

Flowchart

Menu Jabatan

(72)

Mulai

Jabatan

Tampilan Jabatan

Tambah Jabatan

Hapus Jabatan Simpan

Jabatan

Jabatan Telah Dihapus

Selesai

S

B

[image:72.595.232.374.110.546.2]

B

(73)

3.7.4

Flowchart

Menu Soal

Berikut ini merupakan penjelasan

flowchart

menu soal, dimana dalam menu soal

terdapat soal-soal berdasarkan kategori soal yang telah disimpan. Admin dapat

menambah dan menghapus jenis soal. Berikut merupakan flowchart menu soal.

Mulai

Soal

Daftar Jabatan

Pilih Materi

Tambah Soal

Edit Soal Simpan Soal

Simpan Hasil Editan

Keluar

Selesai B

S S

Pilih Kategori Soal

B S

S

B

S

B Hapus Soal

Data Telah Dihapus

S

[image:73.595.101.502.189.604.2]

B

Gambar 3.7.4 Flowchart Menu Soal

(74)

Pada form ini terdapat login Admin, Registrasi user dan Login user. Admin akan

[image:74.595.111.509.195.420.2]

langsung login ke halaman admin jika melakukan login system. Untuk lebih

jelasnya dapat dilihat pada gambar tampilan berikut ini.

Gambar 3.7.5 Tampilan Halaman Utama

2.

Tampilan Menu Registrasi

Sebelum user memulai simulasi, terlebih dahulu user melakukan registrasi. Jika

(75)
[image:75.595.110.504.84.295.2]

Gambar 3.7.6 Tampilan Menu Registrasi

3.

Tampilan Menu Jabatan

Di dalam tampilan menu jabatan, terdapat beberapa tingkatan jabatan yang akan

dipilih user yaitu Manager, Staff dan Supervisor serta diberikan petunjuk soal.

Jadi, sebelum user melakukan soal simulasi, simaklah dengan baik petunjuk soal

yang telah ditampilkan. Setelah itu user dapat langsung mengerjakan soal simulasi.

[image:75.595.111.509.500.722.2]
(76)

4.

Tampilan Simulasi

Di dalam tampilan ini, user dapat langsung mengerjakan soal simulasi setelah

memilih jabatan yang diinginkan. Terdapat timer pada simulasi psikotest

[image:76.595.98.494.221.478.2]

sehingga user dapat mengelola waktu mengerjakan soal

soal simulasi dengan

baik.

(77)

BAB 4

IMPLEMENTASI SISTEM

4.1

Pengertian Implementasi Sistem

Implementasi sistem adalah suatu prosedur yang dilakukan untuk menyelesaikan

sistem yang ada dalam dokumen rancangan sistem yang telah disetujui dan telah diuji,

menginstal dan menggunakan sistem baru yang telah diperbaiki. Adapun

langkah-langkah yang dibutuhkan dalam implementasi sistem adalah:

1.

Mendapatkan

software dan

hardware yang tepat serta sesuai untuk merancang

website.

2.

Menyelesaikan rancangan sistem.

3.

Menulis, menguji, mengontrol, dan mendokumentasikan website.

4.

Mendapatkan persetujuan.

4.2

Tujuan Implementasi Sistem

Adapun tujuan implementasi sistem adalah sebagai berikut:

1.

Mengkaji rangkaian sistem baik dari segi

software

maupun

hardware

sebagai

sarana pengolahan data dan penyajian informasi.

(78)

3.

Memastikan pengujung dapat mengoprasikan dengan mudah terhadap sistem yang

baru dan mendapat informasi yang baik dan jelas.

4.

Memastikan bahwa yang telah berjalan dengan lancer dan melakukan instalasi secara

benar

.

4.3

Komponen Sistem

Komponen-komponen system yang dibutuhkan dalam membangun aplikasi ini

diantaranya adalah:

a.

Hardware

Hardware

adalah suatu komponen yang sangat dibutuhkan dalam mewujudkan sistem

yang diusulkan. Dalam hal ini penulis merinci spesifikasi komponen hardware yaitu:

1.

Sistem Operasi menggunakan windows 7

2.

PC dengan processor intel inside

3.

RAM dengan kapasitas 2.00 GB.

4.

Flash disk 16 GB

5.

Monitor super VGA.

6.

Memory minimal 128MB.

7.

Keyboard.

8.

Mouse.

b.

Software

(79)

2.

Internet explorer, Mozila firefox, Google Chrome sebagai browser.

3.

Xampp versi 3.0.12

4.

Apache 2.2.18

5.

PHP versi 5.4.4

6.

MySQL 5.5.25a

c.

Brainware

Brainware

adalah semua pihak yang bertanggung jawab dalam pengembangan

sistem informasi, pemrosesan, dan penggunaan keluaran sistem informasi.

Brainware dalam sistem informasi terbagi 3 yaitu:

1.

Sistem Analis :

orang yang menganalisa sistem dengan mempelajari

masalah-masalah yang timbul dan menentukan kebutuhan pemakai dan mengidentifikasi

pemecahan yang beralasan.

2.

Programmer :

orang yang membuat system dengan menggunakan salah satu

bahasa pemrograman yang dikuasai.

3.

Operator : orang yang memakai sistem.

Ketika telah selesai mengerjakan tahap perancangan sistem, baik dalam merancang

tabel-tabel didalam

database dengan menggunakan

php Myadmin maupun dalam

merancang halaman-halaman website. Kini program tersebut dapat dijal

Gambar

Gambar 3.2.1 Diagram Konteks
Tabel Peserta
BerkategoriSoalTabel Soal
Gambar 3.5.1 Entity Relationship Diagram (ERD)
+7

Referensi

Dokumen terkait

Direkomendasikan mahasiswa untuk memilih menjadi asisten lebih dari satu pertemuan dari satu mata kuliah yang sama (mahasiswa mengampu lebih dari 1 kelas dari matakuliah yang

Berdasarkan hasil penelitian tindakan kelas yang dilakukan pada kelas IV SD 2 Bakalan Krapyak Kudus dapat disimpulkan yaitu penerapan model pembelajaran Numbered Haed

• Personal fall arrest systems: Anchor points (rated at 5,000 lbs.) Connectors (self-locking snap hooks) Retractable lanyard.. Full body harness

Jika perusahaan kekurangan persediaan, maka perusahaan tidak dapat memenuhi permintaan dalam jumlah besar, sehingga untuk dapat memenuhi permintaan konsumen, perusahaan

Penelitian ini bertujuan untuk menganalisis pengaruh kepemilikan perusahaan dan manajemen laba terhadap tipe kantor akuntan publik dan audit fees pada

JUDUL : CHARITY AND CULTURAL NIGHT 2016 CALON DOKTER PENTASKAN CERITA RAMAYANA. MEDIA :

 Kualitas sumber daya manusia yang masih rendah, hal tersebut dapat dilakukan melalui sosialisai langsung dari Dinas Pariwisata dan Kebudayaan Halmahera Utara

Dimensi perilaku dari nyeri meliputi serangkaian perilaku yang dapat diobservasi yang berhubungan dengan nyeri yang dirasakan dan bertindak sebagai cara