Membuat Fungsi Tanggal Indonesia (Database)

Secara default, format tanggal dalam database MySQL mengacu berdasarkan format tanggal barat, yaitu Tahun-Bulan-Tanggal. Untuk membuktikannya, silahkan lihat gambar pada tutorial sebelumnya.

Tentu hal ini tidak sesuai dan tidak familiar dengan format tanggal di negara kita, yaitu Tanggal-Bulan-Tahun. Oleh karena itu, pada tutorial kali ini kita akan mencoba membuat fungsi yang akan memanipulasi tampilan tanggal dalam format indonesia. Pertama-tama, buat dulu fungsinya sebagai berikut:

Skrip fungsi_indotgl.php
<?php
    function tgl_indo($tgl){
      $tanggal = substr($tgl,8,2);
      $bulan    = getBulan(substr($tgl,5,2));
      $tahun    = substr($tgl,0,4);
      return $tanggal.'' ''.$bulan.'' ''.$tahun;        
    }    
    function getBulan($bln){
      switch ($bln){
        case 1:
          return "Januari";
          break;
        case 2:
          return "Februari";
          break;
        case 3:
          return "Maret";
          break;
        case 4:
          return "April";
          break;
        case 5:
          return "Mei";
          break;
        case 6:
          return "Juni";
          break;
        case 7:
          return "Juli";
          break;
        case 8:
          return "Agustus";
          break;
        case 9:
          return "September";
          break;
        case 10:
          return "Oktober";
          break;
        case 11:
          return "November";
          break;
        case 12:
          return "Desember";
          break;
    }
}
?>

Kemudian panggil fungsi_indotgl.php pada skrip berikut:

<?php
include "fungsi_indotgl.php";

mysql_connect("localhost","root","");
mysql_select_db("inventory");

echo "<table cellpadding=5>
      <tr><th>KODE</th><th>NAMA BARANG</th><th>STOK</th>
          <th>TGL.MASUK</th><th>HARGA</th></tr>";


$query=mysql_query("SELECT * FROM barang");

while ($r=mysql_fetch_array($query)){
  // Ubah format tanggal menjadi format indonesia
  $tanggal = tgl_indo($r[tgl_masuk]);
 
  // Ubah format harga dengan fungsi number_format
  $harga = number_format($r[harga],0,",",".");
 
  echo "<tr bgcolor=$warna>
          <td>$r[kode]</td>
          <td>$r[nama]</td>
          <td>$r[stok]</td>
          <td><b>$tanggal</b></td>
          <td>Rp. $harga</td></tr>";
}
?>

Perhatikan hasilnya pada kolom TGL.MASUK pada gambar berikut:

Download source code

Baca Juga

78 Komentar

  • tony | 02 April 2009 - 21:01:38 WIB

    sip sip....

  • chaly | 02 April 2009 - 10:32:18 WIB

    wehh paten di coba dulu mas

  • lukman | 03 April 2009 - 08:14:47 WIB

    agar tidak repot ngetik ulang, saya sediakan download source codenya langsung.

  • riunix | 07 April 2009 - 15:17:42 WIB

    ada bug nya nech website ini :

    http://bukulokomedia.com/media.php?module=home&halaman=-2

  • lukman | 07 April 2009 - 08:26:36 WIB

    terimakasih atas laporan bugnya dar mas riunix, ternyata ada yang kelewatan di .htaccess belum saya definisikan untuk class paging (navigasi antar halaman), tapi sekarang sudah saya perbaiki bugnya.

  • PHP Newbie | 09 April 2009 - 08:34:27 WIB

    Mas gimana cara upgrade dari Source yg ada di buku Membongkar Trik Rahasia Para Master PHP ke Buku Jalan Pintas?????

    Saya sudah pakai yg lama di web saya, saya mau rubah ke yg baru tp tidak merubah isi.....

  • Django | 09 April 2009 - 08:38:44 WIB

    Pak Lukman,.... bagaimana caranya m3m4ka1 JQUERY di website yg anda buat..??? misal untuk validasi komen.. atau untuk populer dan terbaru dijadikan Tab...

  • lukman | 12 April 2009 - 18:55:16 WIB

    # PHP Newbie: upgradenya manual mas .. terutama karena ada tambahan SEO URL yang mengakibatkan ada pertambahan field pada tabel seperti tabel berita ada field baru yaitu judul_seo.

    # Django: bisa, mau dipakai dimana JQUERYnya di bagian kiri, tengah atau kanan? tinggal buka sesuai dengan jenis nama filenya, misalnya di tengah, buka file tengah.php dan masukkan JQUERYnya .. ada yang pernah bikin dari cms proyek lokomedia dimodifikasi dengan menambahkan JQUERY, contohnya di satunews.com dan metroriau.com

  • mayang | 26 April 2009 - 12:00:51 WIB

    mas lukman trims ya buku yang membuka rahasia para master ada beberapa yang amat sangat saya perlukan

    sebenarnya sudah banyak ingin berkonsultasi soal php di forum apaun bahkan harus ngorbani banyak waktu untuk daftar lagi

    langsung aja saya ada masalah bisa bantu sedikit kan

    buat perintah time dengan otomatis itu aja sebenernya susah seh karena page harus selalu reload bukan?

    saya tunggu buku berikutnya ya?
    bisa pm saya kan! trims mas lukman

  • lukman | 27 April 2009 - 20:01:56 WIB

    bisa lebih jelas pertanyaannya, tapi kalau bikin time tanpa reload pakainya JavaScript.

  • mayang | 30 April 2009 - 12:27:16 WIB

    trims mas lukman

  • ngetes ada bugnya ga ya??
    klo ga da brarti keren...hehehehe

  • lukman | 06 Mei 2009 - 22:45:42 WIB

    trimakasih atas pengetesannya .. semoga lulus sensor.

  • Django | 09 Mei 2009 - 18:22:37 WIB

    Pak lukman, tanya lg..
    Gimana cara membuat paging untuk komentar di web yg anda di buku?? tolong postingannya.

  • Pak Surya | 09 Mei 2009 - 18:26:34 WIB

    Bukunya bagus2.
    tolong untuk yg berikutnya buku2 tentang sistem donk..seperti website administrasi sekolah(loker siswa, penggajian guru, penilaian) atau web jual beli dengan berbagai kategori.

  • lukman | 10 Mei 2009 - 08:47:53 WIB

    # Django: saya pernah membahas berbagai teknik paging secara detail di buku Membongkar Trik Rahasia Para Master PHP, silahkan disesuaikan untuk pemberian paging di komentar.

    # Pak Surya: iya pak, buku mengenai tema jual beli sedang saya garap, semoga bulan Juni 2009 sudah diterbitkan

  • Django | 19 Mei 2009 - 18:08:20 WIB

    Pak bagaimana menerapkan teknik seo yg ada di buku untuk PAGING ?

    Trus kapan buku baru keluar? bahasan nya apa?

  • putro | 01 Juni 2009 - 02:41:52 WIB

    mas lukman kq saya g bisa connect ke databasenya ya waktu saya upload.. . yang muncul cuma halaman login admin doang yang lain g mau. error di koneksi.php, padahal dah betul user sama dbnya. muncul secript Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'punokawa_admin'@'localhost' (using password: NO) in /home/punokawa/public_html/config/koneksi.php on line 8
    Koneksi gagal .

    kira2 apa yang salah mohon petunjuknya .email saya putrogoblog@mail.com

  • putro | 01 Juni 2009 - 02:43:58 WIB

    maup salah email saya putrogoblog@gmail.com
    .

  • lukman | 03 Juni 2009 - 22:40:19 WIB

    # django: kalau mau lihat paging yang sudah seo, download aja source code terbaru bukulokomedia di http://bukulokomedia.com/lokomedia.rar .. rencananya buku PHP terbaru saya akan diterbitkan bulan Juni/Juli 2009.

    # putro: kalau pesan errornya seperti itu, kemungkinan besar masalah username dan password untuk server mysqlnya apa agar bisa terkoneksi atau cek apakah mysql sudah diaktifkan.

  • nurhidayat | 04 Juni 2009 - 23:52:25 WIB

    fungsi number_format hanya untuk hasil queri aja atau bisa untuk hasil dari pengurangan variable
    contoh
    $penerimaan=10000
    $pengluaran =5000
    $hasil=$penerimaan-$pengluaran
    bagaiman supaya hasilnya nomorny dapat di format trimakasi

  • asal | 09 Juni 2009 - 16:38:39 WIB

    <marquee>Ga bisa</marquee>

  • Made | 19 Juni 2009 - 17:21:34 WIB

    mas.. saya lagi ngerjain skripsi tentang web sebuha perusahaan neh.. tpi stuck di pernacngan dan bebrpa modul yang akan saya buat seperti modul user, berita, profil dll.. saya sudah membaca buku tentang trik php mas.. sangat membantu.. kadang masih saja adz orang yuang mengaggp remeh saya mas.. tapi saya akan buktikan mas..

  • mingto | 25 Juni 2009 - 09:19:31 WIB

    Mas, gimana yah caranya untuk menginputkan data dengan tabel spt ini:
    Misalnya:
    tabel 1: adalah tabel grup - isinya: grup 1, gup 2
    tabel 2: adalah tabel user - isinya: user 1, user 2
    tabel 3: adalah tabel user grup - isinya:
    grup 1=user 1
    grup 2=user1
    grup 2=user2
    PertanyaaanNya:
    ketika kita mengirimkan sebuah data (spt email) dimana data tersebut dikirimkan berdasarkan grup, tp ketika masuk d database akan di extract berdasarkaan user yang masuk dalam GRUP tersebut.
    jadi, misalnya: pengirim data tersebut ke GRUP 2,
    jadi masuk ke database adlah USER 1 dan USER 2, karena user tersebut masuk dalam GRUP 2, terima kasih pak!

  • DJ | 02 Juli 2009 - 16:40:34 WIB

    Buku baru nya jadi keluar kapan niy pak?
    Katanya Juli

  • z | 06 Juli 2009 - 16:10:55 WIB

    <h1>wew</h1>

  • WAIFI | 10 Juli 2009 - 06:19:01 WIB

    Pak Lukman ?? (1.) Bagaimana cara ngelink sebuat kata misal (kata Pasang Iklan ) yang ada di midcontent trus linknya ke leftcontent. kalau pada file yang sudah jadi di buku kan sudah jadi dan link yang ada di mid content seperti berita teratas kan dia script untuk mengelarkanya ada di left kontent, bagaimana ya kalau cuma kata (pasang iklan ) tapi linknya ke left content yang berupa form semacam komentar (2.) pada MENU UTAMA akan saya isi tab- tabnya dengan katagori (misal;ekonomi, politik, olahraga dll....) ngelinknya ko susah ya ......Kemarin saya coba tak akasih id kategori ko gak mau yaaaa !!

  • WAIFI | 10 Juli 2009 - 06:21:50 WIB

    lanjut pak .......... (2.) yang no 2 ..........
    Pada menu atas saya akan membuat satu menu yaitu news dan NEWS ini akan saya dropdownmenu dg isian kategori tu gmana juga yaaaaaaaaa (3.) apa maksudnya kode #187; sama type=&bull; itu artunya apa yaaaaaaa .............. he he he he Tq ditunggu jawaganya pak .......

  • WAIFI | 10 Juli 2009 - 06:27:16 WIB

    Satu lagi pak ........ kalau di joomla kan link untuk menu utama bisa di link-kan ke kategori berita NAH kalau di PHP pada contoh project portal detik bapak ko tak coba ga bisa yaaaa ???? apa Q emang yang belum ngerti he .....3x contoh kurang lebih seperti ini scriptnya .............. http://www.bukulokomedia.com/detailkategori&id_kategori=25 ...............(mungkin scriptnya salah tapi yang penting ada di &id_kategori=25 ta jadikan link ko nggak bisa ??) ini saya maksudkan untuk buat link pada menu utama semisal 25 ini id_kategori untuk ekonomi .................maksudkan pak .....?@#$%??$@@

  • WAFI | 24 Juli 2009 - 01:06:58 WIB

    MAAF .........................9999999999999X
    tulisan komentarnya banyak yang salah he he he !!! saking semangatnya

  • Irwan | 30 Juli 2009 - 19:09:54 WIB

    Good...

  • Irwan | 30 Juli 2009 - 19:10:27 WIB

    Good

  • ayay | 02 Agustus 2009 - 17:08:24 WIB

    Misal saya punya data :

    source_id, tanggal, jum_file, jum_record
    msc_nok1 20090701, 13, 1234
    msc_nok2 20090701, 12, 2345
    msc_nok3 20090701, 23, 2341
    msc_nok1 20090702, 24, 2341
    msc_nok2 20090702, 21, 2341
    msc_nok3 20090702, 23, 3452

    Misal data yang ingin ditampilkan seperti ini :
    source_id, tanggal(20090701), tanggal(20090702)
    msc_nok1 13 24
    msc_nok2 12 21
    msc_nok3 23 23

    Bagaimana caranya agar bisa menampilkan data per tanggal. Mohon bantuannya mas

  • ichal | 28 Agustus 2009 - 23:39:09 WIB

    Mas lukman,
    Aku cuma minta tolong karena aku bingun untuk buat script php+mysql untuk pemanggilan category. Tapi aku udah sukses buat buat untuk penampilan data berdasarkan category, yang jadi masalah sekarang ini adalah, bagai mana membuat agar list category bisa diklik dan memviewkan jumlah data didalam category tersebut, setelah clien/user masih bisa mengklik lagi untuk melihat secara utuh, disini khasus yang ingin saya tampilkan adalah gambar+keterangan gambar, saya memodify modul berita dari buku "Jalan pintas menjadi master php' dan saya juga udah membeli buka "membongkar trik rasahasi para master hp" namun tidak ada solusinya, mohon pencerahannya. Tolong direspon saja ke email saya ichal@gmx.net. Terima kasih atas waktunya

  • Ricky | 23 Desember 2009 - 14:25:00 WIB

    mas bagaimana cara menampilkan tanggal seperti dari tanggal brp sampai tanggal berapa?
    contoh : 12-12-2009 sampai 21-12-2009
    mohon bantuannya mas?

  • shin | 23 Maret 2010 - 13:42:25 WIB

    bagus mas bukunya..... banyak buku php tapi bukunya cm ngajarin sesuatu yg ga terlalu dasar.... udah lama nyari akhirnya ketemu... thx atas isi bukunya yg "berbobbot".. ditunggu buku berikutnya.....

  • shin | 23 Maret 2010 - 13:46:02 WIB

    oh iya kl JQUERY itu AJAX ya..... buat buku tutorial ajax dunk sesuai dengan gaya mas lukman

  • rohman | 15 April 2010 - 00:26:49 WIB

    saya penggemar buku lokomedia,saya telah mengoleksi banyak buku lokomedia,ngomong2 kapan bukunya terbit lagi,cz bukunya asyik untuk dipelajari dan juga dibaca

  • moko | 21 Mei 2010 - 13:49:53 WIB

    kren semuanya gratis dan ilmu nya bagus2 mga bermanfaat

  • gurusmk | 04 Juli 2010 - 23:46:16 WIB

    Mohon maaf, hanya memberi masukan saja Pak,
    kalo saya cukup pakai function yang saya racik sendiri, lebih praktis dan lengkap, cukup 4 s.d. 5 baris saja :
    function tanggal($d) {
    $hari = array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu");
    $bulan = array("", "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "Novemver", "Desember");
    return $hari[date("w", $d)]. date(", j ", $d). substr($bulan[date("n", $d)], 0, 3). date(" Y - H:i", $d);
    }

    Salam :)

  • gurusmk | 04 Juli 2010 - 23:53:35 WIB

    o iya, ada yang kelupaan. Biar function saya tersebut di atas bisa jalan, parameter yang dilewatkan argumen $d harus diambil dengan fungsi UNIX_TIMESTAMP(tgl_masuk), jadi perintah SQL Bapak bisa diubah menjadi SELECT *, UNIX_TIMESTAMP(tgl_masuk) AS tglmsk FROM barang

  • Ricardo | 21 Oktober 2010 - 23:10:09 WIB

    Selamat malam pak saya sudah membeli buku bpk dan saya mash blm mengerti maksud dari fungsi ini..malah saya mendapat hasil "Use of undefined constant Tanggal_Lahir - assumed 'Tanggal_Lahir' "tlg dijawab pak.terima kasih

  • ee | 18 Desember 2010 - 20:52:38 WIB

    payah ne pak lukman,banyak broken linknya,donlot g bisa,
    trus bug yg diatas masih blom bener lagi....

  • Gede Sumarsa | 20 Desember 2010 - 07:42:22 WIB

    Halo para webmaster,
    Pada tampilan tanggal pada web ini = kamis, 02 April 2009 - 09:23:31 WIB. Gimana klu pada skrip itu saya pingin tampilan tanggal seperti ini: Monday, December 20, 2010 alias untuk tanggal inggris.
    Kedua gimana klu posisi form isian komentar menjadi rata kiri dengan tulisan di sebelah kanannya berupa nama, website dan komentar itu....

  • Agus Saputra | 20 Desember 2010 - 14:34:18 WIB

    Gede @ tinggal dibalik aja formatnya jadi $bulan $tanggal $tahun, terus diubah juga casenya pake bahasa inggris, misal: januari = January, dll.

    terus untuk nama hari pake bahasa inggris,pakenya:
    $hari = date('l');
    date('l') tuh menampilkan nama hari dalam bahasa inggris = monday, sunday, dll...
    nanti pas penampilan data tanggal pada aksi PHP di tambain $hari jadi:
    $hari, $tanggal.
    jelas ga ya..

  • tomi | 22 Desember 2010 - 21:17:09 WIB

    kan aku download source kodenya ,.,
    yang kluar kok malahan cuman kode, nama barang, tanggal,stok, harga,
    maklum mas newbie .,.,
    tolong bantu ya mas

  • Agus Saputra | 23 Desember 2010 - 11:18:10 WIB

    nanti dalam source kode ada 2 file kan?
    1. folder inventory
    2. dbinventory.sql

    pertama:
    buat database baru dulu di Mysql (PhpMyAdmin), kasih nama databasenya = inventory (sesuai dengan dengan nama koneksi databasenya pada folder inventory, file barang2.php baris ke 6, mysql_select_db("inventory");

    terus klo uda bikin database baru, ga perlu buat tabel lagi, karena tabelnya uda disediakan (dbinventory.sql), yang harus dilakukan adalah mengimport dbinventory.sql itu aja ke dalam database.
    caranya klik tab import, terus pilih file dbinventory.sql, terus klik go.. nanti secara otomatis akan terisi nama tabel barang..

    klo uda tinggal langsung aja ketik url pake browser web nya : http://localhost/barang2/inventory/barang2.php

  • Dikacetik | 20 Januari 2011 - 11:01:55 WIB

    Klo untuk nama hari indonesianya gmana?

  • WorldWebDesigned.Com | 03 Februari 2011 - 13:03:55 WIB

    Mantap tutorial nya Om.. trims

  • IndoHost.Us | 13 Februari 2011 - 07:45:40 WIB

    Tutorial nya mantap nhe ,,,hahaha
    bgs nhe di cba
    http://IndoHost.Us

  • galih | 17 Februari 2011 - 20:22:40 WIB

    mantap gan makasih.....

  • zonk | 24 Februari 2011 - 11:38:44 WIB

    Mas lukman fungsi indotgl kalau di server online tidak jalan sedangkan kalu di lokaljost berfungsi gmn solusinya.
    Tanks..

  • Joule | 25 Februari 2011 - 22:06:54 WIB

    cara menampilkan stok yang ada terus "keluar jumlah yang dibeli melebihi stok yang ada" caranya nambahin biar stoknya juga kelihatan gimana Mas??
    Thanks...

  • plakat | 09 Maret 2011 - 20:08:22 WIB

    kalau pakai tanggalan jawa bisa gak gan?

  • plakat | 09 Maret 2011 - 20:09:36 WIB

    kalau pakai tanggalan jawa bisa gak gan?

  • cahyockg | 01 April 2011 - 09:59:38 WIB

    kenapa muncul error seperti ketika saya pakai fungsi_indotgl.php mohon pentunjuknya..??

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\NewCMS\config\fungsi_indotgl.php on line 6

  • Muhammad Ramzi | 18 Juni 2011 - 10:47:53 WIB

    Muwantab dehhhhhhhh,,,
    Lanjutkannn,,
    Thanks,,,
    ^_^

  • chandra | 15 September 2011 - 19:53:37 WIB

    kalau di cms blog bisa gak gan? seperti di http://copotin.com/

  • lukman | 25 September 2011 - 02:44:26 WIB

    Tolong para master..
    Knp ya klw code php tanggalnya udah di upload gk sesuai dengan tlg indo. lewat jam 12 siang baru tgl sesuai...???

  • wiliyanto | 25 September 2011 - 11:28:50 WIB

    mas buat $warna ko ga ada deklarasinya...hhe

  • Feriebolig i Thailand | 28 September 2011 - 03:32:10 WIB

    I am happy when reading your blog with updated information! thanks alot and hope that you will post more site that are related to this site.

  • Vinimport | 23 Oktober 2011 - 13:43:00 WIB

    This is a spectacular article that I have really enjoyed. Hopefully I can learn more from your valuable experience. Thanks a lot for sharing this and please keep on posting more.

  • Rengøringsmidler | 03 November 2011 - 03:36:26 WIB

    I read so many different articles.butI like your articles,and hope you will write more,and better.i will assit to reading them,thanks.

  • Dannebrogsflag | 18 Desember 2011 - 18:58:28 WIB

    I am happy when reading your blog with updated information! thanks alot and hope that you will post more site that are related to this site.

  • plakat | 15 Februari 2012 - 01:13:56 WIB

    nambah banyak ilmu di sini

  • huruf timbul | 15 Februari 2012 - 14:16:24 WIB

    sangat informatif sekali

  • huruf timbul | 15 Februari 2012 - 14:17:20 WIB

    sangat informatif sekali, thanks gan

  • Devendier | 09 Mei 2012 - 21:18:35 WIB

    Tutorialnya bagus banget. Makasih atas informasinya.

  • OLAY | 10 Juli 2012 - 12:31:53 WIB

    Informasi yang sangat bagus...semoga memberi manfaat bagi pemiliki blog dan pembacanya

  • Eman Atok | 09 Oktober 2012 - 10:52:21 WIB

    ma'f pak Lukman mau tanya dkit,,, pak cara membuat dropdown menu pada temlatenya mas Poeji tu gimana yah....? thanks

  • Daud Edison Tarigan | 04 November 2012 - 17:30:06 WIB

    wah artikel yang bagus.. jadi tambahan baru buat ane.. sebelumnya ane juga udah pernah buat tutorial yang mirip dengan ini di blog ane..

    ne link nya

    http://aplikasiphp.com/index.php/artikel/part/44/S krip_PHP_untuk_Memformat_Tanggal_Dalam_Bahasa_Indonesia

  • Kaos Distro | 05 Desember 2012 - 22:24:49 WIB

    sharenya hebat

  • jual apartemen | 22 Desember 2012 - 22:57:16 WIB

    saya nemu websitenya dari google, asik ya...

  • Plakat Akrilik | 12 Juni 2013 - 13:20:55 WIB

    Masih agak bingung...
    Tapi thanks mas lukman share infonya...

  • richi | 28 Mei 2014 - 06:43:33 WIB

    mas lukman gimana caranya untuk menampilkan data jam di databse biar otomatis ..trims bantuanya

  • gunjam | 29 Mei 2014 - 12:37:12 WIB

    mantapp

Isi Komentar