Fungsi Terbilang Laravel | Traits

Selamat datang kembali di website asepit yang selalu memberikan informasi mengenai dunia Teknologi khususnya pada bidang Komputer, Pemrograman, dan juga Jaringan. Bagaimana kabar kalian semua mudah - mudahan dalam keadaan sehat wal afiat dan selalu dilancarkan rezekinya, Pada kesempatan kali ini saya akan membahas mengenai cara membuat sebuah fungsi pembilang pada Laravel (PHP) dengan menggunakan Trait. Trait ini hampir sama kegunaannya dengan namanya helper yang mampu membuat sebuah function yang nantinya dapat digunakan oleh semua kelas lainnya. Dengan Trait ini dapat mengefisienkan sebuah kodingan kita nantinya. Untuk membuat fungsi terbilang ini kita harus membuat sebuah folder untuk menampung trait yang akan dibuat

* Kita bisa membuatnya secara manual pada App\Http dan buat folder bernamakan Traits

* Buat juga file untuk menulis function yang akan dibuat khususnya pada pembahasan kali ini mengenai angka terbilang / pengubah nilai angka menjadi sebua teks dengan menambahkan syntak awalan seperti ini

<?php
namespace App\Http\Traits;

trait Terbilang
{

}

* Untuk fungsi terbilang yang lengkapnya kurang lebih seperti ini
* Pada fungsi abs() ini berguna untuk dapat mengembalikan sebuah angka / nilai yang bernilai negatif (minus) disini menggunakan
* Self untuk mereferensikan properti / method yang berada dalam current class
* Sedangkan fmod berguna untuk melakukan perhitungan modulus

<?php

namespace App\Http\Traits;

trait Terbilang
{
    private function penyebut($nilai){
        $nilai = abs($nilai);
        $libs = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
        $n = "";

        if ($nilai < 12) {
			$n = " ". $libs[$nilai];
		} else if ($nilai <20) {
			$n = self::penyebut($nilai - 10). " belas";
		} else if ($nilai < 100) {
			$n = self::penyebut($nilai/10)." puluh". self::penyebut($nilai % 10);
		} else if ($nilai < 200) {
			$n = " seratus" . self::penyebut($nilai - 100);
		} else if ($nilai < 1000) {
			$n = self::penyebut($nilai/100) . " ratus" . self::penyebut($nilai % 100);
		} else if ($nilai < 2000) {
			$n = " seribu" . self::penyebut($nilai - 1000);
		} else if ($nilai < 1000000) {
			$n = self::penyebut($nilai/1000) . " ribu" . self::penyebut($nilai % 1000);
		} else if ($nilai < 1000000000) {
			$n = self::penyebut($nilai/1000000) . " juta" . self::penyebut($nilai % 1000000);
		} else if ($nilai < 1000000000000) {
			$n = self::penyebut($nilai/1000000000) . " milyar" . self::penyebut(fmod($nilai,1000000000));
		} else if ($nilai < 1000000000000000) {
			$n = self::penyebut($nilai/1000000000000) . " trilyun" . self::penyebut(fmod($nilai,1000000000000));
		}
        return $n;
    }

    public function pembilang($nilai)
    {
        if($nilai < 0 ){
            $hasil = "minus ". trim($this->penyebut($nilai));
        }else {
            $hasil = trim($this->penyebut($nilai));
        }
        return $hasil;
    }
}

* Untuk pengimplementasikannya kita cukup memanggil function pembilang pada controller ke sebuah angka yang akan diconvert, sebagai contoh seperti ini. Ucwords merupakan fungsi untuk membuat sebuah teks yang dimasukkan pada parameter menjadi kapital pada semua huruf awalannya

<?php

namespace App\Http\Controllers;
use App\Http\Traits\Terbilang;

class TerbilangController extends Controller
{
    use Terbilang;

    public function index()
    {
        $angka = 10250500;
        $jumlahNilai = ucwords($this->pembilang($angka).' rupiah');
        echo  ('Terbilang = '. $jumlahNilai);
    }
}

* Untuk hasilnya mejadi seperti ini

 

 

Mungkin hanya itu untuk pembahasan kali ini, saya mohon ma'af bila dalam penyampaian serta penulisan terdapat sebuah kesalahan. Jangan lupa ikuti juga platform ASEP IT lainnya dibawah ini, saya cukupkan sekian dan Terima Kasih...

 

Website klik disini
Youtube klik disini
Fans Page klik disini

Related Articles

Comments