RANDOM JAVASCRIPT

RANDOM

 

Mari bermain dengan random.

Kali ini saya akan membahas tentang random Javascript. Ya, dijavascript kita bisa membuat angka random dengan menggunakan Math.random(). Namun ini akan selalu menghasilkan angka dibawah 1 secara random.

SCRIPT 1 => Math.random() //Karena random maka anggap menghasilkan 0.6178414538672845

Bagaimana menghasilkan angka yang diatas 1? Caranya adalah dengan mengalikannya. Misal dikalikan 10, 100, 15, 27 dll.

SCRIPT 2 => Math.random() * 10 //Karena random maka anggap menghasilkan 7.131573148027156

Agar random bisa angka bulat maka kita perlu menggunakan Math.floor(x). Dengan Math.floor(x) maka angka yang dihasilkan adalah bilangan bulat.

SCRIPT 3 => Math.floor(Math.random()) //Karena random dibawah 1 dan dibulatkan maka akan menghasilkan 0.

Karena kita sudah mengenal random dan floor maka kita sudah bisa membuat angka random dan bulat.

// Menghasilkan random integer dari 0 to 9:
Math.floor(Math.random() * 10);

// Menghasilkan random integer dari 0 to 10:
Math.floor(Math.random() * 11);

// Menghasilkan random integer dari 0 to 99:
Math.floor(Math.random() * 100);

// Menghasilkan random integer dari to 100:
Math.floor(Math.random() * 101);

// Menghasilkan random integer dari 1 to 10:
Math.floor(Math.random() * 10) + 1;

// Menghasilkan random integer dari 1 to 100:
Math.floor(Math.random() * 100) + 1;

Sekarang kita bisa memanfaatkan script diatas untuk menggenerate string secara random. Misal kita akan membuat token, uniq key atau lainnya dengan random huruf dan angka. Maka kita bisa memanfaatkan script diatas. Mari kita coba

Kita buat variabel dengan nama charList berisi huruf kapital, huruf kecil dan angka 0 - 9
const charList = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789”
console.log( charList.charAt( Math.floor( Math.random() * charList.length ) ) )
Keterangan :

  • charList.CharAt()
    Kita ambil dari charList huruf ke …
  • Math.floor(Math.random() * charList.length) kita bulatkan hasil dari random kali jumlah karakter pada charList
  • Maka hasilnya adalah 1 karakter charList
Hasil dari script diatas

Lalu dengan script diatas akan kita kembangkan lagi agar bisa menghasilkan lebih dari 1 karakter. Kita cukup menggunakan salah satu logika perulangan. Saya akan menggunakan perulangan for sebanyak 10x.

let result = ‘’;
for (let i = 0; i < 10; i++) {
     result += charList.charAt( Math.floor( Math.random() * charList.length ) )
}
console.log(result)

Hasil dari script random yg kita buat dan diulang sebanyak 10 x

Nah, jika sudah sukses maka jika diperlukan lagi kita buat saja sebuah fungsi dengan script diatas. Jadi setiap kali memerlukan tinggal kita panggil fungsinya.

function makeRandom(length) {
     const charList = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
     if ( !length ) {
          length = 10;
     }
     let result = ‘’; 
     for (let i = 0; i < length; i++) {
          result += charList.charAt( Math.floor( Math.random() * charList.length ) );
     }
     return result;
}

Hasil function sukses

Jadi jika diperlukan tinggal panggil saja fungsi makeRandom(). Nilai length bisa kita isi atau tidak. Jika tidak diisi maka sudah kita default sebanyak 10 karakter. Jika diisi maka akan menghasilkan jumlah karakter sebanyak kita mau.

Sekian terima Kasih.

 

Jakarta, 14 Juni 2021.

Kelapa Gading. 21:08 wib


ARTIKEL TERKAIT
Comments : To post comment, you must login first using google. No worry, it's safe