Skip to main content

Aplikasi Mencari Hari Pasaran Jawa

Anda mau menjodohkan anak, mau ada hajatan misal kawinan, khitan, dan lain-lain, biasanya orang Jawa disamping menggunakan hari biasa, sering menggunakan hari Pasaran yang terdiri dari 5 hari, yaitu Pon, Wage, Kliwon, Legi dan Pahing. Tapi sering kali kita lupa akan hari pasaran dari tanggal lahir anak kita, atau bahkan hari pasaran tanggal lahir kita sendiri. Dulu sebelum kenal Lazarus aku biasa menggunakan tabel (dari majalah Liberty 1716, 16-31 Desember1989 ) untuk mencari hari pasaran secara manual, silahkan lihat gambar di bawah ini dan coba praktekkan:

Mencari Hari Tanggal
Tabel Mencari Hari dari suatu Tanggal

Cari Pasaran Tanggal
Tabel Mencari Pasaran dari suatu Tanggal

Kalau dengan cara tabel seperti gambar di atas terlalu ribet, sekarang mari kita buat aplikasi sederhana uncuk mencari Hari Pasaran Jawa, sehingga anda bisa mengetahui hadi lahir dan pasaran diri sendiri, sanak keluarga maupun teman-teman.

Desain Visual.Aplikasi Mencari Hari Pasaran Jawa

TForm1, dengan properties (Name: FPasaran, Caption: Hari Pasaran, Position: poScreenCenter)

Tempatkan komponen-komponen berikut pada FPasaran:

TDateEditor, dengan properties (Name: DETanggal, DirectInput: False)
Label1, dengan properties (Caption: Tanggal)
Label2, dengan properties (Caption: Hari)
Label3, dengan properties (Caption: Pasaran)
Label4, dengan properties (Name: LHari, Caption: -)
Label5, dengan properties (Name: LPasaran, Caption: -)

Desain Form Aplikasi hari pasaran
Tampilan Desain Form Aplikasi Hari Pasaran

Setelah desain visualnya selesai, silahkan simpan dengan nama pasaran.lpi dan upasaran.pas. Selanjutnya mari kitta masuk ke pemrograman non visual:
  • Tambahkan unit dateutils seperti gambar di bawah ini:
memasukkan-unit-dateutils
Tambahkan unit dateutils
  • Tambahkan variabel:
Patokanhari: real;
Sisahari: integer; 


  • Buat procedure pada event onclick pada komponen DETanggal
procedure TFPasaran.DETanggalChange(Sender: TObject);
begin
  LHari.Caption:=formatdatetime('dddd',DETanggal.Date);
  Patokanhari:=(DateTimeToJulianDate(DETanggal.Date)-DateTimeToJulianDate(27/03/2015));
  Sisahari:= strtoint(floattostr(Selisihhari)) mod 5;
  Case sisahari of
  0: LPasaran.Caption:='Kliwon';
  1: LPasaran.Caption:='Legi';
  2: LPasaran.Caption:='Pahing';
  3: LPasaran.Caption:='Pon';
  4: LPasaran.Caption:='Wage';
  end;
end;

Source Code lengkap Aplikasi Hari Pasaran

unit upasaran;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, dateutils,
  EditBtn, StdCtrls;

type

  { TFPasaran }

  TFPasaran = class(TForm)
    DETanggal: TDateEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    LPasaran: TLabel;
    LHari: TLabel;
    procedure DETanggalChange(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FPasaran: TFPasaran;
  Patokanhari: real;
  Sisahari: integer;

implementation

{$R *.lfm}

{ TFPasaran }

procedure TFPasaran.DETanggalChange(Sender: TObject);
begin
  LHari.Caption:=formatdatetime('dddd',DETanggal.Date);
  Patokanhari:=(DateTimeToJulianDate(DETanggal.Date)-DateTimeToJulianDate(27/03/2015));
  Sisahari:= strtoint(floattostr(Selisihhari)) mod 5;
  Case sisahari of
  0: LPasaran.Caption:='Kliwon';
  1: LPasaran.Caption:='Legi';
  2: LPasaran.Caption:='Pahing';
  3: LPasaran.Caption:='Pon';
  4: LPasaran.Caption:='Wage';
  end;
end;

end.


Tampilan aplikasi Mencari Hari pasaran Jawa ketika sedang dijalankan dan kita memilih tanggal seperti gambar di bawah ini:

Penjelasan Aplikasi Mencari Hari Pasaran Jawa


LHari.Caption:=formatdatetime('dddd',DETanggal.Date);
Kode diatas berfungsi untuk mencari hari dari suatu tanggal.

Patokanhari:=(DateTimeToJulianDate(DETanggal.Date)-DateTimeToJulianDate(27/03/2015));
Kode diatas adalah untuk mencari patokan dari perhitungan urut-urutan pasaran jawa, kebetulan waktu aku membuat aplikasi Mencari Hari Pasaran Jawa pada tanggal 27/03/2015 jadi pada tanggal tersebut yang aku jadikan patokan dan harinya adalah Jum'at Kliwon. Jika saya pilih tanggal 27/03/2015 pada Tanggal maka Patokanhari akan menghasilkan angka 42090 yang berasal dari (27/03/2015 - 27/03/2015).

Sisahari:= strtoint(floattostr(Patokanhari)) mod 5;
Seperti telah aku jelaskan pada paragraf pertama, pasaran Jawa terdiri dari 5 hari yaitu dengan urut0urutan: Pon, Wage, Kliwon, Legi dan Pahing. Maka utuk mencari pasaran jawa kita bagi 5 dari hasil Patokanhari, kebetulan Modulus (sisa pembagian) dari Patokanhari dengan 5 adalah 0; ( 42090 mod 5 = 0 ) dan jatuh pada pasaran jawa Kliwon.

Case sisahari of
  0: LPasaran.Caption:='Kliwon';
  1: LPasaran.Caption:='Legi';
  2: LPasaran.Caption:='Pahing';
  3: LPasaran.Caption:='Pon';
  4: LPasaran.Caption:='Wage';
end;

Dari kode atas dapat dijelaskan bahwa jika sisahari = 0 maka pasaran jawanya adalah Kliwon, begitu seterusnya dengan sisahari = 1 maka pasaran jawa setelah Kliwon adalah Legi, sisahari 2 = Pahing, sisahari 3 = Pon dan sisahari 4 = Wage.

Demikian Aplikasi sederhana tentang cara mencari hari pasaran jawa, semoga bermanfaat, di aplikasi ini terdapat sedikit kekurangan yaitu aku tidak memperhitungkan ada perubahan tanggal pada waktu jaman romawi dulu, seingatku pernah diloncat harinya sehingga tidak urut dari awal lagi, tepatnya entah bagaimana saya lupa referensinya di mana, silahkan disempurnakan sendiri ya aplikasi ini, untuk pencarian tahun 1900 keatas insyaallah akurat, selamat mencoba.

Comments

Popular posts from this blog

Inilah Kelebihan dan Kekurangan SQLite

  Artikel ini akan membahas tentang, tipe data yang didukung SQLite,  kelebihan dari SQLite, kekurangan SQLite, kapan sebaiknya ketika menggunakan SQLite dan kapan sebaiknya kita tidak menggunakan SQLite. Merujuk dari id.wikipedia.org disebutkan bahwa SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp . SQLite adalah perpustakaan menakjubkan yang disematkan di dalam aplikasi yang menggunakan. Sebagai database mandiri, berbasis file, SQLite menawarkan serangkaian menakjubkan alat untuk menangani segala macam data dengan jauh lebih sedikit kendala dan kemudahan dibandingkan dengan host, proses berbasis (server) database relasional. Ketika sebuah aplikasi menggunakan SQLite, integrasi bekerja dengan panggilan fungsional dan langsung dibuat untuk file memegang data (yaitu ...

Penggunaan Komponen RadioGroup Lazarus Free Pascal (Belajar Lazarus #10)

Pada Tutorial Penggunaan Komponen RadioGroup Lazarus Free Pascal kali ini bertujuan untuk memahami cara penggunaan RadioGroup serta penerapan pernyataan / statement CASE. Untuk itu maka silahkan buka kembali proyek aplikasi kasiratk yang telah anda buat sebelumnya. Untuk mengingat kembali jika lupa silahkan buka kembali tutorial RadioGroup dan Validasi Data . KOMPONEN RADIOGROUP RadioGroup adalah gabungan dari komponen RadioButton dan komponen GroupBox, fungsinya sama dengan komponen RadioButton. Setelah program aplikasi kasiratk terbuka, ikuti langkah-langkah di bawah ini: LANGKAH-LANGKAH PENAMBAHAN KOMPONEN & PROPERTIES : Ubah aplikasi yang memakai RadioButton dengan RadioGroup, caranya dengan klik GroupBox, lalu tekan tombol Delete, maka ketiga komponen RadioButton didalamnya akan ikut terhapus. Tempatkan komponen RadioGroup di tempat GroupBox. Ubah Name menjadi RGBarang dan Caption-nya menjadi Nama Barang. Klik tombol [,,,] pada Properties Items milik komponen RGBar...

Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox (Belajar Lazarus #14)

Mempelajari Listbox yang Owner-Draw Lazarus telah kita bahas pada artikel sebelumnya, sekarang mari kita buat Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox . CheckBox memberi dua pilihan (bahkan tiga pilihan) kepada pemakai, properti yang berkaitan dengan pilihan pada CheckBox yaitu: Ubah property Checked menjadi True agar CheckBox dipilih secara default. Ubah AllowGrayed menjadi True agar CheckBox mempunyai 3 pilihan, yaitu checked , unchecked dan grayed . Property State menyatakan apakah CheckBox dalam keadaan checked ( cbChecked ), unchecked ( cbUnchecked ), atau grayed ( cbGrayed ). Memo dipakai untuk memasukkan data yang lebih dari satu barus. ListBox menampilkan daftar dan Anda dapat memilih item-itemnya: Property Items dibakai untuk mengisi pilihan-pilihan yang mungkin. ItemIndex menyatakan item yang dipilih.  MultiSelect menyatakan apakah dapat memilih lebih dari satu pilihan pada saat yang bersamaan. Sorted menyatakan apakah daftar terurut sec...