ini berarti hal baru (tambahan dari kasus yg pernah diajukan) ya..
Mungkin sebaiknya dibicarakan terpisah (kasus baru).
Kalau kita kembali ke dasarnya : kalimat terakhir di email pertama anda:
"Bagaimana caranya agar perulangan tadi misal setelah keluar CCC pada
random pertama, di random yg kedua CCC tidak keluar lagi."
saya menangkap & menyimpulkannya:
1. tidak ada permintaan untuk menciptakan data random baru,
(karena data-nya sudah ada, contohnya AAA, BBB dst)
2. yg diinginkan (pemunculan) data diulang ulang, tetapi data yg telah
pernah muncul tidak muncul lagi.
3. Jadi yg perlu dibuat random adalah Index data yg akan dimunculkan.
Mungkin banyak cara, tetapi mungkin di bawah ini cara yg sederhana:
=dibuat Bilangan Random Yg terkendali :
(1) bilangan bulat (2) dlm rentangan tertentu (3) setiap ada data dimunculkan, rentangannya semakin dipersempit.
Di makronya hal ini di ekspresikan :
Idx = 1 + Int(Rnd() * (RgOrig.Rows.
=SpinButton dimanfaatkan (nilainya berurutan) untuk mengendalikan rentangan bilangan mau-pun Dimensi range yg akan diindex.
=Bilangan random yg terjadi (Idx) dipakai untuk mengindex data
=Data yg sudah dimunculkan dihapus (agar idak ikut diindex lagi), cell yg kosong diisi dgn data cell di bawahnya (resorting)
=Jika semua data sudah dimunculkan (dgn URUTAN yg ACAK) maka semua kondisi diRESET.
Jadi tidak pernah ada proses MENCIPTAKAN DATA (karena data-nya kan sudah ada, AAA, BBB itu kan hanya contoh saja).
Style & cara menyajikan / penampilannya di sheets bukan hal utama (bisa diubah ubah sesuai selera) karena dari kasus yg diajukan pun juga tidak ada contoh deskripsi penampilannya.
~siti Vi~ 13 sept 2009
2009/9/13 Riky Yonathan <riky.yonathan@
>
> Sepertinya bukan seperti itu juga. Misal ada kata
>
> AAA 1
> BBB 2
> CCC 3
> DDD 2
> EEE 0
> FFF 3
> GGG 2
> HHH 2
>
> Keterangan:
>
> 1. Setiap kata itu muncul dan diterka benar oleh user maka angka disampingnya itu akan ditambah satu ; angka = angka +1
> 2. Tapi jika salah maka dikurangi 1 ; angka = angka -1, jika angkanya 0 gak dikurangi
> 3. Jika kata tersebut sudah bernilai 3 maka dia tidak akan diinput sebagai data lagi ( keluar dari list random)
> 4. Artinya satu kata itu jika belum bernilai 3, akan muncul beberapa kali
> 5. Masalah yg muncul adalah, misal kata EEE yg bernilai 0,
> Random#1 = keluar EEE dan terkaannya benar oleh user maka nilainya jadi 1
> Di random#2, kemungkian EEE keluar lagi ada, jika benar lagi maka nilainya jadi 2
> Di random#3, kemungkinan EEE keluar ada lagi, dan jika terkaannya benar maka nilainya jadi 3
> Di random#4, kemungkian EEE, tidak akan keluar Karena nilainya udah 3.
> 6. Kan jadi menjemukan kalo random itu, kata kata yg keluar cenderung sama, di random berikutnya
>
> Sejauh ini saya memakai algoritma seperti ini
>
> Dari data diatas k = 6
> K
> 1 AAA
> 2 BBB
> 3 DDD
> 4 EEE
> 5 GGG
> 6 HHH
>
> | Ambil kata yg bukan nilainya 3|
> | Hitung berapa byak data = k|
> | Randomize| -> mereset seeder, katanya biar Rnd() gak oon
> | int (k*rnd()+1|
> |Check hasil random| à jika data yg keluar sama dengan data sebelumnya1 or sebelumnya2 or sebelumnya 3 or sebelumnya4, hasilrand =hasilrand+1
> |check penambahan hasilrand| -> jika penambahan sudah besar dari k, hasilrand balik lagi ke 1 à hasilrand =1, go to point e |check hasil random|
> |Udah gak sama| -> jika sudah gak sama baru ditampilkan
>
> Pada langkah e, jika hasilrand sama dengan nilai sebelumnya1 , or sebelumnya 2, or sebelumnya3, or sebelumnya4, sengaja tidak melakukan random lagi untuk menghindari infinite looping, maka dipilih cara shift kebawah , hasilrand=hasilrand
>
> Seperti itu mungkin, Thanks, Riky
>
| Ada lowongan jadi direktur ga? Hubungi momods please... :D |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message, melecehkan, tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan winzip jika perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/ |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau... |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html |
+-------------------------------------------------------------------+
| Message lama ada di : |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id] |
| http://www.mail-archive.com/xl-mania@yahoogroups.com |
+-------------------------------------------------------------------+
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch format to Traditional
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
Nenhum comentário:
Postar um comentário