35824032 Script PHP Untuk Menampilkan Soal Ujian Pilihan Ganda Tampil Acak

  • View
    451

  • Download
    39

Embed Size (px)

DESCRIPTION

php

Text of 35824032 Script PHP Untuk Menampilkan Soal Ujian Pilihan Ganda Tampil Acak

  • TRIK PEMROGRAMAN PHP

    Script PHP untuk MembuatSoal Ujian Pilihan Ganda

    Tampil Acakwww.bunafit-komputer.com

    www.planetKode.Com

    Koleksi Buku dari Penerbit GAVAMEDIA, YogyakartaPenulis : 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 dengan

    perintah 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 halaman

    baru dengan tipe PHP.2. Masuklah pada halaman kode (menu View Code), hapuslah semua kode

    standar yang ada disana.3. Tuliskan listing program berikut.

    Listing Program Bab5/inc.koneksidb.php

    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 bukalah

    halaman baru dengan tipe PHP.2. Masuklah pada halaman kode (dari menu View Code), kemudian hapuslah

    semua tag HTML standar yang ada di sana.3. Selanjutnya, tuliskan skrip lengkap yang berguna sebagai halaman utama aplikasi

    kuis online. Berikut adalah skrip lengkapnya:

    Listing Program Bab5/index.php

    Aplikasi Kuis Online

  • 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 "";while ($data=mysql_fetch_array($qry)) {

    $no++;// Kode untuk menampilkan soal

    echo "$no. $data[soal] ";

    echo "A.";

    echo "$data[jawab_a] ";

    echo "B.";

    echo "$data[jawab_b] ";

    echo "C.";

    echo "$data[jawab_c] ";

    echo "D.";

    echo "$data[jawab_d] ";}

    // Kode untuk tombolecho "";echo "";?>

    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.";echo "$data[jawab_a] ";

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

    Kode :echo "B.";echo "$data[jawab_b] ";

  • 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.";echo "$data[jawab_c] ";

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

    Kode :echo "D.";echo "$data[jawab_d] ";

    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 dipilih1. 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 hapuslah

    semua kode HTML standar yang ada.4. Supaya mempermudah langkah, Anda dapat menuliskan kode program simpan

    secara lengkap seperti listing berikut.

    Listing Program Bab5/JawabHasil.php

    Hasil jawaban kuis

  • Script PHP Untuk Membuat Soal Ujian Pilihan Ganda Tampil Acak 11

    echo " Hasil Kuis : ";echo "Jumlah Benar : $benar ($persen_benar %)";echo " Jumlah salah : $salah ($persen_salah %)";?>

    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 "ANDA BELUM MEMILIH JAWABAN";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 den