{"id":3994,"date":"2026-07-06T03:16:37","date_gmt":"2026-07-06T03:16:37","guid":{"rendered":"https:\/\/akademik.universitas-bth.ac.id\/?page_id=3994"},"modified":"2026-07-06T04:27:40","modified_gmt":"2026-07-06T04:27:40","slug":"yudisium-ta-2025-2026-genap","status":"publish","type":"page","link":"https:\/\/akademik.universitas-bth.ac.id\/?page_id=3994","title":{"rendered":"Yudisium TA 2025\/2026 Genap"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3994\" class=\"elementor elementor-3994\">\n\t\t\t\t<div class=\"elementor-element elementor-element-564065c e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"564065c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-68cf6eb elementor-widget elementor-widget-html\" data-id=\"68cf6eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\nAPLIKASI SYARAT YUDISIUM\r\nWORDPRESS FULL WIDTH + HEADER TABEL TERKUNCI\r\n\r\nTempel seluruh kode ini pada blok Custom HTML \/ widget HTML Elementor.\r\n\r\nWAJIB:\r\nGanti URL_WEB_APP_APPS_SCRIPT_ANDA dengan URL deployment Apps Script\r\nyang berakhiran \/exec.\r\n\r\nAtribut data-sticky-offset:\r\n- Biarkan 0 agar sistem mendeteksi tinggi WordPress Admin Bar dan header situs.\r\n- Isi angka manual, misalnya 112, bila posisi header tabel perlu disesuaikan.\r\n-->\r\n\r\n<div\r\n  id=\"bth-yudisium-fullbleed\"\r\n  class=\"bth-yudisium-fullbleed\"\r\n  data-sticky-offset=\"0\"\r\n>\r\n  <iframe\r\n    id=\"bth-yudisium-iframe\"\r\n    class=\"bth-yudisium-iframe\"\r\n    src=\"https:\/\/script.google.com\/macros\/s\/AKfycbxRn-y__PWUu2XMKGVM7B-3G_ZTyXoFbTJj4u4LNZZJtgulC28nqQhnRd5QPeIGay_T\/exec\"\r\n    title=\"Syarat Mengikuti Yudisium Tahun Akademik 2025\/2026\"\r\n    loading=\"eager\"\r\n    scrolling=\"no\"\r\n    referrerpolicy=\"strict-origin-when-cross-origin\"\r\n    allowfullscreen>\r\n  <\/iframe>\r\n<\/div>\r\n\r\n<style>\r\n  #bth-yudisium-fullbleed.bth-yudisium-fullbleed {\r\n    position: relative !important;\r\n    left: 50% !important;\r\n    right: 50% !important;\r\n    width: 100vw !important;\r\n    max-width: 100vw !important;\r\n    margin-left: -50vw !important;\r\n    margin-right: -50vw !important;\r\n    margin-top: 0 !important;\r\n    margin-bottom: 0 !important;\r\n    padding: 0 !important;\r\n    overflow: hidden !important;\r\n    background: #ffffff !important;\r\n  }\r\n\r\n  #bth-yudisium-fullbleed .bth-yudisium-iframe {\r\n    display: block !important;\r\n    width: 100% !important;\r\n    max-width: none !important;\r\n    min-height: 900px;\r\n    height: 1500px;\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n    border: 0 !important;\r\n    background: #ffffff !important;\r\n    overflow: hidden !important;\r\n  }\r\n\r\n  .wp-block-html:has(#bth-yudisium-fullbleed),\r\n  .elementor-widget-html:has(#bth-yudisium-fullbleed),\r\n  .entry-content:has(#bth-yudisium-fullbleed) {\r\n    max-width: none !important;\r\n  }\r\n\r\n  @media (max-width: 782px) {\r\n    #bth-yudisium-fullbleed .bth-yudisium-iframe {\r\n      min-height: 1300px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  (function () {\r\n    'use strict';\r\n\r\n    var wrapper = document.getElementById('bth-yudisium-fullbleed');\r\n    var iframe = document.getElementById('bth-yudisium-iframe');\r\n\r\n    if (!wrapper || !iframe) {\r\n      return;\r\n    }\r\n\r\n    var scheduledFrame = 0;\r\n    var resizeTimer = 0;\r\n\r\n    \/**\r\n     * Mendeteksi tinggi elemen WordPress yang tetap berada di bagian atas.\r\n     * Mendukung WordPress Admin Bar, header tema, dan header Elementor.\r\n     *\/\r\n    function detectStickyOffset() {\r\n      var manualOffset = Number(\r\n        wrapper.getAttribute('data-sticky-offset') || 0\r\n      );\r\n\r\n      if (Number.isFinite(manualOffset) && manualOffset > 0) {\r\n        return manualOffset;\r\n      }\r\n\r\n      var selectors = [\r\n        '#wpadminbar',\r\n        '.site-header',\r\n        'header.site-header',\r\n        '.elementor-location-header',\r\n        '[data-elementor-type=\"header\"]',\r\n        '.sticky-header',\r\n        '.is-sticky',\r\n        '.header-sticky'\r\n      ];\r\n\r\n      var elements = [];\r\n      var seen = [];\r\n\r\n      selectors.forEach(function (selector) {\r\n        document.querySelectorAll(selector).forEach(function (element) {\r\n          if (seen.indexOf(element) === -1) {\r\n            seen.push(element);\r\n            elements.push(element);\r\n          }\r\n        });\r\n      });\r\n\r\n      var offset = 0;\r\n\r\n      elements.forEach(function (element) {\r\n        var style = window.getComputedStyle(element);\r\n        var rect = element.getBoundingClientRect();\r\n        var isStickyPosition =\r\n          style.position === 'fixed' ||\r\n          style.position === 'sticky';\r\n\r\n        var isVisible =\r\n          style.display !== 'none' &&\r\n          style.visibility !== 'hidden' &&\r\n          rect.height > 0 &&\r\n          rect.bottom > 0;\r\n\r\n        if (isStickyPosition && isVisible && rect.top <= offset + 8) {\r\n          offset = Math.max(offset, rect.bottom);\r\n        }\r\n      });\r\n\r\n      return Math.max(0, Math.ceil(offset));\r\n    }\r\n\r\n    \/**\r\n     * Mengirim posisi viewport halaman WordPress ke Apps Script.\r\n     *\/\r\n    function sendScrollContext() {\r\n      window.cancelAnimationFrame(scheduledFrame);\r\n\r\n      scheduledFrame = window.requestAnimationFrame(function () {\r\n        var rect = iframe.getBoundingClientRect();\r\n        var stickyOffset = detectStickyOffset();\r\n\r\n        \/*\r\n         * visibleTop adalah koordinat di dalam dokumen iframe yang tepat\r\n         * berada di bawah header WordPress.\r\n         *\/\r\n        var visibleTop = Math.max(0, stickyOffset - rect.top);\r\n        var iframeVisible =\r\n          rect.bottom > stickyOffset &&\r\n          rect.top < window.innerHeight;\r\n\r\n        iframe.contentWindow.postMessage(\r\n          {\r\n            type: 'bth-yudisium-parent-scroll',\r\n            enabled: true,\r\n            visibleTop: visibleTop,\r\n            stickyOffset: stickyOffset,\r\n            viewportHeight: window.innerHeight,\r\n            iframeVisible: iframeVisible\r\n          },\r\n          '*'\r\n        );\r\n      });\r\n    }\r\n\r\n    \/**\r\n     * Menerima tinggi aplikasi dan sinyal kesiapan dari Apps Script.\r\n     *\/\r\n    window.addEventListener('message', function (event) {\r\n      if (event.source !== iframe.contentWindow) {\r\n        return;\r\n      }\r\n\r\n      var data = event.data || {};\r\n\r\n      if (data.type === 'bth-yudisium-resize') {\r\n        var height = Number(data.height);\r\n\r\n        if (Number.isFinite(height)) {\r\n          height = Math.max(\r\n            700,\r\n            Math.min(Math.ceil(height) + 4, 12000)\r\n          );\r\n\r\n          iframe.style.height = height + 'px';\r\n          sendScrollContext();\r\n        }\r\n\r\n        return;\r\n      }\r\n\r\n      if (\r\n        data.type === 'bth-yudisium-ready' ||\r\n        data.type === 'bth-yudisium-request-scroll-context'\r\n      ) {\r\n        sendScrollContext();\r\n      }\r\n    });\r\n\r\n    iframe.addEventListener('load', function () {\r\n      window.setTimeout(function () {\r\n        iframe.contentWindow.postMessage(\r\n          { type: 'bth-yudisium-request-height' },\r\n          '*'\r\n        );\r\n\r\n        sendScrollContext();\r\n      }, 350);\r\n    });\r\n\r\n    window.addEventListener(\r\n      'scroll',\r\n      sendScrollContext,\r\n      { passive: true }\r\n    );\r\n\r\n    window.addEventListener('resize', function () {\r\n      window.clearTimeout(resizeTimer);\r\n\r\n      resizeTimer = window.setTimeout(function () {\r\n        iframe.contentWindow.postMessage(\r\n          { type: 'bth-yudisium-request-height' },\r\n          '*'\r\n        );\r\n\r\n        sendScrollContext();\r\n      }, 120);\r\n    });\r\n\r\n    sendScrollContext();\r\n  })();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","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-3994","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=\/wp\/v2\/pages\/3994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3994"}],"version-history":[{"count":16,"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=\/wp\/v2\/pages\/3994\/revisions"}],"predecessor-version":[{"id":4014,"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=\/wp\/v2\/pages\/3994\/revisions\/4014"}],"wp:attachment":[{"href":"https:\/\/akademik.universitas-bth.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}