{"id":52373,"date":"2024-01-09T10:50:51","date_gmt":"2024-01-09T03:50:51","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=52373"},"modified":"2026-03-12T10:55:27","modified_gmt":"2026-03-12T03:55:27","slug":"8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/","title":{"rendered":"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya"},"content":{"rendered":"<p>Preventive maintenance merupakan pendekatan pemeliharaan proaktif yang menjaga peralatan tetap berfungsi optimal sebelum kerusakan muncul. Tanpa strategi ini, perusahaan berisiko mengalami downtime, biaya perbaikan besar, serta gangguan operasional yang merugikan.<\/p>\n<p>Dalam dunia industri yang semakin kompetitif, menjaga keandalan aset menjadi kebutuhan penting bagi kelancaran operasional, termasuk melalui <a href=\"https:\/\/www.hashmicro.com\/id\/smart-asset-solution\">aplikasi manajemen aset<\/a>. Perawatan terencana membantu perusahaan mempertahankan produktivitas dan menekan risiko kerusakan mendadak.<\/p>\n<p>Agar Anda memahami konsep, jenis, dan langkah penerapannya secara menyeluruh, simak artikel ini hingga akhir. Panduan lengkap berikut akan membantu meningkatkan efektivitas pemeliharaan di perusahaan Anda.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #8a0e19; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#adalah\">Preventive maintenance adalah<\/a> pemeliharaan rutin yang mencegah kerusakan dan menjaga aset tetap optimal.<\/li>\n<li aria-level=\"1\"><a href=\"#penting\">Preventive maintenance penting<\/a> karena menjaga mesin tetap andal, mengurangi downtime, dan mencegah kerusakan yang merugikan.<\/li>\n<li aria-level=\"1\">Preventive maintenance makin optimal dengan <a href=\"https:\/\/www.hashmicro.com\/id\/smart-asset-solution\">Smart Asset Solution HashMicro<\/a> yang memudahkan pemantauan aset dan perawatan tepat waktu.<\/li>\n<\/ul>\n<p style=\"text-align: center;\">\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script> <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<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/4-manfaat-software-manufaktur-untuk-memaksimalkan-proses-produksi-di-pabrik-buku\/\"><b>4 Manfaat Software Manufaktur untuk Memaksimalkan Proses Produksi di Pabrik Buku<\/b><\/a><\/p>\n<h2><strong><span id=\"adalah\">Apa Itu Preventive Maintenance?<\/span><\/strong><\/h2>\n<p>Preventive maintenance adalah pemeliharaan rutin untuk menjaga keandalan mesin dan mencegah kegagalan atau downtime. Pemeliharaan preventif harus Anda lihat sebagai pendekatan proaktif yang memperkuat pemeriksaan terjadwal untuk memastikan keandalan aset dan memperpanjang umur aset.<\/p>\n<p>Pemeliharaan preventif atau kegiatan PM terdiri dari inspeksi berkala dan penggantian suku cadang peralatan. Hal ini perusahaan lakukan untuk mempertahankan kondisi operasi perusahaan yang memuaskan melalui inspeksi dan pengamatan sistem untuk mendeteksi dan memperbaiki malfungsi sebelum terjadi kegagalan total.<\/p>\n<h2><strong><span id=\"penting\">Mengapa Preventive Maintenance Penting?<\/span><\/strong><\/h2>\n<p>Memahami urgensi preventive maintenance adalah langkah awal untuk melihat dampak besarnya pada operasional bisnis. Berikut beberapa alasan mengapa perusahaan perlu menerapkannya:<\/p>\n<h3 id=\"1\"><b>1. Mencegah perbaikan lebih besar<\/b><\/h3>\n<p>Menunda perbaikan kecil dapat berubah menjadi kerusakan besar yang jauh lebih mahal, terutama ketika masalah terus memburuk seiring waktu. Kegagalan mendadak juga sering menimbulkan biaya tambahan, seperti pengiriman suku cadang, lembur teknisi, hingga potensi penundaan produksi.<\/p>\n<p>Dengan merencanakan pemeliharaan jangka panjang dan mencatat setiap aktivitas dalam laporan maintenance mesin, perusahaan dapat mencegah kerusakan besar sekaligus menghemat biaya. Berikut adalah template <span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/laporan-maintenance-mesin\/\">contoh laporan maintenance mesin<\/a><\/span> yang dapat dijadikan acuan.<\/p>\n<h3 id=\"2\"><b>2. Menjamin keamanan operasional<\/b><\/h3>\n<p>Bila peralatan tidak berfungsi optimal, kondisi kerja berbahaya dapat muncul dan membahayakan pekerja. Misalnya, selang aus yang gagal saat memompa zat berbahaya bisa menimbulkan cedera serius, menghentikan produksi, hingga memicu tuntutan hukum akibat kelalaian.<\/p>\n<h3 id=\"3\"><b>3. Meningkatkan efisiensi kerja mesin<\/b><\/h3>\n<p>Pemeliharaan rutin seperti inspeksi, penggantian oli, dan penggantian suku cadang membantu menjaga peralatan tetap efisien. Meski penurunan kinerja sering tidak disadari, jadwal preventive maintenance yang tepat dapat mencegah banyak kerusakan sekaligus menghemat bahan bakar dan energi.<\/p>\n<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-penggunaan-fitur-aplikasi-akuntansi-pada-bisnis-perusahaan-manufaktur\/\"><b>Pentingnya Penggunaan Fitur Aplikasi Akuntansi pada Bisnis Perusahaan Manufaktur<\/b><\/a><\/p>\n<h3 id=\"4\"><b>4. Meminimalisir downtime<\/b><\/h3>\n<p>Proses preventive maintenance memang membutuhkan downtime, tetapi program ini membantu menguranginya dan mempercepat penanganan masalah. Karena tim sudah memahami kondisi aset dan suku cadang yang dibutuhkan, mereka dapat menyelesaikan kendala lebih cepat tanpa harus menghabiskan waktu mencari sumber masalah.<\/p>\n<p><span style=\"font-weight: 400;\"><style>\r\n.cta-in-article-image .desktop-banner{\r\n    display: none;\r\n    text-align: center;\r\n}\r\n.cta-in-article-image .desktop-mobile{\r\n    display: block;\r\n    text-align: center;\r\n    width: 100%;\r\n}\r\n\t.cta-in-article a {\r\n\t\tfont-size: 0px !important;\r\n\t\tcolor: #fff; \r\n\t\tpadding: 0px !important; \r\n\t\tborder-radius: 0px !important; \r\n\t\tdisplay: block !important; \r\n\t\ttext-decoration: none; \r\n\t}\r\n\t\r\n\t.cta-in-article {\r\n\t\tmargin: 0px !important;\r\n\t\tpadding: 0px !important;\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t\r\n@media (min-width: 650px) {\r\n    .cta-in-article-image .desktop-banner {\r\n        display: block!important;\r\n    }\r\n}\r\n@media (min-width: 650px) {\r\n   .cta-in-article-image .desktop-mobile {\r\n        display: none!important;\r\n    }\r\n}\r\n<\/style>\r\n<div class=\"cta-in-article-image\">\r\n\t<a href=\"https:\/\/www.hashmicro.com\/id\/offer\/download-skema-harga-software-erp?blog&utm_source=blog&medium=banner-article\" target=\"_blank\" rel=\"noopener\">\r\n\t\t<div id=\"desktop-banner-container\">\r\n\t\t\t<div class=\"desktop-banner\">\r\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/02.Skema-Harga-web-resized.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div id=\"mobile-banner-container\">\r\n\t\t\t<div class=\"desktop-mobile\">\r\n\t\t\t\t<img decoding=\"async\" width=\"372\" height=\"465\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/02.-Skema-Harga-Mobile-372px.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/a>\r\n<\/div><\/span><\/p>\n<h3 id=\"5\"><b>5. Membuat mesin lebih awet<\/b><\/h3>\n<p>Pemeliharaan bertujuan mengoptimalkan masa pakai sistem. Inspeksi dan pembersihan berkala membantu menjaga produktivitas aset, mencegah biaya perbaikan besar, dan memperpanjang umur mesin yang tidak murah. Mengabaikan perawatan dapat mempercepat kerusakan dan menurunkan nilai manfaat aset.<\/p>\n<p>Karena preventive maintenance meningkatkan efisiensi, keselamatan, dan kualitas hasil produksi, <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/wewenang-dan-tugas-supervisor-operasional-dalam-perusahaan\/\"><span style=\"font-weight: 400;\">supervisor <\/span><\/a>perlu menjadwalkan tugas perawatan secara rutin serta mencatat seluruh inspeksi dan perbaikan. Dengan mesin yang terawat, kinerja pabrik dan kualitas produk pun tetap optimal.<\/p>\n<h3 id=\"6\"><b>6. Mengurangi penggunaan energi berlebih<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Pemeliharaan preventif menurunkan biaya energi karena peralatan yang perusahaan rawat dengan baik biasanya membutuhkan lebih sedikit listrik atau bahan bakar untuk beroperasi. Pengurangan biaya energi ini dapat perusahaan gunakan sebagai sarana untuk menghemat anggaran.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Dengan ini biaya yang tadinya perusahaan siapkan untuk keperluan pemeliharaan dapat perusahaan gunakan untuk suatu kegiatan yang memiliki urgensi lebih. preventive maintenance<\/span><i><span style=\"font-weight: 400;\">\u00a0<\/span><\/i><span style=\"font-weight: 400;\">adalah metode yang wajib perusahaan terapkan agar dapat bersaing pada era ini.<\/span><\/p>\n<h3 id=\"7\"><b>7. Mengoptimalkan tingkat produktivitas<\/b><\/h3>\n<p>Metode pemeliharaan ini dapat menekan waktu henti mesin dan pabrik, sehingga produktivitas dan ketersediaan peralatan tetap terjaga. Meski investasi pada strategi pemeliharaan proaktif tampak seperti biaya besar, perusahaan harus memandangnya sebagai langkah efisien yang memberi keuntungan jangka panjang.<\/p>\n<p><span style=\"font-weight: 400;\">Karena hal ini akan meningkatkan stabilitas dan efisiensi dalam jangka panjang. Pengoptimalan tingkat produktivitas akan membantu mengembangkan perusahaan lebih cepat dan mendapatkan keuntungan lebih banyak lagi.\u00a0<\/span><\/p>\n<h3 id=\"8\"><b>8. Mengurangi risiko mati mesin mendadak<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Alasan terakhir mengapa Anda perlu menerapkan preventive maintenance dalam perusahaan adalah pengurangan <\/span><span style=\"font-weight: 400;\">risiko<\/span><span style=\"font-weight: 400;\"> mati mesin mendadak. Pemeliharaan preventif mengurangi risiko perbaikan yang tidak perlu dan menciptakan sistem untuk menggunakan alat yang tepat untuk pekerjaan yang tepat.<\/span><\/p>\n<p>Jika mesin mendadak mati saat produksi berlangsung, perusahaan akan dirugikan karena proses terhenti dan permintaan tidak terpenuhi. Kondisi ini langsung memengaruhi laba yang seharusnya dapat diperoleh.<\/p>\n<p>Selain itu, dalam pemeliharaan preventif, diperlukan adanya <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/laporan-maintenance-mesin\/\">form maintenance report<\/a> untuk mencatat hasil inspeksi, tindakan perbaikan yang telah dilakukan, dan kondisi peralatan setelah pemeliharaan. Hal ini penting untuk memantau efektivitas pemeliharaan dan memudahkan evaluasi kinerja peralatan.<\/p>\n<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/proses-manufaktur\/\"><b>Tips Optimalkan Proses Manufaktur dalam Bisnis Anda<\/b><\/a><\/p>\n<h2><strong> Jenis-jenis Preventive Maintenance<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-176736\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance.webp\" alt=\"Jenis-jenis Preventive Maintenance\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Jenis-jenis-Preventive-Maintenance-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/>Untuk memahami bagaimana strategi pemeliharaan dapat diterapkan secara efektif, berikut berbagai jenis preventive maintenance yang umum digunakan perusahaan:<\/p>\n<h3><strong>1. Predictive Maintenance (PdM)<\/strong><\/h3>\n<p>Metode ini memakai data historis, sensor, dan analitik untuk memperkirakan kapan potensi kerusakan akan muncul. Dengan prediksi tersebut, perusahaan dapat menjadwalkan perawatan pada waktu paling tepat dan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/downtime-mesin-dan-penanganannya\/\">menghindari downtime mendadak<\/a>.<\/p>\n<h3><strong>2. Prescriptive Maintenance (RxM)<\/strong><\/h3>\n<p>RxM tidak hanya memprediksi kerusakan, tetapi juga memberikan rekomendasi tindakan terbaik berdasarkan analitik lanjutan. Dengan pendekatan ini, perusahaan bisa mengambil keputusan perawatan yang lebih akurat untuk memaksimalkan kinerja aset.<\/p>\n<h3><strong>3. Condition-Based Maintenance (CBM)<\/strong><\/h3>\n<p>CBM mengandalkan pemantauan kondisi aktual peralatan melalui sensor atau inspeksi berkala. Ketika indikator menunjukkan potensi masalah, tindakan pemeliharaan segera dilakukan untuk mencegah kerusakan yang lebih serius.<\/p>\n<h3><strong>4. Usage-Based Maintenance (UBM)<\/strong><\/h3>\n<p>Penjadwalan perawatan didasarkan pada tingkat penggunaan aset, seperti jumlah jam operasi atau siklus kerja tertentu. Cara ini efektif untuk peralatan yang memikul beban berat dan cepat mengalami keausan.<\/p>\n<h3><strong>5. Time-Based Maintenance (TBM)<\/strong><\/h3>\n<p>Pemeliharaan dilakukan pada interval waktu yang sudah ditentukan, misalnya mingguan atau bulanan. Tujuannya menjaga performa peralatan tetap stabil sebelum terjadi penurunan fungsi.<\/p>\n<h2><strong>Apa Saja Kegiatan dalam Preventive Maintenance?<\/strong><\/h2>\n<p>Untuk memastikan program preventive maintenance berjalan efektif, ada sejumlah aktivitas utama yang perlu Anda lakukan secara konsisten:<\/p>\n<h3><strong>1. Pengecekan berkala<\/strong><\/h3>\n<p>Untuk memastikan kondisi aset selalu terpantau, berikut beberapa aktivitas inspeksi yang biasa dilakukan:<\/p>\n<ul>\n<li>Pemeriksaan visual untuk mendeteksi keausan atau kerusakan.<\/li>\n<li>Mengecek fungsi komponen untuk memastikan semuanya bekerja normal.<\/li>\n<li>Mengidentifikasi potensi masalah sebelum berkembang menjadi kerusakan besar.<\/li>\n<\/ul>\n<h3><strong>2. Pembersihan peralatan<\/strong><\/h3>\n<p>Agar mesin tetap bekerja optimal, kegiatan pembersihan biasanya mencakup:<\/p>\n<ul>\n<li>Menghilangkan debu, kotoran, atau residu yang menumpuk.<\/li>\n<li>Membersihkan filter agar aliran udara atau cairan tetap lancar.<\/li>\n<li>Menjaga area kerja mesin tetap higienis dan bebas hambatan.<\/li>\n<\/ul>\n<h3><strong>3. Pelumasan komponen<\/strong><\/h3>\n<p>Supaya pergerakan komponen tetap halus dan tidak cepat aus, biasanya dilakukan:<\/p>\n<ul>\n<li>Memberikan pelumas pada bagian yang mengalami gesekan.<\/li>\n<li>Memastikan kualitas pelumas masih layak pakai.<\/li>\n<li>Mengatur frekuensi pelumasan sesuai rekomendasi pabrikan.<\/li>\n<\/ul>\n<h3><strong>4. Penggantian suku cadang<\/strong><\/h3>\n<p>Saat komponen mulai menunjukkan tanda penurunan fungsi, langkah berikut umumnya dilakukan:<\/p>\n<ul>\n<li>Mengganti bagian yang aus sebelum benar-benar rusak.<\/li>\n<li>Memasang suku cadang baru sesuai spesifikasi mesin.<\/li>\n<li>Menghindari kerusakan lanjutan akibat komponen yang tidak prima.<\/li>\n<\/ul>\n<h3><strong>5. Kalibrasi peralatan<\/strong><\/h3>\n<p>Untuk menjaga akurasi kerja mesin, kegiatan kalibrasi penting dilakukan, seperti:<\/p>\n<ul>\n<li>Mengatur ulang alat ukur agar hasilnya tetap presisi.<\/li>\n<li>Menyesuaikan parameter mesin sesuai standar operasional.<\/li>\n<li>Memastikan kualitas output tetap konsisten.<\/li>\n<\/ul>\n<h3><strong>6. Pencatatan dan pelaporan<\/strong><\/h3>\n<p>Agar setiap aktivitas tercatat rapi dan mudah ditelusuri, biasanya dilakukan:<\/p>\n<ul>\n<li>Mendokumentasikan hasil inspeksi dan tindakan perbaikan.<\/li>\n<li>Menyimpan riwayat pemeliharaan untuk analisis ke depan.<\/li>\n<li>Memudahkan supervisor melakukan evaluasi kondisi aset.<\/li>\n<\/ul>\n<h2><strong>Panduan Melakukan Preventive Maintenance<\/strong><\/h2>\n<p>Untuk menerapkan preventive maintenance secara optimal, perusahaan perlu mengikuti langkah-langkah terstruktur agar setiap aktivitas perawatan berjalan tepat sasaran.<\/p>\n<h3><strong>1. Tentukan aset yang menjadi prioritas<\/strong><\/h3>\n<p>Langkah awal melibatkan pemetaan aset yang paling kritis bagi operasional, baik dari sisi nilai maupun pengaruhnya terhadap produksi. Dengan mengetahui aset prioritas, perusahaan dapat menetapkan fokus pemeliharaan pada mesin yang memiliki dampak terbesar.<\/p>\n<h3><strong>2. Buat jadwal pemeliharaan yang terukur<\/strong><\/h3>\n<p>Penjadwalan dilakukan berdasarkan rekomendasi pabrikan, tingkat penggunaan, serta kondisi aset. Rencana waktu yang jelas membantu memastikan setiap peralatan mendapatkan perhatian tepat sebelum muncul tanda-tanda penurunan performa.<\/p>\n<h3><strong>3. Gunakan SOP sebagai standar pelaksanaan<\/strong><\/h3>\n<p>Dokumentasi prosedur menjadi acuan agar teknisi memahami langkah pemeliharaan yang harus dilakukan. SOP juga memastikan konsistensi tindakan sehingga hasil perawatan lebih stabil dari waktu ke waktu.<\/p>\n<h3><strong>4. Siapkan suku cadang dan alat pendukung<\/strong><\/h3>\n<p>Ketersediaan spare part dan alat kerja mempengaruhi kecepatan serta kualitas perawatan. Dengan persiapan yang memadai, proses pemeliharaan berjalan lebih lancar tanpa menunggu pengadaan komponen.<\/p>\n<h3><strong>5. Libatkan tim yang kompeten<\/strong><\/h3>\n<p>Tenaga teknis yang memahami karakter mesin mampu mendeteksi potensi masalah lebih cepat. Keahlian mereka memastikan tindakan perawatan dilakukan secara tepat, aman, dan sesuai standar.<\/p>\n<h3><strong>6. Catat semua aktivitas pemeliharaan<\/strong><\/h3>\n<p>Pencatatan berfungsi sebagai rekam jejak yang memudahkan evaluasi, analisis tren kerusakan, dan perencanaan perawatan berikutnya. Riwayat pemeliharaan juga membantu perusahaan mengambil keputusan berbasis data terkait kelayakan aset.<\/p>\n<h2><strong>Tips Mengefisiensikan Preventive Maintenance<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-176738\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance.webp\" alt=\"Tips Mengefisiensikan Preventive Maintenance\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/01\/Tips-Mengefisiensikan-Preventive-Maintenance-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/>Agar preventive maintenance memberikan hasil terbaik dengan penggunaan sumber daya yang optimal, perusahaan perlu menerapkan sejumlah strategi yang lebih terarah dan mudah dieksekusi:<\/p>\n<h3><strong>1. Manfaatkan data historis peralatan<\/strong><\/h3>\n<p>Informasi masa lalu mengenai kerusakan, frekuensi pemakaian, hingga pola downtime membantu perusahaan memprediksi kebutuhan perawatan secara lebih akurat. Dengan pemahaman tersebut, rencana pemeliharaan dapat dibuat lebih efisien dan tepat sasaran.<\/p>\n<h3><strong>2. Gunakan teknologi sensor dan monitoring<\/strong><\/h3>\n<p>Sensor real-time memungkinkan tim mengetahui kondisi mesin tanpa menunggu gejala kerusakan muncul. Pemantauan berkelanjutan ini memberikan peringatan dini sehingga tindakan perawatan dapat dilakukan sebelum masalah berkembang.<\/p>\n<h3><strong>3. Optimalkan penggunaan software maintenance<\/strong><\/h3>\n<p>Platform pemeliharaan membantu mengatur jadwal, mencatat riwayat perawatan, dan mengelola inventaris suku cadang dalam satu sistem. Efektivitas kerja meningkat karena setiap aktivitas lebih terorganisasi dan transparan.<\/p>\n<h3><strong>4. Latih tim secara konsisten<\/strong><\/h3>\n<p>Pengetahuan teknisi mengenai prosedur pemeliharaan dan karakter mesin sangat memengaruhi hasil perawatan. Pelatihan reguler memastikan mereka selalu siap menghadapi situasi baru dan mampu mengambil tindakan yang tepat.<\/p>\n<h3><strong>5. Standardisasi proses dengan checklist<\/strong><\/h3>\n<p>Checklist memberikan arahan jelas mengenai apa saja yang harus dilakukan pada setiap sesi pemeliharaan. Keberadaan daftar ini membantu mengurangi kesalahan sekaligus memastikan semua langkah penting terlaksana.<\/p>\n<h3><strong>6. Evaluasi hasil pemeliharaan secara berkala<\/strong><\/h3>\n<p>Tinjauan rutin atas hasil perawatan membantu perusahaan menemukan area yang masih kurang efisien. Evaluasi ini dapat digunakan untuk menyempurnakan strategi pemeliharaan dan meningkatkan performa aset dari waktu ke waktu.<\/p>\n<h2 id=\"9\"><b>Kesimpulan\u00a0<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Pemeliharaan adalah proses penting yang memiliki banyak manfaat bagi perusahaan. Selain kondisi properti yang baik, biaya perbaikan juga dapat perusahaan hemat. Pemeliharaan properti juga mencegah kerusakan mendadak yang mempengaruhi produktivitas perusahaan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Perusahaan yang menerapkan preventive maintenance<\/span><i><span style=\"font-weight: 400;\">\u00a0<\/span><\/i><span style=\"font-weight: 400;\">dapat mempermudah pengelolaan peralatan yang perusahaan miliki. Bahkan dengan metode tersebut perusahaan dapat menghemat anggaran yang perusahaan miliki.<\/span><\/p>\n<p>Untuk hasil pemeliharaan yang maksimal, perusahaan dapat memanfaatkan <a href=\"https:\/\/www.hashmicro.com\/id\/smart-asset-solution\">Smart Asset Solution dari HashMicro<\/a> yang menyediakan informasi aset secara menyeluruh dan integrasi yang mudah. Sistem ini juga membantu dalam kalkulasi ROI dan pemantauan penurunan nilai aset. Daftar sekarang dan dapatkan <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\"><span style=\"font-weight: 400;\">demo gratisnya<\/span><\/a>!<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/id\/smart-asset-solution?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/07-Asset-Management-Web.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/07-Asset-Management-Web.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/07-Asset-Management-Mobile.webp\" alt=\"AssetManagement\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2><strong>Pertanyaan Seputar Preventive Maintenance<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa yang termasuk dalam preventive maintenance?<br \/>\n<\/strong><\/summary>\n<p>Preventive maintenance mencakup berbagai kegiatan pemeliharaan terjadwal, seperti pengecekan kondisi aset, pembersihan, pelumasan, penggantian suku cadang, kalibrasi, hingga pencatatan aktivitas perawatan. Semua langkah ini bertujuan menjaga mesin tetap optimal dan mencegah kerusakan sebelum terjadi.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa saja empat jenis preventive maintenance?<\/strong><\/summary>\n<p>Empat jenis utama preventive maintenance adalah Time-Based Maintenance (TBM), Usage-Based Maintenance (UBM), Condition-Based Maintenance (CBM), dan Predictive Maintenance (PdM). Masing-masing memiliki pendekatan berbeda berdasarkan waktu, penggunaan, kondisi aktual, atau prediksi kerusakan.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa itu PM dan CM dalam maintenance?<\/strong><\/summary>\n<p>PM (Preventive Maintenance) adalah pemeliharaan yang dilakukan secara rutin untuk mencegah kerusakan pada peralatan. Sedangkan CM (Corrective Maintenance) adalah pemeliharaan yang dilakukan setelah kerusakan terjadi, dengan tujuan memperbaiki atau mengembalikan fungsi aset seperti semula.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Apa yang termasuk dalam preventive maintenance?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Preventive maintenance mencakup berbagai kegiatan pemeliharaan terjadwal, seperti pengecekan kondisi aset, pembersihan, pelumasan, penggantian suku cadang, kalibrasi, hingga pencatatan aktivitas perawatan. Semua langkah ini bertujuan menjaga mesin tetap optimal dan mencegah kerusakan sebelum terjadi.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa saja empat jenis preventive maintenance?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Empat jenis utama preventive maintenance adalah Time-Based Maintenance (TBM), Usage-Based Maintenance (UBM), Condition-Based Maintenance (CBM), dan Predictive Maintenance (PdM). Masing-masing memiliki pendekatan berbeda berdasarkan waktu, penggunaan, kondisi aktual, atau prediksi kerusakan.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa itu PM dan CM dalam maintenance?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"PM (Preventive Maintenance) adalah pemeliharaan yang dilakukan secara rutin untuk mencegah kerusakan pada peralatan. Sedangkan CM (Corrective Maintenance) adalah pemeliharaan yang dilakukan setelah kerusakan terjadi, dengan tujuan memperbaiki atau mengembalikan fungsi aset seperti semula.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Preventive maintenance merupakan pendekatan pemeliharaan proaktif yang menjaga peralatan tetap berfungsi optimal sebelum kerusakan muncul. Tanpa strategi ini, perusahaan berisiko mengalami downtime, biaya perbaikan besar, serta gangguan operasional yang merugikan. Dalam dunia industri yang semakin kompetitif, menjaga keandalan aset menjadi kebutuhan penting bagi kelancaran operasional, termasuk melalui aplikasi manajemen aset. Perawatan terencana membantu perusahaan mempertahankan [&hellip;]<\/p>\n","protected":false},"author":161,"featured_media":138143,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[581],"tags":[],"class_list":{"0":"post-52373","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-asset-fleet"},"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>Preventive Maintenance: Apa Itu, Jenis, dan Panduannya<\/title>\n<meta name=\"description\" content=\"Preventive maintenance adalah pemeliharaan rutin yang memastikan keandalan pabrik dan menghindari kemungkinan kegagalan peralatan &amp; downtime.\u00a0\" \/>\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\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya\" \/>\n<meta property=\"og:description\" content=\"Preventive maintenance adalah pemeliharaan rutin yang memastikan keandalan pabrik dan menghindari kemungkinan kegagalan peralatan &amp; downtime.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/\" \/>\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-01-09T03:50:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-12T03:55:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"11 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/\",\"name\":\"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png\",\"datePublished\":\"2024-01-09T03:50:51+00:00\",\"dateModified\":\"2026-03-12T03:55:27+00:00\",\"description\":\"Preventive maintenance adalah pemeliharaan rutin yang memastikan keandalan pabrik dan menghindari kemungkinan kegagalan peralatan & downtime.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png\",\"width\":1200,\"height\":650,\"caption\":\"8 alasan preventif maintenance perlu dilakukan oleh setiap perusahaan manufaktur\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"name\":\"HashMicro Indonesia\",\"description\":\"Blog Software Manajemen Bisnis Indonesia #1\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\",\"name\":\"HashMicro Indonesia\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"width\":924,\"height\":121,\"caption\":\"HashMicro Indonesia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/hashmicro\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya","description":"Preventive maintenance adalah pemeliharaan rutin yang memastikan keandalan pabrik dan menghindari kemungkinan kegagalan peralatan & downtime.\u00a0","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\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/","og_locale":"id_ID","og_type":"article","og_title":"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya","og_description":"Preventive maintenance adalah pemeliharaan rutin yang memastikan keandalan pabrik dan menghindari kemungkinan kegagalan peralatan & downtime.\u00a0","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-01-09T03:50:51+00:00","article_modified_time":"2026-03-12T03:55:27+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png","type":"image\/png"}],"author":"Jonathan Kurniawan","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Jonathan Kurniawan","Estimasi waktu membaca":"11 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/","name":"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png","datePublished":"2024-01-09T03:50:51+00:00","dateModified":"2026-03-12T03:55:27+00:00","description":"Preventive maintenance adalah pemeliharaan rutin yang memastikan keandalan pabrik dan menghindari kemungkinan kegagalan peralatan & downtime.\u00a0","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/12\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur.png","width":1200,"height":650,"caption":"8 alasan preventif maintenance perlu dilakukan oleh setiap perusahaan manufaktur"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/8-alasan-preventif-maintenance-perlu-dilakukan-oleh-setiap-perusahaan-manufaktur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Preventive Maintenance: Apa Itu, Jenis, dan Panduannya"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website","url":"https:\/\/www.hashmicro.com\/id\/blog\/","name":"HashMicro Indonesia","description":"Blog Software Manajemen Bisnis Indonesia #1","publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization","name":"HashMicro Indonesia","url":"https:\/\/www.hashmicro.com\/id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","width":924,"height":121,"caption":"HashMicro Indonesia"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hashmicro","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]}]}},"focus_keyword":"preventive maintenance","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/52373","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=52373"}],"version-history":[{"count":10,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/52373\/revisions"}],"predecessor-version":[{"id":190799,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/52373\/revisions\/190799"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/138143"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=52373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=52373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=52373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}