| Tutorial Flash - HTML5 - Javascript - DKV

Latest Blog



23.10.2020

Virtual Lab Flash

Library untuk pengembangan laboratorium virtual dengan Flash/Animate

06.10.2020

Game Among Us

Membuat gerakan karakter seperti pada game Among Us

05.10.2020

Multimedia Interaktif Tata Surya

Membuat Multimedia Pembelajaran Interaktif tentang tata surya

04.10.2020

Animasi Rotasi Bumi 3D

Membuat animasi bumi berotasi dengan grafik 3 Dimensi

01.10.2020

Membuat Kuis Essay

Mengecek jawaban kuis essay pada aplikasi pembelajaran interaktif

12.09.2020

Membuat Game Ular Tangga

Membuat game ular tangga dengan Adobe Flash/Animate AS3

10.09.2020

Membuat Pengacak Dadu

Membuat acak dadu untuk game ular tangga/monopoly

13.07.2020

Membuat Game Onet

Membuat game mencari gambar yang sama (onet) dengan JS/HTML5

11.06.2020

Membuat Kuis CBT

Membuat kuis CBT, menyimpan nilai ke server dengan PHP dan XML

11.05.2020

Game RPG dengan HTML Canvas (Javascript)

Pengembangan game RPG dengan teknik tiling menggunakan HTML canvas


ALL BLOG

Latest Games


;
Free Games

Indonesia Soccer League

Play Indonesian Soccer League on Flash 3D Games


Mengecek Jawaban Essay

Dalam sebuah media edukasi yang memiliki kuis bertipe Essay, tantangan terbesar adalah mengecek jawaban pemain dan membandingkannya dengan jawaban yang benar. Dalam praktik sehari-hari jawaban essay harus diamati secara baik oleh guru, karena yang dimaksudkan oleh murid bisa jadi mirip dengan jawaban yang benar namun disampaikan dengan gaya bahasa yang berbeda. Disinilah tingkat kesulitan membuat aplikasi untuk menilai jawaban essay. Diperlukan sebuah logika yang sangat mendalam agar aplikasi bisa humanis sebagaimana guru.



Dalam membuat kuis dengan jawaban essay, kita tidak boleh menggunakan logika persamaan string secara langsung, karena adanya ketidak miripan akan mengakibatkan nilai menjadi salah. Yang paling sering ditemui di lapangan adalah membandingkan string secara langsung sebagai berikut :

if (jawabanPemain.text == jawabanBenar.text) nilai+=10;

Oleh karena itu diperlukan sebuah logika tambahan agar kode bisa mendeteksi dengan baik jawaban essay dari pemain.
Cara yang paling mudah untuk dipahami, dan relatif akurat untuk menguji jawaban essay dari sebuah kuis interaktif adalah dengan menggunakan teknik Keyword. Keyword jawaban pemain, dan keyword jawaban benar dikomparasi kesamaannya untuk menentukan tingkat kemiripan dari jawaban pemain. Berikut adalah sampel cara membuat kuis dengan jawaban essay:

  1. Buatlah file baru dengan pengaturan yang sama seperti pada tutorial sebelumnya, yaitu Actionscript 3 dengan ukuran 800 x 480 pixel dan 30 fps.
  2. Buatlah Dynamic text untuk menampilkan soal, dan tambahkan instance name pertanyaanTxt
  3. Buatlah Input text untuk mendapatkan jawaban dari pemain, dan tambahkan instance name jawabanTxt
  4. Buatlah sebuah tombol untuk menguji jawaban, dan tambahkan instance name jawabBtn
  5. Buatlah Dynamic text untuk menampilkan nilai, dan tambahkan instance name nilaiTxt

  6. membuat kuis essay dengan flash
  7. Buat sebuah Layer baru. Kemudian klik frame 1 layer 2, kemudian buka panel action dan ketikan kode berikut :

  8. import flash.events.MouseEvent;
    
    var pertanyaan:String = "Apakah yang dimaksud dengan ekosistem ?";
    var jawaban:String = "Ekosistem adalah suatu sistem ekologi yang terbentuk oleh hubungan timbal balik tidak terpisahkan antara makhluk hidup dengan lingkungannya";
    var kataSambung:Array = ["yang", "di", "dari", "oleh", "adalah", "suatu", "ke", "dengan", "antara"];
    var awalan:Array = ["di", "ter", "me", "per"];
    var akhiran:Array = ["nya", "kan", "me", "per"];
    
    
    pertanyaanTxt.text = pertanyaan;
    
    jawabBtn.addEventListener(MouseEvent.CLICK, cek_jawaban);
    
    function cek_jawaban(e:MouseEvent):void{
    	if (jawabanTxt.text.length < 5){
    		nilaiTxt.text = "Jawaban belum diisi!";
    	}else{
    		nilaiTxt.text = "Nilai = "+cek_kemiripan(jawabanTxt.text, jawaban);
    	}	
    }
    
    function cek_kemiripan(st1:String, st2:String):Number{
    	var nilai:Number = 0;
    	var i:int;
    	var j:int;
    	var jawabanPemain:Array = cari_keyword(st1);	
    	var jawabanBenar:Array = cari_keyword(st2);
    	var nilaiMax:Number = jawabanBenar.length;
    	var jawabSama:int = 1;
    	//mencari kesamaan keyword untuk menentukan nilai
    	for (i=0;i<jawabanPemain.length;i++){
    		for (j=0;j<jawabanBenar.length;j++){
    			if (jawabanPemain[i] == jawabanBenar[j]){
    				//jawabanPemain.splice(i, 1);
    				//jawabanBenar.splice(j,1);
    				jawabSama++;
    			}
    		}
    	}
    	//menentukan nilai
    	nilai = Math.round((jawabSama/nilaiMax)*100);	
    	return nilai;
    }
    
    function cari_keyword(str:String):Array{
    	var i:int;
    	var j:int;
    	var dataJawab:Array = str.split(" ");
    	//bersihkan data dari kata sambung
    	for (i=0;i<dataJawab.length;i++){
    		for (j=0;j<kataSambung.length;j++){
    			if (dataJawab[i]==kataSambung[j]) dataJawab.splice(i, 1);
    		}
    	}
    	//bersihkan data dari awalan
    	for (i=0;i<dataJawab.length;i++){
    		for (j=0;j<awalan.length;j++){
    			var pos:int = dataJawab[i].indexOf(awalan[j]);
    			if (pos > -1 && pos < 5 ) {
    				dataJawab[i] = dataJawab[i].substr(awalan[j].length, dataJawab[i].length);
    			}
    		}
    	}	
    	//bersihkan data dari akhiran
    	for (i=0;i<dataJawab.length;i++){
    		for (j=0;j<akhiran.length;j++){
    			var pos2:int = dataJawab[i].lastIndexOf(akhiran[j]);
    			if (pos2 > -1) {
    				dataJawab[i] = dataJawab[i].substr(0, dataJawab[i].length-akhiran[j].length);
    			}
    		}
    	}
    	return dataJawab;
    }
    

  9. Jalankan aplikasi dengan menekan tombol Ctrl+Enter.Cobalah menjawab pertanyaan dengan berbagai macam variasi jawaban. Maka akan dihasilkan nilai sesuai dengan kemiripan jawaban

membuat kuis essay dengan flash

Logika dasar dari teknik di atas adalah sebagai berikut :

  1. tentukan jawaban benar
  2. ubah jawaban benar tersebut menjadi keyword dengan cara membuang kata hubung, awalan dan akhiran
  3. baca jawaban pemain, pastikan panjang karakter lebih dari 3 huruf
  4. ubah jawaban pemain menjadi keyword dengan cara membuang kata hubung, awalan dan akhiran
  5. bandingkan jumlah keyword yang sama


Note : Kode di atas perlu dioptimalisasi untuk mencegah kecurangan dengan memanipulasi keyword secara berulang.

File sumber : FLA Adobe Animate 2017 - Kuis Essay

Share ( Ayo Berbagi )

Leave me a comment

untuk pertanyaan lebih baik di email langsung ke wandah [at] wandah [dot] com agar cepat direspon