Arsip: Tentang Acak Pertanyaan

 
user image
more 17 years ago

krishy

javascript:emoticon(':lol:') Laughing Bro Smua, Mau tanya neh. semoga bisa dibantu.. saya sedang bikin aplikasi yang intinya tentang suatu pembelajaran, trus gimana caranya bikin pertanyaan yg ada dlm tabel biar bisa acak kayak Game Who Want to be A Millionaire. dimana setiap pertanyaan tersebut tidak harus urut. adakah dari rekan - rekan yang pernah bikin / yang tau prosedurenya ... terima kasih .......
user image
more 17 years ago

ZeAL

Sekedar buat ngasih gambaran.. http://www.delphi-id.org/dpr/PNphpBB2-viewtopic-t-1340-highlight-acak.pas
user image
more 17 years ago

krishy

aku dah link ke reverensinya. tp maap mas aku blm tau gimana penerapan nya ke database. mohon dibantu lagi yach, bantuan dari rekan rekan sangat berarti buat saya ...
user image
more 17 years ago

ZeAL

Gini kalo mo gampang... Buat database pertanyaan dengan primary key autoinc, anggap aja soal_id... Jadi tiap pertanyaan punya id yang berbeda-beda dan berurutan.. Tekankan kata "berurutan", sebab ini penting untuk algoritma gue.. Pertama kita butuh jumlah record yang tersimpan (jumlah pertanyaan yang tersimpan), misal kita simpan ke variabel jml_soal untuk mengambil kode dengan acak, cukup gunakan query berikut..

query = ' SELECT * FROM tb_pertanyaan WHERE soal_id = "' + IntToStr( RandomRange(0, jml_soal) ) + '" ';
Masalah muncul kalo kita tidak menginginkan soal yang sama muncul untuk kedua kali.. Nah, untuk mengatasinya bisa dimasukin dulu tiap soal_id yang sudah terpilih kedalam list terpisah.. Jadi saat angka random di generate, akan diperbandingkan dulu dengan angka yang ada didalam list.. Jika angka belum ada, maka masukan soal_id tersebut kedalam list dan tampilkan soal.. Tapi kalo soal_id tersebut sudah ada di dalam list, maka generate ulang angkanya.. Trus masalah lain muncul kalo soal_id tidak berurutan alias ada yang "bolong" (1,2,3,4,7,8,9...dst.. tapi 5,6 mana..???) Tapi ini juga bisa diakalin, misal setelah dilakukan perintah query lakukan pengecekan pada jumlah record yang terbaca.. Normalnya seharusnya 1 (kalo sampe diatas 1, berarti invalid key)... Nah, kalo 0 maka lakukan randomrange dan query ulang... Oia, biar urutan soal gak sama tiap kali eksekusi, gunakan perintah Randomize sebelum melakukan fungsi RandomRange... Gitchuuuuuu..... :D :D
user image
more 17 years ago

imunk

BTW databasenya apa neh..... kalo bro krishy pake MySQL bisa pake syntax berikut:

select * from TABELSOAL order by RAND()
bisa ditambahkan perintah LIMIT jika ada batasan pada pengacakan soal. semoga membantu. semangat untuk terus maju.
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com