Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress | Tutorial Java SE


Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP


Menentukan Nama Hari Pasaran Jawa Dari Tanggal Tertentu dengan PHP


March 18th, 2010 | by rosihanari | Cetak Artikel Cetak Artikel


GampSMS SMS Gateway

Wah… mentang-mentang orang Jawa nih ye… artikel yang ditulis berbau ke-Jawa-an. He.. 3x bukan gitu sih, soalnya beberapa waktu yang lalu ada eks mahasiswa saya yang komen di blog ini dan menanyakan gimana caranya mengetahui nama hari pasaran Jawa dari suatu tanggal tertentu dengan script PHP. Aneh.. dan sangat menggelitik juga pertanyaannya, namun sekaligus menantang. BTW… mungkin dia mau bikin script ramalan jawa berdasarkan wetonnya kali ya :-) semoga tidak lah….

Bagi yang belum tahu nama hari dalam pasaran Jawa, bahwa di Jawa, khususnya Jawa Tengah terdapat 5 nama hari khusus secara berurutan yaitu pahing, pon, wage, kliwon, legi. Jika Anda main ke Jawa Tengah, maka mungkin Anda akan menjumpai kalender yang di bawah tanggalnya terdapat nama-nama hari pasaran itu. Nah… sekarang bagaimana caranya menentukan nama hari pasaran jawa dari suatu tanggal tersebut menggunakan PHP?

OK.. ide untuk menentukan nama hari pasaran Jawa tersebut adalah dengan menggunakan konsep Modulo. Lantas implementasinya bagaimana? Nah.. langkah pertama adalah kita ambil sebarang tanggal dahulu sebagai acuan, misalkan tanggal X. Tanggal X ini kita lihat di kalender dan bertepatan dengan nama hari pasaran apa. Misalkan X ini hari pasaran Jawanya adalah ‘kliwon’, nah… selanjutnya kita buat array berisi kelima nama hari pasaran tersebut secara berurutan dengan elemen pertamanya adalah ‘kliwon’.

$hari = array('kliwon', 'legi', 'pahing', 'pon', 'wage');

Jika Anda tidak hapal urutan nama hari pasaran, bisa Anda lihat di kalender.

Selanjutnya, misalkan kita ingin mengetahui apa nama hari pasaran untuk tanggal Y? Caranya adalah dengan mencari selisih hari antara X dan Y ini. Selanjutnya selisih hari ini kita modulo dengan 5. Jika hasil modulonya sama dengan 0, maka nama pasaran tanggal Y ini adalah Kliwon (elemen array ke-0 dari $hari). Jika hasil modulo 1, hari pasarannya Legi (elemen array ke-1 dari $hari), demikian seterusnya sampai dengan jika hasil modulonya adalah 4 yaitu nama hari pasarannya Wage (elemen array ke-4 dari $hari).

Mungkin di benak Anda muncul pertanyaan, mengapa kita gunakan modulo 5? ya… karena hari pasaran itu selalu berulang setiap 5 hari terhitung dari tanggal X yang sudah kita tentukan. Saya ambil contoh, misalkan tanggal X nama hari pasarannya Kliwon. Sekarang kita ingin menentukan nama hari pasaran Y, dimana Y ini adalah 10 hari setelah X. Karena X adalah Kliwon, maka Y ini juga Kliwon karena selisih hari antara X dan Y ini merupakan kelipatan 5. Selanjutnya bagaimana jika Y ini adalah 11 hari setelah X? Ya… berarti Y ini adalah Legi, karena 11 = 10 + 1, dimana hari ke-10 itu adalah Kliwon, sehingga hari berikutnya adalah Legi. Trus… misalkan jika Y ini adalah 999 hari setelah X. Kira-kira nama hari pasaran Y ini apa ya? OK… kita tahu bahwa 999 = 995 + 4. Kita juga tahu bahwa 995 ini bilangan kelipatan 5, maka dipastikan pada tanggal yang bertepatan 995 hari setelah X itu nama hari pasarannya adalah Kliwon, dan… pada tanggal Y nya adalah Wage (4 hari setelah Kliwon). Masuk akal bukan? :-)

Nah… sekarang, bagaimana implementasi di script PHP nya? mungkin yang menjadi masalah sekarang adalah cara mencari selisih antara kedua hari itu. He.. 3x jangan khawatir karena saya telah menulis artikel cara mencari selisih hari antara dua tanggal dengan PHP.

Sothere would be no problems anymore… Ini dia script untuk menentukan nama hari pasaran jawa dari suatu tanggal tertentu.

pasaran.php

<?php

// dipilih tanggal 1 Maret 2010 sebagai acuan
// hari pasaran tanggal 1 Maret 2010 adalah 'Pon'
$tgl1 = "2010-03-01";  

// ingin mengetahui apa nama hari pasaran untuk tanggal 2 April 2010
$tgl2 = "2010-04-02"; 

// array urutan nama hari pasaran dimulai dari 'Pon'
$pasaran = array('pon', 'wage', 'kliwon', 'legi', 'pahing');

// proses mencari selisih hari antara kedua tanggal
$pecah1 = explode("-", $tgl1);
$date1 = $pecah1[2];
$month1 = $pecah1[1];
$year1 = $pecah1[0];

$pecah2 = explode("-", $tgl2);
$date2 = $pecah2[2];
$month2 = $pecah2[1];
$year2 =  $pecah2[0];

$jd1 = GregorianToJD($month1, $date1, $year1);
$jd2 = GregorianToJD($month2, $date2, $year2);

$selisih = $jd2 - $jd1;

// hitung modulo 5 dari selisih harinya
$mod = $selisih % 5;

// menampilkan nama hari pasaran, yaitu elemen ke-$mod dari array $pasaran
echo "Nama hari pasaran dari tanggal ".$tgl2." adalah ".$pasaran[$mod];
?>

Jika Anda jalankan script di atas, maka akan diperoleh nama hari pasaran tanggal 2010-04-02 adalah Kliwon. Untuk mengeceknya, silakan dilihat di kalender ya :-)

Oya.. ide dan script di atas hanya bisa diterapkan jika tanggal acuan < tanggal yang akan dicari nama hari pasarannya. Sedangkan jika kondisinya tanggal acuan > tanggal yang akan dicari nama hari pasarannya, maka ada sedikit perubahan di algoritmanya. Sedangkan urutan list arraynya sama saja.

Nah… silakan anda bereksperimen sendiri untuk mencari algoritma ketika tanggal acuan > tanggal yang akan dicari nama hari pasarannya. Bagi Anda yang sudah dapat algoritmanya, kasih tahu yang lain dengan cara mengirim komentar di bawah ini ya… Jika jawaban Anda benar, sebagai hadiahnya nanti blog Anda tak taruh di blogroll di blog ini. Lumayan kan dapat backlink :-) Selamat mencoba !!




Share ke Facebook Share ke Twitter
Baca Juga Artikel Terkait
Mengetahui Nama Hari pada Tanggal Tertentu dengan PHP
Mencari Selisih Hari dari Dua Buah Tanggal dengan PHP (Tanpa Query SQL)
Menghitung Jumlah Hari Minggu Antara Dua Tanggal
Script PHP untuk Mencari Selisih Waktu dan Tanggal
Mencari Jumlah Hari dalam Bulan Tertentu

Kata kunci: hari pasaran - pasaran jawa php - script php - script php hari jawa - script php tanggal -


Ada 16 komentar dalam artikel ini.



  1. Nice info Pak.. BTW saya juga orang jawa..wkwkwkwkwk.. o iya saya lupa saya juga bekas mahasiswa bapak lho? saya angkatan 2005 Manajemen Informatika Pak, waktu itu ikut kuliah pemrograman web. :D main ke blog saya Pak http://www.mobscript.com

  2. arief says:

    pak ada tutorial script untuk pembatasan input g ..??
    misalnya saya tidak bisa input tanggal 30 februari ,dan hanya setiap 4 thn sekali dapat input tanggal 29 , selain itu hanya sampai 28 , mohon bantuanya pak , kirim ke email saya pak .. trimakasih

  3. noe says:

    Menarik sih..
    tp saya agak bingung bahasa pak Ari yg terakhir??
    kl di baca2 sih kayanya mudah tapi saya bingung memahami kata2 terakhir pak Ari.
    “ondisinya tanggal acuan > tanggal yang akan dicari nama hari” maksudnya gimana ya..???
    kl soal algoritma sih kayanya gampang deh.
    jgn di kasih tau dulu ya pak saya mau cri dulu algonya.
    Thank’s

    • rosihanari says:

      @noe: maksudnya tanggal acuan > tanggal yang akan dicari nama hari pasarannya itu misalnya tanggal acuan yang diambil 2010-01-01 dan tanggal yang akan dicari nama harinya adalah tanggal sebelum 2010-01-01.

  4. Faris says:

    permisi numpang lewat, saya juga mau sharing disini, mohon bantuannya ya, saya dapat tugas dengan netbeans, untuk bisa menentukan hari dan pasaran apa yang didapat berdasarkan tanggal lahirnya, mohon bantuannya y….!!! :-)

  5. Mujiburrahman says:

    Assalamualaikum.

    Trima kasih atas sharing ilmunya….
    mas….saya ada kesulitan lagi ….yaitu untuk menjumlahkan tanggal/bulan/tahun. contoh kasusnya sebagai berikut : tanggal 22 – 04 – 1971 ditambah dengan 3 tahun.
    bagaimana scriptnya untuk penjumlahan tersebut, sehingga menghasilkan tanggal kira2 22-04-1974,

    saya kesulitan dalam penulisan skript tersebut, contoh kasusnya seperti ini : ktp saya dibuat tanggal 17 juni 2005, masa berlakunya adalah 5 tahun,untuk menentukan masa berakhirnya adalah : tgl ktp dibuat + 5 tahun, mhon penjelasannya untuk penulisan skriptnya, sehingga diperoleh masa kadaluarsanya : 17 juni 2010. thanks pak rosihanari.

  6. Hermanto says:

    Pak Ari,jawabannya benar Kliwon, tapi saya bingung dengan weton saya, sebab menurut akte : lahir tgl. 9 juli, menurut ibu saya 22 Nov (tahun rahasia), karena saya penggemar matematika maka kedua weton saya jumlah lalu saya bagi dua, hasilnya saya konversi lagi ke weton, bingung ya? sama, maturnuwun. salam Adibaskom

  7. ardi33 says:

    yang instant ada nggak, pak? aku bingung php niiih… :(

  8. jefry kristianto says:

    saya mau tau tanggal jawanya 23 oktober 1994. . .
    makacih

  9. sipor says:

    SAYA INGIN TAHU HARI PASARAN 4 JUNI 1993



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*