Script PHP -Koreksi jawaban essay-

19 Komentar

Koreksi soal pilihan ganda menggunakan PHP udah sering kan, dan lumayan tidak terlalu sulit. Karena soal pilihan ganda memang sudah pasti jawabannya (kalo ga A, B, C, D atau E). Tapi bagaimana dengan essay?

Memang tidak ada perhitungan yang pasti dengan soal essay, banyak metode dan cara untuk otomatisasi koreksi jawaban essay. Saya ingin membagi script PHP untuk penilaian soal essay. Saya akui script saya ini belum sempurna, tapi lumayan akurat lah. O iya, saya menggunakan metode parsing dan keyword. Artinya string jawaban dan kunci jawaban essay di bagi-bagi dalam beberapa kata dan dimasukkan ke array lalu dicocokkan. Langsung saja ya..


function koreksiEssay($words,$wer,$max){ //$words -> untuk keyword jawaban dari guru; $wer -> jawaban dari siswa; $max -> bobot soal

/*

Script ini ditulis oleh Ibonk
url : https://buatkamusaja.wordpress.com/
laporan kesalahan dan perbaikan kirim email ke i-bonk@hotmail.com

*/
 $j = 0;

 $key = explode(",",$words);

 $ans = explode(" ",$wer);

 foreach($ans as $jaw){

 $n = strlen($jaw);

 $sub = substr($jaw,$n-1,$n);

 if(($sub ==  ',') or ($sub ==  '.') or ($sub ==  '!') or ($sub ==  '?')){

 $kata['ans'][] = substr($jaw,0,$n-1);

 }else{

 $kata['ans'][] = $jaw;

 }

 }

 foreach($key as $kunci){

 $n = strlen($kunci);

 $sub = substr($jaw,$n-1,$n);

 if(($sub ==  ',') or ($sub ==  '.') or ($sub ==  '!') or ($sub ==  '?')){

 $kata['key'][] = substr($kunci,0,$n-1);

 }else{

 $kata['key'][] = $kunci;

 }

 }

 foreach($kata['ans'] as $tempo){

 foreach($kata['key'] as $rary){

 if(strtolower($tempo) == strtolower($rary)){

 $j++; //hitung kecocokkan kata kunci dan jawaban siswa

 }

 }

 }

 if($j >= count($kata['key'])){

 $j = count($kata['key']);
 $nilai = $max;

 }else{

 $nilai = $max * ($j / count($kata['key']));    //menentukan nilai akhir

 }

 return (int)$nilai;

}

Penjelasan script

<pre>$key = explode(",",$words);

 $ans = explode(" ",$wer);
</pre>

Membagi-bagi jawaban dan kunci jawaban dan memasukkannya ke dalam array.

<pre>foreach($ans as $jaw){

 $n = strlen($jaw);

 $sub = substr($jaw,$n-1,$n);

 if(($sub ==  ',') or ($sub ==  '.') or ($sub ==  '!') or ($sub ==  '?')){

 $kata['ans'][] = substr($jaw,0,$n-1);

 }else{

 $kata['ans'][] = $jaw;

 }

 }

 foreach($key as $kunci){

 $n = strlen($kunci);

 $sub = substr($jaw,$n-1,$n);

 if(($sub ==  ',') or ($sub ==  '.') or ($sub ==  '!') or ($sub ==  '?')){

 $kata['key'][] = substr($kunci,0,$n-1);

 }else{

 $kata['key'][] = $kunci;

 }

 }</pre>

Menjamin kata-kata dalam array dari jawaban dan kunci jawaban bebas dari beberapa tanda baca seperti titik (.), koma (,), tanda seru (!), dan tanda tanya (?). Setelah itu dimasukan ke dalam array yang berbeda.

<pre>foreach($kata['ans'] as $tempo){

 foreach($kata['key'] as $rary){

 if(strtolower($tempo) == strtolower($rary)){

 $j++; //hitung kecocokkan kata kunci dan jawaban siswa

 }

 }

 }

 if($j >= count($kata['key'])){

 $j = count($kata['key']);
 $nilai = $max;

 }else{

 $nilai = $max * ($j / count($kata['key']));    //menentukan nilai akhir

 }

 return (int)$nilai;</pre>

Menghitung nilai akhirnya dengan nilai akhir bertipe integer. Mengapa integer? Biar gampang menhitung nilai keseluruhan dari beberapa soal.

O iya, Terdapat batasan-batasan yang saya utarakan untuk script di atas, antara lain keyword kunci jawaban berupa kata-kata yang dipisahkan oleh koma (,) dan tidak boleh ada kata yang sama.

Untuk lebih jelasnya silahkan download source code -nya.

Kritik dan sarannya saya sangat harapkan.. Terima kasih..

Android, itu apaan ya?

2 Komentar

Denger-denger sekarang sedang musim smart phone, lalu banyak juga yang bilang smart phone tersebut memakai sistem operasi Android. Apa sih Android itu? Ok, cekidot.

Android adalah aplikasi untuk telepon seluler (handphone) yang bersifat open source atau bisa kita katakan gratisan karena basisnya dari Linux. Karena sifatnya open source, maka banyak orang (termasuk kita) dapat membuat dan mengubah  aplikasi tertentu dalam Android. Sekarang ini Android dikembangkan oleh OHA (Open Handset Alliance) yang terdiri dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi yang diantaranya adalah Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Nvidia, dll.

Dan terdapat dua jenis distributor resmi Android di seluruh dunia. Yang pertama adalah GMS (Google Mail Service) dan yang kedua adalah OHD (Open Handset Distributor). Beda dari keduanya adalah hanya dari dukungan dari Google saja, kalau GMS itu mendapat dukungan secara langsung, sedangkan OHD tidak secara langsung.

Smart phone yang pertama kali menggunakan sistem operasi Android adalah Nexus One yang dibuat oleh HTC dan dipatenkan oleh Google pada tahun 2007. Tetapi Nexus One baru dilepas di pasaran sekitar bulan Januari 2010. Dan itulah produk awal dari Android. Untuk lebih jelas mengenai versi-versi Android yang telah dirilis adalah sebagai berikut :

Android Versi 1.1

Dirilis oleh Google pada bulan Maret 2009. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail dan pemberitahuan email.

Android Versi 1.5 (Cupcake)

Hanya selang 1 bulan Google merilis Android 1.5 (Cupcake) dengan SDK (Software Development Kit). Apa itu SDK? SDK adalah sebuah program untuk membangun sebuah software atau aplikasi. Untuk Android SDK (aplikasi pembuat software untuk Android) dapat di-download di developer.android.com/sdk/. Selain itu terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke youtube dan untuk gamber ke Picasa hanya lewat handphone, ditambahkan pula dukungan Bluetooth A2DP, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.

Android Versi 1.6 (Donut)

Versi ini dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN (Virtual Private Network) atau jaringan pribadi. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.

Android Versi 2.0/2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.

Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps – aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.

Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem operasi Android dalam situs Internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.

Android Versi 2.2 (Frozen Yoghurt)

Penambahan fitur-fiturnya yaitu :

  1. Kerangka Aplikasi : Memungkinkan penggunanya untuk menggunakan dan menghapus komponen yang tersedia.
  2. Dalvik Virtual Machine : mesin virtual dioptimalkan untuk perangkat mobile.
  3. Grafik mampu sampai ke 3D berdasarkan pustaka OpenGL.
  4. SQLite : untuk penyimpanan data.

Para penggemar open source kemudian membangun komunitas yang membangun dan berbagi Android berbasis firmware dengan sejumlah penyesuaian dan fitur-fitur tambahan, seperti FLAC lossless audio dan kemampuan untuk menyimpan download aplikasi pada microSD card. Mereka sering memperbaharui paket-paket firmware dan menggabungkan elemen-elemen fungsi Android yang belum resmi diluncurkan dalam suatu carrier-sanction firmware.

Source : id.wikipedia.org/wiki/Android_(sistem_operasi)

Happy New Year 2011

1 Komentar

Selamat Tahun Baru 2011, semoga di tahun yang baru kita dapat memperbaiki semuanya dan menjadi diri yang lebih baik. Banyak harapan yang tersampaikan ketika kita beranjak dari tahun 2010 ke tahun 2011. Banyak rencana yang akan kita lakukan di tahun yang baru. Jadi apa rencana anda? Dan apa rencana saya?

Setelah saya merenung cukup lama (sekitar beberapa menit), saya akan membuat beberapa karya yang mungkin akan berguna untuk orang lain. Amin. Berikut adalah rencana yang akan saya kerjakan :

  1. Menyelesaikan website SMAN 1 Sumber.
  2. Membuat website yang berisi semua koleksi e-book saya dan dapat di download secara gratis.
  3. Membuat website yang berisi karya saya seperti program komputer, multimedia, website, sistem informasi, dll. Yang beberapa di antaranya dapat di download dengan gratis.
  4. Mengoptimalkan blog ini.

Semua itu adalah rencana-rencana saya yang sudah terfikirkan dan Insya Allah dapat terealisasikan, maka dari itu saya mohon doa dari pengunjung blog supaya rencana-rencana saya dapat saya kerjakan dengan baik. Dan baiknya juga kita saling mendoakan terlepas dari apapun agama dan kepercayaan yang kita anut.

So, terima kasih dan selamat tahun baru 2011.

Bagi-bagi e-book komputer keren nih.. GRATIS!!!

Tinggalkan komentar

Berikut adalah beberapa e-book tentang dunia komputer dan internet yang berhasil saya peroleh dari berbagai situs. Semua e-book tersebut berbahasa Inggris dan hampir semuanya memiliki ketebalan lebih dari 500 halaman. Saya cantumkan URL download-nya di halaman free ebook di blog ini. Berikut adalah daftar e-book yang saya upload

  1. Android Esential
  2. CCNA Intro Exam Certification Guide (CCNA Self Study, 640-821, 640-801), First Edition
  3. Do-It-Yourselfs Website for Dummies
  4. Multimedia Security Handbook (Internet Communication)
  5. Phyton Standar Library
  6. Pro Android
  7. Visual Quickstart Guide CSS 3
  8. Data Mining in Grid Computing Environtments – (Malestorm)
  9. PC Security Handbook – Windows Guide

Ada 9 buah e-book yang akan saya share kali ini. Untuk selanjutnya mungkin akan lebih banyak lagi. Dan silahkan anda download sepuasnya karena e-book – e-book tersebut GRATIS!!!

Wew.. Pusing..

Tinggalkan komentar

Karena kesibukan yang datang silih berganti seperti tak ada habisnya, jadinya blog yang satu ini tidak terjamah oleh perhatian saya sama sekali.. Waduh dah lama juga ya saya tidak meng-update tulisan saya.. Tapi apa yang harus saya tulis sekarang? Saya lagi bingung..

Saya lihat di statistik pengunjung, ternyata banyak juga yang datang dan banyak juga yang memberikan komentar. Ternyata meskipun blog ini sudah tidak up to date masih ada aja yang berkunjung. Saya ucapkan terima kasih banyak atas perhatian, kunjungan, dan komentarnya. Ga enak juga memberikan tulisan yang udah basi (mungkin) kepada anda, maka saya tekadkan untuk menulis kembali minimal 1 minggu 1 tulisan. Demi tersalurkannya fikiran, ide, gagasan, dan informasi saya untuk anda. Demi kemajuan dunia blogger yang bertujuan untuk mencerdaskan kehidupan bangsa (kaya di UUD), dan bukan hanya sekedar mencari segelintir profit saja, karena itu hanya alasan ke dua.

Terima kasih..

Older Entries Newer Entries