{"id":4700,"date":"2026-05-28T14:22:09","date_gmt":"2026-05-28T14:22:09","guid":{"rendered":"https:\/\/glacademy.edu.my\/academic-calendar\/"},"modified":"2026-06-07T18:05:05","modified_gmt":"2026-06-07T18:05:05","slug":"academic-calendar","status":"publish","type":"page","link":"https:\/\/glacademy.edu.my\/ms\/academic-calendar\/","title":{"rendered":"Academic Calendar"},"content":{"rendered":"<!-- GL Academy \u2014 Academic Calendar 2026 (Malay) -->\n\n<!-- HERO -->\n<section class=\"acal-hero\">\n  <div class=\"acal-hero__bg\" aria-hidden=\"true\"><\/div>\n  <div class=\"acal-hero__inner\">\n    <span class=\"acal-eyebrow\">GL Academy<\/span>\n    <h1 class=\"acal-hero__title\">Kalendar Akademik <span class=\"hp-gradient-text\">2026<\/span><\/h1>\n    <p class=\"acal-hero__sub\">Tarikh mula penggal, jadual peperiksaan, tempoh pengambilan pertengahan semester, dan cuti umum Malaysia bagi tahun akademik 2026.<\/p>\n  <\/div>\n<\/section>\n\n\n<!-- CALENDAR -->\n<section class=\"acal-body\">\n  <div class=\"acal-body__inner\">\n\n    <div class=\"acal-legend\" role=\"list\" aria-label=\"Legenda Kalendar\">\n      <div class=\"acal-legend__item\" role=\"listitem\">\n        <span class=\"acal-legend__dot acal-legend__dot--semester\" aria-hidden=\"true\"><\/span>Semester Baharu\n      <\/div>\n      <div class=\"acal-legend__item\" role=\"listitem\">\n        <span class=\"acal-legend__dot acal-legend__dot--intake\" aria-hidden=\"true\"><\/span>Pengambilan Pertengahan Semester\n      <\/div>\n      <div class=\"acal-legend__item\" role=\"listitem\">\n        <span class=\"acal-legend__dot acal-legend__dot--exam-mid\" aria-hidden=\"true\"><\/span>Peperiksaan Pertengahan\n      <\/div>\n      <div class=\"acal-legend__item\" role=\"listitem\">\n        <span class=\"acal-legend__dot acal-legend__dot--exam-final\" aria-hidden=\"true\"><\/span>Peperiksaan Akhir\n      <\/div>\n      <div class=\"acal-legend__item\" role=\"listitem\">\n        <span class=\"acal-legend__dot acal-legend__dot--holiday\" aria-hidden=\"true\"><\/span>Cuti Umum\n      <\/div>\n    <\/div>\n\n    <div class=\"acal-months\" id=\"acal-months\"><\/div>\n\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  var MONTH_NAMES = ['Januari','Februari','Mac','April','Mei','Jun',\n                     'Julai','Ogos','September','Oktober','November','Disember'];\n  var DAY_HEADS = ['Ahd','Isn','Sel','Rab','Kha','Jum','Sab'];\n\n  var EVENTS = {\n    '2026-4-6':   [{ type: 'semester',    label: 'Semester Baharu'                  }],\n    '2026-4-30':  [{ type: 'exam-mid',    label: 'Peperiksaan Pertengahan'          }],\n    '2026-5-1':   [{ type: 'holiday',     label: 'Hari Buruh'                       }],\n    '2026-5-4':   [{ type: 'intake',      label: 'Pengambilan Pertengahan Semester' }],\n    '2026-5-28':  [{ type: 'holiday',     label: 'Hari Raya Haji'                   }],\n    '2026-5-29':  [{ type: 'exam-final',  label: 'Peperiksaan Akhir'                }],\n    '2026-6-1':   [{ type: 'holiday',     label: 'Hari Keputeraan Agong'            }],\n    '2026-6-2':   [{ type: 'holiday',     label: 'Hari Wesak'                       }],\n    '2026-6-3':   [{ type: 'semester',    label: 'Semester Baharu'                  }],\n    '2026-6-17':  [{ type: 'holiday',     label: 'Awal Muharram'                    }],\n    '2026-6-26':  [{ type: 'exam-mid',    label: 'Peperiksaan Pertengahan'          }],\n    '2026-6-29':  [{ type: 'intake',      label: 'Pengambilan Pertengahan Semester' }],\n    '2026-7-24':  [{ type: 'exam-final',  label: 'Peperiksaan Akhir'                }],\n    '2026-7-27':  [{ type: 'semester',    label: 'Semester Baharu'                  }],\n    '2026-8-21':  [{ type: 'exam-mid',    label: 'Peperiksaan Pertengahan'          }],\n    '2026-8-24':  [{ type: 'intake',      label: 'Pengambilan Pertengahan Semester' }],\n    '2026-8-25':  [{ type: 'holiday',     label: 'Maulidur Rasul'                   }],\n    '2026-8-31':  [{ type: 'holiday',     label: 'Hari Merdeka'                     }],\n    '2026-9-16':  [{ type: 'holiday',     label: 'Hari Malaysia'                    }],\n    '2026-9-18':  [{ type: 'exam-final',  label: 'Peperiksaan Akhir'                }],\n    '2026-9-21':  [{ type: 'semester',    label: 'Semester Baharu'                  }],\n    '2026-10-16': [{ type: 'exam-mid',    label: 'Peperiksaan Pertengahan'          }],\n    '2026-10-19': [{ type: 'intake',      label: 'Pengambilan Pertengahan Semester' }],\n    '2026-11-9':  [{ type: 'holiday',     label: 'Deepavali'                        }],\n    '2026-11-13': [{ type: 'exam-final',  label: 'Peperiksaan Akhir'                }],\n    '2026-11-16': [{ type: 'semester',    label: 'Semester Baharu'                  }],\n    '2026-12-11': [{ type: 'exam-mid',    label: 'Peperiksaan Pertengahan'          }],\n    '2026-12-14': [{ type: 'intake',      label: 'Pengambilan Pertengahan Semester' }],\n    '2026-12-25': [{ type: 'holiday',     label: 'Hari Krismas'                     }],\n    '2026-12-31': [{ type: 'exam-final',  label: 'Peperiksaan Akhir'                }],\n  };\n\n  var MONTHS = [\n    [2026,  3], [2026,  4], [2026,  5], [2026,  6],\n    [2026,  7], [2026,  8], [2026,  9], [2026, 10], [2026, 11],\n  ];\n\n  var container = document.getElementById('acal-months');\n  if (!container) return;\n\n  function mk(tag, cls) {\n    var e = document.createElement(tag);\n    if (cls) e.className = cls;\n    return e;\n  }\n\n  MONTHS.forEach(function (ym) {\n    var year      = ym[0];\n    var month     = ym[1];\n    var firstDow  = new Date(year, month, 1).getDay();\n    var totalDays = new Date(year, month + 1, 0).getDate();\n\n    var card = mk('div', 'acal-month');\n\n    var head = mk('div', 'acal-month__head');\n    head.textContent = MONTH_NAMES[month] + ' ' + year;\n    card.appendChild(head);\n\n    var grid = mk('div', 'acal-month__grid');\n\n    DAY_HEADS.forEach(function (d) {\n      var dh = mk('div', 'acal-day-head');\n      dh.textContent = d;\n      grid.appendChild(dh);\n    });\n\n    for (var i = 0; i < firstDow; i++) {\n      grid.appendChild(mk('div', 'acal-day acal-day--empty'));\n    }\n\n    for (var d = 1; d <= totalDays; d++) {\n      var dow    = new Date(year, month, d).getDay();\n      var key    = year + '-' + (month + 1) + '-' + d;\n      var events = EVENTS[key] || [];\n      var isWknd = dow === 0 || dow === 6;\n      var isHol  = events.some(function (ev) { return ev.type === 'holiday'; });\n\n      var cls = 'acal-day';\n      if (isWknd) cls += ' acal-day--weekend';\n      if (isHol)  cls += ' acal-day--holiday';\n      var cell = mk('div', cls);\n\n      var num = mk('span', 'acal-day__num');\n      num.textContent = d;\n      cell.appendChild(num);\n\n      if (events.length) {\n        var wrap = mk('div', 'acal-day__events');\n        events.forEach(function (ev) {\n          var chip = mk('span', 'acal-ev acal-ev--' + ev.type);\n          chip.textContent = ev.label;\n          wrap.appendChild(chip);\n        });\n        cell.appendChild(wrap);\n      }\n\n      grid.appendChild(cell);\n    }\n\n    var used     = firstDow + totalDays;\n    var trailing = (7 - (used % 7)) % 7;\n    for (var t = 0; t < trailing; t++) {\n      grid.appendChild(mk('div', 'acal-day acal-day--empty'));\n    }\n\n    card.appendChild(grid);\n    container.appendChild(card);\n  });\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4700","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/pages\/4700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/comments?post=4700"}],"version-history":[{"count":1,"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/pages\/4700\/revisions"}],"predecessor-version":[{"id":4707,"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/pages\/4700\/revisions\/4707"}],"wp:attachment":[{"href":"https:\/\/glacademy.edu.my\/ms\/wp-json\/wp\/v2\/media?parent=4700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}