Anda di halaman 1dari 24

Pembuatan Web Aplikasi Tes Kepribadian Menggunakan Metode

Myers-Briggs Type Indicator (MBTI) Dengan Algoritma Tree

Sebagai tugas ujian akhir semester mata kuliah Struktur Data & Algoritma

Disusun Oleh :

Bethari Zattira (1112091000128)

Hana Faiqoh (11170910000076)

Muhammad Izaz Satwika (11170910000085)

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA
BAB I
PENDAHULUAN
1.1 Latar Belakang
Seiring dengan meningkatnya angka pencarian kerja, memberikan tugas yang cukup berat
bagi tim/seorang HRD (Human Resource Development) dalam merekrut karyawan terbaik untuk
perusahaannya. Selain dinilai dari skill dan kemampuan kerja, kepribadian seseorang juga
memiliki peran yang penting dalam memilih karyawan di berbagai perusahaan. Oleh karena itu,
dibutuhkan sebuah metode untuk mencari tau tipe kepribadian agar memudahkan tim recruiter
untuk menentukan keputusan siapa saja karyawan terpilih yang dapat bekerja di perusahannya.
Saat ini metode yang paling sering digunakan dan memiliki tingkat akurasi yang tinggi adalah tes
MBTI (Myers-Briggs Type Indicator).

1.2 Studi Kasus


Sebuah perusahaan IT consultant membutuhkan tenaga engineer dengan kualifikasi
memiliki keahlian programming dan mengolah database. Selain itu, setiap tenaga engineer yang
dibutuhkan harus memiliki tipe kepribadian INTJ atau minimal memiliki 3 tipe kepribadian yang
mendekati. Oleh karena itu, kami akan merancang aplikasi tes kepribadian MBTI berbasis web
menggunakan algorithma tree sebagai penentuan hasil dari tes tersebut.

Tujuan & Manfaat


Tujuan dan manfaat dari aplikasi ini adalah :

1. Membantu tim HRD dalam menentukan kepribadian setiap calon karyawan yang
mendaftar melalui test berbasis web yang diberikan
2. Mempermudah sistem perekrutan karyawan sesuai dengan kepribadian yang dimiliki oleh
calon karyawan
3. Mengorganisir data calon karyawan secara efisien dan sistematis
4. Transparansi data dalam pengerjaan tes baik oleh peserta maupun admin
5. Objektivitas dalam penilaian tes
BAB II
LANDASAN TEORI
2.1 Definisi MBTI
Myers-Birggs Type Indicator (MBTI) adalah psikotes yang dirancang untuk mengukur preferensi
psikologis seseorang dalam melihat dunia dan membuat keputusan. Psikotes ini dirancang untuk
mengukur kecerdasan individu, bakat, dan tipe kepribadian seseorang.

Sampai saat ini, tes MBTI adalah tes kepribadian yang paling banyak dipakai di dunia. Tes ini
juga dipakai untuk mengetahui karakter kepribadian karyawan perusahaan agar dapat
ditempatkan pada bidang-bidang yang membuat potensi karyawan tersebut optimal. Diantara
sekian banyak tes kepribadian yang paling akurat dan paling banyak digunakan adalah MBTI
(Myers Brigss Type Indicator).

MBTI bersandar pada empat dimensi utama yang saling berlawanan. Masing-masing memiliki
sisi positif dan sisi negatif. Berikut empat skala kecenderungan MBTI, yaitu :

1. Ekstrovert (E) vs Introvert (I)

Dimensi IE untuk melihat orientasi energy, apakah ke dalam atau keluar. Ekstrovert artinya
pribadi yang menyukai dunia luar. Tipe kepribadian ini senang bergaul, menyenangi interaksi
sosial, menyukai aktivitas dengan orang lain, dan berfokus pada dunia luar. Sebaliknya, tipe
introvert adalah pribadi yang menyukai dunia dalam (diri sendiri). Tipe ini suka menyendiri,
merenung, membaca, menulis, dan tidak terlalu menyukai pergaulan dengan banyak orang.
Individu dengan tipe kepribadian ini mampu bekerja sendiri, berkonsentrasi dan fokus. Tipe
kepribadian ini bagus dalam pekerjaan pengolahan data dan back office.

2. Sensing (S) vs Intuition (I)

Dimensi SI melihat bagaimana individu memproses data. Sensing memproses data dengan cara
bersandar pada fakta yang konkret, praktis, realistis dan melihat data apa adanya. Sensing
menggunakan pedoman pengalaman dan data konkret serta memilih cara-cara yang sudah
terbukti. Individu tipe kepribadian ini fokus pada masa kini atau hal-hal apa saja yang bisa
diperbaiki pada masa sekarang. Individu sensing bagus dalam perencanaan teknis dan detail
aplikatif. Tipe intuition memproses data dengan melihat pola dan hubungan, pemikir abstrak,
konseptual, serta melihat bagaimana kemungkinan yang bisa terjadi. Tipe intuition berpedoman
pada imajinasi, memilih cara unik, dan berfokus pada masa depan atau apa yang akan dicapai
pada masa mendatang. Tipe ini sangat inovatif, penuh insprasi dan ide unik, bagus untuk
penyusunan konsep, ide dan visi jangka panjang.

3. Thinking (T) vs Feeling (F)


Dimensi ketiga melihat bagaimana seseorang dapat mengambil keputusan. Thinking adalah
selalu menggunakan logika dan melakukan analisa dalam mengambil keputusan, cenderung
berpusat pada tugas dan objektif. Terkesan kaku dan keras kepala, menerapkan prinisip dengan
konsisten dan bagus untuk melakukan analisa serta menjaga prosedur atau standar. Sementara
feeling adalah tipe kepribadian yang melibatkan perasaan, empati, serta nilai-nilai yang diyakini
pada saat pengambilan keputusan. Tipe ini berorientasi pada hubungan dan subjektif. Bersifat
akomodatif tetapi lebih terkesan memihak, empatik dan menginginkan harmoni dan bagus dalam
menjaga keharmonisan dan memelihara hubungan.

4. Judging (J) vs Perceiving (P)

Dimensi terakhir melihat bagaimana derajat fleksibilitas seseorang. Judging pada hal ini
bukanlah judging untuk menghakimi, namun pada hal ini bertumpu pada rencana yang
sistematis, senantiasa berpikir dan bertindak teratur. Tipe judging tidak suka akan hal-hal
mendadak atau diluar perencanaan. Individu tipe ini bagus dalam penjadwalan, penetapan
struktur, dan perencanaan step by step. Tipe perceiving adalah mereka yang bersifat spontan,
adaptif, dan bertindak secara acak untuk melihat berbagai peluang yang muncul. Perubahan
mendadak bukanlah suatu masalah bagi tipe ini. Bagus dalam menghadapi perubahan dan situasi
mendadak.

Kuesioner yang didasarkan pada empat skala ini akan menghasilkan enam belas kemungkinan
kombinasi atau tipe-tipe kepribadian yang luas, yaitu:

1. ISTJ (Bertanggungjawab)

· Serius, tenang, dan stabil

· Senang pada fakta, logis, dan objektif

· Pendengar yang baik, setia, hanya mau berbagi pada orang terdekat

· Memegang aturan, standar, dan prosedur yang telah ditetapkan

2. ISFJ (Setia)

· Penuh pertimbangan, hati-hati, teliti, dan akurat

· Serius, tenang, stabil dan sensitif

· Punya kemampuan mengorganisasi, detail, sangat bertanggung jawab dan


dapat diandalkan

3. ISTP (Pragmatis)
· Tenang, pendiam, cenderung kaku, dingin

· Logis, rasional, kritis dan objektif

· Mampu menghadapi perubahan dengan cepat dan tenang

· Mampu menganalisa, mengorganisir, dan mendelegasikan.

4. ISFP (Artistik)

· Berpikir simpel, praktis, fleksibel, sensitif dan ramah

· Menghindari konflik, tidak memaksakan pendapat atau nilai-nilainya pada


orang lain

· Biasanya tidak mau memimpin, tetapi menjadi pelaksana atau pengikut yang
setia

· Menunjukkan perhatian lebih banyak melalui tindakan dibandingkan


kata-kata

5. INFJ (Reflektif)

· Perhatian, empati, sensitive, dan berkomitmen pada sebuah hubungan

· Sukses karena ketekunan, originalitas dan total dalam mengerjakan tugas


untuk mendapatkan hasil terbaik

· Idealis, perfeksionis, memegang teguh prinsip

· Visioner, penuh ide, dan kreatif

6. INTJ (Independen)

· Visioner, punya perencanaan praktis, dan biasanya memiliki ide-ide


originalitas serta dorongan yang kuat untuk mencapainya.

· Mandiri dan percaya diri

· Punya kemampuan yang baik dalam menganalisa sesuatu

· Skeptis, kritis, logis dan kadang-kadang keras kepala

· Punya keinginan untuk berkembang dan lebih maju dari orang lain

7. INFP (Idealis)
· Sangat perhatian dan peka dengan perasaan orang lain

· Penuh dengan antusiasme dan kesetian kepada orang terdekatnya saja

· Cenderung idealis dan perfeksionis

8. INTP (Konseptual)

· Sangat menghargai intelektualitas dan pengetahuan

· Suka memecahkan masalah dengan logika dan analisa

· Lebih suka bekerja sendiri

· Cenderung kritis, skeptis, pesimis, dan mudah curiga pada orang lain

9. ESTP (Spontan)

· Spontan, aktif, enerjik, cekatan, sigap, dan antusias

· Kominukator, asertif, memiliki interpersonal skill yang tinggi

· Mampu menghadapi masalah, konflik, dan kritik

· Mudah beradaptasi, toleran, dan konservatif tentang nilai-nilai

10. ESFP (Murah hati)

· Mudah berteman, bersahabat, ramah, hangat, dan menyenangkan

· Optimis, ceria, dan suka menjadi pusat perhatian

· Mempunyai interpersonal skill yang baik dan mudah simpatik

· Menghindari konflik dan menjaga keharmonisan suatu hubungan

11. ENFP (Optimis)

· Ramah, hangat, enerjik

· Imajinatif, penuh ide, kreatif, dan inovatif

· Pandai berkomunikasi, senang bersosialisasi dan membawa suasana positif

12. ENTP (Inovatif)

· Gesit, kreatif, cerdik, dan logis


· Fleksibel, mempunyai banyak cara menghadapi tantangan

· Kurang konsisten, cenderung melakukan pekerjaan baru yang lebih menarik


daripada yang sebelumnya

· Punya keinginan kuat untuk mengembangkan diri

13. ESTJ (Konservatif)

· Praktis, realistis dan cenderung berpegang pada fakta

· Sangat sistematis

· Cenderung kaku dalam mengerjakan suatu tugas

· Disiplin dan pekerja keras

14. ESFJ (Harmonis)

· Hangat, banyak berbicara, dan biasanya populer

· Teliti dan rajin

· Santai dalam mengerjakan sesuatu dan sederhana

· Selalu melakukan sesuatu yang manis bagi orang lain tanpa memikirkan diri
sendiri

15. ENFJ (Meyakinkan)

· Kreatif, imajinatif, peka, dan sensitif

· Pandai bergaul, meyakinkan, ramah

· Menyukai variasi dan tantangan baru

· Butuh apresiasi dan penerimaan

16. ENTJ (Pemimpin alami)

· Dominan, kuat kemauannya, perfeksionis

· Tangguh, disiplin, dan sangat menghargai komitmen

· Berbakat pemimpin

· Cenderung menutupi perasaan dan menyembunyikan kelemahan.


BAB III
ANALISA DAN PERANCANGAN
3.1 Analisa Sistem

3.1.1 Fitur & Fungsi

Terdapat beberapa Fitur didalam aplikasi test psikologi ini diantaranya :


1. Login : Terdiri dari 2 akses login dalam aplikasi ini, diantaranya adalah user admin HRD
yang memiliki otoritas untuk melihat seluruh user Calon Karyawan yang telah mendaftar,
sudah mengikuti test/belum mengikuti test, dan lulus/tidak lulusnya calon karyawan.
Sedangkan User kedua adalah user calon karyawan, dimana untuk dapat memiliki akses
mengikuti ujian, peserta dapat melakukan registrasi terlebih dahulu.
2. Mulai Test : Halaman ini dikhususkan untuk dapat diakses oleh user calon karyawan dan
terdiri dari 60 soal pernyataan (terdapat 2 pernyataan) dimana setiap pernyataan terdiri
dari 2 radio button yang harus dipilih salah satu oleh peserta test sesuai dengan
kepribadian yang cocok oleh peserta test tersebut.
3. Lihat Hasil : Merupakan halaman history dimana hasil jawaban dari peserta disimpan.
apabila hasil akhir sesuai dengan kriteria perusahaan yakni (INTJ) atau minimal berkaitan
dari 3 huruf tersebut, maka peserta dinyatakan lulus dan dapat melakukan proses
interview lebih lanjut.
3.1.2 Perancangan Sistem

3.1.2.1 Design Program


Flowchart Aplikasi

Gambar 1. Flowchart Test Mbti

Diagram Tree

gambar 2. Simulasi diagram Tree dalam aplikasi MBTI


3.1.2.2 Design User Interface

1. Halaman Login

gambar 3. Halaman Login

2. Halaman Register Calon Peserta Test MBTI


Gambar 2. Halaman Registrasi Calon Peserta tes MBTI

Jika calon peserta belum memiliki akun untuk masuk kedalam halaman tes, peserta dapat
registrasi calon dan selanjutnya dapat melakukan login kembali.

3. Halaman Admin

gambar3. Halaman utama user admin


gambar 4. Halaman data calon karyawan

4. Halaman Peserta Test

Gambar 4. Halaman profil Peserta Test


gambar 5. Hasil Test Peserta

3.1.2.3 Cara Kerja Sistem


1. Dalam soal tes MBTI, terdapat 60 soal yang terdiri dari 2 pilihan berbentuk pernyataan, setiap
bentuk pernyataan memiliki 15 tipe dari 8 bobot nilai kepribadian diantaranya:

I Introvert E Extrovert

S Sense N Intuition

T Thinking F Feeling

J Judging P Perceiving

Selanjutnya, rumus yang ditentukan untuk mendapatkan hasil berapa persen jawaban yang telah
terisi adalah

Tipe Bobot (I/S/T/J)/15*100

Sehingga setiap jawaban yang dipilih menghasilkan nilai berupa % setiap huruf kategori kepribadian.
Selanjutnya setiap hasil % yang didapatkan akan dibandingkan dengan lawan tipe kepribadian.
Contoh :

Jika setelah diisi didapatkan nilai I = 40% dan E = 60%, maka didapatkan hasil E. Begitu pula selanjutnya.

Jika diaplikasikan ke dalam Algoritma, maka ;


1. Mendefinisikan variable pertanyaan :
Sistem membuat definisi variabel menggunakan bahasa pemograman JSON untuk menyimpan
data soal beserta bobot nilainya, contoh :

<script type="text/javascript">
var obj = 
[
{
"pertanyaanA": "Spontan, Fleksibel, tidak diikat waktu",
"pertanyaanB": "Terencana dan memiliki deadline jelas",
"jenisA": "PERCEIVING",
"jenisB": "JUDGING"
},
{
"pertanyaanA": "Lebih memilih berkomunikasi dengan menulis",
"pertanyaanB": "Lebih memilih berkomunikasi dengan bicara",
"jenisA": "INTROVERT",
"jenisB": "EKSTROVERT"
},
{
"pertanyaanA": "Tidak menyukai hal-hal yang bersifat mendadak dan di luar
perencanaan",
"pertanyaanB": "Perubahan mendadak tidak jadi masalah",
"jenisA": "JUDGING",
"jenisB": "PERCEIVING"
},

2. Data yang telah didefinisikan didalam var obj, dimasukkan ke dalam var template sementara

<tbody id="template">
<tr>
<th style="width: 10px">#</th>
<th style="width: 45%">valpertanyaanA
<!-- <input type="text" value="valpertanyaanA" class="form-control" id="idnya1"
readonly="readonly"> -->
</th>
<th style="width: 1%">
<input type="radio" onchange="countdataPersen()" name="question1"
id="question1Radios1" class="jenisA" value="left" >
</th>
<th style="width: 1%">
<input type="radio" onchange="countdataPersen()" name="question1"
id="question1Radios2" class="jenisB" value="right">
</th>
<th style="width: 45%">
valpertanyaanB
<!-- <input type="text" value="valpertanyaanB" id="idnya1" class="form-control"
readonly="readonly"> -->
</th>
</tr>

</tbody>

3. Selanjutnya data yang sudah didefinisikan ke dalam var template akan ditampilkan ke halaman
muka website tersebut

function insertToTamplate(){
for(var i = 0; i< obj.length;i++){
var datainsert = template;
datainsert = datainsert.replace(/#/g, i+1);
datainsert = datainsert.replace("valpertanyaanA", obj[i]["pertanyaanA"]);
datainsert = datainsert.replace("jenisA", obj[i]["jenisA"]);
datainsert = datainsert.replace("jenisB", obj[i]["jenisB"]);
datainsert = datainsert.replace("valpertanyaanB", obj[i]["pertanyaanB"]);
var _questionI = "question_"+i;
datainsert = datainsert.replace(/question1/g, _questionI);
datainsert = datainsert.replace("question1Radios1", _questionI+"radio1");
datainsert = datainsert.replace("question1Radios2", _questionI+"radio2");
$("#template").append(datainsert);
}
}

Didalam function insertToTemplate, var obj akan melakukan looping sebanyak jumlah obj untuk
menampilkan soal yang telah terdefinisi tersebut.
4. Selanjutnya dilakukan proses perhitungan total

function countdataPersen(){
var nIntrovert = Math.ceil($(".INTROVERT:checked").length/15*100);
$("#persenIntrovert").val(nIntrovert+"%");
var nEkstrovert = Math.ceil($(".EKSTROVERT:checked").length/15*100);
$("#persenEkstrovert").val(nEkstrovert+"%");

var nSensing = Math.ceil($(".SENSING:checked").length/15*100);


$("#persenSensing").val(nSensing+"%");
var nIntuition = Math.ceil($(".INTUITION:checked").length/15*100);
$("#persenIntuition").val(nIntuition+"%");

var nPerceiving = Math.ceil($(".PERCEIVING:checked").length/15*100);


$("#persenPerceiving").val(nPerceiving+"%");
var nJudging = Math.ceil($(".JUDGING:checked").length/15*100);
$("#persenJudging").val(nJudging+"%");

var nFeeling = Math.ceil($(".FEELING:checked").length/15*100);


$("#persenFeeling").val(nFeeling+"%");
var nThinking = Math.ceil($(".THINKING:checked").length/15*100);
$("#persenThinking").val(nThinking+"%");
// tipeKepribadian();
countAll();

Disini mulai menggunakan rumus = Tipe Bobot (I/S/T/J)/15*100

5. Setelah itu, sistem akan melakukan proses pemilihan data, apabila I > E maka data yang akan
dijadikan hasil adalah I

function tipeKepribadian(){
var datanya = "";
var retDatanya = "";
var introvert = $("#persenIntrovert").val().replace("%", "");
var ekstrovert = $("#persenEkstrovert").val().replace("%", "");
if(parseInt(introvert) > parseInt(ekstrovert)){

datanya = datanya+"<b class='hasil-kepribadian'>I</b>";


retDatanya = "I";
}else{
datanya = datanya+"<b class='hasil-kepribadian'>E</b>";
retDatanya = "E";

var sensing = $("#persenSensing").val().replace("%", "");


var intuition = $("#persenIntuition").val().replace("%", "");
if(parseInt(sensing) > parseInt(intuition)){

datanya = datanya+"<b class='hasil-kepribadian'>S</b>";


retDatanya = retDatanya+"S";
}else{

datanya = datanya+"<b class='hasil-kepribadian'>N</b>";


retDatanya = retDatanya+"N";
}

var thinking = $("#persenThinking").val().replace("%", "");


var feeling = $("#persenFeeling").val().replace("%", "");
if(parseInt(thinking) > parseInt(feeling)){

datanya = datanya+"<b class='hasil-kepribadian'>T</b>";


retDatanya = retDatanya+"T";
}else{

datanya = datanya+"<b class='hasil-kepribadian'>F</b>";


retDatanya = retDatanya+"F";
}

var perceiving = $("#persenPerceiving").val().replace("%", "");


var judging = $("#persenJudging").val().replace("%", "");
if(parseInt(judging) > parseInt(perceiving)){

datanya = datanya+"<b class='hasil-kepribadian'>J</b>";


retDatanya = retDatanya+"J";
}else{
datanya = datanya+"<b class='hasil-kepribadian'>P</b>";
retDatanya = retDatanya+"P";

}
$("#hasilnya").html(datanya);
return retDatanya;
}
6. Selanjutnya sistem akan melakukan validasi, apabila check box masih kosong, button submit tidak
bisa lanjutkan sampai jawaban terisi semua

function countAll(){
var introvert = $("#persenIntrovert").val();
introvert = parseInt(introvert.replace("%", ""));
var ekstrovert = $("#persenEkstrovert").val();
ekstrovert = parseInt(ekstrovert.replace("%", ""));
var inek = introvert+ekstrovert;

var Sensing = $("#persenSensing").val();


Sensing = parseInt(Sensing.replace("%0"));
var Intuition = $("#persenIntuition").val();
Intuition = parseInt(Intuition.replace("%"));
var SenIn = Sensing + Intuition;

var thinking = $("#persenThinking").val();


thinking = parseInt(thinking.replace("%0"));
var feeling = $("#persenFeeling").val();
feeling = parseInt(feeling.replace("%"));
var thikFeel = thinking + feeling;

var judging = $("#persenJudging").val();


judging = parseInt(judging.replace("%0"));
var perceiving = $("#persenPerceiving").val();
perceiving = parseInt(perceiving.replace("%"));
var judper = judging + perceiving;

if(inek >= 100 && SenIn >= 100 & thikFeel >= 100 && judper >= 100){
$(".divBtn").attr("style", "display: block");
}

7. Selanjutnya, jika data sudah terisi semua, maka sistem akan melakukan pengaplikasian dari
algoritma tree, dimana jika didapatkan hasil yang sesuai (INTJ) maka peserta dinyatakan
“PASSED”, namun apabila hasil yang didapatkan <= 3 dari huruf yang sesuai, maka peserta
akan dinyatakan “FAIL”
function submitdone(){
var hasil = tipeKepribadian();
var _dataobj = {};
_dataobj.Introvert = $("#persenIntrovert").val();
_dataobj.Ekstrovert = $("#persenEkstrovert").val();
_dataobj.Sensing = $("#persenSensing").val();
_dataobj.Intuition = $("#persenIntuition").val();
_dataobj.Thinking = $("#persenThinking").val();
_dataobj.Feeling = $("#persenFeeling").val();
_dataobj.Judging = $("#persenJudging").val();
_dataobj.Perceiving = $("#persenPerceiving").val();
var obj = {};
obj.hasil = hasil;
obj.detail = _dataobj;
$.ajax({
url: "/MBTI/action/submit-test.php",
type: "post",
data: obj ,
success: function (response) {
var code = response["code"];
if(code == 0){
var mess = response["message"];
$("#hasilheader").html(mess);
if(mess == 'FAILED'){
$(".hasil-kepribadian").addClass("failed");

$("#hasilheader").addClass("failed");
}else{
$(".hasil-kepribadian").addClass("passed");
$("#hasilheader").addClass("passed");
}
}else{
alert(response["message"]);
}

},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});

}
Data ini mengambil rumus dari halaman url: "/MBTI/action/submit-test.php" dimana di halaman
tersebut terdapat algoritma untuk menjalankan proses apakah jawaban tersebut bernilai
“PASSED” atau “FAILED”

<?php
header("Content-type:application/json");
session_start();
//Tree u/menentukan failed/pass

$hasil = $_POST["hasil"];

$detail = $_POST["detail"];
$I = str_replace("%", '', $detail["Introvert"]);
$E = str_replace("%", '', $detail["Ekstrovert"]);

$S = str_replace("%", '', $detail["Sensing"]);


$N = str_replace("%", '', $detail["Intuition"]);

$T = str_replace("%", '', $detail["Thinking"]);


$F = str_replace("%", '', $detail["Feeling"]);

$J = str_replace("%", '', $detail["Judging"]);


$P = str_replace("%", '', $detail["Perceiving"]);

#$hasildata = "I : ".$I. " E : ".$E. " S : ".$S. " N : ".$N. " T : ".$T. " F : ".$F. " J : ".$J. " P :
".$P;
$hasildata = json_encode($detail);
if(intval($I) >50 ){
if(intval($N) > 50){
if(intval($T) > 50){
$ret = "PASSED";
}else{
if(intval($P) < 50){
$ret = "PASSED";
}else{
$ret = "FAILED";
}
}
}else{
if(intval($F)<50){
if(intval($J)>50){
$ret = "PASSED";
}else{
$ret = "FAILED";
}
}else{
$ret = "FAILED";
}
}
}else{
if(intval($S) < 50){
if(intval($T) > 50){
if(intval($J) > 50){
$ret = "PASSED";
}else{
$ret = "FAILED";
}
}else{
$ret = "FAILED";
}
}else{
$ret = "FAILED";
}
}

include "../koneksi/koneksi.php";

$sql = "
INSERT INTO test(id_karyawan, hasil) VALUES
('".$_SESSION["id_karyawan"]."', '".$ret."');
";

if ($koneksi->query($sql) === TRUE) {


$last_id = $koneksi->insert_id;

$sqlUser = "INSERT INTO soal(id_test, json_data) VALUES ('".$last_id."',


'".$hasildata."');";
if ($koneksi->query($sqlUser) === TRUE) {
$resp = array('code' => 0, 'message' => $ret);
}else{
$resp = array('code' => -256, 'message' => "Error: " . $sql . "<br>" .
$koneksi->error);
}

} else {
$resp = array('code' => -256, 'message' => "Error: " . $sql . "<br>" .
$koneksi->error);

}
$koneksi->close();
echo json_encode($resp);

?>
BAB IV
PENUTUP

4.1 Kesimpulan
Berdasarkan tulisan di beberapa bab sebelumnya dapat disimpulkan :

1. Algortitma Tree dapat diaplikasikan untuk mendapatkan hasil data optional.


2. Aplikasi ini masih memiliki beberapa keterbatasan seperti hanya bisa mendapatkan 1 tipe
kepribadian saja, karena membutuhkan proses yang cukup panjang apa bila dapat mendefinisikan
semua kepribadian yang tersedia.
3. Namun, tentu aplikasi ini akan sangat berguna apabila dikembangkan dengan baik
Daftar Pustaka

● Data Rumus MBTI beserta keterangan bobot soalnya kami dapat melalui dokumen .exe milik
Nafis Mudrika, S.Psi (www.nafismudrika.wordpress.com), lalu kami definisikan kedalam bahasa
pemograman

Anda mungkin juga menyukai