Random Number Generator (RNG) atau pembangkit bilangan acak digunakan untuk membangkitkan kode unik pada voucher pulsa seluler dan algoritma kriptografi. Java menyediakan kelas Random untuk menghasilkan bilangan acak dengan berbagai rentang nilai. Contoh program mendemonstrasikan penggunaan kelas Random untuk membangkitkan bilangan acak antara 0-9, -10-0, dan 0-100. Metode nextInt(n) menghasilkan bilangan bulat acak antara 0 hingga n-
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
02.26 JAVA SE_random number generator
1. Jefri Fahrian | Page 1 of 3
02.47 Random Number Generator
Jefri Fahrian (6)
Jika Anda adalah pengguna telepon seluler mungkin Anda pernah mengisi
pulsa dengan voucher atau pulsa fisik. Tahukah Anda bagaimana kode yang Anda
gosok itu bersifat unik atau tidak ada duplikatnya? Kode yang Anda gosok dalam
voucher tersebut merupakan implementasi dari bilangan random, sehingga tidak
ada duplikat kode voucher dan operator seluler pun tidak dapat mengalami
kerugian akibat dari suatu pihak yang menebak-nebak kode voucher tersebut.
Untuk lebih jelasnya berikut pemaparannya.
Pembangkit Bilangan Acak
Random Number Generator (RNG) atau pembangkit bilangan acak, kerap
kali diimplementasikan di dalam berbagai algoritma kriptografi. Contohnya saja
pada algoritma kriptografi Deffie-Helman yang memerlukan bilangan prima
sebagai input. Cara yang paling efektif untuk mendapatkan suatu bilangan prima
acak adalah dengan cara melakukan pembangkitan bilangan acak kemudian
mengetes apakah bilangan yang dibangkitkan itu berupa bilangan acak atau tidak.
Sekarang pertanyaannya adalah apa algoritma untuk melakukan
pembangkitan bilangan acak tersebut? Java menyediakan class java.util.Random
yang bisa membantu dalam men-generate angka acak untuk suatu aplikasi.
Random number sering digunakan untuk membangkitkan angka acak baik dengan
jangkauan (range) atau tanpa jangkauan yang spesifik. Random class dari paket
java.util dapat digunakan untuk membangkitkan angka acak pada range yang
telah ditentukan. Jika anda tidak menentukan nilai range, maka program akan
men-generate sembarang angka acak pada program. Berikut ini contoh program
yang menggunakan fungsi java.util.Random.
Contoh program:
1 import java.util.Random;
2 public class bilAcak {
3 public static void main (String[] args) {
4 Random acak = new Random ();
5
6 System.out.print("5 bilangan acak dari 0 s/d 9 : ");
7 for (int i=0; i<5; i++) {
8 System.out.print((int)(Math.random()*10) + " "); }
2. Jefri Fahrian | Page 2 of 3
9 System.out.println();
10
11 System.out.print("5 bilangan acak dari -10 s/d 0 : ");
12 for (int i=0; i<5; i++) {
13 System.out.print((int)(Math.random()*10)-9 + " "); }
14 System.out.println();
15
16 System.out.print("5 bilangan acak dari 0 s/d 100 : ");
17 for (int i=0; i<5; i++){
18 System.out.print(acak.nextInt(101) + " "); }
19 System.out.println();
20 }
21 }
Line1 : import java.util.Random
merupakan library dari java yang menyediakan fasilitas untuk pembangkitan
bilangan acak (random)
Line4 : Random acak = new Random ();
Membuat objek bernama “acak”
Line7-8 : for (int i=0; i<5; i++)
System.out.print((int)(Math.random()*10) + " ");
Mengacak angka dengan range 0 s/d 9 dan meng-outputkan sebanyak 5 kali
Line 11-12 : for (int i=0; i<5; i++)
System.out.print((int)(Math.random()*10)-9 + " ");
Mengacak angka dengan range -9 s/d 0 dan meng-outputkan sebanyak 5 kali
Line 16-17 : for (int i=0; i<5; i++)
System.out.print(acak.nextInt(101) + " ");
Mengacak angka dengan range 0 s/d 100 dan meng-outputkan sebanyak 5 kali
Method acak.nextInt(101) akan mengembalikan angka acak pada
procedure random number generator. Jika anda melewatkan sebuah nilai ke
method ini, maka method akan mengembalikan angka acak sesuai dengan range
yang ditetapkan. Sehingga akan membangkitkan angka acak berurutan menurut
batas yang ditulis. (Bracha, 2004)
3. Jefri Fahrian | Page 3 of 3
Daftar Pustaka
Bloch, J. (2001). Effective Java: Programming Language Guide. Massachusetts:
Addison Wesley.
Bracha, G. (2004). Generics in the Java Programming Language.
Hariyanto, B. (2003). Esensi - Esensi bahasa pemrograman Java. Bandung:
Penerbit Informatika.
Harold, E. R. (1999). Java I/O. O'Reilly.
McLaughlin, B. (2002). Building Java™ Enterprise Applications Volume I:
Architecture. O'Reilly.