script php untuk menampilkan soal ujian pilihan ganda tampil acak

16
TRIK PEMROGRAMAN PHP Script PHP untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak www.bunafit-komputer.com www.planetKode.Com Koleksi Buku dari Penerbit GAVAMEDIA, Yogyakarta Penulis : Bunafit Nugroho, dan Indah Indriyanna Harga: Rp. 57.500,- Harga: Rp. 65.500,- Harga: Rp. 36.500,- Harga: Rp. 67.500,- Harga: Rp. 66.500,- Harga: Rp. 49.500,- Harga: Rp. 49.500,- Harga: Rp. 33.500,-

Upload: septi-suhesti

Post on 21-Jun-2015

13.370 views

Category:

Documents


72 download

DESCRIPTION

Script PHP Untuk Menampilkan Soal Ujian Pilihan Ganda Tampil Acak. Program Quiz, Soal Tampil Acak dengan PHP, eLearning, e-Learning, Acak Soal dengan PHP, Soal Pilihan Ganda, Multiple Choice, Ujian Online dengan PHP, Tugas Online.membuat aplikasi kuis yang biasanya dipasang pada web e-Learning. Konsep aplikasi ini adalah menampilkan pertanyaan dan beberapa jawaban pilihan. Sebagai contoh, pada aplikasi ini hasil pilihan akan ditampilkan secara langsung.

TRANSCRIPT

TRIK PEMROGRAMAN PHP

Script PHP untuk MembuatSoal Ujian Pilihan Ganda

Tampil Acakwww.bunafit-komputer.com

www.planetKode.Com

Koleksi Buku dari Penerbit GAVAMEDIA, Yogyakarta

Penulis : Bunafit Nugroho, dan Indah Indriyanna

Harga: Rp. 57.500,- Harga: Rp. 65.500,- Harga: Rp. 36.500,- Harga: Rp. 67.500,-

Harga: Rp. 66.500,- Harga: Rp. 49.500,- Harga: Rp. 49.500,- Harga: Rp. 33.500,-

2 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

Script yang dibahas ada di buku “ Membuat Aplikasi e-Learning dengan PHP – MySQL dan Editor

Dreamweaver “, terbitan Penerbit Atmajaya Yogyakarta,2008. Masih beredar sampek sekarang.

Web eLearning Real yang sudah dikembangkan berbasisSiswa (anggota) dan Guru, dapat dilihat di situs

www.planetKode.Com , atau di www.Scribd.com/bunafit

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 3

MEMBUAT SOAL PILIHAN GANDATAMPIL ACAK

Pada bab ini kita akan membuat aplikasi kuis yang biasanya dipasang pada web e-Learning. Konsep aplikasi ini adalah menampilkan pertanyaan dan beberapa jawabanpilihan. Sebagai contoh, pada aplikasi ini hasil pilihan akan ditampilkan secaralangsung.

Mempersiapkan Tabel dan KoneksiSebelum mendesain program, ada baiknya Anda juga kami bimbing untuk dapatmempersiapkan tabel yang digunakan serta koneksinya.

Membuat Tabel KuisPada aplikasi ini, kita akan menggunakan tabel kuis. Tabel ini nantinya akandigunakan untuk merekam semua data pertanyaan lengkap dengan jawaban. Selainitu, kunci jawaban juga disimpan pada tabel ini.

1. Masuklah pada database MySQL, kemudian buatlah database elearningdb denganperintah berikut.

CREATE DATABASE IF NOT EXISTS elearningdb;

2. Perintah di atas tidak akan dijalankan apabila database elearningdb sudah ada.Sekarang masuklah pada database tersebut dengan perintah :

USE elearningdb;

3. Sekarang Anda dapat membuat tabel di dalam database aktif, tabel yang diperlukanadalah kuis. Berikut adalah desain strukturnya:

Tabel Desain struktur tabel kuisKolom Tipe Panjang Keteranganid_kuis INT 4 KUNCI

PRIMER,AUTO

soal VARCHAR 100jawab_a VARCHAR 60jawab_b VARCHAR 60jawab_c VARCHAR 60

4 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

jawab_d VARCHAR 60kunci ENUM ('A','B','C','D')

Dari desain tabel di atas, berikut adalah perintah SQL-nya:

CREATE TABLE kuis (id_kuis INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,soal VARCHAR(100) NOT NULL,jawab_a VARCHAR(60) NOT NULL,jawab_b VARCHAR(60) NOT NULL,jawab_c VARCHAR(60) NOT NULL,jawab_d VARCHAR(60) NOT NULL ,kunci ENUM('A','B','C','D') NOT NULL) ENGINE = MYISAM;

4. Setelah tabel selesai dibuat, Anda dapat memastikan keberadaan tabel materidengan perintah SHOW TABLES;.

5. Sekarang masukkanlah beberapa data di dalam tabel, berikut adalah contohperintahnya.

INSERT INTO `kuis` VALUES (1, 'Dibawah ini, mana yang bukantermasuk database Server ?', 'MySQL', 'Ms Access','Oracle', 'PostgreSQL', 'B');

INSERT INTO `kuis` VALUES (2, 'Di bawah ini, manakah databaseyang berlisensi Open Source ?', 'MySQL','Ms Access', 'Oracle', 'FoxPro', 'A');

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 5

Membuat Koneksi Database MySQLUntuk dapat membuat aplikasi berbasis database, maka kita harus membuat filekoneksi yang berfungsi menghubungkan aplikasi dengan database MySQL. Berikutadalah skrip yang perlu Anda buat.

1. Masuklah pada editor Dreamweaver kesayangan Anda, kemudian buatlah halamanbaru dengan tipe PHP.

2. Masuklah pada halaman kode (menu View Code), hapuslah semua kodestandar yang ada disana.

3. Tuliskan listing program berikut.

Listing Program Bab5/inc.koneksidb.php

<?PHP$db_host = "localhost";$db_user = "root";$db_pass = "";$db_data = "elearningdb";

// Perintah koneksi Server MySQL$koneksi = mysql_connect($db_host, $db_user, $db_pass)

or die ("Koneksi gagal".mysql_error());

mysql_select_db($db_data, $koneksi)or die ("Baca DB gagal".mysql_error());

?>

Akhir Listing

4. Simpanlah skrip program di atas pada folder Bab5, apabila belum ada, maka Andaharus membuatnya terlebih dahulu.

5. Buatlah juga file inc.koneksidb.php pada subfolder Bab5/cPanel, yang nantinyadigunakan untuk membuat halaman manajemen data.

Memahami Folder Kerja LatihanSemua latihan program yang akan dipelajari pada bab ini akan disimpan di dalamsubfolder Bab5, tentunya di bawah folder kerja utama bernama eLearning. Padalatihan bab ini, setidaknya Anda nanti akan membuat subfolder dan file programseperti struktur berikut:

6 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

Gambar Struktur folder dan file untuk latihan

Dari struktur folder di atas, subfolder cPanel kita buat untuk menyimpan file programadmin, yaitu untuk mengelola data kuis.

Halaman Utama Aplikasi KuisUntuk membuat halaman utama kuis, Anda harus sudah mengisi data pertanyaanpada tabel kuis. Tentunya, apabila Anda mengikuti dengan sempurna pelajaran padaSubbab 5.2.1. Langsung saja, sekarang Anda dapat membuat halaman utama kuisdengan mengikuti langkah berikut.

1. Masih menggunakan editor Dreamweaver versi kesukaan Anda, sekarang bukalahhalaman baru dengan tipe PHP.

2. Masuklah pada halaman kode (dari menu View Code), kemudian hapuslahsemua tag HTML standar yang ada di sana.

3. Selanjutnya, tuliskan skrip lengkap yang berguna sebagai halaman utama aplikasikuis online. Berikut adalah skrip lengkapnya:

Listing Program Bab5/index.php<html><head><title>Aplikasi Kuis Online</title></head><body><?phpinclude "inc.koneksidb.php";

$sql = "SELECT * FROM kuis ORDER BY id_kuis";

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 7

$qry = mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error());

// Memeriksa keberadaan dataif (! mysql_num_rows($qry) >=1 ) {

echo "BELUM ADA SOAL YANG DIINPUT";exit;

}

// Kode untuk formecho "<form name='form1' method='post'

action='JawabHasil.php'>";while ($data=mysql_fetch_array($qry)) {

$no++;// Kode untuk menampilkan soal

echo "$no. $data[soal] <br>";

echo "A.<input type='radio' value='A'name='RbJawaban[$data[id_kuis]]'>";

echo "$data[jawab_a] <br>";

echo "B.<input type='radio' value='B'name='RbJawaban[$data[id_kuis]]'>";

echo "$data[jawab_b] <br>";

echo "C.<input type='radio' value='C'name='RbJawaban[$data[id_kuis]]'>";

echo "$data[jawab_c] <br>";

echo "D.<input type='radio' value='D'name='RbJawaban[$data[id_kuis]]'>";

echo "$data[jawab_d] <br><br>";}

// Kode untuk tombolecho "<input type='submit' name='Submit' value='Jawab'>";echo "</form>";?></body></html>

Akhir Listing

Penjelasan Kode :Dari listing program index.php di atas, kemungkinan dari pembaca masih ada yangbelum paham. Berikut adalah penjelasan setiap kode penting yang digunakan: Kode :

8 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

include "inc.koneksidb.php";

Digunakan untuk memanggil file koneksi, yaitu berisi kode untukmenghubungkan program dengan database MySQL.

Kode :

$sql = "SELECT * FROM kuis ORDER BY id_kuis";$qry = mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error());

Digunakan untuk menampilkan semua data pertanyaan dan jawaban yang ada didalam tabel kuis.Supaya soal tampil acak, kamu bisa menggunakan fungsi RAND()$sql = "SELECT * FROM kuis ORDER BY ORDER BY RAND()";$qry = mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error());

Kode :if (! mysql_num_rows($qry) >=1 ) {echo "BELUM ADA SOAL YANG DIINPUT";exit;}

Digunakan untuk memeriksa apakah ada data soal di dalam tabel kuis, apabiladatanya kosong, maka pesan “BELUM ADA SOAL YANG DIINPUT” akanditampilkan dan form tidak tampil.

Kode :echo "A.<input type='radio' value='A' name='RbJawaban[$data[id_kuis]]'>";echo "$data[jawab_a] <br>";

Digunakan untuk membuat pilihan pada jawaban A, untuk nama pengenalnyamenggunakan array berindeks nomor soal (id_kuis).

Kode :echo "B.<input type='radio' value='B' name='RbJawaban[$data[id_kuis]]'>";echo "$data[jawab_b] <br>";

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 9

Digunakan untuk membuat pilihan pada jawaban B, untuk nama pengenalnyamenggunakan array berindeks nomor soal (id_kuis).

Kode :

echo "C.<input type='radio' value='C'name='RbJawaban[$data[id_kuis]]'>";

echo "$data[jawab_c] <br>";

Digunakan untuk membuat pilihan pada jawaban C, untuk nama pengenalnyamenggunakan array berindeks nomor soal (id_kuis).

Kode :

echo "D.<input type='radio' value='D'name='RbJawaban[$data[id_kuis]]'>";

echo "$data[jawab_d] <br><br>";

Digunakan untuk membuat pilihan pada jawaban D, untuk nama pengenalnyamenggunakan array berindeks nomor soal (id_kuis).

4. Setelah semua skrip program di atas dibuat, simpanlah menggunakan namaindex.php, dan letakkan pada folder Bab5.

5. Untuk menjalankan halaman utama program di atas, masuklah pada browser danketikkan “http://localhost/eLearning/Bab5/index.php”.

Gambar Tampilan utama aplikasi kuis online

10 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

Dari program utama kuis yang telah dibuat sebelumnya, pada kode formulirparameter Action diarahkan pada halaman JawabanHasil.php Pada bagian ini kitaakan membuat program tersebut, yaitu berisi kode untuk memeriksa benar tidaknyasetiap jawaban yang dipilih

1. Masih menggunakan Editor Dreamweaver kesayangan Anda.

2. Bukalah halaman baru menggunakan tipe Dynamic Page PHP.

3. Masuklah pada halaman kode (dari menu View Code), kemudian hapuslahsemua kode HTML standar yang ada.

4. Supaya mempermudah langkah, Anda dapat menuliskan kode program simpansecara lengkap seperti listing berikut.

Listing Program Bab5/JawabHasil.php<html><head><title>Hasil jawaban kuis</title></head><body><?phpinclude "inc.koneksidb.php";$RbJawaban = $_REQUEST['RbJawaban'];if (! count($RbJawaban) >=1) {

echo "<b>ANDA BELUM MEMILIH JAWABAN</b>";include "index.php";exit;

}

$benar = 0;foreach($RbJawaban as $indeks=>$nilai) {

$sql = "SELECT * FROM kuis WHERE id_kuis='$indeks'";$qry = mysql_query($sql, $koneksi);$data=mysql_fetch_array($qry);

if ($data['kunci'] == $nilai) {$benar = $benar + 1;

}}

$sql_jum = "SELECT COUNT(*) FROM kuis";$qry_jum = mysql_query($sql_jum, $koneksi);$data_jum= mysql_fetch_row($qry_jum); $jumlah= $data_jum[0]; $salah = $jumlah - $benar; $persen_benar = round(($benar/$jumlah)*100,2); $persen_salah = round(($salah/$jumlah)*100,2);

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 11

echo "<h3> Hasil Kuis : </h3> ";echo "Jumlah Benar : $benar ($persen_benar %)";echo "<br> Jumlah salah : $salah ($persen_salah %)";?></body></html>

Akhir Listing

Penjelasan Kode :Dari listing program JawabHasil.php di atas, kemungkinan dari pembaca masih adayang belum paham. Berikut adalah penjelasan setiap kode penting yang digunakan: Kode :

if (! count($RbJawaban) >=1) {echo "<b>ANDA BELUM MEMILIH JAWABAN</b>";include "index.php";exit;}

Digunakan untuk memeriksa apakah salah satu pertanyaan telah dijawab belum,apabila tidak ada satupun pertanyaan yang dijawab, maka pesan kesalahan akanditampilkan.

Kode :

$benar = 0;foreach($RbJawaban as $indeks=>$nilai) {$sql = "SELECT * FROM kuis WHERE id_kuis='$indeks'";$qry = mysql_query($sql, $koneksi);$data=mysql_fetch_array($qry);

if ($data['kunci'] == $nilai) {$benar = $benar + 1;

}}

Digunakan untuk memeriksa kebenaran jawaban Anda dengan kunci jawabanyang dimiliki setiap soal.

12 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

5. Berikut adalah tampilan hasil perhitungan jawaban yang dipilih, Anda akanmendapatkan nilai berupa persentase.

Gambar Tampilan hasil jawab

oooOooo

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 13

PENGEMBANGAN ELEARNING(SOAL ACAK, MULTI SISWA)

# 1Contoh Program TA dan Skripsi: eLearning : SistemInformasi Pembelajaran Online Untuk Siswa : Aplikasi inidibuat dengan PHP dan MySQL. Merupakan Web Pembelajaran berbasisMulti User (banyak pengguna) sebagai anggota Web. Studi kasus programini pada semuah pondok pesantren.

Para siswa dapat mendownload materi pelajaran jika sudah mengerjakan TesOnline (ujian) dan lulus. Jika belum lulus, maka tes dapat dilakukan besok.Tes akan diacak, sehingga berbeda soalnya dengan santri/siswa yang lain.

Harga Script Web contoh skripsi ini : Rp. 350.000,-.

Yang didapat:[1]. ERD (Relasi Tabel) Sistem Informasi Pembelajaran Siswa[2]. Source Code (Script) Web Pembelajaran Siswa[3]. eBooks (buku PDF : 7 Langkah Menguasai Web PHP Dreamweaver )

# 2Contoh Program TA dan Skripsi: eLearning SistemInformasi Latihan Ujian Secara Online (atau LokalJaringan) : Aplikasi ini dibuat dengan PHP dan MySQL. Ini merupakanweb yang berbasis Multi User. Gunanya untuk ujian atau test atau latihanujian dengan pengelompokan soal (kategori soal) yang berbeda.

Konsep inti dari web ini adalah web sitem informasi yang berisi banyak soal,pengelompokkan berdasarkan mata pelajaran. Siswa yang mendaftar akanmenjadi anggtoa sistem eLearning. Siswa dalam satu hari boleh berlatihmengerjakan soal-soal ujian yang ada di web, dan hasilnya langsungdidapat. Dalam satu hari, siswa hanya diberikan satu kesempatan untuk

14 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

masing-masing matapelajarang, dan selanjutnya boleh mengerjakanmatapelajaran yang sama di esok hari.

Harga Script Web contoh skripsi ini : Rp. 450.000,-.

Silahkan kembangkan sendiri untuk kepentingan yang lain.

Yang didapat:[1]. ERD (Relasi Tabel) Sistem Informasi Test Ujian Masuk[2]. Source Code (Script) Web Test Ujian Masuk Langsung Komputer[3]. eBooks (buku PDF : 7 Langkah Menguasai Web PHP dan Dreamweaver )

# 3Contoh Program Skripsi dan TA : Sistem Informasi Test UjianMasuk Langsung Komputer (Secara Online) :Konsep dari web iniadalah untuk Test Langsung, atau Ujian Langsung Komputer secarabersama-sama (Multi User).

Anda pasti sudah tau, jika beberapa kampus atau sekolah sekarang telahmengadakan Test Langsung Komputer. Jadi, calon siswa/mahasiswa barusetelah mendaftar boleh memilih 2 model ujian. [1]. Ujian reguler, atau yangdilakukan secara manual bersama2. [2]. Ujian langsung komputer, yanglangsung mengerjakan soal di komputer, dan hasilnya langsung di dapat.Nah, web program ini dipakai untuk opsi ujian ke-2. Sudah maksud ya???

Kemampuan Web ini:[1]. Web Berbasis Multi User, Peserta Ujian (Test) boleh berbarengan[2]. Soal yang dimasukkan tidak acak, tapi soal yang tampil di halamanpeserta akan diacak.[3]. Multi Mata Pelajaran, jadi bisa ujian beberapa mata pelajaran sekaligus.[4]. Timer Mundur. Jadi, jika waktu yang disediakan sudah habis, makaprogram akan secara otomatis menyimpan soal yang sudah dipilih (pilihanganda).[5]. Bisa diterapkan untuk Online, atau Tes Langsung (Lokal).[6]. ...dan kelebihan lain, Web ini dibuat lewat Dreamweaver 8 (Terstruktur).

Harga Script Web contoh skripsi ini : Rp. 750.000,-.

Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 15

Yang didapat:[1]. ERD (Relasi Tabel) Sistem Informasi Test Langsung (Ujian MasukSiswa/Mahasiswa)[2]. Source Code (Script) Web Test Langsung (Ujian)[3]. eBooks (buku PDF : 7 Langkah Menguasai Web PHP dan Dreamweaver )

# 4E-Learning Custom (By Request, Desan dan Konsepdari Anda) : Kami akan membuatkan sesuai konsep yang kamuinginkan, silahkan dibuat konsepnya. Biaya menyesuaikan konsep.

PANDUAN PEMBAYARAN SKRIP DI ATAS

Okay, PANDUAN TRANSFER-nya

Jika No HP: 0819-------1709 (3 digit, Sesuaikan dg No HP Anda)

Jika pesan Script eLearning v 1, biaya Rp 350.000,- (Promo)

Silahkan transfer Rp. 350.709 ke rek BNI, a/n: Bunafit Nugroho, NoRek: 003009 4812.

Jika transf dri ATM Selain BNI / ATM Bersama (contoh: Mandiri, SyariahMandiri, dll) No Rek ditambah angka 009. Jadi, No Rekening BNI kamiMenjadi : 009 003 009 4812

Oiya, dari BCA tidak bisa transfer ke BNI (sebaiknya jangan)

Setelah transfer, konfirmasi lewat Email ,

atau SMS Ke : 0838 6716 1314Terimakasih Super.

Buanfit Komputer Team

16 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta