alternatif / cara lain sbb: kopi ini ke module mdh2-an membantu.
'--------start-------------------------- 'Cara pemakaiannya adalah sbb 'ketikkan di immediate window '?AngkaAcak(10000,5) 'contoh hasilnya: '3906 '5564 '138 '159 '233 Option Compare Database Dim jTotal As Long, jHigh As Long Function AngkaAcak(ByVal AngkaDibagi As Long, ByVal JumlahDibagi As Long) Dim Angka() As Long ReDim Angka(JumlahDibagi) Randomize jTotal = 0 jHigh = AngkaDibagi For i = 1 To JumlahDibagi - 1 Angka(i) = GetRandom(jHigh, 0) jTotal = jTotal + Angka(i) jHigh = AngkaDibagi - jTotal Next Angka(JumlahDibagi) = AngkaDibagi - jTotal For j = 1 To JumlahDibagi Debug.Print Angka(j) Next End Function Function GetRandom(ByVal High As Long, ByVal Low As Long) As Long GetRandom = Int((High - Low + 1) * Rnd) + Low End Function '--------end-------------------------- --- In [email protected], Yudi Hantoro <[EMAIL PROTECTED]> wrote: > > > makasih ya bro > Erwin Sugiawan <[EMAIL PROTECTED]> wrote: > hihih asik nih.......... gue coba ya > > ini function nya > > --------------------------------------- > Function test(angka As Currency, JmlLine As Integer) > Dim I(5) As Currency > Dim a(5) As Currency > Dim Counter As Integer > Dim x As Integer > Dim RandomIndex As Integer > Dim TotalAngka As Long > Dim TempAngka As Long > > ' inisial dulu array yang akan di gunakan dan di beri nilai 99999999 > ' nilai 99999999, di dapat dari perkiraanangka yang aneh > For Counter = 1 To JmlLine > a(Counter) = 99999999 > I(Counter) = 99999999 > Next Counter > ' membuat dump jumlah angka yang di inginkan, yang di pergunakan untuk menghitung > ' total nilai dari angka hasil bagi nilai random > TempAngka = angka > For x = 1 To JmlLine - 1 > TestRandom: > Randomize > RandomIndex = Int((JmlLine * 2 * Rnd) + 1) > ' kenapa tidak boleh angka 0 atau 1, spy angka nya tidak cepat habis :) > If RandomIndex = 0 Or RandomIndex = 1 Then GoTo TestRandom > I(x) = TempAngka / RandomIndex > TempAngka = TempAngka - I(x) > TotalAngka = TotalAngka + I(x) > Next x > I(JmlLine) = angka - TotalAngka > > For x = 1 To JmlLine > GetRandom: > Randomize > RandomIndex = Int((JmlLine * Rnd) + 1) > For Counter = 1 To JmlLine > ' kondisi di bawah di gunakan untuk angka random tidak boleh sama > If a(Counter) = RandomIndex Then > TF = True > Exit For > Else > TF = False > End If > Next Counter > If TF = True Then > GoTo GetRandom > Else > For Counter = 1 To JmlLine > If a(Counter) = 99999999 Then > a(Counter) = RandomIndex > Exit For > End If > Next Counter > End If > Debug.Print I(x), I(RandomIndex) > Next x > > > End Function > --------------- > > Best regard > Erwin Sugiawan > > ----- Original Message ---- > From: Yudi Hantoro <[EMAIL PROTECTED]> > To: [email protected] > Sent: Tuesday, January 29, 2008 9:43:02 AM > Subject: [belajar-access] Mohon informasi Fungsi /Matematik Random acak untuk membagi ke 10 Data > > Dear All > > Saya mohon informasinya fungsi untuk membuat pembagian hasil yang random untuk sejumlah data tertentu. > Misal saya punya Angka Pertama 10.000 dan kedua : 20.000 > > Saya pingin membagi ke 10.000 ke 5 Orang > 1. > 2. > 3. > 4. > 5. > ( Total 1-5 = 10.000 ) > Demikian Juga 20.000 ke 5 orang > 1. > 2. > 3. > 4. > 5. > > ( total 1-5 =20.000 ) > > Bagaimana cara membuat/Fungsi apa agar nilai yang acak untuk mengisi nomer 1-5 . > > Terimakasih untuk bantuanya > Yudi H > > > --------------------------------- > Bergabunglah dengan orang-orang yang berwawasan, di bidang Anda di Yahoo! Answers > > > > > > --------------------------------- > Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. > > > > > --------------------------------- > Bergabunglah dengan orang-orang yang berwawasan, di bidang Anda di Yahoo! Answers >

