{"id":192800,"date":"2026-04-24T13:24:36","date_gmt":"2026-04-24T06:24:36","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=192800"},"modified":"2026-04-24T13:24:36","modified_gmt":"2026-04-24T06:24:36","slug":"cara-menghitung-stok-barang","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/","title":{"rendered":"Cara Menghitung Stok Barang dengan Mudah dan Akurat"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Penghitungan stok barang adalah langkah penting untuk memastikan inventaris perusahaan Anda tetap aman dari pencurian dan menghindari selisih stok yang dapat merugikan bagi penghitungan Harga Pokok Penjualan (HPP) bisnis Anda.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Setiap jenis usaha atau industri pasti memiliki perbedaan dalam pengelolaan stok barang disebabkan kebutuhan bisnis yang berbeda juga. Contohnya, tentu penghitungan barang industri retail berbeda dengan penghitungan yang dilakukan industri otomotif.<\/span><\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#stok\">Manfaat menghitung stok barang<\/a> yaitu mencegah understock dan overstock, mendapatkan laporan keuangan yang akurat, mematuhi regulasi pajak di Indonesia, dan meningkatkan efisiensi gudang.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#untuk\">Cycle counting<\/a> memastikan penghitungan stok yang lebih akurat karena stok tidak sekaligus dihitung seluruhnya, tetapi dibagi per bagian dalam satu periode.<br \/>\n<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#berikut\">Rumus dasar dalam menghitung stok barang<\/a> mencakup rumus stok akhir, Economic Order Quantity, Reorder Point, Safety Stock, dan Inventory Turnover Ratio.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n<!-- \t\t\t<div class=\"button-wrapper\">\r\n\t\t\t\t<a href=\"https:\/\/www.equiperp.com\/tour-produk-gratis\/?medium=key-takeaways\" class=\"submit-button\">Klik untuk Demo Gratis!<\/a>\r\n\t\t\t<\/div> -->\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<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><b>Manfaat Menghitung Stok Barang<\/b><\/h2>\n<p id=\"stok\">Stok barang merupakan aset yang harus dijaga untuk menjaga kestabilan penjualan bisnis dan mencegah kelebihan atau kekurangan persediaan yang bisa memengaruhi langsung keputusan bisnis. Berikut manfaat yang Anda dapatkan dari menghitung stok persediaan:<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Mencegah kekurangan stok:<\/b><span style=\"font-weight: 400;\"> Mengetahui jumlah stok dengan tepat akan membantu Anda mengidentifikasi stok mana yang sudah akan habis sehingga Anda dapat langsung melakukan <\/span><i><span style=\"font-weight: 400;\">restock<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Menghindari kelebihan stok:<\/b><span style=\"font-weight: 400;\"> Jumlah stok yang diketahui pasti dapat dijadikan sebagai perhitungan Anda untuk mengisi ulang stok sehingga mencegah <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/persediaan-barang-dagang\/\"><span style=\"font-weight: 400;\">pembelian persediaan berbasis asumsi<\/span><\/a><span style=\"font-weight: 400;\"> kasar. Stok yang menimbun dapat menyebabkan aset Anda diam di tempat dan malah bisa menambah beban biaya sewa gudang.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Mendukung akurasi laporan keuangan:<\/b><span style=\"font-weight: 400;\"> Stok barang adalah kumpulan aset perusahaan yang memiliki nilai yang perlu dicatat secara akurat. Jika jumlah stok tidak tercatat dengan rapi, maka akurasi laporan keuangan pun juga ikut meleset.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Memastikan kepatuhan pada regulasi di Indonesia:<\/b><span style=\"font-weight: 400;\"> Setiap perusahaan wajib memberikan Surat Pemberitahuan (SPT) Tahunan yang memberikan gambaran untung dan rugi perusahaan. Penghitungan stok yang tepat memastikan pelaporan pajak lebih bertanggung jawab.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Meningkatkan efisiensi operasional gudang:<\/b><span style=\"font-weight: 400;\"> Tim tidak perlu repot-repot <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/stock-adjustment\/\"><span style=\"font-weight: 400;\">mencari selisih stok<\/span><\/a><span style=\"font-weight: 400;\"> dan penyebabnya karena seluruh stok sudah dihitung secara berkala, yang dapat meningkatkan kinerja operasional karena dapat berfokus pada kegiatan seperti pengecekan, pengiriman, dan penerimaan.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Menjamin stok tetap akurat menjaga kepatuhan perusahaan Anda pada regulasi yang berlaku. <\/span><a href=\"https:\/\/www.pajak.go.id\/en\/node\/35337\"><span style=\"font-weight: 400;\">UU No. 36 Tahun 2008<\/span><\/a><span style=\"font-weight: 400;\"> secara tegas mengatur bahwa persediaan dan pemakaian persediaan untuk penghitungan harga pokok dinilai berdasarkan harga perolehan yang dilakukan secara rata-rata atau dengan cara mendahulukan persediaan yang diperoleh pertama.<\/span><\/p>\n<h2><b>Cara Menghitung Stok Barang dengan Efektif<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-192802\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro.webp\" alt=\"Cara menghitung stok barang dengan efektif\" width=\"1774\" height=\"887\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro.webp 1774w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-300x150.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-1024x512.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-768x384.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-1536x768.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-840x420.webp 840w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-150x75.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-696x348.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-dengan-efektif-hashmicro-1068x534.webp 1068w\" sizes=\"auto, (max-width: 1774px) 100vw, 1774px\" \/><\/p>\n<p id=\"untuk\">Untuk memastikan jumlah stok fisik <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-buku-stok-barang-harian-manual\/\"><span style=\"font-weight: 400;\">sesuai dengan catatan stok<\/span><\/a><span style=\"font-weight: 400;\">, Anda memerlukan strategi menghitung barang sesuai dengan kebutuhan bisnis. Anda bisa menerapkan cara-cara di bawah ini:<\/span><\/p>\n<ul>\n<li><b>Lakukan <\/b><b><i>stock opname<\/i><\/b><b> fisik: <\/b><i><span style=\"font-weight: 400;\">Stock opname<\/span><\/i><span style=\"font-weight: 400;\"> fisik memastikan tim gudang Anda mengecek dan mengetahui perbandingan jumlah stok sebenarnya dengan yang tercatat untuk memastikan akurasi jumlah inventaris.<\/span><\/li>\n<li><b>Terapkan <\/b><b><i>cycle counting<\/i>: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/cycle-counting\/\"><span style=\"font-weight: 400;\">Menghitung stok dengan strategi <\/span><i><span style=\"font-weight: 400;\">cycle counting<\/span><\/i><\/a><span style=\"font-weight: 400;\"> memungkinkan penghitungan sebagian stok secara berkala dan tidak menghentikan operasional gudang. Karena cakupannya per bagian item, maka akurasinya lebih terjamin.<\/span><\/li>\n<li><b>Gunakan rumus penghitungan barang: <\/b><span style=\"font-weight: 400;\">Menghitung barang memerlukan sistem perhitungan yang jelas agar hasil hitung stok sesuai dengan kebutuhan inventaris. Anda bisa menerapkan rumus berikut:<\/span><\/li>\n<\/ul>\n<p style=\"border: 2px solid #990000; background: #fff; padding: 14px; margin: 15px 0; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; text-align: center; color: #222;\">Stok Akhir = Stok Awal + Pembelian \u2013 HPP<\/p>\n<ul>\n<li><b>Analisis gudang dengan Prinsip Pareto: <\/b><span style=\"font-weight: 400;\">Dalam menghitung stok, Anda bisa menggunakan Prinsip Pareto agar keputusan pengambilan HPP menjadi tepat guna dengan kebutuhan bisnis. Prinsip ini menyatakan bahwa 20% item= 80% nilai bisnis.\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Tidak ada satupun metode terbaik di atas untuk kebutuhan semua bisnis. Terapkan metode yang paling cocok dengan jenis bisnis Anda.<\/span><\/p>\n<h2><b>5 Rumus Dasar Menghitung Stok &amp; Contohnya<\/b><\/h2>\n<p id=\"berikut\">Berikut merupakan rumus-rumus dasar yang Anda dapat gunakan untuk menghitung stok:<\/p>\n<h3><b>1. Rumus stok akhir<\/b><\/h3>\n<div style=\"border: 2px solid #990000; background: #fff; padding: 14px; margin: 15px 0; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; text-align: center; color: #222;\">Stok Akhir = Stok Awal + Pembelian \u2013 HPP<\/div>\n<p><span style=\"font-weight: 400;\">Dipakai untuk mengetahui sisa persediaan yang masih tersisa di akhir periode inventaris.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contoh:<\/span><\/p>\n<div style=\"border: 2px solid #990000; background: #ffffff; padding: 14px; margin: 15px 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 8px; font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; color: #222222; text-align: left;\">\n<p>Data produk industri retail Februari 2026:<\/p>\n<p>Stok awal= 500 unit<br \/>\nPembelian= 1.100 unit<br \/>\nTerjual= 1.400<\/p>\n<p>Stok akhir= 500 + 1.100 &#8211; 1.400= 1.200 unit<\/p>\n<p>Industri retail memiliki SKU yang sangat banyak dan perputaran yang tinggi.<\/p>\n<\/div>\n<h3><b>2. Rumus <\/b><b><i>Economic Order Quantity<\/i><\/b><b> (EOQ)<\/b><\/h3>\n<div style=\"border: 2px solid #990000; background: #fff; padding: 14px; margin: 15px 0; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; text-align: center; color: #222;\">\n<p>EOQ= \u221a(2 \u00d7 D \u00d7 S) \/ H)<\/p>\n<p>D: Permintaan tahunan (tahun)<br \/>\nS: Biaya pemesanan per order (order)<br \/>\nH: Biaya penyimpanan per unit per tahun (tahun)<\/p>\n<\/div>\n<p><span style=\"font-weight: 400;\">Digunakan untuk menentukan berapa banyak barang yang sebaiknya dipesan setiap kali pembelian supaya total biaya persediaan tetap serendah mungkin.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contoh:<\/span><\/p>\n<div style=\"border: 2px solid #990000; background: #ffffff; padding: 14px; margin: 15px 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 8px; font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; color: #222222; text-align: left;\">\n<p>Data penjualan komponen otomotif 2026:<\/p>\n<p>D= 10.000 unit\/tahun<br \/>\nS= 50.000\/order<br \/>\nH= 2.000\/unit\/tahun<\/p>\n<p>EOQ= \u221a(2 \u00d7 10.000 \u00d7 50.000) \/ 2.000)<br \/>\nEOQ= \u221a500.000= 707 unit<\/p>\n<p>Biasa dipakai industri manufaktur seperti otomotif karena melibatkan pemesanan barang (kendaraan).<\/p>\n<\/div>\n<h3><b>3. Rumus <\/b><b><i>Reorder Point<\/i><\/b><b> (ROP)<\/b><\/h3>\n<div style=\"border: 2px solid #990000; background: #fff; padding: 14px; margin: 15px 0; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; text-align: center; color: #222;\">ROP= Lead Time \u00d7 Rata-Rata Permintaan Harian + Safety Stock<\/div>\n<p><span style=\"font-weight: 400;\">Rumus ini digunakan untuk mengetahui kapan gudang perlu di-<\/span><i><span style=\"font-weight: 400;\">restock<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contoh:<\/span><\/p>\n<div style=\"border: 2px solid #990000; background: #ffffff; padding: 14px; margin: 15px 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 8px; font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; color: #222222; text-align: left;\">\n<p>Sebuah restoran melakukan pengecekan stok bahan baku untuk mengetahui angka ideal restock.<\/p>\n<p>Rata-rata permintaan harian= 50 unit<br \/>\nLead time supplier= 7 hari<br \/>\nSafety stock= 100 unit<\/p>\n<p>ROP= (7 \u00d7 50) + 100= 450 unit<\/p>\n<p>Perlu restock jika sisa stok 450 unit. Industri seperti restoran umumnya menerapkan ROP karena bahan baku makanan termasuk perishable (mudah rusak dan basi).<\/p>\n<\/div>\n<h3><b>4. Rumus <\/b><b><i>Safety Stock<\/i><\/b><\/h3>\n<div style=\"border: 2px solid #990000; background: #fff; padding: 14px; margin: 15px 0; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; text-align: center; color: #222;\">\n<p>Safety Stock= Z \u00d7 \u03c3 \u00d7 \u221aL<\/p>\n<p>Z: Faktor level service<br \/>\n\u03c3: Standar deviasi permintaan harian<br \/>\nL: Lead Time<\/p>\n<\/div>\n<p><span style=\"font-weight: 400;\">Dipakai untuk melihat apakah gudang memerlukan stok cadangan untuk mengantisipasi fluktuasi permintaan atau keterlambatan <\/span><i><span style=\"font-weight: 400;\">supplier<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contoh:<\/span><\/p>\n<div style=\"border: 2px solid #990000; background: #ffffff; padding: 14px; margin: 15px 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 8px; font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; color: #222222; text-align: left;\">\n<p>Sebuah apotek ingin mencapai service level 95%<\/p>\n<p>Z= 1.65<br \/>\nStandar deviasi permintaan harian= 20 unit<br \/>\nLead time= 9 hari<\/p>\n<p>Safety Stock= 1.65 \u00d7 20 \u00d7 \u221a9<br \/>\nSafety Stock= 1.65 \u00d7 20 \u00d7 3= 99 unit<\/p>\n<p>Cadangan stok obat yang diperlukan= 99 unit<\/p>\n<p>Industri seperti apotek sering menerapkan Safety Stock karena mereka membutuhkan tingkat servis yang tinggi dikarenakan banyak orang yang membutuhkan obat dengan tingkat urgensi tinggi.<\/p>\n<\/div>\n<h3><b>5. Rumus <\/b><b><i>Inventory Turnover Ratio<\/i><\/b><\/h3>\n<div style=\"border: 2px solid #990000; background: #fff; padding: 14px; margin: 15px 0; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; text-align: center; color: #222;\">\n<p>Inventory Turnover= HPP \/ Rata-Rata Persediaan<\/p>\n<p>Rata-Rata Persediaan= (Stok Awal + Stok Akhir) \/ 2<\/p>\n<\/div>\n<p><span style=\"font-weight: 400;\">Rumus ini berguna untuk mengetahui seberapa cepat persediaan berputar, baik dijual atau digantikan karena kedaluwarsa.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contoh:<\/span><\/p>\n<div style=\"border: 2px solid #990000; background: #ffffff; padding: 14px; margin: 15px 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.08) 0px 3px 8px; font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; color: #222222; text-align: left;\">\n<p>Sebuah industri pakaian hendak menghitung perputaran inventaris mereka.<\/p>\n<p>HPP= Rp. 600.000.000<br \/>\nStok awal= Rp. 80.000.000<br \/>\nStok akhir= Rp. 120.000.000<\/p>\n<p>Rata-rata persediaan= (80.000.000 + 120.000.000) \/ 2= 100.000.000<br \/>\nInventory Turnover= 600.000.000 \/ 100.000.000= 6 kali<\/p>\n<p>Inventaris industri pakaian tersebut berputar 6 kali dalam setahun. Industri pakaian perlu mengetahui perputaran barang mereka karena SKU pakaian bisa berjumlah ratusan dan mengikuti tren pasar.<\/p>\n<\/div>\n<h2><b>Berapa Rasio Stok yang Baik?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Tidak ada satupun rasio stok yang baik karena kembali lagi pada model dan jenis bisnis yang Anda jalankan. Perputaran inventaris tiap industri bisa berbeda karena dipengaruhi oleh tren penjualan dan juga seberapa sering masyarakat membutuhkan barang yang dijual oleh bisnis.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Untuk mendapat <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/inventory-to-sales-ratio\/\"><span style=\"font-weight: 400;\">rasio stok yang paling tepat<\/span><\/a><span style=\"font-weight: 400;\"> dengan kondisi usaha Anda, Anda bisa memikirkan faktor-faktor seperti <\/span><i><span style=\"font-weight: 400;\">overstock<\/span><\/i><span style=\"font-weight: 400;\"> atau <\/span><i><span style=\"font-weight: 400;\">understock<\/span><\/i><span style=\"font-weight: 400;\">, barang <\/span><i><span style=\"font-weight: 400;\">slow-moving<\/span><\/i><span style=\"font-weight: 400;\">, kekuatan <\/span><i><span style=\"font-weight: 400;\">forecasting demand<\/span><\/i><span style=\"font-weight: 400;\">, dan risiko kerugian apabila barang yang Anda miliki kedaluwarsa.<\/span><\/p>\n<h2><b>Kesimpulan<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Menghitung stok barang merupakan langkah yang memerlukan perhatian lebih dalam pelaksanaannya karena hasil akhir sangat memengaruhi pengambilan keputusan bisnis untuk penjualan di pasar.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Setiap industri memerlukan pendekatan penghitungan jumlah barang yang berbeda karena sifat dan kebutuhan tiap bisnis sangat variatif dan unik. Satu pendekatan tidak bisa dipakai untuk semua jenis bisnis.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Penting bagi Anda untuk selalu terbuka dengan segala kemungkinan seperti perubahan tren pasar, risiko pencurian barang, serta potensi selisih barang. Catatan laporan stok akan mempermudah tim gudang Anda menghitung barang dengan tepat.<\/span><\/p>\n<h2><strong>FAQ Seputar Menghitung Stok Barang<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Bagaimana cara membuat laporan stok barang?<\/strong><\/summary>\n<p>Buat laporan dengan mencatat stok awal, barang masuk, barang keluar, dan stok akhir, lalu cocokkan dengan hasil <em>stock opname<\/em>.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa itu HPP dan rumusnya?<\/strong><\/summary>\n<p>HPP adalah total biaya langsung yang dikeluarkan perusahaan untuk memproduksi atau memperoleh barang atau jasa yang terjual dalam satu periode. Rumusnya yaitu HPP = Persediaan Awal + Pembelian &#8211; Persediaan Akhir.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah HPP dengan harga jual sama?<\/strong><\/summary>\n<p>Tidak. HPP adalah biaya langsung untuk memperoleh atau memproduksi barang yang terjual, sedangkan harga jual adalah harga yang dibebankan kepada pelanggan saat barang itu dijual.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Persediaan apakah termasuk neraca?<\/strong><\/summary>\n<p>Ya, persediaan termasuk dalam neraca. Posisi persediaan atau inventaris dalam akuntansi termasuk dalam aset perusahaan, membuatnya secara otomatis masuk dalam neraca keuangan.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana cara membuat laporan stok barang?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Buat laporan dengan mencatat stok awal, barang masuk, barang keluar, dan stok akhir, lalu cocokkan dengan hasil stock opname.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa itu HPP dan rumusnya?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"HPP adalah total biaya langsung yang dikeluarkan perusahaan untuk memproduksi atau memperoleh barang atau jasa yang terjual dalam satu periode. Rumusnya yaitu HPP = Persediaan Awal + Pembelian - Persediaan Akhir.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apakah HPP dengan harga jual sama?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Tidak. HPP adalah biaya langsung untuk memperoleh atau memproduksi barang yang terjual, sedangkan harga jual adalah harga yang dibebankan kepada pelanggan saat barang itu dijual.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Persediaan apakah termasuk neraca?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Ya, persediaan termasuk dalam neraca. Posisi persediaan atau inventaris dalam akuntansi termasuk dalam aset perusahaan, membuatnya secara otomatis masuk dalam neraca keuangan.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Penghitungan stok barang adalah langkah penting untuk memastikan inventaris perusahaan Anda tetap aman dari pencurian dan menghindari selisih stok yang dapat merugikan bagi penghitungan Harga Pokok Penjualan (HPP) bisnis Anda. Setiap jenis usaha atau industri pasti memiliki perbedaan dalam pengelolaan stok barang disebabkan kebutuhan bisnis yang berbeda juga. Contohnya, tentu penghitungan barang industri retail berbeda [&hellip;]<\/p>\n","protected":false},"author":160,"featured_media":192801,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88],"tags":[],"class_list":{"0":"post-192800","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-inventory"},"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>Cara Menghitung Stok Barang dengan Mudah dan Akurat<\/title>\n<meta name=\"description\" content=\"Menghitung stok barang memastikan persediaan Anda tetap stabil dan dapat menguntungkan bagi bisnis. Pelajari rumus menghitungnya dalam berbagai industri.\" \/>\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-menghitung-stok-barang\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cara Menghitung Stok Barang dengan Mudah dan Akurat\" \/>\n<meta property=\"og:description\" content=\"Menghitung stok barang memastikan persediaan Anda tetap stabil dan dapat menguntungkan bagi bisnis. Pelajari rumus menghitungnya dalam berbagai industri.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\" \/>\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=\"2026-04-24T06:24:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Jessica Wijaya\" \/>\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=\"Jessica Wijaya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 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-menghitung-stok-barang\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\"},\"author\":{\"name\":\"Jessica Wijaya\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980\"},\"headline\":\"Cara Menghitung Stok Barang dengan Mudah dan Akurat\",\"datePublished\":\"2026-04-24T06:24:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\"},\"wordCount\":1227,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp\",\"articleSection\":[\"Inventory\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\",\"name\":\"Cara Menghitung Stok Barang dengan Mudah dan Akurat\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp\",\"datePublished\":\"2026-04-24T06:24:36+00:00\",\"description\":\"Menghitung stok barang memastikan persediaan Anda tetap stabil dan dapat menguntungkan bagi bisnis. Pelajari rumus menghitungnya dalam berbagai industri.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp\",\"width\":1920,\"height\":1080,\"caption\":\"Cara menghitung stok barang\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cara Menghitung Stok Barang dengan Mudah dan Akurat\"}]},{\"@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\/4d83ca1a7056c0a44f813f8721086980\",\"name\":\"Jessica Wijaya\",\"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\/Jessica-Wijaya-1-1-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp\",\"caption\":\"Jessica Wijaya\"},\"description\":\"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.\",\"sameAs\":[\"https:\/\/www.hashmicro.com\/id\/\"],\"gender\":\"Perempuan\",\"knowsAbout\":[\"Inventory\",\"inventory management\",\"manajemen inventaris\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cara Menghitung Stok Barang dengan Mudah dan Akurat","description":"Menghitung stok barang memastikan persediaan Anda tetap stabil dan dapat menguntungkan bagi bisnis. Pelajari rumus menghitungnya dalam berbagai industri.","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-menghitung-stok-barang\/","og_locale":"id_ID","og_type":"article","og_title":"Cara Menghitung Stok Barang dengan Mudah dan Akurat","og_description":"Menghitung stok barang memastikan persediaan Anda tetap stabil dan dapat menguntungkan bagi bisnis. Pelajari rumus menghitungnya dalam berbagai industri.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2026-04-24T06:24:36+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp","type":"image\/webp"}],"author":"Jessica Wijaya","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Jessica Wijaya","Estimasi waktu membaca":"8 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/"},"author":{"name":"Jessica Wijaya","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980"},"headline":"Cara Menghitung Stok Barang dengan Mudah dan Akurat","datePublished":"2026-04-24T06:24:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/"},"wordCount":1227,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp","articleSection":["Inventory"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/","name":"Cara Menghitung Stok Barang dengan Mudah dan Akurat","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp","datePublished":"2026-04-24T06:24:36+00:00","description":"Menghitung stok barang memastikan persediaan Anda tetap stabil dan dapat menguntungkan bagi bisnis. Pelajari rumus menghitungnya dalam berbagai industri.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/04\/cara-menghitung-stok-barang-hashmicro.webp","width":1920,"height":1080,"caption":"Cara menghitung stok barang"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Cara Menghitung Stok Barang dengan Mudah dan Akurat"}]},{"@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\/4d83ca1a7056c0a44f813f8721086980","name":"Jessica Wijaya","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\/Jessica-Wijaya-1-1-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","caption":"Jessica Wijaya"},"description":"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"gender":"Perempuan","knowsAbout":["Inventory","inventory management","manajemen inventaris"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/"}]}},"focus_keyword":"cara menghitung stok barang","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/192800","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\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=192800"}],"version-history":[{"count":3,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/192800\/revisions"}],"predecessor-version":[{"id":192816,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/192800\/revisions\/192816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/192801"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=192800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=192800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=192800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}