{"id":179291,"date":"2025-12-08T09:27:27","date_gmt":"2025-12-08T02:27:27","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=179291"},"modified":"2026-01-15T11:24:27","modified_gmt":"2026-01-15T04:24:27","slug":"zero-inventory","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/","title":{"rendered":"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &#038; Cara Menerapkannya"},"content":{"rendered":"<p>Zero inventory (persediaan nol) bukan berarti gudang kosong total. Itu miskonsepsi yang sering membuat perusahaan salah langkah. Intinya, ia adalah strategi manajemen untuk meminimalkan stok fisik seminimal mungkin, bahkan mendekati nol.<\/p>\n<p>Bagaimana caranya? Dengan menerima barang tepat saat dibutuhkan (just-in-time) untuk memenuhi pesanan pelanggan, bukan menyimpannya dalam jumlah besar di gudang.<\/p>\n<p>Tujuannya untuk mengurangi biaya penyimpanan, meningkatkan efisiensi modal, dan menghindari risiko barang menumpuk atau kadaluarsa, dengan mengandalkan rantai pasokan yang sangat efisien<\/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: #8a0e19; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#a\">Zero inventory<\/a> adalah pendekatan manajemen untuk meminimalkan stok hingga mendekati nol guna efisiensi modal.<\/li>\n<li aria-level=\"1\">Nilai utamanya bukan sekadar hemat gudang, tetapi<a href=\"#b\"> melepas modal kerja<\/a> dari stok lambat.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\">Strategi ini <a href=\"#b\">bermanfaat<\/a> dalam meningkatkan arus kas secara signifikan dengan menghapus biaya sewa gudang dan depresiasi aset.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#c\">Langkah-langkah menerapkan<\/a> zero inventory mencakup forecasting yang akurat, pemilihan pemasok tepat waktu, dan penggunaan sistem persediaan terintegrasi.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\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 \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><span id=\"a\"><\/span><\/p>\n<p>Yang mana paling mirip kondisi stok di perusahaan Anda sekarang?<\/p>\n<p>A. Gudang penuh supaya tenang, yang penting tidak pernah kehabisan.<br \/>\nB. Stok secukupnya, tapi kalau ada promo atau peak season, langsung naikkan buffer.<br \/>\nC. Stok tipis saja, yang penting supplier bisa kirim cepat dan data demand akurat.<\/p>\n<p>Kalau Anda cenderung memilih C, Anda sudah berpikir ke arah zero inventory: stok ditahan serendah mungkin, tetapi aliran barang tetap aman karena ritmenya dikunci oleh data dan proses.<\/p>\n<p>Kalau pilihan Anda A atau B, berarti Anda masih mengandalkan buffer sebagai asuransi operasional.<\/p>\n<h2><strong>Bisnis Anda Siap Zero Inventory atau Belum?<\/strong><\/h2>\n<p>Sebelum membahas manfaat, lebih berguna kalau Anda tes kesiapan dulu, karena zero inventory gagal bukan karena konsepnya, tapi karena fondasinya rapuh.<\/p>\n<p>Checklist kesiapan (jawab ya\/tidak):<\/p>\n<p><!-- ZERO INVENTORY READINESS CHECKLIST (Inline CSS, Sharp Corners) --><\/p>\n<div style=\"font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; border: 2px solid #9B111E; background: #ffffff; color: #111827; padding: 16px; max-width: 860px; margin: 16px 0; border-radius: 0;\">\n<div style=\"display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #E5E7EB; padding-bottom: 10px; margin-bottom: 12px;\">\n<div>\n<div style=\"font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: #9b111e; font-weight: 800; line-height: 1.2;\">Checklist<\/div>\n<div style=\"font-size: 18px; font-weight: 800; line-height: 1.3; margin-top: 2px;\">Zero Inventory Readiness<\/div>\n<div style=\"font-size: 13px; color: #6b7280; line-height: 1.5; margin-top: 4px;\">Centang \u201cYA\u201d jika kondisi ini sudah terpenuhi. Jika banyak yang belum, mulai dari reduce inventory dulu.<\/div>\n<\/div>\n<div style=\"border: 1px solid #E5E7EB; padding: 8px 10px; border-radius: 0; background: #F9FAFB; min-width: 170px; text-align: left;\">\n<div style=\"font-size: 12px; color: #6b7280; margin-bottom: 4px;\">Skor cepat<\/div>\n<div style=\"font-size: 14px; font-weight: 800;\">0\u20133: Risiko tinggi<br \/>\n4\u20136: Siap bertahap<br \/>\n7+: Siap eksekusi<\/div>\n<\/div>\n<\/div>\n<div style=\"display: grid; gap: 10px;\"><!-- Item --><br \/>\n<label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Data penjualan rapi per SKU<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Minimal 6\u201312 bulan, bisa dibaca per cabang\/channel.<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Lead time supplier stabil<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Tidak fluktuatif ekstrem (mis. 3 hari jadi 3 minggu).<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Ada rencana cadangan supplier<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Supplier alternatif \/ SLA \/ micro-buffer untuk item kritikal.<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Satu sumber data untuk sales\u2013gudang\u2013purchasing<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Tidak ada versi spreadsheet berbeda yang bikin angka stok \u201cberdebat\u201d.<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Reorder point dihitung dari lead time nyata<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Parameter reorder ikut berubah saat lead time berubah.<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Bisa pantau stok real-time<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Update terjadi saat transaksi terjadi, bukan menunggu akhir hari\/minggu.<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Klasifikasi SKU sudah jelas<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Fast\/slow moving, item kritikal, dan item musiman dibedakan.<\/span><br \/>\n<\/span><br \/>\n<\/label><label style=\"display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid #E5E7EB; background: #ffffff; border-radius: 0;\"><br \/>\n<input style=\"margin-top: 2px; width: 16px; height: 16px; accent-color: #9B111E;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><br \/>\n<span style=\"font-weight: bold; font-size: 14px; line-height: 1.4;\">Monitoring pengiriman (in-transit) tersedia<\/span><br \/>\n<span style=\"font-size: 13px; color: #6b7280; line-height: 1.5;\">Ada visibilitas status barang sebelum tiba agar bisa ambil keputusan cepat.<\/span><br \/>\n<\/span><br \/>\n<\/label><\/div>\n<div style=\"margin-top: 14px; padding: 10px; border: 1px solid #E5E7EB; background: #F9FAFB; border-radius: 0; display: flex; gap: 10px; align-items: flex-start;\">\n<div style=\"width: 10px; height: 10px; background: #9B111E; margin-top: 4px; flex: 0 0 auto;\"><\/div>\n<div style=\"font-size: 13px; color: #374151; line-height: 1.55;\"><strong style=\"color: #111827;\">Catatan:<\/strong> Zero inventory yang matang biasanya tetap punya <em>micro-buffer<\/em> untuk SKU kritikal. Targetnya efisiensi stok, bukan \u201cnol kaku\u201d.<\/div>\n<\/div>\n<\/div>\n<p>Kalau &#8216;tidak&#8217; Anda masih dominan, strategi yang lebih aman adalah reduce inventory dulu (turunkan safety stock bertahap), bukan lompat ke &#8216;nol&#8217;.<\/p>\n<h2><strong>Manfaat yang Biasanya Muncul dalam 30 &#8211; 90 Hari<\/strong><\/h2>\n<p>Kalau zero inventory diterapkan bertahap (bukan langsung nol), dampaknya biasanya terasa paling dulu di area yang paling dekat dengan uang dan ritme operasional. Dalam 30\u201390 hari, perusahaan umumnya mulai melihat perbaikan yang bisa diukur tanpa harus menunggu setahun.<span id=\"b\"><\/span><\/p>\n<p>Manfaat yang paling sering muncul di 30\u201390 hari antara lain:<\/p>\n<h3><strong>1. Perputaran stok lebih cepat untuk SKU slow-moving<\/strong><\/h3>\n<p>Biasanya terjadi karena perusahaan mulai tegas menahan pembelian ulang SKU yang tidak bergerak, lalu fokus ke SKU yang benar-benar ditarik permintaan.<\/p>\n<h3><strong>2. Cash flow terasa lebih longgar<\/strong><\/h3>\n<p>Walau belum nol, <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-mencegah-overstock\/\">pengurangan stok berlebih<\/a> langsung mengurangi uang yang mengendap di gudang. Jadi, ruang untuk belanja bahan prioritas akan lebih luas.<\/p>\n<h3><strong>3. Biaya gudang turun secara bertahap<\/strong><\/h3>\n<p>Anda mulai mengurangi biaya handling yang sering tidak disadari, seperti bongkar-muat berulang, relokasi rak, overtime gudang, dan biaya kontrol kerusakan\/expiry.<\/p>\n<h3><strong>4. Keputusan pembelian lebih tenang dan tidak reaktif<\/strong><\/h3>\n<p>Tim purchasing biasanya berhenti panic order karena reorder point dan parameter lead time mulai jelas, jadi pembelian terasa lebih terencana.<\/p>\n<p>Kalau ingin manfaatnya terasa cepat, fokuskan implementasi pada 20% SKU yang menyerap 80% nilai stok. Di situ efeknya paling terlihat dan paling cepat menular ke kebiasaan tim.<\/p>\n<h2><strong>Tiga Titik Rawan Zero Inventory yang Wajib Punya Mitigasi<\/strong><\/h2>\n<p>Zero inventory bisa lancar ketika aliran barang stabil, tapi rapuh ketika ada gangguan kecil yang tak terdeteksi. Karena itu, Anda perlu punya rencana mitigasi di tiga titik yang paling sering membuat operasional tersendat.<span id=\"c\"><\/span><\/p>\n<h3><strong>1. Lead time supplier yang kelihatan stabil tapi sebenarnya fluktuatif<\/strong><\/h3>\n<p>Supplier sering terlihat on-time secara rata-rata, padahal variasinya besar di hari tertentu, musim tertentu, atau saat SKU tertentu kosong. Dalam sistem stok tipis, variasi kecil ini langsung menjadi stockout.<\/p>\n<p><strong>Mitigasi cepat:<\/strong><\/p>\n<ul>\n<li>Catat lead time per SKU dan per supplier, bukan hanya supplier A 7 hari.<\/li>\n<li>Pakai rentang 5\u20139 hari, lalu set micro buffer untuk SKU kritis mengikuti rentang terburuknya.<\/li>\n<li>Buat aturan alarm jika lead time mulai melenceng dari rata-rata.<\/li>\n<\/ul>\n<h3><strong>2. Perubahan demand mendadak dari promo, musim, atau channel baru<\/strong><\/h3>\n<p>Zero inventory bisa gagal karena demand melonjak dan tim tidak punya sinyal lebih awal. Ini sering terjadi saat campaign berjalan, marketplace sedang ramai, atau outlet baru buka.<\/p>\n<p><strong>Mitigasi cepat:<\/strong><\/p>\n<ul>\n<li>Pisahkan demand normal vs demand musiman (peak season) agar forecast tidak tercampur.<\/li>\n<li>Buat parameter reorder yang punya mode promo untuk SKU tertentu.<\/li>\n<li>Pastikan tim marketing memberi sinyal rencana promo minimal 2\u20134 minggu sebelumnya.<\/li>\n<\/ul>\n<h3><strong>3. Data stok yang benar di sistem tapi tidak akurat di lapangan<\/strong><\/h3>\n<p>Stok tipis butuh akurasi tinggi. Selisih kecil dari receiving yang belum diinput, barang retur yang belum kembali ke rak, atau picking yang tidak tercatat bisa langsung membuat keputusan pembelian salah.<\/p>\n<p><strong>Mitigasi cepat:<\/strong><\/p>\n<ul>\n<li>Wajibkan SOP receiving yang ketat (barang masuk = transaksi masuk).<\/li>\n<li>Pisahkan area retur dan tetapkan aturan kapan barang boleh kembali jadi available stock.<\/li>\n<li><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/cycle-counting\/\">Jalankan cycle count<\/a> untuk SKU kritikal lebih sering daripada full stocktake.<\/li>\n<\/ul>\n<h2><strong>Setup Ulang SOP Pembelian dan Gudang untuk Stok Tipis<\/strong><\/h2>\n<p>Kalau SOP masih pola lama (beli banyak agar aman), zero inventory akan terasa seperti menyiksa tim. Jadi, Anda bisa ubah SOP agar lebih ritmis: kapan cek, kapan pesan, siapa approve, dan kapan barang dianggap tersedia.<\/p>\n<p>Setup SOP yang biasanya paling efektif yaitu:<\/p>\n<h3><strong>1. SOP pembelian dengan jadwal keputusan yang jelas<\/strong><\/h3>\n<p>Bukan semua orang harus cek stok setiap hari secara manual. Yang dibutuhkan adalah ritme review yang konsisten.<\/p>\n<ul>\n<li>Tetapkan hari review pembelian (misal Senin &amp; Kamis) untuk SKU reguler.<\/li>\n<li>SKU kritikal bisa review harian, tapi tetap lewat parameter.<\/li>\n<li>Definisikan level otorisasi pembelian berdasarkan nilai dan urgensi.<\/li>\n<\/ul>\n<h3><strong>2. SOP receiving dan putaway yang tidak boleh ditunda<\/strong><\/h3>\n<p>Stok tipis tidak cocok dengan proses penerimaan yang ditunda-tunda. Barang sudah datang tetapi belum tercatat itu sama saja stok gaib.<\/p>\n<ul>\n<li>Barang datang wajib diproses Good Receipt sebelum masuk rak.<\/li>\n<li>Putaway harus punya target waktu (misal maksimal 2 jam setelah receipt).<\/li>\n<li>Jika ada QC, buat status on hold yang jelas agar tidak ikut terhitung available.<\/li>\n<\/ul>\n<h3><strong>3. SOP picking yang mengunci akurasi<\/strong><\/h3>\n<p>Stok tipis butuh pencatatan keluar yang rapi. Kesalahan picking kecil bisa memicu reorder yang salah atau stockout.<\/p>\n<ul>\n<li>Terapkan aturan pick = tercatat (barcode scanning membantu, tapi SOP-nya tetap wajib).<\/li>\n<li>Tetapkan area staging agar barang yang sudah dipick tidak tercampur dengan stok available.<\/li>\n<li>Audit cepat untuk SKU kritikal setiap akhir shift.<\/li>\n<\/ul>\n<p>Kalau SOP ini berjalan, tim biasanya merasa zero inventory itu bukan menambah kerja, tapi justru mengurangi hambatan operasional.<\/p>\n<h2><strong>Cara Menentukan Micro Buffer untuk SKU Kritis<\/strong><\/h2>\n<p>Anda tetap mengejar stok tipis, tetapi memberi bantalan kecil untuk SKU yang tidak boleh kosong. Bedanya dengan safety stock besar, micro buffer hanya untuk item tertentu dan dihitung berdasarkan risiko nyata, bukan ketakutan.<\/p>\n<p>Langkah menentukan micro buffer yang paling simpel dan kepake:<\/p>\n<h3><strong>1. Tentukan SKU kritisnya dulu<\/strong><\/h3>\n<p>SKU kritis biasanya yang memenuhi salah satu:<\/p>\n<ul>\n<li>Jika kosong, produksi\/penjualan berhenti.<\/li>\n<li>Lead time sulit diprediksi.<\/li>\n<li>Substitusinya tidak mudah (tidak ada alternatif cepat).<\/li>\n<\/ul>\n<p>Mulai dari 10\u201320 SKU dulu, jangan langsung semuanya.<\/p>\n<h3><strong>2. Ukur demand harian rata-rata dan lead time terburuk<\/strong><\/h3>\n<p>Gunakan pendekatan yang gampang dipahami tim:<\/p>\n<ul>\n<li>Demand harian rata-rata = total penjualan 30 hari \/ 30<\/li>\n<li>Lead time terburuk = lead time paling lama yang masih realistis (mis. dari histori 3 bulan)<\/li>\n<\/ul>\n<h3><strong>3. Rumus praktis micro buffer<\/strong><\/h3>\n<p>Micro buffer (unit) = demand harian rata-rata \u00d7 (lead time terburuk \u2212 lead time normal)<\/p>\n<p><strong>Contoh gampang:<\/strong><\/p>\n<p>Demand 20 unit\/hari<\/p>\n<ul>\n<li>Lead time normal 5 hari, terburuk 8 hari<\/li>\n<li>Micro buffer = 20 \u00d7 (8\u22125) = 60 unit<\/li>\n<\/ul>\n<p>Micro buffer ini bukan untuk stok nyaman, tapi untuk menutup <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/lead-time\/\">variasi lead time<\/a> yang paling sering membuat macet.<\/p>\n<h3><strong>4. Revisi buffer secara periodik<\/strong><\/h3>\n<p>Micro buffer bukan angka permanen. Review minimal tiap 30 hari untuk SKU kritikal:<\/p>\n<ul>\n<li>Kalau supplier makin stabil, buffer bisa turun.<\/li>\n<li>Kalau demand melonjak, buffer bisa naik sementara.<\/li>\n<\/ul>\n<p>Ingin visualisasi yang lebih jelas? Anda bisa simak tabel di bawah ini.<\/p>\n<p><!-- MICRO BUFFER TABLE (Scrollable, Sharp Corners, Inline CSS) --><\/p>\n<div style=\"font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin: 14px 0;\">\n<div style=\"display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 8px;\">\n<div>\n<div style=\"font-size: 14px; font-weight: 800; color: #111827; line-height: 1.3;\">Tabel Praktis Menentukan Micro Buffer untuk SKU Kritis<\/div>\n<div style=\"font-size: 12.5px; color: #6b7280; line-height: 1.5; margin-top: 2px;\">Gunakan untuk SKU yang tidak boleh kosong. Scroll ke samping jika layar sempit.<\/div>\n<\/div>\n<div style=\"font-size: 12px; color: #9b111e; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;\">Zero Inventory<\/div>\n<\/div>\n<div style=\"border: 1px solid #E5E7EB; border-radius: 0; overflow: hidden; background: #fff;\">\n<p><!-- scroll wrapper --><\/p>\n<div style=\"overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 2px solid #9B111E;\">\n<table style=\"border-collapse: collapse; width: 980px; min-width: 980px;\">\n<thead>\n<tr>\n<th style=\"text-align: left; padding: 10px 12px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #E5E7EB; background: #F9FAFB;\">Langkah<\/th>\n<th style=\"text-align: left; padding: 10px 12px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #E5E7EB; background: #F9FAFB;\">Input yang Dibutuhkan<\/th>\n<th style=\"text-align: left; padding: 10px 12px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #E5E7EB; background: #F9FAFB;\">Cara Hitung Cepat<\/th>\n<th style=\"text-align: left; padding: 10px 12px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #E5E7EB; background: #F9FAFB;\">Output<\/th>\n<th style=\"text-align: left; padding: 10px 12px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #E5E7EB; background: #F9FAFB;\">Catatan Praktis<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">1) Pilih SKU kritis<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Dampak stockout, substitusi, kontribusi revenue<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Prioritaskan 10\u201320 SKU dulu (jangan semua)<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Daftar SKU kritis<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #6b7280; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">SKU yang \u201ckosong = operasi berhenti\u201d wajib masuk.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">2) Hitung demand harian rata-rata<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Penjualan 30 hari (per SKU)<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Total 30 hari \u00f7 30<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Demand\/hari<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #6b7280; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Pisahkan demand normal vs promo jika datanya campur.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">3) Tentukan lead time normal &amp; terburuk<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Histori lead time 2\u20133 bulan (per supplier\/SKU)<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Normal = rata-rata, Terburuk = nilai paling lambat yang masih realistis<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">LT normal &amp; LT terburuk<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #6b7280; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Gunakan per SKU, jangan \u201csupplier A 7 hari\u201d untuk semuanya.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">4) Hitung micro buffer<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Demand\/hari, LT normal, LT terburuk<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\"><span style=\"font-weight: 800; color: #9b111e;\">Micro buffer<\/span> = Demand\/hari \u00d7 (LT terburuk \u2212 LT normal)<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Buffer unit\/SKU<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #6b7280; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Ini bantalan variasi lead time, bukan \u201cstok nyaman\u201d.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">5) Review dan koreksi<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Deviasi demand, perubahan lead time, insiden stockout<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Review tiap 30 hari (atau setelah promo\/peak)<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #111827; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Buffer terbaru<\/td>\n<td style=\"padding: 10px 12px; font-size: 13px; color: #6b7280; border-bottom: 1px solid #E5E7EB; vertical-align: top;\">Supplier makin stabil \u2192 buffer turun. Demand naik \u2192 buffer sementara naik.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><!-- footer note --><\/p>\n<div style=\"display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; background: #ffffff; border-top: 1px solid #E5E7EB;\">\n<div style=\"width: 10px; height: 10px; background: #9B111E; margin-top: 4px; flex: 0 0 auto;\"><\/div>\n<div style=\"font-size: 12.5px; color: #6b7280; line-height: 1.55;\">Tips: jika micro buffer terasa \u201cbesar\u201d, cek dulu apakah lead time supplier terlalu liar atau data demand tercampur promo.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2><strong>Kesimpulan<\/strong><\/h2>\n<p>Strategi zero inventory membantu perusahaan menipiskan stok gudang tanpa mengorbankan kelancaran operasional, asalkan keputusan pembelian benar-benar mengikuti permintaan aktual. Saat ritme ini terbentuk, biaya penyimpanan menurun, perputaran stok lebih sehat, dan cash flow terasa lebih longgar.<\/p>\n<p>Namun, strategi ini hanya stabil jika data penjualan, lead time supplier, dan stok tersedia selalu sinkron, bukan hasil tebak-tebakan atau update yang terlambat. Karena itu, banyak bisnis memilih memakai software stok barang yang terintegrasi agar forecasting, reorder point, dan pergerakan barang bisa dipantau real-time.<\/p>\n<p>Jika Anda ingin mulai dengan aman, terapkan bertahap dari SKU kritikal terlebih dulu, lalu evaluasi dampaknya tiap 30 hari. Dengan begitu, efisiensi meningkat tanpa membuat tim keteteran saat demand berubah.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/id\/inventaris?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/inventory-definitive.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/inventory-definitive.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/inventory-definitive-m.webp\" alt=\"Inventory_Definisi\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2><strong>Pertanyaan Seputar Zero Inventory<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa bedanya Zero Inventory dengan Just In Time (JIT)?<\/strong><\/summary>\n<p>Zero Inventory adalah tujuan akhir dari meminimalkan stok, sedangkan Just In Time (JIT) adalah metode operasional untuk mencapai tujuan tersebut dengan mendatangkan barang saat dibutuhkan.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah Zero Inventory cocok untuk bisnis ritel kecil?<\/strong><\/summary>\n<p>Strategi ini bisa diterapkan pada bisnis kecil, namun risikonya cukup tinggi. Bisnis kecil sebaiknya memulai dengan mengurangi stok perlahan sambil membangun hubungan kuat dengan supplier sebelum full zero inventory.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Bagaimana cara mengatasi keterlambatan supplier dalam sistem Zero Inventory?<\/strong><\/summary>\n<p>Kuncinya adalah diversifikasi supplier dan memiliki kontrak SLA yang ketat. Teknologi ERP juga membantu memprediksi keterlambatan lebih awal sehingga Anda bisa mencari alternatif segera.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Zero inventory (persediaan nol) bukan berarti gudang kosong total. Itu miskonsepsi yang sering membuat perusahaan salah langkah. Intinya, ia adalah strategi manajemen untuk meminimalkan stok fisik seminimal mungkin, bahkan mendekati nol. Bagaimana caranya? Dengan menerima barang tepat saat dibutuhkan (just-in-time) untuk memenuhi pesanan pelanggan, bukan menyimpannya dalam jumlah besar di gudang. Tujuannya untuk mengurangi biaya [&hellip;]<\/p>\n","protected":false},"author":160,"featured_media":179559,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88],"tags":[],"class_list":{"0":"post-179291","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 v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &amp; Penerapan<\/title>\n<meta name=\"description\" content=\"Pelajari apa itu zero inventory, manfaat, serta risiko dan strategi penerapannya menggunakan teknologi ERP untuk bisnis Anda.\" \/>\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\/zero-inventory\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &amp; Cara Menerapkannya\" \/>\n<meta property=\"og:description\" content=\"Pelajari apa itu zero inventory, manfaat, serta risiko dan strategi penerapannya menggunakan teknologi ERP untuk bisnis Anda.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/\" \/>\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-12-08T02:27:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-15T04:24:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/12\/Zero-Inventory.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=\"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=\"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\\\/zero-inventory\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/\"},\"author\":{\"name\":\"Jessica Wijaya\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/4d83ca1a7056c0a44f813f8721086980\"},\"headline\":\"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &#038; Cara Menerapkannya\",\"datePublished\":\"2025-12-08T02:27:27+00:00\",\"dateModified\":\"2026-01-15T04:24:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/\"},\"wordCount\":1753,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Zero-Inventory.webp\",\"articleSection\":[\"Inventory\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/\",\"name\":\"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang & Penerapan\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Zero-Inventory.webp\",\"datePublished\":\"2025-12-08T02:27:27+00:00\",\"dateModified\":\"2026-01-15T04:24:27+00:00\",\"description\":\"Pelajari apa itu zero inventory, manfaat, serta risiko dan strategi penerapannya menggunakan teknologi ERP untuk bisnis Anda.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Zero-Inventory.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Zero-Inventory.webp\",\"width\":1200,\"height\":675,\"caption\":\"Zero Inventory\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/zero-inventory\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &#038; Cara Menerapkannya\"}]},{\"@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\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jessica-Wijaya-1-1-96x96.webp\",\"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":"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang & Penerapan","description":"Pelajari apa itu zero inventory, manfaat, serta risiko dan strategi penerapannya menggunakan teknologi ERP untuk bisnis Anda.","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\/zero-inventory\/","og_locale":"id_ID","og_type":"article","og_title":"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang & Cara Menerapkannya","og_description":"Pelajari apa itu zero inventory, manfaat, serta risiko dan strategi penerapannya menggunakan teknologi ERP untuk bisnis Anda.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2025-12-08T02:27:27+00:00","article_modified_time":"2026-01-15T04:24:27+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/12\/Zero-Inventory.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":"11 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/"},"author":{"name":"Jessica Wijaya","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980"},"headline":"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &#038; Cara Menerapkannya","datePublished":"2025-12-08T02:27:27+00:00","dateModified":"2026-01-15T04:24:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/"},"wordCount":1753,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/12\/Zero-Inventory.webp","articleSection":["Inventory"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/","name":"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang & Penerapan","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/12\/Zero-Inventory.webp","datePublished":"2025-12-08T02:27:27+00:00","dateModified":"2026-01-15T04:24:27+00:00","description":"Pelajari apa itu zero inventory, manfaat, serta risiko dan strategi penerapannya menggunakan teknologi ERP untuk bisnis Anda.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/12\/Zero-Inventory.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/12\/Zero-Inventory.webp","width":1200,"height":675,"caption":"Zero Inventory"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/zero-inventory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Zero Inventory: Strategi Efisiensi Stok Tanpa Gudang &#038; Cara Menerapkannya"}]},{"@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\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","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":"zero inventory","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/179291","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=179291"}],"version-history":[{"count":10,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/179291\/revisions"}],"predecessor-version":[{"id":185134,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/179291\/revisions\/185134"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/179559"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=179291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=179291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=179291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}