11 Maret 2013

PROGRAM PENCARI HARI DAN PASARAN

Berawal dari penasaran saya saat saya lahir itu pada hari apa dan pasarannya apa. Yang di maksud dengan pasaran adalah PON, WAGE, KLIWON, LEGI, PAHING. Biasanya orang-orang  tertentu menggandengkan hari dengan pasarannya misalkan sekarang adalah hari SENIN WAGE. Untuk mencari hari tidaklah begitu susah karena di HP saya ada fasilitas kalender yang bisa di gunakan untuk mencari hari pada tanggal tetentu. Tetapi saya kesulitan mencari pasarannya karena harus menghitung dulu dan agak ribet juga..  Akhirnya terbesit keinginan untuk membuat program pencari hari dan pasarannya dengan BAHASA PROGRAM DELPHI dan bisa di download DISINI. Bagi yang belum tau bahasa delphi baca Berkenalan dengan delphi dan sejarah bahasa program delphi.
Sebenarnya tanpa bantuan program kita bisa menghitung hari dan pasaran pada tanggal tertantu, walaupun kita harus menghitung dan agak ribet juga. Caranya adalah kita cari dulu sekarang atau pada tanggal tentu itu hari dan pasarannya apa. Hal ini di gunakan sebagai patokan. Misalkan pada tanggal 11 maret 2013 adalah hari SENIN WAGE. Dan sekarang kita tentukan kita mencari hari dan pasaran pada tanggal berapa?.
·      Untuk hari sebelum tanggal 11 Maret 2013 perhatikan tabel 1 :
SISA
HARI
PASARAN
0
Senin
Wage
1
Minggu
Pon
2
Sabtu
Pahing
3
Jumat
Legi
4
Kamis
Kliwon
5
Rabu

6
Selasa

·      Untuk Hari sesudah tanggal 11 Maret 2013 perhatikan tabel  2:
SISA
HARI
PASARAN
0
Senin
Wage
1
Selasa
Kliwon
2
Rabu
Legi
3
Kamis
Pahing
4
Jumat
Pon
5
Sabtu

6
Minggu

Sekarang misalnya kita ingin mencari tanggal 30 Desember 2012 itu hari dan pasarannya apa. Kita hitung dulu berapa hari selisih antara tanggal 30 Desember 2012 sampai 11 Maret 2013. Dan ketemu selisih 71 hari. Setelah itu:
-       Untuk mencari hari, hitung 71/7 sama dengan 10 sisa 1. Perhatikan sisanya dan lihat tabel yang sebelum tanggal 11 Maret 2013 Karena sisa 1 maka tanggal 30 Desember 2012 adalah hari MINGGU.
-       Untuk mencari Pasaran, Hitung 71/5 ketemu 14 dan sisa 1. Perhatikan sisanya dan lihat tabel yang sebelum tanggal 11 Maret 2013 Karena sisa 1 maka tanggal 30 Desember 2012 pasarannya adalah PON.
Jadi Tanggal 30 Desember 2012 adalah hari MINGGU PON.
Untuk menghitung hari sesudah tanggal 11 maret 2013 caranya adalah sama tetapi tabel yang digunakan adalah tabel yang sesudah tanggal 11 maret 2013.
Ternyata susah jugakan kalau di hitung secara manual?. Untuk mempermudah pencarian sehingga kita tinggal memasukkan tanggal yang ingin kita cari dan tinggal klik maka kita bisa membuat program pencari hari dan pasarannya dengan bahas program DELPHI. Saya telah telah menbuatnya dan tampilannya adalah sebagi berikut : 
Dengan program tersebut kita tinggal memasukkan tanggal dan klik cari maka akan tampil hari dan pasarannya juga. Selain itu program tersebut selalu menampilkan tanggal, hari dan pasaran di saat kita membuka program tersebut.
Cara membuat program tersebut prinsipnya dan prosesnya adalah sama dengan kita menghitung secara manual di atas. Jika di buat digram blok maka adalah sebagai berikut :
Adapun code programnya adalah sebagai berikut : 

procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption:='Masukkan Hari, Bulan, dan Tahun'
                +#13+'Yang akan Dicari Hari dan Pasarannya';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var skrg : Real;
    nlai,pas,har :integer;
    pasar,hri :String;
begin
DateTimePicker2.Date:=Now;
skrg:=DateTimePicker2.Date;
if skrg<40010 then
  begin
  nlai:=StrToInt(FloatToStr(40010-skrg));
  pas:=nlai mod 5;
    case pas of
    0: pasar:=' KLIWON ';
    1: pasar:=' WAGE ';
    2: pasar:=' PON ';
    3: pasar:=' PAHING ';
    4: pasar:=' LEGI ';
    end;
  har:=nlai mod 7;
    case har of
    0: hri:=' KAMIS ';
    1: hri:=' RABU ';
    2: hri:=' SELASA ';
    3: hri:=' SENIN ';
    4: hri:=' MINGGU ';
    5: hri:=' SABTU ';
    6: hri:=' JUMAT ';
    end;
  end
  else
  begin
  nlai:=StrToInt(FloatToStr(skrg-40010));
  pas:=nlai mod 5;
    case pas of
    0: pasar:=' KLIWON ';
    1: pasar:=' LEGI ';
    2: pasar:=' PAHING ';
    3: pasar:=' PON ';
    4: pasar:=' WAGE ';
    end;
  har:=nlai mod 7;
    case har of
    0: hri:=' KAMIS ';
    1: hri:=' JUMAT ';
    2: hri:=' SABTU ';
    3: hri:=' MINGGU ';
    4: hri:=' SENIN ';
    5: hri:=' SELASA ';
    6: hri:=' RABU ';
    end;
  end;
Label2.Caption:='Sekarang Adalah Hari'+hri+pasar+#13+
'Tanggal '+DateToStr(skrg)+'  Pukul '+TimeToStr(now);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var cari : Real;
    nilai,sisapas,sisahar :integer;
    pasaran,hari :String;
begin
cari:=DateTimePicker1.Date;
  if cari<40010 then
  begin
  nilai:=StrToInt(FloatToStr(40010-cari));
  sisapas:=nilai mod 5;
    case sisapas of
    0: pasaran:=' KLIWON ';
    1: pasaran:=' WAGE ';
    2: pasaran:=' PON ';
    3: pasaran:=' PAHING ';
    4: pasaran:=' LEGI ';
    end;
  sisahar:=nilai mod 7;
    case sisahar of
    0: hari:=' KAMIS ';
    1: hari:=' RABU ';
    2: hari:=' SELASA ';
    3: hari:=' SENIN ';
    4: hari:=' MINGGU ';
    5: hari:=' SABTU ';
    6: hari:=' JUMAT ';
    end;
  end
  else
  begin
  nilai:=StrToInt(FloatToStr(cari-40010));
  sisapas:=nilai mod 5;
    case sisapas of
    0: pasaran:=' KLIWON ';
    1: pasaran:=' LEGI ';
    2: pasaran:=' PAHING ';
    3: pasaran:=' PON ';
    4: pasaran:=' WAGE';
    end;
  sisahar:=nilai mod 7;
    case sisahar of
    0: hari:=' KAMIS ';
    1: hari:=' JUMAT ';
    2: hari:=' SABTU ';
    3: hari:=' MINGGU ';
    4: hari:=' SENIN ';
    5: hari:=' SELASA ';
    6: hari:=' RABU ';
    end;
  end;
Label3.Caption:='Tanggal '+DateToStr(cari)+#13
              +'Adalah Hari '+hari+pasaran;
end; 
kode program warna merah adalah untuk menampilkan tanggal hari dan pasaran pada tanggal saat kita membuka program. Sedangkan kode program yang warna hitam adalah untuk mencari hari pasaran pada tanggal yang kita masukkan atau yang ingin kita cari.
Bagi yang gak ingin susah-susah menghitung manual atau gak mau bikin programnya gisa download program buatan saya DISINI
Oke terima kasih cukup sekian semoga bermanfaat.. Kritik dan saran atau sharing positifnya di tunggu lewat komentarnya. J

4 komentar:

  1. waduhhh bingumg malahan Mbah..? susah juga ngitungnya maklum belum hafal matematika hehehe :)

    BalasHapus
  2. mbah casper arab kalau gak mau bingung download aja programnya...hehehe
    . udah tak tambahkan linknya... oke.. trims

    BalasHapus
  3. isi blog nya bagus kakak,,,
    jika kita ingin menentukan hari aja gimana ya? gak pake pasarannya...
    apakah bisa bantu?

    BalasHapus
  4. bang kalo ditambahin hari sebelum dan sesudah N gimana? bantu dong
    kalo mau jawab di e-mail aku playboy.cupu@gmail.com
    tapi cepet ya ^^

    BalasHapus