Konversi Angka Menjadi Format Rupiah

Pada tulisan ini, saya akan memberikan kode program untuk mengkonversi angka menjadi format rupiah. Prosesnya adalah mengubah deret angka menjadi pola mata uang dimana setiap tiga deret angka akan ditambahi sebuah titik.

Jika berbasis web maka kita akan dihadapkan pada pilihan tertentu dalam mengaplikasikannya, apakah di sisi server seperti PHP atau di sisi client seperti JavaScript. Kalau melihat esensi dari penampilan format rupiah yang lebih ke arah aspek tampilan dan penuh dengan pemrosesan teks, tentunya akan lebih baik jika konversi dilakukan di sisi client, dengan skenario ini maka server hanya perlu berhubungan dengan angka, lumayan untuk mengurangi resources karena cukup untuk dihandle di sisi client oleh browser. Tapi tak apa-apa juga jika melakukannya di sisi server demi sebuah kemananan resources.

Namun di artikel ini saya akan memberikan 2 versi untuk mengkonversi angka menjadi format rupiah, yaitu dengan Javascript dan PHP.

Javascript
<script language="javascript">
function rupiah(nStr) {
   nStr += '';
   x = nStr.split('.');
   x1 = x[0];
   x2 = x.length > 1 ? '.' + x[1] : '';
   var rgx = /(\d+)(\d{3})/;
   while (rgx.test(x1))
   {
      x1 = x1.replace(rgx, '$1' + '.' + '$2');
   }
   return "Rp. " + x1 + x2;
}

// Output dari function addDot //
 document.write(rupiah('1000')+'<br>');
 document.write(rupiah('10000')+'<br>');
 document.write(rupiah('100000')+'<br>');
 document.write(rupiah('1000000')+'<br>');
 document.write(rupiah('10000000'));
</script>

PHP
<?php
function rupiah($data) {
  $rupiah = "";
  $jml    = strlen($data);

  while($jml > 3)
  {
     $rupiah = ".".substr($data,-3).$rupiah;
     $l      = strlen($data)-3;
     $data   = substr($data,0,$l);
     $jml    = strlen($data);
  }
  $rupiah = "Rp. ".$data.$rupiah;
  return $rupiah;
}

/* kita lakukan pemanggilan fungsi dengan memasukkan data integer */
  echo rupiah (1000)."<br>";
  echo rupiah (10000)."<br>";
  echo rupiah (100000)."<br>";
  echo rupiah (1000000)."<br>";
  echo rupiah (10000000);
?>
 

Contact Form

Name

Email *

Message *

Recent Comment

Baca artikel lainnya :

Memuat...