"XX",30=>"XXX",40=>"XL",50=>"L",60=>"LX",70=>"LXX",80=>"LXXX",90=>"XC",100=>"C",200=>"CC",300=>"CCC",400=>"CD",500=>"D",600=>"DC",700=>"DCC",800=>"DCCC",900=>"CM",1000=>"M",2000=>"MM",3000=>"MMM"]; if (array_key_exists($n, $iromawi)) { $hasil = $iromawi[$n]; } else if ($n >= 11 && $n <= 99) { $i = $n % 10; $hasil = $iromawi[$n-$i] . Romawi($n % 10); } else if ($n >= 101 && $n <= 999) { $i = $n % 100; $hasil = $iromawi[$n-$i] . Romawi($n % 100); } else { $i = $n % 1000; $hasil = $iromawi[$n-$i] . Romawi($n % 1000); } return $hasil; } } if (!function_exists('abjad')) { function abjad(int $n): string { $_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; return substr($_str, ($n-1), 1); } } /*************************** FORM CONTROL *****************************/ if (!function_exists('checkbox')) { function checkbox(mixed $nilai): string { $thasil = (empty($nilai) or (is_string($nilai) && ($nilai=="N" || $nilai=="0")) or (is_numeric($nilai) && $nilai==0) or (is_bool($nilai) && $nilai==false)) ? "circle text-secondary" : "check-circle text-info"; return ''; } } /*************************** FORMAT TANGGAL / KALENDER *****************************/ if (!function_exists('sqltgl')) { function sqltgl(string $waktu): string { return tgl_sql2str($waktu); } } if (!function_exists('sqltgls')) { function sqltgls(string $waktu): string { return tgl_sql2str($waktu, false, true); } } if (!function_exists('sqljam')) { function sqljam(string $waktu): string { return tgl_sql2str($waktu, true); } } if (!function_exists('sqljams')) { function sqljams(string $waktu): string { return tgl_sql2str($waktu, true, true); } } if (!function_exists('tgl_sql2str')) { function tgl_sql2str(string $waktu, bool $jam = false, bool $short = false): string { if (empty($waktu)) return ''; $atgl = explode(" ", $waktu); $sjam = ($jam) ? ((empty($atgl[1])) ? date("H:i:s") : $atgl[1]) : ""; $atgl = explode("-", $atgl[0]); $stgl = $atgl[2]."-".$atgl[1]."-".$atgl[0]; if ($short) $stgl = $atgl[2].".".$atgl[1].".".substr($atgl[0],2); return $stgl.(($jam)?" ".$sjam:""); } } if (!function_exists('tgl_ymd')) { function tgl_ymd(bool $jam = false): string { return (($jam) ? date("Y-m-d H:i:s") : date("Y-m-d")); } } if (!function_exists('tgl_dmy')) { function tgl_dmy(bool $jam = false): string { return (($jam) ? date("d-m-Y H:i:s") : date("d-m-Y")); } } if (!function_exists('tgl_operasi')) { function tgl_operasi(string $tgl, int $hari = 0, int $bln = 0, int $thn = 0): string { $atgl = explode("-", $tgl); return date("d-m-Y", mktime(0,0,0, (int) $atgl[1]+$bln, (int) $atgl[0]+$hari, (int) $atgl[2]+$thn)); } } if (!function_exists('tgl_range_hari')) { function tgl_range_hari(string $tgl_from, string $tgl_to, bool $hitung_awal = false): float { if (empty($tgl_to) or empty($tgl_from)) return 0; $_start = strtotime(tgl_sql2str($tgl_from)); $_end = strtotime(tgl_sql2str($tgl_to)); return ceil(abs($_end - $_start) / 86400) + (($hitung_awal)?1:0); } } if (!function_exists('tgl_akhbln')) { function tgl_akhbln(string $tgl): string { if (empty($tgl)) return ''; $atgl = explode("-", $tgl); $ablna = ['31','28','31','30','31','30','31','31','30','31','30','31']; // jika tahun masehi dan bulan 2 if ((round((int) $atgl[2]/4) === ((int) $atgl[2]/4)) && (int) $atgl[1] === 2) return "29-02-".$atgl[2]; return $ablna[(int) $atgl[1]-1]."-".isi_nol($atgl[1],2)."-".$atgl[2]; } } if (!function_exists('tgl_panjang')) { function tgl_panjang(string $tgl): string { if (empty($tgl)) $tgl = tgl_dmy(); $atgl = explode("-", $tgl); $abulan = bulan_array(); return $atgl[0]." ".$abulan[$atgl[1]]." ".$atgl[2]; } } if (!function_exists('tgl_hari')) { function tgl_hari(string $tgl): string { $nhari = date("w"); if (!empty($tgl)) { $nhari = date("w", strtotime(tgl_sql2str($tgl))); } $ahari = ["0"=>"Minggu","1"=>"Senin","2"=>"Selasa","3"=>"Rabu","4"=>"Kamis","5"=>"Jum'at","6"=>"Sabtu"]; return $ahari[$nhari]; } } if (!function_exists('tgl_triwulan')) { function tgl_triwulan(string $tgl): int { if (empty($tgl)) { $dtgl = date("m"); } else { $atgl = explode("-", $tgl); $dtgl = $atgl[1]; } $hasil = 0; if ($dtgl >= 1 && $dtgl <= 3) $hasil = 1; if ($dtgl >= 4 && $dtgl <= 6) $hasil = 2; if ($dtgl >= 7 && $dtgl <= 9) $hasil = 3; if ($dtgl >= 10 && $dtgl <= 12) $hasil = 4; return $hasil; } } if (!function_exists('bulan_array')) { function bulan_array(): array { return ["1"=>"Januari","2"=>"Februari","3"=>"Maret","4"=>"April","5"=>"Mei","6"=>"Juni","7"=>"Juli","8"=>"Agustus","9"=>"September","10"=>"Oktober","11"=>"November","12"=>"Desember"]; } } if (!function_exists('triwulan_array')) { function triwulan_array(): array { return ["1"=>"Triwulan 1","2"=>"Triwulan 2","3"=>"Triwulan 3","4"=>"Triwulan 4"]; } } /*************************** FORMAT TAMPILAN & ERROR *****************************/ if (!function_exists('subjudul')) { function subjudul(string $judul): string { return '
| '.$judul.' |