Menghasilkan nilai numerik acak random kelas Math program Java
Menghasilkan Nilai Numerik Acak (Random) Kelas Math Java

Salah satu kelas di Java yang juga sangat penting dan berperan dalam operasi matematika adalah kelas Math yang terletak di paket java.lang. Kelas Math memiliki banyak metoda untuk melakukan fungsi matematika dasar.

Metoda kelas Math dapat dikelompokkan ke dalam trigonometri (toRadian, toDegrees, sin, cos, tan, asin, acos), pembulatan (ceil, floor, rint, round), eksponen (pow, sqrt), nilai mutlak (abs), nilai maksimum (max), nilai minimum (min) dan metoda random yang bisa menghasilkan nilai double acak (random) lebih besar atau sama dengan 0.0 dan lebih kecil dari 1.0 (0 <= Math.random < 1.0).

Nilai numerik acak yang dihasilkan metoda random ini penting dan berguna dalam pemrograman. Dengan metode random dari kelas Math ini, Anda dapat menghasilkan nilai numerik atau nilai karakter acak dalam rentang (range) tertentu. Anda dapat menentukan rentang nilai numerik acak tertentu yang dihasilkan oleh metoda random dengan formula sebagai berikut:

x + Math.random() * y

Formula di atas menghasilkan nilai numerik acak dengan rentang nilai antara x dan x + y dengan tidak mengikutsertakan x + y.

Hasil metode random dari kelas Math adalah nilai numerik double dengan rentang nilai 0.0 sampai dengan 1.0. Dengan mengunakan konversi tipe data (type casting), Anda juga dapat menghasilkan nilai integer acak dengan rentang nilai tertentu. Berikut ini adalah dua pernyataan untuk menghasilkan nilai numerik integer acak dengan rentang nilai yang ditentukan:

(int) (Math.random() * 15);
20 + (int) (Math.random() * 25);

Formula pertama menghasilkan nilai integer acak dengan rentang nilai 0 – 14 dan formula kedua menghasilkan nilai integer acak dengan rentang nilai 20 – 44. (int) yang ada di kedua formula tersebut digunakan untuk mengkonversi (casting) nilai double acak yang dihasilkan oleh metoda random ke nilai int.

Berikut ini adalah contoh program Java sederhana menggunakan metoda random kelas Math untuk menghasilkan 40 nilai integer acak dengan rentang nilai 20 - 44. Program menggunakan perulangan for untuk melakukan interasi sebanyak 40 kali dan menampilkan hasilnya di kotak dialok pesan.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Nama file : NilaiNumerikAcak.java
// Menampilkan sejumlah 40 nilai numerik acak
 
// Mengimpor Java predifined class
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
 
// Deklarasi kelas
public class NilaiNumerikAcak {
 
   // Metoda main
   public static void main(String[] args) {
 
      JTextArea areaTampilan;
      int nilaiAcak;
 
      String deretNilai = "40 Nilai Integer Acak\nDengan Rentang Nilai 20 - 44\n\n";
 
      // Membuat obyek dari kelas JTextArea
      areaTampilan = new JTextArea();
 
      for (int a = 1; a <= 40; a++) {
 
         nilaiAcak = 20 + (int) (Math.random() * 25);
         deretNilai += nilaiAcak + " ";
 
         if ((a % 10 == 0) && (a % 2 == 0))
            deretNilai += "\n";
 
      }
 
      areaTampilan.setText(deretNilai);
 
      JOptionPane.showMessageDialog(null, areaTampilan, "Nilai Integer Acak",
         JOptionPane.INFORMATION_MESSAGE);
 
      // Mengakhiri aplikasi GUI
      System.exit(0);
 
   }
}

Menghasilkan nilai numerik acak dari kelas Math di Java

Dari kode program di atas, baris nomor 22 adalah perulangan for yang mendeklarasikan variabel kontrol a dengan nilai awal 1. Perulangan for ini melakukan iterasi sebanyak 40 kali (a <= 40) dan di setiap iterasinya, blok pernyataan di baris nomor 24-28 dieksekusi.

Pernyataan pemberian pada baris nomor 24, 20 + (int) (Math.random() * 25), menghasilkan nilai integer dengan rentang nilai 20 - 44. Di setiap iterasi perulangan for, satu nilai numerik integer mana saja yang muncul disimpan di variabel nilaiAcak dengan tipe data integer.

Nilai yang tersimpan di variabel nilaiAcak untuk selanjutnya dirangkai dengan literal string berupa satu spasi dan kemudian ditambahkan ke nilai dari variabel deretNilai (baris nomor 25). Selama proses iterasi, nilai variabel deretNilai terus dirangkai dengan nilai variabel nilaiAcak yang sudah dirangkai dengan sebuah spasi.

Baris nomor 27 adalah penyeleksian if sederhana. Di penyeleksian if tersebut, bila nilai variabel kontrol a habis dibagi 10 dan 2, jika ((a % 10 == 0) && (a % 2 == 0) bernilai benar, maka nilai string berupa karakter baris baru akan dirangkai ke nilai yang sudah tersimpan di variabel deretNilai. Dengan demikian, deret nilai yang terbentuk dibatasi hanya 10 nilai integer dan kemudian deret baru disusun di baris berikutnya.

Produk Populer

Murah Taffware OKD180 power supply station 220V 69800mAh
Taffware OKD180 Outdoor Power Station

Banyak jenis output, garansi resmi 1 tahun, kapasitas besar 69800 mAh, 180 watt, dan mudah dibawa.

Rp 1.045.500
(4.8/5)
Murah Fosi Audio DA2120C Power Amplifier
Fosi Audio DA-2120C Power Amplifier

2.1 channel, input bluetooth, USB, optical, coaxial, dan RCA, output ke speaker dan subwoofer pasif.

Rp 2.138.900
(5/5)
Murah Fosi Audio BT30D Pro Power Amplifier
Fosi Audio BT30D Pro Power Amplifier

2.1 channel, input bluetooth dan RCA, output speaker pasif dan aktif, serta subwoofer pasif dan aktif.

Rp 1.246.700
(5/5)
Murah Meiyulin OKD320A Power Station
Meiyulin OKD320A Outdoor Power Station

Banyak jenis output, proteksi keamanan, kapasitas besar 84000 mAh, 300 watt, dan mudah dibawa.

Rp 1.547.500
(5/5)