Construct 2 - Teknik-teknik Random

June 22, 2018 in #Coding #Construct 2 | | | Share on Google+

Saya menemui banyak sekali pertanyaan tentang proses membuat logika random (acak). Berikut saya berikan beberapa trik melakukan proses random tersebut.


1.) Random Sederhana

Untuk membuat nilai random, kita hanya perlu memanggil expression random(nilai_awal,nilai_akhir+1). Jika kita akan membuat random antara 1-10, berarti ditulis menjadi random(0,11).

Hasil dari pemanggilan ini adalah bilangan desimal, sehingga untuk menjadikannya bilangan bulat dilakukan dengan cara :

  • round() = pembulatan terdekat (bisa ke atas bisa ke bawah)
  • floor() = pembulatan ke bawah



2.) Random Tanpa Duplikasi

Untuk membuat fitur ini, kita membutuhkan Array dengan width = 0 untuk mempermudahnya. Array digunakan untuk menampung nilai random berapa saja yang sudah kita miliki.

Untuk mengecek apakah nilai random sudah pernah diambil atau belum, kita gunakan kondisi Contains value pada Array. Jika belum ada indeks dengan nilai tersebut pada Array, kita masukkan nilai tersebut di dalamnya dengan action push. Sehingga dalam pengecekan selanjutnya tidak akan diambil lagi.

Contoh jika kita ingin membuat random dari 0-100 sebanyak 10 kali, maka logikanya akan menjadi seperti berikut :



3.) Mengambil Urutan Random dari Sekumpulan Data Tanpa Diulang

Misalnya kita memiliki 20 buah soal, dan kita ingin menampilkan soal secara acak tanpa diulang (pertanyaan yang sama tidak muncul dua kali). Bagaimana caranya?

Pertama, gunakan cara nomor 2 untuk mengetahui soal nomor berapa saja yang sudah ditampilkan. Selanjutnya untuk mengambil soal yang belum dikerjakan secara random adalah seperti berikut :

Hasilnya :

Ingat bahwa indeks Array dimulai dari 0. Sehingga pada gambar di atas, Array indeks 0 = 15, indeks 1 = 14, dan seterusnya.

Karena indeks yang sudah kita ambil kita hapus dengan action delete, maka kita tidak perlu kuatir akan adanya soal yang muncul dua kali.

Bagaimana kalau data soalnya berbentuk XML ? Ya sama saja. Gunakan expression NodeCount untuk mengetahui berapa banyak soal yang dimiliki. Lalu cek soal nomor berapa yang sudah ditampilkan.



Download Source Code

Source code dapat didonwload di sini.

June 22, 2018 in #Coding #Construct 2 | | | Share on Google+