{"id":188477,"date":"2026-02-05T12:54:08","date_gmt":"2026-02-05T05:54:08","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=188477"},"modified":"2026-02-05T12:54:08","modified_gmt":"2026-02-05T05:54:08","slug":"agile-procurement","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/","title":{"rendered":"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement"},"content":{"rendered":"<p>Pernahkah Anda merasa bahwa proses pengadaan barang di perusahaan berjalan terlalu lambat dibandingkan dengan perubahan harga pasar yang begitu dinamis? Konsep agile procurement atau pengadaan tangkas mulai diadopsi oleh berbagai organisasi global.<\/p>\n<p>Agile procurement mempercepat proses pembelian dalam mengelola rantai pasok. Tim pengadaan kini dapat bekerja lebih kolaboratif, responsif terhadap risiko, dan fokus pada penciptaan nilai tambah.<\/p>\n<p>Selain itu, pengadaan tidak lagi bergantung pada siklus tender panjang untuk setiap kebutuhan. Prosesnya dipecah menjadi langkah-langkah singkat yang jelas, sehingga tim bisa menguji opsi pemasok lebih cepat.<\/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=\"#konsep\">Agile procurement menerapkan<\/a> prinsip Agile untuk membuat proses pengadaan lebih cepat dan adaptif.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\">Penerapan pendekatan <a href=\"#manfaat\">pengadaan adaptif bermanfaat<\/a> untuk meningkatkan kecepatan ke pasar, mitigasi risiko lebih cepat, meningkatkan kualitas, dan mengefisiensikan biaya.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\">Operasional ini dapat <a href=\"#tantangan\">menghadapi tantangan<\/a> seperti resistensi budaya, kepatuhan dan regulasi, serta keterbatasan teknologi.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n\n<h2 id=\"definisi-dan-konsep-dasar-agile-procurement\"><span id=\"konsep\">Mengenal Konsep Dasar Agile Procurement<\/span><\/h2>\n<p>Agile procurement adalah penerapan filosofi dan nilai Agile yang populer dalam pengembangan perangkat lunak ke dalam proses pengadaan dan manajemen rantai pasok.<\/p>\n<p>Jika pengadaan tradisional sering kali bersifat linear, kaku, dan berbasis pada spesifikasi yang sudah ditetapkan di awal (sering disebut metode <em>Waterfall<\/em>), pengadaan agile justru bersifat iteratif, kolaboratif, dan adaptif.<\/p>\n<p>Dalam model tradisional, tim pengadaan biasanya menghabiskan waktu berbulan-bulan untuk menyusun dokumen <em>Request for Proposal<\/em> (RFP) yang sangat rinci, menunggu penawaran, mengevaluasi, dan kemudian memilih vendor.<\/p>\n<p>Proses ini berasumsi bahwa kita mengetahui semua jawaban dan solusi di awal proyek. Namun, dalam dunia yang penuh ketidakpastian (VUCA), asumsi ini sering kali salah.<\/p>\n<p>Agile procurement membalikkan paradigma ini dengan fokus pada kemitraan awal dengan pemasok untuk menemukan solusi bersama, bukan sekadar membeli barang berdasarkan spesifikasi kaku.<\/p>\n<h2 id=\"manfaat-strategis-mengadopsi-agile-procurement\"><span id=\"manfaat\">Manfaat Strategis Mengadopsi Pengadaan Berbasis Data<\/span><\/h2>\n<p>Mengadopsi <a href=\"https:\/\/www.manutan.com\/blog\/en\/procurement-strategy\/what-is-agile-procurement\">agile procurement berfokus<\/a> pada cara perusahaan merespons perubahan dengan lebih cepat. Berikut adalah manfaat langsung bagi bisnis:<\/p>\n<h3>1. Kecepatan ke pasar (time-to-market)<\/h3>\n<p>Kecepatan ke pasar meningkat karena agile procurement mempersingkat siklus pengadaan dari berbulan-bulan menjadi minggu atau hari lewat lokakarya kolaboratif, sehingga proyek bisa dimulai lebih cepat.<\/p>\n<h3>2. Peningkatan kualitas dan inovasi<\/h3>\n<p>Kualitas dan inovasi ikut terdorong karena pemasok dilibatkan sejak awal untuk memberi masukan dan solusi. Oleh karena itu, proses ini sering memunculkan ide yang lebih efisien dan inovatif.<\/p>\n<h3>3. Mitigasi risiko yang lebih baik<\/h3>\n<p>Pendekatan iteratif memungkinkan perusahaan untuk menguji kinerja pemasok dalam skala kecil sebelum berkomitmen pada kontrak jangka panjang yang besar. Jika terjadi masalah, hal itu dapat diidentifikasi dan diperbaiki dengan cepat, atau hubungan kerja dapat diakhiri tanpa kerugian besar.<\/p>\n<h3>4. Efisiensi biaya melalui pengurangan limbah<\/h3>\n<p>Agile memangkas proses yang tidak perlu sehingga biaya operasional turun dan perencanaan persediaan lebih akurat. Dampaknya terlihat dari optimalisasi <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/fill-rate\">metode pengukuran efisiensi stok<\/a> untuk menjaga ketersediaan tanpa penumpukan inventaris.<\/p>\n<h2 id=\"langkah-langkah-implementasi-agile-procurement\">Langkah-Langkah Implementasi Agile Procurement<\/h2>\n<p>Transisi menuju sistem yang lebih tangkas tidak terjadi dalam semalam. Ini memerlukan perencanaan matang dan eksekusi bertahap. Berikut adalah panduan langkah demi langkah untuk mengimplementasikannya di organisasi Anda.<\/p>\n<h3>1. Penilaian kesiapan dan perubahan mindset<\/h3>\n<p>Mulai dengan menilai kesiapan budaya organisasi, terutama dukungan manajemen untuk keputusan yang lebih terdesentralisasi. Lakukan pelatihan agile untuk tim pengadaan dan stakeholder agar mindset bergeser dari gatekeeper menjadi fasilitator nilai.<\/p>\n<h3>2. Pembentukan tim lintas fungsi<\/h3>\n<p>Bentuk tim lintas fungsi untuk menangani kategori pengeluaran atau proyek tertentu. Beri otonomi mengambil keputusan taktis selama tetap sesuai batas anggaran dan risiko yang disepakati.<\/p>\n<h3>3. Implementasi lean-agile sourcing<\/h3>\n<p>Gunakan Lean-Agile Procurement Canvas sebagai pengganti RFP tebal. Undang beberapa pemasok ke lokakarya 1\u20132 hari untuk menyusun solusi, proposal, dan draf kontrak bersama tanpa proses bolak-balik berbulan-bulan.<\/p>\n<p>Penting juga untuk memanfaatkan teknologi yang mendukung transparansi. Penggunaan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/manfaat-spse-dan-cara-kerjanya\">standar pengadaan elektronik<\/a> atau sistem e-procurement yang fleksibel dapat membantu memfasilitasi proses ini, memastikan bahwa meskipun prosesnya cepat, jejak audit dan kepatuhan tetap terjaga.<\/p>\n<h3>4. Eksekusi kontrak berbasis sprint<\/h3>\n<p>Setelah vendor terpilih, pantau kontrak lewat sprint 2\u20134 minggu dan lakukan review rutin atas pengiriman serta kinerja. Jika hasilnya belum sesuai, lakukan penyesuaian segera sebelum lanjut.<\/p>\n<div style=\"border:1px solid #ddd; border-radius:8px; overflow:hidden; margin:30px 0; box-shadow:0 4px 12px rgba(0,0,0,0.12);\"><div style=\"background-color:#990000; color:#fff; padding:14px 20px; font-size:18px; font-weight:700; letter-spacing:0.5px;\">Expert's Review<\/div><div style=\"background-color:#fff; padding:22px 20px; font-size:16px; line-height:1.7; position:relative;\"><div style=\"font-size:44px; color:#990000; font-weight:800; line-height:0; position:absolute; top:18px; left:18px;\">\u201c<\/div><p style=\"margin:0 0 14px 40px; font-style:italic; color:#333;\">\u201cKalau pemasok hanya diajak saat negosiasi harga, peluang inovasi sering lewat begitu saja. Agile procurement membuka ruang kolaborasi sejak awal\u201d<\/p><p style=\"margin:0 0 0 40px; font-weight:700; color:#444;\">\u2014 Anandia Denisha, MBA, Regional Manager<\/p><\/div><\/div>\n<h2 id=\"tantangan-umum-dan-solusi-efektif\"><span id=\"tantangan\">Tantangan Operasional Procurement Kolaboratif dan Solusi Efektifnya<\/span><\/h2>\n<p>Meskipun menawarkan banyak manfaat, penerapan agile procurement tidak lepas dari hambatan. Mengidentifikasi tantangan ini sejak dini adalah kunci keberhasilan transformasi.<\/p>\n<h3>1. Resistensi budaya dan kebiasaan lama<\/h3>\n<p>Banyak profesional pengadaan yang sudah terbiasa dengan pola kerja terstruktur dan merasa tidak nyaman dengan ambiguitas dalam metode agile. Mereka mungkin merasa kehilangan kendali.<\/p>\n<p>Maka, solusinya adalah melalui manajemen perubahan (change management) yang empatik. Tunjukkan kemenangan-kemenangan kecil (quick wins) dari proyek percontohan untuk membuktikan bahwa metode ini efektif dan aman.<\/p>\n<h3>2. Kepatuhan dan regulasi (compliance)<\/h3>\n<p>Sering kali ada anggapan bahwa &#8220;agile&#8221; berarti &#8220;tanpa aturan&#8221; atau &#8220;melanggar prosedur&#8221;. Agile tetap harus patuh pada regulasi, terutama di sektor publik atau industri yang diatur ketat.<\/p>\n<p>Kuncinya adalah mendokumentasikan keputusan secara <em>real-time<\/em>. Pastikan setiap langkah, meskipun cepat, memiliki jejak digital yang jelas. Penggunaan sistem yang otomatis dapat membantu mencatat setiap persetujuan dan perubahan tanpa memperlambat kerja manusia.<\/p>\n<p>Pengelolaan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/delivery-note\">dokumentasi serah terima barang<\/a> yang akurat dan digital memastikan bahwa kecepatan pengadaan tidak mengorbankan akurasi verifikasi barang yang diterima, sehingga pembayaran ke vendor dapat diproses tanpa sengketa.<\/p>\n<h3>3. Keterbatasan teknologi<\/h3>\n<p>Sistem ERP atau procurement lama (legacy systems) sering kali didesain untuk proses linear yang kaku. Memaksa sistem ini bekerja secara agile bisa menyulitkan.<\/p>\n<p>Perusahaan mungkin perlu mempertimbangkan untuk mengadopsi lapisan teknologi tambahan atau beralih ke solusi <em>cloud-based<\/em> modern yang dirancang untuk fleksibilitas dan kolaborasi real-time.<\/p>\n<h2>Memilih Pendekatan Pengadaan Agile Lean atau Tradisional<\/h2>\n<p>Sering kali terjadi kebingungan antara konsep Agile, Lean, dan Tradisional. Berikut adalah perbandingan mendalam untuk memperjelas posisi masing-masing metodologi.<\/p>\n<h3>1. Fokus utama<\/h3>\n<ul>\n<li><strong>Tradisional:<\/strong> Fokus pada kepatuhan biaya (cost compliance), standardisasi, dan pencegahan risiko melalui kontrol ketat. Cocok untuk pembelian komoditas stabil dengan risiko rendah.<\/li>\n<li><strong>Lean:<\/strong> Fokus pada penghilangan pemborosan (waste) dalam proses. Tujuannya adalah efisiensi alur kerja. Lean sangat baik untuk proses transaksional yang berulang.<\/li>\n<li><strong>Agile:<\/strong> Fokus pada adaptabilitas dan responsivitas terhadap perubahan. Tujuannya adalah efektivitas dalam situasi yang tidak pasti. Sangat cocok untuk pengadaan strategis, proyek kompleks, atau kemitraan inovasi.<\/li>\n<\/ul>\n<h3>2. Hubungan dengan pemasok<\/h3>\n<p>Dalam model tradisional, hubungan sering kali bersifat transaksional dan terkadang adversarial (menekan harga serendah mungkin). Lean memandang pemasok sebagai bagian dari aliran nilai yang harus dioptimalkan.<\/p>\n<p>Agile memandang pemasok sebagai mitra kolaboratif yang integral dalam tim pengembangan solusi. Dalam agile, transparansi data antara pembeli dan pemasok sangat tinggi.<\/p>\n<h3>3. Dokumentasi dan kontrak<\/h3>\n<p>Kontrak tradisional bersifat kaku dengan ruang lingkup (scope) yang terkunci. Perubahan ruang lingkup memerlukan proses <em>Change Request<\/em> yang rumit.<\/p>\n<p>Kontrak agile sering kali menggunakan model &#8220;Time and Materials&#8221; atau &#8220;Target Cost&#8221;. Ini memungkinkan perubahan prioritas di tengah jalan tanpa harus merombak seluruh kontrak legal.<\/p>\n<h2>Peran Teknologi dalam Mendukung Agile Procurement<\/h2>\n<p>Mustahil menjalankan pengadaan yang benar-benar tangkas hanya dengan mengandalkan spreadsheet manual dan email. Teknologi berperan sebagai enabler utama yang memungkinkan transparansi data dan kecepatan komunikasi.<\/p>\n<h3>1. Automasi dan kecerdasan buatan (AI)<\/h3>\n<p>Automasi menangani pekerjaan rutin seperti pembuatan PO, verifikasi invoice, dan pembaruan data vendor sehingga tim bisa fokus ke strategi dan negosiasi. AI membantu memberi sinyal lebih awal dan merekomendasikan opsi pemasok saat kondisi pasokan berubah.<\/p>\n<h3>2. Platform kolaborasi berbasis cloud<\/h3>\n<p>Platform cloud membuat tim internal dan pemasok bekerja di data yang sama dalam satu sistem. Perubahan spesifikasi, jadwal, dan status approval bisa dipantau dan disepakati secara real-time tanpa bolak-balik email.<\/p>\n<h3>3. Analitik data real-time<\/h3>\n<p>Dasbor real-time memberi gambaran cepat soal pengeluaran, performa vendor, dan tren kebutuhan agar keputusan lebih tepat. Dengan data yang selalu terbaru, tim bisa menyesuaikan strategi tanpa menunggu laporan manual.<\/p>\n<h2>Arah Baru Pengadaan di Era Bisnis Modern<\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-188501\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern.webp\" alt=\"arah baru pengadaan di era bisnis modern\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/arah-baru-pengadaan-di-era-bisnis-modern-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Melihat ke depan, agile procurement akan berevolusi menjadi standar norma baru, bukan lagi sekadar opsi alternatif. Beberapa tren kunci yang akan membentuk masa depan pengadaan meliputi:<\/p>\n<h3>1. Ekosistem pemasok yang terhubung<\/h3>\n<p>Rantai pasok akan berubah menjadi jaringan yang saling terhubung, bukan lagi alur linear. Kecepatan pengadaan makin ditentukan oleh kelancaran arus data dari hulu ke hilir.<\/p>\n<h3>2. Keberlanjutan (sustainability) sebagai pendorong agilitas<\/h3>\n<p>Tuntutan ESG membuat tim pengadaan perlu cepat menyesuaikan pilihan material dan pemasok. Pendekatan agile memudahkan perubahan itu tanpa mengacaukan alur operasional.<\/p>\n<h3>3. Human-centric procurement<\/h3>\n<p>Teknologi mengurus data dan otomatisasi, manusia fokus pada negosiasi dan relasi pemasok. Soft skills menjadi pembeda untuk keputusan yang lebih strategis.<\/p>\n<h2 id=\"penerapan-agile-procurement-di-berbagai-sektor-industri\">Model Pengadaan Adaptif di Berbagai Sektor Industri<\/h2>\n<p>Meski berawal dari dunia teknologi, pendekatan agile relevan untuk pengadaan di berbagai sektor. Fleksibilitasnya bisa disesuaikan dengan karakter rantai pasok tiap industri dan kebutuhan operasional yang berbeda.<\/p>\n<h3>1. Sektor manufaktur dan produksi<\/h3>\n<p>Di manufaktur, pendekatan agile membantu pengadaan tetap selaras dengan ritme JIT dan lean dengan memantau kebutuhan material secara lebih rutin. Fokusnya biasanya pada portofolio pemasok dan review berkala agar keputusan sourcing bisa cepat saat kondisi pasar berubah.<\/p>\n<h3>2. Ritel dan e-commerce<\/h3>\n<p>Strategi ini membuat pengadaan lebih responsif terhadap tren dengan pembelian awal dalam batch kecil untuk uji pasar. Jika performanya bagus, scaling dilakukan cepat sehingga stok tetap sehat dan perputaran barang lebih terjaga.<\/p>\n<h3>3. Distribusi dan logistik<\/h3>\n<p>Agile membantu menjaga layanan tetap stabil lewat evaluasi vendor dan kontrak yang lebih fleksibel. Saat volume atau area pengiriman berubah, tim bisa menambah kapasitas melalui vendor tambahan tanpa proses panjang.<\/p>\n<h2 id=\"langkah-implementasi-taktis-dan-pengukuran-kinerja\">Langkah Implementasi Taktis dan Pengukuran Kinerja<\/h2>\n<p>Mengubah organisasi pengadaan menjadi agile tidak terjadi dalam semalam. Diperlukan peta jalan yang jelas dan terukur agar transisi tidak menimbulkan kekacauan operasional. Berikut adalah panduan langkah demi langkah beserta metrik keberhasilan yang relevan.<\/p>\n<h3>1. Pembentukan tim lintas fungsi (cross-functional squads)<\/h3>\n<p>Bentuk squad kecil berisi procurement, user bisnis, legal, dan finance agar keputusan taktis bisa diambil cepat dengan peran yang jelas. Gunakan kanban untuk melacak progres dan menjaga koordinasi tetap rapi.<\/p>\n<p><strong>Aktivitas Kunci:<\/strong><\/p>\n<ul>\n<li>Menetapkan <em>Product Owner<\/em> untuk setiap kategori pengadaan.<\/li>\n<li>Melakukan sesi <em>Daily Stand-up<\/em> singkat (15 menit) untuk membahas hambatan.<\/li>\n<li>Menggunakan papan visual (Kanban board) untuk melacak status negosiasi dan kontrak.<\/li>\n<\/ul>\n<h3>2. Eksekusi sourcing sprints<\/h3>\n<p>Ubah tender panjang menjadi sprint pendek dengan output yang spesifik, misalnya riset pasar dan shortlist vendor terlebih dulu. Libatkan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/supplier-adalah\/\">pemasok atau supplier<\/a> lebih awal lewat sesi kolaboratif agar solusi cepat terlihat.<\/p>\n<h3>3. Metrik dan KPI agile procurement<\/h3>\n<p>Ukur agile procurement lewat kecepatan dan kualitas, bukan hanya cost savings. Fokus pada cycle time to contract, cost of delay, inovasi pemasok, kepuasan stakeholder, dan efisiensi proses.<\/p>\n<p>Berikut adalah tabel indikator kinerja yang disarankan:<\/p>\n<ul>\n<li><strong>Cycle Time to Contract:<\/strong> Mengukur waktu rata-rata dari identifikasi kebutuhan hingga penandatanganan kesepakatan kerja sama. Targetnya adalah pengurangan waktu siklus sebesar 30-50%.<\/li>\n<li><strong>Cost of Delay:<\/strong> Menghitung potensi kerugian finansial atau peluang yang hilang setiap kali keputusan pengadaan tertunda. Metrik ini membantu memprioritaskan tugas dalam backlog.<\/li>\n<li><strong>Supplier Innovation Rate:<\/strong> Jumlah ide atau perbaikan proses yang diusulkan oleh pemasok dan berhasil diimplementasikan. Ini mengukur kualitas kolaborasi.<\/li>\n<li><strong>Stakeholder Satisfaction Score (NPS):<\/strong> Survei berkala kepada pengguna internal tentang kepuasan mereka terhadap kecepatan dan kualitas layanan pengadaan.<\/li>\n<li><strong>Process Efficiency Ratio:<\/strong> Perbandingan antara waktu kerja produktif (negosiasi, strategi) dengan waktu administrasi (paperwork). Agile bertujuan meminimalkan waktu administrasi.<\/li>\n<\/ul>\n<h2 id=\"jebakan-umum-dan-strategi-mitigasi-risiko\">Jebakan Umum dan Strategi Mitigasi Risiko<\/h2>\n<p>Transisi menuju agile procurement sering kali menghadapi hambatan. Mengetahui potensi kegagalan ini sejak awal akan membantu pemimpin perusahaan mempersiapkan strategi mitigasi yang efektif.<\/p>\n<h3>1. Konflik kepatuhan dan audit<\/h3>\n<p><strong>Masalah:<\/strong> Tim audit dan kepatuhan sering melihat metode agile sebagai sesuatu yang &#8220;sembrono&#8221; karena kurangnya dokumentasi formal yang tebal di awal proses. Mereka mungkin menganggap kecepatan sebagai risiko terhadap transparansi.<\/p>\n<p><strong>Mitigasi:<\/strong> Libatkan tim audit sejak awal dan tetapkan minimum viable compliance yang tetap patuh tanpa memperlambat proses. Gunakan sistem digital\/ERP untuk mencatat audit trail otomatis agar dokumentasi terbentuk tanpa kerja manual.<\/p>\n<h3>2. Scope creep (perluasan ruang lingkup)<\/h3>\n<p><strong>Masalah:<\/strong> Karena sifatnya yang fleksibel, pemangku kepentingan sering kali terus menambahkan persyaratan baru di tengah jalan tanpa mempertimbangkan dampak biaya dan waktu, dengan dalih &#8220;kita kan sedang agile&#8221;.<\/p>\n<p><strong>Mitigasi:<\/strong> Terapkan backlog management yang ketat dengan prinsip trade-off, setiap tambahan harus diimbangi pengurangan prioritas lain. Scrum Master atau fasilitator menjaga disiplin ini.<\/p>\n<h3>3. Ketidaksiapan pemasok<\/h3>\n<p><strong>Masalah:<\/strong> Tidak semua pemasok siap bekerja dengan metode agile. Pemasok tradisional mungkin bingung jika tidak diberikan spesifikasi yang sangat rinci dan tetap (fixed specs).<\/p>\n<p><strong>Mitigasi:<\/strong> Edukasi vendor strategis tentang manfaatnya, seperti ekspektasi lebih jelas dan proses pembayaran lebih cepat. Mulai dari pilot kecil dengan vendor paling inovatif sebelum diperluas.<\/p>\n<h2 id=\"praktik-terbaik-tingkat-lanjut-untuk-skalabilitas\">Strategi Lanjutan untuk Proses Pengadaan yang Skalabel<\/h2>\n<p>Bagi organisasi yang telah berhasil menerapkan dasar-dasar agile procurement, langkah selanjutnya adalah meningkatkan maturitas proses untuk dampak yang lebih besar.<\/p>\n<h3>1. Penerapan lean-agile procurement (LAP) canvas<\/h3>\n<p>LAP canvas menyederhanakan proses pengadaan dengan memusatkan fokus pada kebutuhan utama, nilai yang ingin dicapai, dan peran pemasok sejak awal. Pendekatan ini mendorong diskusi yang lebih cepat dan selaras tanpa bergantung pada dokumen panjang.<\/p>\n<h3>2. Integrasi teknologi ERP dan AI<\/h3>\n<p>ERP yang terintegrasi dengan AI membantu tim pengadaan mengakses data real-time dan membaca pola lebih awal. Dengan dukungan ini, keputusan dapat diambil lebih responsif tanpa menunggu proses manual yang berlapis.<\/p>\n<h2>Kesimpulan<\/h2>\n<p>Agile procurement adalah cara kerja pengadaan yang lebih lincah mengikuti kebutuhan bisnis yang cepat berubah. Fokusnya bukan sekadar dokumen, tapi hasil yang memberi nilai nyata untuk operasional.<\/p>\n<p>Pendekatan ini menekankan kolaborasi antar tim dan pemasok agar keputusan bisa diambil lebih cepat tanpa kehilangan kontrol. Kuncinya ada pada aturan yang jelas, data yang rapi, dan koordinasi yang jalan.<\/p>\n<p>Penerapannya tidak harus langsung besar, bisa dimulai dari proses yang paling sering memakan waktu. Setelah itu, evaluasi hasilnya dan perbaiki bertahap sampai alurnya benar-benar cocok dengan ritme perusahaan.<\/p>\n\n<h2><strong>Pertanyaan Seputar Agile Procurement<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa perbedaan utama antara agile procurement dan pengadaan tradisional?<\/strong><\/summary>\n<p>Perbedaan utamanya terletak pada pendekatan proses dan waktu. Pengadaan tradisional bersifat linear, kaku, dan berbasis spesifikasi awal yang detail (waterfall), sedangkan agile procurement bersifat iteratif, kolaboratif, dan fleksibel terhadap perubahan kebutuhan selama proses berlangsung.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah agile procurement cocok untuk semua jenis pembelian?<\/strong><\/summary>\n<p>Tidak selalu. Agile procurement paling efektif untuk pengadaan strategis, proyek kompleks, atau situasi di mana solusi belum sepenuhnya jelas (seperti pembelian teknologi atau jasa kreatif). Untuk pembelian komoditas rutin dengan spesifikasi standar, metode tradisional atau lean mungkin masih lebih efisien.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Bagaimana cara menjaga kepatuhan (compliance) dalam proses agile?<\/strong><\/summary>\n<p>Kepatuhan dijaga dengan mendokumentasikan setiap keputusan secara real-time menggunakan sistem digital. Agile tidak berarti mengabaikan aturan, tetapi mempercepat alur keputusan. Transparansi data dan jejak audit digital memastikan bahwa meskipun prosesnya cepat, standar regulasi tetap terpenuhi.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Pernahkah Anda merasa bahwa proses pengadaan barang di perusahaan berjalan terlalu lambat dibandingkan dengan perubahan harga pasar yang begitu dinamis? Konsep agile procurement atau pengadaan tangkas mulai diadopsi oleh berbagai organisasi global. Agile procurement mempercepat proses pembelian dalam mengelola rantai pasok. Tim pengadaan kini dapat bekerja lebih kolaboratif, responsif terhadap risiko, dan fokus pada penciptaan [&hellip;]<\/p>\n","protected":false},"author":161,"featured_media":188492,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1470],"tags":[],"class_list":{"0":"post-188477","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-procurement"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Meningkatkan Efisiensi Pengadaan dengan Agile Procurement<\/title>\n<meta name=\"description\" content=\"Agile procurement adalah pengadaan yang adaptif dan kolaboratif untuk mempercepat keputusan, menekan hambatan, dan menjaga efisiensi.\" \/>\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\/agile-procurement\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement\" \/>\n<meta property=\"og:description\" content=\"Agile procurement adalah pengadaan yang adaptif dan kolaboratif untuk mempercepat keputusan, menekan hambatan, dan menjaga efisiensi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-05T05:54:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/agile-procurement-hashmicro.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=\"Jonathan Kurniawan\" \/>\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=\"Jonathan Kurniawan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 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\\\/agile-procurement\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/\"},\"author\":{\"name\":\"Jonathan Kurniawan\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/029ac06d135cf8424dfa4f3cb3fef6c5\"},\"headline\":\"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement\",\"datePublished\":\"2026-02-05T05:54:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/\"},\"wordCount\":2265,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/agile-procurement-hashmicro.webp\",\"articleSection\":[\"Procurement\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/\",\"name\":\"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/agile-procurement-hashmicro.webp\",\"datePublished\":\"2026-02-05T05:54:08+00:00\",\"description\":\"Agile procurement adalah pengadaan yang adaptif dan kolaboratif untuk mempercepat keputusan, menekan hambatan, dan menjaga efisiensi.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/agile-procurement-hashmicro.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/agile-procurement-hashmicro.webp\",\"width\":1200,\"height\":675,\"caption\":\"agile procurement hashmicro\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/agile-procurement\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement\"}]},{\"@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\\\/029ac06d135cf8424dfa4f3cb3fef6c5\",\"name\":\"Jonathan Kurniawan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jonathan-Kurniawan-3-96x96.webp\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jonathan-Kurniawan-3-96x96.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jonathan-Kurniawan-3-96x96.webp\",\"caption\":\"Jonathan Kurniawan\"},\"description\":\"Jonathan adalah seorang praktisi dalam bidang procurement, TMS, dan supply chain dengan pengalaman 5 tahun. Spesialis dalam mengulas topik seputar manajemen vendor, budget control procurement, otomatisasi proses pengadaan barang, dan analisis procurement. Tulisannya secara konsisten mendukung pengambilan keputusan bisnis yang lebih strategis.\",\"sameAs\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/\"],\"gender\":\"laki-laki\",\"knowsAbout\":[\"procurement\",\"pengadaan\",\"pembelian\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/author\\\/jonathankurniawan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement","description":"Agile procurement adalah pengadaan yang adaptif dan kolaboratif untuk mempercepat keputusan, menekan hambatan, dan menjaga efisiensi.","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\/agile-procurement\/","og_locale":"id_ID","og_type":"article","og_title":"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement","og_description":"Agile procurement adalah pengadaan yang adaptif dan kolaboratif untuk mempercepat keputusan, menekan hambatan, dan menjaga efisiensi.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2026-02-05T05:54:08+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/agile-procurement-hashmicro.webp","type":"image\/webp"}],"author":"Jonathan Kurniawan","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Jonathan Kurniawan","Estimasi waktu membaca":"13 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/"},"author":{"name":"Jonathan Kurniawan","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/029ac06d135cf8424dfa4f3cb3fef6c5"},"headline":"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement","datePublished":"2026-02-05T05:54:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/"},"wordCount":2265,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/agile-procurement-hashmicro.webp","articleSection":["Procurement"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/","name":"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/agile-procurement-hashmicro.webp","datePublished":"2026-02-05T05:54:08+00:00","description":"Agile procurement adalah pengadaan yang adaptif dan kolaboratif untuk mempercepat keputusan, menekan hambatan, dan menjaga efisiensi.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/agile-procurement-hashmicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/02\/agile-procurement-hashmicro.webp","width":1200,"height":675,"caption":"agile procurement hashmicro"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/agile-procurement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Meningkatkan Efisiensi Pengadaan dengan Agile Procurement"}]},{"@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\/029ac06d135cf8424dfa4f3cb3fef6c5","name":"Jonathan Kurniawan","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jonathan-Kurniawan-3-96x96.webp","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jonathan-Kurniawan-3-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jonathan-Kurniawan-3-96x96.webp","caption":"Jonathan Kurniawan"},"description":"Jonathan adalah seorang praktisi dalam bidang procurement, TMS, dan supply chain dengan pengalaman 5 tahun. Spesialis dalam mengulas topik seputar manajemen vendor, budget control procurement, otomatisasi proses pengadaan barang, dan analisis procurement. Tulisannya secara konsisten mendukung pengambilan keputusan bisnis yang lebih strategis.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"gender":"laki-laki","knowsAbout":["procurement","pengadaan","pembelian"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/jonathankurniawan\/"}]}},"focus_keyword":"agile procurement","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/188477","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\/161"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=188477"}],"version-history":[{"count":3,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/188477\/revisions"}],"predecessor-version":[{"id":188504,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/188477\/revisions\/188504"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/188492"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=188477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=188477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=188477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}