Membuat web ujian online dengan PHP dan MySQL


Pada artikel kali ini saya akan membahas tentang web untuk ujian online. dimana web ini akan menampilkan soal-soal berupa pilihan ganda. adapun alur programnya adalah sebagai berikut :

  1. User daftar akun
  2. User melakukan login
  3. User menjawab soal-soal
  4. User mengirim jawaban
  5. Program menampilkan hasil jawaban user
  6. Selesai

Adapun untuk menginput soal-soal ujian online, telah disediakan halaman untuk administrator. Pada halaman ini admin dapat menginput, update, delete soal ujian online.  untuk masuk kehalaman admin caranya :

Halaman Admin Input Soal

Tabel Soal

Sedangkan untuk databasenya, saya menggunakan tabel_soal untuk menyimpan soal-soal ujian online. field publish untuk mengatur soal tersebut di tampilkan atau tidak ke user. sedangkan field tipe untuk membagi soal-soal menjadi beberapa tipe (untuk tipe silahkan dikembangkan)

Potongan skrip untuk mengecek Jawaban user

<?php
if(isset($_POST['submit'])){
$pilihan=$_POST["pilihan"];
$id_soal=$_POST["id"];
$jumlah=$_POST['jumlah'];

$score=0;
$benar=0;
$salah=0;
$kosong=0;

for ($i=0;$i<$jumlah;$i++){
//id nomor soal
$nomor=$id_soal[$i];

//jika user tidak memilih jawaban
if (empty($pilihan[$nomor])){
$kosong++;
}else{
//jawaban dari user
$jawaban=$pilihan[$nomor];

//cocokan jawaban user dengan jawaban di database
$query=mysql_query(“select * from tabel_soal where id_soal=’$nomor’ and jawaban=’$jawaban'”);

$cek=mysql_num_rows($query);

if($cek){
//jika jawaban cocok (benar)
$benar++;
}else{
//jika salah
$salah++;
}}
$score = $benar*5;
}}
?>

Download

http://www.4shared.com/zip/cKv1aPOa/ujian_online.html

Perhatian

Dari pertanyaan : Kenapa web yang dicoba di Mozilla focusnya tidak bisa pindah dengan mouse klik, harus pake tab. tapi di google chrome bisa.

Jawaban : Edit file index.php dan hilangkan script dibawah ini.

if (typeof document.onselectstart!=”undefined”) {
document.onselectstart=new Function (“return false”);
}else{
document.onmousedown=new Function (“return false”);
document.onmouseup=new Function (“return true”);
}

Ri32 Web Project :

  1. ri32.byethost14.com
  2. ri32.byethost14.com/labhouse
  3. ri32.byethost14.com/temanonline
  4. ri32.byethost14.com/ujianonline

Referensi Buku :

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamin

Depok, 13-02-2011

noname

$upload=mysql_query(“INSERT INTO tabel_user VALUES(”,’$nama’,’$alamatfile’,’$username’,’$password’,’no’)”);
About these ads

160 Responses

  1. mas agus knapa pas saya coba import db_ujianonline.sql.zip ada error spt ini :
    Error
    SQL query:


    — Database: `db_ujianonline`

    — ——————————————————–


    — Table structure for table `admin`

    CREATE TABLE IF NOT EXISTS `admin` (
    `id_admin` int(2) NOT NULL AUTO_INCREMENT,
    `nama_admin` varchar(20) NOT NULL,
    `username` varchar(20) NOT NULL,
    `password` varchar(50) NOT NULL,
    PRIMARY KEY (`id_admin`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
    MySQL said: Documentation

    #1046 – No database selected

    • http://ri32.wordpress.com/2013/08/22/cara-mengatasi-gagal-login-halaman-admin/

    • buat dulu database nya…

  2. Kang agus,, saya mau tanya lagi nih.. kalau untuk potongan skrip mengecek jawaban adanya di bagian mana ya taronya??

    tks,,

  3. makasiih gan
    ngebantu banget infonya..

    http://www.bukuonlen.com

  4. mas agus klo mau dikasih timer coundwon bagaimanan?????
    saya sudah mencoba untuk menggabungkan tutorialnya sampean. waktunya itu mengambil dari database dan ketika waktu habis maka data akan tersimpan sendiri tolong pencerahannya donk……..

  5. Asskum…mas agus saya mohon solusinya kalau tidak merepotkan mohon dibantu.metode penskorannya apabila jumlah soalnya berapapun dan benar semua nilai maksimal adalah 100. Itu bagaimana?sementara lihat coding diatas script koreksinya adalah skore=benar x 5. Seandainya yang dimunculkan 50 soal dan benar semua maka nilai yang keluar adalah 250.trimakasih.

  6. terima kasih banyak untuk referensinya,,, (y)

  7. mas, username dan password-nya untuk login administratornya apa? yang dikasih salah

  8. terima kasih banyak mz.agus, artikel dan scriptnya sangat membantu. Ijin pakai scriptnya y mz.

  9. mas agus ada referensi project web krs online tidak? lw ada tolong di upload dong. trims

    • belum ada mas.

      insya Allah

  10. saya tidak berjaya download contoh sistem tuan

  11. kalau untuk menentukan rata-rata nilai (jumlah nilai dibagi jumlah soal) dan mentukan “LULUS” atau “TIDAK LULUS” gimana mas agus? tolong bantuannya ya mas :)

    • Insya Allah jawabannya disini ya mas.

      http://www.arijulianto.com/tutorial/php/if_if_else_if_elseif_dan_switc.php

  12. terimakasih mas,, saya ijin download

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 536 other followers

%d bloggers like this: