Memahami Class BigInteger Pada Java

Terkadang dalam pemrograman mungkin anda membutuhkan angka dalam ukuran dan presisi tertentu. Kebanyakan aplikasi, termasuk aplikasi teknik, menggunakan perhitungan tipe data float dan double standar  untuk melakukan operasi dasar metematika di Java.

Namun adakalanya tipe data standar itu tidak mememenuhi kebutuhan dalam program, kerena anda bekerja dengan angka yang sangat besar atau membutuhkan presisi yang sangat tinggi, oleh karena itu Java menyediakan class yang bersifat immutable yaitu BigInteger dan BigDecimal yang terdapat dalam package java.math untuk menyelesaikan permasalahan tersebut.

BigInteger

BigInteger diperlukan dalam operasi matematika ketika nilai integer yang digunakan sangat besar karena jika  hanya menggunakan tipe data int bisa menyebabkan integer overflow.

Integer overflow terjadi dalam pemrograman karena suatu operasi aritmatika yang mencoba untuk memberikan nilai diluar dari range maksimum dan minimum yang dapat direpresentasikan oleh angka yang diberikan bit tertentu.

Kondisi tersebut bisa menyebabkan program memberikan hasil yang tidak akurat, jika tidak diantisipasi dengan baik bisa menyebabkan masalah pada kehandalan dan keamanan program.

class_biginteger_java

BigInteger dapat digunakan ketika tipe data int tidak dapat memenuhi kebutuhan anda. Misalnya ketika anda membutuhkan nilai faktorial dari 70 atau 70!, seperti contoh di bawah ini:

Contoh Output:

Penjelasan Big Integer

Kelas BigInteger digunakan untuk mewakili angka besar yang tidak menentu. Dengan demikian overflow tidak terjadi seperti halnya ketika menggunakan int dan long. Objek BigInteger dibuat dengan melewatkan sebuah String yang berisi nilai integer.

Pada contoh kode program di atas, objek BigInteger bernama ‘factorial’ dibuat dan akan menampung faktorial dari angka tersebut dan menginisialisasinya dengan 1.

Loop yang digunakan adalah for loop yang identik dengan yang digunakan dalam program faktorial normal. Perkalian dua BigIntegers dilakukan menggunakan method multiply yang mengambil BigInteger sebagai argumen. Kelas BigInteger immutable, ini artinya objek tempat fungsi multiply dipanggil tidak akan mengubah integer yang dipegangnya. Perkalian dilakukan dan nilai BigInteger baru dikembalikan  dan disimpan dalam variabel factorial.

Jika kode di bawah ini digunakan untuk menggantikan kode pada line di atas, program akan selalu memberikan 1 sebagai jawaban.

Kenapa bisa demikian? Ini karena, kita telah menginisialisasi factorial dengan ‘1’. Perkalian tidak berpengaruh pada nilai integrasi yang disimpan pada factorial karena objek yang dikembalikan oleh multiply () tidak disimpan kembali pada factorial. Bahkan setelah akhir dari loop, factorial masih memegang nilai ‘1’. 

Secara simpel objek dari BigInteger misalnya dapat dibuat dengan:

BigInteger myNumber = new BigInteger(“894164965438599736442957283566998”);

Beberapa method untuk pengoperasian matematikanya adalah:

  • add() //penjumlahan
  • substract() //pengurangan
  • multiply() //perkalian
  • divide() //pembagian
  • remainder() //modulo
  • divideAndRemainder()
  • pow() //perpangkatan
  • gcd() //greatest common divisor

dan lain sebagainya.

Demikianlah penjelasan singkat mengenai class BigInteger pada Java, semoga bisa menambah pengetahuan bagi anda yang sedang belajar pemrograman.

Leave a Comment