Harimau mati meninggalkan belang, Manusia mati meninggalkan Blog

Rabu, 30 Agustus 2017

Membuat Helper CI Untuk Fungsi Terbilang Dengan Koma

Nah, di postingan kali ini saya akan berbagi sebuah kode sederhana. Yaitu sebuah helper untuk framework CodeIgniter, isinya tentang fungsi terbilang. Memang sih sudah banyak yang membagikannya di luar sana. Kebetulan kemarin ada seorang teman yang bertanya untuk fungsi terbilang dengan angka di belakang koma di CodeIgniter, jadi sekalian saja saya posting di kategori Code Snippet ini. Yaw hitung-hitung sebagai catatan pribadi jika nanti saya lupa. Dulu saya pernah membuat fungsi terbilang, sebelum berkenalan dengan CI. Jadi sekarang saya hanya tinggal membuatkan helper untuk menyimpan fungsi terbilang tersebut. Source code-nya kira-kira seperti di bawah ini :
1<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3/**
4 * Terbilang Helper
5 *
6 * @package CodeIgniter
7 * @subpackage  Helpers
8 * @category    Helpers
9 * @author  Gede Lumbung
10 * @link    http://gedelumbung.com
11 */
12
13if ( ! function_exists('number_to_words'))
14{
15    function number_to_words($number)
16    {
17        $before_comma = trim(to_word($number));
18        $after_comma = trim(comma($number));
19        return ucwords($results $before_comma.' koma '.$after_comma);
20    }
21
22    function to_word($number)
23    {
24        $words "";
25        $arr_number array(
26        "",
27        "satu",
28        "dua",
29        "tiga",
30        "empat",
31        "lima",
32        "enam",
33        "tujuh",
34        "delapan",
35        "sembilan",
36        "sepuluh",
37        "sebelas");
38
39        if($number<12)
40        {
41            $words " ".$arr_number[$number];
42        }
43        else if($number<20)
44        {
45            $words = to_word($number-10)." belas";
46        }
47        else if($number<100)
48        {
49            $words = to_word($number/10)." puluh ".to_word($number%10);
50        }
51        else if($number<200)
52        {
53            $words "seratus ".to_word($number-100);
54        }
55        else if($number<1000)
56        {
57            $words = to_word($number/100)." ratus ".to_word($number%100);
58        }
59        else if($number<2000)
60        {
61            $words "seribu ".to_word($number-1000);
62        }
63        else if($number<1000000)
64        {
65            $words = to_word($number/1000)." ribu ".to_word($number%1000);
66        }
67        else if($number<1000000000)
68        {
69            $words = to_word($number/1000000)." juta ".to_word($number%1000000);
70        }
71        else
72        {
73            $words "undefined";
74        }
75        return $words;
76    }
77
78    function comma($number)
79    {
80        $after_comma stristr($number,',');
81        $arr_number array(
82        "nol",
83        "satu",
84        "dua",
85        "tiga",
86        "empat",
87        "lima",
88        "enam",
89        "tujuh",
90        "delapan",
91        "sembilan");
92
93        $results "";
94        $length strlen($after_comma);
95        $i = 1;
96        while($i<$length)
97        {
98            $get substr($after_comma,$i,1);
99            $results .= " ".$arr_number[$get];
100            $i++;
101        }
102        return $results;
103    }
104}
Cara pemakaiannya sama dengan helper yang lainnya. Dengan memanggil helper tersebut di Controller atau secara otomatis dipanggil dengan menambahkannya di konfigurasi autoload.php.
1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3class web extends CI_Controller {
4
5    function index()
6    {
7        $this->load->helper("terbilang");
8        echo ucwords(number_to_words("87,5"));
9    }
10}
Hasilnya akan menjadi Delapan Puluh Tujuh Koma Lima. Fungsi terbilang ini banyak dipakai untuk aplikasi akuntasi yang biasanya menghasilkan laporan berupa kuitansi dan disana ada kolom berapa nominalnya dalam bentuk huruf.

Sumber;

http://gedelumbung.com
Share:

0 komentar:

Posting Komentar

Yamazaki

Cari Blog Ini

Diberdayakan oleh Blogger.

PESAN UNTUK CPNS