{"id":132779,"date":"2024-02-25T11:12:20","date_gmt":"2024-02-25T04:12:20","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=132779"},"modified":"2026-01-21T11:42:39","modified_gmt":"2026-01-21T04:42:39","slug":"mean-time-between-failures-mtbf","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/","title":{"rendered":"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung"},"content":{"rendered":"<p>Mean Time Between Failures (MTBF) sering jadi angka yang paling cepat menunjukkan \u201ckondisi kesehatan\u201d sebuah mesin atau sistem. Dalam satu metrik, tim bisa melihat rata-rata jarak waktu operasi antara satu failure dan failure berikutnya pada aset yang bisa diperbaiki.<\/p>\n<p>Cara menghitungnya cukup sederhana, yaitu waktu operasi efektif dibagi jumlah failure pada periode yang sama. Setelah itu, MTBF biasanya dibaca sebagai tren dan dipasangkan dengan Mean Time to Repair (MTTR) agar keputusan pemeliharaan lebih tepat dan konsisten.<\/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>Mean Time Between Failures (MTBF) menunjukkan rata-rata jeda waktu operasi antara dua failure pada aset repairable.<\/li>\n<li>MTBF dihitung dari waktu operasi efektif dibagi jumlah failure dalam periode yang sama.<\/li>\n<li>Definisi failure dan scope sistem harus konsisten agar angka MTBF tidak bias.<\/li>\n<li>Baca mean time between failures sebagai tren dan pasangkan dengan Mean Time to Repair (MTTR) untuk keputusan maintenance.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:513,&quot;3&quot;:{&quot;1&quot;:0},&quot;12&quot;:0}\"><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/p>\n<h2><strong>MTBF Mengukur Apa?<\/strong><\/h2>\n<p>Mean Time Between Failures (MTBF) menunjukkan rata-rata jarak waktu antara satu kejadian gagal dan kejadian gagal berikutnya saat alat benar-benar dipakai. MTBF menjawab pertanyaan, &#8220;dalam pola operasional normal, rata-rata berapa jam alat bisa jalan sebelum gangguan yang menghambat kerja muncul lagi?&#8221;<\/p>\n<p>Katakanlah sebuah mesin berjalan 2.000 jam dalam 3 bulan dan mengalami 10 kali gangguan yang menghentikan proses. Mean Time Between Failures (MTBF) = 2.000 \/ 10 = 200 jam.<\/p>\n<p>Artinya, tiap sekitar 200 jam operasi, mesin tersebut cenderung mengalami satu gangguan yang perlu ditangani.<\/p>\n<p>Angka ini cocok dipakai untuk membaca pola frekuensi gangguan. Jika Mean Time Between Failures (MTBF) bulan ini 200 jam lalu bulan depan turun jadi 120 jam, berarti gangguan terjadi lebih sering dan ada yang perlu ditelusuri.<\/p>\n<p>Sedangkan ketika Mean Time Between Failures (MTBF) naik, itu berarti sinyal gangguan makin jarang. Lalu tim bisa mengecek praktik pemeliharaan mana yang paling berpengaruh.<\/p>\n<h2><strong>Definisi Failure Dan Scope Sistem<\/strong><\/h2>\n<p>Mean Time Between Failures (MTBF) bisa menyesatkan kalau perusahaan belum sepakat tentang dua hal. Pertama, failure itu apa dan kedua, sistem yang dihitung itu yang mana.<\/p>\n<h3><strong>Definisi failure\u00a0<\/strong><\/h3>\n<p>Pilih definisi yang bisa dipakai semua tim secara konsisten. Contoh yang umum dipakai merupakan:<\/p>\n<p>Stop produksi: mesin berhenti dan output tidak bisa jalan.<\/p>\n<ul>\n<li><strong>Gangguan wajib tindakan:<\/strong> perlu reset, restart, ganti part, atau panggil teknisi supaya normal lagi.<\/li>\n<li><strong>Turun performa melewati batas:<\/strong> misalnya reject rate melewati ambang, kecepatan turun jauh, atau suhu\/getaran melewati limit sehingga proses harus dihentikan.<\/li>\n<\/ul>\n<p>Untuk IT, failure bisa disepakati sebagai:<\/p>\n<ul>\n<li>Service down (aplikasi tidak bisa dipakai), atau<\/li>\n<li>Insiden besar (misalnya transaksi gagal massal), atau<\/li>\n<li>Pelanggaran SLA (latency di atas batas selama durasi tertentu).<\/li>\n<\/ul>\n<p>Definisinya harus cukup jelas sampai orang yang berbeda tetap mencatat kejadian yang sama dengan cara yang sama.<\/p>\n<h3><strong>Scope sistem\u00a0<\/strong><\/h3>\n<p>Tentukan batas yang dihitung sejak awal, misalnya:<\/p>\n<ul>\n<li>MTBF Mesin Filling A, atau<\/li>\n<li>MTBF Line Produksi Minuman, atau<\/li>\n<li>MTBF Sistem Order-to-Delivery.<\/li>\n<\/ul>\n<p>Kalau scope terlalu lebar, satu failure kecil di satu komponen bisa dianggap failure sistem besar dan membuat angkanya sulit ditafsirkan.<\/p>\n<p>Biasanya, langkah paling cepat adalah mulai dari aset kritis. Alat yang paling sering menghentikan kerja atau yang downtime-nya paling mahal.<\/p>\n<h3><strong>Checklist data minimal\u00a0<\/strong><\/h3>\n<p>Setiap kejadian failure dan MTBF idealnya punya:<\/p>\n<ul>\n<li>Nama aset + lokasi\/line<\/li>\n<li>Waktu mulai gangguan<\/li>\n<li>Waktu kembali normal<\/li>\n<li>Kode gangguan singkat (misal belt putus, sensor error, overheat)<\/li>\n<li>Catatan singkat tindakan (reset\/ganti part\/kalibrasi)<\/li>\n<\/ul>\n<h2><strong>Rumus MTBF Dan Waktu Operasi Efektif<\/strong><\/h2>\n<p>Rumus MTBF yaitu:<\/p>\n<div style=\"max-width: 780px; margin: 18px 0; padding: 16px 18px; border: 1px solid #e5e7eb; border-left: 6px solid #990000; border-radius: 12px; background: #ffffff; font-family: Arial, sans-serif; line-height: 1.5;\">\n<div style=\"font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #6b7280; margin-bottom: 6px;\">Rumus MTBF<\/div>\n<div style=\"font-size: 16px; color: #111827; font-weight: bold; margin-bottom: 12px;\">Mean Time Between Failures (MTBF)<\/div>\n<div style=\"overflow-x: auto;\">\n<table style=\"width: 100%; border-collapse: separate; border-spacing: 0; min-width: 640px;\">\n<tbody>\n<tr>\n<td style=\"width: 42%; padding: 14px 12px; border: 1px solid #e5e7eb; border-right: none; border-radius: 10px 0 0 10px; background: #f9fafb; color: #111827; font-weight: bold;\">Mean Time Between Failures (MTBF)<\/td>\n<td style=\"width: 8%; padding: 14px 12px; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; background: #ffffff; color: #111827; font-weight: bold; text-align: center;\">=<\/td>\n<td style=\"width: 50%; padding: 14px 12px; border: 1px solid #e5e7eb; border-left: none; border-radius: 0 10px 10px 0; background: #ffffff; color: #111827;\"><span style=\"display: inline-block; padding: 4px 8px; border-radius: 999px; background: #fff7f7; border: 1px solid #ffd5d5; color: #7f1d1d; font-weight: bold;\"><br \/>\nTotal Waktu Operasi Efektif<br \/>\n<\/span><br \/>\n<span style=\"display: inline-block; margin: 0 8px; color: #9ca3af; font-weight: bold;\">\u00f7<\/span><br \/>\n<span style=\"display: inline-block; padding: 4px 8px; border-radius: 999px; background: #f3f4f6; border: 1px solid #e5e7eb; color: #111827; font-weight: bold;\"><br \/>\nJumlah Failure<br \/>\n<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"margin-top: 12px; font-size: 13px; color: #6b7280;\"><span style=\"font-weight: bold; color: #111827;\">Catatan:<\/span><br \/>\nGunakan <span style=\"font-weight: bold; color: #111827;\">waktu operasi efektif<\/span> (jam alat benar-benar berjalan), bukan jam kalender.<\/div>\n<\/div>\n<p>Waktu operasi efektif berarti <strong>jam alat benar-benar berjalan untuk menghasilkan output<\/strong>, sesuai scope yang sudah ditetapkan. Kalau perusahaan memakai jam kalender tanpa memilah, angka MTBF bisa jadi terlalu tinggi atau terlalu rendah.<\/p>\n<p>Agar gampang dipakai, tim operasional biasanya membedakan tiga jenis waktu:<\/p>\n<ul>\n<li><strong>Waktu operasi efektif:<\/strong> alat berjalan dan dipakai produksi\/layanan.<\/li>\n<li><strong>Planned downtime:<\/strong> berhenti karena jadwal (maintenance terencana, libur produksi, setup terjadwal).<\/li>\n<li><strong>Unplanned downtime:<\/strong> berhenti karena failure (yang Anda hitung sebagai jumlah failure dan juga memengaruhi waktu operasi efektif).<\/li>\n<\/ul>\n<p>Cara menentukan waktu operasi efektif (praktis):<\/p>\n<ul>\n<li>Tentukan periode (misalnya 1 bulan).<\/li>\n<li>Ambil total jam jadwal operasi pada periode itu (misalnya 8 jam\/hari \u00d7 26 hari kerja).<\/li>\n<li>Kurangi planned downtime yang memang sudah dijadwalkan (misalnya shutdown terencana 10 jam).<\/li>\n<li>Hasilnya menjadi waktu operasi efektif yang dipakai dalam rumus MTBF.<\/li>\n<\/ul>\n<p>Supaya konsisten, tuliskan aturan sederhana di awal. Apakah waktu operasi efektif dihitung dari jadwal operasi atau jam mesin benar-benar running dari counter\/sensor. Kalau punya hour meter\/PLC log, biasanya hasilnya lebih akurat.<\/p>\n<h2><strong>Contoh Hitung MTBF Di Lapangan<\/strong><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-186518\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf.png\" alt=\"dashboard tentang mean time between failure log\" width=\"1261\" height=\"604\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf.png 1261w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-300x144.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-1024x490.png 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-768x368.png 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-877x420.png 877w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-150x72.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-696x333.png 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf-1068x512.png 1068w\" sizes=\"auto, (max-width: 1261px) 100vw, 1261px\" \/><\/a><\/p>\n<p>Berikut contoh menghitung MTBF yang umum terjadi di operasional mesin produksi sehari-hari.<\/p>\n<h3><strong>Mesin Produksi Dengan Planned Downtime<\/strong><\/h3>\n<p>Sebuah mesin berjalan 8 jam per hari, 26 hari kerja dalam sebulan.<\/p>\n<ol>\n<li>Jadwal operasi = 8 \u00d7 26 = 208 jam<\/li>\n<li>Ada planned downtime untuk preventive maintenance terjadwal = 8 jam<\/li>\n<li>Maka waktu operasi efektif = 208 \u2212 8 = 200 jam<\/li>\n<li>Dalam bulan itu terjadi 5 failure (sesuai definisi: mesin stop dan butuh tindakan teknisi)<\/li>\n<\/ol>\n<p>Mean Time Between Failures (MTBF) = 200 \u00f7 5 = 40 jam<br \/>\nArtinya, rata-rata setiap 40 jam operasi efektif, mesin mengalami satu gangguan yang menghambat produksi.<\/p>\n<h3><strong>Sistem IT Dengan Maintenance Terencana<\/strong><\/h3>\n<p>Sebuah aplikasi internal dipakai 24\/7 dalam 30 hari.<\/p>\n<ol>\n<li>Total jam kalender = 30 \u00d7 24 = 720 jam<\/li>\n<li>Ada maintenance terjadwal (planned downtime) = 6 jam<\/li>\n<li>Waktu operasi efektif = 720 \u2212 6 = 714 jam<\/li>\n<li>Dalam periode tersebut terjadi 3 incident yang memenuhi definisi failure (service down dan user tidak bisa transaksi)<\/li>\n<\/ol>\n<p>Mean Time Between Failures (MTBF) = 714 \u00f7 3 = 238 jam<br \/>\nArtinya, rata-rata ada satu gangguan besar setiap \u00b1238 jam operasi efektif.<\/p>\n<h2><strong>MTBF Vs MTTR Vs MTTF<\/strong><\/h2>\n<p>Banyak tim memakai Mean Time Between Failures (MTBF) untuk menilai keandalan, tetapi kesimpulannya sering meleset karena metrik lain ikut tercampur. Supaya interpretasinya tidak salah arah, bagian ini merangkum perbedaan MTBF, <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-to-repair-mttr\/\">Mean Time to Repair<\/a> (MTTR), dan Mean Time to Failure (MTTF).<\/p>\n<div style=\"max-width:860px;margin:18px 0;font-family:Arial, sans-serif;line-height:1.5;\">\n<div style=\"padding:14px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#ffffff;\">\n<div style=\"overflow-x:auto;-webkit-overflow-scrolling:touch;\">\n<table role=\"table\" cellpadding=\"0\" cellspacing=\"0\" style=\"\n        width:100%;\n        min-width:760px;\n        border-collapse:separate !important;\n        border-spacing:0 !important;\n        table-layout:fixed !important;\n        background:#ffffff;\n        margin:0 !important;\n        font-size:14px !important;\n        line-height:1.45 !important;\n        color:#111827 !important;\n      \"><\/p>\n<thead>\n<tr>\n<th scope=\"col\" style=\"\n              text-align:left !important;\n              padding:12px 12px !important;\n              background:#111827 !important;\n              color:#ffffff !important;\n              border:1px solid #111827 !important;\n              border-top-left-radius:10px !important;\n              font-weight:700 !important;\n              font-size:13.5px !important;\n              letter-spacing:.01em !important;\n              vertical-align:middle !important;\n              box-sizing:border-box !important;\n              white-space:nowrap !important;\n            \">Metrik<\/th>\n<th scope=\"col\" style=\"\n              text-align:left !important;\n              padding:12px 12px !important;\n              background:#111827 !important;\n              color:#ffffff !important;\n              border:1px solid #111827 !important;\n              font-weight:700 !important;\n              font-size:13.5px !important;\n              vertical-align:middle !important;\n              box-sizing:border-box !important;\n              white-space:nowrap !important;\n            \">Kepanjangan<\/th>\n<th scope=\"col\" style=\"\n              text-align:left !important;\n              padding:12px 12px !important;\n              background:#111827 !important;\n              color:#ffffff !important;\n              border:1px solid #111827 !important;\n              font-weight:700 !important;\n              font-size:13.5px !important;\n              vertical-align:middle !important;\n              box-sizing:border-box !important;\n              white-space:nowrap !important;\n            \">Mengukur Apa<\/th>\n<th scope=\"col\" style=\"\n              text-align:left !important;\n              padding:12px 12px !important;\n              background:#111827 !important;\n              color:#ffffff !important;\n              border:1px solid #111827 !important;\n              border-top-right-radius:10px !important;\n              font-weight:700 !important;\n              font-size:13.5px !important;\n              vertical-align:middle !important;\n              box-sizing:border-box !important;\n              white-space:nowrap !important;\n            \">Dipakai Saat<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"\n              padding:12px !important;\n              border-left:1px solid #e5e7eb !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n            \"><br \/>\n              <span style=\"\n                display:inline-block !important;\n                padding:4px 10px !important;\n                border-radius:999px !important;\n                background:#f3f4f6 !important;\n                border:1px solid #e5e7eb !important;\n                font-weight:700 !important;\n                color:#111827 !important;\n                font-size:12px !important;\n                line-height:1.2 !important;\n                white-space:nowrap !important;\n              \">MTBF<\/span>\n            <\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Mean Time Between Failures<\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Rata-rata jeda waktu operasi antara satu <span style=\"font-weight:700;\">failure<\/span> dan failure berikutnya pada sistem <span style=\"font-weight:700;\">repairable<\/span>.<\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Saat ingin melihat <span style=\"font-weight:700;\">seberapa sering<\/span> gangguan terjadi dan memantau tren reliabilitas aset.<\/td>\n<\/tr>\n<tr>\n<td style=\"\n              padding:12px !important;\n              border-left:1px solid #e5e7eb !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#f9fafb !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n            \"><br \/>\n              <span style=\"\n                display:inline-block !important;\n                padding:4px 10px !important;\n                border-radius:999px !important;\n                background:#eef2ff !important;\n                border:1px solid #c7d2fe !important;\n                font-weight:700 !important;\n                color:#1e3a8a !important;\n                font-size:12px !important;\n                line-height:1.2 !important;\n                white-space:nowrap !important;\n              \">MTTR<\/span>\n            <\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#f9fafb !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Mean Time to Repair<\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#f9fafb !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Rata-rata waktu yang dibutuhkan untuk <span style=\"font-weight:700;\">memulihkan<\/span> sistem hingga normal setelah failure.<\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#f9fafb !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Saat ingin mengurangi <span style=\"font-weight:700;\">durasi downtime<\/span> dan mempercepat respons perbaikan.<\/td>\n<\/tr>\n<tr>\n<td style=\"\n              padding:12px !important;\n              border-left:1px solid #e5e7eb !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              border-bottom-left-radius:10px !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n            \"><br \/>\n              <span style=\"\n                display:inline-block !important;\n                padding:4px 10px !important;\n                border-radius:999px !important;\n                background:#ecfdf5 !important;\n                border:1px solid #a7f3d0 !important;\n                font-weight:700 !important;\n                color:#065f46 !important;\n                font-size:12px !important;\n                line-height:1.2 !important;\n                white-space:nowrap !important;\n              \">MTTF<\/span>\n            <\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Mean Time to Failure<\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              color:#111827 !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Rata-rata waktu sampai komponen <span style=\"font-weight:700;\">gagal total<\/span> pada item <span style=\"font-weight:700;\">non-repairable<\/span> (umumnya diganti).<\/td>\n<td style=\"\n              padding:12px !important;\n              border-right:1px solid #e5e7eb !important;\n              border-bottom:1px solid #e5e7eb !important;\n              background:#ffffff !important;\n              color:#111827 !important;\n              border-bottom-right-radius:10px !important;\n              vertical-align:top !important;\n              box-sizing:border-box !important;\n              word-break:break-word !important;\n              overflow-wrap:anywhere !important;\n            \">Saat ingin menetapkan <span style=\"font-weight:700;\">umur pakai<\/span> komponen yang langsung diganti, termasuk rencana stok pengganti.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<div style=\"margin-top:10px;font-size:13px;color:#6b7280;line-height:1.45;\">\n      Tip: baca MTBF untuk frekuensi gangguan, MTTR untuk lamanya pemulihan, dan MTTF untuk umur pakai komponen yang diganti.\n    <\/div>\n<\/p><\/div>\n<\/div>\n<h2><strong>Cara Pakai MTBF Tanpa Salah Baca<\/strong><\/h2>\n<p>Anda akan melihat cara membaca MTBF sebagai pola di mana mesin Anda mengalami kegagalan dan apa yang harus dilakukan.<\/p>\n<ol>\n<li><strong>Gunakan MTBF sebagai tren, bukan angka sekali lihat.<\/strong><br \/>\nBandingkan Mean Time Between Failures (MTBF) aset yang sama per minggu\/bulan untuk melihat pola naik-turun yang konsisten.<\/li>\n<li><strong>Selalu kaitkan MTBF ke keputusan yang konkret.<\/strong><br \/>\nMisalnya: aset mana yang harus diprioritaskan inspeksi, komponen mana yang perlu disiapkan spare part, dan proses mana yang perlu diperketat.<\/li>\n<li><strong>Pasangkan MTBF dengan MTTR.<\/strong><br \/>\nMTBF yang tinggi tetap bisa menyulitkan operasional jika Mean Time to Repair (MTTR) panjang dan downtime tiap gangguan besar.<\/li>\n<li><strong>Pisahkan planned downtime dari failure sejak awal.<\/strong><br \/>\nMaintenance terjadwal, libur produksi, dan shutdown terencana sebaiknya dicatat terpisah agar hitungan MTBF tidak bias.<\/li>\n<li><strong>Tetapkan definisi failure yang konsisten untuk semua tim.<\/strong><br \/>\nBuat aturan yang jelas tentang kejadian apa yang dihitung sebagai failure (stop total, intervensi teknisi, pelanggaran SLA) agar data tidak berubah.<\/li>\n<li><strong>Cek kualitas perbaikan, bukan sekadar cepat pulih.<\/strong><br \/>\nJika failure yang sama berulang, MTBF bisa terlihat stabil padahal masalah akar belum selesai; tandai failure berulang dan lakukan analisis akar masalah.<\/li>\n<li><strong>Jangan mengejar angka MTBF dengan mengurangi pencatatan incident.<\/strong><br \/>\nKalau targetnya reliabilitas, indikator lapangan yang ikut membaik biasanya downtime total turun, gangguan berulang menurun, dan output lebih stabil.<\/li>\n<\/ol>\n<h2><strong>Kesimpulan<\/strong><\/h2>\n<p>Mean Time Between Failures (MTBF) membantu perusahaan melihat seberapa sering gangguan terjadi dan aset mana yang paling perlu diprioritaskan. Hasilnya akan akurat jika definisi failure konsisten dan waktu operasi efektif dihitung dengan benar.<\/p>\n<p>Agar tidak salah baca, pantau MTBF sebagai tren dan baca berdampingan dengan Mean Time to Repair (MTTR) serta total downtime. Dengan pencatatan yang rapi, keputusan maintenance jadi lebih cepat, terarah, dan berbasis data.<\/p>\n<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:961,&quot;3&quot;:{&quot;1&quot;:0},&quot;9&quot;:0,&quot;10&quot;:1,&quot;11&quot;:4,&quot;12&quot;:0}\"><a href=\"https:\/\/www.hashmicro.com\/id\/hash-manufacturing-software?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/49-Hash-Manufacturing-Automation-Mobile.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/49-Hash-Manufacturing-Automation-Mobile.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/49-Hash-Manufacturing-Automation-Desktop.webp\" alt=\"HashManufacturingAutomation\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mean Time Between Failures (MTBF) sering jadi angka yang paling cepat menunjukkan \u201ckondisi kesehatan\u201d sebuah mesin atau sistem. Dalam satu metrik, tim bisa melihat rata-rata jarak waktu operasi antara satu failure dan failure berikutnya pada aset yang bisa diperbaiki. Cara menghitungnya cukup sederhana, yaitu waktu operasi efektif dibagi jumlah failure pada periode yang sama. Setelah [&hellip;]<\/p>\n","protected":false},"author":218,"featured_media":186524,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[353],"tags":[],"class_list":{"0":"post-132779","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-manufacturing"},"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>MTBF (Mean Time Between Failures), Rumus dan Panduannya<\/title>\n<meta name=\"description\" content=\"Pelajari definisi mean time between failures MTBF, pentingnya dalam industri, dan bagaimana peningkatannya bisa membuat operasional optimal.\" \/>\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\/mean-time-between-failures-mtbf\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung\" \/>\n<meta property=\"og:description\" content=\"Pelajari definisi mean time between failures MTBF, pentingnya dalam industri, dan bagaimana peningkatannya bisa membuat operasional optimal.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-25T04:12:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-21T04:42:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf_2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1307\" \/>\n\t<meta property=\"og:image:height\" content=\"734\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Reno Wicaksana\" \/>\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=\"Reno Wicaksana\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 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\\\/mean-time-between-failures-mtbf\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/\"},\"author\":{\"name\":\"Reno Wicaksana\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/0d3340f667908102d8894da18f80732e\"},\"headline\":\"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung\",\"datePublished\":\"2024-02-25T04:12:20+00:00\",\"dateModified\":\"2026-01-21T04:42:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/\"},\"wordCount\":1287,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/mtbf_2.png\",\"articleSection\":[\"Manufacturing Automation\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/\",\"name\":\"MTBF (Mean Time Between Failures), Rumus dan Panduannya\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/mtbf_2.png\",\"datePublished\":\"2024-02-25T04:12:20+00:00\",\"dateModified\":\"2026-01-21T04:42:39+00:00\",\"description\":\"Pelajari definisi mean time between failures MTBF, pentingnya dalam industri, dan bagaimana peningkatannya bisa membuat operasional optimal.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/mtbf_2.png\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/mtbf_2.png\",\"width\":1307,\"height\":734,\"caption\":\"mtbf_2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/mean-time-between-failures-mtbf\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung\"}]},{\"@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\\\/0d3340f667908102d8894da18f80732e\",\"name\":\"Reno Wicaksana\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Reno-Wicaksana-96x96.webp\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Reno-Wicaksana-96x96.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Reno-Wicaksana-96x96.webp\",\"caption\":\"Reno Wicaksana\"},\"description\":\"Reno adalah HRM Specialist dan senior content writer dengan pengalaman lebih dari 5 tahun di industri teknologi dan manajemen sumber daya manusia. Secara konsisten mengangkat topik artikel seputar performance management, rekrutmen dan pengembangan SDM, manajemen talenta, dan sistem HRIS untuk pengelolaan karyawan.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/william-w-88353a262\\\/\"],\"gender\":\"Laki-laki\",\"knowsAbout\":[\"HRM\",\"HRIS\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer on HRIS\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/author\\\/reno-wicaksana\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MTBF (Mean Time Between Failures), Rumus dan Panduannya","description":"Pelajari definisi mean time between failures MTBF, pentingnya dalam industri, dan bagaimana peningkatannya bisa membuat operasional optimal.","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\/mean-time-between-failures-mtbf\/","og_locale":"id_ID","og_type":"article","og_title":"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung","og_description":"Pelajari definisi mean time between failures MTBF, pentingnya dalam industri, dan bagaimana peningkatannya bisa membuat operasional optimal.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-02-25T04:12:20+00:00","article_modified_time":"2026-01-21T04:42:39+00:00","og_image":[{"width":1307,"height":734,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf_2.png","type":"image\/png"}],"author":"Reno Wicaksana","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Reno Wicaksana","Estimasi waktu membaca":"8 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/"},"author":{"name":"Reno Wicaksana","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e"},"headline":"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung","datePublished":"2024-02-25T04:12:20+00:00","dateModified":"2026-01-21T04:42:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/"},"wordCount":1287,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf_2.png","articleSection":["Manufacturing Automation"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/","name":"MTBF (Mean Time Between Failures), Rumus dan Panduannya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf_2.png","datePublished":"2024-02-25T04:12:20+00:00","dateModified":"2026-01-21T04:42:39+00:00","description":"Pelajari definisi mean time between failures MTBF, pentingnya dalam industri, dan bagaimana peningkatannya bisa membuat operasional optimal.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf_2.png","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/mtbf_2.png","width":1307,"height":734,"caption":"mtbf_2"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/mean-time-between-failures-mtbf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"MTBF (Mean Time Between Failures) adalah Apa? Rumus, Cara Hitung"}]},{"@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\/0d3340f667908102d8894da18f80732e","name":"Reno Wicaksana","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp","caption":"Reno Wicaksana"},"description":"Reno adalah HRM Specialist dan senior content writer dengan pengalaman lebih dari 5 tahun di industri teknologi dan manajemen sumber daya manusia. Secara konsisten mengangkat topik artikel seputar performance management, rekrutmen dan pengembangan SDM, manajemen talenta, dan sistem HRIS untuk pengelolaan karyawan.","sameAs":["https:\/\/www.linkedin.com\/in\/william-w-88353a262\/"],"gender":"Laki-laki","knowsAbout":["HRM","HRIS"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer on HRIS","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/reno-wicaksana\/"}]}},"focus_keyword":"mtbf","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/132779","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\/218"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=132779"}],"version-history":[{"count":11,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/132779\/revisions"}],"predecessor-version":[{"id":186536,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/132779\/revisions\/186536"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/186524"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=132779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=132779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=132779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}