SlideShare una empresa de Scribd logo
1 de 3
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) + " "); }
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)
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.

Más contenido relacionado

Destacado

Communication skills (1)
Communication skills (1)Communication skills (1)
Communication skills (1)ehab elbaz
 
Brookings ua version ef
Brookings ua version efBrookings ua version ef
Brookings ua version efconsultclay
 
Childrens hospital-seattle
Childrens hospital-seattleChildrens hospital-seattle
Childrens hospital-seattleKemi Olojede
 
Consultant session faf 8-28
Consultant session faf 8-28Consultant session faf 8-28
Consultant session faf 8-28Ashley Donald
 
Beleza.com presentation team f
Beleza.com presentation team fBeleza.com presentation team f
Beleza.com presentation team fUrusha Hada
 
New test
New testNew test
New testIQM123
 
ульяновск саммит
ульяновск саммитульяновск саммит
ульяновск саммитfpolicy_ru
 
October 2014 UK Commercial Bulletin
October 2014 UK Commercial BulletinOctober 2014 UK Commercial Bulletin
October 2014 UK Commercial BulletinHML Ltd
 
Livro Digital - História de 50 metros e outras histórias crônicas
Livro Digital - História de 50 metros e outras histórias crônicasLivro Digital - História de 50 metros e outras histórias crônicas
Livro Digital - História de 50 metros e outras histórias crônicasLuiz Henrique F Cunha
 
La DoloMeetCard con l'hotel Gianna
La DoloMeetCard con l'hotel GiannaLa DoloMeetCard con l'hotel Gianna
La DoloMeetCard con l'hotel GiannaHotel Gianna
 
Mi carro nuevo - Survey 2012
Mi carro nuevo - Survey 2012Mi carro nuevo - Survey 2012
Mi carro nuevo - Survey 2012RedMasAdv
 
L’estructura d’un ordinador 2 (1)
L’estructura d’un ordinador 2 (1)L’estructura d’un ordinador 2 (1)
L’estructura d’un ordinador 2 (1)AlbetaElisabeta
 
Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012
Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012
Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012Ashley Donald
 
EN2012: Dislocation and Exile in James Joyce's Ulysses
EN2012: Dislocation and Exile in James Joyce's UlyssesEN2012: Dislocation and Exile in James Joyce's Ulysses
EN2012: Dislocation and Exile in James Joyce's UlyssesClaire Lynch
 
RJ-283610.ppt
RJ-283610.pptRJ-283610.ppt
RJ-283610.pptIQM123
 

Destacado (19)

Communication skills (1)
Communication skills (1)Communication skills (1)
Communication skills (1)
 
Brookings ua version ef
Brookings ua version efBrookings ua version ef
Brookings ua version ef
 
Childrens hospital-seattle
Childrens hospital-seattleChildrens hospital-seattle
Childrens hospital-seattle
 
Consultant session faf 8-28
Consultant session faf 8-28Consultant session faf 8-28
Consultant session faf 8-28
 
Tipos de clavados
Tipos de clavadosTipos de clavados
Tipos de clavados
 
Beleza.com presentation team f
Beleza.com presentation team fBeleza.com presentation team f
Beleza.com presentation team f
 
New test
New testNew test
New test
 
ульяновск саммит
ульяновск саммитульяновск саммит
ульяновск саммит
 
October 2014 UK Commercial Bulletin
October 2014 UK Commercial BulletinOctober 2014 UK Commercial Bulletin
October 2014 UK Commercial Bulletin
 
Livro Digital - História de 50 metros e outras histórias crônicas
Livro Digital - História de 50 metros e outras histórias crônicasLivro Digital - História de 50 metros e outras histórias crônicas
Livro Digital - História de 50 metros e outras histórias crônicas
 
Tipos de clavados
Tipos de clavadosTipos de clavados
Tipos de clavados
 
La DoloMeetCard con l'hotel Gianna
La DoloMeetCard con l'hotel GiannaLa DoloMeetCard con l'hotel Gianna
La DoloMeetCard con l'hotel Gianna
 
Mi carro nuevo - Survey 2012
Mi carro nuevo - Survey 2012Mi carro nuevo - Survey 2012
Mi carro nuevo - Survey 2012
 
Hjc higher ed
Hjc higher edHjc higher ed
Hjc higher ed
 
L’estructura d’un ordinador 2 (1)
L’estructura d’un ordinador 2 (1)L’estructura d’un ordinador 2 (1)
L’estructura d’un ordinador 2 (1)
 
Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012
Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012
Hjc bb seminar - blackbaud presentation vancouver draft one sept 6 2012
 
RR
RRRR
RR
 
EN2012: Dislocation and Exile in James Joyce's Ulysses
EN2012: Dislocation and Exile in James Joyce's UlyssesEN2012: Dislocation and Exile in James Joyce's Ulysses
EN2012: Dislocation and Exile in James Joyce's Ulysses
 
RJ-283610.ppt
RJ-283610.pptRJ-283610.ppt
RJ-283610.ppt
 

Más de Jefri Fahrian

06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classes06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classesJefri Fahrian
 
06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphics06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphicsJefri Fahrian
 
05.70 JAVA SE_java list
05.70  JAVA SE_java list05.70  JAVA SE_java list
05.70 JAVA SE_java listJefri Fahrian
 
05.63 JAVA SE_java button final
05.63 JAVA SE_java button final05.63 JAVA SE_java button final
05.63 JAVA SE_java button finalJefri Fahrian
 
04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguementsJefri Fahrian
 
04.47 JAVA SE_more on static
04.47 JAVA SE_more on static04.47 JAVA SE_more on static
04.47 JAVA SE_more on staticJefri Fahrian
 
03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set method03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set methodJefri Fahrian
 
03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional arays03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional araysJefri Fahrian
 
01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statement01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statementJefri Fahrian
 
02.19 Java SE_else if statement
02.19 Java SE_else if statement02.19 Java SE_else if statement
02.19 Java SE_else if statementJefri Fahrian
 
01.06 Java SE_getting user input
01.06 Java SE_getting user input01.06 Java SE_getting user input
01.06 Java SE_getting user inputJefri Fahrian
 
Praktikum8 komdat_using FTP
Praktikum8 komdat_using FTPPraktikum8 komdat_using FTP
Praktikum8 komdat_using FTPJefri Fahrian
 
Praktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointPraktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointJefri Fahrian
 
Praktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual BoxPraktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual BoxJefri Fahrian
 
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUESTPraktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUESTJefri Fahrian
 
Praktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual boxPraktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual boxJefri Fahrian
 
Praktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windowsPraktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windowsJefri Fahrian
 
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)Jefri Fahrian
 
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIKPrakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIKJefri Fahrian
 
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIKPrakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIKJefri Fahrian
 

Más de Jefri Fahrian (20)

06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classes06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classes
 
06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphics06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphics
 
05.70 JAVA SE_java list
05.70  JAVA SE_java list05.70  JAVA SE_java list
05.70 JAVA SE_java list
 
05.63 JAVA SE_java button final
05.63 JAVA SE_java button final05.63 JAVA SE_java button final
05.63 JAVA SE_java button final
 
04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements
 
04.47 JAVA SE_more on static
04.47 JAVA SE_more on static04.47 JAVA SE_more on static
04.47 JAVA SE_more on static
 
03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set method03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set method
 
03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional arays03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional arays
 
01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statement01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statement
 
02.19 Java SE_else if statement
02.19 Java SE_else if statement02.19 Java SE_else if statement
02.19 Java SE_else if statement
 
01.06 Java SE_getting user input
01.06 Java SE_getting user input01.06 Java SE_getting user input
01.06 Java SE_getting user input
 
Praktikum8 komdat_using FTP
Praktikum8 komdat_using FTPPraktikum8 komdat_using FTP
Praktikum8 komdat_using FTP
 
Praktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointPraktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access point
 
Praktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual BoxPraktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual Box
 
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUESTPraktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
 
Praktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual boxPraktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual box
 
Praktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windowsPraktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windows
 
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
 
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIKPrakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
 
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIKPrakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
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.