LAMPIRAN 107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
KODE PROGRAM 1. Script Konsultasi 1. <!DOCTYPE html> 2. <html lang="en"> 3. <head> 4. <meta charset="utf-8"> 5. <title>sistem Pakar Enneagram</title> 6. </head> 7. <body id="home"><div class="splash"><div class="container"><div class="row"> 8. <h1>sistem Pakar Kepribadian Enneagram</h1> 9. <div class="row"> 10. </div></div></div></div> 11. <div class="navbar navbar-default navbar-fixed-top"> 12. <div class="container"> 13. <div class="navbar-header"> 14. <a class="navbar-brand"><img src="assets/img/icon3.png"> Enneagram</a> 15. </div><div class="navbar-collapse collapse" id="navbar-main"> 16. <ul class="nav navbar-nav"> 17. <li><a href="index.php" i>halaman Utama</a></li> 18. <li><a href="test.php">mulai Tes</a></li> 19. <li><a href="tipe-kepribadian.php">tipe Kepribadian</a></li> 20. </ul> 21. <ul class="nav navbar-nav navbar-right"> 22. <li ><a href="login.php">masuk Admin / Pakar</a></li> 23. </ul> 24. </div></div></div> 25. <?php include 'connect.php'; error_reporting(e_all^(e_notice E_WARNING)); session_start(); $ID = intval($_session['id']); #Apabila BELUM MENEMUKAN TIPE KEPRIBADIAN 26. $sqlcek="select * FROM bantu_relasi WHERE id_br=$id"; 27. $qrycek=mysql_query($sqlcek); 28. $datacek=mysql_num_rows($qrycek); 29. if ($datacek >= 1){ //Seandainya bantu_relasi tidak kosong //SQL ambil data pertanyaan yang tidak ada di dalam //tabel bantu pertanyaan (NOT IN...) 30. $sqlg="select pertanyaan.* FROM pertanyaan,bantu_relasi WHERE pertanyaan.id_pertanyaan=bantu_relasi.id_pertanyaan AND bantu_relasi.id_br=$id AND NOT bantu_relasi.id_pertanyaan IN(SELECT id_pertanyaan FROM bantu_pertanyaan WHERE id_bp=$id) ORDER BY pertanyaan.id_pertanyaan LIMIT 1"; 143
31. $qryg=mysql_query($sqlg); 32. $datag=mysql_fetch_array($qryg); 33. $idpertanyaan=$datag['id_pertanyaan']; 34. $pertanyaan=$datag['pernyataan']; 35. }else{ //Seandainya tabel bantu kosong //Ambil data pertanyaan dari tabel pertanyaan 36. $sqlg="select * FROM pertanyaan ORDER BY id_pertanyaan LIMIT 1"; 37. $qryg=mysql_query($sqlg); 38. $datag=mysql_fetch_array($qryg); 39. $idpertanyaan=$datag['id_pertanyaan']; 40. $pertanyaan=$datag['pernyataan']; 41. }?> 42. <div class="well bs-component"> 43. <div class="row"> 44. <form action="tescek1.php" method="post" name="form1" target="_self"> 45. <br> <br> <br> 46. <div align="center"><h3><b>pilihlah jawaban yang sesuai dengan diri anda!</b></h3></div> 47. <table width="60%" align="center" border="3" cellpadding="2" cellspacing="0"> 48. <tr><td> </td></tr> 49. <tr><td width="312" align="center"><?php echo $pertanyaan?> 50. <input name="id_pertanyaan" type="hidden" value="<?php echo $idpertanyaan;?>" 51. </td></tr> 52. <tr><td> </td></tr> 53. <tr><td align="center"> 54. <input required type="radio" name="rbpilih" value="ya"> Sesuai (YA) 55. <input required type="radio" name="rbpilih" value="tidak"> Tidak Sesuai (TIDAK) 56. </td></tr> 57. <tr><td> </td></tr> 58. <tr><td align="center"> 59. <input type="submit" name="submit" class="btn btn-primary" value="lanjut"> 60. </td></tr> 61. <tr><td> </td></tr> 62. </table><br> <br> <br> <br> 63. </form></div></div> 64. <div class="container"> 65. <footer> 66. <div class="row"> 144
67. <div class="col-lg-12"> 68. <ul class="list-unstyled"> 69. <li class="pull-right"><a href="#top">back to top</a></li> 70. </ul> 71. <p>sistem Pakar Enneagram - Tugas Akhir</p> 72. <p>edited by <a href="http://www.satriyopam.com" rel="nofollow">satriyopam</a>. 2016</a></p> 73. </div></div> 74. </footer></div> 75. </body> 76. </html> 2. Script Proses Konsultasi 1. <?php 2. include 'connect.php'; 3. error_reporting(e_all^(e_notice E_WARNING)); 4. session_start(); 5. $RbPilih=$_POST['RbPilih']; 6. $idpertanyaan=$_post['id_pertanyaan']; 7. $ID = intval($_session['id']); #FUNGSI UNTUK MENAMBAH BANTU PERTANYAAN 8. function AddBantuPertanyaan($idpertanyaan,$ID){ 9. $sql_pertanyaan='insert INTO bantu_pertanyaan (id_bp, id_pertanyaan) VALUES ('.$ID.', "'.$idpertanyaan.'")'; 10. mysql_query($sql_pertanyaan);} #PERIKSA APABILA SUDAH DITEMUKAN //CEK DATA TIPE DI DALAM TABEL BANTU_TIPE 11. $sql_cekh="select * FROM bantu_tipe WHERE id_bt=$id GROUP BY id_tipe"; 12. $qry_cekh=mysql_query($sql_cekh); 13. $hsl_cekh=mysql_num_rows($qry_cekh); 14. if($hsl_cekh==1){ //APABILA DATA BANTU_TIPE ISINYA 1 15. while($hsl_data=mysql_fetch_array($qry_cekh)){ //MEMINDAHKAN DATA BANTU KE TABEL HASIL 16. $sql="select bantu_tipe.*, tipe_kepribadian.* FROM bantu_tipe, tipe_kepribadian WHERE bantu_tipe.id_tipe=tipe_kepribadian.id_tipe"; 17. $qry=mysql_query($sql); 18. $sqlr="select * FROM user WHERE id_user='1'"; 19. $qryt=mysql_query($sqlr); 20. $datap = mysql_fetch_array($qryt) 21. while($data = mysql_fetch_array($qry)){ 22. $data1=$data['id_tipe'].'<br><br>'; 23. $data2=$data['nama_tipe'].'<br><br>'; 145
24. $data3=$data['descr'].'<br><br>'; 25. $data4=$data['subtipe1'].'<br><br>'; 26. $data5=$data['subtipe2'].'<br><br>'; 27. $data6=$data['subtipe3'].'<br><br>'; 28. $data7=$data['pengaruh'].'<br><br>'; 29. $data8=$data['pergaulan'].'<br><br>'; 30. $data9=$data['dukungan'].'<br><br>'; 31. $data10=$data['karir'].'<br><br>'; 32. $data11=$data['saran'].'<br><br>'; 33. $data12=$data['tokoh'].'<br><br>'; 34. $data13=$datap['id_user'].'<br><br>'; 35. $data14=$datap['nama'].'<br><br>'; 36. $data15=$datap['telepon'].'<br><br>'; 37. $hsl_pertanyaan1 = ""; 38. $sql2="select pernyataan FROM bantu_relasi,pertanyaan WHERE bantu_relasi.id_pertanyaan = pertanyaan.id_pertanyaan"; 39. $qry2=mysql_query($sql2); 40. while($hsl_pertanyaan=mysql_fetch_array($qry2)){ 41. $hsl_pertanyaan1.= $hsl_pertanyaan['pernyataan'].', ';} //PERINTAH UNTUK MEMINDAHKAN DATA 42. $sql_in='insert INTO hasil (id_tipe, nama_tipe, descr, subtipe1, subtipe2, subtipe3, pengaruh, pergaulan, dukungan, karir, saran, tokoh) VALUES ("'.$data["id_tipe"].'", "'.$data["nama_tipe"].'", "'.$data["descr"].'", "'.$data["subtipe1"].'", "'.$data["subtipe2"].'", "'.$data["subtipe3"].'", "'.$data["pengaruh"].'", "'.$data["pergaulan"].'", "'.$data["dukungan"].'", "'.$data["karir"].'", "'.$data["saran"].'", "'.$data["tokoh"].'", "'.$datap["id_user"].'", "'.$datap["nama"].'", "'.$datap["telepon"].'")'; 43. mysql_query($sql_in);}} //REDIREKSI SETELAH PEMINDAHAN DATA 44. echo "<meta http-equiv='refresh' content='0; url=hasil.php'>"; 45. exit;} #FUNGSI UNTUK MENAMBAH BANTU RELASI 46. function AddBantuRelasi($idpertanyaan, $ID){ //SQL untuk ambil data relasi dengan ketentuan //id_tipe=id tipe yang ada di dalam Bantu Tipe //Query dilakukan pada ID yang sesuai 47. $sql_tipe= "SELECT relasi.* FROM relasi,bantu_tipe WHERE relasi.id_tipe=bantu_tipe.id_tipe AND id_bt=$id ORDER BY relasi.id_tipe,relasi.id_pertanyaan"; 48. $qry_tipe=mysql_query($sql_tipe); 49. while ($data_tipe=mysql_fetch_array($qry_tipe)){ //Data yang didapatkan dari Query di atas //Dimasukkan ke dalam bantu_relasi 146
50. $sqlbnt='insert INTO bantu_relasi (id_br, id_tipe, id_pertanyaan) VALUES ('.$ID.', "'.$data_tipe["id_tipe"].'", "'.$data_tipe["id_pertanyaan"].'")'; 51. mysql_query($sqlbnt);}} #FUNGSI UNTUK MENGOSONGKAN TABEL BANTU TIPE 52. function DelBantuTipe($ID){ 53. $sql_del="delete FROM bantu_tipe WHERE id_bt=$id"; 54. mysql_query($sql_del);} #FUNGSI UNTUK MENGOSONGKAN TABEL BANTU RELASI 55. function DelBantuRelasi($ID){ 56. $sql_del="delete FROM bantu_relasi WHERE id_br=$id"; 57. mysql_query($sql_del);} ## PEMERIKSAAN JAWABAN PENELUSURAN 1 ## APABILA PILIH JAWABAN YA/BENAR 58. if ($RbPilih=="YA"){ // Periksa apakah ada data di bantu_relasi 59. $sql_analisis="select * FROM bantu_relasi WHERE id_br=$id"; 60. $qry_analisis=mysql_query($sql_analisis,$koneksi); 61. $data_cek=mysql_num_rows($qry_analisis); 62. if ($data_cek >= 1){ #PERINTAH APABILA bantu_relasi TIDAK KOSONG //Kosongkan dulu daftar tipe 63. DelBantuTipe($ID); //SQL Untuk mengambil data bantu_relasi //Yang ID pertanyaannya dipilih oleh Klien 64. $sql_bnt="select * FROM bantu_relasi WHERE id_pertanyaan='$idpertanyaan' AND id_br=$id"; 65. $qry_bnt=mysql_query($sql_bnt,$koneksi); 66. while ($data_bnt=mysql_fetch_array($qry_bnt)){ // SQL untuk ambil data relasi yang // ID TIPE ada di dalam tabel bantu_relasi 67. $sql_rtipe="select * FROM relasi WHERE id_tipe='$data_bnt[id_tipe]' GROUP BY id_tipe"; 68. $qry_rtipe=mysql_query($sql_rtipe); 69. while ($data_rtipe=mysql_fetch_array($qry_rtipe)){ // Hasil Query di atas dipindahkan ke // Tabel BANTU_TIPE // Jadi, hanya tipe yng memungkinkan 70. $sql_input='insert INTO bantu_tipe (id_bt, id_tipe) VALUES ('.$ID.', "'.$data_rtipe["id_tipe"].'")'; 71. mysql_query($sql_input,$koneksi);}} //Memanggil fungsi 72. DelBantuRelasi($ID); //Fungsi Mengisi data BANTU RELASI 73. AddBantuRelasi($idpertanyaan, $ID); 74. AddBantuPertanyaan($idpertanyaan, $ID); 147
75. }else{ #PERINTAH APABILA BANTU_RELASI MASIH KOSONG //SQL untuk mengambil data relasi yang ID pertanyaannya dipilih oleh Klien 76. $sql_rpertanyaan="select * FROM relasi WHERE id_pertanyaan='$idpertanyaan'"; 77. $qry_rpertanyaan=mysql_query($sql_rpertanyaan); 78. while ($data_rpertanyaan=mysql_fetch_array($qry_rpertanyaan)){ //Ambil data relasi yang Id_tipe sesuai dengan query sebelumnya (relasi) 79. $sql_rtipe="select * FROM relasi WHERE id_tipe='$data_rpertanyaan[id_tipe]' GROUP BY id_tipe"; 80. $qry_rtipe=mysql_query($sql_rtipe); 81. while ($data_rtipe=mysql_fetch_array($qry_rtipe)){ //Hasil dari Query disimpan dalam tabel bantu_tipe 82. $sql_input='insert INTO bantu_tipe (id_bt, id_tipe) VALUES ('.$ID.', "'.$data_rtipe["id_tipe"].'")'; 83. mysql_query($sql_input,$koneksi);}} //Fungsi menambah data ke BANTU RELASI 84. AddBantuRelasi($idpertanyaan, $ID); //Fungsi menambah data ke BANTU PERTANYAAN 85. AddBantuPertanyaan($idpertanyaan, $ID);} //Redireksi 86. echo "<meta http-equiv='refresh' content='0; url=tes1.php'>";} ## PEMERIKSAAN JAWABAN PENELUSURAN 2 ## APABILA MEMILIH TOMBOL TIDAK 87. if ($RbPilih=="TIDAK"){ //Ambil semua data dari BANTU_RELASI 88. $sql_analisis="select * FROM bantu_relasi WHERE id_br=$id"; 89. $qry_analisis=mysql_query($sql_analisis, $koneksi); 90. $data_cek=mysql_num_rows($qry_analisis); 91. if ($data_cek >= 1) { # APABILA DATA BANTU_RELASI TIDAK KOSONG # Hapus bantu_relasi yang tidak sesuai // Ambil data Id_tipe yang dipilih dari tabel bantu_relasi, syarat yang pertanyaannya telah terpilih 92. $sql_relasi="select * FROM bantu_relasi WHERE id_pertanyaan='$idpertanyaan' AND id_br=$id"; 93. $qry_relasi=mysql_query($sql_relasi, $koneksi); 94. while ($hsl_relasi=mysql_fetch_array($qry_relasi)){ // Perintah hapus bantu_relasi dari data Id_tipe yang didapat 95. $sql_delbnt="delete FROM bantu_relasi WHERE id_tipe='$hsl_relasi[id_tipe]' AND id_br=$id"; 96. mysql_query($sql_delbnt, $koneksi); // Hapus juga daftar tipe kepribadian dari tabel bantu_tipe syarat ikuti SQL di atas 148
97. $sql_delbnt2="delete FROM bantu_tipe WHERE id_tipe='$hsl_relasi[id_tipe]' AND id_bt=$id"; 98. mysql_query($sql_delbnt2, $koneksi);} 99. }else { # APABILA DATA BANTU RELASI KOSONG # Pindahkan data relasi ke bantu_relasi // Ambil daftar data dulu dari relasi 100. $sql_relasi="select * FROM relasi ORDER BY id_tipe, id_pertanyaan"; 101. $qry_relasi=mysql_query($sql_relasi, $koneksi); 102. while ($hsl_relasi=mysql_fetch_array($qry_relasi)){ // Perintah SQL untuk memindah data ke bantu_relasi 103. $sql_inbnt='insert INTO bantu_relasi(id_br, id_tipe, id_pertanyaan) VALUES ('.$ID.', "'.$hsl_relasi["id_tipe"].'", "'.$hsl_relasi["id_pertanyaan"].'")'; 104. mysql_query($sql_inbnt, $koneksi); // Masukkan juga info tipe ke tabel bantu_tipe 105. $sql_inbnt2='insert INTO bantu_tipe(id_bt, id_tipe) VALUES ('.$ID.', "'.$hsl_relasi["id_tipe"].'")'; 106. mysql_query($sql_inbnt2, $koneksi);} # Hapus bantu_relasi yang tidak sesuai 107. $sql_relasi2="select * FROM relasi WHERE id_pertanyaan='$idpertanyaan'"; 108. $qry_relasi2=mysql_query($sql_relasi2); 109. while($hsl_relasi2=mysql_fetch_array($qry_relasi2)){ // Perintah hapus bantu_relasi 110. $sql_delbnt="delete FROM bantu_relasi WHERE id_tipe='$hsl_relasi2[id_tipe]' AND id_br=$id"; 111. mysql_query($sql_delbnt, $koneksi); // Perintah hapus data bantu_tipe 112. $sql_delbnt2="delete FROM bantu_tipe WHERE id_tipe='$hsl_relasi2[id_tipe]' AND id_bt=$id"; 113. mysql_query($sql_delbnt2, $koneksi);} 114. } // Redireksi 115. echo "<meta http-equiv='refresh' content='0; 116. url=tes1.php'>";}?> 149