Advertisement
cdsatrian

Tarif Listrik

Aug 23rd, 2013
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.70 KB | None | 0 0
  1. <?php
  2. /***************************
  3. FILENAME     : pln.php
  4. PURPOSE      : calculate electric cost usage
  5. CREATED DATE : 2013-08-23
  6. UPDATED DATE :
  7. CREATED BY   : CAHYA DSN
  8. ***************************/
  9. $data=array();
  10. $jenis_pilih=$type_daya=$pemakaian=0;
  11. if(isset($_POST['submit']))
  12. {
  13.   $data=$_POST;
  14.   $jenis_pilih=$data['jenis'];
  15.   $type_daya=$data['daya'];
  16.   $pemakaian=$data['pemakaian'];
  17. }
  18. $jenis=array('Pra Bayar','Pasca Bayar');
  19. $tarif=array(
  20.          array('gol_tarif'=>'R-1/TR',
  21.                'batas_daya'=>'sd 450 VA',
  22.                'biaya_beban'=>11000,
  23.                'biaya_pemakaian'=>array('blok1'=>array('min'=>0,'max'=>30,'biaya'=>169),
  24.                                         'blok2'=>array('min'=>30,'max'=>60,'biaya'=>460),
  25.                                         'blok3'=>array('min'=>60,'max'=>-1,'biaya'=>495)
  26.                                         ),
  27.                'pra_bayar'=>415,
  28.                'rm'=>0),
  29.          array('gol_tarif'=>'R-1/TR',
  30.                'batas_daya'=>'900 VA',
  31.                'biaya_beban'=>20000,
  32.                'biaya_pemakaian'=>array('blok1'=>array('min'=>0,'max'=>20,'biaya'=>275),
  33.                                         'blok2'=>array('min'=>20,'max'=>60,'biaya'=>445),
  34.                                         'blok3'=>array('min'=>60,'max'=>-1,'biaya'=>495)
  35.                                         ),
  36.                'pra_bayar'=>605,
  37.                'rm'=>0),
  38.          array('gol_tarif'=>'R-1/TR',
  39.                'batas_daya'=>'1300 VA',
  40.                'biaya_beban'=>0,
  41.                'biaya_pemakaian'=>array('blok1'=>array('min'=>0,'max'=>-1,'biaya'=>928)),
  42.                'pra_bayar'=>928,
  43.                'rm'=>37120),
  44.          array('gol_tarif'=>'R-1/TR',
  45.                'batas_daya'=>'2200 VA',
  46.                'biaya_beban'=>0,
  47.                'biaya_pemakaian'=>array('blok1'=>array('min'=>0,'max'=>-1,'biaya'=>947)),
  48.                'pra_bayar'=>947,
  49.                'rm'=>37880),
  50.          array('gol_tarif'=>'R-2/TR',
  51.                'batas_daya'=>'3500 sd 5500 VA',
  52.                'biaya_beban'=>0,
  53.                'biaya_pemakaian'=>array('blok1'=>array('min'=>0,'max'=>-1,'biaya'=>1075)),
  54.                'pra_bayar'=>1075,
  55.                'rm'=>43000),
  56.          array('gol_tarif'=>'R-3/TR',
  57.                'batas_daya'=>'6600 VA ke atas',
  58.                'biaya_beban'=>20000,
  59.                'biaya_pemakaian'=>array('blok1'=>array('min'=>0,'max'=>55,'biaya'=>1290),
  60.                                         'blok2'=>array('min'=>55,'max'=>-1,'biaya'=>1380)
  61.                                        ),
  62.                'pra_bayar'=>1347,
  63.                'rm'=>51600)
  64. );
  65. ?>
  66. <!DOCTYPE html>
  67. <html>
  68.   <head>
  69.     <title>Tarif  Listrik</title>
  70.     <style>
  71.       * {font-family:verdana,arial,sans-serif;font-size:12px;}
  72.       input,select {background-color:#ffc;border:solid 1px #999;}
  73.       .kwh {width:50px;text-align:right;}
  74.       .navigasi {background-color:#ccf;text-align:right;}
  75.       .tombol{height: 25px;width:60px;-moz-border-radius: 4px;border-radius: 4px;}
  76.       table {boder:solid 1px #999;padding:2px;}
  77.       th {background-color:#ccc;padding:2px;}
  78.     </style>
  79.   </head>
  80.   <body>
  81.     <form method='post'>
  82.       <table>
  83.         <tr>
  84.           <th colspan='2'>HITUNG PEMAKAIAN LISTRIK</th>
  85.         </tr>
  86.         <tr>
  87.           <td>
  88.             Daya
  89.           </td>
  90.           <td>
  91.             <select name='daya' id='daya'>
  92.               <?php
  93.               $i=-1;
  94.               foreach($tarif as $dt)
  95.               {
  96.                 echo "<option value='".++$i."'".($i==$type_daya?" selected='selected'":"").">"
  97.                      .$dt['batas_daya']
  98.                      ."</option>\n";
  99.               }
  100.               ?>
  101.             </select>
  102.           </td>
  103.         </tr>
  104.         <tr>
  105.           <td>  
  106.             Jenis
  107.           </td>
  108.           <td>
  109.             <select name='jenis' id='jenis'>
  110.               <?php
  111.               $i=-1;
  112.               foreach($jenis as $dt)
  113.               {
  114.                 echo "<option value='".++$i."'".($i==$jenis_pilih?" selected='selected'":"").">{$dt}</option>\n";
  115.               }
  116.               ?>
  117.             </select>
  118.           </td>
  119.         </tr>
  120.         <tr>
  121.           <td>
  122.             Pemakaian
  123.           </td>
  124.           <td>
  125.             <input type='text' name='pemakaian' id='pemakaian'
  126.                    value='<?php echo empty($pemakaian)?'':$pemakaian;?>' class='kwh' /> kWh
  127.           </td>
  128.         </tr>
  129.         <tr class='navigasi'>
  130.           <td colspan='2'>
  131.             <input type='submit' name='submit' value='hitung' class='tombol'/>
  132.           </td>
  133.         </tr>
  134.       </table>
  135.     </form>
  136.     <?php
  137.     $jumlah=0;
  138.     $biaya=array();
  139.     $harga=0;
  140.     if($jenis_pilih==0){
  141.       $jumlah=$pemakaian*$tarif[$data['daya']]['pra_bayar'];
  142.     }
  143.     else
  144.     {
  145.       $biaya=$tarif[$data['daya']]['biaya_pemakaian'];
  146.       foreach($biaya as $byr)
  147.       {
  148.         if($byr['max']==-1){
  149.           if($pemakaian>$byr['min'])
  150.             $harga=$byr['biaya'];
  151.         }
  152.         else
  153.         {
  154.           if($pemakaian>$byr['min'] && $pemakaian<=$byr['max'])
  155.             $harga=$byr['biaya'];
  156.         }      
  157.       }
  158.       $jumlah=$pemakaian*$harga+$tarif[$data['daya']]['biaya_beban'];
  159.       $jumlah=$jumlah<$tarif[$data['daya']]['rm']?$tarif[$data['daya']]['rm']:$jumlah;
  160.     }
  161.     $hasil=array('gol_tarif'=>$tarif[$data['daya']]['gol_tarif'],
  162.                  'type daya'=>$tarif[$data['daya']]['batas_daya'],
  163.                  'jenis'=>$jenis[$jenis_pilih],
  164.                  'pemakaian'=>$pemakaian.' kWh',
  165.                  'jumlah'=>'Rp.'.number_format($jumlah));
  166.     ?>
  167.     <pre>
  168.       <?php
  169.       print_r($hasil);
  170.       ?>
  171.     </pre>
  172.   </body>
  173. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement