{"id":170146,"date":"2025-09-03T15:03:44","date_gmt":"2025-09-03T08:03:44","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=170146"},"modified":"2026-01-23T09:50:44","modified_gmt":"2026-01-23T02:50:44","slug":"jadwal-shift-kerja","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/","title":{"rendered":"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya"},"content":{"rendered":"<p>Apakah perusahaan Anda masih menghadapi kesulitan dalam menyusun jadwal shift kerja karyawan yang teratur? Masalah seperti jadwal yang tidak merata, beban kerja berlebih, hingga kesulitan mengatur rotasi karyawan kerap muncul bila perencanaan masih dilakukan secara manual.<\/p>\n<p>Dengan penerapan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/hr-software-terbaik-di-indonesia\/\">sistem HR modern yang terintegrasi<\/a>, perusahaan dapat mengatur jam kerja lebih adil, memantau kehadiran secara real-time, serta memastikan setiap karyawan mendapat porsi kerja dan waktu istirahat yang seimbang.<\/p>\n<p>Pada artikel ini akan dibahas jenis-jenis, tips membuat serta template jadwal shift kerja untuk pengelolaan jadwal kerja yang tepat sehingga dapat mendukung kelancaran operasional perusahaan. Simak penjelasan lengkapnya!<\/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\">Terdapat beberapa <a href=\"#a\">jenis<\/a> model shift kerja, seperti model 2 shift dengan 3 group, model 3 shift dengan 3 group, dan model 3 shift dengan 4 group.<\/li>\n<li aria-level=\"1\">Dalam membuat jadwal kerja, <a href=\"#b\">Excel<\/a> berperan dalam memudahkan penyusunan jadwal shift dengan tabel karyawan, tanggal, dan jenis shift yang teratur.<\/li>\n<li aria-level=\"1\"><a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource\">Sistem HRM HashMicro<\/a> membantu perusahaan mengatur jadwal shift karyawan secara adil, transparan, dan efisien berbasis cloud.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<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\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2><strong>Dasar-Dasar Pengaturan Shift Kerja <\/strong><\/h2>\n<p>Beberapa negara menetapkan regulasi mengenai sistem kerja shift untuk melindungi hak tenaga kerja. Di Indonesia, aturan ini tertuang dalam <a href=\"https:\/\/disnakertrans.ntbprov.go.id\/jam-kerja-menurut-undang-undang-no-13-tahun-2003-tentang-ketenagakerjaan\/\"><strong>Undang-Undang Nomor 13 Tahun 2003 <\/strong><\/a>tentang Ketenagakerjaan, yang menetapkan batasan jumlah jam kerja harian maupun mingguan.<\/p>\n<p>Dalam Undang &#8211; Undang tersebut tercantum bahwa:<\/p>\n<h3><strong>1. Jam kerja normal<\/strong><\/h3>\n<p><strong>UU No. 13 Tahun 2003 tentang Ketenagakerjaan Pasal 77 ayat (2)<\/strong>:<\/p>\n<ul>\n<li>7 jam per hari dan 40 jam per minggu untuk 6 hari kerja dalam seminggu.<\/li>\n<li>8 jam per hari dan 40 jam per minggu untuk 5 hari kerja dalam seminggu.<\/li>\n<li>PP No. 35 Tahun 2021 (Turunan UU Cipta Kerja) mempertegas ketentuan tersebut dan memberikan fleksibilitas untuk jenis pekerjaan tertentu.<\/li>\n<\/ul>\n<p>Artinya, <strong>perusahaan wajib mengikuti ketentuan jam kerja ini<\/strong> kecuali untuk jenis pekerjaan yang sifatnya tertentu (misalnya pekerjaan shift atau industri yang berjalan terus-menerus).<\/p>\n<p>Berdasarkan regulasi tersebut, pekerja dengan sistem <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/shift-adalah\/\">shift adalah<\/a> pekerja yang hanya diperbolehkan bekerja maksimal 40 jam per minggu. Ketentuannya dibedakan menjadi dua pola, yaitu 7 jam per hari untuk 6 hari kerja, atau 8 jam per hari untuk 5 hari kerja.<\/p>\n<h3><strong>2. Jam istirahat<\/strong><\/h3>\n<p><strong>UU No. 13 Tahun 2003 Pasal 79<\/strong>:<\/p>\n<ul>\n<li>Istirahat minimal 30 menit setelah bekerja selama 4 jam terus-menerus dan tidak termasuk jam kerja.<\/li>\n<li>Hak istirahat mingguan: 1 hari untuk 6 hari kerja atau 2 hari untuk 5 hari kerja.<\/li>\n<\/ul>\n<p><strong>Hak istirahat<\/strong> ini wajib diberikan untuk menjaga kesehatan dan produktivitas karyawan.<\/p>\n<h3><strong>3. Upah lembur <\/strong><\/h3>\n<p><strong>Pasal 78 UU No. 13 Tahun 2003<\/strong> menyebutkan bahwa pekerjaan lembur hanya dapat dilakukan dengan persetujuan pekerja.<\/p>\n<p>Kepmenakertrans No. 102\/MEN\/VI\/2004 tentang Waktu Kerja Lembur dan Upah Kerja Lembur mengatur:<\/p>\n<ul>\n<li>Lembur maksimal 3 jam per hari dan 14 jam per minggu.<\/li>\n<li>Perhitungan upah lembur:<\/li>\n<\/ul>\n<p>1 jam pertama = 1,5 kali upah sejam.<\/p>\n<p>Jam berikutnya = 2 kali upah sejam.<\/p>\n<p><strong>Perusahaan wajib membayar upah lembur<\/strong> sesuai peraturan ini untuk melindungi hak pekerja.<\/p>\n<h2><strong><span id=\"a\">Jenis-Jenis Model Shift Kerja<\/span><\/strong><\/h2>\n<p>Dalam penerapannya, shift kerja dapat terbagi menjadi beberapa model yang dapat diimplementasikan dan disesuaikan dengan kebutuhan perusahaan Anda. Berikut jenis-jenisnya:<\/p>\n<h3><strong>1. 2 shift 3 group<\/strong><\/h3>\n<p>Sistem kerja dengan 2 shift umumnya jarang diterapkan di sektor produksi, namun lebih sering digunakan oleh tenaga keamanan atau perusahaan dengan intensitas produksi tinggi berdasarkan kesepakatan bersama.<\/p>\n<p>Pola kerja ini biasanya menggunakan format 2-2-2, yaitu dua hari masuk pada shift pertama, dua hari berikutnya pada shift kedua, lalu dilanjutkan dengan dua hari libur dalam satu pekan.<\/p>\n<h3><strong>2. 3 shift 3 group<\/strong><\/h3>\n<p>Tidak seperti pola 3 shift 4 group, pada sistem kerja bergilir ini hari libur karyawan sudah ditentukan secara tetap dalam jadwal. Setiap pekerja umumnya masuk selama 6 hari dalam satu minggu.<\/p>\n<p>Model shift seperti ini banyak dipakai oleh perusahaan skala kecil dengan jumlah tenaga kerja yang tidak terlalu banyak. Sistem ini memberikan fleksibilitas karena waktu libur dapat diatur secara konsisten sesuai jadwal yang berlaku.<\/p>\n<h3><strong>3. 3 shift 4 group<\/strong><\/h3>\n<p>Sistem kerja 3 shift dengan 4 group biasanya diterapkan pada perusahaan yang beroperasi penuh 24 jam sehari. Aktivitas kerja berlangsung tanpa henti, kecuali pada momen libur besar atau cuti panjang tertentu.<\/p>\n<p>Dalam pola ini, setiap kelompok bekerja 5 hari per minggu dengan durasi shift 7 jam ditambah waktu istirahat 1 jam. Keunggulan model ini adalah jadwal libur yang lebih fleksibel.<span id=\"model\"><\/span><\/p>\n<h2><strong>Tips Membuat Jadwal Shift Kerja yang Efektif<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-170176\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif.webp\" alt=\"Tips Membuat Jadwal Shift Kerja yang Efektif\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif.webp 1200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-696x392.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Tips-Membuat-Jadwal-Shift-Kerja-yang-Efektif-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Dalam pembuatannya, Anda harus memperhatikan tips-tips berikut agar dapat menciptakan jadwal shift yang benar dan efektif.<\/p>\n<h3><strong>1. Menyesuaikan shift kerja dengan kebutuhan perusahaan<\/strong><\/h3>\n<p>Tips pertama yang wajib diperhatikan dalam membuat jadwal shift kerja adalah mengetahui kebutuhan bisnis dan kondisi karyawan Anda sendiri. Penting juga untuk mengetahui alasan perusahaan Anda membutuhkan sistem shift.<\/p>\n<p>Contohnya seperti jika perusahaan Anda bergerak di bidang manufaktur tentu membutuhkan sistem shift untuk terus memproduksi barang.<\/p>\n<h3><strong>2. Patuhi aturan yang berlaku<\/strong><\/h3>\n<p>Pemerintah telah mengatur ketentuan mengenai jadwal kerja karyawan melalui Undang-Undang Ketenagakerjaan sehingga perusahaan Anda harus mematuhi aturan yang berlaku.<\/p>\n<p>Oleh karena itu, perusahaan wajib memastikan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aturan-jam-kerja-karyawan\/\">aturan jam kerja karyawan<\/a> yang diterapkan tetap sesuai dengan aturan yang berlaku. Perlu diingat, jam kerja karyawan tidak boleh melebihi batas maksimal 40 jam dalam seminggu.<br \/>\n<span id=\"excel\"><\/span><\/p>\n<h2><strong>Manfaat Jadwal Shift Kerja<\/strong><\/h2>\n<p>Penerapan sistem shift dalam perusahaan dapat memastikan operasional tetap berjalan lancar tanpa mengurangi produktivitas dan kesejahteraan karyawan.<\/p>\n<p>Berikut adalah manfaat dari jadwal shift kerja:<\/p>\n<h3><strong>1. Meningkatkan kualitas layanan<\/strong><\/h3>\n<p>Jadwal shift memungkinkan perusahaan melayani pelanggan atau menjalankan produksi sepanjang waktu tanpa harus menambah tenaga kerja baru. Hal ini memastikan selalu ada karyawan yang siap melayani pelanggan dengan energi optimal, terutama di sektor layanan publik dan retail.<\/p>\n<h3><strong>2. Meningkatkan produktivitas perusahaan<\/strong><\/h3>\n<p>Pembagian waktu kerja yang seimbang membantu memaksimalkan output karena setiap shift memiliki tenaga kerja yang fokus dan segar. Dengan sistem shift yang adil, karyawan tidak harus bekerja terlalu lama, sehingga risiko kelelahan dan kesalahan kerja dapat diminimalkan.<\/p>\n<h3><strong>3. Mematuhi regulasi ketenagakerjaan<\/strong><\/h3>\n<p>Dengan pembagian shift yang tepat, manajemen dapat mengatur tenaga kerja sesuai kebutuhan beban kerja sehingga perusahaan dapat memenuhi ketentuan jam kerja dan istirahat sesuai undang-undang, sehingga terhindar dari pelanggaran hukum.<\/p>\n<h3><strong>4. Meningkatkan kesejahteraan dan retensi karyawan<\/strong><\/h3>\n<p>Jadwal shift yang disusun secara proporsional memberikan fleksibilitas bagi karyawan untuk menyeimbangkan tuntutan pekerjaan dan kebutuhan pribadi. Dengan manajemen waktu yang lebih sehat, tingkat kepuasan dan loyalitas karyawan meningkat, sehingga perusahaan dapat menjaga stabilitas tenaga kerja dan mengurangi turnover.<\/p>\n<h2><strong>Cara Membuat Jadwal Kerja dengan Excel<\/strong><\/h2>\n<p>Excel maupun Google Sheets sering dijadikan sebagai pilihan utama untuk <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aplikasi-pembuat-jadwal-kerja\/\">aplikasi pembuat jadwal kerja<\/a> karena keduanya menyediakan fungsi praktis dalam mengatur shift karyawan agar lebih rapi dan sesuai ketentuan.<\/p>\n<p>Melalui Excel, Anda bisa memantau serta menyesuaikan pembagian shift secara langsung. Membuat jadwal shift kerja Excel tergolong mudah, cukup mengikuti beberapa tahapan berikut:<\/p>\n<ul>\n<li><strong>Persiapkan data karyawan yang valid<\/strong>: Siapkan informasi penting karyawan, seperti nama, preferensi shift, tanggal mulai bekerja, hingga masa kontrak.<\/li>\n<li><strong>Buatlah tabel di Excel<\/strong>: Buatlah tabel pada excel yang berisikan nama karyawan, tanggal kerja, serta shift kerja (pagi, siang, malam, libur).<\/li>\n<li><strong>Masukan data pada tabel yang telah dibuat<\/strong>: Isi tabel sesuai nama karyawan dan tanggal kerja, di mana setiap baris mempresentasikan satu hari kerja.<\/li>\n<li><strong>Manfaatkan penggunaan rumus COUNTIF<\/strong>: Gunakan rumus untuk menghitung frekuensi penugasan shift. Contoh sederhana: = COUNTIF(B4:H4,&#8221;1&#8243;) untuk shift pagi, lalu rumus serupa diterapkan pada shift sore, malam, maupun libur.<br \/>\nHitung total jam kerja: Jumlahkan total shift lalu kalikan dengan jam kerja per hari. Misalnya: (I4*7)+(J4*7)+(K4*7), di mana angka 7 mewakili jam kerja harian.<\/li>\n<\/ul>\n<h2><strong><span id=\"b\">Download Contoh Jadwal Shift Kerja Gratis<\/span><\/strong><\/h2>\n<p>Agar manajer dan HR lebih mudah dalam menyusun jadwal kerja shift yang efisien, kami telah menyiapkan template jadwal shift yang bisa diunduh serta disesuaikan dengan kebutuhan perusahaan Anda.<\/p>\n<h3><strong>1. Contoh model jadwal shift kerja 2 shift 3 group<\/strong><\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-170178\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3.webp\" alt=\"Contoh model jadwal shift kerja 2 shift 3 group\" width=\"1321\" height=\"160\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3.webp 1321w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3-300x36.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3-1024x124.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3-768x93.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3-150x18.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3-696x84.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3-1068x129.webp 1068w\" sizes=\"auto, (max-width: 1321px) 100vw, 1321px\" \/><\/p>\n<p>Skema ini mengikuti pola 2-2-2, yakni dalam satu minggu karyawan bekerja 2 hari pada shift pertama, 2 hari pada shift kedua, lalu mendapatkan 2 hari libur. Berikut template jadwal shift kerja excel 2 shift dan 3 group.<\/p>\n<h3><strong>2. Contoh model jadwal shift kerja 3 shift 3 group<\/strong><\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-170179\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3.webp\" alt=\"Contoh model jadwal shift kerja 3 shift 3 group\" width=\"1319\" height=\"160\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3.webp 1319w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3-300x36.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3-1024x124.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3-768x93.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3-150x18.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3-696x84.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-3-grup-3-1068x130.webp 1068w\" sizes=\"auto, (max-width: 1319px) 100vw, 1319px\" \/><\/p>\n<p>Contoh jadwal kerja 3 shift 3 group memiliki ketentuan sebagai berikut:<\/p>\n<ul>\n<li>Waktu kerja cukup fleksibel, di mana shift 1 dapat dimulai pukul 06.00 atau 07.00.<\/li>\n<li>Pergantian shift dimulai dari shift 3 dan bisa diterapkan pula pada sistem 2 group 2 shift.<\/li>\n<li>Untuk shift 1, dapat diberlakukan long shift (07.00\u201319.00) dengan waktu istirahat, namun dibatasi maksimal 15 jam per orang dalam seminggu.<\/li>\n<\/ul>\n<h3><strong>3. Contoh model jadwal shift kerja 3 shift 4 group<\/strong><\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-170180\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4.webp\" alt=\"Contoh model jadwal shift kerja 3 shift 4 group\" width=\"1319\" height=\"216\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4.webp 1319w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4-300x49.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4-1024x168.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4-768x126.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4-150x25.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4-696x114.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Shift-3-grup-4-1068x175.webp 1068w\" sizes=\"auto, (max-width: 1319px) 100vw, 1319px\" \/><\/p>\n<p>Contoh jadwal kerja 3 shift 4 group memiliki ketentuan berikut:<\/p>\n<ul>\n<li>Jam kerja dibagi menjadi tiga bagian: Shift 1 pukul 07.00\u201315.00, Shift 2 pukul 15.00\u201323.00, dan Shift 3 pukul 23.00\u201307.00.<\/li>\n<li>Pergantian dimulai dari shift 3 menuju shift 1 dengan aturan khusus. Setelah menyelesaikan shift 3, karyawan mendapat libur 2 hari sebelum masuk ke jadwal shift 1. Sementara itu, dua hari sebelum libur panjang dari shift 3, pekerja hanya mendapatkan satu hari istirahat, lalu harus mulai kembali bekerja pada malam hari pukul 23.00.<\/li>\n<\/ul>\n<p><strong>Berikut template jadwal shift kerja yang dapat Anda download:<\/strong><\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Template Jadwal Shift Kerja<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Template-Jadwal-Shift-Kerja.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Sekarang<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/shift-2-grup-3.webp\" alt=\"Contoh Jadwal Shift Kerja\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h2><strong>Permudah Pengaturan Jadwal Kerja dengan Sistem HRM HashMicro<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-170181\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro.webp\" alt=\"Permudah Pengaturan Jadwal Kerja dengan Sistem HRM HashMicro\" width=\"1024\" height=\"576\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro-768x432.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro-747x420.webp 747w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/software-hr-hashmicro-696x392.webp 696w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource\">Sistem HRM HashMicro<\/a> hadir dengan sistem berbasis cloud yang dirancang untuk memudahkan perusahaan dalam mengatur jadwal kerja shift karyawan. Sistem ini juga memungkinkan pembagian jadwal yang adil dan transparan sehingga operasional berjalan lebih lancar.<\/p>\n<p>Dengan teknologi canggih dan harga yang kompetitif, HashMicro menjadi pilihan tepat bagi bisnis skala kecil hingga besar yang membutuhkan pengaturan shift kerja yang fleksibel dan akurat.<\/p>\n<p>Berikut fitur unggulan Sistem HRM HashMicro untuk pengelolaan shift:<\/p>\n<ul>\n<li><strong>Hashy AI:<\/strong> <a href=\"https:\/\/www.hashmicro.com\/id\/ai-agent-untuk-hr\/\">Hashy AI<\/a> dapat membantu perusahaan Anda untuk menyusun jadwal otomatis, memproses permintaan tukar shift, serta memberikan notifikasi instan kepada karyawan maupun manajer.<\/li>\n<li><strong>Manajemen Jadwal Terpusat:<\/strong> Semua data jadwal tersimpan rapi dalam satu sistem sehingga mudah diakses kapan saja.<\/li>\n<li><strong>Kepatuhan Jam Kerja:<\/strong> Menjamin distribusi shift sesuai dengan regulasi ketenagakerjaan di Indonesia, termasuk aturan jam kerja dan lembur.<\/li>\n<li><strong>Absensi Online dengan Face Recognition &amp; GPS:<\/strong> Kehadiran terekam otomatis saat karyawan masuk shift, mengurangi risiko manipulasi.<\/li>\n<li><strong>Pemantauan Rotasi Shift:<\/strong> Memudahkan HR dalam memantau pola kerja, menyeimbangkan beban kerja, serta memberikan laporan detail mengenai produktivitas karyawan.<\/li>\n<\/ul>\n<p>Tertarik melihat bagaimana Sistem HRM HashMicro dapat meningkatkan efisiensi pengaturan jadwal kerja di perusahaan Anda? Segera jadwalkan <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">demo gratis<\/a> atau klik banner di bawah untuk mendapatkan penawaran harga sesuai kebutuhan.<\/p>\n<style>\r\n.cta-in-article-image .desktop-banner{\r\n    display: none;\r\n    text-align: center;\r\n}\r\n.cta-in-article-image .desktop-mobile{\r\n    display: block;\r\n    text-align: center;\r\n    width: 100%;\r\n}\r\n\t.cta-in-article a {\r\n\t\tfont-size: 0px !important;\r\n\t\tcolor: #fff; \r\n\t\tpadding: 0px !important; \r\n\t\tborder-radius: 0px !important; \r\n\t\tdisplay: block !important; \r\n\t\ttext-decoration: none; \r\n\t}\r\n\t\r\n\t.cta-in-article {\r\n\t\tmargin: 0px !important;\r\n\t\tpadding: 0px !important;\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t\r\n@media (min-width: 650px) {\r\n    .cta-in-article-image .desktop-banner {\r\n        display: block!important;\r\n    }\r\n}\r\n@media (min-width: 650px) {\r\n   .cta-in-article-image .desktop-mobile {\r\n        display: none!important;\r\n    }\r\n}\r\n<\/style>\r\n<div class=\"cta-in-article-image\">\r\n\t<a href=\"https:\/\/www.hashmicro.com\/id\/offer\/download-skema-harga-software-erp?blog&utm_source=blog&medium=banner-article\" target=\"_blank\" rel=\"noopener\">\r\n\t\t<div id=\"desktop-banner-container\">\r\n\t\t\t<div class=\"desktop-banner\">\r\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/02.Skema-Harga-web-resized.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div id=\"mobile-banner-container\">\r\n\t\t\t<div class=\"desktop-mobile\">\r\n\t\t\t\t<img decoding=\"async\" width=\"372\" height=\"465\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/02.-Skema-Harga-Mobile-372px.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/a>\r\n<\/div>\n<h2><strong>Kesimpulan<\/strong><\/h2>\n<p>Pengelolaan jadwal shift merupakan aspek penting dalam menjaga kelancaran operasional perusahaan, terutama untuk memastikan distribusi jam kerja yang adil, kepatuhan pada regulasi, serta efisiensi manajemen karyawan.<\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/manajemen-human-resource\">Sistem HRM HashMicro<\/a> hadir sebagai solusi terpusat yang memudahkan penyusunan jadwal shift, pemantauan absensi, serta rotasi kerja secara otomatis. Dengan fitur-fitur canggih, sistem ini membantu HR mengurangi risiko jadwal bentrok dan meningkatkan produktivitas.<\/p>\n<p>Bagi bisnis yang ingin mengetahui lebih jauh bagaimana sistem ini dapat mendukung pengaturan shift kerja secara profesional, HashMicro juga menyediakan sesi <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">demo gratis<\/a> yang bisa disesuaikan dengan kebutuhan perusahaan.<\/p>\n\n<h2><strong>Pertanyaan Seputar <\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa itu jadwal shift kerja?<\/strong><\/summary>\n<p>Jadwal shift kerja adalah suatu ketetapan jam kerja karyawan dalam 24 jam. Umumnya, sistem berikut dipakai oleh perusahaan untuk meningkatkan produktivitas karyawan dengan menyesuaikan beban kerja yang lebih terjadwal.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Bagaimana cara kerja jadwal shift?<\/strong><\/summary>\n<p>Jadwal shift menentukan kapan karyawan diharapkan bekerja. Jadwal ini menguraikan hari-hari tertentu, serta waktu mulai dan berakhir untuk setiap shift. Penjadwalan karyawan ini membantu organisasi mempertahankan cakupan tenaga kerja, terutama di industri yang beroperasi di luar jam kerja standar 9-5.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Shift 1, 2, 3 jam berapa?<\/strong><\/summary>\n<p>Shift 1 (Pagi): Biasanya dimulai pukul 08.00 hingga 16.00. Shift 2 (Sore): Dimulai pukul 16.00 hingga 00.00. Shift 3 (Malam): Dimulai pukul 00.00 hingga 08.00.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Apa itu jadwal shift kerja?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Jadwal shift kerja adalah suatu ketetapan jam kerja karyawan dalam 24 jam. Umumnya, sistem berikut dipakai oleh perusahaan untuk meningkatkan produktivitas karyawan dengan menyesuaikan beban kerja yang lebih terjadwal.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana cara kerja jadwal shift?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Jadwal shift menentukan kapan karyawan diharapkan bekerja. Jadwal ini menguraikan hari-hari tertentu, serta waktu mulai dan berakhir untuk setiap shift. Penjadwalan karyawan ini membantu organisasi mempertahankan cakupan tenaga kerja, terutama di industri yang beroperasi di luar jam kerja standar 9-5.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Shift 1, 2, 3 jam berapa?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Shift 1 (Pagi): Biasanya dimulai pukul 08.00 hingga 16.00. Shift 2 (Sore): Dimulai pukul 16.00 hingga 00.00. Shift 3 (Malam): Dimulai pukul 00.00 hingga 08.00.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apakah perusahaan Anda masih menghadapi kesulitan dalam menyusun jadwal shift kerja karyawan yang teratur? Masalah seperti jadwal yang tidak merata, beban kerja berlebih, hingga kesulitan mengatur rotasi karyawan kerap muncul bila perencanaan masih dilakukan secara manual. Dengan penerapan sistem HR modern yang terintegrasi, perusahaan dapat mengatur jam kerja lebih adil, memantau kehadiran secara real-time, serta [&hellip;]<\/p>\n","protected":false},"author":218,"featured_media":170171,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[],"class_list":{"0":"post-170146","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-hrm"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Contoh Jadwal Kerja Shift dengan Excel serta Simulasinya<\/title>\n<meta name=\"description\" content=\"Pelajari cara membuat jadwal kerja shift dengan Excel lengkap dengan simulasi untuk memudahkan manajemen karyawan Anda.\" \/>\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\/jadwal-shift-kerja\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya\" \/>\n<meta property=\"og:description\" content=\"Pelajari cara membuat jadwal kerja shift dengan Excel lengkap dengan simulasi untuk memudahkan manajemen karyawan Anda.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-03T08:03:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-23T02:50:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.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=\"Reno Wicaksana\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reno Wicaksana\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"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\/jadwal-shift-kerja\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/\"},\"author\":{\"name\":\"Reno Wicaksana\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e\"},\"headline\":\"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya\",\"datePublished\":\"2025-09-03T08:03:44+00:00\",\"dateModified\":\"2026-01-23T02:50:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/\"},\"wordCount\":1774,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp\",\"articleSection\":[\"HRM\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/\",\"name\":\"Contoh Jadwal Kerja Shift dengan Excel serta Simulasinya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp\",\"datePublished\":\"2025-09-03T08:03:44+00:00\",\"dateModified\":\"2026-01-23T02:50:44+00:00\",\"description\":\"Pelajari cara membuat jadwal kerja shift dengan Excel lengkap dengan simulasi untuk memudahkan manajemen karyawan Anda.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp\",\"width\":1200,\"height\":675,\"caption\":\"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"name\":\"HashMicro Indonesia\",\"description\":\"Blog Software Manajemen Bisnis Indonesia #1\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\",\"name\":\"HashMicro Indonesia\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"width\":924,\"height\":121,\"caption\":\"HashMicro Indonesia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/hashmicro\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e\",\"name\":\"Reno Wicaksana\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp\",\"caption\":\"Reno Wicaksana\"},\"description\":\"Reno adalah HRM Specialist dan senior content writer dengan pengalaman lebih dari 5 tahun di industri teknologi dan manajemen sumber daya manusia. Secara konsisten mengangkat topik artikel seputar performance management, rekrutmen dan pengembangan SDM, manajemen talenta, dan sistem HRIS untuk pengelolaan karyawan.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/william-w-88353a262\/\"],\"gender\":\"Laki-laki\",\"knowsAbout\":[\"HRM\",\"HRIS\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer on HRIS\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/reno-wicaksana\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Contoh Jadwal Kerja Shift dengan Excel serta Simulasinya","description":"Pelajari cara membuat jadwal kerja shift dengan Excel lengkap dengan simulasi untuk memudahkan manajemen karyawan Anda.","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\/jadwal-shift-kerja\/","og_locale":"id_ID","og_type":"article","og_title":"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya","og_description":"Pelajari cara membuat jadwal kerja shift dengan Excel lengkap dengan simulasi untuk memudahkan manajemen karyawan Anda.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2025-09-03T08:03:44+00:00","article_modified_time":"2026-01-23T02:50:44+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp","type":"image\/webp"}],"author":"Reno Wicaksana","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Reno Wicaksana","Estimasi waktu membaca":"12 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/"},"author":{"name":"Reno Wicaksana","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e"},"headline":"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya","datePublished":"2025-09-03T08:03:44+00:00","dateModified":"2026-01-23T02:50:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/"},"wordCount":1774,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp","articleSection":["HRM"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/","name":"Contoh Jadwal Kerja Shift dengan Excel serta Simulasinya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp","datePublished":"2025-09-03T08:03:44+00:00","dateModified":"2026-01-23T02:50:44+00:00","description":"Pelajari cara membuat jadwal kerja shift dengan Excel lengkap dengan simulasi untuk memudahkan manajemen karyawan Anda.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/09\/Membuat-Contoh-Jadwal-Kerja-Shift-dengan-Excel-dan-Simulasinya-HashMicro.webp","width":1200,"height":675,"caption":"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/jadwal-shift-kerja\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Membuat Contoh Jadwal Kerja Shift dengan Excel dan Simulasinya"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website","url":"https:\/\/www.hashmicro.com\/id\/blog\/","name":"HashMicro Indonesia","description":"Blog Software Manajemen Bisnis Indonesia #1","publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization","name":"HashMicro Indonesia","url":"https:\/\/www.hashmicro.com\/id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","width":924,"height":121,"caption":"HashMicro Indonesia"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hashmicro","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0d3340f667908102d8894da18f80732e","name":"Reno Wicaksana","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Reno-Wicaksana-96x96.webp","caption":"Reno Wicaksana"},"description":"Reno adalah HRM Specialist dan senior content writer dengan pengalaman lebih dari 5 tahun di industri teknologi dan manajemen sumber daya manusia. Secara konsisten mengangkat topik artikel seputar performance management, rekrutmen dan pengembangan SDM, manajemen talenta, dan sistem HRIS untuk pengelolaan karyawan.","sameAs":["https:\/\/www.linkedin.com\/in\/william-w-88353a262\/"],"gender":"Laki-laki","knowsAbout":["HRM","HRIS"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer on HRIS","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/reno-wicaksana\/"}]}},"focus_keyword":"jadwal shift kerja","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/170146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/users\/218"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=170146"}],"version-history":[{"count":9,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/170146\/revisions"}],"predecessor-version":[{"id":186995,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/170146\/revisions\/186995"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/170171"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=170146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=170146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=170146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}