Advertisement
GWibisono

Terbilang part 2

May 18th, 2013
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.82 KB | None | 0 0
  1. <?php
  2.  
  3. function terbilang($angka1)
  4. {
  5.     $temp="";
  6.     //echo "terbilang". $angka."=".strlen($angka);
  7.     $name = array("satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan");
  8.     for($i=0;$i<strlen($angka1);$i++) {
  9.         $angka[$i]=substr($angka1, $i,1);
  10.         //print substr($angka1, $i,1);
  11.        
  12.     }
  13.    
  14.     for($i=0;$i<strlen($angka1);$i++) {
  15.         //echo $angka[$i];
  16.         if((ord($angka[$i])>=48)and(ord($angka[$i])<=57)) {
  17.             $temp.=$angka[$i];
  18.             //echo $angka[$i];
  19.         }
  20.         //echo $angka[$i];
  21.     }
  22.    
  23.     $text="";
  24.     $angka=$temp;
  25.     //echo "terbilang". $angka;
  26.    
  27.     if(strlen($angka)==0) {
  28.         return false;
  29.        
  30.     }
  31.    
  32.     for($i=strlen($angka)-1;$i>=0;$i--) {
  33.         $j=strlen($angka)-$i;
  34.         $block[ceil($j/3)-1]=$angka[$i].$block[ceil($j/3)-1];
  35.     }
  36.    
  37.     $block=array_reverse($block);
  38.     for($i=0;$i<count($block);$i++) {
  39.         $b = $block[$i];
  40.         for($j=0;$j<strlen($b);$j++) {
  41.             $pos = strlen($b)-$j;
  42.             if(strlen($angka)==4) {
  43.                 if($i==0) {
  44.                     if($name[$b[$j]-1]=="satu") {
  45.                         $text="se";
  46.                     }
  47.                    
  48.                 }
  49.                
  50.             } else if(($name[$b[$j]-1]=="satu")and($pos<>1)) {
  51.                 $text.="se";
  52.                
  53.             } else {
  54.                 if(($pos==1)and($b[$j]<>"0")and(substr($text,-8)=="sepuluh ")) {
  55.                     $text=substr($text,0,strlen($text)-8);
  56.                     if($name[$b[$j]-1]=="satu") {
  57.                         $text.="se";
  58.                        
  59.                     } else {
  60.                         $text.=$name[$b[$j]-1]." ";
  61.                        
  62.                     }
  63.                     $text.="belas ";
  64.                    
  65.                 } else {
  66.                     $text.=$name[$b[$j]-1]." ";
  67.                    
  68.                 }
  69.                
  70.             }
  71.             if($b[$j]<>0) {
  72.                 if($pos==3) {
  73.                     $text.="ratus ";
  74.                    
  75.                 } else if($pos==2) {
  76.                     $text.="puluh ";
  77.                    
  78.                 }
  79.                
  80.             }
  81.            
  82.         }
  83.        
  84.         switch(count($block)-$i) {
  85.             case 2 : $text.="ribu ";break 1;
  86.             case 3 : $text.="juta ";break 1;
  87.             case 4 : $text.="milyar ";break 1;
  88.             case 5 : $text.="trilyun ";break 1;
  89.            
  90.         }
  91.        
  92.     }
  93.    
  94.     return $text;
  95.     //print $text;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement