{"id":20073,"date":"2025-01-04T08:57:35","date_gmt":"2025-01-04T01:57:35","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=20073"},"modified":"2026-04-10T16:46:23","modified_gmt":"2026-04-10T09:46:23","slug":"sistem-payroll-adalah","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/","title":{"rendered":"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh"},"content":{"rendered":"<p>Dalam setiap perusahaan, pengelolaan gaji memegang peranan yang sangat penting. Selain memastikan pembayaran gaji tepat waktu, sistem payroll juga mengelola berbagai komponen seperti absensi, lembur, cuti, serta tunjangan dan potongan lainnya. Karena itu, proses yang kompleks ini memerlukan ketelitian dan akurasi agar tidak terjadi kesalahan yang dapat mempengaruhi kepuasan karyawan.<\/p>\n<p data-start=\"384\" data-end=\"754\" data-is-last-node=\"\" data-is-only-node=\"\">Dengan tantangan yang semakin besar, terutama dalam menghitung pajak dan potongan lainnya, sistem payroll modern kini hadir untuk mempermudah proses ini. Penting hukumnya bagi HR untuk memahami sistem ini dengan baik.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 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;\" aria-level=\"1\"><a href=\"#sistem\">Sistem payroll <\/a>adalah sistem yang digunakan untuk mengelola dan mengotomatisasi proses penggajian karyawan dalam suatu perusahaan.<\/li>\n<li aria-level=\"1\"><a href=\"#manfaat\">Manfaat sistem payroll<\/a> meliputi laporan gaji yang jelas, penghematan waktu, perhitungan gaji yang akurat, dan pembuatan formulir pajak<\/li>\n<li aria-level=\"1\">Sistem payroll melibatkan <a href=\"#cara-kerja-sistem-payroll\">tiga tahapan utama<\/a>, yaitu pra-penggajian, penggajian, dan pasca-penggajian.<\/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> <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\n<h2 id=\"pengertian\"><strong>Apa Itu Sistem Payroll?<\/strong><\/h2>\n<p><span id=\"sistem\">Sistem payroll adalah sistem yang mengelola proses penggajian secara terstruktur, mulai dari perhitungan gaji, tunjangan, dan potongan, hingga <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-slip-gaji-karyawan-outsourcing\/\">pembuatan slip gaji<\/a> dan jadwal pembayaran. Dengan alur yang konsisten, perusahaan lebih mudah menjaga akurasi gaji di setiap periode.<\/span><\/p>\n<p>Bagi tim HRD, sistem payroll membantu mengurangi pekerjaan input berulang yang rawan selisih. Proses penggajian juga jadi lebih transparan karena komponen gaji tercatat rapi dan mudah ditelusuri saat ada pertanyaan karyawan.<\/p>\n<p>Di Indonesia, payroll juga terkait kewajiban administrasi yang skalanya besar, seperti kepesertaan jaminan sosial dan pelaporan pajak. <a href=\"https:\/\/www.bpjsketenagakerjaan.go.id\/berita\/29486\/BPJS-Ketenagakerjaan-Catat-Jumlah-Peserta-Aktif-39%2C7-Juta-Orang-per-April-2025?\">BPJS Ketenagakerjaan mencatat<\/a> 39,7 juta peserta aktif per April 2025, sementara DJP melaporkan 13.008.448 SPT Tahunan PPh Tahun Pajak 2024 sudah disampaikan per 11 April 2025; ini menunjukkan proses administrasi yang masif dan menuntut data yang tertib.<\/p>\n<h2><span id=\"manfaat\"><strong>Manfaat Sistem Payroll untuk Perusahaan<\/strong><\/span><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-142455 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2.webp\" alt=\"manfaat sistem payroll\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/sistem-payroll-adalah-2-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Manajemen gaji karyawan bukan lagi soal rutinan bulanan, melainkan soal kecepatan, akurasi, dan kenyamanan semua pihak. Kesalahan sekecil apapun akan bisa berdampak pada kepercayaan karyawan dan reputasi perusahaan.<\/p>\n<p><span id=\"manfaat\">Untuk itu, banyak bisnis mulai beralih ke sistem payroll modern, seperti <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/payroll-outsourcing\/\">payroll outsourcing<\/a> yang efisien. Bukan tanpa alasan, sistem ini membawa beberapa manfaat bagi bisnis, seperti:<\/span><\/p>\n<h3><strong>1. Transparansi perhitungan<\/strong><\/h3>\n<p>Slip gaji lengkap menampilkan rincian potongan, biaya reimbursement, dan tunjangan. Sistem juga menambahkan biaya tambahan seperti persentase potongan pajak dan formulir pajak, lalu menghitungnya secara otomatis.<\/p>\n<h3><strong>2. Efisiensi waktu<\/strong><\/h3>\n<p>Proses perhitungan otomatis akan meningkatkan efisiensi manajemen HR sambil menjaga akurasi perhitungan. Bagi karyawan, adanya <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aplikasi-employee-self-service-efisiensi-proses-administrasi-karyawan-bagi-perusahaan\/\">self-service<\/a> dapat mempercepat proses pengajuan cuti atau klaim cuti.<\/p>\n<h3><strong>3. Fleksibilitas sistem<\/strong><\/h3>\n<p>Aplikasi dapat menyesuaikan dengan kebutuhan perusahaan dengan mudah. Sistem berbasis cloud memungkinkan akses aplikasi kapan saja dan dari mana saja.<\/p>\n<h3><strong>4. Kemampuan integrasi<\/strong><\/h3>\n<p>Kemampuan integrasi dengan aplikasi lain seperti aplikasi pembuat slip gaji akan memungkinkan perhitungan gaji bersih secara akurat dari gaji kotor. Integrasi dengan Aplikasi HRD akan membantu dan pembuatan laporan gaji dan transaksi.<\/p>\n<h2><span id=\"proses\"><b>Cara Kerja Sistem <\/b><b>Payroll<\/b><\/span><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/chatgpt-image-feb-11-2026-02_08_20-pm-2\/\" rel=\"attachment wp-att-188979\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-188979\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM.webp\" alt=\"payroll\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-300x200.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-768x512.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-630x420.webp 630w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-150x100.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-696x464.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/ChatGPT-Image-Feb-11-2026-02_08_20-PM-1068x712.webp 1068w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/a><\/p>\n<p>Sistem payroll terdiri dari tiga tahapan utama, yaitu pra-penggajian, penggajian, dan pasca-penggajian. Berikut penjelasan lengkap mengenai masing-masing tahapan tersebut:<\/p>\n<h3><strong>1. Pra-penggajian<\/strong><\/h3>\n<p>Di tahap awal ini, <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/apa-itu-hris-pengertian-fungsi-hrm-software\/\">sistem HRIS untuk penggajian<\/a> mengumpulkan semua data penting, seperti gaji pokok, tunjangan, jumlah hari kerja, cuti, dan lembur selama satu bulan terakhir. Data ini akan menjadi dasar dalam menghitung gaji.<\/p>\n<h3><strong>2. Proses penggajian<\/strong><\/h3>\n<p>Setelah data siap, seluruh informasi akan masuk ke program payroll karyawan otomatis untuk proses penghitungan dan transfer gaji secara otomatis. Selain dari gaji pokok, akan terhitung juga tunjangan, potongan pajak dan BPJS, serta biaya-biaya lain.<\/p>\n<p>Dalam proses penggajian, terdapat kondisi saat mana pembayaran belum selesai pada akhir periode akuntansi. Situasi ini menimbulkan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/utang-gaji-adalah\/\">utang gaji, dan penting untuk memahami<\/a> cara pencatatannya agar laporan keuangan tetap akurat serta menghindari kesalahan pencatatan beban.<\/p>\n<h3><strong>3. Pasca-penggajian<\/strong><\/h3>\n<p>Tahap akhir ini berkaitan dengan pelaporan dan pencatatan. Tim HR melalui software payroll akan menghitung dan mencatat pajak penghasilan (PPh 21) lalu melaporkannya ke Direktorat Jenderal Pajak.<\/p>\n<p>Umumnya, untuk memastikan ketiga proses penggajian berjalan lancar dan sistematis, HRD memilih untuk berkolaborasi bersama <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-penggajian\/\">sistem untuk manajemen penggajian karyawan<\/a>.<\/p>\n<h2><strong>Komponen Payroll<\/strong><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/screenshot-2026-02-11-160830\/\" rel=\"attachment wp-att-188990\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-188990\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830.webp\" alt=\"komponen gaji\" width=\"1344\" height=\"597\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830.webp 1344w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-300x133.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-1024x455.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-768x341.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-946x420.webp 946w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-150x67.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-696x309.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/Screenshot-2026-02-11-160830-1068x474.webp 1068w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p>Administrasi dalam sistem payroll gaji mencakup perhitungan berbagai komponen keuangan yang krusial, seperti:<\/p>\n<h3><strong>1. Gaji pokok<\/strong><\/h3>\n<p>Komponen utama yang berbeda-beda untuk setiap karyawan berdasarkan jabatan dan tanggung jawab. Sistem payroll yang otomatis <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-gaji-karyawan\/\">mempermudah perhitungan gaji<\/a> bersih berdasarkan gaji pokok.<\/p>\n<h3><strong>2. Tunjangan<\/strong><\/h3>\n<p>Komponen tetap yang termasuk tunjangan hari raya, absensi, dan transport. Sistem payroll memastikan perhitungan tunjangan dilakukan dengan mudah.<\/p>\n<h3><strong>3. Pajak penghasilan<\/strong><\/h3>\n<p>Sistem payroll mempermudah perhitungan dan pemotongan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pph-21-thr\/\">pajak penghasilan (PPh 21)<\/a> sesuai peraturan pemerintah melalui Peraturan Direktur Jenderal Pajak Nomor PER-16\/PJ\/2016, memastikan kewajiban pajak terpenuhi dengan tenang.<\/p>\n<h3><strong>4. Potongan jaminan sosial dan kesehatan<\/strong><\/h3>\n<p>Sistem ini memudahkan pemotongan otomatis untuk iuran BPJS Ketenagakerjaan, BPJS Kesehatan, dan asuransi kesehatan swasta, memastikan karyawan menerima manfaat yang berhak mereka dapatkan.<\/p>\n<h3><strong>5. Lembur<\/strong><\/h3>\n<p>Komponen tambahan untuk jam kerja yang melebihi ketentuan waktu kerja normal, dengan aturan dan perhitungan upah lembur yang perlu mengikuti regulasi ketenagakerjaan.<\/p>\n<h3><strong>6. Insentif<\/strong><\/h3>\n<p>Komponen variabel seperti bonus kinerja, komisi penjualan, atau bonus kehadiran. <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/payroll-wfh\/\">Sistem payroll baik untuk karyawan WFO atau WFH<\/a> memudahkan penetapan rumus, cut-off periode, dan perhitungan otomatis agar hasilnya adil serta mudah ditelusuri.<\/p>\n<h2><strong>Contoh Payroll<\/strong><\/h2>\n<p><span id=\"mencakup\">Berikut di bawah ini adalah salah satu contoh payroll yang bisa menjadi panduan Anda dalam membuat payroll karyawan:<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-150034 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/07\/Screenshot-2024-11-15-134147.png\" alt=\"contoh slip gaji sistem payroll\" width=\"726\" height=\"670\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/07\/Screenshot-2024-11-15-134147.png 726w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/07\/Screenshot-2024-11-15-134147-300x277.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/07\/Screenshot-2024-11-15-134147-455x420.png 455w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/07\/Screenshot-2024-11-15-134147-150x138.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/07\/Screenshot-2024-11-15-134147-696x642.png 696w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/p>\n<p>Setiap perusahaan memiliki struktur penggajian yang berbeda, tergantung status karyawan. Berikut ini adalah dua contoh perhitungan payroll berdasarkan jenis hubungan kerja: <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pkwt-dan-pkwtt\/\">PKWT (kontrak) dan PKWTT (tetap).<\/a><\/p>\n<h3><strong>1. PKWT (Perjanjian Kerja Waktu Tertentu)<\/strong><\/h3>\n<p>Karyawan kontrak dengan masa kerja terbatas. Umumnya tidak mendapatkan pesangon saat kontrak berakhir, tetapi tetap memiliki hak atas BPJS dan gaji sesuai kesepakatan.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-165108 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWTT.png\" alt=\"sistem payroll pkwt\" width=\"704\" height=\"416\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWTT.png 704w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWTT-300x177.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWTT-150x89.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWTT-696x411.png 696w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/p>\n<h3><strong>2. PKWTT (Perjanjian Kerja Waktu Tidak Tertentu)<\/strong><\/h3>\n<p>Karyawan tetap yang berhak atas pesangon, kenaikan gaji tahunan, dan tunjangan jangka panjang. Perhitungan payroll biasanya lebih kompleks karena termasuk pajak penghasilan (PPh 21).<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-165107 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWT.png\" alt=\"sistem payroll pkwtt\" width=\"704\" height=\"405\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWT.png 704w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWT-300x173.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWT-150x86.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/contoh-PKWT-696x400.png 696w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/p>\n<h2><strong>Studi Kasus: Payroll untuk Berbagai Industri<\/strong><\/h2>\n<p>Struktur payroll biasanya mengikuti cara kerja di industri tersebut. Oleh karena itu, komponen seperti premi shift, komisi, sampai equity sering muncul bukan karena tren, tetapi karena memang diperlukan agar pembayaran tetap adil, mudah diaudit, dan konsisten.<\/p>\n<h3><strong>1. Manufacturing (Boeing)<\/strong><\/h3>\n<p>Dalam lingkungan manufaktur dengan sistem multi-shift, payroll harus membedakan jam kerja, risiko kerja, dan target operasional. Perusahaan menggunakan komponen tambahan untuk menjaga fairness antar shift dan mendorong disiplin kualitas.<\/p>\n<ul>\n<li><strong>Shift differentials:<\/strong> Boeing memberikan rate premiums kepada karyawan yang bekerja pada shift 2 atau 3, termasuk skema tertentu untuk hari kerja akhir pekan.<\/li>\n<li><strong>Production\/performance bonus:<\/strong> Boeing mengarahkan bonus kepada karyawan berdasarkan indikator operasional seperti penyelesaian unit, rework, dan eksekusi program, sehingga insentif terhubung langsung dengan hasil kerja di lapangan.<\/li>\n<li><strong>Safety incentives:<\/strong> Boeing memfokuskan bonus pada metrik keselamatan dan kualitas, mendorong perilaku kerja yang aman dan memastikan kualitas produk terjaga melalui insentif.<\/li>\n<\/ul>\n<h3><strong>2. Retail (Nordstrom)<\/strong><\/h3>\n<p>Di ritel, payroll sering dipengaruhi target penjualan dan kebutuhan penjadwalan yang dinamis. Karena rotasi jadwal dan pergerakan SDM cepat, definisi komisi, cut-off, dan insentif perlu jelas supaya minim dispute.<\/p>\n<ul>\n<li><strong>Commission-based salary:<\/strong> Nordstrom menyebut komisi selling employees bervariasi, dengan contoh rentang komisi untuk apparel\/shoes\/accessories dan komisi khusus untuk kategori tertentu.<\/li>\n<li><strong>Daily\/hourly wages:<\/strong> Pada posting yang sama, ada contoh struktur upah per jam dan catatan eligibility untuk insentif\/bonus performa. Ini menggambarkan pola umum ritel: base pay + variabel (komisi\/insentif).<\/li>\n<li><strong>High turnover management:<\/strong> Secara tren pasar tenaga kerja, quits di sektor retail trade bisa naik pada periode tertentu (data JOLTS), sehingga payroll perlu siap menangani join-resign, prorata, dan final pay dengan rapi.<\/li>\n<\/ul>\n<h3><strong>3. Tech\/Startup (Airbnb)<\/strong><\/h3>\n<p>Di tech\/startup, payroll sering dibentuk untuk retensi dan fleksibilitas, bukan hanya pembayaran bulanan. Kompensasi biasanya memadukan gaji, insentif performa, dan benefit yang bisa terasa personal bagi karyawan.<\/p>\n<ul>\n<li><strong>Equity\/stock options:<\/strong> Airbnb mencantumkan \u201ccompetitive compensation and equity\u201d serta program seperti ESPP sebagai bagian dari financial well-being.<\/li>\n<li><strong>Performance-based bonus:<\/strong> Airbnb juga menyebut adanya annual bonus program, jadi insentif bisa terkait kontribusi dan hasil bisnis.<\/li>\n<li><strong>Flexible benefits:<\/strong> Contoh benefit yang ditonjolkan mencakup quarterly travel credits, annual educational stipend, dan allowance terkait kebijakan kerja fleksibel.<\/li>\n<\/ul>\n<div style=\"border:1px solid #ddd; border-radius:8px; overflow:hidden; margin:30px 0; box-shadow:0 4px 12px rgba(0,0,0,0.12);\"><div style=\"background-color:#990000; color:#fff; padding:14px 20px; font-size:18px; font-weight:700; letter-spacing:0.5px;\">Expert's Review<\/div><div style=\"background-color:#fff; padding:22px 20px; font-size:16px; line-height:1.7; position:relative;\"><div style=\"font-size:44px; color:#990000; font-weight:800; line-height:0; position:absolute; top:18px; left:18px;\">\u201c<\/div><p style=\"margin:0 0 14px 40px; font-style:italic; color:#333;\">\u201cSistem payroll modern meningkatkan efisiensi dan akurasi pengelolaan gaji dengan otomatisasi perhitungan dan integrasi data. Hal ini memudahkan HR dalam mengelola tunjangan, pajak, dan kewajiban sosial dengan lebih transparan dan minim kesalahan.\u201d<\/p><p style=\"margin:0 0 0 40px; font-weight:700; color:#444;\">\u2014 Jessica Chandra, B.Sc., Senior HR Manager<\/p><\/div><\/div>\n<h2 id=\"kesimpulan\"><b>Kesimpulan<\/b><\/h2>\n<p>Sistem payroll berperan penting dalam pengelolaan gaji karyawan, mencakup komponen seperti absensi, lembur, cuti, tunjangan, potongan pajak, dan jaminan sosial. Ketelitian dalam pengelolaan payroll diperlukan untuk mencegah kesalahan yang dapat mempengaruhi kepuasan karyawan dan reputasi perusahaan.<\/p>\n<p data-start=\"302\" data-end=\"695\" data-is-last-node=\"\" data-is-only-node=\"\">Dengan adanya teknologi, <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-payroll-terbaik\/\">sistem payroll modern<\/a> kini lebih efisien dan akurat. Otomatisasi mempercepat penghitungan gaji dan mengurangi beban administratif tim HR, serta memberikan fleksibilitas dan integrasi dengan sistem lain. Sistem payroll yang baik juga harus mampu mengelola laporan pajak dan kewajiban sosial, serta memberikan transparansi pada karyawan mengenai perhitungan gaji mereka.<\/p>\n <script>  window._mfq = window._mfq || [];\r\n  (function() {\r\n    var mf = document.createElement(\"script\");\r\n    mf.type = \"text\/javascript\"; mf.defer = true;\r\n    mf.src = \"\/\/cdn.mouseflow.com\/projects\/5e05f34e-ba01-471c-b61c-6edd2d7e05ed.js\";\r\n    document.getElementsByTagName(\"head\")[0].appendChild(mf);\r\n  })();<\/script>\n<h2><strong>Pertanyaan Seputar Sistem Payroll<br \/>\n<\/strong><\/h2>\n<ol class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Berapa persen dari keuntungan perusahaan untuk penggajian karyawan?<\/strong><\/summary>\n<p>Keuntungan yang diperoleh perusahaan dari penggajian karyawan bergantung pada omset dan kebutuhan operasional perusahaan Anda. Menurut para ahli, tingkat yang paling ideal adalah antara 15% hingga 20% dari total omset. Selain itu, terdapat juga rekomendasi biaya ideal untuk tenaga kerja atau labor cost, yang seharusnya tidak kurang dari 30%.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa saja faktor yang memengaruhi gaji karyawan pada sistem payroll?<\/strong><\/summary>\n<p>Ada empat hal yang memengaruhi <a href=\"https:\/\/www.hashmicro.com\/id\/aplikasi-gaji\">gaji karyawan<\/a>:<br \/>\n1. Kehadiran<br \/>\n2. Uang lembur<br \/>\n3. Bonus sesuai target<br \/>\n4. Potongan utang atau denda<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Dokumen apa saja yang digunakan untuk sistem payroll?<\/strong><\/summary>\n<p>Dokumen yang digunakan dalam <a href=\"https:\/\/www.hashmicro.com\/id\/eva-hris-essentials\">sistem penggajian<\/a> di perusahaan melibatkan daftar kehadiran, daftar pembayaran gaji dan upah, rangkuman daftar gaji dan upah, surat pernyataan gaji dan upah, serta bukti pembayaran tunai (bon permintaan uang).<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Mengapa HRD harus menangani sistem payroll?<\/strong><\/summary>\n<p>Payroll karyawan menjadi salah satu tanggung jawab krusial dar iHRD karena berperan sebagai pilar utama kelancaran operasional suatu perusahaan. Dengan memanfaatkan sistem payroll, perusahaan dapat mengimplementasikan otomatisasi pada sistem pembayaran karyawan, yang pada gilirannya memberikan berbagai keuntungan penting untuk mendukung kesuksesan bisnis.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa saja metode perhitungan gaji payroll karyawan?<\/strong><\/summary>\n<p>Ada tiga metode perhitungan gaji payroll karyawan:<br \/>\n1. Metode Netto<br \/>\n2. Metode Gross<br \/>\n3. Metode Gross Up<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Berapa persen dari keuntungan perusahaan untuk penggajian karyawan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Keuntungan yang diperoleh perusahaan dari penggajian karyawan bergantung pada omset dan kebutuhan operasional perusahaan Anda. Menurut para ahli, tingkat yang paling ideal adalah antara 15% hingga 20% dari total omset. Selain itu, terdapat juga rekomendasi biaya ideal untuk tenaga kerja atau labor cost, yang seharusnya tidak kurang dari 30%.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa saja faktor yang memengaruhi gaji karyawan pada sistem payroll?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Ada empat hal yang memengaruhi gaji karyawan:\n1. Kehadiran\n2. Uang lembur\n3. Bonus sesuai target\n4. Potongan utang atau denda\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Dokumen apa saja yang digunakan untuk sistem payroll?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Dokumen yang digunakan dalam sistem payroll gaji di perusahaan melibatkan daftar kehadiran, daftar pembayaran gaji dan upah, rangkuman daftar gaji dan upah, surat pernyataan gaji dan upah, serta bukti pembayaran tunai (bon permintaan uang).\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Mengapa HRD harus menangani sistem payroll?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Payroll karyawan menjadi salah satu tanggung jawab krusial dar iHRD karena berperan sebagai pilar utama kelancaran operasional suatu perusahaan. Dengan memanfaatkan sistem payroll, perusahaan dapat mengimplementasikan otomatisasi pada sistem pembayaran karyawan, yang pada gilirannya memberikan berbagai keuntungan penting untuk mendukung kesuksesan bisnis.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa saja metode perhitungan gaji payroll karyawan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Ada tiga metode perhitungan gaji payroll karyawan:\n1. Metode Netto\n2. Metode Gross\n3. Metode Gross Up\"\n    }\n  }]\n}\n<\/script><\/p>\n<\/details>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Dalam setiap perusahaan, pengelolaan gaji memegang peranan yang sangat penting. Selain memastikan pembayaran gaji tepat waktu, sistem payroll juga mengelola berbagai komponen seperti absensi, lembur, cuti, serta tunjangan dan potongan lainnya. Karena itu, proses yang kompleks ini memerlukan ketelitian dan akurasi agar tidak terjadi kesalahan yang dapat mempengaruhi kepuasan karyawan. Dengan tantangan yang semakin besar, [&hellip;]<\/p>\n","protected":false},"author":218,"featured_media":161206,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[],"class_list":{"0":"post-20073","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>Memahami Sistem Payroll: Manfaat, Komponen dan Contoh<\/title>\n<meta name=\"description\" content=\"Apa yang dimaksud dengan payroll system dan apa saja komponennya? Simak juga bagaimana HashMicro mempermudah perhitungan payroll perusahaan!\" \/>\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\/sistem-payroll-adalah\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh\" \/>\n<meta property=\"og:description\" content=\"Apa yang dimaksud dengan payroll system dan apa saja komponennya? Simak juga bagaimana HashMicro mempermudah perhitungan payroll perusahaan!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\" \/>\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=\"2025-01-04T01:57:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-10T09:46:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Reno Wicaksana\" \/>\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=\"Reno Wicaksana\" \/>\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\/sistem-payroll-adalah\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\"},\"author\":{\"name\":\"Reno Wicaksana\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e\"},\"headline\":\"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh\",\"datePublished\":\"2025-01-04T01:57:35+00:00\",\"dateModified\":\"2026-04-10T09:46:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\"},\"wordCount\":1558,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp\",\"articleSection\":[\"HRM\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\",\"name\":\"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp\",\"datePublished\":\"2025-01-04T01:57:35+00:00\",\"dateModified\":\"2026-04-10T09:46:23+00:00\",\"description\":\"Apa yang dimaksud dengan payroll system dan apa saja komponennya? Simak juga bagaimana HashMicro mempermudah perhitungan payroll perusahaan!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp\",\"width\":1200,\"height\":675,\"caption\":\"sistem payroll\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh\"}]},{\"@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\/0d3340f667908102d8894da18f80732e\",\"name\":\"Reno Wicaksana\",\"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\/2025\/10\/Reno-Wicaksana-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp\",\"caption\":\"Reno Wicaksana\"},\"description\":\"Reno adalah HRM Specialist dan senior content writer dengan pengalaman lebih dari 5 tahun di industri teknologi dan manajemen sumber daya manusia. Secara konsisten mengangkat topik artikel seputar performance management, rekrutmen dan pengembangan SDM, manajemen talenta, dan sistem HRIS untuk pengelolaan karyawan.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/william-w-88353a262\/\"],\"gender\":\"Laki-laki\",\"knowsAbout\":[\"HRM\",\"HRIS\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer on HRIS\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/reno-wicaksana\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh","description":"Apa yang dimaksud dengan payroll system dan apa saja komponennya? Simak juga bagaimana HashMicro mempermudah perhitungan payroll perusahaan!","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\/sistem-payroll-adalah\/","og_locale":"id_ID","og_type":"article","og_title":"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh","og_description":"Apa yang dimaksud dengan payroll system dan apa saja komponennya? Simak juga bagaimana HashMicro mempermudah perhitungan payroll perusahaan!","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2025-01-04T01:57:35+00:00","article_modified_time":"2026-04-10T09:46:23+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp","type":"image\/webp"}],"author":"Reno Wicaksana","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Reno Wicaksana","Estimasi waktu membaca":"11 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/"},"author":{"name":"Reno Wicaksana","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e"},"headline":"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh","datePublished":"2025-01-04T01:57:35+00:00","dateModified":"2026-04-10T09:46:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/"},"wordCount":1558,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp","articleSection":["HRM"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/","name":"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp","datePublished":"2025-01-04T01:57:35+00:00","dateModified":"2026-04-10T09:46:23+00:00","description":"Apa yang dimaksud dengan payroll system dan apa saja komponennya? Simak juga bagaimana HashMicro mempermudah perhitungan payroll perusahaan!","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/01\/sistem-payroll.webp","width":1200,"height":675,"caption":"sistem payroll"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-payroll-adalah\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Memahami Sistem Payroll: Manfaat, Komponen dan Contoh"}]},{"@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\/0d3340f667908102d8894da18f80732e","name":"Reno Wicaksana","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\/2025\/10\/Reno-Wicaksana-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp","caption":"Reno Wicaksana"},"description":"Reno adalah HRM Specialist dan senior content writer dengan pengalaman lebih dari 5 tahun di industri teknologi dan manajemen sumber daya manusia. Secara konsisten mengangkat topik artikel seputar performance management, rekrutmen dan pengembangan SDM, manajemen talenta, dan sistem HRIS untuk pengelolaan karyawan.","sameAs":["https:\/\/www.linkedin.com\/in\/william-w-88353a262\/"],"gender":"Laki-laki","knowsAbout":["HRM","HRIS"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer on HRIS","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/reno-wicaksana\/"}]}},"focus_keyword":"sistem payroll","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/20073","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\/218"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=20073"}],"version-history":[{"count":67,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/20073\/revisions"}],"predecessor-version":[{"id":192213,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/20073\/revisions\/192213"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/161206"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=20073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=20073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=20073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}