{"id":53794,"date":"2024-03-21T15:44:02","date_gmt":"2024-03-21T08:44:02","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=53794"},"modified":"2026-03-12T12:02:31","modified_gmt":"2026-03-12T05:02:31","slug":"mengenal-cost-of-product-dan-cara-mudah-menghitungnya","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/","title":{"rendered":"Mengenal Cost of Product dan Cara Mudah Menghitungnya"},"content":{"rendered":"<p>Cost of product dipakai untuk menjawab satu pertanyaan yang praktis: berapa biaya produksi yang \u201cmasuk\u201d ke satu produk sebelum dijual. Angka ini biasanya jadi acuan saat tim menentukan harga, mengecek margin, dan membandingkan biaya antar periode.<\/p>\n<p>Biayanya terbentuk dari tiga kelompok yang paling sering muncul di pabrik, yaitu bahan baku langsung, tenaga kerja langsung, dan overhead pabrik. Overhead di sini mencakup biaya yang mendukung proses produksi, seperti listrik, perawatan mesin, sewa fasilitas produksi, sampai depresiasi mesin.<\/p>\n<p>Agar perhitungannya tidak meleset, perusahaan perlu memastikan sumber datanya rapi dari titik awal. Contohnya, pemakaian bahan harus tercatat saat material keluar ke produksi, jam kerja operator tercatat sesuai work order, dan overhead dicatat per periode lalu dialokasikan dengan dasar yang konsisten.<\/p>\n<p>Kalau alurnya jelas, cost of product bisa ditelusuri sampai level SKU, batch, atau work order, sehingga penyebab kenaikan biaya lebih cepat ditemukan.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#a\"><span style=\"font-weight: 400;\">Cost of product<\/span><\/a><span style=\"font-weight: 400;\"> atau biaya produksi adalah biaya yang perusahaan keluarkan selama proses manufaktur dengan tujuan menghasilkan produk siap pasar.<\/span><\/li>\n<li aria-level=\"1\">Unsur\u00a0biaya produksi ada biaya langsung,<a href=\"#b\"> biaya tenaga kerja langsung<\/a>, dan biaya\u00a0overhead.<\/li>\n<li>Cost of product<a href=\"#c\"> merangkum biaya bahan<\/a>, tenaga kerja, dan overhead yang melekat pada satu produk, batch, atau work order.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script> <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n\n<h2 id=\"1\"><strong>Membaca Biaya per Unit lewat Cost of Product<\/strong><\/h2>\n<p><span id=\"a\">Cost of product bisa dipakai sebagai peta biaya per SKU, jadi tim tahu berapa biaya yang benar-benar melekat pada satu produk, satu batch, atau satu work order. Angka ini membantu menghitung biaya per unit secara konsisten dan jadi dasar saat melakukan review margin.<\/span><\/p>\n<p>Perhitungannya mengikuti alur produksi yang terjadi di lapangan. Data yang biasanya dikumpulkan mencakup material yang dikonsumsi, jam kerja operator yang tercatat di proses, dan resource pabrik yang dipakai seperti jam mesin, utilitas, perawatan, serta depresiasi.<\/p>\n<p>Struktur pencatatan ini sebaiknya selaras dengan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/anggaran-produksi\/\">anggaran produksi<\/a> agar deviasi biaya bisa ditelusuri ke aktivitas dan periode yang tepat.<\/p>\n<p><b>Baca Juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-dan-jenis-jenis-sistem-produksi\/\" target=\"_blank\" rel=\"noopener\"><b>Manfaat Sistem Produksi untuk Perkembangan Perusahaan Manfaktur<\/b><\/a><\/p>\n<h2 id=\"2\"><b><span id=\"b\">Komponen Cost of Product yang Biasa Ditemui<\/span><\/b><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/biaya-manufaktur\/\">Biaya manufaktur produk<\/a> umumnya terbagi menjadi tiga kelompok utama.<\/p>\n<h3><strong>1. Biaya bahan baku langsung (Direct Material)<\/strong><\/h3>\n<p>Biaya bahan baku adalah seluruh pengeluaran untuk memperoleh material utama yang akan menjadi bagian dari produk jadi. Sumbernya bisa dari pembelian lokal, impor, atau material hasil proses internal (misalnya material yang perlu dipotong\/diolah dulu sebelum dipakai produksi).<\/p>\n<p>Yang sering membuat biaya bahan baku melonjak adalah biaya yang membuat bahan siap dipakai produksi, misalnya:<\/p>\n<ul>\n<li>harga beli material sesuai invoice<\/li>\n<li>ongkos angkut &amp; handling (bongkar-muat, forklift, packing)<\/li>\n<li>biaya gudang terkait penerimaan dan penyimpanan material<\/li>\n<li>pajak\/<a href=\"https:\/\/djpb.kemenkeu.go.id\/kppn\/bandaaceh\/id\/layanan\/perpajakan\/ppn.html\">PPN<\/a> sesuai ketentuan dan dokumen pembelian<\/li>\n<\/ul>\n<h3><strong>2. Biaya tenaga kerja langsung (Direct Labour)<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/biaya-tenaga-kerja-langsung\/\">Biaya tenaga kerja langsung <\/a><\/span>adalah biaya untuk pekerja yang kontribusinya bisa ditelusuri langsung ke aktivitas produksi. Contohnya operator mesin, assembler, atau bagian finishing yang jam kerjanya memang melekat pada proses pembuatan barang.<\/p>\n<p>Komponen yang umumnya masuk direct labour bukan hanya gaji pokok, tetapi juga biaya kompensasi yang terkait langsung dengan pekerja produksi, seperti:<\/p>\n<ul>\n<li>gaji dan upah lembur<\/li>\n<li>tunjangan produksi\/shift<\/li>\n<li>komponen jaminan\/asuransi tertentu (sesuai kebijakan perusahaan)<\/li>\n<\/ul>\n<h3><strong>3. Biaya overhead pabrik (Manufacturing Overhead)<\/strong><\/h3>\n<p>Overhead pabrik adalah biaya produksi selain bahan baku langsung dan tenaga kerja langsung. Biaya ini tetap perlu dialokasikan ke produk agar biaya produk realistis.<\/p>\n<p>Overhead sering jadi sumber selisih terbesar karena sifatnya tidak selalu bisa ditelusuri per unit secara langsung.<\/p>\n<p>Contoh overhead pabrik yang umum:<\/p>\n<ul>\n<li>listrik, air, dan utilitas pabrik<\/li>\n<li>pemeliharaan &amp; perbaikan mesin<\/li>\n<li>depresiasi mesin\/peralatan<\/li>\n<li>sewa pabrik dan biaya fasilitas produksi<\/li>\n<li>gaji tenaga kerja tidak langsung (QC, maintenance, supervisor produksi tertentu)<\/li>\n<li>bahan penolong produksi (pelumas, consumables, alat bantu kecil)<\/li>\n<\/ul>\n<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-dan-jenis-jenis-sistem-produksi\/\" target=\"_blank\" rel=\"noopener\">Sistem Manufaktur: Cara Memilih dan Manfaatnya Bagi Perusahaan Anda<\/a><\/p>\n<h2><strong>Kesalahan yang Membuat Cost of Product Meleset<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-174686 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik.webp\" alt=\"software akuntansi pertanian terbaik\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/software-akuntansi-pertanian-terbaik-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Apa saja yang membuat cost per product tidak sesuai perkiraan Anda?<\/p>\n<h3><strong>1. Biaya salah masuk kategori sejak awal<\/strong><\/h3>\n<p>Ini sering terjadi saat biaya yang jelas-jelas terkait produksi justru tercatat sebagai biaya operasional.<\/p>\n<p>Misalnya, biaya listrik pabrik Rp120 juta dan maintenance mesin Rp35 juta masuk ke &#8220;beban kantor&#8221;, sehingga biaya produk per unit terlihat lebih rendah dari kondisi sebenarnya saat dipakai untuk pricing.<\/p>\n<h3><strong>2. Transaksi pemakaian bahan terlambat dicatat<\/strong><\/h3>\n<p>Kalau material sudah dipakai di lantai produksi, cost sebenarnya sudah terbentuk, tetapi angka di sistem belum bergerak.<\/p>\n<p>Contohnya, 500 kg bahan baku sudah dipakai untuk batch minggu terakhir, namun transaksi issue baru diposting awal bulan depan, sehingga bulan ini cost per unit terlihat hemat, lalu bulan depan tiba-tiba naik tanpa perubahan proses.<\/p>\n<h3><strong>3. Pembagian overhead ke produk tidak konsisten<\/strong><\/h3>\n<p>Overhead perlu dibagi ke produk memakai dasar yang tetap. Misalnya, bulan ini overhead Rp300 juta dibagi berdasarkan 10.000 jam mesin, lalu bulan depan dibagi berdasarkan jumlah unit produksi.<\/p>\n<p>Hasil biaya per unit akan berubah karena basisnya berubah, bukan karena operasionalnya benar-benar berubah.<\/p>\n<h3><strong>4. Scrap dan rework tidak punya jalur pencatatan yang jelas<\/strong><\/h3>\n<p>Scrap biasanya muncul sebagai selisih stok atau penurunan yield, tetapi biayanya perlu transisi di tempat yang bisa ditelusuri.<\/p>\n<p>Misalnya, ada reject 2% pada produk tertentu karena masalah sealing. Namun, biaya material dan tenaga kerja tambahan tidak dicatat sebagai rework, sehingga cost produk terlihat normal padahal margin sebenarnya sudah tergerus.<\/p>\n<h3><strong>5. Work order belum ditutup dengan benar<\/strong><\/h3>\n<p>WIP naik bukan masalah kalau memang prosesnya belum selesai, tetapi sering terjadi karena pencatatan selesai produksi tidak dilakukan.<\/p>\n<p>Misalnya, biaya Rp180 juta sudah masuk ke work order, produknya sudah selesai dan masuk gudang, tetapi transfer ke finished goods belum diposting, sehingga biaya tertahan di WIP.<\/p>\n<h2 id=\"3\"><b>Bagaimana Cara Menghitung Cost of Product?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Perhitungan <\/span><span style=\"font-weight: 400;\">cost of product<\/span><span style=\"font-weight: 400;\"> berfungsi sebagai acuan untuk mengetahui nilai dari harga pokok produksi. Cara menghitungnya adalah dengan beberapa tahapan berikut:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Menentukan biaya tetap<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Menentukan pengeluaran biaya variabel<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Anda jumlah biaya tetap dan biaya variabel, lalu bagi hasilnya dengan total biaya dan jumlah hasil barang. Hasilnya akan menjadi biaya rata-rata per unit<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Berikut adalah rumus yang Anda perlukan untuk menghitung besaran biaya produksi:<\/span><\/p>\n<h3><strong>1. Menghitung bahan baku<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Saldo awal bahan baku + biaya pembelian bahan baku &#8211; saldo akhir bahan baku<\/span><\/p>\n<h3><strong>2. Menghitung biaya produksi<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Material yang Anda gunakan + biaya pegawai langsung + biaya overhead produksi<\/span><\/p>\n<h3><strong>3. Menentukan harga pokok produksi<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Total seluruh biaya produksi + saldo awal persediaan barang proses produksi &#8211; saldo akhir persedian barang proses produksi<\/span><\/p>\n<h3><strong>4. Menghitung harga pokok penjualan (HPP)<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Harga pokok produksi + jumlah persediaan barang awal &#8211; jumlah persediaan barang akhir, yang bisa dilakukan manual ataupun menggunakan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-manufaktur-adalah\/\">sistem manufaktur terintegrasi dengan sistem akuntansi<\/a>.<\/span><\/p>\n<h2 id=\"4\"><b><span id=\"c\">Contoh dari Perhitungan Cost of Product<\/span><\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-187398 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product.webp\" alt=\"cost-per-product\" width=\"1279\" height=\"727\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product.webp 1279w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-300x171.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-1024x582.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-768x437.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-739x420.webp 739w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-150x85.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-696x396.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/cost-per-product-1068x607.webp 1068w\" sizes=\"auto, (max-width: 1279px) 100vw, 1279px\" \/><\/p>\n<p>Seperti telah dijelaskan sebelumnya, biaya produksi adalah seluruh biaya yang dikeluarkan selama proses pengolahan produk pada perusahaan manufaktur hingga siap dipasarkan.<\/p>\n<p>Berikut contoh perhitungan biaya produksi pada industri makanan kaleng dengan output<strong> sarden kaleng.<\/strong><\/p>\n<p>Dalam satu bulan, perusahaan memproduksi 5.000 pack sarden dengan rincian biaya sebagai berikut:<\/p>\n<ul>\n<li>Pembelian bahan baku: Rp 25.000.000<\/li>\n<li>Tenaga kerja langsung: Rp 7.000.000<\/li>\n<li>Sewa pabrik: Rp 3.000.000<\/li>\n<li>Total biaya produksi: Rp 35.000.000<\/li>\n<\/ul>\n<p>Selanjutnya, biaya produksi per unit dihitung dengan membagi total biaya produksi dengan jumlah produk:<\/p>\n<p>Rp 35.000.000 \u00f7 5.000 = Rp 7.000 per unit<\/p>\n<p>Setelah biaya produksi per unit diketahui, perusahaan dapat menetapkan harga jual dengan menambahkan persentase keuntungan (margin).<\/p>\n<p>Misalnya, perusahaan menetapkan keuntungan sebesar 40% dari biaya produksi per unit, maka:<\/p>\n<ul>\n<li>Harga jual per unit = Rp 7.000 + (40% \u00d7 Rp 7.000)<\/li>\n<li>Harga jual per unit = Rp 7.000 + Rp 2.800 = Rp 9.800<\/li>\n<\/ul>\n<h2><strong>Checklist Sederhana Cost Per Product<\/strong><\/h2>\n<div style=\"font-family: inherit; color: #1f2937; background: #fff; border: 1px solid #e6e6ea; border-radius: 14px; box-shadow: 0 10px 25px rgba(0,0,0,.08); padding: 18px; max-width: 980px; margin: 18px auto;\">\n<div style=\"display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px;\">\n<div>\n<div style=\"display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .2px; color: #9b1c1c; background: rgba(155,28,28,.08); border: 1px solid rgba(155,28,28,.18); padding: 6px 10px; border-radius: 999px;\">Checklist Praktis<\/div>\n<h3 style=\"margin: 10px 0 6px; font-size: 20px; line-height: 1.25; font-weight: 900;\">Checklist Data untuk Cost of Product<\/h3>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #6b7280; max-width: 78ch;\">Gunakan daftar ini sebelum closing biaya produksi atau sebelum memutuskan harga jual per SKU\/batch.<\/p>\n<\/div>\n<div style=\"display: flex; gap: 8px; align-items: center;\"><span style=\"font-size: 12px; font-weight: 800; color: #6b7280; border: 1px solid #e6e6ea; border-radius: 999px; padding: 6px 10px; background: #fff;\"><br \/>\nPrint-friendly<br \/>\n<\/span><br \/>\n<span style=\"font-size: 12px; font-weight: 800; color: #6b7280; border: 1px solid #e6e6ea; border-radius: 999px; padding: 6px 10px; background: #fff;\"><br \/>\n10\u201315 menit review<br \/>\n<\/span><\/div>\n<\/div>\n<div style=\"display: grid; grid-template-columns: 1fr; gap: 12px;\">\n<p><!-- SECTION 1 --><\/p>\n<div style=\"background: #fafafe; border: 1px solid #e6e6ea; border-radius: 12px; padding: 12px;\">\n<div style=\"font-size: 13px; font-weight: 900; color: #111827; margin-bottom: 10px;\">A. Cut-off &amp; Kelengkapan Transaksi<\/div>\n<ul style=\"margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px;\">\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Cut-off penerimaan bahan (GR) dan invoice supplier (IR) jelas untuk periode yang sama.<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Issue material ke produksi tercatat di tanggal yang benar (bukan menumpuk di akhir periode).<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Payroll\/lembur produksi dan biaya utilitas\/maintenance periode berjalan sudah masuk pembukuan.<br \/>\n<\/label><\/li>\n<\/ul>\n<\/div>\n<p><!-- SECTION 2 --><\/p>\n<div style=\"background: #fafafe; border: 1px solid #e6e6ea; border-radius: 12px; padding: 12px;\">\n<div style=\"font-size: 13px; font-weight: 900; color: #111827; margin-bottom: 10px;\">B. Material, BOM, dan Pemakaian Bahan<\/div>\n<ul style=\"margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px;\">\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">BOM\/routing yang dipakai produksi sesuai versi periode berjalan, termasuk substitusi material.<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Pemakaian bahan tercatat per work order\/batch, bukan sekadar adjustment stok.<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Ada yield check untuk SKU utama (contoh: output vs pemakaian bahan pada batch tertentu).<br \/>\n<\/label><\/li>\n<\/ul>\n<\/div>\n<p><!-- SECTION 3 --><\/p>\n<div style=\"background: #fafafe; border: 1px solid #e6e6ea; border-radius: 12px; padding: 12px;\">\n<div style=\"font-size: 13px; font-weight: 900; color: #111827; margin-bottom: 10px;\">C. WIP, Finished Goods, dan Aliran Biaya<\/div>\n<ul style=\"margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px;\">\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Status work order jelas (open\/in progress\/complete) dan WIP roll-forward bisa ditelusuri.<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Perpindahan RM \u2192 WIP \u2192 FG nyambung sampai COGS tanpa selisih posting yang menggantung.<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Cut-off barang jadi (FG) sesuai tanggal completion, bukan berdasarkan tanggal dokumen manual.<br \/>\n<\/label><\/li>\n<\/ul>\n<\/div>\n<p><!-- SECTION 4 --><\/p>\n<div style=\"background: #fafafe; border: 1px solid #e6e6ea; border-radius: 12px; padding: 12px;\">\n<div style=\"font-size: 13px; font-weight: 900; color: #111827; margin-bottom: 10px;\">D. Overhead &amp; Varians Biaya<\/div>\n<ul style=\"margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px;\">\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Basis alokasi overhead konsisten (jam mesin\/jam kerja\/unit) dan tarif direview saat volume berubah.<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Ada catatan singkat untuk varians terbesar (harga material, usage, scrap, downtime, volume).<br \/>\n<\/label><\/li>\n<li style=\"display: flex; gap: 10px; align-items: flex-start;\"><input style=\"appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 6px; border: 2px solid rgba(155,28,28,.35); background: #fff; display: inline-block; flex: 0 0 auto; margin-top: 2px; cursor: pointer; position: relative; outline: none;\" type=\"checkbox\" \/><br \/>\n<label style=\"font-size: 14px; line-height: 1.55; cursor: pointer;\">Biaya per unit dibandingkan antar periode untuk SKU utama, dengan alasan jika berubah signifikan.<br \/>\n<\/label><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div style=\"margin-top: 14px; padding-top: 14px; border-top: 1px solid #e6e6ea; display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; justify-content: space-between;\">\n<div style=\"font-size: 13px; line-height: 1.55; color: #6b7280; max-width: 78ch;\"><strong style=\"color: #111827;\">Catatan cepat:<\/strong><br \/>\njika 3+ poin masih belum yakin, angka cost per unit biasanya belum aman dipakai untuk pricing review.<\/div>\n<div style=\"display: flex; gap: 8px; flex-wrap: wrap;\"><span style=\"font-size: 12px; font-weight: 800; color: #9b1c1c; background: rgba(155,28,28,.08); border: 1px solid rgba(155,28,28,.18); padding: 6px 10px; border-radius: 999px;\">RM \u2192 WIP \u2192 FG \u2192 COGS<br \/>\n<\/span><br \/>\n<span style=\"font-size: 12px; font-weight: 800; color: #9b1c1c; background: rgba(155,28,28,.08); border: 1px solid rgba(155,28,28,.18); padding: 6px 10px; border-radius: 999px;\">Varians &amp; Alokasi<\/span><\/div>\n<\/div>\n<\/div>\n<h2 id=\"6\"><b>Kesimpulan<\/b><\/h2>\n<p>Angka cost of product akan paling berguna kalau bisa ditarik sampai ke sumbernya di lapangan, misalnya pemakaian material per batch, jam kerja per proses, dan pemakaian resource pabrik.<\/p>\n<p>Dari situ, Anda bisa membaca biaya per unit dengan lebih konsisten untuk kebutuhan review margin dan evaluasi proses.<\/p>\n<p>Agar hasilnya stabil dari periode ke periode, fokuskan perbaikan pada disiplin pencatatan (cut-off, pencatatan issue material, status work order) dan konsistensi alokasi overhead. Dengan kebiasaan ini, setiap perubahan angka punya penjelasan yang jelas dan lebih mudah ditindaklanjuti.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/id\/hash-manufacturing-software?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/49-Hash-Manufacturing-Automation-Mobile.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/49-Hash-Manufacturing-Automation-Mobile.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/49-Hash-Manufacturing-Automation-Desktop.webp\" alt=\"HashManufacturingAutomation\" 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 Cost of Product<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa Itu Cost of Product?<\/strong><\/summary>\n<p>Cost of product atau biaya produksi adalah biaya yang suatu perusahaan keluarkan selama proses manufaktur atau pengelolaan dengan tujuan menghasilkan produk yang siap dipasarkan. Perhitungan biaya produksi mulai dari awal pengolahan hingga barang jadi atau setengah jadi.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Bagaimana Cara Menghitung Cost of Product?<\/strong><\/summary>\n<p>Menentukan biaya tetap, Menentukan pengeluaran biaya variabel, dan Menjumlahkan biaya tetap dan biaya variabel, lalu hasilnya dibagi dengan total biaya dan jumlah barang yang dihasilkan. Hasilnya akan menjadi biaya rata-rata per unit<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Apa Itu Cost of Product?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Cost of product atau biaya produksi adalah biaya yang suatu perusahaan keluarkan selama proses manufaktur atau pengelolaan dengan tujuan menghasilkan produk yang siap dipasarkan. Perhitungan biaya produksi mulai dari awal pengolahan hingga barang jadi atau setengah jadi.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana Cara Menghitung Cost of Product?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Menentukan biaya tetap, Menentukan pengeluaran biaya variabel, dan Menjumlahkan biaya tetap dan biaya variabel, lalu hasilnya dibagi dengan total biaya dan jumlah barang yang dihasilkan. Hasilnya akan menjadi biaya rata-rata per unit\"\n    }\n  }]\n}\n<\/script><\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Cost of product dipakai untuk menjawab satu pertanyaan yang praktis: berapa biaya produksi yang \u201cmasuk\u201d ke satu produk sebelum dijual. Angka ini biasanya jadi acuan saat tim menentukan harga, mengecek margin, dan membandingkan biaya antar periode. Biayanya terbentuk dari tiga kelompok yang paling sering muncul di pabrik, yaitu bahan baku langsung, tenaga kerja langsung, dan [&hellip;]<\/p>\n","protected":false},"author":160,"featured_media":167155,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[353],"tags":[5702],"class_list":{"0":"post-53794","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-manufacturing","8":"tag-artikel-terkait"},"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>Mengenal Cost of Product dan Cara Mudah Menghitungnya<\/title>\n<meta name=\"description\" content=\"Cost of product atau biaya produksi mencakup biaya bahan baku, tenaga kerja langsung, dan overhead pabrik. Perhitungannya penting untuk\" \/>\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\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mengenal Cost of Product dan Cara Mudah Menghitungnya\" \/>\n<meta property=\"og:description\" content=\"Cost of product atau biaya produksi mencakup biaya bahan baku, tenaga kerja langsung, dan overhead pabrik. Perhitungannya penting untuk\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\" \/>\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-03-21T08:44:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-12T05:02:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\"},\"author\":{\"name\":\"Jessica Wijaya\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980\"},\"headline\":\"Mengenal Cost of Product dan Cara Mudah Menghitungnya\",\"datePublished\":\"2024-03-21T08:44:02+00:00\",\"dateModified\":\"2026-03-12T05:02:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\"},\"wordCount\":1553,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp\",\"keywords\":[\"Artikel Terkait\"],\"articleSection\":[\"Manufacturing Automation\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\",\"name\":\"Mengenal Cost of Product dan Cara Mudah Menghitungnya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp\",\"datePublished\":\"2024-03-21T08:44:02+00:00\",\"dateModified\":\"2026-03-12T05:02:31+00:00\",\"description\":\"Cost of product atau biaya produksi mencakup biaya bahan baku, tenaga kerja langsung, dan overhead pabrik. Perhitungannya penting untuk\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp\",\"width\":1200,\"height\":650,\"caption\":\"cost of product\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mengenal Cost of Product dan Cara Mudah Menghitungnya\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"name\":\"HashMicro Indonesia\",\"description\":\"Blog Software Manajemen Bisnis Indonesia #1\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\",\"name\":\"HashMicro Indonesia\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"width\":924,\"height\":121,\"caption\":\"HashMicro Indonesia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/hashmicro\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980\",\"name\":\"Jessica Wijaya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp\",\"caption\":\"Jessica Wijaya\"},\"description\":\"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.\",\"sameAs\":[\"https:\/\/www.hashmicro.com\/id\/\"],\"gender\":\"Perempuan\",\"knowsAbout\":[\"Inventory\",\"inventory management\",\"manajemen inventaris\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mengenal Cost of Product dan Cara Mudah Menghitungnya","description":"Cost of product atau biaya produksi mencakup biaya bahan baku, tenaga kerja langsung, dan overhead pabrik. Perhitungannya penting untuk","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\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/","og_locale":"id_ID","og_type":"article","og_title":"Mengenal Cost of Product dan Cara Mudah Menghitungnya","og_description":"Cost of product atau biaya produksi mencakup biaya bahan baku, tenaga kerja langsung, dan overhead pabrik. Perhitungannya penting untuk","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-03-21T08:44:02+00:00","article_modified_time":"2026-03-12T05:02:31+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.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":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/"},"author":{"name":"Jessica Wijaya","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980"},"headline":"Mengenal Cost of Product dan Cara Mudah Menghitungnya","datePublished":"2024-03-21T08:44:02+00:00","dateModified":"2026-03-12T05:02:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/"},"wordCount":1553,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp","keywords":["Artikel Terkait"],"articleSection":["Manufacturing Automation"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/","name":"Mengenal Cost of Product dan Cara Mudah Menghitungnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp","datePublished":"2024-03-21T08:44:02+00:00","dateModified":"2026-03-12T05:02:31+00:00","description":"Cost of product atau biaya produksi mencakup biaya bahan baku, tenaga kerja langsung, dan overhead pabrik. Perhitungannya penting untuk","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/03\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya-2.webp","width":1200,"height":650,"caption":"cost of product"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-cost-of-product-dan-cara-mudah-menghitungnya\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Mengenal Cost of Product dan Cara Mudah Menghitungnya"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website","url":"https:\/\/www.hashmicro.com\/id\/blog\/","name":"HashMicro Indonesia","description":"Blog Software Manajemen Bisnis Indonesia #1","publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization","name":"HashMicro Indonesia","url":"https:\/\/www.hashmicro.com\/id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","width":924,"height":121,"caption":"HashMicro Indonesia"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hashmicro","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980","name":"Jessica Wijaya","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","caption":"Jessica Wijaya"},"description":"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"gender":"Perempuan","knowsAbout":["Inventory","inventory management","manajemen inventaris"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/"}]}},"focus_keyword":"cost of product","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/53794","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=53794"}],"version-history":[{"count":16,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/53794\/revisions"}],"predecessor-version":[{"id":190811,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/53794\/revisions\/190811"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/167155"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=53794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=53794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=53794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}