JSFiddle - React, Tailwind, and code Playground

HTML

<table style="width:100%">
                  <thead>
                    <tr>
                      <th>Pendapatan Keluarga (A) Bersumber dari</th>
                      <th>Jumlah (Rp/Bulan)</th>
                    </tr>
                  </thead>
                  <tbody>
                      <tr>
                        <td>Usaha Pokok Suami</td>
                        <td>
                          <input type="text" name="pendapatan_suami" id="nominal1" class="pendapatan" style="width: 200px; text-align:right;"onkeyup="angka(this)" >
                        </td>
                      </tr>
                      <tr>
                        <td>Usaha Pokok Istri</td>
                        <td>
                          <input type="text" name="pendapatan_istri" id="nominal2" class="pendapatan" style="width: 200px; text-align:right;" onkeyup="angka(this)" >
                        </td>
                      </tr>
                      <tr>
                        <td>Usaha Lainnya</td>
                        <td>
                          <input type="text" name="pendapatan_usaha" id="nominal3" class="pendapatan" style="width: 200px;  text-align:right;" onkeyup="angka(this)">
                        </td>
                      </tr>
                      <tr>
                        <td>Dari orangtua</td>
                        <td>
                          <input type="text" name="pendapatan_ortu" id="nominal3" class="pendapatan" style="width: 200px; text-align:right;" onkeyup="angka(this)">
                        </td>
                      </tr>
                      <tr>
                        <td>Dari anak/menantu</td>
                        <td>
                          <input type="text" name="pendapatan_anak" id="nominal4" class="pendapatan" style="width: 200px; text-align:right;" onkeyup="angka(this)">
                        </td>
                      </tr>
                      <tr>
                        <td>Penghasilan Lainnya...

JavaScript

function NilaiRupiah(jumlah){  
    var titik = ".";
    var nilai = new String(jumlah);  
    var pecah = [];  
    while(nilai.length > 3)  
    {  
        var asd = nilai.substr(nilai.length-3);  
        pecah.unshift(asd);  
        nilai = nilai.substr(0, nilai.length-3);  
    }  

    if(nilai.length > 0) { pecah.unshift(nilai); }  
    nilai = pecah.join(titik);
    return nilai;  
  }

  function angka(e) {
    if (!/^[0-9]+$/.test(e.value)) {
      e.value = e.value.substring(0,e.value.length-1);
    }
  }

   $(document).ready(function () {
      //Iterate through each Textbox and add keyup event handler
      $(".pendapatan").each(function () {
          $(this).keyup(function () {
              //Initialize total to 0
              var total = 0;
              $(".pendapatan").each(function () {
                  // Sum only if the text entered is number and greater than 0
                  var v = $(this).val().replace(/[^0-9]/, '');
                  if (!isNaN(v) && v.length != 0) {
                      total += parseFloat(v);
                      $(this).css("background-color", "#FEFFB0");
                  }
                  else if (this.value.length != 0){
                      $(this).css("background-color", "red");
                  }
              });
              //Assign the total to label
              //.toFixed() method will roundoff the final sum to 2 decimal places
              jml = "Rp. " + NilaiRupiah(total) + ",00";
              $("#total").val(jml);
          });
      });
      
      $('.pendapatan').focus(function(){
      	var v = $(this).val().replace(/[^0-9]/, '');
        $(this).val(v);
      }).blur(function(){
      	var v = NilaiRupiah($(this).val());
        $(this).val(v);
      })
      
  });