Faraid-S09:Under Construction
Nak berkongsi sedikit info. Sekarang ni, aku sedang menulis engine perkiraan faraid secara online. Maaflah, masih belum dibuka untuk penggunaan umum. Secara konsepnya, enjin pengira ini dibangunkan menggunakan bahasa PHP. Medium bahasanya adalah Bahasa Melayu dan Bahasa Inggeris. Perkiraannya adlah berdasarkan kiraan Shakil Ahmad Khan dalam buku beliau How to Calculate Inheritance - a simple appoarch. Sasaran enjin ini adalah penyelesaian sehingga tahap lapisan ketiga. Sekarang baru sampai peringkat ashabul furudh, perkiraan asal masalah. InsyaAllah, dalam tempoh beberapa bulan lagi enjin ini akan dibuka kepada umum.
Dalam servey yang dibuat, masih belum lagi terdapat calculation online kecuali yang digunapakai oleh JKSM dalam e-syariah. Tapi, sistem online ini hanya berbentuk penentuan kadar bahagian dan tidak dibuat secara komprehensive. Justeru, enjin yang saya bangunkan ini adalah lebih komprehensive yang menggabungkan elemen-elemen utama dalam kiraan faraidh iaitu penentuan waris yang layak dan waris terhijab, kadar ditentukan, asal masalah, kadar pengiraan dan amaun bahagian. Setiap pengiraan juga akan menerbitkan nas-nas yang membincangkan mengenai hasil kiraan.
Enjin ini dibangunkan untuk tujuan pendidikan dan bukannya legal dokumen seperti sijil faraid. Ianya tidak boleh ditender di mahkamah. Berikut adalah code yang dibangunkan dari kosong... -ah.
function devide($fo){
$fg = explode ("/",$fo);
return $fg[0] / $fg[1];
}
function asabah_pok($as) {
$df = array();
$df[0] = "Tidak asabah kerana si mati ada anak, hanya mengambil 1/6 bahagian";
$df[1] = "Asabah bersama bahagian bapa iaitu 1/6";
$df[2] = "Mengambil semua lebihan";
return $df[$as];
}
function ShowError($msg){
echo "Fatal script error. Script could not continue.
".$msg."";
exit;
}
//data simati
$simati = "Maimunah Sulaiman";
//first layer - ashabul furud // no elimination check required //
$bapa = 1;
$ibu = 1;
$wife = 0;
$hubby = 1;
$alelaki = 0;
$apuan = 1;
//second layer
$cucu_laki = 0;
$cucu_puan = 0;
$sedara_k_l = 0;
$sedara_k_p = 0;
$sedara_s_l = 0;
$sedara_s_p = 0;
$sedara_i_p = 0;
$sedara_i_l = 0;
$sedara_y_l = 0;
$sedara_y_p = 0;
$cucu_laki_anak_laki = 0;
$cucu_puan_anak_laki = 0;
//def
$spouse = $suami + $isteri;
$cucu = $cucu_lelaki + $cucu_puan;
$anak = $alelaki + $apuan;
$sedara = $sedara_k_l + $sedara_k_p + $sedara_s_l + $sedara_s_p + $sedara_i_p + $sedara_i_l + $sedara_y_l + $sedara_y_p;
$sedara_l = $sedara_k_l + $sedara_s_l + $sedara_i_l + $sedara_y_l;
$sedara_p = $sedara_k_p + $sedara_s_p + $sedara_i_p + $sedara_y_p;
//$cucu_anak_puan = 0;
//harta
$harta = 120000;
$htg = 20000;
//settings
$show_value = true;
$show_frac = true;
//we manage husband and wife first, it is stright forward.
if ($wife > 0 && $hubby > 0) {
//it's means the data not correct. so fatal error
ShowError("Sorry, husband and wife are cannot be compute in a single faraidh certificate.");
}
if ($hubby > 0) { //if suami is larger than 1//
if($anak == 0 && $cucu_laki_anak_lelaki == 0) { //if combination of anak (son or daug equal to 0 and there is no son's child)
$suami_frac = "1/2";
}else{
$suami_frac = "1/4";
}
$suami = devide($suami_frac) * $harta;
$spause_mode = 1;
}
if ($wife > 0) { //if suami exist
if($anak == 0 && $cucu_laki_anak_lelaki == 0) {
$isteri_frac = "1/4";
}else{
$isteri_frac = "1/8";
}
$isteri = devide($isteri_frac) * $harta;
$spause_mode = 1;
}
//we manage daughter
if ($apuan > 0) {
if ($apuan == 1 && $alelaki == 0) { //meaning daug is exist only one, but no son left behind
$apuan_frac = "1/2";
$apuan_baki = 0;
}elseif($apuan > 1 && $alelaki == 0) { //meaning no son, but daug left are more than 1.
$apuan_frac = "2/3";
$apuan_baki = 0;
}elseif($alelaki > 0) { //meaning son exist but even one//
$apuan_frac = "Asabah Bighairihi - kongsi lebihan dengan anak lelaki";
$apuan_baki = 1; //apuan baki meaning she will take asabah with ratio 1:2 with sons//
}
$apuan_mode = 1;
}
//we manage father mode, if exist
if ($bapa > 0) {
if ($alelaki > 0 || $cucu_laki_anak_laki > 0) { // son(s) exist. not asabah, just take 1 out of 6 prop//
$bapa_frac = "1/6";
$bapa_asabah = 0;
}elseif (($alelaki == 0 || $cucu_laki_anak_laki == 0) && ($apuan > 0 || $cucu_puan_anak_laki > 0)){
$bapa_frac = "1/6";
$bapa_asabah = 1; // father will take asabah but first take his portion of 1/6 of prop //
}elseif (($alelaki == 0 || $cucu_laki_anak_laki == 0) && ($apuan == 0 || $cucu_puan_anak_laki == 0)){
$bapa_frac = "1";
$bapa_asabah = 2; // no son or daug. father will act as asabah.
}
$bapa_mode = 1;
}
//we manage mother mode
if ($ibu > 0) {
if ($anak > 0 || $cucu_laki_anak_laki > 0 || $sedara_k_l+$sedara_k_p > 1 || $sedara_y_l+$sedara_y_p > 1 ) {
$ibu_frac = "1/6";
$ibu_baki = 0;
}elseif($anak == 0 && $cucu_laki_anak_laki == 0 && $sedara_k_l+$sedara_k_p < 2 || $sedara_y_l+$sedara_y_p < 2) {
$ibu_frac = "1/3";
$ibu_baki = 0;
}elseif ($bapa_mode == 1 && $spause_mode == 1){
if ($anak == 0 && $sedara == 0 && $cucu_laki_anak_laki == 0) {
$ibu_frac = "1/3 baki";
$ibu_baki = 1;
}
}
$ibu_mode = 1;
}
//calculation base on father as he is unique qith 3 types of asabah...
//ok, if father exist...
if ($bapa_mode == 1) {
if ($bapa_asabah == 2) {
if ($ibu_baki == 1) {
$ibu = devide("1/3") * ($harta-$suami);
$bapa = $harta - ($ibu+$suami);
}else{
$ibu = devide($ibu_frac) * $harta;
$bapa = $harta - ($ibu+$suami);
}
} elseif ($bapa_asabah == 1) {
$anakp = devide($apuan_frac) * $harta;
$bapa = devide($bapa_frac) * $harta;
$ibu = devide($ibu_frac) * $harta;
$tbapa = $harta - ($ibu+$suami+$bapa+$anakp+$isteri);
}elseif ($bapa_asabah == 0) { //meaning anak lelaki atau cucu lelaki kepada anak lelaki ada
$ibu = devide($ibu_frac) * $harta;
$bapa = devide($bapa_frac) * $harta;
$baki = $harta - ($ibu+$bapa+$suami+$isteri);
$eanak = $baki / (($alelaki*2)+$apuan);
$anakp = $apuan ." x ". $eanak;
$anakl = $alelaki . " x " . ($eanak * 2);
}
}
echo "Harta Seluruh: " . $harta . "
";
echo "Bahagian Ibu: " . $ibu_frac . "
";
echo "Bahagian Suami: " . $suami_frac . "
";
echo "Bahagian Isteri: " . $isteri_frac . "
";
echo "Bahagian Bapa: " . $bapa_frac . "
";
echo "Bahagian Anak Perempuan: " . $apuan_frac . "
";
echo "Jenis Asabah Bapa: " . asabah_pok($bapa_asabah) . "
";
echo "Amoun Ibu: " . $ibu . "
";
echo "Amoun Suami: " . $suami . "
";
echo "Amoun Isteri: " . $isteri . "
";
echo "Amoun Bapa: " . $bapa . "
";
if ($bapa_asabah == 1) {
echo "Asabah Bapa: ". $tbapa . "
";
}
echo "Amoun Anak (P): " . $anakp . "
";
echo "Amoun Anak (L): " . $anakl . "
";
?>
Dalam servey yang dibuat, masih belum lagi terdapat calculation online kecuali yang digunapakai oleh JKSM dalam e-syariah. Tapi, sistem online ini hanya berbentuk penentuan kadar bahagian dan tidak dibuat secara komprehensive. Justeru, enjin yang saya bangunkan ini adalah lebih komprehensive yang menggabungkan elemen-elemen utama dalam kiraan faraidh iaitu penentuan waris yang layak dan waris terhijab, kadar ditentukan, asal masalah, kadar pengiraan dan amaun bahagian. Setiap pengiraan juga akan menerbitkan nas-nas yang membincangkan mengenai hasil kiraan.
Enjin ini dibangunkan untuk tujuan pendidikan dan bukannya legal dokumen seperti sijil faraid. Ianya tidak boleh ditender di mahkamah. Berikut adalah code yang dibangunkan dari kosong... -ah.
function devide($fo){
$fg = explode ("/",$fo);
return $fg[0] / $fg[1];
}
function asabah_pok($as) {
$df = array();
$df[0] = "Tidak asabah kerana si mati ada anak, hanya mengambil 1/6 bahagian";
$df[1] = "Asabah bersama bahagian bapa iaitu 1/6";
$df[2] = "Mengambil semua lebihan";
return $df[$as];
}
function ShowError($msg){
echo "Fatal script error. Script could not continue.
".$msg."";
exit;
}
//data simati
$simati = "Maimunah Sulaiman";
//first layer - ashabul furud // no elimination check required //
$bapa = 1;
$ibu = 1;
$wife = 0;
$hubby = 1;
$alelaki = 0;
$apuan = 1;
//second layer
$cucu_laki = 0;
$cucu_puan = 0;
$sedara_k_l = 0;
$sedara_k_p = 0;
$sedara_s_l = 0;
$sedara_s_p = 0;
$sedara_i_p = 0;
$sedara_i_l = 0;
$sedara_y_l = 0;
$sedara_y_p = 0;
$cucu_laki_anak_laki = 0;
$cucu_puan_anak_laki = 0;
//def
$spouse = $suami + $isteri;
$cucu = $cucu_lelaki + $cucu_puan;
$anak = $alelaki + $apuan;
$sedara = $sedara_k_l + $sedara_k_p + $sedara_s_l + $sedara_s_p + $sedara_i_p + $sedara_i_l + $sedara_y_l + $sedara_y_p;
$sedara_l = $sedara_k_l + $sedara_s_l + $sedara_i_l + $sedara_y_l;
$sedara_p = $sedara_k_p + $sedara_s_p + $sedara_i_p + $sedara_y_p;
//$cucu_anak_puan = 0;
//harta
$harta = 120000;
$htg = 20000;
//settings
$show_value = true;
$show_frac = true;
//we manage husband and wife first, it is stright forward.
if ($wife > 0 && $hubby > 0) {
//it's means the data not correct. so fatal error
ShowError("Sorry, husband and wife are cannot be compute in a single faraidh certificate.");
}
if ($hubby > 0) { //if suami is larger than 1//
if($anak == 0 && $cucu_laki_anak_lelaki == 0) { //if combination of anak (son or daug equal to 0 and there is no son's child)
$suami_frac = "1/2";
}else{
$suami_frac = "1/4";
}
$suami = devide($suami_frac) * $harta;
$spause_mode = 1;
}
if ($wife > 0) { //if suami exist
if($anak == 0 && $cucu_laki_anak_lelaki == 0) {
$isteri_frac = "1/4";
}else{
$isteri_frac = "1/8";
}
$isteri = devide($isteri_frac) * $harta;
$spause_mode = 1;
}
//we manage daughter
if ($apuan > 0) {
if ($apuan == 1 && $alelaki == 0) { //meaning daug is exist only one, but no son left behind
$apuan_frac = "1/2";
$apuan_baki = 0;
}elseif($apuan > 1 && $alelaki == 0) { //meaning no son, but daug left are more than 1.
$apuan_frac = "2/3";
$apuan_baki = 0;
}elseif($alelaki > 0) { //meaning son exist but even one//
$apuan_frac = "Asabah Bighairihi - kongsi lebihan dengan anak lelaki";
$apuan_baki = 1; //apuan baki meaning she will take asabah with ratio 1:2 with sons//
}
$apuan_mode = 1;
}
//we manage father mode, if exist
if ($bapa > 0) {
if ($alelaki > 0 || $cucu_laki_anak_laki > 0) { // son(s) exist. not asabah, just take 1 out of 6 prop//
$bapa_frac = "1/6";
$bapa_asabah = 0;
}elseif (($alelaki == 0 || $cucu_laki_anak_laki == 0) && ($apuan > 0 || $cucu_puan_anak_laki > 0)){
$bapa_frac = "1/6";
$bapa_asabah = 1; // father will take asabah but first take his portion of 1/6 of prop //
}elseif (($alelaki == 0 || $cucu_laki_anak_laki == 0) && ($apuan == 0 || $cucu_puan_anak_laki == 0)){
$bapa_frac = "1";
$bapa_asabah = 2; // no son or daug. father will act as asabah.
}
$bapa_mode = 1;
}
//we manage mother mode
if ($ibu > 0) {
if ($anak > 0 || $cucu_laki_anak_laki > 0 || $sedara_k_l+$sedara_k_p > 1 || $sedara_y_l+$sedara_y_p > 1 ) {
$ibu_frac = "1/6";
$ibu_baki = 0;
}elseif($anak == 0 && $cucu_laki_anak_laki == 0 && $sedara_k_l+$sedara_k_p < 2 || $sedara_y_l+$sedara_y_p < 2) {
$ibu_frac = "1/3";
$ibu_baki = 0;
}elseif ($bapa_mode == 1 && $spause_mode == 1){
if ($anak == 0 && $sedara == 0 && $cucu_laki_anak_laki == 0) {
$ibu_frac = "1/3 baki";
$ibu_baki = 1;
}
}
$ibu_mode = 1;
}
//calculation base on father as he is unique qith 3 types of asabah...
//ok, if father exist...
if ($bapa_mode == 1) {
if ($bapa_asabah == 2) {
if ($ibu_baki == 1) {
$ibu = devide("1/3") * ($harta-$suami);
$bapa = $harta - ($ibu+$suami);
}else{
$ibu = devide($ibu_frac) * $harta;
$bapa = $harta - ($ibu+$suami);
}
} elseif ($bapa_asabah == 1) {
$anakp = devide($apuan_frac) * $harta;
$bapa = devide($bapa_frac) * $harta;
$ibu = devide($ibu_frac) * $harta;
$tbapa = $harta - ($ibu+$suami+$bapa+$anakp+$isteri);
}elseif ($bapa_asabah == 0) { //meaning anak lelaki atau cucu lelaki kepada anak lelaki ada
$ibu = devide($ibu_frac) * $harta;
$bapa = devide($bapa_frac) * $harta;
$baki = $harta - ($ibu+$bapa+$suami+$isteri);
$eanak = $baki / (($alelaki*2)+$apuan);
$anakp = $apuan ." x ". $eanak;
$anakl = $alelaki . " x " . ($eanak * 2);
}
}
echo "Harta Seluruh: " . $harta . "
";
echo "Bahagian Ibu: " . $ibu_frac . "
";
echo "Bahagian Suami: " . $suami_frac . "
";
echo "Bahagian Isteri: " . $isteri_frac . "
";
echo "Bahagian Bapa: " . $bapa_frac . "
";
echo "Bahagian Anak Perempuan: " . $apuan_frac . "
";
echo "Jenis Asabah Bapa: " . asabah_pok($bapa_asabah) . "
";
echo "Amoun Ibu: " . $ibu . "
";
echo "Amoun Suami: " . $suami . "
";
echo "Amoun Isteri: " . $isteri . "
";
echo "Amoun Bapa: " . $bapa . "
";
if ($bapa_asabah == 1) {
echo "Asabah Bapa: ". $tbapa . "
";
}
echo "Amoun Anak (P): " . $anakp . "
";
echo "Amoun Anak (L): " . $anakl . "
";
?>
Comments