Sabtu, 06 Maret 2010


Big Integer pada Java

Semenjak seri Java 1.1 terdapat class java.math.BigInteger, yaitu sebuah class yang merepresentasikan integer dengan presisi tak tetap (arbitrary). Class ini cukup penting untuk dikenal oleh kita selaku penggemar ilmu Kriptografi (tentunya,, hehe,,) karena banyak algoritma Kriptografi yang menggunakan bilangan integer besar dan aritmatika modulo. Dalam melakukan algortima Kriptografi tersebut, dapat dipastikan bahwa class BigInteger akan memberikan optimasi kecepatan.

Ada dua cara untuk mendefinisikan constructor dari class ini :

* public BigInteger (int bitLength, int certainty, Random rnd)
* public BigInteger (int numBits, Random rndSrc)

Keterangan :

* bitLength adalah panjang yang diinginkan dari new BigInteger
* certainty adalah parameter yang mendefinisikan probabilitas dari bilangan yang dibangkitkan adalah benar bilangan prima. Untuk nilai certainty n maka probabilitas bilangan primanya adalah 1 – 5n
* rnd adalah objek Random yang digunakan untuk membangkitkan bilangan random
* numBits digunakan untuk menciptakan sebuah angka dengan diberikan panjang kunci

BigInteger juga mengimplementasikan beberapa operasi matematika, seperti add(), substract(), multiply(), divide(),dan juga modPow().

Berikut ini saya akan menunjukkan bagaimana penggunaan BigInteger ini pada algoritma factorial. Source code dapat diunduh di sini.

Thanx to Mba Restia




Tidak ada komentar:

Posting Komentar

Terima kasih atas komentar Anda :)

Komentar