Sabtu, 08 Januari 2011

bikin game kuis

VBScript : Bikin Game Kuis
Posted in Tutorial by Dedi Purwanto on the June 30th, 2007
Game ini adalah game bertipe kuis kata, cara membuatnya cukup simpel, dan program yang diperlukan cuma notepad aja ^_^. Kalau kalian masih awam sama yang namanya notepad, coba klik menu START -> RUN, trus ketik notepad lalu tekan Enter, muncul deh notepadnya ^_^.
Nah, back to the topic, disini akan di jelasin tutorial bikin game kuis ini, bahasa yang dipergunakan adalah Visual Basic Script, nggak perlu cemas dulu tentang seberapa sulitnya bahasa Visual Basic Script(VBScript), karena ini cukup simple koq, dan rule game kita nanti akan seperti ini :
1. Tampilkan soal
2. User mengetikkan jawabannya
3. Kita cek apakah jawaban user sama
dengan jawaban soal
4. Kalo sama, kita tambahin skor sebanyak 5 poin
5. Kalo enggak sama, kita tanya user, dia mau lanjut apa enggak
6. Kalo dia mau lanjut, kita tampilkan soal yang sama
7. Kalo enggak, kita tutup program kuisnya
Simpel kan?. Sekarang kita masuk ke programmingnya, coba buka aplikasi notepad, kemudian klik menu File -> Save, lalu simpan filenya dengan nama Kuis.vbs, dan dibagian FileType, pilih All Files. Simpan file tersebut di folder C:\. Sekarang coba tutup program notepadnya, lalu buka My Computer dan buka drive C:\ tadi, disitu ada file Kuis.vbs (yang iconnya warna putih-ijo), itu adalah program kuis kita, sekarang coba klik kanan file itu dan pilih EDIT. Lalu masukan kode di bawah ini :

Sintaks : (vb)
1.
2. dim jawaban(5)
3. dim soal(5)
4. dim jawaban_user
5. dim skor
6.
dim adalah singkatan dari dimmension, atau lebih umumnya disebut dengan variabel. Arti kasar dari variabel adalah sebuah penanda/alamat dari sebuah nilai/value, contoh : murid=”Budi”, jadi nama variabelnya adalah murid, dan isi variabelnya adalah “Budi”. Pada script di atas terdapat 4 buah variabel, yaitu jawaban, soal, jawaban_user, dan skor, tapi semua variabel di atas belum kita beri nilai/isi.
Beberapa dari kalian mungkin bingung, karena variabel jawaban dan soal ada tulisan(5)-nya, apa maksudnya?. angka 5 tersebut adalah jumlah isi dari variabel tersebut, atau istilah bakunya adalah Array. Array adalah sebuah kumpulan nilai dalam variabel, contohnya :
Murid=”Budi” <- Udah paham kan?, sekarang pertanyaannya gimana kalo muridnya lebih dari satu?, maka kita pakai :
Murid(1)="Budi"
Murid(2)="Anita"
Murid(3)="Anton"
Murid(4)="Herman"
Contoh diatas adalah contoh dari sebuah array, kita memaparkan variabel murid berisi 4 buah nilai, nilai pertama(1) adalah "Budi", nilai kedua(2) adalah "Anita", dan seterusnya...
Begitu juga dengan variabel jawaban(5) dan soal(5), artinya, nanti akan ada 5 buah jawaban, dan 5 buah soal. Perlu diingat, bahwa sebenarnya jumlah nilai dari jawaban(5) adalah 6, karena komputer selalu menghitung semua angka berawal dari 0. Tapi untuk sekarang kita nggak perlu terlalu memikirkan hal itu :p. Kesimpulan dari kode diatas adalah:
dim jawaban(5) <- variabel jawaban nanti akan menyimpan 5 buah nilai
dim soal(5) < - variabel soal nanti akan menyimpan 5 buah nilai
dim jawaban_user <- variabel ini nanti akan menyimpan 1 buah nilai, yaitu jawaban yang di ketik oleh user
dim skor <- variabel ini nanti akan menyimpan 1 buah nilai, yaitu nilai skor dari user
Gimana? udah mulai bingung, biasalah..., tapi jangan berhenti dulu, kan udah tanggung :D. Sekarang kita masuk ke kode selanjutnya, masukan kode ini ke baris selanjutnya di notepad yang tadi :
Sintaks : (vb)
1.
2. sub buat_soal()
3. soal(1)="Siapakah nama presiden kita?"
4. jawaban(1)="Susilo Bambang Yudhoyono"
5.
6. soal(2)="Apakah kepanjangan dari SSGD?"
7. jawaban(2)="Suka Suka Gue Dong!"
8.
9. soal(3)="Apa arti dari mensana in corporesano?"
10. jawaban(3)="Elo main kesana gua main ke sono!"
11.
12. soal(4)="Kalo di dunia ini enggak ada komputer, apa yang terjadi?"
13. jawaban(4)="Kantor post nggak akan tersaingi dengan yang namanya e-mail"
14.
15. soal(5)="Siapa orang tercakep di dunia?"
16. jawaban(5)="Gue!!!"
17. end sub
18.
Pada kode diatas, terdapat beberapa “hal” baru, yaitu SUB dan END SUB, maksudnya?. Anggap saja kalian punya selembar kertas berisi jadwal pelajaran sekolah, kertas tersebut kalian beri judul “JadwalPelajaranku”. SUB sama fungsinya seperti itu, kita memasukan sejumlah kode, dan kode tersebut di “kurung” di dalam sebuah SUB, jadi kalo kita mau memakai serangkaian kode itu, kita tinggal memanggil SUBnya aja, contoh sederhana nih :
Sintaks : (vb)
1.
2. SUB beli_garam()
3. 1. pergi ke warung
4. 2. panggil penjualnya
5. 3. kalau penjualnya ada, beli garam
6. 4. kalau penjualnya enggak ada, pulang kerumah aja deh!
7. END SUB
8. beli_garam()
9. beli_garam()
10. beli_garam()
11. beli_garam()
12. beli_garam()
13.
Nah, itu salah satu contoh penggunaan sub, kalo kita pengen beli garam sebanyak 5 kali, kita enggak perlu menuliskan urutan perintah-perintah dalam membeli sebanyak 5 kali juga kan?, tapi cukup membuat sebuah SUB bernama beli_garam() yang berisi urutan-urutan dalam membeli garam, kemudian memanggil SUB tersebut sebanyak 5 kali. Oh iya, perintah END SUB adalah perintah untuk mengakhiri pembuatan sebuah SUB.
Sekarang kita balik ke kode yang tadi, di baris pertama pada kode yang tadi kita membuat sebuah sub yang bernama buat_soal(), sub tersebut akan kita gunakan untuk membuat soal-soal dan membuat jawabannya. Kemudian di baris-baris selanjutnya ada kode seperti ini :
soal(1)=”Siapakah nama presiden kita?”
jawaban(1)=”Susilo Bambang Yudhoyono”
soal(2)=”Apakah kepanjangan dari SSGD?”
jawaban(2)=”Suka Suka Gue Dong!”
Seperti yang di jelaskan di atas tadi, kode tersebut akan memberi nilai dari sebuah variabel. Jadi kita akan memberi nilai-nilai pada soal dan jawaban, paham kan? Ok, sekarang lanjut ke kode selanjutnya, salin kode dibawah ini ke file notepad yang tadi :
Sintaks : (vb)
1.
2. sub mulai_game()
3. skor=0
4. for i=1 to 5
5. jawaban_user=inputBox(soal(i), "Soal ke " & i)
6. if (jawaban_user=jawaban(i)) then
7. skor=skor+5
8. MsgBox "Selamat!, jawaban benar!, skor Anda : " & skor
9. else
10. if(MsgBox("Weks, jawabannya salah deng. Mau lanjut?",VBYESNO)=VBYes) then
11. i=i-1
12. else
13. exit for
14. end if
15. end if
16. next
17. end sub
18.
Sekarang kita membuat sebuah sub baru bernama mulai_game(). Pada sub ini, pertama-tama kita set dulu nilai skor menjadi 0, kemudian kita lakukan perulangan menggunakan kode for-next, apa itu perulangan? coba liat contoh kode ini :
Sintaks : (vb)
1.
2. for i=1 to 5
3. lompat
4. jongkok
5. next
6.
Contoh kode diatas akan melakukan lompat-jongkok selama 5 kali (1 to 5), sedangkan “i” adalah variabel yang akan mencatat sudah berapa kali perulangan dilakukan, jika lompat-jongkok udah dilakukan sebanyak 2 kali, maka nilai “i” akan menjadi 2, dan seterusnya..
Kembali ke kode kita yang tadi, pada bari selanjutnya terdapat kode seperti ini :
jawaban_user=inputBox(soal(i), “Soal ke ” & i)
Perintah inputBox adalah perintah bawaan dari VBScript yang gunanya untuk menampilkan sebuah Box dan sebuah TextField, parameter inputBox adalah “inputBox(’Kata-Kata yang mau muncul di input box’, ‘Judul input box’)”. Kemudian mengacu pada parameter ini, kita set kata-kata pada input box diatas akan berisi Soal, dan judul dari input boxnya akan berisi “Soal Ke ” & i. “i” adalah nilai sudah berapa kali perulangan di lakukan. Kemudian pada inputBox inilah user akan mengetikan jawabannya, dan jawab user tersebut akan di simpan ke variabel jawaban_user.
Sampai sejauh ini masih ngerti?. Kita lanjut ke baris selanjutnya yaitu :
if(jawaban_user=jawaban(i)) then
Definisi kode ini cukup simple, kita akan mengecek apakah jawaban user sama dengan jawaban yang kita buat. dan “i” adalah urutan dari jawaban tersebut. Singkatnya, jika jawaban user sama dengan jawaban yang kita buat maka…
skor=skor+5
MsgBox “Selamat!, jawaban benar!, skor Anda : ” & skor
Yap!, skor=skor+5, simpel kan? kita akan menambahkan skor sebanyak 5 poin, kemudian menampilkan pesan melalui perintah MsgBox. lalu selanjutnya…
else
else adalah perintah jika jawaban_user tidak sama dengan jawaban kita, dan jika memang tidak sama, maka lakukan perintah ini :
Sintaks : (vb)
1.
2. if(MsgBox("Weks, jawabannya salah deng. Mau lanjut?",VBYESNO)=VBYes) then
3. i=i-1
4. else
5. exit for
6. end if
7.
Kode tersebut akan menampilkan pesan, dan pesan tersebut akan menampilkan tombol YES dan NO, dan jika user mengklik tombol YES, maka kita ubah ulang urutan soal yang sebelumnya (i=i-1), tapi jika user TIDAK mengklik tombol YES, kita hentikan perulangannya (exit for) dan secara otomatis akan metutup programnya.
Kemudian kita tinggal panggil kedua sub yang kita buat tadi:
Sintaks : (vb)
1.
2. buat_soal()
3. mulai_game()
4.
Yak, maka game kita selesai! inilah kode lengkapnya :
Sintaks : (vb)
1.
2. dim jawaban(5)
3. dim soal(5)
4. dim jawaban_user
5. dim skor
6.
7. sub mulai_game()
8. skor=0
9. for i=1 to 5
10. jawaban_user=inputBox(soal(i), "Soal ke " & i)
11. if(jawaban_user=jawaban(i)) then
12. skor=skor+5
13. MsgBox "Selamat!, jawaban benar!, skor Anda : " & skor
14. else
15. if(MsgBox("Weks, jawabannya salah deng. Mau lanjut?",VBYESNO)=VBYes) then
16. i=i-1
17. else
18. exit for
19. end if
20. end if
21. next
22. end sub
23.
24. sub buat_soal()
25. soal(1)="Siapakah nama presiden kita?"
26. jawaban(1)="Susilo Bambang Yudhoyono"
27.
28. soal(2)="Apakah kepanjangan dari SSGD?"
29. jawaban(2)="Suka Suka Gue Dong!"
30.
31. soal(3)="Apa arti dari mensana in corporesano?"
32. jawaban(3)="Elo main kesana gua main ke sono!"
33.
34. soal(4)="Kalo di dunia ini enggak ada komputer, apa yang terjadi?"
35. jawaban(4)="Kantor post nggak akan tersaingi dengan yang namanya e-mail"
36.
37. soal(5)="Siapa orang tercakep di dunia?"
38. jawaban(5)="Gue!!!"
39. end sub
40.
41. buat_soal()
42. mulai_game()
43.
Untuk menjalankannya, klik kanan file kuiskata yang tadi, lalu pilih open. Kode diatas bisa dijadikan latihan buat dasar-dasar logika pemrograman seperti perulangan, operator, array, variabel, dsb.. Kalo masih bingung, ya selamat bingung

Tidak ada komentar:

Posting Komentar