{"id":151958,"date":"2024-12-19T15:31:22","date_gmt":"2024-12-19T08:31:22","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=151958"},"modified":"2025-12-22T13:44:33","modified_gmt":"2025-12-22T06:44:33","slug":"sop-general-affair","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/","title":{"rendered":"Memahami Apa itu SOP General Affair dan Manfaatnya"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Pernahkah Anda merasa tugas-tugas administratif di kantor tidak terkoordinasi dengan baik, sehingga mengganggu produktivitas? Inilah pentingnya memahami SOP General Affair sebagai panduan yang membantu memastikan pengelolaan fasilitas dan kebutuhan kantor berjalan lancar. Apakah Anda familiar dengan SOP General Affair?\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">SOP General Affair adalah panduan tertulis yang mengatur tugas dan tanggung jawab divisi <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/apa-peran-general-affair-bagi-perusahaan-simak-pengertian-tugas-dan-fungsinya\/\">General Affair<\/a>, seperti pengelolaan fasilitas kantor, pemeliharaan aset, dan pengadaan barang. SOP ini memastikan setiap proses berjalan terorganisir, efisien, dan sesuai standar perusahaan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Jika Anda saat ini sedang merasa tugas administratif kantor kurang berjalan secara efektif dan belum familiar dengan SOP General Affair maka Anda sedang berada di tempat yang tepat. Dalam artikel ini kami akan membahas mendalam SOP General Affair mulai dari manfaat hingga contohnya.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\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><\/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;\">SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Apa itu SOP General Affair?\u00a0<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sebelum memulai pembahasan lebih dalam, mari kita mulai dengan apa itu SOP <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/apa-peran-general-affair-bagi-perusahaan-simak-pengertian-tugas-dan-fungsinya\/\">General Affair<\/a> agar Anda bisa memahami lebih dulu dasar pentingnya dalam mendukung operasional kantor secara efektif.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair. Divisi ini bertanggung jawab atas pengelolaan fasilitas, pengadaan barang, pemeliharaan aset, dan kebutuhan administratif lainnya di perusahaan.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">SOP ini mencakup langkah-langkah detail untuk menjalankan tugas seperti <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/laporan-bulanan-general-affairs\/\">contoh laporan bulanan general affairs excel<\/a>, penjadwalan pemeliharaan fasilitas, pengelolaan kendaraan operasional, hingga pengadaan kebutuhan kantor. Tujuannya adalah untuk mencegah kesalahan, mengurangi risiko, dan memastikan setiap proses berjalan efisien.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selain itu, SOP General Affair memberikan kejelasan tanggung jawab bagi setiap anggota tim. Hal ini membantu menciptakan koordinasi yang baik antar departemen, mempercepat penyelesaian masalah, dan menjaga kualitas pengelolaan fasilitas kantor. Tanpa SOP, perusahaan berisiko menghadapi ketidakpastian proses yang dapat berdampak pada kinerja secara keseluruhan.<\/span><\/p>\n<h2><b>Apa Manfaat SOP General Affair bagi Perusahaan?\u00a0<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Setelah memberikan penjelasan mengenai apa itu SOP General Affair, kami akan membahas mengenai apa saja manfaat dari penerapan SOP General Affair bagi perusahaan. Berikut di bawah ini adalah penjelasan lengkapnya:\u00a0<\/span><\/p>\n<h3><strong>1. Menjamin efisiensi operasional<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">SOP General Affair membantu memastikan setiap tugas administratif dilakukan dengan langkah-langkah yang terstruktur dan jelas. Contohnya adalah proses pengadaan barang atau pemeliharaan fasilitas kantor diatur secara detail sehingga waktu dan sumber daya yang digunakan menjadi lebih efisien.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Dengan efisiensi ini, perusahaan dapat menghindari pemborosan dan meningkatkan produktivitas secara keseluruhan.<\/span><\/p>\n<h3><strong>2. Mengurangi risiko kesalahan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Dengan SOP, semua proses di divisi General Affair Anda dapat memiliki panduan yang jelas, seperti jadwal pemeliharaan fasilitas atau prosedur penanganan aset yang rusak. Hal ini mengurangi risiko kesalahan akibat ketidakpahaman atau langkah kerja yang tidak konsisten.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Akibatnya, masalah seperti kerusakan fasilitas yang tidak terdeteksi atau keterlambatan pengadaan barang dapat diminimalkan karena Anda menggunakan SOP General Affair.<\/span><\/p>\n<h3><strong>3. Mempermudah koordinasi antar departemen<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Divisi General Affair sering berinteraksi dengan berbagai departemen lain dalam perusahaan, seperti HR, IT, atau Operasional. Dalam hal ini, SOP General Affair berperan sebagai alat untuk menyelaraskan komunikasi dan memastikan semua pihak memahami prosedur yang berlaku.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Contohnya, saat ada permintaan kendaraan operasional, SOP memandu siapa yang bertanggung jawab, kapan kendaraan dapat digunakan, dan bagaimana prosedur pelaporannya.<\/span><\/p>\n<h3><strong>4. Meningkatkan akuntabilitas tim<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">SOP menetapkan tanggung jawab yang jelas untuk setiap anggota tim di General Affair. Setiap individu mengetahui peran mereka dalam menjalankan tugas tertentu, seperti siapa yang harus melakukan inspeksi fasilitas atau mengurus pengadaan barang. Akuntabilitas ini membantu menghindari kebingungan dan memastikan setiap pekerjaan selesai tepat waktu.<\/span><\/p>\n<h3><strong>5. Menjamin kepatuhan terhadap kebijakan perusahaan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">SOP General Affair dirancang untuk selaras dengan kebijakan dan aturan perusahaan, termasuk anggaran, standar kualitas, hingga regulasi eksternal. Dengan mengikuti SOP, perusahaan dapat memastikan semua aktivitas General Affair dilakukan sesuai dengan kebijakan yang berlaku, sehingga meminimalkan risiko pelanggaran aturan atau kerugian finansial.<\/span><\/p>\n<h2><b>Contoh SOP General Affair\u00a0<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">SOP General Affairs (GA) memiliki beragam jenis yang mencakup berbagai aspek pengelolaan kantor, mulai dari perawatan fasilitas hingga pengelolaan administrasi. Memahami SOP ini penting bagi Anda untuk memastikan operasional kantor berjalan tertib, efisien, dan sesuai standar yang telah ditetapkan.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berikut adalah penjelasan beberapa contoh SOP General Affair yang perlu Anda ketahui:\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pemeliharaan Kendaraan Operasional Kantor<\/b><b><br \/>\n<\/b><span style=\"font-weight: 400;\">Prosedur ini mengatur penggunaan, pemeliharaan rutin, serta perbaikan kendaraan dinas agar selalu dalam kondisi layak pakai.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pengelolaan dan Operasional Kantin Kantor: <\/b><span style=\"font-weight: 400;\">Mengatur pengelolaan kantin, termasuk kebersihan, stok bahan makanan, keamanan pangan, serta pelayanan kepada karyawan.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pemeliharaan Pendingin Udara (AC): <\/b><span style=\"font-weight: 400;\">Prosedur ini mencakup jadwal pembersihan rutin, perawatan filter, dan pengecekan teknis untuk menjaga performa AC di kantor.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pengelolaan Inventaris Gudang Kantor: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sop-gudang\/\">SOP gudang<\/a> m<span style=\"font-weight: 400;\">enyediakan panduan untuk menyimpan, mengatur, dan mendistribusikan stok barang kantor agar lebih terorganisir.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pemeliharaan Fasilitas Gedung Kantor: <\/b><span style=\"font-weight: 400;\">Mengatur perawatan rutin gedung, seperti pengecekan struktur bangunan, pembersihan lantai, dan pengecatan berkala.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pengelolaan dan Perawatan Sistem Listrik dan Mekanikal: <\/b><span style=\"font-weight: 400;\">Prosedur ini mencakup perawatan instalasi listrik, peralatan mekanikal seperti lift dan genset agar aman digunakan.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Keamanan dan Pengawasan Lingkungan Kantor: <\/b><span style=\"font-weight: 400;\">Mengatur langkah-langkah pengamanan kantor, seperti patroli rutin, pemantauan CCTV, serta pengendalian akses masuk dan keluar.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Kebersihan dan Perawatan Area Kerja: <\/b><span style=\"font-weight: 400;\">Panduan mengenai kebersihan ruang kerja, toilet, dan area umum untuk menciptakan lingkungan kantor yang nyaman.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Penggunaan dan Pengelolaan Alat Tulis Kantor (ATK): <\/b><span style=\"font-weight: 400;\">Mengatur penggunaan, penyimpanan, serta pengadaan ATK agar tidak terjadi pemborosan dan stok selalu tersedia.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pengelolaan Tempat Parkir Kantor: <\/b><span style=\"font-weight: 400;\">Prosedur ini mencakup pengaturan lahan parkir, pemantauan keamanan, serta pengelolaan akses keluar-masuk kendaraan.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Prosedur Penerimaan dan Penanganan Tamu: <\/b><span style=\"font-weight: 400;\">Mengatur proses penerimaan tamu, seperti registrasi, pengantaran tamu ke tujuan, serta etika pelayanan tamu.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Administrasi untuk Perizinan Operasional: <\/b><span style=\"font-weight: 400;\">Panduan mengenai pembuatan dokumen, pengajuan, dan penyimpanan izin yang diperlukan dalam kegiatan operasional kantor.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Prosedur Pengurusan Perizinan Resmi: <\/b><span style=\"font-weight: 400;\">Mengatur langkah-langkah dalam mengurus izin legal, seperti perpanjangan izin usaha atau operasional kantor.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Pengelolaan dan Perawatan Sarana Kebersihan: <\/b><span style=\"font-weight: 400;\">Menyusun jadwal perawatan alat kebersihan dan memastikan ketersediaan sarana pembersih agar selalu siap digunakan.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOP Perawatan dan Pengelolaan Taman Kantor: <\/b><span style=\"font-weight: 400;\">Panduan untuk memastikan taman kantor tetap terawat dengan baik melalui penyiraman, pemangkasan, dan perawatan tanaman.<\/span><\/li>\n<\/ul>\n<h2><b>Tantangan yang Umum Terjadi dalam Memastikan SOP Berjalan Lancar<\/b><\/h2>\n<h3><strong>1. Kurangnya pemahaman oleh karyawan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Tidak semua karyawan memahami isi atau pentingnya SOP, terutama jika dokumen tersebut terlalu teknis atau panjang. Kurangnya pemahaman ini sering menyebabkan kesalahan dalam pelaksanaan tugas, seperti langkah-langkah yang dilewati atau prosedur yang dilakukan tidak sesuai panduan.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Solusi yang efektif adalah pelatihan rutin untuk memastikan semua karyawan memahami dan dapat menerapkan SOP dengan benar.<\/span><\/p>\n<h3><strong>2. Minimnya pengawasan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Tanpa pengawasan yang baik, pelaksanaan SOP bisa menjadi tidak konsisten. Karyawan mungkin cenderung melewati langkah-langkah tertentu karena merasa tidak diawasi. Hal ini dapat mengakibatkan penurunan kualitas kerja.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Untuk mengatasi permasalahan ini, pihak supervisor atau manajer harus memastikan pengawasan berjalan ketat untuk menjaga kepatuhan terhadap SOP.<\/span><\/p>\n<h3><strong>3. Resistensi terhadap perubahan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Ketika SOP diperbarui untuk meningkatkan efisiensi atau menyesuaikan dengan kebutuhan baru, karyawan sering kali menunjukkan resistensi. Perubahan dianggap mengganggu rutinitas kerja yang sudah nyaman.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agar Anda bisa mengatasi permasalahan ini, dibutuhkan pendekatan komunikasi yang baik dan penjelasan mengenai manfaat perubahan tersebut untuk mendapatkan dukungan dari tim.<\/span><\/p>\n<h3><strong>4. Tidak sesuai dengan kondisi lapangan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Kadang, SOP yang dibuat tidak sepenuhnya relevan atau realistis dengan situasi yang dihadapi di lapangan. Hal ini terjadi jika SOP disusun tanpa mempertimbangkan masukan dari pihak-pihak yang langsung terlibat dalam tugas tersebut.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Akibatnya, SOP sulit diterapkan secara efektif. Melibatkan karyawan dalam proses pembuatan SOP dapat membantu mengurangi masalah ini.<\/span><\/p>\n<h3><strong>5. Kurangnya pemutakhiran SOP<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">SOP yang tidak diperbarui secara berkala menjadi tantangan besar, terutama jika ada perubahan dalam teknologi, kebijakan, atau kebutuhan perusahaan. SOP yang sudah usang akan kehilangan relevansi dan tidak mampu menjawab tantangan kerja saat ini.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Menggunakan sistem ERP seperti HashMicro dapat menjadi solusi utama untuk mengatasi tantangan ini. <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-erp\"><span style=\"font-weight: 400;\">Sistem ERP HashMicro <\/span><\/a><span style=\"font-weight: 400;\">dirancang untuk mengintegrasikan seluruh proses operasional, termasuk penerapan SOP, ke dalam satu platform yang terpusat dan otomatis.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-erp?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/erp-descriptive.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/erp-descriptive.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/erp-descriptive-m.webp\" alt=\"ERP_Definisi\" 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><b>ERP HashMicro: Solusi Digital untuk SOP General Affair yang Lebih Efisien<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-151961 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Screenshot-2024-12-19-152316.png\" alt=\"SOP General Affair \" width=\"684\" height=\"365\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Screenshot-2024-12-19-152316.png 684w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Screenshot-2024-12-19-152316-300x160.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Screenshot-2024-12-19-152316-150x80.png 150w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-erp\"><b>Sistem ERP HashMicro<\/b><\/a><span style=\"font-weight: 400;\"> adalah perangkat lunak berbasis cloud yang dirancang untuk mengelola berbagai proses bisnis, termasuk pengelolaan SOP General Affair, secara terintegrasi dan efisien. Dengan fitur komprehensif, sistem ini memungkinkan perusahaan untuk mengotomatiskan alur kerja SOP dan memastikan koordinasi yang baik antar departemen.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selain itu, HashMicro menyediakan<\/span><a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/?medium=web-form-header\"> <b>demo gratis<\/b> <\/a><span style=\"font-weight: 400;\">untuk membantu perusahaan memahami cara kerja sistem ini sebelum mengadopsinya. Demo ini memungkinkan perusahaan mencoba fitur-fitur HashMicro dan melihat langsung bagaimana sistem dapat mempercepat proses pengelolaan SOP General Affair.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Salah satu keunggulan utama <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aplikasi-general-affair-solusi-kelola-operasional-perusahaan-anda\/\">aplikasi General Affair<\/a> HashMicro adalah kemampuan integrasinya. Sistem ini dapat menyatukan berbagai fungsi dalam General Affair, seperti pengelolaan aset, pemeliharaan fasilitas, hingga pengadaan barang, ke dalam satu platform. Data yang terpusat ini memastikan semua proses berjalan lancar tanpa hambatan komunikasi antara tim dan divisi lain.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berikut adalah fitur-fitur yang ditawarkan oleh <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-erp-terbaik\/\">software ERP<\/a> HashMicro:\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Face recognition dan GPS untuk absensi dengan pencegahan kecurangan:<\/b><span style=\"font-weight: 400;\"> Fitur ini mendukung pemantauan kehadiran karyawan sekaligus mencegah potensi kecurangan. Divisi General Affairs biasanya bertanggung jawab dalam mengelola sistem absensi.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Manajemen jadwal kerja dinamis dan roster karyawan:<\/b><span style=\"font-weight: 400;\"> Sistem dapat mempermudah divisi General Affairs dalam pengaturan roster dan distribusi jadwal kerja secara efisien.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Delegasi approval dengan notifikasi otomatis:<\/b><span style=\"font-weight: 400;\"> Fitur ini mempermudah proses <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/delegasi-adalah\/\">delegasi<\/a> dan persetujuan, seperti permintaan fasilitas, pengeluaran, atau operasi lainnya, yang menjadi bagian dari tanggung jawab General Affairs.<\/span><\/li>\n<\/ul>\n<h2><b>Kesimpulan<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">SOP General Affair adalah panduan penting yang memastikan pengelolaan fasilitas, aset, dan kebutuhan administratif perusahaan berjalan terstruktur dan efisien. Dengan penerapan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/mengenal-sop-lebih-dalam\/\">standar operasional perusahaan<\/a> yang baik, perusahaan dapat meningkatkan efisiensi operasional dan memastikan koordinasi antardepartemen lebih optimal.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Namun, tantangan dalam penerapan SOP, seperti kurangnya pengawasan dan konsistensi, dapat diatasi dengan solusi teknologi modern. Salah satunya adalah <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/apa-itu-sistem-erp\/\">penggunaan sistem ERP<\/a> HashMicro yang mampu mengotomatisasi proses kerja, menyediakan pemantauan real-time, dan mengintegrasikan berbagai fungsi General Affair dalam satu platform.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Segera buat pengelolaan SOP General Affair Anda menjadi lebih mudah dengan mendaftarkan <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/?medium=web-form-header\"><span style=\"font-weight: 400;\">demo gratisnya<\/span><\/a><span style=\"font-weight: 400;\"> dengan klik di sini.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-erp?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/erp-descriptive.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/erp-descriptive.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/erp-descriptive-m.webp\" alt=\"ERP_Definisi\" 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 SOP General Affair<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><span style=\"background-color: #e8e8e8;\"><strong>Bagaimana cara mengevaluasi efektivitas SOP General Affair?<\/strong><\/span><\/summary>\n<p>Evaluasi efektivitas SOP General Affair dapat dilakukan dengan memonitor pelaksanaan prosedur, mengumpulkan feedback dari karyawan dan manajemen, serta menganalisis apakah SOP tersebut mampu meningkatkan efisiensi dan mengurangi kesalahan dalam operasional.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><span style=\"background-color: #e8e8e8;\"><strong>Apa hubungan SOP General Affair dengan produktivitas perusahaan?<\/strong><\/span><\/summary>\n<p>SOP General Affair yang baik dapat meningkatkan produktivitas perusahaan dengan memastikan bahwa segala kebutuhan operasional dan fasilitas perusahaan berjalan lancar, sehingga karyawan dapat fokus pada pekerjaan utama tanpa terganggu oleh masalah logistik atau administrasi.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><span style=\"background-color: #e8e8e8;\"><strong>Bagaimana SOP General Affair berhubungan dengan kebijakan perusahaan?<\/strong><\/span><\/summary>\n<p>SOP General Affair berhubungan langsung dengan kebijakan perusahaan karena prosedur yang ditetapkan harus mencerminkan nilai-nilai, visi, dan misi perusahaan. Selain itu, SOP tersebut harus sesuai dengan regulasi yang berlaku untuk menjaga kepatuhan perusahaan.<\/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\": \"Bagaimana cara mengevaluasi efektivitas SOP General Affair?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Evaluasi efektivitas SOP General Affair dapat dilakukan dengan memonitor pelaksanaan prosedur, mengumpulkan feedback dari karyawan dan manajemen, serta menganalisis apakah SOP tersebut mampu meningkatkan efisiensi dan mengurangi kesalahan dalam operasional.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa hubungan SOP General Affair dengan produktivitas perusahaan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"SOP General Affair yang baik dapat meningkatkan produktivitas perusahaan dengan memastikan bahwa segala kebutuhan operasional dan fasilitas perusahaan berjalan lancar, sehingga karyawan dapat fokus pada pekerjaan utama tanpa terganggu oleh masalah logistik atau administrasi.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana SOP General Affair berhubungan dengan kebijakan perusahaan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"SOP General Affair berhubungan langsung dengan kebijakan perusahaan karena prosedur yang ditetapkan harus mencerminkan nilai-nilai, visi, dan misi perusahaan. Selain itu, SOP tersebut harus sesuai dengan regulasi yang berlaku untuk menjaga kepatuhan perusahaan.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pernahkah Anda merasa tugas-tugas administratif di kantor tidak terkoordinasi dengan baik, sehingga mengganggu produktivitas? Inilah pentingnya memahami SOP General Affair sebagai panduan yang membantu memastikan pengelolaan fasilitas dan kebutuhan kantor berjalan lancar. Apakah Anda familiar dengan SOP General Affair?\u00a0 SOP General Affair adalah panduan tertulis yang mengatur tugas dan tanggung jawab divisi General Affair, seperti [&hellip;]<\/p>\n","protected":false},"author":162,"featured_media":151959,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":{"0":"post-151958","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-erp"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Memahami Apa itu SOP General Affair dan Manfaatnya<\/title>\n<meta name=\"description\" content=\"SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.\" \/>\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\/sop-general-affair\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Memahami Apa itu SOP General Affair dan Manfaatnya\" \/>\n<meta property=\"og:description\" content=\"SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/\" \/>\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-12-19T08:31:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T06:44:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hendra Gunawan\" \/>\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=\"Hendra Gunawan\" \/>\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\/sop-general-affair\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/\"},\"author\":{\"name\":\"Hendra Gunawan\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/7eb92f40eba8b038fa552ba13cd6d88a\"},\"headline\":\"Memahami Apa itu SOP General Affair dan Manfaatnya\",\"datePublished\":\"2024-12-19T08:31:22+00:00\",\"dateModified\":\"2025-12-22T06:44:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/\"},\"wordCount\":1710,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png\",\"articleSection\":[\"ERP\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/\",\"name\":\"Memahami Apa itu SOP General Affair dan Manfaatnya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png\",\"datePublished\":\"2024-12-19T08:31:22+00:00\",\"dateModified\":\"2025-12-22T06:44:33+00:00\",\"description\":\"SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png\",\"width\":1200,\"height\":650,\"caption\":\"contoh sop general affair\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Memahami Apa itu SOP General Affair dan Manfaatnya\"}]},{\"@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\/7eb92f40eba8b038fa552ba13cd6d88a\",\"name\":\"Hendra Gunawan\",\"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\/Hendra-Gunawan-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Hendra-Gunawan-96x96.webp\",\"caption\":\"Hendra Gunawan\"},\"description\":\"Hendra adalah ERP Specialist senior dengan pengalaman lebih dari 6 tahun dalam implementasi dan optimasi sistem ERP di berbagai industri. Ia berspesialisasi dalam menulis artikel seputar implementasi dan integrasi modul bisnis, sistem ERP untuk manajemen operasional, dan otomatisasi proses bisnis.\",\"sameAs\":[\"https:\/\/www.hashmicro.com\/id\/\"],\"jobTitle\":\"Hendra Gunawan - Senior Content Writer - ERP Specialist\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/hendra-gunawan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Memahami Apa itu SOP General Affair dan Manfaatnya","description":"SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.","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\/sop-general-affair\/","og_locale":"id_ID","og_type":"article","og_title":"Memahami Apa itu SOP General Affair dan Manfaatnya","og_description":"SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-12-19T08:31:22+00:00","article_modified_time":"2025-12-22T06:44:33+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png","type":"image\/png"}],"author":"Hendra Gunawan","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Hendra Gunawan","Estimasi waktu membaca":"10 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/"},"author":{"name":"Hendra Gunawan","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/7eb92f40eba8b038fa552ba13cd6d88a"},"headline":"Memahami Apa itu SOP General Affair dan Manfaatnya","datePublished":"2024-12-19T08:31:22+00:00","dateModified":"2025-12-22T06:44:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/"},"wordCount":1710,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png","articleSection":["ERP"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/","name":"Memahami Apa itu SOP General Affair dan Manfaatnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png","datePublished":"2024-12-19T08:31:22+00:00","dateModified":"2025-12-22T06:44:33+00:00","description":"SOP (Standard Operating Procedure) General Affair adalah dokumen panduan yang dirancang untuk mengatur proses kerja di divisi General Affair.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/Memahami-Apa-itu-SOP-General-Affair-dan-Manfaatnya.png","width":1200,"height":650,"caption":"contoh sop general affair"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sop-general-affair\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Memahami Apa itu SOP General Affair dan Manfaatnya"}]},{"@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\/7eb92f40eba8b038fa552ba13cd6d88a","name":"Hendra Gunawan","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\/Hendra-Gunawan-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Hendra-Gunawan-96x96.webp","caption":"Hendra Gunawan"},"description":"Hendra adalah ERP Specialist senior dengan pengalaman lebih dari 6 tahun dalam implementasi dan optimasi sistem ERP di berbagai industri. Ia berspesialisasi dalam menulis artikel seputar implementasi dan integrasi modul bisnis, sistem ERP untuk manajemen operasional, dan otomatisasi proses bisnis.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"jobTitle":"Hendra Gunawan - Senior Content Writer - ERP Specialist","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/hendra-gunawan\/"}]}},"focus_keyword":"sop general affair","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/151958","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\/162"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=151958"}],"version-history":[{"count":8,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/151958\/revisions"}],"predecessor-version":[{"id":181864,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/151958\/revisions\/181864"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/151959"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=151958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=151958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=151958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}