Penawaran Engine Reservasi Tiket Pesawat

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 -


 

Komentar Anda ...