Kamis, 18 Desember 2014

Script PHP untuk mengkonversi nilai angka uang kedalam bentuk kalimat

Hari ini gue lagi cari-cari tentang gimana caranya mengubah angka kedalam bentuk uang. Misal didatabase ada nilai 10000. Nah bagaimana caranya mengubah nilai tersebut menjadi 10.000.
Setelah baca-baca di dokumentasi php (php.net) gue menemukan fungsi money_format dan number_format. Singkat cerita ketemulah fungsinya. 
Setelah agak senggang gue coba buka-buka di dokumentasi php bagian number_format dan ternyata ada orang indonesia yang bikin dokumentasi juga. Script yang dia buat yaitu bagaimana mengkonversi nilai angka uang kedalam bentuk kalimat. Misal 10000 menjadi sepuluh ribu. Ini scriptnya:

here is the code to convert number to Indonesian text, this code has limitation as is number_format function. sorry for this.
/*
* Created : Iwan Sapoetra - Jun 13, 2008
* Project : Web
* Package : cgaf
*
*/
function terbilang( $num ,$dec=4){
    $stext = array(
        "Nol",
        "Satu",
        "Dua",
        "Tiga",
        "Empat",
        "Lima",
        "Enam",
        "Tujuh",
        "Delapan",
        "Sembilan",
        "Sepuluh",
        "Sebelas"
    );
    $say  = array(
        "Ribu",
        "Juta",
        "Milyar",
        "Triliun",
        "Biliun", // remember limitation of float
        "--apaan---" ///setelah biliun namanya apa?
    );
    $w = "";

    if ($num <0 ) {
        $w  = "Minus ";
        //make positive
        $num *= -1;
    }

    $snum = number_format($num,$dec,",",".");
    die($snum);
    $strnum =  explode(".",substr($snum,0,strrpos($snum,",")));
    //parse decimalnya
    $koma = substr($snum,strrpos($snum,",")+1);

    $isone = substr($num,0,1)  ==1;
    if (count($strnum)==1) {
        $num = $strnum[0];
        switch (strlen($num)) {
            case 1:
            case 2:
                if (!isset($stext[$strnum[0]])){
                    if($num<19){
                        $w .=$stext[substr($num,1)]." Belas";
                    }else{
                        $w .= $stext[substr($num,0,1)]." Puluh ".
                            (intval(substr($num,1))==0 ? "" : $stext[substr($num,1)]);
                    }
                }else{
                    $w .= $stext[$strnum[0]];
                }
                break;
            case 3:
                $w .=  ($isone ? "Seratus" : terbilang(substr($num,0,1)) .
                    " Ratus").
                    " ".(intval(substr($num,1))==0 ? "" : terbilang(substr($num,1)));
                break;
            case 4:
                $w .=  ($isone ? "Seribu" : terbilang(substr($num,0,1)) .
                    " Ribu").
                    " ".(intval(substr($num,1))==0 ? "" : terbilang(substr($num,1)));
                break;
            default:
                break;
        }
    }else{
        $text = $say[count($strnum)-2];
        $w = ($isone && strlen($strnum[0])==1 && count($strnum) <=3? "Se".strtolower($text) : terbilang($strnum[0]).' '.$text);
        array_shift($strnum);
        $i =count($strnum)-2;
        foreach ($strnum as $k=>$v) {
            if (intval($v)) {
                $w.= ' '.terbilang($v).' '.($i >=0 ? $say[$i] : "");
            }
            $i--;
        }
    }
    $w = trim($w);
    if ($dec = intval($koma)) {
        $w .= " Koma ". terbilang($koma);
    }
    return trim($w);
}
//example
echo terbilang(999999999999)."\n";
/**
* result : Sembilan Ratus Sembilan Puluh Sembilan Milyar Sembilan Ratus Sembilan Puluh Sembilan Juta Sembilan Ratus Sembilan Puluh Sembilan Ribu Sembilan Ratus Sembilan Puluh Sembilan
*/
echo terbilang(9999999999999999);
/**
* todo : fix this bug pleasese
* problem : number_format(9999999999999999) <--- 10.000.000.000.000.000,0000
* Result : Sepuluh Biliun
*/
Menurut gue sih scriptnya biasa aja. Yang bikin ajib tuh ternyata ada orang indonesia yang sempet-sempetin bikin dokumentasinya. Gileeee.
Salut deh.


Kamis, 09 Oktober 2014

Looping Recursive PHP

<?php
           
            buildtree($skpd);

            function buildtree($src_arr, $parent_id = 0)
            {
                ?>
                <ul>
                    <?php
                    foreach($src_arr as $idx => $row)
                    {
                        if($row['skpd_parent_id'] == $parent_id)
                        {
                            ?>

                            <ul>
                                <li><?php echo $row['skpd_id'];?></li>
                            </ul>

                            <?php

                            unset($src_arr[$idx]);
                            buildtree($src_arr, $row['skpd_id']);
                        }
                    }
                    ?>
                </ul>
                <?php
            }

            ?>

Senin, 11 Agustus 2014

In Shaa Allah atau Insya Allah?

dakwatuna.com - Mungkin agak ketinggalan ya, tapi saya gatal untuk menulis catatan ini karena belakangan ramai sebagian teman mengganti penulisan frasa “insya Allah” dengan “in sha Allah”. Alasannya, “insya Allah” dianggap berarti ‘menciptakan Allah’. Mereka mengganti frasa tersebut karena membaca pesan viral di sosial media, baik facebook, whatsapp, blackberry messenger, twitter, dll. Konon, pesan berantai itu berasal dari dr.Abdul Karim Naik, dai terkenal asal India yang digadang-gadang merupakan pengganti Kristolog moncer sedunia, almarhum Syaikh Ahmad Deedat.

Padahal, validitas bahwa pesan tersebut berasal dari dr.Zakir Naik pun perlu kita ragukan (sila lihat gambar). Dan perlu kita ketahui bahwa Penulisan lafadz إِنْ شَاءَ اللّهُ menjadi “in sha Allah” dalam bahasa Indonesia justru merupakan sebuah Hypercorrect / hiperkorek. Bagaimana alurnya? mari kita urun rembug bersama.

What is hypercorrect?
Hiperkorek dalam Kamus Basar Bahasa Indonesia didefinisikan sebagai berikut: hi•per•ko•rek /hiperkorék/ a bersifat menghendaki kerapian dan kesempurnaan yang sangat berlebihan sehingga hasilnya malah menjadi sebaliknya; (hiper sendiri artinya ‘berlebihan’). Hiperkorek bisa diartikan pula sebagai kesalahan berbahasa karena “membetulkan” bentuk yang sudah benar sehingga menjadi salah.
Sederhananya, hiperkorek adalah koreksi berlebihan alias membetulkan secara lebay.

Contoh, penulisan ‘surga’ yang lazim dan sudah benar, dianggap salah, kemudian diganti menjadi ‘syurga’ karena dikira berasal dari bahasa Arab. Padahal kata ‘surga’ berasal dari bahasa Sansekerta (svarga, स्वर्ग, ‘kayangan’) yakni suatu tempat di alam akhirat yang dipercaya oleh para penganut beberapa agama sebagai tempat berkumpulnya manusia yang semasa hidup di dunia berbuat kebajikan sesuai ajaran agamanya (wikipedia).

Karena dikira berasal dari bahasa Arab, kata ‘Surga’ diganti menjadi ‘Syurga’ yang justru malah menjadi keliru. Surga dalam bahasa Arab justru disebut “jannah” (جنّة), jauh sekali dari kata ‘surga’. Demikian pula, kesalahan serupa terjadi pada penulisan frasa ‘insya Allah’ yang belakangan ramai “dibetulkan” menjadi ‘in sha Allah’.

Dalam bahasa Arab, lafadz إِنْ شَاءَ اللّهُ tersusun dari tiga kata: “in, syaa-a, Allah” terdiri dari (إِنْ) yang artinya “Jika”, ( شَاءَ ) yang artinya “Dia berkehendak”, dan Allah. Secara bebas tiga kata ini dapat kita terjemahkan menjadi “Jika Allah berkehendak”. Dimaksudkan bahwa segala rencana kita hanya akan terlaksana jika Allah menghendakinya, sebuah keyakinan totalitas bahwa Tuhan Maha Berkuasa di atas segala rencana manusia.

“Dan jangan sekali-kali kamu mengatakan terhadap sesuatu, ‘Sesungguhnya aku akan mengerjakan itu besok pagi,’ tanpa (dengan menyebut), ‘Insya Allah.’” [QS. Al-Kahfi: 23].”

Namun Jika kata tersebut disambung menjadi ( إِنْشَاءَ ) dengan nun dan syin menempel, maka insyaa-a ia akan berarti “menciptakan, membangun, menyusun, atau menumbuhkan”. Penggunaan huruf ini kemudian akan menimbulkan tone atau bunyi berbeda yaitu Insya-Ullah atau InsyaUllah, dimana kata ‘Allah’ menjadi objek (maf’ul) yang diciptakan. Tentu sebuah makna yang sangat keliru, dan kita berlindung kepada Allah atas makna demikian.

Dimana Hiperkoreknya?
Penulisan ‘insya Allah’ menjadi ‘in sha Allah’ justru menjadi keliru, karena dalam bahasa Indonesia, huruf ‘syin’ (ﺵ ) ditransliterasi menjadi ‘sy’, sedangkan ‘sh’ adalah transliterasi untuk huruf ‘shad’ (ص). Sehingga jika kita menulis “in sha Allah” maka padanannya dalam bahasa Arab adalah ( إن صاء الله ) atau ( إن ص الله ) yang justru tidak ada maknanya.

Hal ini berbeda dengan di Malaysia yang mengadopsi transliterasi dari bahasa Inggris dimana ‘syin’ (ﺵ ) di tulis dengan ‘sh’. Orang-orang di London sana, yang suka makan kentang itu, mereka mentransliterasi semua huruf ‘syin’ (ﺵ ) menjadi ‘Sh’, itu sebabnya kita akan melihat kata-kata yang tidak lazim kita baca di Indonesia seperti: Shukoor, Shuuraa, Shukran, dst., yang kita pahami dengan syukur, syura, syukran, dst. Apakah orang Indonesia yang menulis ‘in shaa Allah” akan secara konsisten menuliskan lafadz-lafadz yang tak familiar itu. Shahadat, shamil, Mashaa Allah?

Masalah Transliterasi
Yang perlu kita pahami adalah standar transliterasinya. Dalam banyak jurnal ilmiah keagamaan yang saya baca, penulisan إِنْ شَاءَ اللّهُ ke dalam bahasa Indonesia lazim ditulis dengan frasa “insya Allah” dan tidak ada masalah dengan itu hingga muncul broadcast hiperkorek yang ‘mempersoalkan’ penulisan “insya Allah”.

Sekalipun tidak ada standar baku mengenai transliterasi huruf Arab ke huruf latin berbahasa Indonesia (setidaknya sejauh ini saya belum menemukan bentuk bakunya), bisa dipastikan hampir tidak pernah ada penggunaan huruf ‘sh’ untuk mewakili ‘syin’ (ﺵ ) dari bahasa Arab.
Karena tidak ada bentuk baku inilah, dalam penulisan karya-karya ilmiah, baik skripsi, tesis, disertasi atau pun jurnal-jurnal ilmiah keislaman, mudah didapati pedoman transliterasi di halaman muka. Tapi hampir pasti tidak ada satu pun jurnal ilmiah berbahasa Indonesia yang mengalihtuliskan huruf syin (ﺵ ) menjadi ‘sh’. Kecuali Jurnal Insisit yang awalnya memang banyak diisi oleh binaan-binaan Syed Muhammad Naquib al-Attas asal Malaysia. Penulisan huruf syin (ﺵ ) menjadi ‘sh’ dalam frasa “in sha Allah” justru menimbulkan confused seolah-olah tulisan arabnya إن صاء الله yang tidak ada maknanya itu.

Penulisan ‘insya Allah’ sudah lazim di Indonesia. Tulisan ini lazim kita baca pada buku-buku terbitan Kementerian Agama, maupun buku keislaman lain, seperti Tarjamah Tafsiriyah versi Ust.Muhammad Thalib.

Demikian pula jika rekan-rekan menulis kata “insya Allah” pada situs www.kbbi.web.id, maka penjelasan yang muncul adalah “expressionn that is used to express the hope or promise that is not necessarily fulfilled (meaning ‘God willing’,) atau ungkapan yanng digunakan untuk menyatakan harapan atau janji yag belum tentu dipenuhi (maknanya “jika Allah mengizinkan”). Tapi jika kita mengetik “Insha Allah/in Shaa Allah/ atau in syaa Allah” dengan memisahkan ‘in’ dan ‘syaa’ maka tidak akan ada penjelasan yang didapatkan, alias not found.

Untuk penulisan “in syaa Allah”, Jika ingin mengoreksi agar benar-benar tepat, maka penulisan “in syaa Allah” sendiri sebetulnya masih kurang benar. Harusnya jika memang “benar-benar ingin benar” maka transliterasinya adalah “in syaa-a Allaah”, dan ketika menulis “Masya Allah” ia harus menulis “masyaa-a Allaah”, dst.

Menurut analisis saya (pake gaya Sentilun), tidak ada masalah untuk menulis ‘insya Allah’ ‘insya Allaah’ ‘in sya Allah’ maupun “in syaa Allaah” karena keduanya tetap merujuk kepada kata إِنْ شَاءَ اللّهُ dalam bahasa Arab. Ini hanya berada pada zona transliterasi saja. Akan menjadi keliru kemudian jika kita menuliskannya dalam bahasa Arab dengan merubah tulisannya, atau bicara dalam bahasa Arab dengan merubah tone-nya.

Bagi mereka yang tinggal di Indonesia, frasa “insya Allah” sudah lazim dan sama sekali tidak artikan sekaligus tidak pula dimaksudkan dengan “menciptakan Allah” karena tulisan tersebut hanya transliterasi yang memiliki keterbatasan dengan fonem dari bahasa Asal. Tidak merubah huruf asli dan tidak pula merubah bunyinya, hanya mengalihtuliskan kata dari bahasa asing ke dalam bahasa Indonesia dimana fonemnya tidak seluruhnya sama. Persis sebagaimana penulisan Aisyah yang tidak perlu ditulis menjadi “‘Aa-isyah”, atau “ibnu Khattab” menjadi “ibn Khaththaab”, atau Abdurrahman Wahid menjadi ‘Abd al-Raḫmȃn Wȃhid. Itu hanya pilihan transliterasi.

Transliterasi sendiri di banyak jurnal seringkali menggunakan bantuan simbol untuk membantu menjelaskan setiap hurufnya, al-ḫamd li Allȃhi Rabb al- ‘alamȋn.. Dan yang di Malaysia atau di negara-negara barat tetap bisa menuliskannya dengan “in sha Allah”.

Wa Allȃhu a’lam. 
Sumber :

Kamis, 10 Juli 2014

Jam Baru dari si "anu"

Jadi ceritanya pagi tadi (10 Juli 2014) nganter si "anu" ke sekolah. Pas sampai disekolah eh tiba-tiba disuruh merem. Eh tau-tau dikasih jam.
Hehehe........

Jam baru untuk lebaran :p


Selasa, 01 Juli 2014

Kapan 1 Syawal 1435 H akan tiba?

Assalamualaikum Warahmatullahi Wabarakatuh.

Alhamdulillah kali ini saya ingin membuat sebuah penelitian kira-kira kapan pemerintah akan menetapkan 1 Syawal 1435 H. Yang sebelumnya ternyata prediksi saya benar tentang kapan mulai puasa. Baca http://ibukokom.blogspot.com/2014/06/awal-ramadhan-2014.html . Baik, masih berlandaskan dalil yang sama yang diriwayatkan oleh Muslim. Rasulullah SAW bersabda "Apabila engkau melihat hilal (awal bulan Ramadan), maka hendaklah engkau memulai puasa. Apabila engkau melihat hilal (awal bulan Syawal), maka hendaklah engkau berhenti puasa. Dan apabila tertutup awan, maka hendaklah engkau berpuasa selama 30 hari." (Shahih Muslim No.1808)

Sebagaimana diketahui bersama, berdasarkan keputusan Muhammadiyyah bahwa tahun 2435 H ini 1 Syawal 1435 H akan jatuh pada hari Senin tanggal 28 Juli 2014. baca http://www.muhammadiyah.or.id/muhfile/download/Maklumat%20PPM%20No%2002%20tahun%202014.pdf
Sekarang mari kita teliti kondisi hilal pada sehari sebelumnya, yaitu tanggal 27 Juli 2014.



Pada tanggal 27 Juli 2014 Pukul 17.50, posisi bulan berada pada ketinggian diatas 3 Derajat. Lihat pada bagian Azimut/Ketinggian. Sedangkan pemerintah menetapkan standar untuk menetapkan esok puasa/lebara atau tidaknya adalah 2 derajat. Maka dari itu sepertinya tahun ini pemerintah dengan muhammadiyyah akan berbarengan dalam melaksanakan 1 Syawal 1435 H. Insya Allah.

Demikian, semoga bermanfaat dan yang lebih penting kita bisa berlebaran bersama-sama.

Wassalamualaikum Wr. Wb

Rabu, 18 Juni 2014

Awal Ramadhan 1435 H

Assalamualaikum Warahmatullahi Wabarakatuh.

Pada kesempatan kali saya mau membuat sebuah pemikiran dan perkiraan kapan mulai puasa bagi pengikut keputusan pemerintah. Ya, berdasarkan hadits Rasululllah yang diriwayatkan oleh Muslim. Rasulullah SAW bersabda "Apabila engkau melihat hilal (awal bulan Ramadan), maka hendaklah engkau memulai puasa. Apabila engkau melihat hilal (awal bulan Syawal), maka hendaklah engkau berhenti puasa. Dan apabila tertutup awan, maka hendaklah engkau berpuasa selama 30 hari." (Shahih Muslim No.1808)
Hadits inilah yang kemudian dijadikan landasan para ulama, pemerintah, para ahli hisab dan rukyatul hilal dalam menentukan kapan puasa dan kapan juga lebaran. Sejauh ini dalam menentukan awal puasa, Indonesia masih terbagi atas dua kelompok. Yang pertama adalah kelompok dari Muhammadiyyah dan yang kedua dari Pemerintah itu sendiri. Muhammadiyyah sendiri telah menentukan awal puasa yaitu pada hari Sabtu, 28 Juni 2014 dengan dalil bahwa pada hari Jumat, 27 Juni 2014 bulan sudah nampak. Sumber (http://news.liputan6.com/read/2044369/muhammadiyah-tetapkan-awal-puasa-ramadan-28-juni).
Namun sepertinya tahun ini pemerintah dengan Muhammadiyyah akan berbeda dalam menentukan awal puasa.Berdasarkan perhitungan dan pengamatan saya menggunakan aplikasi stellarium yang bisa diunduh dan dipakai sesuka hati alias open source di link berikut http://www.stellarium.org/. Bahwa posisi bulan pada tanggal 27 Juni 2014 masih pada posisi 0 Derajat.

Posisi bulan ketika matahari berada padi garis 0 Derajat


Keterangan ketinggian bulan saat matahari berada pada garis 0 Derajat
Maka dengan standar pemerintah yang menetapkan bahwa ketinggian hilal minimal adalah 2 derajat, sangat kecil kemungkinan pemerintah untuk menetapkan puasa pada tanggal 28 Juni 2014. Maka berlandaskan hal tersebut saya prediksi bahwa pemerintah akan menetapkan awal puasa pada hari Ahad, 29 Juni 2014.
Demikian

Wassalamualaikum warahmatullahi wabarakatuh.

Muhammad Yusuf Bachtiar
Programmer @Artikulpi

Senin, 09 Juni 2014

Harus libur 3 hari

Kemarin (10 Juni 2014), menjadi bonus libur tambahan buat saya. Jadi ceritanya sewaktu jalan tiba-tiba rantai motor salah jalur dan memasuki sudut diantara roda dan capit udang yang menyebabkan motor tidak bisa maju juga tidak bisa mundur (galau mungkin). Pada akhirnya libur kantor harus ditambah menjadi 3 hari. Hahaha
Terimakasih rantai :D :)

Jumat, 06 Juni 2014

Posting Pertama

Ini adalah posting pertama dan pastinya akan menjadi sejarah. Ya, sejarah yang akan dicatat diseluruh dunia.
Selanjutnya,blog ini akan menjadi curahan hati seorang sideserver programmer hehe.
Terimakasih sudah mampir :)