{"id":132416,"date":"2024-02-20T15:36:53","date_gmt":"2024-02-20T08:36:53","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=132416"},"modified":"2026-03-25T11:17:52","modified_gmt":"2026-03-25T04:17:52","slug":"demand-signal-repository-dsr","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/","title":{"rendered":"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis"},"content":{"rendered":"<p>Apakah Anda pernah mendengar tentang Demand Signal Repository (DSR)? Dalam dunia manajemen rantai pasok yang semakin terhubung dalam era digital, DSR telah menjadi salah satu alat yang paling penting dalam mengoptimalkan aliran barang dan jasa. DSR memiliki peran yang krusial dalam mengelola informasi dan data permintaan, yang sangat berpengaruh terhadap keputusan bisnis yang akurat.<\/p>\n<p>Dalam artikel ini, kami akan membahas pentingnya DSR dalam manajemen rantai pasok, bagaimana DSR mendukung pengambilan keputusan berbasis data, fitur-fitur kunci yang mendukung analisis data, serta manfaat DSR bagi perusahaan. Selain itu, kami juga akan membahas penerapan DSR dalam praktik bisnis dan tantangan yang sering dihadapi dalam implementasinya.<\/p>\n<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:513,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0}\">\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<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:513,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0}\"><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<\/span><\/p>\n<h2><strong>Apa Itu DSR?<\/strong><\/h2>\n<p>DSR dapat dijelaskan sebagai sebuah sistem yang mengumpulkan data dari berbagai sumber untuk menganalisis pola dan tren permintaan. Dengan menggunakan DSR, perusahaan dapat memiliki pemahaman yang lebih dalam mengenai preferensi pelanggan, perilaku pasar, dan pola pembelian.<\/p>\n<p>Dengan kata lain, <a href=\"https:\/\/www.gartner.com\/en\/information-technology\/glossary\/demand-signal-repository-dsr\">DSR dalam manajemen rantai pasok<\/a> dapat dianggap sebagai &#8216;pintu gerbang&#8217; informasi penting yang membantu perusahaan dalam membuat keputusan yang berdasarkan data.<\/p>\n<h2><strong>Mengapa DSR Penting?<\/strong><\/h2>\n<p>Dalam era digital saat ini, Demand Signal Repository (DSR) memiliki peran yang sangat penting dalam mengoptimalkan rantai pasok dan pengambilan keputusan berbasis data untuk pertumbuhan bisnis yang lebih baik.<\/p>\n<p>Seiring dengan transformasi digital yang terjadi di berbagai sektor industri, banyak perusahaan menyadari akan kebutuhan akan DSR untuk mengumpulkan, menyimpan, dan menganalisis data permintaan dari berbagai sumber. DSR memainkan peran kunci dalam menangkap, mengelompokkan, dan menganalisis sinyal permintaan pelanggan untuk menghasilkan informasi strategis yang dapat digunakan dalam mengelola rantai pasok dengan lebih efisien.<\/p>\n<p>Dengan adanya DSR, perusahaan dapat mengumpulkan data yang lebih akurat dan real-time tentang perilaku pelanggan, tren permintaan, peluang pasar, dan kinerja produk. Informasi ini menjadi dasar untuk mengoptimalkan inventarisasi, perencanaan produksi, distribusi, dan strategi pemasaran untuk meningkatkan kepuasan pelanggan dan mengurangi biaya operasional.<\/p>\n<p>Penerapan DSR juga memungkinkan perusahaan untuk dengan cepat beradaptasi dengan perubahan tren pasar dan permintaan pelanggan. Melalui analisis data yang mendalam, perusahaan dapat mengidentifikasi pola dan tren yang tidak terlihat sebelumnya, serta melakukan peramalan yang lebih akurat untuk mengantisipasi kebutuhan pasar di masa depan.<\/p>\n<h3><strong>Optimalkan rantai pasok<\/strong><\/h3>\n<p>Satu-satunya cara untuk memahami kebutuhan pelanggan adalah dengan memiliki informasi tentang perilaku dan preferensi mereka. Melalui DSR, perusahaan dapat memperoleh wawasan yang lebih dalam tentang bagaimana para pelanggan berinteraksi dengan produk dan layanan yang ditawarkan.<\/p>\n<p>Informasi ini dapat digunakan untuk mengidentifikasi kebutuhan yang belum terpenuhi, meningkatkan kualitas pelayanan, dan memastikan ketersediaan produk yang tepat pada waktu yang tepat.<\/p>\n<h3><strong>Pengambilan keputusan berbasis data<\/strong><\/h3>\n<p>DSR memberikan platform yang kuat untuk menganalisis data dan menghasilkan wawasan yang berharga, untuk pengambilan keputusan strategis. Dengan memahami tren permintaan, preferensi pelanggan, dan kondisi pasar yang sedang terjadi, perusahaan dapat mengambil keputusan yang lebih cerdas dan inovatif untuk mencapai keunggulan kompetitif.<\/p>\n<h2><strong>Bagaimana DSR Mendukung Pengambilan Keputusan Berbasis Data?<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-155869\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data.webp\" alt=\"Bagaimana DSR Mendukung Pengambilan Keputusan Berbasis Data\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Bagaimana-DSR-Mendukung-Pengambilan-Keputusan-Berbasis-Data-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Cara kerja DSR sangat sederhana dan efektif. DSR mengumpulkan, menyimpan, dan menganalisis data demand signal dari berbagai sumber termasuk penjualan, inventaris, dan data operasional lainnya. Data ini kemudian dapat digunakan untuk menginformasikan strategi dan keputusan bisnis yang cerdas.<\/p>\n<p>Integrasi DSR dengan sistem informasi lainnya juga merupakan fitur penting. DSR dapat terhubung dengan berbagai sistem, seperti Enterprise Resource Planning (<a href=\"https:\/\/www.hashmicro.com\/id\/blog\/apa-itu-sistem-erp\/\">ERP<\/a>), Customer Relationship Management (<a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-crm\/\">CRM<\/a>), dan Supply Chain Management (<a href=\"https:\/\/www.hashmicro.com\/id\/blog\/supply-chain-management\/\">SCM<\/a>) untuk memastikan data yang akurat dan terkini. Integrasi ini membantu perusahaan menggabungkan data\u00a0 untuk mendapatkan pemahaman yang holistik tentang performa bisnis mereka.<\/p>\n<p>DSR tidak hanya menyediakan data yang lengkap dan real-time, tetapi juga memberikan kemampuan analisis yang kuat. Dengan tools analisis yang terintegrasi, perusahaan dapat menjalankan berbagai model peramalan dan simulasi untuk mengidentifikasi tren, pola, dan peluang bisnis. Hal ini memungkinkan pengambilan keputusan berbasis data yang lebih cerdas dan akurat.<\/p>\n<p>Jadi, DSR memainkan peran yang krusial dalam mendukung pengambilan keputusan berbasis data. Dengan menggabungkan data yang akurat dan real-time, serta integrasi dengan sistem informasi lainnya, perusahaan dapat memanfaatkan DSR untuk mendapatkan wawasan yang mendalam tentang permintaan pasar dan membuat keputusan yang lebih baik untuk pertumbuhan bisnis yang lebih baik.<\/p>\n<h2><strong>Fitur Utama DSR yang Mendukung Analisis Data<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-155870\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan.webp\" alt=\"Manfaat DSR bagi Perusahaan\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Manfaat-DSR-bagi-Perusahaan-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Demand Signal Repository (DSR) memiliki berbagai fitur yang sangat penting dalam mendukung analisis data. Fitur-fitur ini memungkinkan perusahaan untuk mengoptimalkan pengelolaan rantai pasok serta membuat keputusan berdasarkan data yang akurat.<\/p>\n<p>Salah satu fitur umum dari DSR adalah kemampuannya untuk mengumpulkan dan mengintegrasikan data penjualan, distribusi, dan inventaris dari berbagai sumber. Dengan fitur ini, perusahaan dapat memiliki visibilitas yang lengkap terhadap permintaan pelanggan serta melacak pergerakan produk mereka di sepanjang rantai pasok.<\/p>\n<p>Fitur-fitur DSR lainnya termasuk:<\/p>\n<ul>\n<li><strong>Analisis Permintaan:<\/strong> DSR memungkinkan perusahaan untuk menganalisis permintaan pelanggan dan tren pasar dengan lebih akurat. Data yang terkumpul dapat diolah menggunakan berbagai metode statistik dan teknik analisis lainnya untuk memperoleh pemahaman yang mendalam tentang perilaku konsumen serta faktor-faktor yang mempengaruhi permintaan.<\/li>\n<li><strong>Peramalan Permintaan:<\/strong> Dengan menggunakan data historis dari DSR, perusahaan dapat menghasilkan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/demand-forecasting\/\">perkiraan permintaan yang lebih akurat<\/a>. Hal ini membantu perusahaan dalam merencanakan produksi, pengadaan bahan baku, dan distribusi produk dengan lebih efisien.<\/li>\n<li><strong>Optimalisasi Inventaris:<\/strong> DSR menyediakan informasi yang diperlukan untuk mengoptimalkan inventaris dan mencegah terjadinya kekurangan atau kelebihan stok. Dengan melakukan analisis terhadap data inventaris dan permintaan, perusahaan dapat mengidentifikasi pola pembelian yang optimal serta menerapkan strategi pengelolaan persediaan yang efektif.<\/li>\n<li><strong>Visualisasi Data:<\/strong> DSR memungkinkan pengguna untuk memvisualisasikan data dalam bentuk grafik, tabel, dan laporan interaktif. Fitur ini memudahkan dalam memahami dan mempresentasikan informasi yang kompleks secara visual, sehingga pengambilan keputusan dapat dilakukan dengan lebih cepat dan akurat.<\/li>\n<\/ul>\n<p>Dengan fitur-fitur kunci yang dimiliki oleh DSR, perusahaan dapat mengoptimalkan manajemen rantai pasok mereka serta membuat keputusan berdasarkan data yang akurat dan terperinci.<\/p>\n<h2><strong>Penerapan DSR dalam Praktik Bisnis<\/strong><\/h2>\n<p>Mengapa perusahaan perlu memanfaatkan Demand Signal Repository (DSR)? DSR adalah alat yang kuat dalam mengoptimalkan kinerja bisnis Anda. Dengan menggunakan DSR, perusahaan dapat memanfaatkan data yang ada untuk mengambil keputusan yang lebih baik dan menghadapi era bisnis yang semakin kompleks.<\/p>\n<p>Bagaimana perusahaan sebenarnya memanfaatkan DSR untuk meningkatkan kinerja mereka? Berikut adalah beberapa contoh penerapan DSR dalam praktik bisnis:<\/p>\n<h3><strong>1. Peramalan Permintaan yang Akurat<\/strong><\/h3>\n<p>DSR memungkinkan perusahaan Anda untuk menganalisis dan memahami pola permintaan pelanggan dengan lebih baik. Dengan memiliki akses ke data penjualan real-time dan riwayat penjualan yang lengkap, perusahaan dapat menggunakan DSR untuk membuat peramalan permintaan yang lebih akurat dan memprediksi tren yang akan datang.<\/p>\n<h3><strong>2. Pengelolaan Persediaan yang Efisien<\/strong><\/h3>\n<p>Dengan memanfaatkan DSR, perusahaan dapat memantau tingkat persediaan dengan lebih baik dan mengoptimalkan kebutuhan persediaan. Data yang dikumpulkan oleh DSR dapat digunakan untuk merencanakan pembelian dan pengiriman barang dengan lebih efisien, menghindari kelebihan persediaan yang berlebihan atau kekurangan stok yang dapat merugikan bisnis.<\/p>\n<h3><strong>3. Identifikasi Peluang Pasar Baru<\/strong><\/h3>\n<p>DSR dapat membantu perusahaan Anda dalam mengidentifikasi peluang pasar baru. Dengan memantau data penjualan, tren konsumen, dan perilaku pelanggan, perusahaan dapat menemukan segmen pasar yang baru dan berpotensi menguntungkan. Hal ini memungkinkan perusahaan untuk mengembangkan strategi pemasaran yang tepat untuk menjangkau pelanggan potensial dengan lebih efektif.<\/p>\n<p>Semua ini adalah contoh bagaimana perusahaan dapat memanfaatkan DSR untuk meningkatkan kinerja mereka. DSR adalah alat yang sangat berguna dalam membantu perusahaan mengambil keputusan yang lebih baik dan meraih keunggulan kompetitif di pasar yang semakin sengit.<\/p>\n<h2><strong>Tantangan dalam Implementasi DSR<\/strong><\/h2>\n<p>Implementasi Demand Signal Repository (DSR) tidak selalu berjalan mulus dan sering menghadapi tantangan yang kompleks. Sebagai perusahaan yang ingin menggunakan DSR, Anda harus siap menghadapi berbagai hambatan yang mungkin muncul.<\/p>\n<p>Salah satu hambatan yang sering dihadapi adalah ketersediaan data yang tidak lengkap atau tidak akurat. Tanpa data yang cukup dan berkualitas, Anda akan kesulitan memanfaatkan DSR dengan baik. Selain itu, integrasi DSR dengan sistem informasi yang ada juga bisa menjadi tantangan. Proses integrasi yang rumit dapat mengganggu kelancaran implementasi DSR.<\/p>\n<p>Namun, meskipun ada tantangan yang dihadapi, ada strategi yang dapat membantu Anda mengatasi hambatan dalam implementasi DSR. Pertama, pastikan Anda memiliki perencanaan implementasi yang matang. Identifikasi dengan jelas tujuan DSR Anda dan persiapkan segala kebutuhan yang diperlukan sebelum memulai implementasi. Kedua, libatkan semua pihak terkait seperti tim IT, tim operasional, dan pihak manajemen untuk memastikan dukungan penuh dan kesepahaman mengenai implementasi DSR.<\/p>\n<p>Terakhir, penting untuk melibatkan pihak yang berpengalaman dalam implementasi DSR. Dengan bantuan ahli, Anda dapat mengatasi hambatan dan tantangan yang muncul selama proses implementasi. Mereka dapat membantu Anda mencapai hasil yang diharapkan dan memaksimalkan manfaat yang diperoleh dari DSR.<\/p>\n<h2><strong>Kesimpulan<\/strong><\/h2>\n<p>Demand Signal Repository (DSR) merupakan alat penting dalam era digital untuk meningkatkan efisiensi dan efektivitas pengelolaan rantai pasok. Dengan kemampuan untuk mengintegrasikan data dari berbagai sumber, DSR mendukung perencanaan yang lebih tepat, pengelolaan persediaan yang lebih efisien, dan identifikasi peluang pasar baru.<\/p>\n<p>Demand Signal Repository ini dapat digunakan di sistem supply chain, salah satunya adalah milik HashMicro. <a href=\"https:\/\/www.hashmicro.com\/id\/supply-chain-management\">Solusi HashMicro<\/a> menawarkan integrasi yang mulus dengan DSR, memperkaya sistem Anda dengan wawasan yang didapat dari analisis data yang komprehensif.<\/p>\n<p>Berminat? Daftarkan perusahaan Anda untuk <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">demo gratis<\/a> sekarang!<\/p>\n<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:6657,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial, sans-serif&quot;}\"><a href=\"https:\/\/www.hashmicro.com\/id\/supply-chain-management?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/11.-Supply-Chain-Management-Software-Web.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/11.-Supply-Chain-Management-Software-Web.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/11.-Supply-Chain-Management-Software-Mobile.webp\" alt=\"SupplyChainManagement\" 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","protected":false},"excerpt":{"rendered":"<p>Apakah Anda pernah mendengar tentang Demand Signal Repository (DSR)? Dalam dunia manajemen rantai pasok yang semakin terhubung dalam era digital, DSR telah menjadi salah satu alat yang paling penting dalam mengoptimalkan aliran barang dan jasa. DSR memiliki peran yang krusial dalam mengelola informasi dan data permintaan, yang sangat berpengaruh terhadap keputusan bisnis yang akurat. Dalam [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":155871,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1234],"tags":[],"class_list":{"0":"post-132416","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-supply-chain"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Memahami Demand Signal Repository (DSR) untuk Bisnis<\/title>\n<meta name=\"description\" content=\"Telusuri keunggulan Demand Signal Repository (DSR) dalam optimasi rantai pasok dan keputusan berbasis data untuk pertumbuhan bisnis Anda.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis\" \/>\n<meta property=\"og:description\" content=\"Telusuri keunggulan Demand Signal Repository (DSR) dalam optimasi rantai pasok dan keputusan berbasis data untuk pertumbuhan bisnis Anda.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\" \/>\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-02-20T08:36:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-25T04:17:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Anatha Ginting\" \/>\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=\"Anatha Ginting\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 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\/demand-signal-repository-dsr\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\"},\"author\":{\"name\":\"Anatha Ginting\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/32b7f9855e47e032269002db366f1a09\"},\"headline\":\"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis\",\"datePublished\":\"2024-02-20T08:36:53+00:00\",\"dateModified\":\"2026-03-25T04:17:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\"},\"wordCount\":1427,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp\",\"articleSection\":[\"Supply Chain\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\",\"name\":\"Memahami Demand Signal Repository (DSR) untuk Bisnis\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp\",\"datePublished\":\"2024-02-20T08:36:53+00:00\",\"dateModified\":\"2026-03-25T04:17:52+00:00\",\"description\":\"Telusuri keunggulan Demand Signal Repository (DSR) dalam optimasi rantai pasok dan keputusan berbasis data untuk pertumbuhan bisnis Anda.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp\",\"width\":1200,\"height\":675,\"caption\":\"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis\"}]},{\"@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\/32b7f9855e47e032269002db366f1a09\",\"name\":\"Anatha Ginting\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g\",\"caption\":\"Anatha Ginting\"},\"description\":\"Anatha sudah berpengalaman selama lebih dari 5 tahun dalam mengulas implementasi dan strategi Enterprise Resource Planning (ERP). Dalam setiap tulisannya, ia membahas peran sistem ERP dalam mengintegrasikan data lintas divisi, merapikan proses operasional, serta membantu perusahaan memahami dan mengelola bisnis secara lebih efektif.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/anathag\/\"],\"gender\":\"Perempuan\",\"knowsAbout\":[\"content writing\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Lead Content Writer\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/anatha\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Memahami Demand Signal Repository (DSR) untuk Bisnis","description":"Telusuri keunggulan Demand Signal Repository (DSR) dalam optimasi rantai pasok dan keputusan berbasis data untuk pertumbuhan bisnis Anda.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/","og_locale":"id_ID","og_type":"article","og_title":"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis","og_description":"Telusuri keunggulan Demand Signal Repository (DSR) dalam optimasi rantai pasok dan keputusan berbasis data untuk pertumbuhan bisnis Anda.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-02-20T08:36:53+00:00","article_modified_time":"2026-03-25T04:17:52+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp","type":"image\/webp"}],"author":"Anatha Ginting","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Anatha Ginting","Estimasi waktu membaca":"9 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/"},"author":{"name":"Anatha Ginting","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/32b7f9855e47e032269002db366f1a09"},"headline":"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis","datePublished":"2024-02-20T08:36:53+00:00","dateModified":"2026-03-25T04:17:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/"},"wordCount":1427,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp","articleSection":["Supply Chain"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/","name":"Memahami Demand Signal Repository (DSR) untuk Bisnis","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp","datePublished":"2024-02-20T08:36:53+00:00","dateModified":"2026-03-25T04:17:52+00:00","description":"Telusuri keunggulan Demand Signal Repository (DSR) dalam optimasi rantai pasok dan keputusan berbasis data untuk pertumbuhan bisnis Anda.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/Memahami-Demand-Signal-Repository-DSR-dan-Manfaatnya-bagi-Bisnis.webp","width":1200,"height":675,"caption":"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/demand-signal-repository-dsr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Memahami Demand Signal Repository (DSR) dan Manfaatnya bagi Bisnis"}]},{"@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\/32b7f9855e47e032269002db366f1a09","name":"Anatha Ginting","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g","caption":"Anatha Ginting"},"description":"Anatha sudah berpengalaman selama lebih dari 5 tahun dalam mengulas implementasi dan strategi Enterprise Resource Planning (ERP). Dalam setiap tulisannya, ia membahas peran sistem ERP dalam mengintegrasikan data lintas divisi, merapikan proses operasional, serta membantu perusahaan memahami dan mengelola bisnis secara lebih efektif.","sameAs":["https:\/\/www.linkedin.com\/in\/anathag\/"],"gender":"Perempuan","knowsAbout":["content writing"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Lead Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/anatha\/"}]}},"focus_keyword":"demand signal repository dsr","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/132416","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\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=132416"}],"version-history":[{"count":6,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/132416\/revisions"}],"predecessor-version":[{"id":191317,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/132416\/revisions\/191317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/155871"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=132416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=132416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=132416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}