Artikel Teknologi

Cara Keren Membuat Format Rupiah di PHP untuk Aplikasi Webmu!

Halo, Sobat Developer! Pernah kebayang nggak sih, gimana rasanya kalo aplikasi web yang kamu buat kaya toko online, sistem akuntansi, atau yang lainnya bisa nampilin harga dengan format rupiah? Kebayang, dong, ya. Pastinya lebih kece, kan? Nah, di artikel ini, kita bakal ngobrolin gimana cara keren dan mudah buat bikin format rupiah di PHP. Gak percaya? Ayo, cus ikutan!

Pendahuluan

Sebelum kita mulai ngulik kode-kodean, kita bahas dulu, deh, kenapa sih format rupiah penting buat aplikasi web kita? Jadi gini, sob, format rupiah itu kan nampilin angka dengan simbol Mata Uang Indonesia (Rp) dan pemisah ribuan pake titik (.) biar lebih mudah dipahami. Bayangkan aja, kalo angka harganya jadi satu barisan, susah banget kan nyari angka yang paling belakang? Makanya, format rupiah penting, nih, sob!

Persiapan

Nah, sebelum kita mulai, pastikan aja dulu, ya, bahwa kamu udah punya software yang diperlukan buat ngoding PHP. Kalo kamu pake XAMPP, bisa ngedit pake Sublime Text, Visual Studio Code, atau Notepad++. Ntar juga kita bakal coba makenya di aplikasi toko online sederhana atau sistem akuntansi, biar lebih jelas, dan kita sama-sama belajar.

Membuat Format Rupiah dengan Fungsi number_format()

Cara pertama buat bikin format rupiah di PHP, kita bisa pake fungsi number_format(). Fungsi ini kerjanya ngubah angka jadi string dengan format tertentu. Buat bikin format rupiah, kita tinggal atur aja parameter-parameternya. Yuk, kita coba!

Misal, kita punya angka 30000. Kita mau bikin jadi Rp 30.000, nih. Gini cara pakai number_format()-nya:

$angka = 30000;
$format_rupiah = "Rp " . number_format($angka, 0, ",", ".");
echo $format_rupiah; // Output: Rp 30.000

Penjelasannya: number_format($angka, 0, ",", ".") ngubah angka jadi string dengan format rupiah yang kita mau. 0 di sini artinya tanpa decimal. Kalo kamu mau pake decimal, tinggal ganti aja parameter kedua sesuai keinginanmu (misal: 2 buat 2 angka di belakang koma, dst.). Terus, , itu buat pemisah decimal, dan . buat pemisah ribuan. Hasilnya, string format rupiah yang kita inginkan!

Membuat Format Rupiah dengan Fungsi custom

Kalo kamu pengen lebih bebas dan kreatif, bisa juga nih, bikin format rupiah pake fungsi custom. Dengan fungsi ini, kamu bisa atur sendiri logika dan prosesnya. Gini caranya, sob:

function format_rupiah($angka)
{
    $hasil = "Rp " . strrev(implode('.', str_split(strrev(strval($angka)), 3)));
    return $hasil;
}

$angka = 30000;
echo format_rupiah($angka); // Output: Rp 30.000

Nah, kita bikin fungsi format_rupiah($angka) yang akan ngubah angka jadi format rupiah. Penjelasannya nih, sob: strval($angka) ngubah angka jadi string, dan strrev() nge-reverse string itu biar kita bisa proses per tiga angka. Terus, str_split() buat membagi string per tiga angka, terus kita pake implode('.') buat bikin pemisah ribuan pake titik. Dan jangan lupa, kita tambahin "Rp " di depannya, dong! Jadi deh, format rupiah yang kita mau.

Menerapkan Format Rupiah pada Tabel Data

Udah bisa bikin format rupiah, sekarang kita mau coba, nih, aplikasiin ke tabel HTML. Misalkan kita punya tabel yang nunjukkin data harga barang. Gini caranya biar datanya nampilin format rupiah, sob:

... // Kode HTML sebelumnya

// Contoh data dari database
$data = [
    ['nama' => 'Celana Jeans', 'harga' => 150000],
    ['nama' => 'Sepatu Slop', 'harga' => 50000],
];

echo "<table>";
echo "<tr><th>Nama Barang</th><th>Harga</th></tr>";

foreach ($data as $item) {
    echo "<tr>";
    echo "<td>" . $item['nama'] . "</td>";
    echo "<td>" . format_rupiah($item['harga']) . "</td>";
    echo "</tr>";
}

echo "</table>";

... // Kode HTML setelahnya

Kita ambil dulu, nih, datanya dari _database_, trus kita pakeforeachbuat _looping_ data. Nah, pas di bagian harga, kita tinggal pakeformat_rupiah()` yang udah kita bikin sebelumnya buat ngubah angka jadi format rupiah, kan? Nah, langsung jadi deh tabel kece yang nampilin format rupiah!

Menerapkan Format Rupiah pada Input Form

Eh, bentar, sob. Selain di tabel, penting, nih, buat bisa bikin format rupiah di input form. Gimana caranya, ya? Intinya, kita mau bikin input form yang bisa nampilin format rupiah pas kita masukin angka. Terus pas di-submit, datanya tetep kebaca meskipun udah diubah jadi format rupiah.

Nah, kita pake JavaScript (jQuery lebih tepatnya) buat bantu kita, nih, sob. Kita bikin dua input: satu buat nampilin format rupiah dan satu lagi buat ngirim data asli pas di-submit. Gini, nih, contohnya:

<!DOCTYPE html>
<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
  <form action="proses.php" method="post">
    <input type="text" id="inputRupiah" placeholder="Masukkan harga barang">
    <input type="hidden" id="inputAngka" name="harga">
    <button type="submit">Submit</button>
  </form>

  <script>
    $(document).ready(function() {
      $('#inputRupiah').on('input', function() {
        let angka = this.value.replace(/[^0-9]/g, '');
        let hasil_rupiah = angka.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
        this.value = 'Rp ' + hasil_rupiah;
        $('#inputAngka').val(angka);
      });
    });
  </script>
</body>
</html>

Jadi, kita buat input dengan id inputRupiah dan inputAngka (bentuknya hidden). Terus, kita pake jQuery buat bikin event on('input', ...) di inputRupiah. Pas kita masukin angka, inputRupiah bakal ngubah jadi format rupiah, dan inputAngka bakal nyimpen nilai angka aslinya!

Kesimpulan

Tuh, kan, sob! Buktinya udah bisa, nih, bikin format rupiah di PHP. Dengan riset dan latihan, pasti kita bisa menguasai caranya, dan aplikasi web kita jadi tambah kece! Selain itu, bisa ngeformat rupiah, pastinya bikin aplikasi web kita lebih kekinian dan enak digunakan, kan? So, ayo, sob, terus berkarya dan update ilmu kita! Jangan lupa, bikin dunia lebih kece dengan aplikasi-aplikasi kita yang keren. Semangat!

Comments