Wednesday, December 8, 2010

Membuat Web Ujian Online dengan JQuarks

Apa itu JQuarks?
Dan Mengapa Kita Memilih JQuarks?
Pada bahasan ini penulis menganggap bahwa pembaca telah mengetahui pengetahuan dasar dari Content Management System (CMS) Joomla!™. Jadi penulis akan langsung memulai pembahasan mulai dari penjelasan sekilas mengenai JQuarks.

JQuarks merupakan komponen Joomla!™ untuk membuat faasilitas kuesioner dan survei. Kompenen ini bisa Anda dapatkan gratis dari http://www.iptechinside.com/labs/projects/list_files/jquarks karena project ini bersifat Open Source. Berbeda dengan component lain seperti Simple Quiz, Surveys Component, BF Survey Basic, dan sebagainya yang bersifat komersial.

Untuk suatu project non-komersial, JQuarks menjadi pilihan yang powerfull bagi para pengguna Joomla!™. Pengunaannya sangat mudah dan lengkap dengan fitur-fitur yang cocok untuk diimplementasikan di lembaga-lembaga pendidikan.
Dalam penulisan karya tulis ini, penulis menggunakan JQuarks versi 0.3.0. Berikut adalah fitur-fitur yang ada di versi tersebut untuk menyempurnakan versi sebelumnya.

  1. Membuat kuis dan kategorinya.

  2. Mendefinisikan settingan kuis dengan tipe custom atau random.

  3. Meng-compile dan mempublish settingan kuis ke dalam Quizzes.

  4. Mendukung semua jenis pertanyaan (multiple choice, essai dan uniq).

  5. Pengaturan halaman kuesioner.

  6. Pembukaan akses dan penutupan akses kuis kepada user tertentu.

  7. Private kuis (untuk user terdaftar) dan public kuis untuk anonymous user.

  8. Notifikasi untuk mengikuti kuis via email ke user.

  9. Eksport hasil kuesioner (nilai/score, dan waktu pengerjaan termasuk waktu yang dihabiskan user untuk mengerjakan kuis) ke format *.csv
KOMPATIBILITAS JQUARKS
Perlu diketahui sebelum melakukan instalasi JQuarks bahwa Anda harus mengecek versi PHP dan versi Joomla!™ yang Anda gunakan. Perlu digaris bawahi bahwa JQuarks versi saat ini belum kompatibel dengan PHP versi 5.3.x dan minimal Anda harus menggunaka Joomla!™ versi 1.5.12 dimana di versi tersebut tedapat editor TinyMCE versi 3.2.4.1
Beberapa bugs yang akan muncul karena pemakaian Joomla!™ dengan PHP versi 5.3.x adalah pada function date & time. Anda bisa merujuk ke URL ini :
Sedangkan bugs lain yang dialami penulis ketika masih menggunakan Joomla!™ versi 1.5.9 dengan JQuarks adalah save button dan save & continue button serta apply button tidak aktif karena dalam Joomla!™ Package tersebut editor TiniMCE-nya belum menggunakan versi 3.2.4.1. Mengenai petunjuknya bisa Anda lihat di URL ini :
Dalam penulisan karya ini penulis menggunakan Webserver Apache yg dikemas dalam XAMPPLite versi 1.7.1 dimana PHP di versi tersebut menggunakan versi 5.2.9 dan Joomla!™ versi 1.5.15 serta komponen JQuarks terbaru yaitu versi 0.3.0.
Setelah semua Anda persiapkan dengan matang, marilah kita melakukan langkah-langkah instalasinya yang akan di bahas di BAB berikutnya.




INSTALASI JQUARKS 0.3.0
Tahap selanjutnya memasuki ke tahap inti dari pembahasan buku ini, yaitu kita mulai dengan instalasi JQuarks. Instalasi JQuarks sama dengan instalasi extensions lain untuk Joomla!™. Pertama, kita harus mengekstrak file yang sudah kita download dari official website JQuarks yaitu JQuarks_v0.3.0_BETA_unzip_me_first.zip. Berikut adalah isi dari file tersebut.

File
Tipe
Deskripsi
com_jquarks_v0.3.0.zip
Component
File ini merupakan komponen JQuarks yang akan menambahkan quiz
functions ke dalam website kita
mod_jquarks_v0.3.0.zip
Module
Modul ini berfungsi untuk memodifikasi quiz yang sudah kita buat
plg_user_jquarks_v0.3.0.zip
Plugin
Plugin ini yang akan me-maintenance secara konsisten manajemen user Joomla!™ dengan JQuarks
plg_editor_syntaxhighlight_jquarks_v0.3.0.zip
Plugin
Plugin ini mengijinkan module untuk menambahkan sebuah button ke TinyMCE Editor untuk memberikan tanda highlights jika quiz berisi code
Isi paket JQuarks 0.3.0

Catatan :

Untuk mengetahui lebih jauh tentang penggunaan syntaxhighlighters, Anda bisa mengunjungi URL : http://alexgorbatchev.com/wiki/SyntaxHighlighter
  1. Sekarang, masuklah sebagai admin ke halaman back-end website Anda. Kemudian klik Extensions > Install/Uninstall.
  2. Klik Browse, install file com_jquarks_v0.3.0.zip

Instalasi komponen JQuarks

Kemudian menyusul lakukan instalasi module dan plugin dari JQuarks yaitu mod_jquarks_v0.3.0.zip, plg_user_jquarks_v0.3.0.zip, dan plg_editor_syntaxhighlight_jquarks_v0.3.0.zip dengan cara yang sama.






  1. Sekarang lanjutkan dengan mengkin Extensions > Plugin Manager. Pada kolom Filter, masukkan kata kunci "jquarks" kemudian klik Go sehingga akan muncul seperti tampilan di bawah ini.


Plugin Manager






  1. Lakukan checklist dua plugin JQuarks tersebut kemudian klik Enable.





  2. Selanjutnya klik Extensions > Module Manager untuk mencari modul JQuarks yang sudah kita install sebelumnya. Lakukan dengan cara yang sama kemudian aktifkan dengan mengklik tombol Enable.


Module Manager
Membuat Questions

Membuat dan me-manage
quiz merupakan suatu yang krusial dalam manajemen sistem quiz di JQuarks. Lewat Questions kita akan membuat quiz dan mengeditnya. Ikuti langkah berikut :






  1. Masuklah ke back-end web Anda, klik Components > JQuarks sehingga muncul tampilan seperti pada gambar di bawah.


Lembar kerja JQuarks






  1. Klik Categories > New. Kemudian isikan nama category dan deskripsi yang Anda inginkan dan Save. Sehingga sebuah category quiz telah berhasil Anda buat.


Membuat Category untuk Quiz






  1. Langkah berikutnya, yaitu membuat quiz. Klik Questions > New. Sehingga muncul lembar kerja quiz baru tampak seperti pada gambar berikut.


Lembar kerja quiz







  1. Pilih Select Category dengan mengsisikan nama category yang sudah Anda buat tadi.



Memilih category yang tersedia saat membuat question






  1. Kemudian tulislah soal/pertanyaan/quiz yang Anda inginkan di lembar TinyMCE Editor.





  2. Klik Add a proposition sehingga muncul kotak inputan baru. Disini Anda bisa menentukan tipe dari jenis jawaban yang diinginkan apakah single choice questions (menggunakan radio button untuk menjawab), multiple choice questions (menggunakan checkbox untuk menjawab) atau jawaban bebas berupa isian (menggunakan input textbox).


Contoh jawaban tipe single choice questions

Ketentuan :


  • Tanpa proposition, maka jawaban akan berupa sebuah jawaban bebas menggunakan input textbox.
  • Satu atau lebih proposition dengan satu checklist sebagai correct, maka jawaban akan berupa single choice.
  • Satu atau lebih proposition dengan lebih dari satu sebagai correct, maka jawaban akan berupa multiple choice.
Lanjutkan dengan mengklik Save untuk menyimpan quiz yang Anda buat.

Setting Set of Questions
Sets of Questions dilakukan untuk mengatur setting tipe soal yang akan di tampilkan dalam sebuah category.


Sets of Questions
Membuat Quizzes
Quizzes ini berfungsi untuk mengelola tampilan dan mengolah questions ke front-end (yang akan dilihat oleh user).


Membuat Quizzes

Keterangan :





  • Access merupakan pilihan untuk akses quiz, apakah diperuntukkan bagi registered user, atau anonymous user (public).





  • Unique Session, untuk pengaturan-pengaturan sessi khusus, misal : berbatas waktu, pengaturan halaman, pelaksaan kuis hanya berlaku satu kali, dsb.





  • Time Limit, menentukan batas waktu pengerjaan seluruh soal dalam quiz ini.





  • Show result in front end, menampilkan user score setelah user menyelesaikan menjawab semua soal.


Quizzes yang berhasil Anda buat

Klik icon Sets Assignation (gambar buku) sehingga muncul tampilan seperti pada gambar.


Sets Assignation

Klik icon Assigned yang berbentuk bulat merah sehingga berubah warna menjadi hijau. Kemudian klik Close sehingga Anda telah berhasil melakukan sinkronisasi antara quiz dengan questions termasuk category-nya.

Anda akan kembali ke menu Quizzes. Selanjutnya klik icon bergambar
user sehingga akan tampak seperti pada gambar dibawah.


User Affectation

Pada kotak tabel sebelah kiri, Anda bisa melihat user list dan menentukan siapa saja yang akan diikutkan dalam quizzes yang Anda buat dengan mengklik tombol merah sehingga menjadi icon checklist berwarna hijau. Pada kotak sisi kanan, itu merupakan format notification by email ke user yang akan diikutsertakan dalam quiz tersebut. Anda bisa mengubah format notification tersebut ke dalam bahasa Indonesia dan sebagainya. Klik tombol Close bila Anda telah selesai melakukan pengubahan.

Setalah Questions Assignations dan User Affectation selesai Anda setting, selanjutnya Anda tinggal mem-publish Quizzes sehingga siap di akses oleh user dengan mengklik icon Publish Item.
Menampilkan Quiz ke Front-End
Seperti yang Anda ketahui bahwa settingan di atas di peruntukkan untuk user yang terdaftar, dengan kata lain anonymous user tidak dapat mengikuti kuis tersebut. Hal ini perlu di garis bawahi pada saat kita menampilkan ke front-end kita sebaiknya menyelipkan menu ini ke dalam user menu juga agar tampak serasi.






  1. Klik Menu > User Menu > New


Menu Item types






  1. Pilih JQuarks > Quizzes > All quizzes untuk menampilkan semua quizzes yang Anda buat. Bila Anda memilih Quiz Menu, maka hanya ada satu quizzes yang akan di tampilkan, dengan kata lain,satu link/menu satu per satu akan direct link ke quizzes masing-masing.


Menu Item All Quizzes

Pada Access Level pilih Registered karena kita memang hanya mengijinkan user yang terdaftar saja yang bisa mengikuti ujian online. Kemudian klik Save.
PANDUAN PESERTA UJIAN ONLINE
REGISTRASI USER
Ada dua cara melakukan registrasi user (yang kemudian istilah ini penulis sebut dengan "peserta ujian"), yaitu dengan meminta bantuan admin untuk melakukan registrasi manual dari back-end, yang kedua yaitu registrasi user dilakukan oleh peserta ujian itu sendiri dengan kondisi bahwa web server Anda sudah di running dengan suatu IP Public, berikut adalah langkah-langkahnya :






  1. Peserta Melakukan Registrasi






  • Masuk ke halaman web SMU Negeri 2 Tegal, pada kotak login, klik Create an account sehingga muncul tampilan sebagai berikut.


Registrasi user oleh peserta ujian






  • Isikan data-data seperti Name, Username, Email, Password, Verify Password, kemudian klik tombol Register.


Pemberitahuan dari sistem atas registrasi yang dilakukan user






  • Sistem memberitahukan bahwa sebuah link telah dikirimkan ke email peserta ujian dan proses aktivasi user akan selesai bila Anda telah membuka email dari sistem dan meng-klik link yang diberikan sistem.






  1. Admin melakukan registrasi dari data peserta
Yaitu dengan memasukkan secara maual kedalam menu User Manager semua data-data calon peserta ujian online. Kemudian melakukan aktivasi secara manual pula.
MENGIKUTI UJIAN ONLINE
Langkah terakhir dari pembahasan ini adalah mengikuti ujian online.






  1. Silakan login website SMU Negeri 2 Tegal sehingga muncul tampilan seperti pada gambar.


Halaman User






  1. Klik menu disebelah kiri Ujian Online, sehingga muncul tampilan seperti pada gambar.


Tampilan Quizz






  1. Klik Ujian Matematika, baca petunjuknya dan perhatikan waktu yang diperlukan untuk mengerjakan seluruh soal.


Quizz Agreeement






  1. Berikan checklist pada kalimat "I have read, understood these restrictions and which to continue". Kemudian klik tombol Proceed to quiz sehingga muncul tampilan soal yang diambil secara acak oleh sistem seperti pada gambar.



Tampilan Soal-soal






  1. Kerjakan soal-soal dengan tenang dan teliti, timer akan berjalan sesuai dengan waktu yang telah diberikan panitia ujian online.





  2. Klik link Next untuk melanjutkan ke halaman berikutnya.





  3. Bila semua soal telah selesai dikerjakan, klik tombol Submit answers (make sure you answered all pages) sehingga muncul tampilan nilai dalam persen dan jawaban-jawaban yang benar seperti pada gambar.


Tampilan Score & Koreksi

Kemudian logout dan selesai sudah proses ujian online yang baru saja Anda lakukan.
Sumber :

Monday, December 6, 2010

Memblokir Situs dengan Mikrotik pada jam tertentu

Saat ini siapa sih yang nggak kenal dengan Facebook?? Situs jejaring yang banyak digunakan oleh orang-orang untuk mencari teman, chatting, dan sebagainya. Namun ternyata situs tersebut juga menjadi hambatan bagi perusahaan untuk melakukan kegiatan bisnisnya. Kenapa?? Salah satu penyebabnya adalah menjadikan para karyawannya sibuk facebook-an, sehingga melupakan tugas-tugas pokoknya. Tidak terkecuali kantor dimana saya bekerja menjadi korban demam facebook yang menjangkiti para karyawannya. Suatu hari saya diminta oleh atasan untuk memblokir situs Facebook agar tidak bisa diakses oleh para karyawan di kantor selama jam kerja, sedangkan diluar jam kerja diijinkan untuk mengakses situs tersebut.

Berhubung saya menggunakan MikroTik sebagai router, maka saya akan berbagi tips pemblokiran ala MikroTik. Berikut ini langkah-langkahnya. Semoga bermanfaat....
Pertama, supaya waktu yang berjalan di router sesuai dengan waktu lokasi setempat, maka kita perlu mengatur agar clock di MikroTik mengacu pada NTP Server. Jika kita memiliki NTP Server sendiri, maka kita tinggal mengarahkan MikroTik ke NTP Server tersebut, namun jika kita tidak memiliki NTP Server, maka tidak perlu khawatir karena banyak NTP Server di luar yang bisa kita gunakan sebagai acuan. Beberapa diantaranya adalah NTP Server milik LIPI (Lembaga Ilmu Pengetahuan Indonesia) dengan URL: ntp.kim.lipi.go.id (203.160.128.6) dan NTP Pool Project dengan salah satu URLnya: 0.id.pool.ntp.org (202.169.224.16). Untuk mensettingnya di MikroTik, ketikkan perintah berikut :

/system ntp client set primary-ntp=203.160.128.6 secondary-ntp=202.169.224.16 \ mode=unicast enabled=yes;

Kedua, membuat rule di firewall filter. Dalam hal ini saya ingin memblokir situs Facebook yang menggunakan port HTTP (80), sehingga selain port tersebut masih diijinkan. Tujuannya agar pengguna masih dapat menerima update status facebook melalui email. Untuk mensettingnya ketikkan perintah berikut :


/ip firewall filter add chain=forward src-address=0.0.0.0/0 protocol=tcp \ dst-port=80 content="facebook" action=drop comment="Blokir Akses Facebook";

Ketiga, membuat script untuk mengaktifkan firewall tersebut selama jam kerja dan mematikannya pada jam istirahat dan diluar jam kerja. Disini saya membuat 3 script, yaitu script untuk mengaktifkan (enable) firewall, script untuk mematikan (disable) firewall serta script untuk dieksekusi pada hari libur (Sabtu-Minggu) dan hari kerja. Berikut ini scriptnya :

Script untuk mematikan (disable) firewall :

/system script add name="fb-allow" policy=write,read,policy,test,sniff source={/ip firewall filter set [/ip firewall filter find content="facebook"] disabled=yes}

Script untuk mengaktifkan (enable) firewall :

/system script add name="fb-deny" policy=write,read,policy,test,sniff source={/ip firewall filter set [/ip firewall filter find content="facebook"] disabled=no}

Script untuk disable firewall di hari libur dan enable di hari kerja :

/system script add name="fb-holiday" policy=write,read,policy,test,sniff source={:if ([/system scheduler get [/system scheduler find on-event="fb-deny"] disabled] = true) do= ([/system scheduler set [/system scheduler find on-event="fb-deny"] disabled=no]) else ([/system scheduler set [/system scheduler find on-event="fb-deny"] disabled=yes])}

Keempat, membuat schedule untuk menentukan kapan firewall tersebut akan diaktifkan atau dinon-aktifkan. Disini saya membuat 6 scheduler berdasarkan jam kerja dan hari kerja, yaitu jam 08:00, jam 12:00, jam 13:00, jam 17:00, hari sabtu-minggu, dan hari senin. Berikut ini scriptnya :

Schedule untuk mengaktifkan (enable) firewall pada jam kerja (08:00) :
/system scheduler add name="fb-08:00" start-date=jan/01/1970 start-time=08:00:00 interval=1d on-event="fb-deny"

Schedule untuk mematikan (disable) firewall pada jam istirahat (12:00) :
/system scheduler add name="fb-12:00" start-date=jan/01/1970 start-time=12:00:00 interval=1d on-event="fb-allow"

Schedule untuk mengaktifkan kembali (enable) firewall pada jam kerja (13:00) :
/system scheduler add name="fb-13:00" start-date=jan/01/1970 start-time=13:00:00 interval=1d on-event="fb-deny"

Schedule untuk mematikan (disable) firewall di luar jam kerja ke atas ( > 17:00) :
/system scheduler add name="fb-17:00" start-date=jan/01/1970 start-time=17:00:00 interval=1d on-event="fb-allow"

Schedule untuk mematikan (disable) firewall di hari libur (Sabtu-Minggu) :
/system scheduler add name="fb-sabtu-minggu" start-date=aug/01/2009 start-time=00:00:00 interval=7d on-event="fb-holiday"

Pastikan bahwa tanggal yang didefinisikan pada parameter "start-date" scheduler adalah Hari Sabtu. Dan parameter "interval" diberi nilai 7d.

Schedule untuk mengaktifkan kembali (enable) firewall di hari kerja (Senin) :
/system scheduler add name="fb-senin" start-date=aug/03/2009 start-time=00:00:00 interval=7d on-event="fb-holiday"

Pastikan bahwa tanggal yang didefinisikan pada parameter "start-date" scheduler adalah Hari Senin. Dan parameter "interval" diberi nilai 7d.