Mencari Nama Pasaran

Tidak bisa disangkal, nama pasaran sudah melekat erat di masyarakat jawa. Bagaimana cara mencarinya melalui VB?


Kamis Pahing, 9 Juni 2005

Pernah tau istilah pasaran? biasanya sih orang Jawa yang sering menggunakannya. Kata pasaran berasal dari kata pasar, yang artinya ... pasar? aku juga gak terlalu paham, meski aku jawa tulen.

Yang pasti, orang jawa memiliki penamaan hari yang lebih lengkap. Selain penamaan universal (istilah kami yaitu Nasional, untuk Senin, selasa, etc), orang jawa juga menambahkan nama lain (extended) yang akan berulang setiap 5 hari sekali, yaitu Pahing, Pon, Wage, Kliwon dan Legi.

Penamaan itu sudah paten (minimal di daerahku), yaitu jika seseorang menyatakan suatu nama hari, maka serasa belum lengkap kalo tidak ada nama pasarannya. Misalnya kalimat, 'arep ono tanggapan wayang sesuk dino Senin Legi'.

Selain sebagai pelengkap kalender, penentuan pasaran juga mempengaruhi nilai dari hari itu sendiri. Misalnya, orang yang lahir hari Sabtu Legi, memiliki karakteristik sifat lebih baik dibanding orang yang lahir hari Sabtu Wage.
Kalau sudah menyangkut hal ini, maka diluar pembahasan kali ini, mungkin di pembahasan berikutnya :-)

Pembahasan kali ini, yaitu tentang bagaimana menentukan nama hari dan nama pasaran dari suatu tanggal.

Saya sudah lama menemukan rumus ini (nemu dalam artian mencari di literatur dan ketemu, tidak membuat rumus sendiri). Saking lamanya sampai saya lupa di mana nemunya. Makasih banget udah ngasih rumus ini.

Untuk mencari nama hari, cukup pake fungsi yang disediakan VB, yaitu Weekday(tanggal)

Function NamaHari(ByVal Tgl As Date) As String
	NamaHari = Choose(Weekday(Tgl), _
		"Minggu", "Senin", "Selasa", _
		"Rabu", "Kamis", "Jum'at", "Sabtu")
End Function
Weekday akan mengembalikan nilai integer, kalo 1 berarti minggu, dst.
Karena itu kita gunakan Choose, yang mengembalikan string tergantung dari nilai kembalian Weekday.

Nah, di bawah ini baru rumus kita :-)

Function NamaPasaran(ByVal Tgl As Date) As String
Dim l
Dim s
Dim InitialDate As Date

InitialDate = DateValue("02/01/1970")
l = DateDiff("s", InitialDate, Tgl) * 1000
s = l + 86400000
s = s / 432000000
s = Round((s - Int(s)) * 10) / 2
l = Abs(Round(s))
If l > 4 Then l = 0
NamaPasaran = Choose(l + 1, _
"Wage", "Kliwon", "Legi", _
"Pahing", "Pon")
End Function

Itu rumusnya. Dulu aku dapatkan dalam primbon, di perpustakaan di Kendari, Sulawesi Tenggara. Hei, ternyata aku ingat.
Inti dari rumus tersebut adalah, dicari selisih jumlah milisecond antara tanggal yang dicari dengan tanggal 2 Januari 1970!
Lalu dihitung jumlah selisihnya sesuai rumus di atas. Nilai variabel 'l' adalah index antara 0 sampai 4. 0 berarti Wage, dst.

Setelah fungsinya selesai, kita panggil fungsi tersebut secara bersamaan, misalnya begini:

txtHari = NamaHari(Now) + " " + NamaPasaran(Now)

Maka variabel txtHari akan berisi nama hari dan nama pasaran saat ini.

That is it. Kalo mau buktikan kebenarannya, silakan cocokkan dengan kalender :-)
Selama aku pakai, masih cocok terus tuh, tapi saya juga ndak menjamin kebenarannya lho...
Yang jelas benar adalah, hari kemerdekaan kita, 17 Agustus 1945, adalah hari Jum'at ... Kliwon? lupa aku. Silakan cari sendiri deh :-)

Untuk sourcenya, silakan download Pasaran.zip.

(Aryo Sanjaya)

Daftar Komentar

Aryo Sanjaya

aryo@...  Jum'at Pahing, 24 Juni 2005

edy sutrisno

edy_ppkia@...  Rabu Kliwon, 29 Maret 2006
nambah ini mas.. bagi programer delphi Function TForm1.pasaran(tgl:variant):string; const pasar: array[0..4] of string=('Kliwon','Legi','Pahing','Pon','Wage');//pasaran jawa const nilpasar: array[0..4] of string=('8','5','9','7','4'); // nilai pasaran const nilhari: array[0..6] of string=('5','4','3','7','8','6','9');// nilai hari dimulai minggusampai sabtu var n: integer; t: string; hasil,sisa:variant; begin hasil:=tgl; sisa:=hasil mod 5; t:=floattostr(sisa); n:=strtoint(t); result:=pasar[n]; end; selamat mencoba

Aryo Sanjaya

aryo.sanjaya@...  Kamis Legi, 30 Maret 2006
Wah, makasih Edy, udah merepotkan :D Belum aku coba sih, tapi kalo itu adalah porting dari versi VB, kayaknya belum valid deh :( Karena aku sendiri ga yakin dengan yang versi VB itu. Aku yakin valid dengan rumus yang ada di artikel ini: http://www.bengkelprogram.com/data-artikel-244.bps Kalo itu udah aku test kevalidannya. Mau porting dari Java menjadi Delphi juga :D

edy sutrisno

edy_ppkia@...  Senin Kliwon, 3 April 2006
fungsi pasaran(tgl:variant):string; cara panggilnya misal : label1.caption:=pasaran(date());

Yudhi

vespa_px1980@...  Kamis Pon, 6 April 2006
Saya mau tanya tentang pasaran sabtu pahing. bagaimana watak, jodoh, rezeki, kesehatan dll?

edy sutrisno

edy_ppkia@...  Kamis Pon, 6 April 2006
sedikit ilmu klenik.. sabtu neptu =9 pahing neptu =9 jadi jumlah neptu 18, neptu yang paling tinggi diantara hari2 yang lain.. orangnya berwatak keras, kadang pendendam, suka terus terang, bila diberi A dia akan balas A. kalo lebih lengkapnya mungkib bisa di http://www.babadbali.com/pewarigaan/pewarigaan.php thanks

Aryo Sanjaya

aryo.sanjaya@...  Kamis Pon, 6 April 2006
Wah, mas Edy, makasih Linknya :D Akhirnya pembahasan mencapai taraf ini, hehehe...

sigit

sigitbhakti@...  Minggu Kliwon, 28 Mei 2006
mau tanya ni bos kalau mau ditambahi wuku yang 30 atau biar bisa tau tanggal dan bulan jawanya gimana bos, sudah coba tapi ga berhasil, soale ak memang masih baru di Programming! please bantu!

Aryo Sanjaya

aryo.sanjaya@...  Selasa Pahing, 30 Mei 2006
Sigit, Kamu punya sumber datanya? Maksudnya acuan untuk membuat konversi semacam itu. Aku dulu pernah buat, tapi kurang yakin dengan ketelitiannya :(

sigit

sigitbhakti@...  Rabu Pon, 31 Mei 2006
buka aja www.babadbali.com, kayaknya disites itu juga ada fasilitas buat mencari wuku dan tanggal jawanya , komplit!tapi pake PHP mungkin, klo coba diview source trus diporting ke VB, gmn?


URL: http://www.bengkelprogram.com/data-artikel-98.0.bps