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.

Baca artikel Menghasilkan Nilai Karakter Acak Dari Kelas Math Di Java

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). Di setiap iterasinya, blok pernyataan di baris nomor 24-28 dieksekusi.

Pernyataan pemberian 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.

SILAHKAN BAGIKAN ARTIKEL INI!
Pin It

Produk Laris Toko Gerzal

Edifier R1700BT Active 2.0 Bluetooth Bookshelf Speaker Set

Edifier R1700BT Active 2.0 Bluetooth Bookshelf Speaker Set

Beli di Shopee
Sunbuck AV-555BT Audio Amplifier Bluetooth 5.0 Microphone HiFi

Sunbuck AV-555BT Audio Amplifier Bluetooth 5.0 Microphone HiFi

Beli di Shopee
QUEED Power Supply Station Generator 220V 69800mAh

QUEED Power Supply Station Generator 220V 69800mAh

Beli di Shopee
Fosi Audio V3 Power Amplifier 2 Channel Audio Stereo Hi-Fi TI TPA3255

Fosi Audio V3 Power Amplifier 2 Channel Audio Stereo Hi-Fi

Beli di Shopee
Fosi Audio MC101 Mini Bluetooth Stereo Amplifier With VU Meter

Fosi Audio MC101 Mini Bluetooth Stereo Amplifier With VU Meter

Beli di Shopee