Tes Online PHP. Program tes online berbasis web sangat banyak kita jumpai di sekitar kita. Salah satu yang sering kita ketahui misalnya tes online ujian saringan masuk sekolah, tes online PMB, tes ujian online PNS dan masih banyak lagi tes online yang ada di sekitar kita.
Saya sharing tentang membuat script php untuk tes online ini karena saya sedang mengerjakan aplikasi web untuk penyeleksian karyawan baru yang salah satu kriteria penilaianya menggunaka tes online. Sistem tes online ini tidak berdisi sendiri, melainkan di integrasikan pada sistem pengdukung keputusan atau SPK. Tes online adalah sebagai salah satu pengambilan nilai salah satu kriteria.
Tes Online PHP
Tes online php berbasis web ini di rancang menggunakan data base mysql. Namun proses yang ada sedikit simpel saja karena memang aspek utamnya buka pada tes onlinenya itu sendiri. Jadi program ini terdiri pada soal dan jawaban.
Seperti yang Saya kataka program ini menggunakan database, untuk tampilan field databasenya sebagai berikut:
Tabel karyawan peserta tes online
Karyawan merupakan peserta tes harus mengikuti tes untuk mendapatkan nilai kopetensi, berikut struktur tabel databasenya: Untuk detailya seperti berikut:
Tabel database soal tes online
Pada projek yang saya kerjakan contoh field database soal berikut ii field yang ada pada tabel soal tes:
1. no_soal, Sebagai singkronisasi antar pertanyaan dan jawaban
2. soal, berisi pertanyaan soal tes
3. pilihan_benar, merupakan abjad dari pilihan yang benar atau jawaban dari soal
4. pilihan_a, keterangan abjad dari pilihan ganda begitupula dengan pilihan selanjutya
5. token, token adalah untuk pemisah antara satu kali kuis atau tes online dilakukan.
Tabel database jawaban tes online
Untuk field jawaban tes sedikit lebih simple karena berelasi dengan tabel soal dan tabel karyawan sebagai penjawab tes. Untuk defail fieldnya sebagai berikut:
1. kd_karyawan, merupaka kode karyawan yang menjawab dari pertanyaan soal tes, dengan kode tersebut kita bisa panggil untuk field yang berkaitan dengannya karena memang sifatnya sebagai foreigh key atau kata kunci kedua.
2. jawaban, disini field jawaban berisi abjad dari jawaban yang di jawab oleh karyawan
3. no_soal, merupakan no soal tes
4. token, merupaka token pemisah antara setiap periode tes sama token di soal tes
Script php tes online
Script php yang saya buat ini saya masukkan kedalam modul dan switch sehingga lebih mudah untuk mempelajarinya berikut lebih lengkapnya:
1. index.php
Script php yang berisi case untuk mengarahka modul menu.
<?php session_start(); $server = "localhost"; $username = "root" ; $password = "" ; $database = "karyawan"; //Koneksi dan memilih database di server mysql_connect($server,$username,$password) or die ("Koneksi database gagal"); mysql_select_db($database) or die ("Database tidak tersedia"); ?> <html> <head> <title>Tes online php</title> </head> <body> <center> <?php if (empty($_SESSION[username]) AND empty($_SESSION[password])){ echo ' <script> function myFunction() { alert(\'Kamu Belum Login Bro! ?\'); } </script> <a href="/sistemphp/tutorial/tesonline/">HOME</a> | <a href="/sistemphp/tutorial/tesonline/" onclick="myFunction()">SOAL</a> | <a href="/sistemphp/tutorial/tesonline/" onclick="myFunction()">TES ONLINE</a> | <a href="?modul=logout">LOGOUT</a> '; } elseif($_SESSION[level]== 'karyawan'){ echo ' <a href="/sistemphp/tutorial/tesonline/">HOME</a> | <a href="?modul=soal&aksi=tampil">SOAL</a> | <a href="?modul=tes">TES ONLINE</a> | <a href="?modul=logout">LOGOUT</a> '; } ?> <hr/> <?php switch ($_GET['modul']){ case "soal" : include 'soal.php'; break; case "tes" : include 'tes.php'; break; case "logout" : session_destroy(); echo "<center>Anda telah sukses keluar sistem </center>"; echo "<meta http-equiv='refresh' content='1;url=/sistemphp/tutorial/tesonline'>"; break; default: echo '<form name="login" action="ceklogin.php" method="POST" onSubmit="return validasi(this)"> <table border="1px" style="border-collapse: collapse" cellpadding="3px"> <tr><td>Username : </td><td><input type="text" name="username" size="27"></td></tr> <tr><td>Password : </td><td><input type="password" name="password" size="27"></td></tr> <tr><td colspan="2" align="right"> <input type="submit" value="Login"> <input type="reset" value="Reset"> </td></tr> </table> </form>'; break; } echo ' <p/><hr/> Copyright © TES Online sistemphp.com<br /> All Right Reserved'; ?> </center> </body> </html> <strong>2. soal.php</strong> Script yang berisi modul soal untuk tes. <?php switch ($_GET['aksi']){ # Tambah data case "tambah": echo ' <script> function validateForm() { var a = document.forms["myForm"]["kd_kriteria"].value; var b = document.forms["myForm"]["nm_kriteria"].value; if (a==null || a=="" || b==null || b=="") { alert("Tidak boleh kosong"); return false; } } </script> <h3>Tambah Data Soal Tes </h3> <form method="post" action="ksi_soal.php?aksi=insert" name="myForm" onsubmit="return validateForm()"> <table> <tr> <td>Soal</td> <td><input name="soal" type="text" size="30"></td> </tr> <tr> <td>Jawaban Benar</td> <td> <input type="radio" name="pilihan_benar" value="a">a <input type="radio" name="pilihan_benar" value="b">b <input type="radio" name="pilihan_benar" value="c">c <input type="radio" name="pilihan_benar" value="d">d <input type="radio" name="pilihan_benar" value="e">e </td> </tr> <tr> <td>Pilihan a</td> <td><input name="pilihan_a" type="text" size="20"></td> </tr> <tr> <td>Pilihan b</td> <td><input name="pilihan_b" type="text" size="20"></td> </tr> <tr> <td>Pilihan c</td> <td><input name="pilihan_c" type="text" size="20"></td> </tr> <tr> <td>Pilihan d</td> <td><input name="pilihan_d" type="text" size="20"></td> </tr> <tr> <td>Pilihan e</td> <td><input name="pilihan_e" type="text" size="20"> <input name="token" type="hidden""> </td> </tr> <tr> <td colspan="2">'; #cek token $token= "SELECT * FROM soal_tes ORDER BY no_soal DESC LIMIT 1"; $prosestoken = mysql_query($token); $datatoken = mysql_fetch_array($prosestoken); if($deteksitoken = mysql_num_rows($prosestoken) < 1 ){ $isitoken = date('Y-m-d:H:i:s'); $no_soal = 1; }else{ $isitoken = $datatoken[token]; $no_soal = $datatoken[no_soal]+1; } echo '<input type=hidden name=token value="'.$isitoken.'"> <input type=hidden name=no_soal value="'.$no_soal.'"> <input type="submit" value="Simpan" class="tombol"/> <input type="reset" name="reset" value="Batal" class="tombol" onclick=self.history.back()></td> </tr> </table> </form>'; break; # Edit data case "edit": $edit = "SELECT * FROM soal_tes WHERE no_soal = '$_GET[id]'"; $hasil = mysql_query($edit); $data = mysql_fetch_array($hasil); echo ' <script> function validateForm() { var a = document.forms["myForm"]["kd_kriteria"].value; var b = document.forms["myForm"]["nm_kriteria"].value; if (a==null || a=="" || b==null || b=="") { alert("Tidak boleh kosong"); return false; } } </script> <h3>Form Edit Data Master Soal Tes</h3> <form method="post" action="aksi_soal.php?aksi=update&id='.$_GET[id].'" name="myForm" onsubmit="return validateForm()"> <table> <tr> <td>Soal</td> <td><input name="soal" value="'.$data[soal].'" type="text" size="30"></td> </tr> <tr> <td>Jawaban Benar</td> <td> <input type="radio" name="pilihan_benar" value="a"';if($data[pilihan_benar]=='a'){echo "checked";} echo '>a <input type="radio" name="pilihan_benar" value="b"';if($data[pilihan_benar]=='b'){echo "checked";} echo '>b <input type="radio" name="pilihan_benar" value="c"';if($data[pilihan_benar]=='c'){echo "checked";} echo '>c <input type="radio" name="pilihan_benar" value="d"';if($data[pilihan_benar]=='d'){echo "checked";} echo '>d <input type="radio" name="pilihan_benar" value="e"';if($data[pilihan_benar]=='e'){echo "checked";} echo '>e </td> </tr> <tr> <td>Pilihan a</td> <td><input name="pilihan_a" value="'.$data[pilihan_a].'" type="text" size="20"></td> </tr> <tr> <td>Pilihan b</td> <td><input name="pilihan_b" value="'.$data[pilihan_b].'" type="text" size="20"></td> </tr> <tr> <td>Pilihan c</td> <td><input name="pilihan_c" value="'.$data[pilihan_c].'" type="text" size="20"></td> </tr> <tr> <td>Pilihan d</td> <td><input name="pilihan_d" value="'.$data[pilihan_d].'" type="text" size="20"></td> </tr> <tr> <td>Pilihan e</td> <td><input name="pilihan_e" value="'.$data[pilihan_e].'" type="text" size="20"> <input name="no_soal" value="'.$_GET[id].'" type="hidden">'; echo '<input type=hidden name=token value="'.$data[token].'"> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Simpan" class="tombol"/> <input type="reset" name="reset" value="Batal" class="tombol" onclick=self.history.back()></td> </tr> </table> </form>'; break; # Menampilkan data case "tampil"; echo ' <h3>Data Master Soal Tes</h3> <button type="submit"><a href="?modul=soal&aksi=tambah">Tambah</a></button> <table class="full"> <tr> <th>No</th> <th>Soal Tes</th> <th>Pilihan Benar</th> <th>Detail</th> <th>Edit</th> <th>Hapus</th> </tr> <tr>'; $i=0; $tampil = "SELECT * FROM soal_tes"; $sql = mysql_query($tampil); while($data = mysql_fetch_array($sql)) { $i++; //konfirmasi hapus echo " <script language=\"JavaScript\"> function konfirmasi() { tanya = confirm('Anda Yakin Akan Menghapus Data ?'); if (tanya == true) return true; else return false; } </script> <td>$i</td> <td><a href=?modul=soal&aksi=tampil&id=$data[no_soal]>$data[soal] ?</a><br/>"; if ($data[no_soal]== $_GET[id]){ $i=0; $tampil2 = "SELECT * FROM soal_tes WHERE no_soal='$_GET[id]'"; $sql2 = mysql_query($tampil2); while($data2 = mysql_fetch_array($sql2)) { $i++; echo 'a. '.$data2[pilihan_a].'<br/>'; echo 'b. '.$data2[pilihan_b].'<br/>'; echo 'c. '.$data2[pilihan_c].'<br/>'; echo 'd. '.$data2[pilihan_d].'<br/>'; echo 'e. '.$data2[pilihan_e].'<br/>'; } } echo "</td> <td>$data[pilihan_benar]</td> <td align=center><a href=?modul=soal&aksi=tampil&id=".$data[no_soal]."><img src=detail.png title=Detail></a></td> <td align=center><a href=?modul=soal&aksi=edit&id=".$data[no_soal]."><img src=edit.png title=Edit></a></td> <td align=center><a href=ksi_soal.php?aksi=delete&id=".$data[no_soal]." onclick=\"return konfirmasi()\"><img src=delete.png title=Hapus></a></td> </tr>"; } echo '</table>'; break; } ?>
3. aksi_soal.php
Script php berisi pemroses soal.php
<?php $server = "localhost"; $username = "root" ; $password = "" ; $database = "karyawan"; //Koneksi dan memilih database di server mysql_connect($server,$username,$password) or die ("Koneksi database gagal"); mysql_select_db($database) or die ("Database tidak tersedia"); $soal = ucfirst($_POST['soal']); $pilihan_benar = $_POST['pilihan_benar']; $pilihan_a = ucfirst($_POST['pilihan_a']); $pilihan_b = ucfirst($_POST['pilihan_b']); $pilihan_c = ucfirst($_POST['pilihan_c']); $pilihan_d = ucfirst($_POST['pilihan_d']); $pilihan_e = ucfirst($_POST['pilihan_e']); $no_soal = $_POST['no_soal']; $token = $_POST['token']; switch ($_GET['aksi']) { # Insert data case "insert" : $sql = "insert into soal_tes(no_soal,soal,pilihan_benar,pilihan_a,pilihan_b,pilihan_c,pilihan_d,pilihan_e,token) values('$no_soal','$soal','$pilihan_benar','$pilihan_a','$pilihan_b','$pilihan_c','$pilihan_d','$pilihan_e','$token')"; //echo "$sql";exit; $hasil = mysql_query($sql); if($hasil){ //pesan data berhasil disimpan echo " <script> window.location=\"?modul=soal&aksi=tampil\"; </script>"; } break; # Update data case "update" : $update = "UPDATE soal_tes SET no_soal = '$no_soal',soal = '$soal',pilihan_benar = '$pilihan_benar' ,pilihan_a = '$pilihan_a' ,pilihan_b = '$pilihan_b' ,pilihan_c = '$pilihan_c' ,pilihan_d = '$pilihan_d' ,pilihan_e = '$pilihan_e' WHERE no_soal='$no_soal'"; //echo "$update";exit; $hasil = mysql_query($update); if($update){ echo " <script> window.location=\"?modul=soal&aksi=tampil\"; </script>"; } break; # Delete data case "delete" : $delete="DELETE FROM soal_tes WHERE no_soal ='$_GET[id]'"; //echo $delete;exit; $hasil=mysql_query($delete); if($hasil){ echo " <script> window.location=\"?modul=soal&aksi=tampil\"; </script>"; } break; } ?>
4. tes.php
Script php berisi tes online untuk karyawan
<?php switch ($_GET['aksi']){ default; //cek token $token= "SELECT token FROM soal_tes ORDER BY no_soal DESC LIMIT 1"; $prosestoken = mysql_query($token); $datatoken = mysql_fetch_array($prosestoken); //cek kd_karyawan $sqlkd = "SELECT * FROM karyawan WHERE nm_karyawan = '$_SESSION[nm_karyawan]'"; $kd_karyawan = mysql_fetch_array(mysql_query($sqlkd)); //cek jawaban $jwb = "SELECT * FROM jawaban_tes WHERE kd_karyawan ='$kd_karyawan[kd_karyawan]' AND token = '$datatoken[token]'"; $xjwb = mysql_query($jwb); if($data=mysql_num_rows($xjwb) == 100){ echo '<table class="full"> <tr> <th>Soal tes selesai di Jawab</th> </tr> <tr>'; //jml soal $totalsoal = mysql_num_rows(mysql_query("SELECT * FROM soal_tes")); //hasil jawaban $i=0; $tampil = "SELECT a. * , b. * FROM soal_tes a, jawaban_tes b WHERE a.pilihan_benar = b.jawaban AND a.no_soal = b.no_soal AND a.token = b.token"; $sql = mysql_query($tampil); $jbenar = mysql_num_rows($sql); $jsalah = $totalsoal-$jbenar; $skor = $jbenar/10; echo ' <tr> <td colspan=2 align=center> Jawaban benar: '.$jbenar.'<br/> Jawaban salah: '.$jsalah.'<br/> Score Anda: '.$skor.' </td></tr></table>'; }else{ echo '<h3>Salamat datang di tes online</h3> <p align=center>Harap mengerjakan soal dengan teliti, baca soal dan pilihlah jawaban yang paling benar. Untuk megerjakan soal tes silahkan klik lanjut </p><p align=center><button type=submit><a href="?modul=tes&aksi=tampil&token='.$datatoken[token].'">Lanjut</a></button></p>'; } break; # Menampilkan data case "tampil"; echo '<script> function validateForm() { var a = document.forms["myForm"]["jawaban"].value; if (a==null || a=="") { alert("Pertayaan harus dijawab"); return false; } } </script>'; //cek no soal $sqlkd = "SELECT * FROM karyawan WHERE nm_karyawan = '$_SESSION[nm_karyawan]'"; $kd = mysql_fetch_array(mysql_query($sqlkd)); $no = mysql_query("SELECT * FROM jawaban_tes WHERE kd_karyawan='$kd[kd_karyawan]' ORDER BY no_soal DESC "); $nosoal = mysql_fetch_array($no); if($nosoalxx = mysql_num_rows($no) < 1 ){ $nosoalx = 1; }else{ $nosoalx= $nosoal[no_soal]+1; } $totalsoal = mysql_num_rows(mysql_query("SELECT * FROM soal_tes")); if($nosoalx<=100){ echo ' <h3>Soal no '.$nosoalx.' dari '.$totalsoal.' Soal</h3> '; echo '<form action="aksi_tes.php?aksi=insert" method="POST" name="myForm" onsubmit="return validateForm()"> <table class="full"> <tr> <th>Soal Tes</th> </tr> <tr>'; $i=0; $tampil = "SELECT * FROM soal_tes WHERE token='$_GET[token]' AND no_soal='$nosoalx' ORDER BY no_soal ASC LIMIT 1"; $sql = mysql_query($tampil); while($data = mysql_fetch_array($sql)) { $i++; echo " <td><p style='margin:0 0 10px 5px;font-size:18px;'>$data[soal] ?</p>"; echo '<input type="radio" name="jawaban" value="a">a. '.$data[pilihan_a].'<br/>'; echo '<input type="radio" name="jawaban" value="b">b. '.$data[pilihan_b].'<br/>'; echo '<input type="radio" name="jawaban" value="c">c. '.$data[pilihan_c].'<br/>'; echo '<input type="radio" name="jawaban" value="d">d. '.$data[pilihan_d].'<br/>'; echo '<input type="radio" name="jawaban" value="e">e. '.$data[pilihan_e].'<br/>'; echo " <input type=hidden name=token value=".$data[token]."> <input type=hidden name=no_soal value=".$nosoalx."> <input type=hidden name=kd_karyawan value=".$kd[kd_karyawan]."> </tr>"; } echo ' <tr> <td colspan=2 align=center> <input type=submit value=Jawab> </td></tr></table></form>'; }else{ echo '<table class="full"> <tr> <th>Soal tes selesai di Jawab</th> </tr> <tr>'; $i=0; $tampil = "SELECT a. * , b. * FROM soal_tes a, jawaban_tes b WHERE a.pilihan_benar = b.jawaban AND a.no_soal = b.no_soal AND a.token = b.token"; $sql = mysql_query($tampil); $jbenar = mysql_num_rows($sql); $jsalah = $totalsoal-$jbenar; $skor = $jbenar/10; echo ' <tr> <td colspan=2 align=center> Jawaban benar: '.$jbenar.'<br/> Jawaban salah: '.$jsalah.'<br/> Score Anda: '.$skor.' </td></tr></table>'; } break; } ?>
5. aksi_tes.php
Script php berisi pemroses tes online
<?php $server = "localhost"; $username = "root" ; $password = "" ; $database = "karyawan"; //Koneksi dan memilih database di server mysql_connect($server,$username,$password) or die ("Koneksi database gagal"); mysql_select_db($database) or die ("Database tidak tersedia"); $kd_karyawan = $_POST['kd_karyawan']; $jawaban = $_POST['jawaban']; $no_soal = $_POST['no_soal']; $token = $_POST['token']; switch ($_GET['aksi']) { # Insert data case "insert" : $sql = "INSERT INTO jawaban_tes(kd_karyawan,jawaban,no_soal,token) values('$kd_karyawan','$jawaban','$no_soal','$token')"; //echo "$sql";exit; $hasil = mysql_query($sql); if($hasil){ //pesan data berhasil disimpan echo " <script> window.location=\"?modul=tes&aksi=tampil&token=$token\"; </script>"; } break; # Update data case "update" : $update = "UPDATE soal_tes SET soal = '$soal',pilihan_benar = '$pilihan_benar' ,pilihan_a = '$pilihan_a' ,pilihan_b = '$pilihan_b' ,pilihan_c = '$pilihan_c' ,pilihan_d = '$pilihan_d' ,pilihan_e = '$pilihan_e' WHERE id_soal='$id_soal'"; //echo "$update";exit; $hasil = mysql_query($update); if($update){ echo " <script> window.location=\"?modul=soal&aksi=tampil\"; </script>"; } break; # Delete data case "delete" : $delete="DELETE FROM soal_tes WHERE id_soal ='$_GET[id]'"; //echo $delete;exit; $hasil=mysql_query($delete); if($hasil){ echo " <script> window.location=\"?modul=soal&aksi=tampil\"; </script>"; } break; } ?>
Tampilan tes online sederhana dari script php diatas
Cara kerja dari aplikasi tes online berbasis web ini yaitu peserta tes harus terdaftar dan login untuk mengerjakan tes. Peserta tes lebih dari satu sehingga tidak semua mengerjakan tes secara bersamaan, jadi jika peserta sudah megerjakan sampai selesai maka tes online tidak di tampilka lagi pada user yang sudah mengerjakan tes online tersebut. Namun jika user belum mengerjakan tes maka tes akan di tampilkan. Begitupula jika user mengerjaka baru sebagai no soal saja, jadi soal yang di tampilkan adalah soal berikutnya yang belum di kerjakan. Dan sebenarnya menu soal di peruntukan untuk menu admin, namun untuk sharing kali ini saya ikut sertakan supaya lebih ringkas saja.
Tes online ini tidak akan di bisa diakses jika peserta tidak login untuk lebih lengkap detail tampilannya seperti berikut ini:
Tampila soal data soal
Tampilan Tambah soal tes online
Tampilan Edit data soal tes online
Tampilan Detail per soal tes online
Tampilan awal ketika akan mulai tes
Tampilan ketika user sudah tes online
Tampilan peserta belum login
Demikian share tentang membuat program aplikasi tes online berbasis web. JIka Anda membutuhkan sistem SPK, Sistem pakar, aplikasi web, silahkan hubungi kami. Thanks.
Postingan berikutnya
- cara membuat soal online dengan php
- membuat ujian online dengan php dan mysql
- aplikasi ujian online menggunakan php dan mysql
- membuat kuesioner online dengan php
- membuat soal pilihan ganda dengan php dan mysql
- cara membuat soal pilihan ganda dengan php
- membuat ujian online dengan php
- cara membuat web ujian online
file modulnya ada dimana ya gan? karena saya errorr terus.
Untuk modulnya file script php itu mas, kalau pada kasus saya saya buat modul dalam folder.
tolong buatkan sya admin .. pliss
saya ko banyak eror ya? Bisa tolong di bantu ga?
gak ada file “ceklogin.php”nya mas
ada mas.
ceklogin.php ada disebelah mana mas? saya cari kog g ada ya..
thanks sebelumnya
ada di folder config mas
gokil, thanks!
(Y) sip gan.
itu nulis script phpnya pake aplikasi apa yah?
Pakai notepad ++ mas, atau juga pakai notepad biasa.
Keren nih gan. Kebetulan saya sedang belajar mengembangkan sistem semacam ini buat keperluan pengajaran. Izin bookmark gan untuk belajar coding.
Makasih mas atas kunjunangannya
gan kok gk bisa nyambung sama databasenya sih gan tolong pencerahan
Konfigurasi databasenya sudah benar blm mas..?
Sangat membantu sekali. saat ini saya sedang mencoba belajar php.
yang ingin saya tanyakan itu script ceklogin.php dan script yang nomor 2 tidak ada, karna dari nomor 1 langsung loncat ke nomor 3
terima kasih banyak! sukse terus!
kalau mw dpakein waktu gmn ya bang? jadi saat waktu habis maka tes jg berakhir
Terimakasih
maaf maksudnya folder config letaknya dimana ya? terimakasih
folder config yang ada di script yang saya sertakan itu mas
gan, scriptnya udah saya terapkan sesuai perintah agan, dan udah bikin database. tp modul tdk terdeteksi. apa harus download?
Tidak mas.. modul itu hanya aksi untuk menampilkan saka.. coba cek modul yang tidak terdeteksi dimana mas..?
Mas saya mau tanya.., kira2 pake cara ini kita bisa buat kuesioner gak..???
soalnya saya lagi mau buat kuesioner tapi bingung caranya gimana…
klo mas ada tutorialnya boleh bagi gak.., biar simpel juga gak apa2.., nnti saya yang kembangkan…
tolong bantu saya mas….
BIsa saja kalau mau di buat kuesioner. Kalau bingung, untuk programnya samakan saja konsepnya dengan google form, Jadi dengan form yg di kirim admin dapat mengelola pengisian form yg masuk melalu aplikasi php tersebut.
Tapi saya bingung mas.., saya punya pertanyaan 10 dan dilooping trus saya tambahkan radio buttonnya satu.., masalahnya tiap kali pilih radio button di pertanyaan lain.., pertanyaan yang udah dipilih malahan ilang tandanya mas…, tapi klo pakenya sebanyak pertanyaan malahan inputnya yang gak jadi mas..,
Tolong bantu saya mas…
Min, itu soal tesnya berarti bikin sendiri untuk semua orang yg login bisa edit soal sendiri ya? bukan soalnya langsung ditulis di script..
@yoseph, kalau untuk soalnya admin yang menginputkan mas, jadi soalnya bisa di hapus di edit dan juga di tambah. Dan hal tersebut menjadi dinamis. Sedangkan jika soal langsung di tulis pada script maka web tes online tersebut menjadi statis, dengan kata lain jika admin ingin merubah soal atau jawaban, maka harus merubah script programnya. Tnx
trus itu tabel soalnya.. field no_soal apa termasuk primary key?
Kalau untuk menjadi primary key yang penting harus unik mas @yoseph, nah jika no soal merupakan field yang bersifat unik, maka dapat dijadikan primary key atau kata kunci utama.
Saya ingin membuat soal yang ada gambarnya mas, bagaimana cara memasukkan gambarnya ke dalam soal? Trima kasih sebelumnya
mas @bisol, untuk kasus soal dengan gambar, pada contoh script di atas belum Ada mas, Tapi jika mau di buat hal yang perlu di lakukan yaitu: membuat 1 field lagi pada tabel soal yang isinya gambar tentang soal tersebut, Nah kemudian kita tambahkan 1 form upload gambar pada soal.
Sore Mas,
Boleh minta info prosedur pembuatan aplikasi online untuk kebutuhan konsultan?
Terima kasih
Saya mau belajar bwt web online…harus mulai dari mana ya…klo mau buat web online kira2 berapa ya harga nya…terimakasih
Pembuatan webnya atau panduannya pak ?
min, kalau soalnya berupa gambar bisa ga min?
@rina, untuk soal gambar juga bisa mbak. Nanti di halaman admin, admin bisa di berikan menu atau form tambahan untuk upload gambar soal, Nah pada gambar tersebut kita berikan poin atau nilai dari setiap pilihan jawaban yang ada.
gan ane mau tny, bisa ga pas tampilan soal nya, jawaban nya ramdom gt gan
misal pc1 buka nomor1 jawaban nya a, sedangkan di pc2 dengan soal yang sama jawaban nya b
sebeblom nya maaf ngerepotin dan thx ya gan
@acil:
Untuk membuat jawaban berbeda, dapat kita manipulasi dengan query RAND() pada jawaban pada tabel databasenya.
Mas klo untuk SPK nya sendiri gimana ya? Klo pilih ini lanjut ke pertanyaan mana, gtu kan? Nah saya mau tanya klo buat form pertanyaan seperti itu apa bisa hanya dengan struktur logika, atau harus ada algoritma2 kyk id3 gtu?
@diki:
Kalo untuk konsep sistem pendukung keputusan (SPK) seperti itu tergantung dari kasusnya mas. Bisa saja diselesaikan dengan hanya memakai logika pemrograman saja ataupun dengan metode algoritma seperti yang mas katakan itu.
Memang pada dasarnya untuk menentukan itu banyak cara dan metode yang bisa digunakan untuk mengambil keputusan
min mau tanya, gimana caranya soal no 1 di pc 1 dan pc 2 berbeda tapi pilihan jawaban nya sama
dan apakah bisa jika soal dan jawaban nya di random bersamaan?
@stenly:
Bisa mas, soalnya id jawaban dan soal sudah di relasikan. Jadi walaupun soal dan jawaban di random, tetap sama jawabannya.
mohon diberi tahu seperti apa min codingnya
sangat butuh cara agar random soal dan jawaban ga kerandom
teorinya Mantap Om.
Om Mau nanya Om
ada 4 materi (kriya textil, spinning, weving, dan garment)
Jika user sudah melakukan pendaftaran maka user harus mempelajari Materi 1 dulu dan materi 2,3,4 tidak bisa dibuka/diakses. setelah materi satu sudah di pelajari maka user konfirmasi dengan admin agar materi 2 bisa dibuka. dan seterusnya
Kalau kasusnya seperti itu bagaimana mengatasinya Om?
Mohon penjelaasanya. Terimakasis
@Portalitas:
Untuk kasus seperti itu, dapat kita gambarkan dengan alur seperti ini mas, berikut ini kita langsung aplikasi dengan tabel database sebagai contoh:
#tb_materi
– idMateri
– Materi
Dengan data materi yang mas berikan yaitu kriya textil, spinning, dan garment
Kemudian tabel berikutnya ada tabel user, kita contohkan saja begini:
#tb_user
– idUser
– namaUser
– Username
– Password
– idMateri
Nah apda contoh tabel user tersebut, berleasi dengan tabel materi, yang mana pada fill id materi pada saat user setelah mendaftar tentunya masih kosong, karena belum melakukan pembelajaran, dan user menekan tombol, makan akan mulai melakukan pembelajaran, dan pada tampilan awal yang di tampilkan adalah pembelajaran kriya textil untuk yang pertama, dan itu langsung mengupdate tabel idmateri pada tabel user, dan setelah di baca, di berikan tombol next, yang menisyarakatkan bahwa user meminta untuk mempelajari materi 2, dan seterusna