{"id":12737,"date":"2025-07-10T18:27:01","date_gmt":"2025-07-10T11:27:01","guid":{"rendered":"https:\/\/biologi.unpad.ac.id\/?page_id=12737"},"modified":"2025-07-30T12:36:13","modified_gmt":"2025-07-30T05:36:13","slug":"pendaftaran-skripsi","status":"publish","type":"page","link":"https:\/\/biologi.unpad.ac.id\/en\/pendaftaran-skripsi\/","title":{"rendered":"Final Project Registration"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12737\" class=\"elementor elementor-12737\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bcd3881 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bcd3881\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c99bbf6\" data-id=\"c99bbf6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-62ff2ae elementor-widget elementor-widget-heading\" data-id=\"62ff2ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pendaftaran Pengajuan Tugas Akhir<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-56e6a5f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"56e6a5f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d3623dc\" data-id=\"d3623dc\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-63ca178 elementor-widget elementor-widget-html\" data-id=\"63ca178\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \r\n  KODE HTML LENGKAP UNTUK FORMULIR TUNGGAL: PENDAFTARAN SKRIPSI\r\n-->\r\n\r\n<!-- Bagian 1: CSS untuk Styling Formulir dan Notifikasi Modal -->\r\n<style>\r\n  .form-container-gs { font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; background: #ffffff; padding: 25px 35px; border-radius: 12px; border: 1px solid #e0e0e0; max-width: 800px; margin: 20px auto; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }\r\n  .form-container-gs .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 25px; }\r\n  .form-container-gs .form-group { margin-bottom: 0; }\r\n  .form-container-gs .full-width { grid-column: 1 \/ -1; }\r\n  .form-container-gs label { display: block; margin-bottom: 8px; font-weight: 500; color: #34495e; font-size: 14px; }\r\n  .form-container-gs label .required-asterisk { color: #e74c3c; margin-left: 3px; font-weight: bold; }\r\n  .form-container-gs input[type=\"text\"], .form-container-gs input[type=\"email\"], .form-container-gs input[type=\"tel\"], .form-container-gs input[type=\"date\"], .form-container-gs textarea, .form-container-gs input[type=\"file\"] { width: 100%; padding: 12px; box-sizing: border-box; border: 1px solid #bdc3c7; border-radius: 6px; font-size: 14px; }\r\n  .form-container-gs button { background-color: #3498db; color: white; padding: 14px 20px; border: none; border-radius: 6px; cursor: pointer; width: 100%; font-size: 16px; font-weight: bold; }\r\n  .form-container-gs button:disabled { background-color: #95a5a6; cursor: not-allowed; }\r\n  .form-container-gs #status-message { margin-top: 20px; font-weight: 500; text-align: center; padding: 12px; border-radius: 6px; display: none; }\r\n  .form-container-gs #status-message.gagal { background-color: #ffebee; color: #c62828; display: block; }\r\n\r\n  \/* --- CSS UNTUK SEMUA MODAL NOTIFIKASI --- *\/\r\n  .custom-modal-overlay {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    background: rgba(0, 0, 0, 0.6);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    z-index: 9999;\r\n    opacity: 0;\r\n    visibility: hidden;\r\n    transition: opacity 0.3s ease, visibility 0.3s ease;\r\n  }\r\n  .custom-modal-overlay.show {\r\n    opacity: 1;\r\n    visibility: visible;\r\n  }\r\n  .custom-modal-box {\r\n    background: #fff;\r\n    padding: 30px;\r\n    border-radius: 12px;\r\n    width: 90%;\r\n    max-width: 400px;\r\n    text-align: center;\r\n    box-shadow: 0 5px 20px rgba(0,0,0,0.2);\r\n    transform: scale(0.9);\r\n    transition: transform 0.3s ease;\r\n  }\r\n  .custom-modal-overlay.show .custom-modal-box {\r\n    transform: scale(1);\r\n  }\r\n  .custom-modal-box h4 {\r\n    margin-top: 0;\r\n    font-size: 22px;\r\n  }\r\n  .custom-modal-box p {\r\n    margin-bottom: 25px;\r\n    color: #555;\r\n    font-size: 16px;\r\n  }\r\n  .custom-modal-box .modal-button {\r\n    border: none;\r\n    padding: 12px 30px;\r\n    border-radius: 6px;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    font-weight: bold;\r\n    color: white;\r\n  }\r\n  .modal-icon {\r\n    width: 80px;\r\n    height: 80px;\r\n    margin: 0 auto 15px auto;\r\n    display: block;\r\n  }\r\n  \r\n  .custom-modal-box.warning h4 { color: #c0392b; }\r\n  .custom-modal-box.warning .modal-button { background-color: #3498db; }\r\n\r\n  .custom-modal-box.success h4 { color: #27ae60; }\r\n  .custom-modal-box.success .modal-button { background-color: #27ae60; }\r\n  .modal-icon.success .checkmark {\r\n      stroke-dasharray: 48;\r\n      stroke-dashoffset: 48;\r\n      animation: stroke 0.8s cubic-bezier(0.65, 0, 0.45, 1) 0.2s forwards;\r\n  }\r\n  @keyframes stroke {\r\n      100% { stroke-dashoffset: 0; }\r\n  }\r\n\r\n  @media (max-width: 768px) { .form-container-gs .form-grid { grid-template-columns: 1fr; } }\r\n<\/style>\r\n\r\n<!-- Bagian 2: Struktur HTML Formulir -->\r\n<div class=\"form-container-gs\">\r\n  <h3>Formulir Pendaftaran Skripsi<\/h3>\r\n  <hr style=\"margin-bottom: 25px;\">\r\n  <form id=\"form-skripsi\" novalidate>\r\n    <div class=\"form-grid\">\r\n      <div class=\"form-group\"><label for=\"nama\">Nama<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"nama\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"npm\">NPM<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"npm\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"nomorWa\">Nomor WA<span class=\"required-asterisk\">*<\/span><\/label><input type=\"tel\" id=\"nomorWa\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"email\">Email<span class=\"required-asterisk\">*<\/span><\/label><input type=\"email\" id=\"email\" required><\/div>\r\n      <div class=\"form-group full-width\"><label for=\"bidangIlmu\">Bidang Ilmu Nama Lab<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"bidangIlmu\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"pembimbing1\">Pembimbing 1<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"pembimbing1\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"nipPembimbing1\">NIP Pembimbing 1<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"nipPembimbing1\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"pembimbing2\">Pembimbing 2<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"pembimbing2\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"nipPembimbing2\">NIP Pembimbing 2<span class=\"required-asterisk\">*<\/span><\/label><input type=\"text\" id=\"nipPembimbing2\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"pembimbing3\">Pembimbing 3 (Jika ada)<\/label><input type=\"text\" id=\"pembimbing3\"><\/div>\r\n      <div class=\"form-group\"><label for=\"nipPembimbing3\">NIP Pembimbing 3<\/label><input type=\"text\" id=\"nipPembimbing3\"><\/div>\r\n      <div class=\"form-group\"><label for=\"awalPengerjaan\">Awal Pengerjaan Skripsi\/TA<span class=\"required-asterisk\">*<\/span><\/label><input type=\"date\" id=\"awalPengerjaan\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"akhirPengerjaan\">Akhir Pengerjaan Skripsi\/TA<span class=\"required-asterisk\">*<\/span><\/label><input type=\"date\" id=\"akhirPengerjaan\" required><\/div>\r\n      <div class=\"form-group full-width\"><label for=\"judulSkripsi\">Judul Skripsi\/TA<span class=\"required-asterisk\">*<\/span><\/label><textarea id=\"judulSkripsi\" rows=\"3\" required><\/textarea><\/div>\r\n      <div class=\"form-group\"><label for=\"fileProposal\">Unggah Proposal BAB 1 (PDF)<span class=\"required-asterisk\">*<\/span><\/label><input type=\"file\" id=\"fileProposal\" accept=\".pdf\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"fileAbstrak\">Unggah Abstrak (PDF)<span class=\"required-asterisk\">*<\/span><\/label><input type=\"file\" id=\"fileAbstrak\" accept=\".pdf\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"fileKpa\">Unggah KPA (PDF)<span class=\"required-asterisk\">*<\/span><\/label><input type=\"file\" id=\"fileKpa\" accept=\".pdf\" required><\/div>\r\n      <div class=\"form-group\"><label for=\"fileFormulir\">Unggah Formulir Pengajuan (PDF)<span class=\"required-asterisk\">*<\/span><\/label><input type=\"file\" id=\"fileFormulir\" accept=\".pdf\" required><\/div>\r\n    <\/div>\r\n    <div class=\"form-group full-width\" style=\"margin-top: 25px;\"><button type=\"submit\" id=\"submit-button\">Kirim Pengajuan<\/button><\/div>\r\n  <\/form>\r\n  <div id=\"status-message\"><\/div>\r\n<\/div>\r\n\r\n<!-- Bagian 3: HTML untuk Notifikasi Modal -->\r\n<div class=\"custom-modal-overlay\" id=\"custom-alert\">\r\n  <div class=\"custom-modal-box warning\">\r\n    <h4>Peringatan<\/h4>\r\n    <p id=\"custom-alert-message\"><\/p>\r\n    <button class=\"modal-button\" id=\"custom-alert-close\">OK<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"custom-modal-overlay\" id=\"custom-success-modal\">\r\n  <div class=\"custom-modal-box success\">\r\n    <svg class=\"modal-icon success\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 52 52\">\r\n      <circle cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" stroke=\"#27ae60\" stroke-width=\"2\"\/>\r\n      <path class=\"checkmark\" fill=\"none\" stroke=\"#27ae60\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M14 27l5.917 5.917L38.083 20\"\/>\r\n    <\/svg>\r\n    <h4>Berhasil!<\/h4>\r\n    <p id=\"custom-success-message\"><\/p>\r\n    <button class=\"modal-button\" id=\"custom-success-close\">Tutup<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- Bagian 4: JavaScript untuk Fungsionalitas Formulir -->\r\n<script>\r\n  (function() {\r\n    const form = document.getElementById('form-skripsi');\r\n    const submitButton = document.getElementById('submit-button');\r\n    const statusMessage = document.getElementById('status-message');\r\n    \r\n    \/\/ !!! PENTING: Ganti dengan URL Web App Anda yang terbaru dari Langkah 1 !!!\r\n    const WEB_APP_URL = 'https:\/\/script.google.com\/macros\/s\/AKfycbySr6YcPZ5IhI5dFJ5e21tpZQavm_3sd6byZrTmNcutTJ-K-qqGcUWSlFFUPt9241hC\/exec';\r\n\r\n    const customAlert = document.getElementById('custom-alert');\r\n    const customAlertClose = document.getElementById('custom-alert-close');\r\n    const customSuccessModal = document.getElementById('custom-success-modal');\r\n    const customSuccessClose = document.getElementById('custom-success-close');\r\n    \r\n    function showAlert(message) {\r\n      document.getElementById('custom-alert-message').textContent = message;\r\n      customAlert.classList.add('show');\r\n    }\r\n    function hideAlert() {\r\n      customAlert.classList.remove('show');\r\n    }\r\n    customAlertClose.addEventListener('click', hideAlert);\r\n    customAlert.addEventListener('click', (e) => { if (e.target === customAlert) hideAlert(); });\r\n    \r\n    function showSuccessModal(message) {\r\n      document.getElementById('custom-success-message').textContent = message;\r\n      customSuccessModal.classList.add('show');\r\n    }\r\n    function hideSuccessModal() {\r\n      customSuccessModal.classList.remove('show');\r\n    }\r\n    customSuccessClose.addEventListener('click', hideSuccessModal);\r\n    customSuccessModal.addEventListener('click', (e) => { if (e.target === customSuccessModal) hideSuccessModal(); });\r\n\r\n    form.addEventListener('submit', function(e) {\r\n      e.preventDefault();\r\n      if (!form.checkValidity()) {\r\n        showAlert(\"Harap isi semua kolom yang ditandai dengan *\");\r\n        return;\r\n      }\r\n      submitButton.disabled = true;\r\n      submitButton.textContent = 'Sedang Mengirim...';\r\n      statusMessage.style.display = 'none';\r\n\r\n      const submissionData = {\r\n        nama: form.querySelector('#nama').value, npm: form.querySelector('#npm').value,\r\n        nomorWa: form.querySelector('#nomorWa').value, email: form.querySelector('#email').value,\r\n        bidangIlmu: form.querySelector('#bidangIlmu').value, pembimbing1: form.querySelector('#pembimbing1').value,\r\n        nipPembimbing1: form.querySelector('#nipPembimbing1').value, pembimbing2: form.querySelector('#pembimbing2').value,\r\n        nipPembimbing2: form.querySelector('#nipPembimbing2').value, pembimbing3: form.querySelector('#pembimbing3').value,\r\n        nipPembimbing3: form.querySelector('#nipPembimbing3').value, awalPengerjaan: form.querySelector('#awalPengerjaan').value,\r\n        akhirPengerjaan: form.querySelector('#akhirPengerjaan').value, judulSkripsi: form.querySelector('#judulSkripsi').value,\r\n      };\r\n\r\n      Promise.all([\r\n        readFileAsBase64(form.querySelector('#fileProposal').files[0]), readFileAsBase64(form.querySelector('#fileAbstrak').files[0]),\r\n        readFileAsBase64(form.querySelector('#fileKpa').files[0]), readFileAsBase64(form.querySelector('#fileFormulir').files[0])\r\n      ]).then(files => {\r\n        submissionData.fileProposal = files[0]; submissionData.fileAbstrak = files[1];\r\n        submissionData.fileKpa = files[2]; submissionData.fileFormulir = files[3];\r\n        sendData(submissionData);\r\n      }).catch(error => handleError(\"Gagal membaca file: \" + error.toString()));\r\n    });\r\n\r\n    function readFileAsBase64(file) {\r\n        return new Promise((resolve, reject) => {\r\n            if (!file) { resolve(null); return; }\r\n            const reader = new FileReader();\r\n            reader.onload = () => resolve({ fileName: file.name, mimeType: file.type, fileData: reader.result.split(',')[1] });\r\n            reader.onerror = error => reject(error);\r\n            reader.readAsDataURL(file);\r\n        });\r\n    }\r\n    function sendData(data) {\r\n        fetch(WEB_APP_URL, { method: 'POST', mode: 'no-cors', cache: 'no-cache', headers: { 'Content-Type': 'application\/json' }, redirect: 'follow', body: JSON.stringify(data) })\r\n        .then(res => handleSuccess(\"Data Anda telah berhasil dikirim. Silakan hubungi TU (Pak Asep Jeni) untuk konfirmasi\")) \/\/ PERUBAHAN DI SINI\r\n        .catch(error => handleError(\"\u274c Terjadi kesalahan saat mengirim: \" + error.toString()));\r\n    }\r\n    function handleSuccess(message) {\r\n        showSuccessModal(message);\r\n        form.reset();\r\n        submitButton.disabled = false;\r\n        submitButton.textContent = 'Kirim Pengajuan';\r\n    }\r\n    function handleError(message) {\r\n        statusMessage.textContent = message;\r\n        statusMessage.className = 'gagal';\r\n        submitButton.disabled = false;\r\n        submitButton.textContent = 'Kirim Pengajuan';\r\n    }\r\n  })();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Pendaftaran Pengajuan Tugas Akhir Formulir Pendaftaran Skripsi Nama* NPM* Nomor WA* Email* Bidang Ilmu Nama Lab* Pembimbing 1* NIP Pembimbing 1* Pembimbing 2* NIP Pembimbing 2* Pembimbing 3 (Jika ada) [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-12737","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/pages\/12737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/comments?post=12737"}],"version-history":[{"count":0,"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/pages\/12737\/revisions"}],"wp:attachment":[{"href":"https:\/\/biologi.unpad.ac.id\/en\/wp-json\/wp\/v2\/media?parent=12737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}