{"id":152118,"date":"2024-12-23T15:04:35","date_gmt":"2024-12-23T08:04:35","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=152118"},"modified":"2026-04-02T10:39:09","modified_gmt":"2026-04-02T03:39:09","slug":"rks-proyek","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/","title":{"rendered":"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya"},"content":{"rendered":"<p>RKS Proyek biasanya dicari saat ada dua momen penting, yaitu menyusun dokumen tender dan mengunci acuan kerja sebelum pelaksanaan dimulai. Di tahap ini, semua pihak butuh satu dokumen yang menjawab hal-hal praktis seperti materialnya apa, standar mutunya bagaimana, metode kerja yang boleh dipakai seperti apa, dan batas pekerjaan kontraktor sampai mana.<\/p>\n<p>Secara fungsi, Rencana Kerja dan Syarat-syarat (RKS) membantu menutup celah tafsir yang sering membuat pekerjaan di lapangan berbeda dari ekspektasi owner. Kalau spesifikasi, cara uji mutu, atau ketentuan administrasi ditulis jelas sejak awal, koordinasi jadi lebih cepat dan keputusan tidak bolak-balik.<\/p>\n<p>Di bawah ini, pembahasan akan fokus pada apa itu RKS Proyek, fungsi utamanya, komponen yang wajib ada, dan contoh penerapannya supaya dokumen ini benar-benar bisa dipakai sebagai acuan kerja.<\/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 aria-level=\"1\"><a href=\"#rks\">RKS Proyek<\/a> adalah dokumen acuan yang mengunci spesifikasi teknis, persyaratan administrasi, dan ruang lingkup pekerjaan dalam proyek konstruksi\/pengadaan.<\/li>\n<li aria-level=\"1\"><b><a href=\"#komponen\">Komponen<\/a><\/b> RKS yang kuat bukan hanya lengkap, tetapi punya detail yang bisa dieksekusi seperti standar material, metode kerja, jadwal, dan aturan quality control.<\/li>\n<li aria-level=\"1\">Terdapat <strong><a href=\"#syarat\">3 syarat<\/a><\/strong> RKS yang harus dipenuhi di Indonesia, yaitu ketentuan umum, syarat administrasi, dan syarat teknis.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script> <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n\n<h2><span id=\"pengertian\"><\/span><strong>RKS Proyek Dipakai di Tahap Apa Saja?<\/strong><\/h2>\n<p>RKS Proyek dipakai sejak tahap perencanaan, lalu menjadi pegangan utama saat proses tender sampai kontrak ditandatangani. Di fase ini, RKS membantu owner dan tim pengadaan menjelaskan standar kerja yang diminta, sehingga kontraktor bisa menghitung penawaran dengan acuan yang sama.<\/p>\n<p>Begitu proyek berjalan, RKS tetap dipakai sebagai referensi harian untuk memastikan metode kerja, spesifikasi material, dan standar mutu tidak berubah-ubah di lapangan.<\/p>\n<p>Saat ada perubahan pekerjaan, revisi desain, atau pembahasan klaim, RKS juga sering jadi titik balik untuk memastikan apa yang memang termasuk scope dan apa yang seharusnya masuk variasi\/addendum.<\/p>\n<p>Saat proyek sudah berjalan, versi dokumen, persetujuan, dan catatan perubahan biasanya lebih rapi kalau alurnya ditopang <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-penting-untuk-perusahaan-konstruksi\/\"><b><i>software<\/i> konstruksi khusus proyek<\/b><\/a>\u00a0yang bisa melacak revisi dan status dokumen.<\/p>\n<h2><span id=\"komponen\"><\/span><b>Komponen yang Wajib Ada di RKS Proyek<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-152121 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks.webp\" alt=\"rks adalah\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/komponen-wajib-dalam-dokumen-rks-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/>Supaya RKS tidak berhenti di dokumen yang lengkap, tiap komponen sebaiknya punya detail yang bisa dieksekusi.<\/p>\n<p>Cara paling cepat menilai kualitas RKS adalah mengecek apakah setiap bagian sudah menjawab apa yang dikerjakan, standar apa yang dipakai, dan bagaimana cara membuktikan hasilnya benar. Baca tabel checklist berikut untuk memastikan kelengkapan RKS Anda.<\/p>\n<div style=\"border: 2px solid #990000; background: #fff; border-radius: 10px; box-shadow: 0 3px 10px rgba(0,0,0,.08); font-family: Arial,sans-serif; margin: 18px 0; overflow: hidden;\">\n<div style=\"background: #990000; color: #fff; padding: 12px 16px; font-size: 18px; font-weight: bold; line-height: 1.3;\">Komponen Wajib dalam Dokumen RKS dan Cara Ceknya Cepat<\/div>\n<table style=\"width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 15px; color: #222;\">\n<thead>\n<tr style=\"background: #ffe9ea;\">\n<th style=\"padding: 12px 14px; text-align: left; border-bottom: 2px solid #990000; width: 22%; vertical-align: top;\">Komponen<\/th>\n<th style=\"padding: 12px 14px; text-align: left; border-bottom: 2px solid #990000; width: 43%; vertical-align: top;\">Isi Minimal yang Seharusnya Ada<\/th>\n<th style=\"padding: 12px 14px; text-align: left; border-bottom: 2px solid #990000; width: 35%; vertical-align: top;\">Cek Cepat (supaya tidak ambigu)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #ffffff;\">\n<td style=\"padding: 12px 14px; font-weight: bold; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word;\">Informasi umum<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Nama proyek, lokasi, pihak terkait, tujuan, ruang lingkup ringkas, serta referensi gambar\/dokumen pendukung.<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Apakah scope ditulis jelas (termasuk yang <strong>tidak termasuk<\/strong>) dan ada rujukan dokumen lain yang konsisten?<\/td>\n<\/tr>\n<tr style=\"background: #f3f4f6;\">\n<td style=\"padding: 12px 14px; font-weight: bold; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word;\">Spesifikasi material<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Jenis material, mutu\/grade, standar (mis. SNI), toleransi, serta alur <em>submittal<\/em> dan approval material.<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Apakah tertulis <strong>grade\/standar + toleransi + bukti uji<\/strong> yang dianggap sah?<\/td>\n<\/tr>\n<tr style=\"background: #ffffff;\">\n<td style=\"padding: 12px 14px; font-weight: bold; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word;\">Metode pelaksanaan<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Urutan kerja, metode yang diizinkan, alat\/tenaga minimal (jika perlu), serta titik kontrol pekerjaan.<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Apakah langkah kerja bisa dipakai tim lapangan dan titik inspeksinya jelas (kapan dicek, oleh siapa)?<\/td>\n<\/tr>\n<tr style=\"background: #f3f4f6;\">\n<td style=\"padding: 12px 14px; font-weight: bold; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word;\">Jadwal pelaksanaan<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Timeline, milestone, dependensi kerja utama, serta aturan perubahan jadwal bila terjadi hambatan.<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Apakah milestone masuk akal dan ada ketentuan saat perlu percepatan atau terjadi keterlambatan?<\/td>\n<\/tr>\n<tr style=\"background: #ffffff;\">\n<td style=\"padding: 12px 14px; font-weight: bold; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word;\">Ketentuan administratif<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Dokumen wajib, format laporan\/BA, mekanisme korespondensi, termin pembayaran, aturan klaim &amp; variasi, serta perizinan yang relevan.<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Apakah alur dokumen jelas: siapa membuat, siapa memeriksa, siapa menyetujui, dan batas waktunya?<\/td>\n<\/tr>\n<tr style=\"background: #f3f4f6;\">\n<td style=\"padding: 12px 14px; font-weight: bold; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word;\">Quality control<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Standar mutu, metode inspeksi\/pengujian, sampling vs full check, <em>acceptance criteria<\/em>, serta prosedur NCR\/penanganan defect.<\/td>\n<td style=\"padding: 12px 14px; border-top: 1px solid #e8e8e8; vertical-align: top; word-break: break-word; line-height: 1.55;\">Apakah <strong>acceptance criteria<\/strong> terukur dan ada prosedur jelas jika hasil tidak sesuai?<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"padding: 12px 16px; border-top: 1px solid #eee; background: #fafafa; font-size: 14px; line-height: 1.55; color: #333;\"><strong>Catatan cepat:<\/strong> Kalau satu komponen masih &#8216;umum&#8217;, biasanya interpretasi di lapangan gampang melebar. Pastikan ada angka, standar, dan bukti verifikasi yang bisa dicek.<\/div>\n<\/div>\n<p>Di proyek yang sudah mulai detail, komponen RKS biasanya berjalan bareng dokumen kuantitas dan perhitungan biaya, jadi tim sering menyandingkannya dengan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/7-software-rab-kontraktor-terbaik-untuk-manajemen-prakonstruksi\/\">aplikasi RAB untuk bisnis konstruksi<\/a> agar angka dan spesifikasi tetap satu suara<\/p>\n<h2><strong>Apa yang Jadi Lebih Mudah Kalau RKS Rapi?<\/strong><\/h2>\n<p>RKS yang rapi tak harus selalu tebal. Justru dokumen yang tertata, lengkap dengan informasi proyek yang Anda butuhkan, yang membuat pekerjaan lebih mudah. Jadi, apa saja yang lebih mudah dengan RKS yang tertata?<\/p>\n<h3><b>1. Pembahasan tender lebih terarah<\/b><\/h3>\n<p>RKS yang menuliskan spesifikasi, standar acuan, dan batas pekerjaan sejak awal membuat sesi klarifikasi fokus pada hal teknis yang benar-benar perlu dipastikan. Poin yang sering diperdebatkan seperti item yang termasuk\/di luar lingkup, sudah seragam.<\/p>\n<h3><b>2. Persetujuan material tidak berputar-putar<\/b><\/h3>\n<p>Batas pekerjaan yang termasuk dan tidak termasuk bisa ditulis Saat RKS proyek menyebutkan parameter yang harus dipenuhi (mutu\/grade, toleransi, standar uji, dan dokumen pendukung), proses submittal menjadi lebih jelas arahnya. Vendor tahu apa yang harus disiapkan, tim proyek tahu apa yang dinilai, dan revisi berulang biasanya berkurang.<\/p>\n<h3><b>3. Inspeksi pekerjaan lebih konsisten<\/b><\/h3>\n<p>Kalau titik inspeksi dan kriteria penerimaan ditulis tegas, pemeriksaan tidak perlu menunggu penilaian subjektif. Urutan pengecekan menjadi lebih rapi, karena semua pihak tahu kapan diperiksa, apa yang diukur, dan bagaimana hasilnya dinyatakan sesuai.<\/p>\n<h3><b>4. Ketidaksesuaian lebih cepat ditangani<\/b><\/h3>\n<p>Pekerjaan atau material yang tidak sesuai tetap bisa terjadi, tapi tindak lanjutnya tidak perlu melebar. RKS yang rapi umumnya sudah mengarahkan status barang\/pekerjaan (misalnya hold\/karantina\/reject), alur pelaporan, dan bukti yang dibutuhkan sebelum keputusan diambil.<\/p>\n<h3><b>5. Perubahan pekerjaan lebih mudah diputuskan<\/b><\/h3>\n<p>Saat ada permintaan tambahan atau revisi, RKS membantu membedakan mana yang masih termasuk lingkup awal dan mana yang perlu addendum\/variasi. Pembahasannya lebih singkat karena rujukannya jelas, bukan tarik-menarik definisi.<\/p>\n<h3><strong>6. Administrasi dan serah terima lebih lancar<\/strong><\/h3>\n<p>RKS yang menyebut <b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/project-tracking-dashboard\/\"><i>project tracking<\/i><\/a><\/b>, format laporan, deliverable per tahap, serta dokumen yang harus dilampirkan membuat proses berita acara dan verifikasi progres lebih tertib. Di tahap akhir, pengecekan juga lebih mudah karena standar mutu dan dokumen buktinya sudah disiapkan sejak awal.<\/p>\n<h2><strong>Struktur Isi RKS Proyek Konstruksi Indonesia<\/strong><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek.webp\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-152120 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek.webp\" alt=\"fungsi rks proyek\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/fungsi-rks-proyek-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<p>Secara praktik, RKS biasanya dibagi ke tiga kelompok besar: ketentuan umum, persyaratan administratif, dan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/performance-bond-adalah\/\">persyaratan teknis yang harus dipatuhi bersama<\/a>.<\/p>\n<h3><strong>1. Ketentuan umum\u00a0<\/strong><\/h3>\n<p>Bagian ini menjelaskan hal-hal pokok yang menjadi acuan pelaksanaan proyek, antara lain:<\/p>\n<ul>\n<li>ruang lingkup pekerjaan dan batasan pekerjaan kontraktor,<\/li>\n<li>standar mutu yang digunakan,<\/li>\n<li>ketentuan umum pelaksanaan di lapangan,<\/li>\n<li>serta garis besar jadwal dan pengaturan waktu pelaksanaan.<\/li>\n<\/ul>\n<p>Output yang biasanya dicari dari bagian ini adalah batas &#8216;termasuk\u2013tidak termasuk&#8217; dan acuan standar, supaya pembahasan scope tidak berulang. Kalau ketentuan umum terlalu umum, yang muncul biasanya debat interpretasi saat pekerjaan sudah berjalan.<\/p>\n<h3><strong>2. Persyaratan administratif<\/strong><\/h3>\n<p>Syarat administrasi biasanya berisi ketentuan terkait dokumen dan kewajiban administratif, misalnya:<\/p>\n<ul>\n<li>perizinan dan legalitas (izin bangunan, status lahan, dsb.),<\/li>\n<li>bentuk dan tata cara penyerahan laporan, berita acara, dan korespondensi,<\/li>\n<li>kewajiban asuransi dan jaminan (jaminan pelaksanaan, jaminan pemeliharaan, dsb.),<\/li>\n<li>serta hak dan kewajiban para pihak dalam hal pembayaran dan klaim.<\/li>\n<\/ul>\n<p>Bagian ini biasanya jadi pegangan saat menyiapkan dokumen progres, penagihan, dan administrasi variasi. Kalau administrasinya tidak jelas, pekerjaan bisa jalan tapi dokumen tertinggal, lalu menumpuk di akhir.<\/p>\n<h3><strong>3. Syarat teknis<\/strong><\/h3>\n<p>Memuat gambar rencana yang disetujui, spesifikasi material dan metode kerja, ketentuan K3, serta pengujian\/inspeksi dan quality control.<\/p>\n<p>Di sini yang paling penting adalah kriteria penerimaan dan cara verifikasinya, supaya keputusan mutu tidak bergantung pada opini. Kalau syarat teknis tidak tegas, rework dan NCR lebih mudah muncul, terutama di pekerjaan yang cepat tertutup.<\/p>\n<p>Karena RKS menyentuh mutu, waktu, biaya, dan pembuktian pekerjaan, pengelolaannya perlu rapi sejak awal agar perubahan dan penelusuran di lapangan tidak membuang waktu.<\/p>\n<h2><b>Contoh RKS Proyek<\/b><\/h2>\n<p>Berikut kami sajikan <b>contoh RKS proyek sederhana <\/b>yang bisa langsung Anda gunakan sebagai panduan.<\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek.webp\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-152119 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek.webp\" alt=\"contoh rks proyek\" width=\"1242\" height=\"1755\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek.webp 1242w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-212x300.webp 212w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-725x1024.webp 725w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-768x1085.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-1087x1536.webp 1087w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-297x420.webp 297w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-150x212.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-300x424.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-696x983.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/contoh-rks-proyek-1068x1509.webp 1068w\" sizes=\"auto, (max-width: 1242px) 100vw, 1242px\" \/><\/a>Contoh RKS konstruksi di atas memuat rencana pembangunan mall modern di kota Jakarta. Dengan penjelasan deskriptif yang mendetail, RKS di atas akan menjembatani komunikasi antara vendor konstruksi Anda dengan klien.<\/p>\n<h2><strong>Hal yang Membuat RKS Proyek Sering Revisi<\/strong><\/h2>\n<p>Biasanya, dalam membuat RKS, Anda pasti harus berhadapan dengan revisi. Tapi, apakah Anda tahu apa saja hal-hal yang membuat RKS sering revisi?<\/p>\n<h3><strong>1. Kalimat masih ambigu<\/strong><\/h3>\n<p>Frasa seperti &#8216;sesuai kondisi lapangan&#8217; atau &#8216;material setara&#8217; ditulis tanpa batasan yang jelas. Akibatnya, reviewer sulit memastikan standar yang dipakai dan tim lapangan mudah berbeda tafsir.<\/p>\n<h3><strong>2. Standar acuan tidak spesifik<\/strong><\/h3>\n<p>RKS menulis &#8216;mengikuti standar yang berlaku&#8217; tanpa menyebut standar apa yang dirujuk. Saat dicek, bagian ini biasanya diminta dilengkapi karena menjadi dasar inspeksi dan penerimaan hasil kerja.<\/p>\n<h3><strong>3. Kriteria penerimaan belum terukur<\/strong><\/h3>\n<p>Ada spesifikasi, tetapi tidak disertai acceptance criteria yang bisa diperiksa (misalnya toleransi, kelas mutu, metode pengukuran, atau parameter uji). Ini membuat keputusan QC terlihat tidak konsisten.<\/p>\n<h3><strong>4. Titik inspeksi dan metode uji tidak ditetapkan<\/strong><\/h3>\n<p>Quality control disebut, namun tidak menjelaskan kapan inspeksi dilakukan, item apa yang dicek, dan bukti yang harus dicatat. Tanpa ini, jejak verifikasi di lapangan cenderung lemah.<\/p>\n<h3><strong>5. Metode ukur volume dan dasar perhitungan progres tidak jelas<\/strong><\/h3>\n<p>Item pekerjaan ada, tetapi cara mengukurnya tidak tegas (per m\u00b2, m\u00b3, titik, set, atau lumpsum). Di fase progres dan pembayaran, perbedaan interpretasi sering muncul dari sini.<\/p>\n<h3><strong>6. Rujukan tidak konsisten dengan gambar kerja atau BoQ<\/strong><\/h3>\n<p>Nama item, spesifikasi, atau lingkup pekerjaan di RKS berbeda dengan gambar\/BoQ (bill of quantity). Reviewer umumnya meminta sinkronisasi karena dokumen yang tidak selaras akan menyulitkan tender dan pelaksanaan.<\/p>\n<h3><strong>7. Batas pekerjaan pendukung tidak disebutkan<\/strong><\/h3>\n<p>Hal-hal seperti proteksi area kerja, pekerjaan sementara, pembersihan, pembuangan material, atau uji coba sering tidak ditulis siapa penanggung jawabnya. Bagian ini perlu tegas agar tidak muncul perdebatan saat eksekusi.<\/p>\n<h3><strong>8. Deliverable administrasi tidak lengkap<\/strong><\/h3>\n<p>RKS meminta laporan atau berita acara, tetapi tidak menjelaskan format minimum, frekuensi, lampiran wajib, dan alur persetujuannya. Dampaknya, dokumen berjalan sendiri-sendiri dan sulit ditelusuri.<\/p>\n<h2><strong>Cara Cek RKS yang Sudah Jadi Dalam 10 Menit<\/strong><\/h2>\n<p>Jika perlu pemeriksaan cepat, fokus pada hal yang menentukan apakah RKS bisa dipakai, seperti di bawah ini.<\/p>\n<div style=\"border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; background: #ffffff; font-family: Arial, sans-serif; color: #111827; margin: 18px 0;\">\n<div style=\"background: #9B111E; color: #ffffff; padding: 14px 16px;\">\n<div style=\"font-size: 18px; font-weight: bold; line-height: 1.2;\">Checklist Cek RKS Dalam 10 Menit<\/div>\n<div style=\"font-size: 13px; opacity: 0.92; line-height: 1.35; margin-top: 4px;\">Tandai poin yang sudah beres. Fokus pada hal yang menentukan RKS siap dipakai.<\/div>\n<\/div>\n<div style=\"padding: 14px 16px;\">\n<form><!-- Item 1 --><br \/>\n<label style=\"display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid #f1f5f9; border-radius: 10px; background: #fafafa; margin-bottom: 10px; cursor: pointer;\"><br \/>\n<input style=\"margin-top: 3px; accent-color: #9B111E; width: 18px; height: 18px; flex: 0 0 auto;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><span style=\"display: block; font-weight: bold; line-height: 1.35;\">Scope dan batas pekerjaan sudah jelas<\/span><span style=\"display: block; font-size: 14px; line-height: 1.55; color: #374151; margin-top: 4px;\">Pastikan ada ruang lingkup, batas pekerjaan kontraktor, dan item yang tidak termasuk. Bagian ini biasanya jadi sumber klaim kalau dibiarkan menggantung.<br \/>\n<\/span><\/span><br \/>\n<\/label><!-- Item 2 --><br \/>\n<label style=\"display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid #f1f5f9; border-radius: 10px; background: #ffffff; margin-bottom: 10px; cursor: pointer;\"><br \/>\n<input style=\"margin-top: 3px; accent-color: #9B111E; width: 18px; height: 18px; flex: 0 0 auto;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><span style=\"display: block; font-weight: bold; line-height: 1.35;\">Standar acuan sudah disebutkan<\/span><span style=\"display: block; font-size: 14px; line-height: 1.55; color: #374151; margin-top: 4px;\">Cari rujukan standar untuk pekerjaan\/material yang penting. Hindari kalimat \u201cmengikuti standar yang berlaku\u201d tanpa menyebut standar yang dipakai.<br \/>\n<\/span><\/span><br \/>\n<\/label><!-- Item 3 --><br \/>\n<label style=\"display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid #f1f5f9; border-radius: 10px; background: #fafafa; margin-bottom: 10px; cursor: pointer;\"><br \/>\n<input style=\"margin-top: 3px; accent-color: #9B111E; width: 18px; height: 18px; flex: 0 0 auto;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><span style=\"display: block; font-weight: bold; line-height: 1.35;\">Spesifikasi bisa diverifikasi di lapangan<\/span><span style=\"display: block; font-size: 14px; line-height: 1.55; color: #374151; margin-top: 4px;\">Minimal ada mutu\/grade, dimensi, toleransi, dan ketentuan pemasangan. Kalau masih deskripsi umum, bagian ini biasanya diminta revisi.<br \/>\n<\/span><\/span><\/label><label style=\"display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid #f1f5f9; border-radius: 10px; background: #ffffff; margin-bottom: 10px; cursor: pointer;\"><br \/>\n<input style=\"margin-top: 3px; accent-color: #9B111E; width: 18px; height: 18px; flex: 0 0 auto;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><span style=\"display: block; font-weight: bold; line-height: 1.35;\">Metode ukur volume dan dasar progres jelas<\/span><span style=\"display: block; font-size: 14px; line-height: 1.55; color: #374151; margin-top: 4px;\">Pastikan unit hitung dan cara pengukuran progres ditulis tegas (mis. m\u00b2\/m\u00b3\/titik\/set\/lumpsum) agar tidak muncul selisih interpretasi.<br \/>\n<\/span><\/span><\/label><label style=\"display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid #f1f5f9; border-radius: 10px; background: #fafafa; margin-bottom: 10px; cursor: pointer;\"><br \/>\n<input style=\"margin-top: 3px; accent-color: #9B111E; width: 18px; height: 18px; flex: 0 0 auto;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><span style=\"display: block; font-weight: bold; line-height: 1.35;\">QC, titik inspeksi, dan metode uji ditetapkan<\/span><span style=\"display: block; font-size: 14px; line-height: 1.55; color: #374151; margin-top: 4px;\">Cek kapan inspeksi dilakukan, item yang diuji, dan bukti yang harus dicatat. Ini yang biasanya dicari pengawas dan QA\/QC.<br \/>\n<\/span><\/span><\/label><label style=\"display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid #f1f5f9; border-radius: 10px; background: #ffffff; cursor: pointer;\"><br \/>\n<input style=\"margin-top: 3px; accent-color: #9B111E; width: 18px; height: 18px; flex: 0 0 auto;\" type=\"checkbox\" \/><br \/>\n<span style=\"display: block;\"><span style=\"display: block; font-weight: bold; line-height: 1.35;\">Deliverable administrasi dan alur persetujuan tertib<\/span><span style=\"display: block; font-size: 14px; line-height: 1.55; color: #374151; margin-top: 4px;\">Pastikan dokumen yang harus diserahkan disebutkan jelas, termasuk momen penyerahan dan alur approval, supaya tidak menumpuk di akhir proyek.<br \/>\n<\/span><\/span><br \/>\n<\/label><\/form>\n<div style=\"margin-top: 12px; padding: 12px; border-radius: 10px; background: #fff7f7; border: 1px solid #f2c6c9; font-size: 14px; line-height: 1.55; color: #374151;\"><span style=\"font-weight: bold; color: #9b111e;\">Catatan:<\/span><br \/>\nJika keenam poin ini sudah aman, RKS umumnya siap dipakai. Sisanya tinggal penyelarasan detail dengan gambar kerja dan BoQ.<\/div>\n<\/div>\n<\/div>\n<h2><b>Kesimpulan<\/b><\/h2>\n<p>RKS (Rencana Kerja dan Syarat-syarat) dipakai sebagai pegangan kerja supaya spesifikasi, metode, jadwal, dan aturan administrasi terbaca sama oleh semua pihak. Selama isinya konsisten dengan gambar kerja dan BoQ, RKS membantu mengurangi revisi, klaim, dan debat saat proyek sudah berjalan.<\/p>\n<p>Agar RKS benar-benar bisa dipakai di lapangan, fokusnya bukan menambah halaman, tetapi mengunci hal-hal yang bisa diperiksa. Kalau bagian-bagian ini rapi, proses tender sampai pengendalian mutu biasanya lebih tertib.<\/p>\n<p>Bila diperlukan, <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">konsultasi singkat dengan tim<\/a> yang terbiasa menangani dokumen proyek juga bisa membantu mengecek konsistensi RKS lebih cepat.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/id\/hash-construction-software?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/47-Construction-Desktop.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/47-Construction-Desktop.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/02\/47-Construction-Mobile.webp\" alt=\"HashConstructionSuite\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2><b>Pertanyaan Seputar RKS Proyek<\/b><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><b>Dokumen RKS itu apa?<\/b><\/summary>\n<p>Dokumen RKS (Rencana Kerja dan Syarat) adalah panduan tertulis yang memuat spesifikasi teknis, jadwal, metode pelaksanaan, dan syarat administratif proyek konstruksi.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><b>Apa itu PK dalam proyek?<\/b><\/summary>\n<p>PK (Pemilik Kerja) adalah pihak yang memberikan mandat pelaksanaan proyek, seperti perusahaan atau individu yang membiayai dan mengawasi hasil proyek.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><b>Apa itu SKT dalam proyek?<\/b><\/summary>\n<p>SKT (Sertifikat Keterampilan) adalah dokumen resmi yang membuktikan keahlian tenaga kerja dalam bidang konstruksi tertentu sesuai standar nasional.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><b>Berapa tahun sekali RKS dibuat?<\/b><\/summary>\n<p>RKS dibuat setiap kali proyek baru direncanakan, tidak tergantung waktu tertentu, melainkan sesuai kebutuhan proyek tersebut.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Siapa yang menyusun RKS Proyek?<\/strong><\/summary>\n<p>RKS umumnya disusun oleh konsultan perencana atau tim teknis pemilik proyek, kemudian digunakan oleh kontraktor sebagai acuan pelaksanaan.<\/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\": \"Dokumen RKS itu apa?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Dokumen RKS (Rencana Kerja dan Syarat) adalah panduan tertulis yang memuat spesifikasi teknis, jadwal, metode pelaksanaan, dan syarat administratif proyek konstruksi.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa itu PK dalam proyek?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"PK (Pemilik Kerja) adalah pihak yang memberikan mandat pelaksanaan proyek, seperti perusahaan atau individu yang membiayai dan mengawasi hasil proyek.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa itu SKT dalam proyek?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"SKT (Sertifikat Keterampilan) adalah dokumen resmi yang membuktikan keahlian tenaga kerja dalam bidang konstruksi tertentu sesuai standar nasional.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Berapa tahun sekali RKS dibuat?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"RKS dibuat setiap kali proyek baru direncanakan, tidak tergantung waktu tertentu, melainkan sesuai kebutuhan proyek tersebut.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Siapa yang menyusun RKS Proyek?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"RKS umumnya disusun oleh konsultan perencana atau tim teknis pemilik proyek, kemudian digunakan oleh kontraktor sebagai acuan pelaksanaan.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>RKS Proyek biasanya dicari saat ada dua momen penting, yaitu menyusun dokumen tender dan mengunci acuan kerja sebelum pelaksanaan dimulai. Di tahap ini, semua pihak butuh satu dokumen yang menjawab hal-hal praktis seperti materialnya apa, standar mutunya bagaimana, metode kerja yang boleh dipakai seperti apa, dan batas pekerjaan kontraktor sampai mana. Secara fungsi, Rencana Kerja [&hellip;]<\/p>\n","protected":false},"author":229,"featured_media":178886,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[5702],"class_list":{"0":"post-152118","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-construction","8":"tag-artikel-terkait"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya<\/title>\n<meta name=\"description\" content=\"RKS Proyek adalah dokumen yang memuat perencanaan proyek termasuk jadwal, spesifikasi teknis, serta persyaratan yang harus dipenuhi.\" \/>\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\/rks-proyek\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya\" \/>\n<meta property=\"og:description\" content=\"RKS Proyek adalah dokumen yang memuat perencanaan proyek termasuk jadwal, spesifikasi teknis, serta persyaratan yang harus dipenuhi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/\" \/>\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-23T08:04:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-02T03:39:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/RKS.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Nabila Zulfa Damayanti\" \/>\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=\"Nabila Zulfa Damayanti\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 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\\\/rks-proyek\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/\"},\"author\":{\"name\":\"Nabila Zulfa Damayanti\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/ac5fa26c553667f171195df8ddcf143c\"},\"headline\":\"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya\",\"datePublished\":\"2024-12-23T08:04:35+00:00\",\"dateModified\":\"2026-04-02T03:39:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/\"},\"wordCount\":1940,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/RKS.webp\",\"keywords\":[\"Artikel Terkait\"],\"articleSection\":[\"Construction Suite\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/\",\"name\":\"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/RKS.webp\",\"datePublished\":\"2024-12-23T08:04:35+00:00\",\"dateModified\":\"2026-04-02T03:39:09+00:00\",\"description\":\"RKS Proyek adalah dokumen yang memuat perencanaan proyek termasuk jadwal, spesifikasi teknis, serta persyaratan yang harus dipenuhi.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/RKS.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/RKS.webp\",\"width\":1200,\"height\":675,\"caption\":\"rks proyek\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/rks-proyek\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya\"}]},{\"@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\\\/ac5fa26c553667f171195df8ddcf143c\",\"name\":\"Nabila Zulfa Damayanti\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cropped-Nala-96x96.jpg\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cropped-Nala-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cropped-Nala-96x96.jpg\",\"caption\":\"Nabila Zulfa Damayanti\"},\"description\":\"Nabila sudah menjadi spesialis yang berpengalaman selama lebih dari 2 tahun dalam bidang penulisan topik ERP. Dalam prosesnya, topik penulisan yang diangkat meliputi implementasi sistem ERP, integrasi proses bisnis, serta pemanfaatan ERP untuk meningkatkan efisiensi dan visibilitas operasional perusahaan.\",\"gender\":\"perempuan\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/author\\\/nabila-zulfa\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya","description":"RKS Proyek adalah dokumen yang memuat perencanaan proyek termasuk jadwal, spesifikasi teknis, serta persyaratan yang harus dipenuhi.","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\/rks-proyek\/","og_locale":"id_ID","og_type":"article","og_title":"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya","og_description":"RKS Proyek adalah dokumen yang memuat perencanaan proyek termasuk jadwal, spesifikasi teknis, serta persyaratan yang harus dipenuhi.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-12-23T08:04:35+00:00","article_modified_time":"2026-04-02T03:39:09+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/RKS.webp","type":"image\/webp"}],"author":"Nabila Zulfa Damayanti","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Nabila Zulfa Damayanti","Estimasi waktu membaca":"12 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/"},"author":{"name":"Nabila Zulfa Damayanti","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/ac5fa26c553667f171195df8ddcf143c"},"headline":"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya","datePublished":"2024-12-23T08:04:35+00:00","dateModified":"2026-04-02T03:39:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/"},"wordCount":1940,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/RKS.webp","keywords":["Artikel Terkait"],"articleSection":["Construction Suite"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/","name":"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/RKS.webp","datePublished":"2024-12-23T08:04:35+00:00","dateModified":"2026-04-02T03:39:09+00:00","description":"RKS Proyek adalah dokumen yang memuat perencanaan proyek termasuk jadwal, spesifikasi teknis, serta persyaratan yang harus dipenuhi.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/RKS.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/RKS.webp","width":1200,"height":675,"caption":"rks proyek"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/rks-proyek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Apa itu RKS Proyek, Fungsi, Komponen dan Contohnya"}]},{"@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\/ac5fa26c553667f171195df8ddcf143c","name":"Nabila Zulfa Damayanti","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cropped-Nala-96x96.jpg","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cropped-Nala-96x96.jpg","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/04\/cropped-Nala-96x96.jpg","caption":"Nabila Zulfa Damayanti"},"description":"Nabila sudah menjadi spesialis yang berpengalaman selama lebih dari 2 tahun dalam bidang penulisan topik ERP. Dalam prosesnya, topik penulisan yang diangkat meliputi implementasi sistem ERP, integrasi proses bisnis, serta pemanfaatan ERP untuk meningkatkan efisiensi dan visibilitas operasional perusahaan.","gender":"perempuan","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/nabila-zulfa\/"}]}},"focus_keyword":"RKS Proyek","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/152118","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\/229"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=152118"}],"version-history":[{"count":22,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/152118\/revisions"}],"predecessor-version":[{"id":191837,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/152118\/revisions\/191837"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/178886"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=152118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=152118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=152118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}