{"id":164021,"date":"2025-06-24T09:23:02","date_gmt":"2025-06-24T02:23:02","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=164021"},"modified":"2026-02-18T13:21:34","modified_gmt":"2026-02-18T06:21:34","slug":"okr-vs-kpi","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/","title":{"rendered":"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami"},"content":{"rendered":"<p>Saat target perusahaan terasa sulit dicapai, penyebabnya sering bukan karena tim kurang bekerja keras, melainkan karena cara mengukur progres belum jelas. Di situ, OKR dan KPI biasanya mulai digunakan sebagai acuan, tetapi keduanya memiliki fungsi yang berbeda.<\/p>\n<p>OKR membantu perusahaan mengarahkan fokus pada target strategis yang ingin dicapai, sedangkan KPI lebih tepat untuk memantau kinerja rutin yang perlu dijaga konsisten. Karena sering dipakai secara bergantian, beberapa tim akhirnya menyusun target, laporan, dan evaluasi dengan ukuran yang tidak selaras.<\/p>\n<p>Agar pengukuran kinerja lebih rapi dan mudah diterapkan, profesional HR dan manajemen perlu memahami konsep, fungsi, serta penerapan OKR vs KPI sesuai kebutuhan organisasi. Pembahasan berikut akan menjelaskan perbedaannya secara lengkap beserta contoh penerapannya.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#adalah\">Objective Key Results (OKR) adalah<\/a> kerangka kerja untuk menetapkan dan mengukur tujuan, sedangkan Key Performance Indicator (KPI) merupakan indikator kuantitatif untuk menilai pencapaian kinerja.<\/span><\/li>\n<li aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#beda\">OKR dan KPI sama-sama<\/a> digunakan untuk mengukur kinerja, namun keduanya memiliki tujuan dan pendekatan yang berbeda.<\/span><\/li>\n<li aria-level=\"1\"><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/apa-itu-hris-pengertian-fungsi-hrm-software\/\">Platform HR yang terintegrasi<\/a> dapat membantu mengelola OKR dan KPI secara lebih rapi, mulai dari penetapan target, pemantauan progres, hingga pelaporan kinerja yang konsisten.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\"><span id=\"adalah\">\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script> <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/span><\/p>\n<h2><b>Apa Itu OKR?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Objective Key Results (OKR) adalah kerangka kerja manajemen kinerja yang membantu perusahaan menetapkan tujuan serta mengukur pencapaiannya melalui hasil utama yang konkret. OKR berfungsi sebagai panduan untuk menyelaraskan prioritas dan upaya tim dengan sasaran strategis perusahaan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Metode ini dikembangkan untuk menciptakan transparansi, fokus, dan akuntabilitas dalam pencapaian tujuan organisasi. <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/okr\/\">OKR<\/a> pertama kali diperkenalkan oleh Andy Grove di Intel dan kemudian dipopulerkan oleh John Doerr di Google.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Dalam praktiknya, OKR terdiri dari dua komponen utama, <\/span><i><span style=\"font-weight: 400;\">objective<\/span><\/i><span style=\"font-weight: 400;\"> sebagai tujuan spesifik yang ingin dicapai, dan <\/span><i><span style=\"font-weight: 400;\">key results<\/span><\/i><span style=\"font-weight: 400;\"> sebagai indikator terukur untuk mengevaluasi progresnya. Dengan struktur yang jelas dan fleksibel, OKR membantu perusahaan menjaga arah strategis tanpa kehilangan kelincahan dalam pengambilan keputusan.<\/span><\/p>\n<h2><b>Apa itu KPI?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Key Performance Indicator (KPI) adalah indikator kuantitatif yang digunakan untuk mengukur kinerja individu, tim, atau organisasi terhadap target yang telah ditetapkan. KPI membantu perusahaan mengidentifikasi seberapa efektif strategi dijalankan sesuai dengan tujuan yang ditentukan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berbeda dengan OKR yang bersifat aspiratif, KPI lebih fokus pada pengukuran kinerja yang bersifat operasional dan realistis. KPI biasanya digunakan secara rutin dalam sistem manajemen kinerja untuk menilai produktivitas, efisiensi, dan efektivitas proses bisnis.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><span id=\"beda\">Setiap KPI harus relevan, terukur, dan mudah dipahami oleh pihak yang bertanggung jawab. Dengan menetapkan KPI yang tepat, perusahaan dapat membuat keputusan berbasis data dan melakukan evaluasi berkelanjutan untuk meningkatkan performa secara menyeluruh.<\/span><\/span><\/p>\n<h2><b>OKR vs KPI, Apa Bedanya?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">OKR dan KPI sama-sama digunakan untuk mengukur kinerja, namun keduanya memiliki tujuan dan pendekatan yang berbeda. <\/span><b>OKR (Objectives and Key Results) bersifat ambisius<\/b><span style=\"font-weight: 400;\"> dan berorientasi pada pertumbuhan, sedangkan <\/span><b>KPI (Key Performance Indicator) lebih fokus pada kestabilan<\/b><span style=\"font-weight: 400;\"> dan pencapaian target yang sudah ditentukan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Dari segi fleksibilitas, <\/span><b>OKR mendorong eksplorasi dan inovasi<\/b><span style=\"font-weight: 400;\"> karena targetnya sering kali menantang untuk dicapai sepenuhnya. Sementara itu, <\/span><b>KPI bersifat lebih tetap <\/b><span style=\"font-weight: 400;\">dan digunakan sebagai acuan rutin untuk mengevaluasi kinerja harian atau bulanan.<\/span><\/p>\n<p><b>OKR lebih banyak digunakan dalam konteks strategis<\/b><span style=\"font-weight: 400;\"> untuk mendorong perubahan besar, sedangkan <\/span><b>KPI digunakan dalam pengukuran operasional <\/b><span style=\"font-weight: 400;\">untuk menjaga performa bisnis tetap optimal. Secara garis besar, keduanya saling melengkapi dan dibutuhkan sesuai konteks penggunaan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Untuk memudahkan Anda memahami perbedaan keduanya secara lebih jelas, silakan simak tabel di bawah ini:\u00a0<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Aspek<\/b><\/td>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Objective Key and Results (OKR)<\/b><\/td>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Key Performance Indicator (KPI)<\/b><\/td>\n<\/tr>\n<tr>\n<td><b>Tujuan\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Mendorong pertumbuhan dan inovasi<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Mengukur performa terhadap target yang telah ditetapkan<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Sifat Target\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Ambisius dan aspiratif, tidak selalu harus 100% tercapai<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Spesifik dan realistis, diharapkan untuk selalu dicapai<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Fleksibilitas\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Lebih fleksibel, disesuaikan dengan perubahan strategi\u00a0<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Cenderung tetap dan berulang sesuai dengan indikator yang stabil<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Ruang Lingkup\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Fokus pada perubahan strategis jangka menengah-panjang<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Fokus pada performa operasional jangka pendek-menengah<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Frekuensi Evaluasi\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Biasanya triwulanan atau tahunan<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Bisa dievaluasi harian, mingguan, atau bulanan<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>Keterlibatan Tim\u00a0<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Mendorong kolaborasi dan keterlibatan lintas tim<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Cenderung spesifik pada divisi atau individu tertentu<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Contoh OKR dan KPI<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-189140\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-scaled.webp\" alt=\"\" width=\"2560\" height=\"1396\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-scaled.webp 2560w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-300x164.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-1024x559.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-768x419.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-1536x838.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-2048x1117.webp 2048w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-770x420.webp 770w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-150x82.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-696x380.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-1068x583.webp 1068w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_5aha7r5aha7r5aha-1920x1047.webp 1920w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Agar lebih mudah memahami perbedaan antara objective key results dan key performance indicators, mari lihat bagaimana keduanya diterapkan dalam situasi nyata. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contoh berikut akan menunjukkan bagaimana OKR dan KPI digunakan untuk mengukur serta mendorong kinerja dalam sebuah tim pemasaran:\u00a0<\/span><\/p>\n<h3><b>Contoh OKR (Objectives and Key Results)<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Misalnya sebuah tim pemasaran memiliki <\/span><i><span style=\"font-weight: 400;\">Objective<\/span><\/i><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><i><\/i><\/p>\n<p><strong><i>\u201cMeningkatkan visibilitas merek di media sosial dalam kuartal ini.\u201d<\/i><\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Maka <\/span><i><span style=\"font-weight: 400;\">Key Results<\/span><\/i><span style=\"font-weight: 400;\">-nya bisa berupa:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Meningkatkan jumlah pengikut Instagram dari 10.000 menjadi 15.000<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Meningkatkan engagement rate dari 3% menjadi 6%<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Meningkatkan kunjungan website dari media sosial sebesar 25%<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">OKR ini bersifat ambisius dan mendorong tim untuk tumbuh, meskipun belum tentu semuanya tercapai 100%.<\/span><\/p>\n<h3><b>Contoh KPI (Key Performance Indicator)<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Masih dalam tim pemasaran, KPI-nya bisa berupa:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Jumlah konten yang dipublikasikan per minggu (target: 5 konten)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Jumlah klik dari iklan digital (target: 2.000 klik\/bulan)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rasio konversi dari kampanye email (target: 4%)<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">KPI digunakan untuk mengukur efektivitas aktivitas yang sudah berjalan dan biasanya bersifat lebih tetap serta operasional.<\/span><\/p>\n<div style=\"border:1px solid #ddd; border-radius:8px; overflow:hidden; margin:30px 0; box-shadow:0 4px 12px rgba(0,0,0,0.12);\"><div style=\"background-color:#990000; color:#fff; padding:14px 20px; font-size:18px; font-weight:700; letter-spacing:0.5px;\">Expert's Review<\/div><div style=\"background-color:#fff; padding:22px 20px; font-size:16px; line-height:1.7; position:relative;\"><div style=\"font-size:44px; color:#990000; font-weight:800; line-height:0; position:absolute; top:18px; left:18px;\">\u201c<\/div><p style=\"margin:0 0 14px 40px; font-style:italic; color:#333;\">\u201cSaya setuju contoh ini memudahkan membedakan OKR untuk arah dan KPI untuk kontrol harian. Jika ingin lebih rapi dan konsisten, perusahaan bisa mengelolanya lewat HRIS terpusat agar target, progres, dan laporan tidak terpencar.\u201d<\/p><p style=\"margin:0 0 0 40px; font-weight:700; color:#444;\">\u2014 Jessica Chandra, B.Sc., Senior HR Manager<\/p><\/div><\/div>\n<h2><b>Cara Menyusun OKR dan KPI secara Tepat<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-189131 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-scaled.webp\" alt=\"OKR dan KPI\" width=\"2560\" height=\"1396\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-scaled.webp 2560w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-300x164.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-1024x559.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-768x419.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-1536x838.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-2048x1117.webp 2048w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-770x420.webp 770w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-150x82.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-696x380.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-1068x583.webp 1068w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Gemini_Generated_Image_1glgy81glgy81glg-1920x1047.webp 1920w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Menyusun OKR vs KPI yang tepat merupakan langkah krusial dalam mendorong kinerja karyawan dan mencapai sasaran perusahaan secara terukur. Namun, banyak perusahaan yang masih keliru dalam menyelaraskan dua alat ukur ini dengan tujuan strategis bisnis mereka. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agar penerapannya efektif, berikut adalah beberapa langkah yang dapat Anda ikuti:<\/span><\/p>\n<h3><b>1. Pahami visi dan misi perusahaan<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Sebelum menetapkan OKR atau KPI, pastikan setiap metrik yang disusun sejalan dengan arah jangka panjang organisasi. Ini akan membantu menghindari target yang terputus dari kebutuhan bisnis utama.<\/span><\/p>\n<h3><b>2. Libatkan tim dalam proses penyusunan<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Karyawan akan lebih termotivasi jika mereka merasa dilibatkan dalam proses penetapan tujuan. Komunikasi terbuka antara manajemen dan tim sangat penting untuk mendapatkan komitmen bersama.<\/span><\/p>\n<h3><b>3. Gunakan rumusan yang spesifik dan terukur<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Baik OKR maupun KPI harus dirumuskan dengan jelas, spesifik, dan memiliki indikator yang bisa diukur. Hindari istilah yang ambigu atau terlalu luas sehingga tidak bisa dievaluasi secara objektif.<\/span><\/p>\n<h3><b>4. Tentukan periode evaluasi yang konsisten<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Atur siklus evaluasi secara berkala, seperti per kuartal atau per semester. Hal ini penting untuk mengidentifikasi hambatan lebih awal dan menyesuaikan strategi bila diperlukan.<\/span><\/p>\n<h3><b>5. Gunakan sistem yang mendukung pengelolaan OKR &amp; KPI<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Untuk memudahkan proses monitoring dan evaluasi, pertimbangkan menggunakan sistem HR yang terintegrasi seperti <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource\"><span style=\"font-weight: 400;\">HashMicro.<\/span><\/a><span style=\"font-weight: 400;\"> Sistem ini memungkinkan Anda untuk menyusun, memantau, dan mengevaluasi OKR dan KPI secara efisien, real-time, dan berbasis data.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Kalkulasikan kebutuhan perusahaan Anda dengan klik banner skema harga di bawah ini.<\/span><\/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<p>Anda juga bisa membaca artikel kami sebelumnya yang membahas rekomendasi software HR terbaik untuk kebutuhan sumber daya manusia dalam bisnis.<\/p>\n<h3><b>6. Review dan revisi secara berkala<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">OKR dan KPI bukanlah sesuatu yang statis. Perubahan dinamika bisnis menuntut evaluasi berkala agar alat ukur ini tetap relevan dengan kondisi perusahaan.<\/span><\/p>\n<h2><strong>Studi Kasus Alfa Group Mengelola OKR dan KPI Lebih Rapi dengan HRIS<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-189135\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410.webp\" alt=\"\" width=\"1175\" height=\"562\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410.webp 1175w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-300x143.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-1024x490.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-768x367.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-878x420.webp 878w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-150x72.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-696x333.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/Screenshot-2026-02-18-122410-1068x511.webp 1068w\" sizes=\"auto, (max-width: 1175px) 100vw, 1175px\" \/><\/p>\n<p>Menjelang evaluasi kinerja, hal yang paling sering menyita waktu adalah memastikan target yang dipakai semua tim sudah sama, lengkap, dan masih relevan. Saat OKR dan KPI tersebar di beberapa file, HR biasanya perlu bolak-balik cek versi, menyamakan definisi, lalu merapikan approval sebelum progres bisa dibaca dengan jelas.<\/p>\n<p>Di <strong>Alfa Group<\/strong>, tantangan ini disederhanakan dengan menjadikan HRIS sebagai pusat pengelolaan target dan pelaporan. Melalui <a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource\">HashMicro HRIS<\/a>, target disusun dari level perusahaan sampai individu, progres dicatat lewat check-in berkala, dan hasilnya otomatis masuk ke ringkasan evaluasi tanpa perlu rekap manual terpisah antar divisi.<\/p>\n<p>Pendekatan ini membantu manajemen melihat tren produktivitas, gap pencapaian, dan area yang perlu dukungan lebih cepat karena datanya sudah terkonsolidasi. Dampaknya, diskusi kinerja jadi lebih fokus pada tindak lanjut, bukan lagi menghabiskan waktu untuk merapikan angka dan dokumen.<\/p>\n<p><span style=\"font-weight: 400;\">Berikut adalah fitur yang ditawarkan oleh sistem HR yang terintegrasi:<\/span><\/p>\n<ul>\n<li><strong>Talent Management with KPI Tracking:<\/strong> Menetapkan KPI, memantau progres, dan merangkum evaluasi kinerja dalam satu alur.<\/li>\n<li><strong>Employee Development &amp; Training Plan with e-Learning Management:<\/strong> Menyusun rencana pelatihan berdasarkan hasil evaluasi dan kebutuhan pengembangan.<\/li>\n<li><strong>In Depth Performance Analysis with Nine Box Matrix:<\/strong> Memetakan performa dan potensi untuk mendukung keputusan pengembangan dan penyesuaian target.<\/li>\n<li><strong><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/competency-gap-analysis\/\">Competency Gap Analysis<\/a>:<\/strong> Mengidentifikasi gap kompetensi dan mengarahkan tindak lanjut yang relevan dengan target.<\/li>\n<li><strong>Internal LMS:<\/strong> Menjalankan pelatihan, memantau progres, dan mengevaluasi efektivitasnya secara berkala.<\/li>\n<li><strong>Succession Planning:<\/strong> Menyiapkan regenerasi peran kunci lewat pemetaan talenta dan rencana pengembangan.<\/li>\n<li><strong>OKR (Objective Key Results):<\/strong> Menyusun Objective dan Key Results yang terstruktur, lengkap dengan check-in dan pelaporan.<\/li>\n<\/ul>\n<p>Lewat pendekatan ini, Alfa Group dapat menyatukan OKR dan KPI dalam satu rujukan yang mudah dipantau, sehingga pembahasan kinerja lebih fokus pada tindakan perbaikan. Alur talent management juga terasa lebih rapi karena target, evaluasi, dan rencana pengembangan karyawan saling terhubung dalam proses yang konsisten.<\/p>\n<h2><b>Kesimpulan<\/b><\/h2>\n<p>OKR vs KPI merupakan dua alat ukur kinerja yang penting bagi HR untuk memastikan aktivitas karyawan tetap selaras dengan arah strategis perusahaan. Meski fungsinya berbeda, keduanya saling melengkapi dalam perencanaan, evaluasi, hingga pengembangan talenta secara lebih terarah.<\/p>\n<p>Agar pengelolaannya lebih rapi, perusahaan dapat menggunakan HRIS berbasis cloud yang mengintegrasikan pelacakan KPI, manajemen OKR, evaluasi performa, serta rencana pengembangan karyawan dalam satu alur. Dengan data yang lebih konsisten dan mudah ditelusuri, HR dan manajemen bisa mengambil keputusan lebih cepat tanpa rekap manual yang berulang.<\/p>\n<p>Jika perusahaan ingin menilai kesiapan sistem yang tepat untuk mengelola OKR dan KPI sesuai kebutuhan organisasi, <strong><a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">jadwalkan konsultasi gratis<\/a><\/strong> untuk mendiskusikan alur kerja, prioritas fitur, serta skenario implementasi yang paling realistis.<\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/hr-banding.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/hr-banding.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/hr-banding-m.webp\" alt=\"HR_Perbandingan\" 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<h2><strong>Pertanyaan Seputar OKR vs KPI<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa itu OKR dan KPI?<\/strong><\/summary>\n<p>OKR (Objectives and Key Results) dan KPI (Key Performance Indicators) adalah alat ukur kinerja yang digunakan untuk memantau, mengevaluasi, dan menyelaraskan tujuan individu atau tim dengan strategi bisnis perusahaan.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa perbedaan utama antara OKR dan KPI?<\/strong><\/summary>\n<p>Perbedaan utama antara OKR dan KPI terletak pada fokusnya. OKR digunakan untuk mendorong pencapaian tujuan strategis yang ambisius, sementara KPI digunakan untuk mengukur kinerja operasional yang telah ditentukan.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah OKR dan KPI bisa digunakan bersamaan?<\/strong><\/summary>\n<p>Ya, OKR dan KPI dapat digunakan bersamaan karena keduanya saling melengkapi, di mana OKR menetapkan arah strategis, sementara KPI mengukur progres operasional terhadap tujuan tersebut.<\/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 itu OKR dan KPI?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"OKR (Objectives and Key Results) dan KPI (Key Performance Indicators) adalah alat ukur kinerja yang digunakan untuk memantau, mengevaluasi, dan menyelaraskan tujuan individu atau tim dengan strategi bisnis perusahaan.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa perbedaan utama antara OKR dan KPI?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Perbedaan utama antara OKR dan KPI terletak pada fokusnya. OKR digunakan untuk mendorong pencapaian tujuan strategis yang ambisius, sementara KPI digunakan untuk mengukur kinerja operasional yang telah ditentukan.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apakah OKR dan KPI bisa digunakan bersamaan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Ya, OKR dan KPI dapat digunakan bersamaan karena keduanya saling melengkapi, di mana OKR menetapkan arah strategis, sementara KPI mengukur progres operasional terhadap tujuan tersebut.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saat target perusahaan terasa sulit dicapai, penyebabnya sering bukan karena tim kurang bekerja keras, melainkan karena cara mengukur progres belum jelas. Di situ, OKR dan KPI biasanya mulai digunakan sebagai acuan, tetapi keduanya memiliki fungsi yang berbeda. OKR membantu perusahaan mengarahkan fokus pada target strategis yang ingin dicapai, sedangkan KPI lebih tepat untuk memantau kinerja [&hellip;]<\/p>\n","protected":false},"author":218,"featured_media":164022,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[],"class_list":{"0":"post-164021","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-hrm"},"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>Perbedaan OKR vs KPI dan Cara Membuatnya<\/title>\n<meta name=\"description\" content=\"Meski sama sama digunakan untuk mengukur pencapaian, OKR &amp; KPI memiliki perbedaan yang mendasar. Baca di sini untuk memahaminya!\" \/>\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\/okr-vs-kpi\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami\" \/>\n<meta property=\"og:description\" content=\"Meski sama sama digunakan untuk mengukur pencapaian, OKR &amp; KPI memiliki perbedaan yang mendasar. Baca di sini untuk memahaminya!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/\" \/>\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=\"2025-06-24T02:23:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-18T06:21:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-1024x512.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\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=\"10 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/\"},\"author\":{\"name\":\"Reno Wicaksana\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e\"},\"headline\":\"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami\",\"datePublished\":\"2025-06-24T02:23:02+00:00\",\"dateModified\":\"2026-02-18T06:21:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/\"},\"wordCount\":1635,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png\",\"articleSection\":[\"HRM\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/\",\"name\":\"Perbedaan OKR vs KPI dan Cara Membuatnya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png\",\"datePublished\":\"2025-06-24T02:23:02+00:00\",\"dateModified\":\"2026-02-18T06:21:34+00:00\",\"description\":\"Meski sama sama digunakan untuk mengukur pencapaian, OKR & KPI memiliki perbedaan yang mendasar. Baca di sini untuk memahaminya!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png\",\"width\":2048,\"height\":1024,\"caption\":\"OKR\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami\"}]},{\"@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\/#\/schema\/person\/image\/\",\"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":"Perbedaan OKR vs KPI dan Cara Membuatnya","description":"Meski sama sama digunakan untuk mengukur pencapaian, OKR & KPI memiliki perbedaan yang mendasar. Baca di sini untuk memahaminya!","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\/okr-vs-kpi\/","og_locale":"id_ID","og_type":"article","og_title":"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami","og_description":"Meski sama sama digunakan untuk mengukur pencapaian, OKR & KPI memiliki perbedaan yang mendasar. Baca di sini untuk memahaminya!","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2025-06-24T02:23:02+00:00","article_modified_time":"2026-02-18T06:21:34+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-1024x512.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":"10 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/"},"author":{"name":"Reno Wicaksana","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e"},"headline":"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami","datePublished":"2025-06-24T02:23:02+00:00","dateModified":"2026-02-18T06:21:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/"},"wordCount":1635,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png","articleSection":["HRM"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/","name":"Perbedaan OKR vs KPI dan Cara Membuatnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png","datePublished":"2025-06-24T02:23:02+00:00","dateModified":"2026-02-18T06:21:34+00:00","description":"Meski sama sama digunakan untuk mengukur pencapaian, OKR & KPI memiliki perbedaan yang mendasar. Baca di sini untuk memahaminya!","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/06\/OKR-dan-KPI-Ini-Penjelasan-Lengkap-yang-Perlu-HR-Pahami-scaled.png","width":2048,"height":1024,"caption":"OKR"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/okr-vs-kpi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"OKR vs KPI, Ini Penjelasan Lengkap yang Perlu HR Pahami"}]},{"@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\/#\/schema\/person\/image\/","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":"okr vs kpi","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/164021","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=164021"}],"version-history":[{"count":7,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/164021\/revisions"}],"predecessor-version":[{"id":189142,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/164021\/revisions\/189142"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/164022"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=164021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=164021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=164021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}