Linear Congruent Method atau
sering kita sebut LCM adalah metode
pembangkit bilangan acak yang banyak digunakan dalam program komputer. LCM
memanfaatkan model linier untuk membangkitkan bilangan acak yang didefinisikan
dengan :
Di mana:
xn = adalah bil. acak ke n
a dan c adalah konstanta LCM
m adalah batas maksimum
bilangan acak
Ketentuan-ketentuan
pemilihan setiap parameter pada persamaan di atas adalah sebagai berikut:
a. m = modulus, 0 < m
b. a = multiplier
(pengganda), 0 < a < m
c. c = Increment
(pertambahan nilai), 0 ≤ c < m
d. X0 = nilai awal, 0 ≤ X0
< m
e. c dan m merupakan
bilangan prima relatif
f. a – 1 dapat dibagi oleh
faktor prima dari m
g. a – 1 merupakan kelipatan
4 jika m juga kelipatan 4
h. a harus sangat besar
Ciri khas dari LCM adalah
terjadi pengulangan pada periode waktu tertentu atau setelah sekian kali
pembangkitan, hal ini adalah salah satu sifat dari metode ini, dan pseudo
random generator pada umumnya. Penentuan konstanta LCM (a, c dan m) sangat
menentukan baik tidaknya bilangan acak yang diperoleh dalam arti memperoleh
bilangan acak yang seakan-akan tidak terjadi pengulangan. Jadi menurutku
gampangannya pengertiannya adalah untuk pengacak bilangan.
Kode program dasar LCM
a = ...
c = ...
m = ...
For i=1 to ...
x(i) = (a * x(i-1) + c) mod
m
if x(i) = 0 then x(i) = ...
write(x(i))
Next i
Penerapan Kode Program LCM di Delphi
Var
m,i:integer;
a,c,l,h,x:real;
Begin
a :=...;
c :=...;
m :=...;
For i:=1 to 50 do
l:= a * (x+c);
h:= l - int(l/m) * m;
if h = 0 then h := 15;
label1.Caption :=
FloatToStr(h);
end;
Terima kasih telah membaca,selamat
mencoba,semoga beruntung, dan sampai jumpa kembali dipertemuan lainnya.