Você está na página 1de 9

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom MATERI : APLIKASI KUIS ONLINE 1.

Mempersiapkan Tabel : kuis Rancanglah struktur tabel dibawah ini dan isilah datanya. KOLOM TIPE PANJANG KETERANGAN id_kuis INT 4 KUNCI, AUTO soal VARCHAR 100 jawab_a VARCHAR 60 jawab_b VARCHAR 60 jawab_c VARCHAR 60 jawab_d VARCHAR 60 kunci ENUM (A,B,C,D) 2. Memahami Folder Kerja Latihan

3. Membuat Koneksi Database MySQL (nama file : inc.koneksidb.php)


<?PHP $db_host = "localhost"; $db_user = "root"; $db_pass = ""; $db_data = "db_jay"; $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()); ?>

STMIK-AMIK Riau

Page 1

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom 4. Membuat Halaman Utama Aplikasi Kuis (nama file : index.php)
<html> <head> <title>Aplikasi Kuis Online</title> </head> <body> <?php include "inc.koneksidb.php"; $sql = "SELECT * FROM kuis ORDER BY id_kuis"; $qry = mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error()); // Memeriksa keberadan data if (! mysql_num_rows($qry) >=1 ) { echo "BELUM ADA SOAL YANG DIINPUT"; exit; } // Kode untuk form echo "<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' name='RbJawaban[$data[id_kuis]]' value='A'>"; echo "$data[jawab_a] <br>"; echo "B.<input type='radio' name='RbJawaban[$data[id_kuis]]' value='B'>"; echo "$data[jawab_b] <br>"; echo "C.<input type='radio' name='RbJawaban[$data[id_kuis]]' value='C'>"; echo "$data[jawab_c] <br>"; echo "D.<input type='radio' name='RbJawaban[$data[id_kuis]]' value='D'>"; echo "$data[jawab_d] <br><br>"; } // Kode untuk tombol echo "<input type='submit' name='Submit' value='Jawab'>"; echo "</form>"; ?> </body> </html>

5. Halaman Hasil Jawaban (nama file : JawabHasil.php)


<html> <head> <title>Hasil jawaban kuis</title> </head> <body> <?php include "inc.koneksidb.php"; $RbJawaban = $_REQUEST['RbJawaban'];

STMIK-AMIK Riau

Page 2

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom


// memeriksa pertanyaan sudah dijawab belum if (! count($RbJawaban) >=1) { echo "<b>ANDA BELUM MEMILIH JAWABAN</b>"; include "index.php"; exit; } // memeriksa kebenaran jawaban dg kunci jawaban seyiap soal $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); echo "<h3> Hasil Kuis : </h3> "; echo "Jumlah Benar : $benar ($persen_benar %)"; echo "<br> Jumlah salah : $salah ($persen_salah %)"; ?> </body> </html>

HALAMAN MANAJEMEN SOAL KUIS (CPANEL/ADMINISTRATOR) 6. Membuat Program Tambah Soal (nama file : SoalAddFm.php) Rancanglah tampilan form berikut dengan mengikuti pengaturan properti point 7

STMIK-AMIK Riau

Page 3

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom 7. Pengaturan Properti Formulir KOMPONEN PROPERTI Form Action Text Area Name Char With Num Line Init Val Keterangan Text Field 1 Name Char With Max Char Init Val Keterangan Text Field 2 Name Char With Max Char Init Val Keterangan Text Field 3 Name Char With Max Char Init Val Keterangan Text Field 4 Name Char With Max Char Init Val Keterangan List / Menu Name Button 1 Label

NILAI SoalAddSim.php TxtSoal 40 2 <?= $TxtSoal; ?> Soal TxtJawabA 40 100 <?= $ TxtJawabA; ?> Jawab A TxtJawabB 40 100 <?= $ TxtJawabB; ?> Jawab B TxtJawabC 40 100 <?= $ TxtJawabC; ?> Jawab C TxtJawabD 40 100 <?= $ TxtJawabD; ?> Jawab D CmbKunci Simpan

8. Letakkan kursor dikolom sebelah kanan kunci. Pindah ke halaman kode, ganti skrip berikut : <select name="CmbKunci"> <option value="KOSONG"></option> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> <option value="D">D</option> </select> 9. Membuat kode simpan pertanyaan (nama file : SoalAddSim.php)
<?php include "inc.koneksidb.php"; # Baca variabel Form (If Register Global ON) $TxtSoal = $_REQUEST['TxtSoal'];

STMIK-AMIK Riau

Page 4

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom


$TxtJawabA $TxtJawabB $TxtJawabC $TxtJawabD $CmbKunci = $_REQUEST['TxtJawabA']; = $_REQUEST['TxtJawabB']; = $_REQUEST['TxtJawabC']; = $_REQUEST['TxtJawabD']; = $_REQUEST['CmbKunci'];

# Validasi Form if (trim($TxtSoal)=="") { echo "Soal kuis masih kosong, ulangi kembali"; include "SoalAddFm.php"; } elseif (trim($TxtJawabA)=="") { echo "Jawab A masih kosong, ulangi kembali"; include "SoalAddFm.php"; } elseif (trim($TxtJawabB)=="") { echo "Jawab B masih kosong, ulangi kembali"; include "SoalAddFm.php"; } elseif (trim($TxtJawabC)=="") { echo "Jawab C masih kosong, ulangi kembali"; include "SoalAddFm.php"; } elseif (trim($TxtJawabD)=="") { echo "Jawab D masih kosong, ulangi kembali"; include "SoalAddFm.php"; } elseif (trim($CmbKunci)=="KOSONG") { echo "Kunci Jawab belum dipilih, ulangi kembali"; include "SoalAddFm.php"; } else { // Query untuk menyimpan file baru $sql = "INSERT INTO kuis SET soal='$TxtSoal', jawab_a='$TxtJawabA', jawab_b='$TxtJawabB', jawab_c='$TxtJawabC', jawab_d='$TxtJawabD', kunci='$CmbKunci'"; mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error()); $pesan= "Data berhasil disimpan"; header("Location: SoalAddFm.php?pesan=$pesan"); } ?>

STMIK-AMIK Riau

Page 5

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom 10. Membuat program Tampil (nama file : SoalTampil.php) a. Rancang tampilan form sbb :

b. Ketiklah kode diatas tag <html> <?php include "inc.koneksidb.php"; ?> c. Buat skrip PHP untuk menampilakan semua data pertanyaan. Pada halaman desain, letakkan diakhir baris kedua (kata pilihan), kemudian pindah kehalaman code dan ketik skrip berikut setelah tag </tr>

d. Sisiplah skrip pada halaman code untuk menampilkan data dari database

STMIK-AMIK Riau

Page 6

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom

e. Pada halaman Ubah, kita dapat membuat hyperlink menuju halaman SoalEditFm.php. caranya dari halaman desain, blok tulisan Ubah, kemudian tulis alamat Link-nya. Berikut alamat lengkapnya : SoalEditFm.php?idubah=<?= $data[id_kuis]; ?> f. Skrip pada pilihan Hapus : SoalHapus.php?idhapus=<? echo $data[id_kuis]; ?> g. Sedangkan pilihan Tambah : SoalAddFm.php h. Terakhir tutup perintah perulangan dengan skrip :

11. Membuat program Hapus Soal (nama file : SoalHapus.php)


<?php include "inc.koneksidb.php"; # Baca variabel URL (If Register Global ON) $idhapus = $_GET['idhapus']; $sql = "DELETE FROM kuis WHERE id_kuis='$idhapus'"; mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error()); echo "Data berhasil dihapus"; include "SoalTampil.php"; ?>

12. Silahkan dilanjutkan Membuat program ubah soal pada halaman cPanel.

STMIK-AMIK Riau

Page 7

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom

SoalEditFm.php <?php include "inc.koneksidb.php"; # Baca variabel URL (If Register Global ON) $idubah = $_REQUEST['idubah']; # Penyimpanan $sql = "SELECT * FROM kuis WHERE id_kuis='$idubah'"; $qry = mysql_query($sql, $koneksi) or die ("SQL Error".mysql_error()); $data=mysql_fetch_array($qry); # Terpilih pada ComboBox if($data['kunci']=="A") { $cek_a ="selected"; } elseif($data['kunci']=="B") { $cek_b ="selected"; } elseif($data['kunci']=="C") { $cek_c ="selected"; } elseif($data['kunci']=="D") { $cek_d ="selected"; } ?> <html> <head> <title>Masukan Soal Kuis</title> </head> <body> <form name="form1" method="post" action="SoalEditSim.php"> <table width="450" border="0" cellspacing="4" cellpadding="0"> <tr bgcolor="#CCFF66"> <td colspan="2"><b>UBAH SOAL KUIS</b></td> </tr> <tr> STMIK-AMIK Riau Page 8

[MATAKULIAH :PEMOGRAMAN WEB] Oleh : NurJayadi, M.Kom <td width="95">Soal</td> <td width="343"><textarea name="TxtSoal" cols="40" rows="2"><?= $data['soal']; ?> </textarea></td> </tr> <tr> <td>Jawaban A</td> <td><input name="TxtJawabA" type="text" value="<?= $data['jawab_a']; ?>" size="40" maxlength="100"></td> </tr> <tr> <td>Jawaban B</td> <td><input name="TxtJawabB" type="text" value="<?= $data['jawab_b']; ?>" size="40" maxlength="100"></td> </tr> <tr> <td>Jawaban C</td> <td><input name="TxtJawabC" type="text" value="<?= $data['jawab_c']; ?>" size="40" maxlength="100"></td> </tr> <tr> <td>Jawaban D</td> <td><input name="TxtJawabD" type="text" value="<?= $data['jawab_d']; ?>" size="40" maxlength="100"></td> </tr> <tr> <td>Kunci</td> <td><select name="CmbKunci"> <option value="KOSONG"></option> <option value="A" <? echo $cek_a; ?>>A</option> <option value="B" <? echo $cek_b; ?>>B</option> <option value="C" <? echo $cek_c; ?>>C</option> <option value="D" <? echo $cek_d; ?>>D</option> </select></td> </tr> <tr> <td>&nbsp;</td> <td><input type="submit" name="Submit" value="Simpan Kembali"> <input name="TxtIdKuis" type="hidden" value="<?= $data['id_kuis']; ?>"></td> </tr> </table> </form> </body> </html>

STMIK-AMIK Riau

Page 9

Você também pode gostar