AnonSec Team
Server IP : 127.0.0.1  /  Your IP : 127.0.0.1
Web Server : Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.6.3
System : Windows NT WIN-R7LTCC7BPLI 6.3 build 9200 (Windows Server 2012 R2 Datacenter Edition) i586
User : GerbangSIPAD ( 0)
PHP Version : 5.6.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF
Directory (0777) :  C:/xampp5/htdocs/bhumie/protected/components/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : C:/xampp5/htdocs/bhumie/protected/components/BhumieUtils.php
<?php
class BhumieUtils extends CApplicationComponent{

        public $tahunPajakSppt;
        public $tahunPajakStts;
        public $namaKanwil;
        public $namaKantor;
        public $kotaTerbit;
        public $namaKepalaKantor;
        public $barcodeStts;
        public $jnsBarcodeStts;
        public $teksKanwil;
        public $teksKantor;
        public $teksSppt;
        public $teksStts;
        public $kakap;


public function terbilang($angka){
    // pastikan kita hanya berususan dengan tipe data numeric
    $angka = (float)$angka;
     
    // array bilangan
    // sepuluh dan sebelas merupakan special karena awalan 'se'
    $bilangan = array(
            '',
            'satu',
            'dua',
            'tiga',
            'empat',
            'lima',
            'enam',
            'tujuh',
            'delapan',
            'sembilan',
            'sepuluh',
            'sebelas'
    );
     
    // pencocokan dimulai dari satuan angka terkecil
    if ($angka < 12) {
        // mapping angka ke index array $bilangan
        return ucwords(strtolower($bilangan[$angka]));
    } else if ($angka < 20) {
        // bilangan 'belasan'
        // misal 18 maka 18 - 10 = 8
        return ucwords(strtolower($bilangan[$angka - 10] . ' belas'));
    } else if ($angka < 100) {
        // bilangan 'puluhan'
        // misal 27 maka 27 / 10 = 2.7 (integer => 2) 'dua'
        // untuk mendapatkan sisa bagi gunakan modulus
        // 27 mod 10 = 7 'tujuh'
        $hasil_bagi = (int)($angka / 10);
        $hasil_mod = $angka % 10;
        return ucwords(strtolower(trim(sprintf('%s puluh %s', $bilangan[$hasil_bagi], $bilangan[$hasil_mod]))));
    } else if ($angka < 200) {
        // bilangan 'seratusan' (itulah indonesia knp tidak satu ratus saja? :))
        // misal 151 maka 151 = 100 = 51 (hasil berupa 'puluhan')
        // daripada menulis ulang rutin kode puluhan maka gunakan
        // saja fungsi rekursif dengan memanggil fungsi terbilang(51)
        return ucwords(strtolower(sprintf('seratus %s', $this->terbilang($angka - 100))));
    } else if ($angka < 1000) {
        // bilangan 'ratusan'
        // misal 467 maka 467 / 100 = 4,67 (integer => 4) 'empat'
        // sisanya 467 mod 100 = 67 (berupa puluhan jadi gunakan rekursif terbilang(67))
        $hasil_bagi = (int)($angka / 100);
        $hasil_mod = $angka % 100;
        return ucwords(strtolower(trim(sprintf('%s ratus %s', $bilangan[$hasil_bagi], $this->terbilang($hasil_mod)))));
    } else if ($angka < 2000) {
        // bilangan 'seribuan'
        // misal 1250 maka 1250 - 1000 = 250 (ratusan)
        // gunakan rekursif terbilang(250)
        return ucwords(strtolower(trim(sprintf('seribu %s', $this->terbilang($angka - 1000)))));
    } else if ($angka < 1000000) {
        // bilangan 'ribuan' (sampai ratusan ribu
        $hasil_bagi = (int)($angka / 1000); // karena hasilnya bisa ratusan jadi langsung digunakan rekursif
        $hasil_mod = $angka % 1000;
        return ucwords(strtolower(sprintf('%s ribu %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod))));
    } else if ($angka < 1000000000) {
        // bilangan 'jutaan' (sampai ratusan juta)
        // 'satu puluh' => SALAH
        // 'satu ratus' => SALAH
        // 'satu juta' => BENAR
        // @#$%^ WT*
         
        // hasil bagi bisa satuan, belasan, ratusan jadi langsung kita gunakan rekursif
        $hasil_bagi = (int)($angka / 1000000);
        $hasil_mod = $angka % 1000000;
        return ucwords(strtolower(trim(sprintf('%s juta %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod)))));
    } else if ($angka < 1000000000000) {
        // bilangan 'milyaran'
        $hasil_bagi = (int)($angka / 1000000000);
        // karena batas maksimum integer untuk 32bit sistem adalah 2147483647
        // maka kita gunakan fmod agar dapat menghandle angka yang lebih besar
        $hasil_mod = fmod($angka, 1000000000);
        return ucwords(strtolower(trim(sprintf('%s milyar %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod)))));
    } else if ($angka < 1000000000000000) {
        // bilangan 'triliun'
        $hasil_bagi = $angka / 1000000000000;
        $hasil_mod = fmod($angka, 1000000000000);
        return ucwords(strtolower(trim(sprintf('%s triliun %s', $this->terbilang($hasil_bagi), $this->terbilang($hasil_mod)))));
    } else {
        return 'Wow...';
    }
}

public function format_rupiah($angka){
    return "Rp".number_format($angka,0,',','.');
}


public function thousand_format($angka){
    return number_format($angka,0,',','.');
}

public function ConvertStandardDate($date){
    $returnDate = substr($date, 6,4)."-".substr($date, 3,2)."-".substr($date, 0,2);
    if(empty($date)){
        return "";
    }
    else{
    return $returnDate;        
    }
    
}


public function ConvertStandardDate2($date){
    $returnDate = substr($date, 8,2)."-".substr($date, 5,2)."-".substr($date, 0,4);
    if(empty($date)){
        return "";
    }
    else{
    return $returnDate;        
    }
}


public function GetTahunBuku($buku){
    if($buku=='1'){
        $p_awal = '0';
        $p_akhir = '100000';
        $buku = '1';
    }
    else if($buku=='2'){
        $p_awal = '0';
        $p_akhir = '500000';
        $buku = '1,2';
    }
    else if($buku=='3'){
        $p_awal = '0';
        $p_akhir = '2000000';
        $buku = '1,2,3';
    }
    else if($buku=='4'){
        $p_awal = '0';
        $p_akhir = '5000000';
        $buku = '1,2,3,4';
    }
    else if($buku=='5'){
        $p_awal = '0';
        $p_akhir = '999999999998';
        $buku = '1,2,3,4,5';
    }
    else if($buku=='6'){
        $p_awal = '100001';
        $p_akhir = '500000';
        $buku = '2';
    }
    else if($buku=='7'){
        $p_awal = '100001';
        $p_akhir = '2000000';
        $buku = '2,3';
    }
    else if($buku=='8'){
        $p_awal = '100001';
        $p_akhir = '5000000';
        $buku = '2,3,4';
    }
    else if($buku=='9'){
        $p_awal = '100001';
        $p_akhir = '999999999998';
        $buku = '2,3,4,5';
    }
    else if($buku=='10'){
        $p_awal = '500001';
        $p_akhir = '2000000';
        $buku = '3';
    }
    else if($buku=='11'){
        $p_awal = '500001';
        $p_akhir = '5000000';
        $buku = '3,4';
    }
    else if($buku=='12'){
        $p_awal = '500001';
        $p_akhir = '999999999998';
        $buku = '3,4,5';
    }
    else if($buku=='13'){
        $p_awal = '2000001';
        $p_akhir = '5000000';
        $buku = '4';
    }
    else if($buku=='14'){
        $p_awal = '2000001';
        $p_akhir = '999999999998';
        $buku = '4,5';
    }
    else if($buku=='15'){
        $p_awal = '5000001';
        $p_akhir = '999999999998';
        $buku = '5';
    }
    else{
        $p_awal = '0';
        $p_akhir = '0';
        $buku = '';
    }

    return array('p_awal'=>$p_awal, 'p_akhir'=>$p_akhir, 'buku'=>$buku);
}


public function GetKodePrinter($kodePrinter){
    if($kodePrinter=='4'){ // Kode Barcode Untuk Printer Printer Printonix
        $v_start1 = chr(27)."|};CC;0;0005;0000;011;";
        $v_start2 = chr(27)."|};CC;0;0043;0000;011;";
        $v_start3 = chr(27)."|};CC;0;0089;0000;011;";
        $v_stop = ";H03;PN";
    }
    else if($kodePrinter=='0'){ // Kode Barcode Untuk Printer Printer Epson
        $v_start1 = NULL;
        $v_start2 = NULL;
        $v_start3 = NULL;
        $v_stop = NULL;
    }
    else if($kodePrinter=='1'){ // Kode Barcode Untuk Printer Printer Data Product
        $v_start1 = chr(27)."*z0v92c0q3h<";
        $v_start2 = chr(27)."*z0v70c0q3h<";
        $v_start3 = NULL;
        $v_stop = ">Z";
    }
    else if($kodePrinter=='2'){ // Kode Barcode Untuk Printer Printer Genicom
        $v_start1 = chr(27)."[0t";
        $v_start2 = chr(27)."[;4;0;;;;;;;}".chr(27)."[3t";
        $v_start3 = NULL;
        $v_stop = chr(27)."[0t";
    }
    else if($kodePrinter=='3'){ // Kode Barcode Untuk Printer Manesmann Tally
        $v_start1 = chr(27)."[<4h"."^B1;33;1;1"."^T010";
        $v_start2 = chr(27)."[<4h"."^B1;33;1;1"."^T470";
        $v_start3 = chr(27)."[<4h"."^B1;33;1;1"."^T930";
        $v_stop = chr(27)."[<4l";
    }
    else{
        $v_start1 = NULL;
        $v_start2 = NULL;
        $v_start3 = NULL;
        $v_stop = NULL;   
    }

return array("v_start1"=>$v_start1, "v_start2"=>$v_start2, "v_start3"=>$v_start3, "v_stop"=>$v_stop);
}


public function GetParameterPencetakan(){
    $parameters = ParameterSpptSttsDhkp::model()->findAll();

    foreach($parameters as $parameter){
        $this->tahunPajakSppt = $parameter->tahun_pajak_sppt;
        $this->tahunPajakStts = $parameter->tahun_pajak_stts;
        $this->namaKanwil = $parameter->nama_kanwil;
        $this->namaKantor = $parameter->nama_kantor;
        $this->kotaTerbit = $parameter->kota_terbit;
        $this->namaKepalaKantor = $parameter->nama_kepala_kantor;
        $this->barcodeStts = $parameter->barcode_stts;
        $this->jnsBarcodeStts = $parameter->jns_barcode_stts;
        $this->teksKanwil = $parameter->teks_kanwil;
        $this->teksKantor = $parameter->teks_kantor;
        $this->teksSppt = $parameter->teks_sppt;
        $this->teksStts = $parameter->teks_stts;
        $this->kakap = $parameter->kakap;

    }

    return array("tahunPajakSppt"=>$this->tahunPajakSppt, "tahunPajakStts"=>$this->tahunPajakStts, "namaKanwil"=>$this->namaKanwil, "namaKantor"=>$this->namaKantor, "kotaTerbit"=>$this->kotaTerbit,
        "namaKepalaKantor"=>$this->namaKepalaKantor, "barcodeStts"=>$this->barcodeStts, "jnsBarcodeStts"=>$this->jnsBarcodeStts, "teksKanwil"=>$this->teksKanwil, "teksKantor"=>$this->teksKantor, "teksSppt"=>$this->teksSppt, "teksStts"=>$this->teksStts);
}

/*
public function GetKodeBarcode(){

    $kodePrinters = $this->GetKodePrinter($this->jnsBarcodeStts);

    return array("v_start1"=>$kodePrinters["v_start1"], "v_start2"=>$kodePrinters["v_start2"], "v_start3"=>$kodePrinters["v_start3"], "v_stop"=>$kodePrinters["v_stop"]);
}
*/

}
?>	

AnonSec - 2021