{"id":53758,"date":"2024-08-14T19:08:07","date_gmt":"2024-08-14T12:08:07","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=53758"},"modified":"2026-04-24T15:18:13","modified_gmt":"2026-04-24T08:18:13","slug":"pentingnya-laporan-stock-opname-beserta-cara-menyusunnya","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/","title":{"rendered":"Contoh Laporan Stock Opname dan Cara Menyusunnya"},"content":{"rendered":"<p>Menjaga akurasi data persediaan menjadi salah satu tugas rutin yang paling memengaruhi kesehatan operasional gudang. Melalui laporan stock opname, tim dapat mencocokkan catatan sistem dengan kondisi barang fisik agar setiap aset perusahaan tercatat dengan benar.<\/p>\n<p>Laporan <a href=\"https:\/\/nrf.com\/research\/national-retail-security-survey-2023\">National Retail Federation (NRF)<\/a> 2023 mencatat industri ritel di Amerika Serikat mengalami kerugian hingga USD 112,1 miliar akibat shrinkage termasuk selisih stok yang umumnya baru terdeteksi melalui stock opname.<\/p>\n<p>Agar temuan di lapangan dapat ditindaklanjuti, perusahaan memerlukan laporan stock opname yang terstruktur dan mudah dibaca lintas divisi. Artikel ini akan membahas contoh formatnya beserta langkah penyusunannya.<\/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=\"#langkah-membuat-laporan-stock-opname-yang-ideal\">Laporan stock opname dibuat dengan<\/a> menghentikan pergerakan barang, membagi lokasi, menyiapkan dokumen, serta menghitung dan membandingkan hasil.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#mengapa-perlu-membuat-contoh-laporan-stock-opname\">Manfaat laporan stock opname<\/a> adalah mengontrol jumlah barang, menghindari selisih, dan memastikan akurasi untuk pencatatan jurnal penyesuaian.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#prosedur-operasional-stock-opname\">Stock opname<\/a> harus dilakukan secara sistematis untuk memastikan kesesuaian antara data persediaan dalam sistem dan jumlah barang yang sebenarnya.<\/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\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script> <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n\n<h2><strong>Apa itu Stock Opname?<\/strong><\/h2>\n<p>Stock opname merupakan kegiatan penghitungan fisik barang di gudang atau toko yang dilakukan secara berkala untuk memastikan jumlah stok di sistem sesuai dengan kondisi sebenarnya. Proses ini berfungsi mendeteksi selisih akibat kesalahan pencatatan, kerusakan, atau kehilangan barang.<\/p>\n<p>Selain menghitung jumlah, stock opname juga mencakup pemeriksaan kondisi produk, masa kedaluwarsa, dan lokasi penyimpanan. Seluruh hasilnya dirangkum dalam laporan stock opname yang menjadi acuan resmi tim gudang, keuangan, maupun manajemen.<\/p>\n<p>Kegiatan ini umumnya dilakukan bulanan, kuartalan, atau tahunan tergantung jenis bisnis dan volume SKU. Perusahaan ritel atau distribusi biasanya mengombinasikannya dengan cycle counting penghitungan rotasi harian atau mingguan agar akurasi stok terjaga tanpa mengganggu operasional.<\/p>\n<h2><span id=\"manfaat\"><b>Mengapa Perlu Membuat Contoh Laporan <\/b><\/span><b>Stock Opname<\/b><b>?<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-151035\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname.webp\" alt=\"Mengapa Perlu Membuat Laporan Stock Opname?\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Mengapa-Perlu-Membuat-Laporan-Stock-Opname-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p data-start=\"128\" data-end=\"334\">Membuat laporan stock opname memiliki peran penting dalam menjaga akurasi data persediaan dan mengoptimalkan manajemen stok. Berikut beberapa alasan mengapa laporan ini perlu Anda terapkan:<\/p>\n<ul>\n<li data-start=\"339\" data-end=\"531\"><strong data-start=\"339\" data-end=\"381\">Mengetahui jumlah barang yang dimiliki: <\/strong>Laporan stock opname memberikan gambaran jelas tentang jumlah barang yang tersedia, sehingga memudahkan Anda memantau ketersediaan persediaan.<\/li>\n<li data-start=\"536\" data-end=\"746\"><strong data-start=\"536\" data-end=\"588\">Mengidentifikasi kelebihan dan kekurangan barang: <\/strong>Melalui laporan ini, Anda dapat menemukan selisih stok, baik kelebihan maupun kekurangan barang, seperti pada laporan stock opname restoran atau obat.<\/li>\n<li data-start=\"751\" data-end=\"932\"><strong data-start=\"751\" data-end=\"792\">Mengontrol bahan baku dan barang jadi: <\/strong>Laporan membantu mengawasi jumlah bahan baku melalui bantuan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/rekomendasi-sistem-manajemen-inventory-di-indonesia-yang-wajib-diketahui\/\">software untuk manajemen inventory perusahaan<\/a>, sehingga stok selalu sesuai kebutuhan operasional.<\/li>\n<li data-start=\"937\" data-end=\"1114\"><strong data-start=\"937\" data-end=\"988\">Mempercepat dan mempermudah proses stock opname: <\/strong>Dengan data yang tercatat, proses pemeriksaan stok bisa dilakukan lebih cepat, akurat, dan minim kesalahan pencatatan.<\/li>\n<li data-start=\"1119\" data-end=\"1289\"><strong data-start=\"1119\" data-end=\"1152\">Mencegah selisih dan kerugian: <\/strong>Jika ditemukan selisih barang, laporan ini membantu menyesuaikan catatan di jurnal penyesuaian, sehingga kerugian bisa dihindari.<\/li>\n<\/ul>\n<h2><b>Manfaat Laporan Stock Opname<\/b><\/h2>\n<p>Berikut adalah beberapa manfaat utama yang bisa didapatkan dari proses stock opname:<\/p>\n<h3><b>1. Menjamin akurasi data persediaan<\/b><\/h3>\n<p>Stock opname memastikan jumlah barang yang tercatat di sistem sesuai dengan yang ada di gudang. Proses ini membantu mendeteksi kesalahan pencatatan atau barang yang hilang, sehingga dapat segera diperbaiki.<\/p>\n<h3><b>2. Mendukung perencanaan keuangan yang lebih baik<\/b><\/h3>\n<p>Dengan data stock yang akurat, perusahaan dapat merencanakan pengadaan barang dengan lebih tepat, menghindari pembelian berlebih, dan mengoptimalkan anggaran yang tersedia. Hal ini juga mempermudah perhitungan biaya persediaan dalam laporan keuangan.<\/p>\n<h3><b>3. Meningkatkan efisiensi operasional<\/b><\/h3>\n<p>Stock opname mengurangi waktu yang terbuang untuk mencari barang yang hilang atau tidak terdata dengan benar. Pengetahuan yang jelas tentang stock yang tersedia memungkinkan pelayanan yang lebih cepat dan meningkatkan kepuasan pelanggan.<\/p>\n<h3><b>4. Mematuhi regulasi yang berlaku<\/b><\/h3>\n<p>Banyak industri yang diwajibkan untuk melakukan stock opname sesuai dengan ketentuan hukum. Melakukan pengecekan persediaan secara rutin membantu perusahaan menghindari masalah hukum atau audit yang dapat merugikan.<\/p>\n<h2><span id=\"step\"><b>Langkah Membuat Laporan <\/b><\/span><b>Stock Opname yang Ideal<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-151038\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname.webp\" alt=\"Langkah-Langkah Membuat Laporan Stock Opname\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Langkah-Langkah-Membuat-Laporan-Stock-Opname-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Agar mendapatkan laporan dengan hasil yang maksimal, Anda butuh beberapa langkah persiapan untuk mendapatkan informasi yang akurat, seperti:<\/span><\/p>\n<h3 id=\"a\"><b>1. Menghentikan pergerakan barang<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Sebelum menerapkan pembuatannya, <\/span><span style=\"font-weight: 400;\">Anda perlu mendapatkan data langsung di lapangan. Lalu, langkah pertama yang harus Anda lakukan adalah dengan menghentikan pergerakan barang untuk sementara.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tujuan pemberhentian ini untuk memastikan bahwa tidak ada barang yang sedang berproduksi atau beroperasi sehingga seluruh barang dapat tercatat dengan baik. <\/span><\/p>\n<h3 id=\"b\"><b>2. Pembagian lokasi<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Banyaknya gudang yang Anda miliki membuat proses pencatatan <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> harus dilakukan oleh beberapa orang. Hal ini bertujuan untuk membagi beberapa orang ke lokasi gudang dan jenis barang yang berbeda-beda.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Proses pencatatan <\/span><span style=\"font-weight: 400;\">stock opname <\/span><span style=\"font-weight: 400;\">cukup memakan waktu, maka dari itu Anda bisa mengelompokkan setiap barang berdasarkan kategorinya. <\/span><span style=\"font-weight: 400;\">Setelah itu, Anda bisa menyesuaikannya berdasarkan kode batang.<\/span><\/p>\n<h3 id=\"c\"><b>3. Persiapkan dokumen untuk membuat contoh laporan stock opname<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Langkah selanjutnya yang harus Anda lakukan ketika ingin mencatat <\/span><span style=\"font-weight: 400;\">stock opname <\/span><span style=\"font-weight: 400;\">adalah mempersiapkan dokumen-dokumen yang dibutuhkan nantinya. Macam-macam dokumen yang biasanya Anda butuhkan ketika mempersiapkan pencatatan <\/span><span style=\"font-weight: 400;\">stock opname <\/span><span style=\"font-weight: 400;\">adalah:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kartu dari barang yang memberikan keterangan secara rinci mengenai pergerakan barang.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Tanda masuknya barang yang juga berisi informasi mengenai pemasok dan harga awal dari barang tersebut.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Tanda keluarnya barang yang berisi tentang tanggal, kuantitas, biaya, dan tujuan dari barang tersebut Anda jual.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kartu yang berisi <\/span><a href=\"https:\/\/www.scribd.com\/document\/431166924\/Dokumen-Stock-Opname\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">count tag <\/span><\/a><span style=\"font-weight: 400;\">yang berisi informasi mengenai nama, tipe, lokasi, <\/span><span style=\"font-weight: 400;\">space <\/span><span style=\"font-weight: 400;\">yang kosong untuk barang, jenis satuan hitung yang digunakan untuk barang, serta bukti dari petugas.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Terakhir, perlengkapan yang Anda gunakan untuk perhitungan seperti kartu kuning, alat tulis, dan kalkulator.<\/span><\/li>\n<\/ul>\n<h3 id=\"d\"><b>4. Perhitungan stock opname<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Untuk membuat laporan <\/span><span style=\"font-weight: 400;\">ini, <\/span><span style=\"font-weight: 400;\">Anda membutuhkan data perhitungan <\/span><span style=\"font-weight: 400;\">stock opname. <\/span><span style=\"font-weight: 400;\">Kegiatan <\/span><span style=\"font-weight: 400;\">stock take <\/span><span style=\"font-weight: 400;\">ini berisi pengelompokkan setiap barang, memperhitungkan kuantitas dari barang tersebut, dan menyajikan data berbentuk tabel sehingga mudah untuk Anda baca.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berikut tahapan untuk menghitung <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Memeriksa kembali apakah seluruh persediaan barang sudah tercatat lengkap di program. <\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Menyalin persediaan dari program lalu Anda bisa cetak untuk menjadi pedoman bagi <\/span><span style=\"font-weight: 400;\">accounting <\/span><span style=\"font-weight: 400;\">di bagian tim <\/span><span style=\"font-weight: 400;\">stock opname.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Memberikan hasil catatan yang berisi <\/span><span style=\"font-weight: 400;\">stock opname <\/span><span style=\"font-weight: 400;\">pada setiap lembar persediaan untuk dimasukan<\/span> <span style=\"font-weight: 400;\">ke Ms. Excel.<\/span><\/li>\n<\/ul>\n<h3 id=\"e\"><b>5. Membandingkan hasil<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Kemudian, langkah yang harus Anda lakukan sebelum membuat laporan <\/span><span style=\"font-weight: 400;\">ini <\/span><span style=\"font-weight: 400;\">adalah membandingkan hasil. Langkah yang satu ini membantu Anda mengecek apakah catatan data <\/span><span style=\"font-weight: 400;\">stock opname <\/span><span style=\"font-weight: 400;\">sesuai dengan data persediaan secara <\/span><span style=\"font-weight: 400;\">real time.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selain mempermudah Anda, membandingkan hasil persediaan membantu Anda menindaklanjuti apabila ada perbedaan terhadap data dengan jumlah barang yang tersedia. <\/span><\/p>\n<h3 id=\"f\"><b>6. Membuat laporan stock opname<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Terakhir, setelah mendapatkan informasi mengenai <\/span><span style=\"font-weight: 400;\">stock opname ataupun <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/stock-opname-partial\/\">\u00a0<\/a><\/span><span style=\"font-weight: 400;\">di gudang, Anda bisa segera menerima hasilnya.<\/span> <span style=\"font-weight: 400;\">Hal ini karena pekerja yang bertugas membuat laporan akan langsung menyelesaikan pekerjaannya<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<style>\r\n\t#baca-juga {\r\n\t\tpadding: 16px;\r\n\t\tbackground-color: #f7eaea;\r\n\t\tborder-left: 3px solid #af2828;\r\n\t\tfont-weight: 500;\r\n\t\tmargin-bottom: 26px;\r\n\t}\r\n\t\r\n\t#baca-juga a {\r\n\t\tcolor: #af2828 !important;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t}\r\n\t\r\n\t#baca-juga a:hover {\r\n\t\tcolor: #af282880 !important;\r\n\t}\r\n<\/style>\r\n\r\n<div id=\"baca-juga\">\r\n\t<span>Baca juga: <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sop-stock-opname\/\">SOP Stock Opname Gudang: Prosedur &amp; Tips Akurasi<\/a><\/span>\r\n<\/div>\n<h2><strong>Tahapan Proses Stock Opname dari Persiapan hingga Pelaporan<\/strong><\/h2>\n<p>Sebelum masuk ke format laporannya, penting untuk memahami bagaimana proses stock opname berjalan di lapangan. Kualitas laporan akhir sangat bergantung pada ketelitian setiap tahap yang mendahuluinya mulai dari persiapan dokumen, penghitungan fisik, hingga investigasi selisih stok.<\/p>\n<p>Setiap tahap menghasilkan output spesifik yang menjadi input bagi tahap berikutnya, sehingga kelalaian di satu titik dapat memengaruhi akurasi laporan akhir. Infografis berikut merangkum alur lengkapnya secara ringkas:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-192725\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4.png\" alt=\"alur-proses-stock-opname (4)\" width=\"1857\" height=\"1180\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4.png 1857w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-300x191.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-1024x651.png 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-768x488.png 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-1536x976.png 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-661x420.png 661w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-150x95.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-696x442.png 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/alur-proses-stock-opname-4-1068x679.png 1068w\" sizes=\"auto, (max-width: 1857px) 100vw, 1857px\" \/><\/p>\n<h2><b>Prosedur Operasional Stock Opname<\/b><\/h2>\n<p>Stock opname harus dilakukan secara sistematis untuk memastikan kesesuaian antara data persediaan dalam sistem dan jumlah barang yang sebenarnya ada di gudang. Berikut adalah lima langkah utama dalam prosedur stock opname:<span id=\"stock\"><\/span><\/p>\n<h3><b>1. Perencanaan<\/b><\/h3>\n<p>Langkah pertama adalah menentukan jadwal stock opname, memilih tim yang bertanggung jawab, dan memastikan sistem pencatatan sudah diperbarui. Perencanaan yang baik mencegah gangguan pada operasional bisnis saat proses perhitungan stock berlangsung.<\/p>\n<h3><b>2. Persiapan gudang<\/b><\/h3>\n<p>Sebelum perhitungan dimulai, barang harus dikelompokkan sesuai kategori dan disusun secara rapi untuk memudahkan proses pengecekan. Area penyimpanan juga harus ditata agar akses ke barang lebih mudah dan efisien.<\/p>\n<p>Selain itu, tim perlu menandai barang yang telah dihitung agar tidak terjadi perhitungan ganda atau kelalaian.<\/p>\n<h3><b>3. Perhitungan fisik<\/b><\/h3>\n<p>Tim stock opname melakukan pencatatan jumlah barang secara langsung di gudang dengan membandingkannya dengan catatan sistem.<\/p>\n<p>Perhitungan ini dapat dilakukan secara manual dengan lembar kerja atau menggunakan perangkat lunak inventory untuk meningkatkan akurasi. Selama proses ini, penting untuk menjaga ketelitian agar tidak terjadi kesalahan pencatatan.<\/p>\n<h3><b>4. Verifikasi data<\/b><\/h3>\n<p>Setelah perhitungan selesai, hasilnya dibandingkan dengan data dalam sistem untuk mengidentifikasi adanya selisih stock. Jika ditemukan perbedaan, tim harus melakukan pengecekan ulang untuk memastikan bahwa data yang diperoleh benar.<\/p>\n<h3><b>5. Pembuatan laporan<\/b><\/h3>\n<p>Langkah terakhir adalah menyusun laporan stock opname yang mencakup hasil perhitungan fisik, selisih stock, serta analisis penyebabnya. Laporan ini menjadi dasar bagi perusahaan untuk mengambil tindakan korektif guna memperbaiki kesalahan dalam pencatatan stock.<\/p>\n<h2><span id=\"cara\"><b>Contoh Format Laporan <\/b><\/span><b>Stock Opname<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-151041\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname.webp\" alt=\"Contoh Laporan Stock Opname\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Contoh-Laporan-Stock-Opname-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Setelah mengetahui lebih lanjut mengenai laporan stock opname, pada bagian <\/span>Anda bisa mengunduh contoh stock opname tersebut melalui tautan di bawah ini:<\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Download Laporan Stock Opname<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Screen-Shot-2024-12-09-at-13.52.19.png.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"laporan\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Template_Laporan_Stock_Opname-Sheet1.pdf\"\r\n\t\t\tdata-format=\"pdf\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Sekarang<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"laporan\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Template_Laporan_Stock_Opname.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Sekarang<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Screen-Shot-2024-12-09-at-13.52.19.png.webp\" alt=\"laporan stock opname\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h2 id=\"4\"><b>Kesimpulan<\/b><\/h2>\n<p>Laporan stock opname adalah kegiatan mencatat jumlah barang di gudang dan mencocokkannya dengan data stok dalam sistem yang mencakup bahan baku, produk setengah jadi, dan produk siap jual.<\/p>\n<p>Apabila Anda mengalami kesulitan dalam mengelola stok gudang Anda, ada banyak hal rumpang yang sulit diselesaikan, Anda tidak perlu khawatir. <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">Konsultasikan saja <em>concern<\/em> bisnis Anda dengan kami<\/a>, gratis!<\/p>\n<p><span data-sheets-root=\"1\"><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-laporan.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/inventory-laporan.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/inventory-laporan-m.webp\" alt=\"Inventory_Laporan\" 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><\/span><\/p>\n<h2><b>Pertanyaan Seputar Laporan Stock Opname<\/b><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><b>Stock opname meliputi apa saja?<\/b><\/summary>\n<p>Stock opname mencakup proses pemeriksaan fisik barang yang ada di gudang atau tempat penyimpanan untuk memastikan kecocokan antara jumlah stock yang tercatat dengan jumlah stock yang ada. Proses ini meliputi penghitungan barang, pemeriksaan kondisi, dan pencatatan data terkait.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><b>Apa yang dimaksud dengan laporan stock opname?<\/b><\/summary>\n<p>Laporan stock opname adalah dokumen yang berisi hasil pemeriksaan dan pencatatan jumlah barang yang ada di gudang atau tempat penyimpanan. Laporan ini mencakup informasi tentang jumlah stock, pergerakan barang, dan selisih antara stock yang tercatat dengan stock fisik yang ada.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><b>Dokumen apa saja yang disiapkan dalam proses stock opname?<\/b><\/summary>\n<p>Dokumen yang diperlukan dalam proses stock opname antara lain kartu stock barang, tanda masuk dan keluar barang, laporan pergerakan barang, dan formulir khusus untuk pencatatan hasil penghitungan fisik. Dokumen ini membantu memastikan akurasi data dan mempermudah proses pencatatan.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Stock opname meliputi apa saja?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Stock opname mencakup proses pemeriksaan fisik barang yang ada di gudang atau tempat penyimpanan untuk memastikan kecocokan antara jumlah stok yang tercatat dengan jumlah stok yang ada. Proses ini meliputi penghitungan barang, pemeriksaan kondisi, dan pencatatan data terkait.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa yang dimaksud dengan laporan stock opname?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Laporan stock opname adalah dokumen yang berisi hasil pemeriksaan dan pencatatan jumlah barang yang ada di gudang atau tempat penyimpanan. Laporan ini mencakup informasi tentang jumlah stok, pergerakan barang, dan selisih antara stok yang tercatat dengan stok fisik yang ada.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Dokumen apa saja yang disiapkan dalam proses stock opname?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Dokumen yang diperlukan dalam proses stock opname antara lain kartu stok barang, tanda masuk dan keluar barang, laporan pergerakan barang, dan formulir khusus untuk pencatatan hasil penghitungan fisik. Dokumen ini membantu memastikan akurasi data dan mempermudah proses pencatatan.\"\n    }\n  }]\n}\n<\/script><\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Menjaga akurasi data persediaan menjadi salah satu tugas rutin yang paling memengaruhi kesehatan operasional gudang. Melalui laporan stock opname, tim dapat mencocokkan catatan sistem dengan kondisi barang fisik agar setiap aset perusahaan tercatat dengan benar. Laporan National Retail Federation (NRF) 2023 mencatat industri ritel di Amerika Serikat mengalami kerugian hingga USD 112,1 miliar akibat shrinkage [&hellip;]<\/p>\n","protected":false},"author":160,"featured_media":168538,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88],"tags":[],"class_list":{"0":"post-53758","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>Contoh Laporan Stock Opname dan Cara Menyusunnya<\/title>\n<meta name=\"description\" content=\"Melalui laporan stock opname, Anda bisa mengetahui kondisi dan kualitas dari produk yang ada gudang secara real. Simak penjelasan berikut!\" \/>\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\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contoh Laporan Stock Opname dan Cara Menyusunnya\" \/>\n<meta property=\"og:description\" content=\"Melalui laporan stock opname, Anda bisa mengetahui kondisi dan kualitas dari produk yang ada gudang secara real. Simak penjelasan berikut!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-14T12:08:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T08:18:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"696\" \/>\n\t<meta property=\"og:image:height\" content=\"385\" \/>\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=\"10 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/\",\"name\":\"Contoh Laporan Stock Opname dan Cara Menyusunnya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp\",\"datePublished\":\"2024-08-14T12:08:07+00:00\",\"dateModified\":\"2026-04-24T08:18:13+00:00\",\"description\":\"Melalui laporan stock opname, Anda bisa mengetahui kondisi dan kualitas dari produk yang ada gudang secara real. Simak penjelasan berikut!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp\",\"width\":696,\"height\":385,\"caption\":\"Pentingnya Laporan Stock Opname Beserta Cara Menyusunnya\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contoh Laporan Stock Opname dan Cara Menyusunnya\"}]},{\"@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\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Contoh Laporan Stock Opname dan Cara Menyusunnya","description":"Melalui laporan stock opname, Anda bisa mengetahui kondisi dan kualitas dari produk yang ada gudang secara real. Simak penjelasan berikut!","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\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/","og_locale":"id_ID","og_type":"article","og_title":"Contoh Laporan Stock Opname dan Cara Menyusunnya","og_description":"Melalui laporan stock opname, Anda bisa mengetahui kondisi dan kualitas dari produk yang ada gudang secara real. Simak penjelasan berikut!","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-08-14T12:08:07+00:00","article_modified_time":"2026-04-24T08:18:13+00:00","og_image":[{"width":696,"height":385,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.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":"10 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/","name":"Contoh Laporan Stock Opname dan Cara Menyusunnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp","datePublished":"2024-08-14T12:08:07+00:00","dateModified":"2026-04-24T08:18:13+00:00","description":"Melalui laporan stock opname, Anda bisa mengetahui kondisi dan kualitas dari produk yang ada gudang secara real. Simak penjelasan berikut!","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/Pentingnya-Laporan-Stock-Opname-Beserta-Cara-Menyusunnya.webp","width":696,"height":385,"caption":"Pentingnya Laporan Stock Opname Beserta Cara Menyusunnya"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-laporan-stock-opname-beserta-cara-menyusunnya\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Contoh Laporan Stock Opname dan Cara Menyusunnya"}]},{"@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"]}]}},"focus_keyword":"laporan stock opname","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/53758","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=53758"}],"version-history":[{"count":35,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/53758\/revisions"}],"predecessor-version":[{"id":192859,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/53758\/revisions\/192859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/168538"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=53758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=53758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=53758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}