{"id":4749,"date":"2024-04-24T11:00:34","date_gmt":"2024-04-24T04:00:34","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=4749"},"modified":"2026-03-26T16:35:57","modified_gmt":"2026-03-26T09:35:57","slug":"cara-menentukan-bonus-akhir-tahun-karyawan","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/","title":{"rendered":"Cara Menentukan Bonus Akhir Tahun Karyawan"},"content":{"rendered":"<p>Menjelang akhir tahun, suasana kantor menjadi lebih sibuk dan penuh harapan. Selain mengejar target closing, bonus tahunan untuk apresiasi atas kerja keras selama 12 bulan terakhir menjadi momen yang paling dinanti oleh tim Anda.<\/p>\n<p>Namun, menentukan jumlah bonus yang tepat sering kali menjadi tantangan bagi pemilik bisnis dan HR. Perhitungan yang transparan dapat meningkatkan motivasi, tetapi skema yang kurang jelas bisa menimbulkan kecemburuan sosial di antara karyawan.<\/p>\n<p>Merumuskan kebijakan bonus yang adil dan akurat sangat penting untuk menghindari konflik dan menjaga keseimbangan. Mari kita bahas berbagai metode perhitungan bonus yang efektif, sekaligus sesuai dengan regulasi ketenagakerjaan di Indonesia.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><a href=\"#a\">Bonus berbeda dengan THR<\/a> dan bersifat opsional, sehingga besaran dan waktu pembagiannya dapat disesuaikan dengan kinerja perusahaan atau laba yang diperoleh.<\/li>\n<li>Bonus akhir tahun<a href=\"#b\"> berbasis persentase<\/a> dihitung dari kinerja, masa kerja, jabatan, departemen, dan kedisiplinan karyawan untuk memastikan keadilan dan akurasi.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:513,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0}\"><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/p>\n<h2><span id=\"a\"><strong>Memahami Regulasi Bonus di Indonesia: Bonus vs THR<\/strong><\/span><\/h2>\n<p>Banyak yang masih menganggap bonus dan Tunjangan Hari Raya (THR) adalah hal yang sama. Secara hukum di Indonesia, keduanya sangat berbeda. THR adalah kewajiban yang diatur dalam undang-undang, sedangkan bonus bersifat opsional tergantung pada kebijakan perusahaan atau perjanjian kerja.<\/p>\n<p>Sesuai dengan <a href=\"https:\/\/www.llg-bwi.org\/regulation\/333\">Surat Edaran Menteri Tenaga Kerja No. SE-07\/MEN\/1990<\/a>, bonus merupakan bagian dari pendapatan non-upah. Artinya, besaran dan waktu pembagiannya bisa Anda sesuaikan dengan performa perusahaan atau laba yang berhasil diraih. Hal ini memberikan fleksibilitas bagi Anda untuk mengatur anggaran tanpa harus terbebani kewajiban hukum yang kaku seperti upah pokok.<\/p>\n<h2><strong>Bagaimana Perusahaan Menentukan Kebijakan Bonus<\/strong><\/h2>\n<p>Meskipun <a href=\"https:\/\/peraturan.bpk.go.id\/Details\/43013\" target=\"_blank\" rel=\"noopener\">Undang-Undang Ketenagakerjaan<\/a> di Indonesia tidak mewajibkan perusahaan memberikan bonus, peraturan lain seperti <a href=\"https:\/\/peraturan.bpk.go.id\/Details\/51502\/pp-no-24-tahun-2017\" target=\"_blank\" rel=\"noopener\">PP Nomor 19 Tahun 2016 dan PP Nomor 24 Tahun 2017<\/a> mengatur tunjangan penting seperti gaji ke-14 untuk ASN dan PNS. Artinya, perusahaan memiliki fleksibilitas untuk memberikan bonus berdasarkan kebijakan mereka.<\/p>\n<p>Namun, jika bonus tercantum dalam perjanjian kerja atau peraturan perusahaan, perusahaan wajib memenuhi janji tersebut. Ini berlaku untuk<a href=\"https:\/\/jdih.kemenkeu.go.id\/kamus-hukum\/perjanjian-kerja-bersama?id=07d75afea84a804da905254a1c50c200\" target=\"_blank\" rel=\"noopener\"> Perjanjian Kerja Bersama<\/a> (PKB), sehingga hak karyawan harus dihormati dan dipenuhi.<\/p>\n<p>Jika perusahaan tidak memenuhi kewajibannya, dapat berisiko menghadapi keluhan resmi dari karyawan kepada Dinas Ketenagakerjaan atau tindakan hukum sesuai dengan Undang-Undang Ketenagakerjaan. Pastikan untuk memenuhi komitmen yang telah dijanjikan dan menjaga reputasi perusahaan dengan memberikan bonus sesuai perjanjian.<\/p>\n<style>\r\n\t#baca-juga {\r\n\t\tpadding: 16px;\r\n\t\tbackground-color: #f7eaea;\r\n\t\tborder-left: 3px solid #af2828;\r\n\t\tfont-weight: 500;\r\n\t\tmargin-bottom: 26px;\r\n\t}\r\n\t\r\n\t#baca-juga a {\r\n\t\tcolor: #af2828 !important;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t}\r\n\t\r\n\t#baca-juga a:hover {\r\n\t\tcolor: #af282880 !important;\r\n\t}\r\n<\/style>\r\n\r\n<div id=\"baca-juga\">\r\n\t<span>Baca juga: <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pembayaran-thr-upah-pekerja-di-tengah-covid-19\/\">Ketentuan Pembayaran THR dan Upah Pekerja di Tengah COVID-19<\/a><\/span>\r\n<\/div>\n<h2 id=\"penentuan\"><span id=\"b\"><strong>Penentuan Bonus Akhir Tahun dengan Sistem Persentase<\/strong><\/span><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-188946\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-scaled.webp\" alt=\"\" width=\"2560\" height=\"1396\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-scaled.webp 2560w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-300x164.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-1024x559.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-768x419.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-1536x838.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-2048x1117.webp 2048w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-770x420.webp 770w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-150x82.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-696x380.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-1068x583.webp 1068w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_dkx9b0dkx9b0dkx9-1920x1047.webp 1920w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p>Sistem persentase bonus sangat bergantung pada kinerja karyawan. Semakin baik prestasi, semakin lama masa kerja, dan semakin tinggi jabatan, maka semakin besar bonus yang akan diterima.<\/p>\n<p>Perusahaan dapat memanfaatkan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\">sistem payroll<\/a> untuk mengelola bonus akhir tahun secara terukur, termasuk menyesuaikan dengan produktivitas masing-masing karyawan. Selain itu, HRD juga dapat <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-persentase-kehadiran\/\">mempertimbangkan tingkat kehadiran<\/a> sebagai indikator kedisiplinan, sehingga perhitungan bonus menjadi lebih objektif dan adil.<\/p>\n<p>Besaran persentase bonus bisa berbeda antar perusahaan, dan tim HRD dapat menentukan nilai yang sesuai. Untuk memperkirakan pengeluaran terkait penggunaan software ERP dengan manajemen timesheet, Anda bisa menghitungnya melalui skema perhitungan harga.<\/p>\n<h3><strong>1. Masa kerja karyawan<\/strong><\/h3>\n<p>Jika sang karyawan belum satu tahun bekerja di perusahaan Anda, maka aspek yang <a href=\"https:\/\/economy.okezone.com\/read\/2021\/10\/16\/622\/2487292\/wajib-tahu-ini-cara-menghitung-masa-kerja\" target=\"_blank\" rel=\"noopener\">masa kerja<\/a> akan dihitung secara prorata. Namun jika sudah lebih dari satu tahun, maka besarannya dapat Anda tentukan berdasarkan persentase.<\/p>\n<ul>\n<li>1 &#8211; 2 tahun: 100%<\/li>\n<li>3 &#8211; 4 tahun: 110%<\/li>\n<li>5 &#8211; 6 tahun: 120%<\/li>\n<li>7 &#8211; 8 tahun: 130%<\/li>\n<li>9 &#8211; 10 tahun: 140%<\/li>\n<li>&gt; 10 tahun: 150%<\/li>\n<\/ul>\n<h3><strong>2. Tinggi jabatan<\/strong><\/h3>\n<p>Anda bisa memasukkan faktor level jabatan sebagai penentu besarnya bonus yang karyawan terima. Persentasenya bisa Anda sesuaikan dengan perusahaan tempat Anda bekerja:<\/p>\n<ul>\n<li>Operator : 80%<\/li>\n<li><em>Foreman<\/em> : 90%<\/li>\n<li><em>Supervisor<\/em> : 100%<\/li>\n<li><em>Superintendent<\/em> : 110%<\/li>\n<li>Manajer : 120 %<\/li>\n<\/ul>\n<h3><strong>3. Tipe departemen<\/strong><\/h3>\n<p>Buat perusahaan-perusahaan yang tiap-tiap departemennya memiliki beban kerja yang berbeda, tipe departemen ini bisa perusahaan jadikan faktor penentu besaran bonus:<\/p>\n<ul>\n<li>Departemen produksi (atau yang langsung berhubungan dengan produksi) : 120%<\/li>\n<li>Non-produksi : 110%<\/li>\n<li><em>Supporting<\/em> : 100%<\/li>\n<\/ul>\n<h3><strong>4. Status peringatan<\/strong><\/h3>\n<p>Jika faktor-faktor sebelumnya bisa kita anggap sebagai reward, faktor yang satu ini bisa dibilang sebagai hukuman bagi mereka yang melanggar peraturan perusahaan. Biasanya karyawan yang sedang menjalani peringatan besaran bonusnya akan perusahaan kurangi sebagai sanksi:<\/p>\n<ul>\n<li>Hanya peringatan tanpa sanksi : 100%<\/li>\n<li>Surat Peringatan (SP) 1 : 90%<\/li>\n<li>SP 2 : 80%<\/li>\n<li>SP 3 : 70%<\/li>\n<li>Skorsing 3 bulan : 60%<\/li>\n<li>Skorsing 6 bulan : 50%<\/li>\n<\/ul>\n<p>Besaran persentase dan tipe penalti yang perusahaan berikan bisa Anda sesuaikan dengan kebijakan perusahaan. Pilih besaran persentase atau penalti yang Anda rasa pantas untuk perusahaan Anda.<\/p>\n<p>Setelah mengetahui faktor-faktor untuk melakukan perhitungan, langkah berikutnya adalah menghitung bonus karyawan berdasarkan faktor-faktor tersebut. Berikut rumusnya:<\/p>\n<div style=\"background: linear-gradient(135deg,#fff 0%,#fbeaea 100%); border-left: 6px solid #990000; border-radius: 10px; padding: 20px; margin: 24px 0; text-align: center; box-shadow: 0 6px 14px rgba(0,0,0,.08);\"><span style=\"font-size: 20px; font-weight: 600; color: #7a0000; font-family: 'Nunito Sans','Segoe UI',Arial,sans-serif;\">BONUS = Gaji x Masa Kerja x Tinggi Jabatan x Departemen x Status Peringatan<\/span><\/div>\n<p><strong>Mari kita contohkan Budi <\/strong>yang memiliki gaji 7 juta rupiah, sudah bekerja selama 5 tahun dengan posisi supervisor di departemen produksi. Sayangnya, ia pernah mendapatkan SP 1 karena melanggar peraturan perusahaan.<\/p>\n<p>Lalu, berapa besarkah bonus yang Budi dapatkan di akhir tahun ini? Berikut cara menghitungnya:<\/p>\n<div style=\"background: linear-gradient(135deg,#fff 0%,#fbeaea 100%); border-left: 6px solid #990000; border-radius: 10px; padding: 20px; margin: 24px 0; text-align: center; box-shadow: 0 6px 14px rgba(0,0,0,.08);\"><span style=\"font-size: 20px; font-weight: 600; color: #7a0000; font-family: 'Nunito Sans','Segoe UI',Arial,sans-serif;\">Bonus Budi = (7.000.000 x 100% x 120% x 120%) x 90% = 9.072.000<\/span><\/div>\n<div>Mengelola variabel seperti masa kerja, jabatan, dan tingkat kedisiplinan memerlukan ketelitian tinggi. Agar penentuan bonus lebih akurat dan transparan, gunakan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-payroll-terbaik\/\">sistem manajemen penggajian<\/a> yang sesuai kebutuhan bisnis Anda.<\/div>\n<p>&nbsp;<\/p>\n<style>\r\n    * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n\/*         font-family: 'Roboto', sans-serif; *\/\r\n    }\r\n\t\r\n\t.hashy-content a {\r\n\t\t\tcolor: #b0e0e6  !important;\r\n\t\t\ttext-decoration: underline !important;\r\n\t}\r\n\t.hashy-content a:hover {\r\n\t\t\ttext-decoration: underline !important;\r\n\t}\r\n\t\r\n\t.hashy-content .hashy-cta {\r\n\t\ttext-decoration: none !important;\r\n\t}\r\n\t\r\n\t.hashy-content .hashy-cta:hover {\r\n\t\t\ttext-decoration: none !important;\r\n\t}\r\n\r\n    .hashylogo {\r\n        width: 280px !important;\r\n        height: 70px !important;\r\n    }\r\n\r\n    .hashyrobot {\r\n        position: absolute;\r\n        top: -30%;\r\n        left: 80%;\r\n\t\tz-index: 10;\r\n    }\r\n\r\n    .hashy {\r\n\t\tmargin: 80px 0px 30px 0px;\r\n        display: flex;\r\n        gap: 16px;\r\n        flex-direction: column;\r\n\t\tposition: relative;\r\n    }\r\n\r\n    .hashy-fact {\r\n        width: 200px;\r\n        height: 55px;\r\n        justify-content: center;\r\n        color: #FFF !important;\r\n        text-align: center;\r\n        font-family: Roboto;\r\n        font-size: 20px;\r\n        font-style: normal;\r\n        font-weight: 700;\r\n        line-height: normal;\r\n        display: flex;\r\n        padding: 12px 30px;\r\n        align-items: center;\r\n        gap: 8px;\r\n        border-radius: 48px;\r\n        background: linear-gradient(238deg, #7B00FF 2.44%, #FBB8FF 154.72%), #F3E3FF;\r\n        box-shadow: 0px 0px 12px 0px rgba(125, 2, 255, 0.30);\r\n    }\r\n\t\r\n\t.hashy-fact p {\r\n\t\tcolor: #FFF !important;align-content\r\n\t}\r\n\r\n    .hashy-fact-star {\r\n        position: absolute;\r\n        top: -2%;\r\n        left: 200px;\r\n        width: 50px;\r\n        height: 38px;\r\n    }\r\n\r\n    .hashy-content {\r\n        width: 100%;\r\n        height: auto;\r\n        justify-content: center;\r\n        border-radius: 12px;\r\n        padding: 24px;\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 16px;\r\n        color: #fff !important;\r\n        background: linear-gradient(238deg, #7B00FF 2.44%, #FBB8FF 154.72%), #F3E3FF;\r\n        box-shadow: 0px 0px 12px 0px #7D02FF4D;\r\n        border: 1px solid #7D02FF;\r\n        position: relative;\r\n    }\r\n\r\n    .hashy-content h3 {\r\n        color: #FFF !important;\r\n        font-size: 22px;\r\n        font-style: normal;\r\n        font-weight: 800;\r\n        line-height: normal;\r\n        margin: 0px !important;\r\n    }\r\n    \r\n    .hashy-content p {\r\n        margin-bottom: 0px !important;\r\n\t\tcolor: #FFF !important;\r\n    }\r\n    \r\n    .hashy p {\r\n        margin-bottom: 0px !important;\r\n    }\r\n\r\n     .hashy-cta {\r\n        cursor: pointer;\r\n        justify-content: center;\r\n        align-items: center;\r\n        width: fit-content;\r\n        height: 45px;\r\n        border: 1px solid #7D02FF;\r\n        background: #F8EEFF;\r\n        box-shadow: 0px 4px 4px 0px #00000040, \r\n                   0px 0px 15.5px 0px #FFFFFF66;\r\n        padding: 12px 24px;\r\n        gap: 8px;\r\n        border-radius: 8px;\r\n        position: relative;\r\n        overflow: hidden;\r\n        transition: all 0.3s ease;\r\n        text-decoration: none;\r\n    }\r\n\r\n    .hashy-cta p {\r\n        color: #8627DE !important;\r\n        text-align: center;\r\n        font-weight: 800;\r\n        font-size: 16px;\r\n        line-height: 100%;\r\n    }\r\n\r\n    .hashy-cta img {\r\n        width: 25px;\r\n        height: 20px;\r\n        margin-bottom: 0px !important;\r\n    }\r\n\r\n    .hashy-cta::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 60%;\r\n        height: 100%;\r\n        background: linear-gradient(\r\n            90deg,\r\n            transparent,\r\n            rgba(98, 0, 234, 0.4),\r\n            rgba(98, 0, 234, 0.6),\r\n            transparent\r\n        );\r\n        transform: skewX(-15deg);\r\n        animation: visible-shimmer 2.5s infinite;\r\n    }\r\n\r\n    @keyframes visible-shimmer {\r\n        100% {\r\n            left: 150%;\r\n        }\r\n    }\r\n\r\n    .hashy-cta:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: 0 6px 20px rgba(125, 2, 255, 0.4);\r\n    }\r\n\r\n    .hashy-cta:active {\r\n        transform: translateY(0);\r\n    }\r\n\r\n    @media screen and (max-width: 550px) {\r\n\t\t.hashy{\r\n\t\t\tmargin: 50px 0px 30px 0px;\r\n\t\t}\r\n        .hashy-fact {\r\n            display: flex;\r\n            padding: 8px 20px;\r\n            align-items: center;\r\n            gap: 8px;\r\n            border-radius: 48px;\r\n            background: linear-gradient(242deg, #B14CF1 2.92%, #7B00FF 104.91%), #F3E3FF;\r\n            box-shadow: 0px 0px 12px 0px rgba(125, 2, 255, 0.30);\r\n        }\r\n\r\n        .hashy-fact-star {\r\n            width: 36px;\r\n            height: 29px;\r\n\t\t\tleft:52%;\r\n        }\r\n\t\t\r\n\t\t.hashy-fact {\r\n    \t\twidth: fit-content;\r\n\t\t\theight: auto;align-content\r\n\t\t}\r\n\r\n        .hashy-fact p {\r\n            color: #FFF !important;\r\n            text-align: center;\r\n            font-size: 18px;\r\n            font-weight: 700;\r\n            line-height: normal;\r\n        }\r\n\r\n        .hashy-content {\r\n            display: flex;\r\n            width: 100%;\r\n            padding: 16px;\r\n            flex-direction: column;\r\n            align-items: flex-start;\r\n            border-radius: 8px;\r\n            border: 1px solid #7D02FF;\r\n            background: linear-gradient(238deg, #7B00FF 2.44%, #FBB8FF 154.72%), #F3E3FF;\r\n            box-shadow: 0px 0px 12px 0px rgba(125, 2, 255, 0.30);\r\n            gap: 12px;\r\n        }\r\n\r\n        .hashy-content h3 {\r\n            color: #FFF !important;\r\n            font-family: Roboto;\r\n            font-size: 16px;\r\n\t\t\tpadding: 0px !important;\r\n            font-style: normal;\r\n            font-weight: 800;\r\n            line-height: normal;\r\n        }\r\n\r\n        .hashy-content p {\r\n            color: #FFF !important;\r\n            font-size: 14px;\r\n            font-weight: 400;\r\n            line-height: 18px;\r\n        }\r\n\t\t\r\n        .hashy-cta {\r\n            display: flex;\r\n            padding: 12px 16px;\r\n            align-items: center;\r\n            gap: 8px;\r\n            width: fit-content;\r\n            border-radius: 8px;\r\n            border: 1px solid #7D02FF;\r\n            background: #F8EEFF;\r\n            box-shadow: 0px 0px 15.5px 0px rgba(255, 255, 255, 0.40), 0px 4px 4px 0px rgba(0, 0, 0, 0.25);\r\n        }\r\n\r\n        .hashy-cta p {\r\n            color: #8627DE !important;\r\n            text-align: center;\r\n            font-size: 14px;\r\n            font-weight: 800;\r\n            line-height: normal;\r\n        }\r\n\r\n        .hashyrobot {\r\n            top: -17%;\r\n            left: 75%;\r\n            width: 64px;\r\n            height: 110px;        \r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div>\r\n    <div class=\"hashy\">\r\n        <div class=\"hashy-fact\">\r\n            <p>Tahukah Anda?<\/p>\r\n\t\t\t<div  class=\"hashy-fact-star\">\r\n\t\t\t\t\t  <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"36\" height=\"28\" viewBox=\"0 0 36 28\" fill=\"none\">\r\n\t\t\t\t\t  <path d=\"M17.7875 22.5125C20.7747 23.1401 21.7146 24.0249 22.3263 26.9054C22.3463 26.9933 22.3964 27.0718 22.4684 27.1281C22.5404 27.1844 22.6299 27.215 22.7222 27.215C22.8145 27.215 22.904 27.1844 22.976 27.1281C23.048 27.0718 23.0981 26.9933 23.1181 26.9054C23.7619 23.9936 24.6697 23.0773 27.6248 22.5125C27.7148 22.493 27.7954 22.4441 27.8532 22.374C27.9109 22.3038 27.9424 22.2165 27.9424 22.1266C27.9424 22.0366 27.9109 21.9493 27.8532 21.8792C27.7954 21.809 27.7148 21.7601 27.6248 21.7406C24.6439 21.1131 23.704 20.2282 23.1181 17.3477C23.0981 17.2599 23.048 17.1813 22.976 17.1251C22.904 17.0688 22.8145 17.0381 22.7222 17.0381C22.6299 17.0381 22.5404 17.0688 22.4684 17.1251C22.3964 17.1813 22.3463 17.2599 22.3263 17.3477C21.6825 20.2533 20.7747 21.1695 17.8196 21.7406C17.7285 21.7563 17.6456 21.8018 17.5847 21.8697C17.5237 21.9376 17.4885 22.0238 17.4847 22.1139C17.481 22.2041 17.5089 22.2927 17.564 22.3652C17.6191 22.4378 17.6979 22.4897 17.7875 22.5125Z\" fill=\"#AF48F2\"\/>\r\n\t\t\t\t\t  <path d=\"M0.643802 13.5823C7.6355 14.8374 9.54115 16.7201 10.8288 23.5103C10.8288 23.6767 10.8966 23.8363 11.0173 23.954C11.1381 24.0717 11.3018 24.1378 11.4726 24.1378C11.6433 24.1378 11.8071 24.0717 11.9278 23.954C12.0485 23.8363 12.1164 23.6767 12.1164 23.5103C13.404 16.695 15.3354 14.8374 22.2949 13.5823C22.4656 13.5823 22.6294 13.5161 22.7501 13.3984C22.8709 13.2808 22.9387 13.1211 22.9387 12.9547C22.9387 12.7883 22.8709 12.6286 22.7501 12.5109C22.6294 12.3933 22.4656 12.3271 22.2949 12.3271C15.3032 11.072 13.404 9.22071 12.1164 2.40539C12.1164 2.23895 12.0485 2.07933 11.9278 1.96164C11.8071 1.84395 11.6433 1.77783 11.4726 1.77783C11.3018 1.77783 11.1381 1.84395 11.0173 1.96164C10.8966 2.07933 10.8288 2.23895 10.8288 2.40539C9.54115 9.22071 7.60975 11.072 0.643802 12.3271C0.473055 12.3271 0.309302 12.3933 0.188565 12.5109C0.067829 12.6286 0 12.7883 0 12.9547C0 13.1211 0.067829 13.2808 0.188565 13.3984C0.309302 13.5161 0.473055 13.5823 0.643802 13.5823Z\" fill=\"#AF48F2\"\/>\r\n\t\t\t\t\t  <path d=\"M22.8576 7.12452C27.2547 7.84621 28.2848 8.85659 29.0316 13.1428C29.0418 13.2081 29.0757 13.2677 29.1271 13.3107C29.1784 13.3538 29.2439 13.3774 29.3117 13.3774C29.3794 13.3774 29.445 13.3538 29.4963 13.3107C29.5477 13.2677 29.5816 13.2081 29.5917 13.1428C30.3643 8.85659 31.3751 7.85249 35.7723 7.12452C35.8371 7.11097 35.8952 7.07617 35.9368 7.02592C35.9785 6.97567 36.0012 6.91301 36.0012 6.84839C36.0012 6.78378 35.9785 6.72112 35.9368 6.67086C35.8952 6.62061 35.8371 6.58581 35.7723 6.57226C31.3751 5.84429 30.3643 4.8402 29.5917 0.553954C29.5816 0.488664 29.5477 0.429094 29.4963 0.38605C29.445 0.343005 29.3794 0.319336 29.3117 0.319336C29.2439 0.319336 29.1784 0.343005 29.1271 0.38605C29.0757 0.429094 29.0418 0.488664 29.0316 0.553954C28.2848 4.8402 27.2547 5.84429 22.8576 6.59737C22.8029 6.61786 22.7559 6.65402 22.7228 6.70107C22.6896 6.74812 22.6719 6.80386 22.6719 6.86094C22.6719 6.91802 22.6896 6.97376 22.7228 7.02082C22.7559 7.06787 22.8029 7.10403 22.8576 7.12452Z\" fill=\"#AF48F2\"\/>\r\n\t\t\t\t\t<\/svg>\r\n\t\t\t\t<\/div> \r\n        <\/div>\r\n\r\n        <img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/05\/Hashy-Desktop-1-1.webp\" width=\"96\" height=\"166\" alt=\"\" class=\"hashyrobot\">\r\n\r\n        <div class=\"hashy-content\">\r\n\t\t\t<p>Dengan <a href='https:\/\/www.hashmicro.com\/id\/ai-agent-untuk-hr\/'>software HR<\/a> HashMicro berbasis AI, Anda dapat mengecek dan menyetujui cuti hanya lewat chatbox, mengelola reimburse dengan mudah, dan membuat laporan cuti instan. Permudah pengelolaan karyawan dengan software HR HashMicro!<\/p>\r\n\r\n<a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/?medium=cta-button-fun-fact\" class=\"hashy-cta\" style=\"display: flex;\">\r\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"15\" viewBox=\"0 0 36 28\" fill=\"none\">\r\n  <path d=\"M17.7875 22.5125C20.7747 23.1401 21.7146 24.0249 22.3263 26.9054C22.3463 26.9933 22.3964 27.0718 22.4684 27.1281C22.5404 27.1844 22.6299 27.215 22.7222 27.215C22.8145 27.215 22.904 27.1844 22.976 27.1281C23.048 27.0718 23.0981 26.9933 23.1181 26.9054C23.7619 23.9936 24.6697 23.0773 27.6248 22.5125C27.7148 22.493 27.7954 22.4441 27.8532 22.374C27.9109 22.3038 27.9424 22.2165 27.9424 22.1266C27.9424 22.0366 27.9109 21.9493 27.8532 21.8792C27.7954 21.809 27.7148 21.7601 27.6248 21.7406C24.6439 21.1131 23.704 20.2282 23.1181 17.3477C23.0981 17.2599 23.048 17.1813 22.976 17.1251C22.904 17.0688 22.8145 17.0381 22.7222 17.0381C22.6299 17.0381 22.5404 17.0688 22.4684 17.1251C22.3964 17.1813 22.3463 17.2599 22.3263 17.3477C21.6825 20.2533 20.7747 21.1695 17.8196 21.7406C17.7285 21.7563 17.6456 21.8018 17.5847 21.8697C17.5237 21.9376 17.4885 22.0238 17.4847 22.1139C17.481 22.2041 17.5089 22.2927 17.564 22.3652C17.6191 22.4378 17.6979 22.4897 17.7875 22.5125Z\" fill=\"#AF48F2\"\/>\r\n  <path d=\"M0.643802 13.5823C7.6355 14.8374 9.54115 16.7201 10.8288 23.5103C10.8288 23.6767 10.8966 23.8363 11.0173 23.954C11.1381 24.0717 11.3018 24.1378 11.4726 24.1378C11.6433 24.1378 11.8071 24.0717 11.9278 23.954C12.0485 23.8363 12.1164 23.6767 12.1164 23.5103C13.404 16.695 15.3354 14.8374 22.2949 13.5823C22.4656 13.5823 22.6294 13.5161 22.7501 13.3984C22.8709 13.2808 22.9387 13.1211 22.9387 12.9547C22.9387 12.7883 22.8709 12.6286 22.7501 12.5109C22.6294 12.3933 22.4656 12.3271 22.2949 12.3271C15.3032 11.072 13.404 9.22071 12.1164 2.40539C12.1164 2.23895 12.0485 2.07933 11.9278 1.96164C11.8071 1.84395 11.6433 1.77783 11.4726 1.77783C11.3018 1.77783 11.1381 1.84395 11.0173 1.96164C10.8966 2.07933 10.8288 2.23895 10.8288 2.40539C9.54115 9.22071 7.60975 11.072 0.643802 12.3271C0.473055 12.3271 0.309302 12.3933 0.188565 12.5109C0.067829 12.6286 0 12.7883 0 12.9547C0 13.1211 0.067829 13.2808 0.188565 13.3984C0.309302 13.5161 0.473055 13.5823 0.643802 13.5823Z\" fill=\"#AF48F2\"\/>\r\n  <path d=\"M22.8576 7.12452C27.2547 7.84621 28.2848 8.85659 29.0316 13.1428C29.0418 13.2081 29.0757 13.2677 29.1271 13.3107C29.1784 13.3538 29.2439 13.3774 29.3117 13.3774C29.3794 13.3774 29.445 13.3538 29.4963 13.3107C29.5477 13.2677 29.5816 13.2081 29.5917 13.1428C30.3643 8.85659 31.3751 7.85249 35.7723 7.12452C35.8371 7.11097 35.8952 7.07617 35.9368 7.02592C35.9785 6.97567 36.0012 6.91301 36.0012 6.84839C36.0012 6.78378 35.9785 6.72112 35.9368 6.67086C35.8952 6.62061 35.8371 6.58581 35.7723 6.57226C31.3751 5.84429 30.3643 4.8402 29.5917 0.553954C29.5816 0.488664 29.5477 0.429094 29.4963 0.38605C29.445 0.343005 29.3794 0.319336 29.3117 0.319336C29.2439 0.319336 29.1784 0.343005 29.1271 0.38605C29.0757 0.429094 29.0418 0.488664 29.0316 0.553954C28.2848 4.8402 27.2547 5.84429 22.8576 6.59737C22.8029 6.61786 22.7559 6.65402 22.7228 6.70107C22.6896 6.74812 22.6719 6.80386 22.6719 6.86094C22.6719 6.91802 22.6896 6.97376 22.7228 7.02082C22.7559 7.06787 22.8029 7.10403 22.8576 7.12452Z\" fill=\"#AF48F2\"\/>\r\n<\/svg>\r\n                <p>Dapatkan demo gratis sekarang!<\/p>\r\n            <\/a>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\n<h2 id=\"sistem\"><strong>Sistem Bagi Hasil<\/strong><\/h2>\n<p>Selain menggunakan persentase, perusahaan juga dapat membagikan sebagian keuntungan kepada karyawan sebagai bonus, sebagai bentuk apresiasi atas kerja keras mereka.<\/p>\n<p>Besaran bonus bergantung pada total keuntungan yang dibukukan perusahaan dalam periode tertentu. Umumnya, sistem bagi hasil menetapkan sekitar 10% dari keuntungan untuk dibagikan ke seluruh karyawan.<\/p>\n<p>Untuk mempermudah perhitungan bonus akhir tahun, perusahaan bisa menggunakan aplikasi slip gaji yang memungkinkan otomatisasi berbagai aspek penggajian secara efisien.<\/p>\n<p>Namun ada juga perusahaan yang memberikan 7,5%, 5%, atau 2,5% dari total keuntungan. Biasanya, besar kecilnya bonus ini biasanya perusahaan tentukan dari seberapa sering adanya pembagian bonus. Umumnya 10% bonus akan karyawan terima setiap setahun sekali, sedangkan 2,5% perusahaan akan membagikan bonus per tiga atau empat bulan sekali.<\/p>\n<p>Biasanya, sistem bagi hasil menggunakan rumus berikut:<\/p>\n<div style=\"background: linear-gradient(135deg,#fff 0%,#fbeaea 100%); border-left: 6px solid #990000; border-radius: 10px; padding: 20px; margin: 24px 0; text-align: center; box-shadow: 0 6px 14px rgba(0,0,0,.08);\"><span style=\"font-size: 20px; font-weight: 600; color: #7a0000; font-family: 'Nunito Sans','Segoe UI',Arial,sans-serif;\">Bonus = (Total Laba x Persentase) \/ Jumlah karyawan<\/span><\/div>\n<p><strong>Mari kita ambil contoh:<\/strong> Christy yang bekerja di sebuah perusahaan yang membagikan keuntungan sebesar 10% pada karyawannya. Selain Christy, ada 50 orang karyawan lainnya yang bekerja di perusahaan tersebut. Di tahun ini, perusahaannya berhasil membukukan keuntungan sebesar 10 miliar rupiah.<\/p>\n<p>Maka bonus yang Christy dan rekan-rekannya dapatkan yakni sebesar:<\/p>\n<div style=\"background: linear-gradient(135deg,#fff 0%,#fbeaea 100%); border-left: 6px solid #990000; border-radius: 10px; padding: 20px; margin: 24px 0; text-align: center; box-shadow: 0 6px 14px rgba(0,0,0,.08);\"><span style=\"font-size: 20px; font-weight: 600; color: #7a0000; font-family: 'Nunito Sans','Segoe UI',Arial,sans-serif;\">Bonus = (10.000.000.000 x 10%)\/50 = Rp. 20.000.000<\/span><\/div>\n<p>Untuk mempermudah pengelolaan sistem bagi hasil, perusahaan dapat menggunakan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aplikasi-hrm-terbaik\/\">software HRM terintegrasi<\/a> yang otomatis menghitung bonus berdasarkan total keuntungan, persentase, dan jumlah karyawan, sehingga perhitungan menjadi lebih cepat, akurat, dan transparan bagi seluruh tim.<\/p>\n<h2><strong>Macam-Macam Bonus yang Bisa Diberikan Perusahaan<\/strong><\/h2>\n<p>Sebelum membahas jenis-jenis bonus yang diberikan perusahaan, perlu dipahami bahwa meskipun bonus tidak diwajibkan oleh Undang-Undang Ketenagakerjaan, perusahaan memiliki kebebasan untuk memberikannya sebagai bagian dari kebijakan penghargaan kepada karyawan.<\/p>\n<p>Bonus ini berfungsi untuk memotivasi karyawan dan mendukung pencapaian tujuan perusahaan. Berikut adalah beberapa jenis bonus yang umum diterapkan:<\/p>\n<h3><strong>1. Bonus retensi<\/strong><\/h3>\n<p>Bonus retensi diberikan untuk memastikan karyawan tetap bertahan di perusahaan dalam jangka waktu tertentu. Bonus ini sering diberikan kepada karyawan di posisi strategis yang berperan penting dalam kesuksesan perusahaan.<\/p>\n<p>Biasanya, bonus ini disertai kontrak yang mengharuskan karyawan tetap bekerja selama periode yang telah disepakati. Dengan demikian, perusahaan dapat menjaga talenta kunci untuk jangka panjang.<\/p>\n<h3><strong>2. Bonus tahunan<\/strong><\/h3>\n<p>Bonus tahunan diberikan berdasarkan hasil kinerja perusahaan sepanjang tahun, baik dari segi finansial maupun non-finansial. Biasanya, bonus ini dihitung sebagai persentase dari gaji pokok karyawan dan tergantung pada pencapaian target yang ditetapkan.<\/p>\n<p>Perusahaan menentukan batas minimum dan maksimum bonus untuk memastikan distribusi yang adil. Bonus ini juga berfungsi untuk menghargai kontribusi karyawan dalam mencapai tujuan perusahaan.<\/p>\n<h3><strong>3. Bonus akhir tahun<\/strong><\/h3>\n<p>Bonus akhir tahun diberikan sebagai bentuk apresiasi atas kerja keras karyawan sepanjang tahun. Bonus ini sering kali menjadi motivasi tambahan menjelang tahun baru, untuk mengakui pencapaian luar biasa yang diraih selama periode tersebut.<\/p>\n<p>Biasanya, bonus akhir tahun diberikan kepada tim yang berhasil melebihi target atau menunjukkan kinerja luar biasa. Ini juga menjadi insentif untuk meningkatkan semangat kerja karyawan di akhir tahun.<\/p>\n<h3><strong>4. Tantiem<\/strong><\/h3>\n<p>Tantiem merupakan bagian dari keuntungan perusahaan yang dibagikan kepada karyawan sebagai apresiasi atas kontribusi mereka terhadap keberhasilan perusahaan. Pemberian tantiem diatur oleh hukum dan dihitung sebagai persentase dari laba bersih yang diperoleh.<\/p>\n<p>Bonus ini memberikan penghargaan kepada karyawan atas usaha mereka dalam meningkatkan kinerja perusahaan. Tantiem sering kali diimplementasikan sebagai cara untuk memotivasi karyawan agar terus berkontribusi pada pertumbuhan perusahaan.<\/p>\n<h2><strong>Studi Kasus: Mengelola Bonus di Industri FMCG (Ethos Group)<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-188968\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808.webp\" alt=\"\" width=\"1088\" height=\"562\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808.webp 1088w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-300x155.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-1024x529.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-768x397.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-813x420.webp 813w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-150x77.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-696x360.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/Screenshot-2026-02-12-155808-1068x552.webp 1068w\" sizes=\"auto, (max-width: 1088px) 100vw, 1088px\" \/><\/p>\n<p>Industri FMCG membutuhkan sistem insentif yang fleksibel, karena bonus terkait langsung dengan target penjualan dan efisiensi operasional. Tantangan muncul saat perusahaan harus menilai kinerja tim yang berbeda dengan indikator yang berbeda pula.<\/p>\n<p><strong>Ethos Group<\/strong>, dengan brand seperti Etawaku Platinum dan Nutriflakes, menghadapi kesulitan dalam menyelaraskan data kinerja karyawan di tengah ekspansi yang cepat. Perhitungan bonus manual berisiko menurunkan motivasi tim, karena kesalahan data bisa memengaruhi hasil akhir.<\/p>\n<p>Dengan <a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource\"><strong>sistem HRIS dari HashMicro<\/strong><\/a>, Ethos Group mengotomatisasi perhitungan bonus berdasarkan KPI yang terintegrasi dengan penggajian. Teknologi ini memastikan akurasi bonus tepat waktu dan menciptakan transparansi yang membangun kepercayaan tim dalam mencapai target perusahaan.<\/p>\n<h2 id=\"kesimpulan\"><strong>Kesimpulan<\/strong><\/h2>\n<p>Setiap metode perhitungan bonus akhir tahun memiliki kelebihan dan kekurangan. Sistem berbasis persentase kinerja lebih adil karena mempertimbangkan kontribusi tiap karyawan, meski perhitungannya lebih rumit. Sementara sistem bagi hasil lebih mudah diterapkan, tetapi bisa terasa kurang adil karena semua karyawan menerima jumlah yang sama terlepas dari kinerja mereka.<\/p>\n<p>Untuk mempermudah proses perhitungan bonus dan memastikan perhitungan gaji, pajak, serta absensi lebih akurat, perusahaan dapat memanfaatkan sistem HRM terintegrasi. Dengan demikian, seluruh proses penggajian menjadi lebih efisien dan transparan.<\/p>\n<p>Perusahaan yang ingin memahami penerapan sistem HRM secara menyeluruh dapat memanfaatkan <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">layanan konsultasi gratis untuk menentukan solusi yang paling sesuai<\/a> dengan kebutuhan bisnis mereka.<\/p>\n\n<h2><strong>Pertanyaan Seputar Bonus Akhir Tahun Karyawan<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details open=\"open\">\n<summary><strong>Bagaimana sistem presentase untuk bonus akhir tahun?<\/strong><\/summary>\n<p>Sistem persentase ini sangat bergantung dengan kinerja karyawan itu sendiri. Makin baik prestasinya, makin lama masa kerjanya, makin tinggi jabatannya maka makin besar pula bonus yang akan karyawan Anda dapatkan. Perusahaan dapat menggunakan bantuan <a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-timesheet\">Sistem Manajemen Timesheet <\/a> untuk mengelola bonus akhir tahun karyawan yang dapat Anda sesuaikan dengan produktivitas masing-masing karyawan sebagaimana yang terekam dalam sebuah sistem.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Berapa biaya yang diperlukan untuk membuat HRM Software?<\/strong><\/summary>\n<p>Biaya yang diperlukan tergantung dengan kebutuhan perusahaan, untuk lebih lengkapnya bisa cek <a href=\"https:\/\/www.hashmicro.com\/id\/offer\/download-skema-harga-software-erp\">disini<\/a><\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Bagaimana sistem bagi hasil untuk bonus akhir tahun?<\/strong><\/summary>\n<p>Untuk bisa menjalankan metode ini, perusahaan sudah pasti harus membukukan keuntungan. Besarnya bonus yang karyawan dapatkan sudah pasti akan tergantung dari berapa banyak keuntungan yang perusahaan dapatkan dalam periode tertentu.<\/p>\n<p>Umumnya, besaran bonus dari sistem bagi hasil sebesar 10% dari total keuntungan yang perusahaan terima. 10% ini yang kemudian perusahaan bagikan ke seluruh karyawan sebagai bonus.<\/p>\n<p>Namun ada juga perusahaan yang memberikan 7,5%, 5%, atau 2,5% dari total keuntungan. Biasanya, besar kecilnya bonus ini biasanya perusahaan tentukan dari seberapa sering adanya pembagian bonus. Umumnya 10% bonus akan karyawan terima setiap setahun sekali, sedangkan 2,5% perusahaan akan membagikan bonus per tiga atau empat bulan sekali.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana sistem presentase untuk bonus akhir tahun?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Sistem persentase ini sangat bergantung dengan kinerja karyawan itu sendiri. Makin baik prestasinya, makin lama masa kerjanya, makin tinggi jabatannya maka makin besar pula bonus yang akan karyawan Anda dapatkan. Perusahaan dapat menggunakan bantuan <a href='https:\/\/www.hashmicro.com\/id\/manajemen-timesheet'>Sistem Manajemen Timesheet <\/a> untuk mengelola bonus akhir tahun karyawan yang dapat Anda sesuaikan dengan produktivitas masing-masing karyawan sebagaimana yang terekam dalam sebuah sistem.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Berapa biaya yang diperlukan untuk membuat HRM Software ?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Biaya yang diperlukan tergantung dengan kebutuhan perusahaan, untuk lebih lengkapnya bisa cek <a href='https:\/\/www.hashmicro.com\/id\/offer\/download-skema-harga-software-erp'>disini<\/a>\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana sistem bagi hasil untuk bonus akhir tahun?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Untuk bisa menjalankan metode ini, perusahaan sudah pasti harus membukukan keuntungan. Besarnya bonus yang karyawan dapatkan sudah pasti akan tergantung dari berapa banyak keuntungan yang perusahaan dapatkan dalam periode tertentu.<\/p>\n<p>Umumnya, besaran bonus dari sistem bagi hasil sebesar 10% dari total keuntungan yang perusahaan terima. 10% ini yang kemudian perusahaan bagikan ke seluruh karyawan sebagai bonus.<\/p>\n<p>Namun ada juga perusahaan yang memberikan 7,5%, 5%, atau 2,5% dari total keuntungan. Biasanya, besar kecilnya bonus ini biasanya perusahaan tentukan dari seberapa sering adanya pembagian bonus. Umumnya 10% bonus akan karyawan terima setiap setahun sekali, sedangkan 2,5% perusahaan akan membagikan bonus per tiga atau empat bulan sekali.\"\n    }\n  }]\n}\n<\/script><\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Menjelang akhir tahun, suasana kantor menjadi lebih sibuk dan penuh harapan. Selain mengejar target closing, bonus tahunan untuk apresiasi atas kerja keras selama 12 bulan terakhir menjadi momen yang paling dinanti oleh tim Anda. Namun, menentukan jumlah bonus yang tepat sering kali menjadi tantangan bagi pemilik bisnis dan HR. Perhitungan yang transparan dapat meningkatkan motivasi, [&hellip;]<\/p>\n","protected":false},"author":177,"featured_media":139194,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[],"class_list":{"0":"post-4749","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-hrm"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ketahui Cara Mudah Menentukan Bonus Akhir Tahun Karyawan<\/title>\n<meta name=\"description\" content=\"Ada dua cara menghitung bonus akhir tahun bagi karyawan, namun kedua cara tersebut memiliki kelebihan dan kekuranganya masing-masing\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cara Menentukan Bonus Akhir Tahun Karyawan\" \/>\n<meta property=\"og:description\" content=\"Ada dua cara menghitung bonus akhir tahun bagi karyawan, namun kedua cara tersebut memiliki kelebihan dan kekuranganya masing-masing\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-24T04:00:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-26T09:35:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Holy Graciela\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Holy Graciela\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\"},\"author\":{\"name\":\"Holy Graciela\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/f6f09f1275078d405b3d58802e736c8a\"},\"headline\":\"Cara Menentukan Bonus Akhir Tahun Karyawan\",\"datePublished\":\"2024-04-24T04:00:34+00:00\",\"dateModified\":\"2026-03-26T09:35:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\"},\"wordCount\":1754,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg\",\"articleSection\":[\"HRM\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\",\"name\":\"Ketahui Cara Mudah Menentukan Bonus Akhir Tahun Karyawan\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg\",\"datePublished\":\"2024-04-24T04:00:34+00:00\",\"dateModified\":\"2026-03-26T09:35:57+00:00\",\"description\":\"Ada dua cara menghitung bonus akhir tahun bagi karyawan, namun kedua cara tersebut memiliki kelebihan dan kekuranganya masing-masing\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg\",\"width\":1200,\"height\":650,\"caption\":\"bonus akhir tahun\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cara Menentukan Bonus Akhir Tahun Karyawan\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"name\":\"HashMicro Indonesia\",\"description\":\"Blog Software Manajemen Bisnis Indonesia #1\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\",\"name\":\"HashMicro Indonesia\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"width\":924,\"height\":121,\"caption\":\"HashMicro Indonesia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/hashmicro\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/f6f09f1275078d405b3d58802e736c8a\",\"name\":\"Holy Graciela\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/02\/cropped-1DE925AF-F66B-4295-8801-B230F17A44B3-scaled-1-96x96.jpeg\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/02\/cropped-1DE925AF-F66B-4295-8801-B230F17A44B3-scaled-1-96x96.jpeg\",\"caption\":\"Holy Graciela\"},\"description\":\"Holy merupakan author yang telah berkecimpung selama kurang lebih 3 tahun dalam pembahasan implementasi dan strategi Enterprise Resource Planning (ERP). Melalui berbagai artikelnya, ia mengulas bagaimana sistem ERP membantu perusahaan menyatukan data antar departemen, menyederhanakan proses operasional, serta memberikan pemahaman yang lebih menyeluruh dalam pengelolaan bisnis.\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/holy\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ketahui Cara Mudah Menentukan Bonus Akhir Tahun Karyawan","description":"Ada dua cara menghitung bonus akhir tahun bagi karyawan, namun kedua cara tersebut memiliki kelebihan dan kekuranganya masing-masing","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/","og_locale":"id_ID","og_type":"article","og_title":"Cara Menentukan Bonus Akhir Tahun Karyawan","og_description":"Ada dua cara menghitung bonus akhir tahun bagi karyawan, namun kedua cara tersebut memiliki kelebihan dan kekuranganya masing-masing","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-04-24T04:00:34+00:00","article_modified_time":"2026-03-26T09:35:57+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg","type":"image\/jpeg"}],"author":"Holy Graciela","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Holy Graciela","Estimasi waktu membaca":"11 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/"},"author":{"name":"Holy Graciela","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/f6f09f1275078d405b3d58802e736c8a"},"headline":"Cara Menentukan Bonus Akhir Tahun Karyawan","datePublished":"2024-04-24T04:00:34+00:00","dateModified":"2026-03-26T09:35:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/"},"wordCount":1754,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg","articleSection":["HRM"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/","name":"Ketahui Cara Mudah Menentukan Bonus Akhir Tahun Karyawan","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg","datePublished":"2024-04-24T04:00:34+00:00","dateModified":"2026-03-26T09:35:57+00:00","description":"Ada dua cara menghitung bonus akhir tahun bagi karyawan, namun kedua cara tersebut memiliki kelebihan dan kekuranganya masing-masing","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cara-menentukan-bonus-akhir-tahun-karyawan.jpg","width":1200,"height":650,"caption":"bonus akhir tahun"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menentukan-bonus-akhir-tahun-karyawan\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Cara Menentukan Bonus Akhir Tahun Karyawan"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website","url":"https:\/\/www.hashmicro.com\/id\/blog\/","name":"HashMicro Indonesia","description":"Blog Software Manajemen Bisnis Indonesia #1","publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization","name":"HashMicro Indonesia","url":"https:\/\/www.hashmicro.com\/id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","width":924,"height":121,"caption":"HashMicro Indonesia"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hashmicro","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/f6f09f1275078d405b3d58802e736c8a","name":"Holy Graciela","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/02\/cropped-1DE925AF-F66B-4295-8801-B230F17A44B3-scaled-1-96x96.jpeg","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/02\/cropped-1DE925AF-F66B-4295-8801-B230F17A44B3-scaled-1-96x96.jpeg","caption":"Holy Graciela"},"description":"Holy merupakan author yang telah berkecimpung selama kurang lebih 3 tahun dalam pembahasan implementasi dan strategi Enterprise Resource Planning (ERP). Melalui berbagai artikelnya, ia mengulas bagaimana sistem ERP membantu perusahaan menyatukan data antar departemen, menyederhanakan proses operasional, serta memberikan pemahaman yang lebih menyeluruh dalam pengelolaan bisnis.","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/holy\/"}]}},"focus_keyword":"bonus akhir tahun","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/4749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/users\/177"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=4749"}],"version-history":[{"count":33,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/4749\/revisions"}],"predecessor-version":[{"id":191434,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/4749\/revisions\/191434"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/139194"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=4749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=4749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=4749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}