PageSourceSearch

https://uyelindo.ac.id/alumni.php

html uyelindo.ac.id collected 2026-10-02 22:33:11 UTC 225,047 bytes, 2,193 lines download raw bytes

1<!DOCTYPE html>
2<html lang="id">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width,initial-scale=1">
6<meta name="description" content="Portal Alumni Universitas Uyelindo — login, pendaftaran profil alumni, dan kumpulan testimoni alumni.">
7<meta name="keywords" content="alumni Universitas Uyelindo, portal alumni, testimoni alumni, lulusan Universitas Uyelindo, perguruan tinggi, ikatan alumni">
8<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
9<meta name="googlebot" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
10<meta name="bingbot" content="index, follow">
11
12<!-- Open Graph (Facebook, WhatsApp, LinkedIn, Telegram) -->
13<meta property="og:site_name" content="Universitas Uyelindo">
14<meta property="og:locale" content="id_ID">
15<meta property="og:title" content="Portal Alumni | Universitas Uyelindo">
16<meta property="og:description" content="Portal Alumni Universitas Uyelindo — login, pendaftaran profil alumni, dan kumpulan testimoni alumni.">
17<meta property="og:image" content="https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png">
18<meta property="og:image:secure_url" content="https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png">
19<meta property="og:image:type" content="image/jpeg">
20<meta property="og:image:width" content="1200">
21<meta property="og:image:height" content="1200">
22<meta property="og:image:alt" content="Portal Alumni | Universitas Uyelindo">
23<meta property="og:url" content="https://uyelindo.ac.id/alumni.php">
24<meta property="og:type" content="website">
25
26<!-- Twitter / X Card -->
27<meta name="twitter:card" content="summary_large_image">
28<meta name="twitter:title" content="Portal Alumni | Universitas Uyelindo">
29<meta name="twitter:description" content="Portal Alumni Universitas Uyelindo — login, pendaftaran profil alumni, dan kumpulan testimoni alumni.">
30<meta name="twitter:image" content="https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png">
31<meta name="twitter:image:alt" content="Portal Alumni | Universitas Uyelindo">
32
33<link rel="canonical" href="https://uyelindo.ac.id/alumni.php">
34<title>Portal Alumni | Universitas Uyelindo</title>
35<link rel="icon" href="https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png" type="image/png">
36<link rel="shortcut icon" href="https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png" type="image/png">
37<link rel="apple-touch-icon" href="https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png">
38<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css">
39<!-- Google Identity Services (Login dengan Google) -->
40<script src="https://accounts.google.com/gsi/client" async defer></script>
40
41<style nonce="TKt30ulyMV1YGn8hUagOAA">
42.swal2-popup.ugate-swal-dark{border:1px solid rgba(var(--theme-rgb-soft),.32)!important;border-radius:22px!important;box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset!important;background:linear-gradient(145deg,#0f172a,#111827 55%,#020617)!important}.swal2-popup.ugate-swal-dark .swal2-title{letter-spacing:.01em!important}.swal2-popup.ugate-swal-dark .swal2-html-container,.swal2-popup.ugate-swal-dark .swal2-content{line-height:1.65!important}.swal2-popup.ugate-swal-dark .swal2-confirm{border-radius:999px!important;padding:.78rem 1.45rem!important;font-weight:800!important;box-shadow:0 12px 30px rgba(var(--theme-rgb1),.24)!important}
43.google-login-wrap{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:100%;margin-top:10px}
44.google-email-wrap{display:flex;flex-direction:column;gap:.45rem;width:100%;max-width:100%}
45.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:100%;min-height:46px;padding:10px 16px;border:1px solid rgba(var(--theme-rgb-soft),.34);border-radius:999px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#f8fafc;font-size:.98rem;font-weight:700;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;cursor:pointer;box-sizing:border-box;line-height:1.2;transition:box-shadow .2s ease,background .2s ease,border-color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;box-shadow:0 10px 24px rgba(0,0,0,.28)}
46.gbtn:hover{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.36),0 0 0 4px rgba(var(--theme-rgb2),.10);border-color:rgba(var(--theme-rgb-soft),.66);transform:translateY(-1px)}
47.gbtn:active{transform:translateY(1px)}
48.gbtn:disabled{opacity:.68;cursor:not-allowed;transform:none}
49.gbtn .gbtn-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto}
50.gbtn .gbtn-ico svg{width:20px;height:20px;display:block}
51.gbtn .gbtn-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
52.gmail-status{border:1px dashed rgba(var(--theme-rgb-soft),.38);background:rgba(15,23,42,.56);color:#dbeafe;border-radius:12px;padding:.55rem .75rem;font-size:.82rem;line-height:1.45}
53.gmail-status.ok{border-color:rgba(34,197,94,.45);color:#bbf7d0;background:rgba(21,128,61,.14)}
54.gmail-status.warn{border-color:rgba(245,158,11,.45);color:#fde68a;background:rgba(146,64,14,.14)}
55.field-note{display:block;color:#9fb0cc;font-size:.78rem;line-height:1.35;margin-top:5px}
56.gsi-warning{color:#fca5a5;background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3);padding:.55rem .85rem;border-radius:10px;font-size:.85rem}
57.login-divider{display:flex;align-items:center;text-align:center;color:#9fb0cc;font-size:.8rem;margin:8px 0 2px;gap:10px}
58.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.15)}
59.google-login-wrap .gsi-help{color:#9fb0cc;font-size:.78rem;line-height:1.4}
60</style>
61<style>
62:root{--purple:#e53935;--purple2:#ef5350;--purple3:#ffcdd2;--navy1:#2b0b0b;--navy2:#3b1010;--theme-dark:#140506;--theme-rgb1:229,57,53;--theme-rgb2:239,83,80;--theme-rgb-soft:255,205,210;--text:#e9f1ff;--t:.35s ease;--gold:#FFD54D;}
63*{margin:0;padding:0;box-sizing:border-box;font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",sans-serif}
64*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{width:0!important;height:0!important}
65html,body{min-height:100%;background:radial-gradient(1400px 700px at 20% -10%, rgba(var(--theme-rgb1),.28), transparent 65%),radial-gradient(1100px 650px at 120% 120%, rgba(var(--theme-rgb2),.22), transparent 72%),radial-gradient(800px 380px at 70% 20%, rgba(var(--theme-rgb-soft),.18), transparent 62%),linear-gradient(#000,var(--theme-dark));color:var(--text);display:flex;flex-direction:column;overflow-x:hidden}.container{width:100%;max-width:1150px;margin:0 auto;padding:0 16px}main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:40px 0 112px}.wrapper{width:100%;max-width:1150px;min-height:200px}
66.alumni-panel{position:relative;overflow:hidden;border:1px solid rgba(var(--theme-rgb-soft),.18);border-radius:28px;background:linear-gradient(145deg,rgba(var(--theme-rgb1),.18),rgba(13,13,18,.92));padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06)}.alumni-panel:before{content:"";position:absolute;right:-120px;top:-130px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(var(--theme-rgb2),.38),transparent 68%);animation:floatGlow 8s ease-in-out infinite alternate;pointer-events:none}.alumni-head{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:20px}.alumni-head .icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--purple),var(--navy1));display:grid;place-items:center;box-shadow:0 12px 30px rgba(var(--theme-rgb1),.32)}.alumni-head i{font-size:1.7rem;color:#fff}.alumni-head h1{font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.12;color:#fff}.alumni-head p{margin-top:6px;color:var(--purple3);font-size:.94rem;line-height:1.55}.alumni-grid{position:relative;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:18px}.form-card{border:1px solid rgba(var(--theme-rgb-soft),.16);background:linear-gradient(155deg,rgba(255,255,255,.078),rgba(255,255,255,.03));border-radius:24px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.24);animation:cardRise .55s ease both}.form-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.form-title .badge-icon{width:40px;height:40px;border-radius:14px;background:rgba(var(--theme-rgb1),.20);border:1px solid rgba(var(--theme-rgb-soft),.24);display:grid;place-items:center;color:#fff}.form-title h2{font-size:1.12rem;color:#fff}.form-title p{font-size:.82rem;color:var(--purple3);margin-top:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fg{margin-bottom:12px}.fg label{display:block;font-size:.82rem;color:var(--purple3);margin-bottom:7px}.req{color:#ff4d4f;font-weight:900;margin-left:4px;text-shadow:0 0 10px rgba(255,77,79,.55)}.fg input,.fg select,.fg textarea{width:100%;border:1px solid rgba(var(--theme-rgb-soft),.20);background:rgba(0,0,0,.34);color:#fff;border-radius:15px;padding:12px 13px;font-size:.92rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.password-wrap{position:relative}.password-wrap input{padding-right:46px}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--purple3);cursor:pointer;font-size:1.05rem;padding:6px;border-radius:10px}.toggle-password:hover{background:rgba(var(--theme-rgb2),.16);color:#fff}.fg textarea{min-height:92px;resize:vertical}.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--purple3);box-shadow:0 0 0 4px rgba(var(--theme-rgb2),.18);transform:translateY(-1px)}.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.48)}.fg select option{background:#171923;color:#fff}.hint{font-size:.75rem;color:rgba(255,255,255,.62);line-height:1.45;margin-top:6px}.captcha-box{border:1px dashed rgba(var(--theme-rgb-soft),.25);border-radius:16px;padding:12px;background:rgba(0,0,0,.18);display:flex;align-items:center;gap:10px}.captcha-question{font-weight:800;color:#fff;white-space:nowrap}.rate-alert{display:none;margin:0 0 12px;border:1px solid rgba(255,213,79,.42);background:linear-gradient(135deg,rgba(255,213,79,.18),rgba(255,107,107,.13));color:#fff2bf;border-radius:16px;padding:11px 12px;font-size:.84rem;line-height:1.5;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.rate-alert strong{color:#fff;font-weight:900}.rate-alert i{margin-right:6px}.btn-main{width:100%;border:0;border-radius:16px;padding:12px 14px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 14px 32px rgba(var(--theme-rgb1),.28);transition:transform .2s ease,box-shadow .2s ease}.btn-main:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(var(--theme-rgb2),.34)}.btn-reset{margin-top:10px;background:linear-gradient(135deg,rgba(var(--theme-rgb1),.38),rgba(var(--theme-rgb2),.24));border:1px solid rgba(var(--theme-rgb-soft),.28)}.security-note{margin-top:12px;border:1px dashed rgba(var(--theme-rgb-soft),.22);border-radius:16px;padding:11px;color:var(--purple3);font-size:.8rem;line-height:1.55;background:rgba(0,0,0,.16)}.db-warning{margin-bottom:14px;border:1px solid rgba(255,213,79,.35);background:rgba(255,213,79,.12);border-radius:16px;padding:12px;color:#ffe69c;font-size:.9rem}.status-info{margin-top:12px;border:1px solid rgba(var(--theme-rgb-soft),.2);background:rgba(var(--theme-rgb1),.12);border-radius:16px;padding:12px;color:#fff;font-size:.85rem;line-height:1.6}.status-info strong{color:var(--gold)}footer{position:relative;z-index:5}footer .mobile-nav{display:none}@media (max-width:768px){footer .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,rgba(8,10,14,.96),rgba(var(--theme-rgb1),.20));border-top:1px solid rgba(var(--theme-rgb-soft),.12);backdrop-filter:blur(12px);justify-content:space-around;align-items:center;padding:10px 0;z-index:100}.mobile-nav a{color:#e7dafb;text-decoration:none;font-size:.8rem;display:flex;flex-direction:column;align-items:center;gap:2px;transition:color var(--t),transform var(--t)}.mobile-nav a:hover,.mobile-nav a.active{color:var(--purple2);transform:translateY(-2px)}.mobile-nav a i{font-size:1.3rem}.mobile-nav a.main-btn{background:linear-gradient(180deg,var(--purple),var(--navy1));color:#fff;width:68px;height:68px;border-radius:50%;display:flex;justify-content:center;align-items:center;margin-top:-26px;box-shadow:0 0 20px rgba(var(--theme-rgb1),.5),inset 0 -4px 12px rgba(0,0,0,.35)}.mobile-nav a.main-btn i{font-size:1.6rem;margin:0}}
67#kontakModal,#resetPasswordModal,#tsDetailModal{display:none;position:fixed;inset:0;z-index:3000;background:rgba(5,8,12,.82);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}#resetPasswordModal .modal-box{width:min(560px,92vw)}.modal-box{width:min(780px,92vw);max-height:90vh;overflow:auto;background:linear-gradient(160deg,#0c111a,#141a24);border:1px solid rgba(var(--theme-rgb-soft),.18);border-radius:18px;color:#dfe9fb;padding:18px 18px 16px;box-shadow:0 18px 50px rgba(0,0,0,.55);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.modal-box .close{border:0;background:#120a1b;color:#efe6ff;border-radius:10px;padding:6px 10px;cursor:pointer;float:right}.modal-box h2{margin:2px 0 8px 0}.modal-box .muted{color:#c4b6d6}.desktop-cta{display:none}@keyframes purpleShine{0%{background-position:-200% 0}100%{background-position:200% 0}}@media (min-width:769px){.desktop-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:110;background:var(--navy2);box-shadow:0 -1px 12px rgba(var(--theme-rgb2),.25)}.desktop-cta:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,rgba(var(--theme-rgb2),.10) 0%,var(--purple2) 20%,rgba(255,255,255,.9) 50%,var(--purple2) 8
670%,rgba(var(--theme-rgb2),.10) 100%);background-size:200% 100%;animation:purpleShine 3s linear infinite}.desktop-cta-inner{max-width:1150px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.desktop-cta-menu{display:flex;flex-wrap:wrap;gap:8px}.desktop-cta-menu.right{justify-content:flex-end}.desktop-cta-menu .cta-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(var(--theme-rgb-soft),.4);background:rgba(var(--theme-rgb1),.16);color:#e9f1ff;font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.desktop-cta-menu .cta-pill i{font-size:1rem}.desktop-cta-menu .cta-pill:hover{background:rgba(var(--theme-rgb2),.30);border-color:var(--purple3);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.45)}}.footer-mini{width:100%;text-align:center;padding:10px 0;font-size:13px;opacity:.85;color:#eee}.siamir-red{color:var(--purple);font-weight:700}@media(min-width:992px){.footer-mini{font-size:14px;padding:12px 0}}@keyframes cardRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes floatGlow{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-40px,45px,0) scale(1.15)}}@media(max-width:920px){.alumni-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.alumni-panel{padding:18px}.captcha-box{align-items:flex-start;flex-direction:column}}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px dashed var(--purple3);outline-offset:3px}
68
69/* ===== Tabs ===== */
70.tabs-bar{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px;padding:6px;border-radius:18px;background:linear-gradient(155deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(var(--theme-rgb-soft),.16)}
71.tab-btn{flex:1 1 auto;min-width:160px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:14px;border:1px solid transparent;background:transparent;color:#e9f1ff;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;text-decoration:none}
72.tab-btn i{font-size:1.05rem}
73.tab-btn:hover{background:rgba(var(--theme-rgb1),.14);border-color:rgba(var(--theme-rgb-soft),.20);transform:translateY(-1px)}
74.tab-btn.active{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;box-shadow:0 12px 28px rgba(var(--theme-rgb1),.32);border-color:rgba(255,255,255,.10)}
75.tab-pane{display:none;animation:cardRise .45s ease both}
76.tab-pane.active{display:block}
77
78/* ===== Testimoni Public ===== */
79.ts-pub-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
80.ts-pub-head .ts-pub-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,var(--purple),var(--navy1));display:grid;place-items:center;box-shadow:0 10px 24px rgba(var(--theme-rgb1),.30)}
81.ts-pub-head .ts-pub-icon i{color:#fff;font-size:1.3rem}
82.ts-pub-head h2{font-size:1.18rem;color:#fff;margin:0}
83.ts-pub-head p{font-size:.84rem;color:var(--purple3);margin:0}
84.ts-pub-meta-line{margin-left:auto;font-size:.78rem;color:var(--purple3);background:rgba(0,0,0,.22);border:1px solid rgba(var(--theme-rgb-soft),.20);padding:6px 10px;border-radius:999px}
85
86.ts-pub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
87@media (max-width:1200px){.ts-pub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
88@media (max-width:992px){.ts-pub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
89@media (max-width:560px){.ts-pub-grid{grid-template-columns:1fr}}
90
91.ts-pub-card{position:relative;display:flex;flex-direction:column;border:1px solid rgba(var(--theme-rgb-soft),.18);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border-radius:18px;padding:14px;box-shadow:0 14px 30px rgba(0,0,0,.22);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
92.ts-pub-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(0,0,0,.34);border-color:rgba(var(--theme-rgb-soft),.32)}
93.ts-pub-photo{position:relative;width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#0d1118;border:1px solid rgba(var(--theme-rgb-soft),.16)}
94.ts-pub-photo img{width:100%;height:100%;object-fit:cover;display:block}
95.ts-pub-photo .ts-pub-photo-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--purple3);font-size:2.4rem;background:linear-gradient(135deg,rgba(var(--theme-rgb1),.20),rgba(0,0,0,.4))}
96.ts-pub-quote-icon{position:absolute;top:8px;left:8px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(0,0,0,.55);color:var(--gold);font-size:1.1rem;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px)}
97.ts-pub-name{margin-top:10px;font-weight:800;color:#fff;font-size:.98rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
98.ts-pub-prodi{margin-top:3px;font-size:.78rem;color:var(--purple3);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
99.ts-pub-job{margin-top:2px;font-size:.78rem;color:#cfe1ff;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
100.ts-pub-text{margin-top:9px;font-size:.86rem;color:#dfe6f3;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:64px}
101.ts-pub-foot{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
102.ts-pub-time{font-size:.74rem;color:var(--purple3);display:inline-flex;align-items:center;gap:6px}
103.ts-pub-readmore{display:inline-flex;align-items:center;gap:6px;border:0;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-weight:700;padding:7px 12px;border-radius:999px;font-size:.78rem;cursor:pointer;box-shadow:0 8px 18px rgba(var(--theme-rgb1),.28);transition:transform .15s ease,box-shadow .15s ease}
104.ts-pub-readmore:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(var(--theme-rgb2),.34)}
105
106/* Empty state */
107.ts-pub-empty{grid-column:1/-1;border:1px dashed rgba(var(--theme-rgb-soft),.30);background:rgba(0,0,0,.18);border-radius:18px;padding:32px 18px;text-align:center;color:#e9f1ff}
108.ts-pub-empty i{font-size:2.4rem;color:var(--gold);margin-bottom:8px;display:block}
109.ts-pub-empty h4{font-size:1.05rem;margin-bottom:4px}
110.ts-pub-empty p{color:var(--purple3);font-size:.88rem}
111
112/* Pagination */
113.ts-pub-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:18px}
114.ts-pub-pager a, .ts-pub-pager span{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:12px;border:1px solid rgba(var(--theme-rgb-soft),.20);background:rgba(0,0,0,.28);color:#e9f1ff;text-decoration:none;font-weight:700;font-size:.88rem;transition:background .2s ease,transform .15s ease,border-color .2s ease}
115.ts-pub-pager a:hover{background:rgba(var(--theme-rgb1),.22);transform:translateY(-1px);border-color:var(--purple3)}
116.ts-pub-pager .active{background:linear-gradient(135deg,var(--purple),var(--purple2));border-color:transparent;color:#fff;box-shadow:0 8px 22px rgba(var(--theme-rgb1),.30)}
117.ts-pub-pager .disabled{opacity:.45;pointer-events:none}
118.ts-pub-pager .gap{border:0;background:transparent;color:var(--purple3)}
119
120/* Detail Modal */
121#tsDetailModal .modal-box{width:min(820px,94vw);padding:0;overflow:hidden;display:flex;flex-direction:column}
122.tsd-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,var(--purple),var(--navy1));color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
123.tsd-head h3{font-size:1.05rem;margin:0;display:flex;align-items:center;gap:8px}
124.tsd-head .tsd-close{margin-left:auto;border:0;background:rgba(0,0,0,.30);color:#fff;border-radius:10px;padding:7px 10px;cursor:pointer}
125.tsd-body{display:grid;grid-template-columns:240px 1fr;gap:16px;padding:16px;max-height:calc(90vh - 56px);overflow:auto;align-items:start}
126.tsd-photo{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#0d1118;border:1px solid rgba(var(--theme-rgb-soft),.18);position:relative}
127.tsd-photo img{width:100%;height:100%;object-fit:cover;display:block}
128.tsd-photo .tsd-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--purple3);font-size:3rem}
129.tsd-info{display:flex;flex-direction:column;gap:6px;min-width:0}
130.tsd-name{font-size:1.18rem;color:#fff;font-weight:800;line-height:1.3;word-break:break-word}
131.tsd-prodi{color:var(--purple3);font-size:.86rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
132.tsd-job{color:#cfe1ff;font-size:.88rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
133.tsd-time{color:var(--purple3);font-size:.78rem;display:inline-flex;align-items:center;gap:6px}
134.tsd-quote{margin-top:8px;padding:12px 14px;background:rgba(0,0,0,.28);border:1px solid rgba(var(--theme-rgb-soft),.18);border-radius:14px;color:#e9f1ff;font-size:.92rem;line-height:1.65;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}
135.tsd-quote::before{content:"\f6b0";font-family:"bootstrap-icons";color:var(--gold);margin-right:6px;font-size:1.05rem;vertical-align:-2px}
136.tsd-share{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
137.tsd-share .tsd-share-label{font-size:.82rem;color:var(--purple3);margin-right:4px;width:100%}
138.tsd-share-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:8px 12px;color:#fff;font-weight:700;font-size:.78rem;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
139.tsd-share-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.35);filter:brightness(1.06)}
140.tsd-share-btn.wa{background:#25D366}
141.tsd-share-btn.fb{background:#1877F2}
142.tsd-share-btn.tw{background:#000000}
143.tsd-share-btn.tg{background:#229ED9}
144.tsd-share-btn.li{background:#0A66C2}
145.tsd-share-btn.copy{background:linear-gradient(135deg,var(--purple),var(--purple2))}
146.ts-share-wrap{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;z-index:5}
147.ts-share-label-inline{display:inline-flex;align-items:center;color:var(--purple3);font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap}
148.ts-share-toggle{width:auto;height:auto;border:0;border-radius:0;display:inline-grid;place-items:center;background:transparent;color:#fff;cursor:pointer;box-shadow:none;padding:3px 4px;line-height:1;transition:transform .15s ease,color .15s ease,filter .15s ease}
149.ts-share-toggle:hover,.ts-share-wrap.open .ts-share-toggle{transform:translateY(-1px);box-shadow:none;color:var(--purple3);filter:brightness(1.08)}
150.ts-share-toggle i{font-size:1rem}
151.ts-share-menu{position:absolute;right:0;bottom:calc(100% + 8px);min-width:190px;display:none;flex-direction:column;gap:6px;padding:8px;border-radius:16px;border:1px solid rgba(var(--theme-rgb-soft),.22);background:linear-gradient(160deg,rgba(12,17,26,.98),rgba(20,26,36,.98));box-shadow:0 18px 42px rgba(0,0,0,.46);backdrop-filter:blur(10px)}
152.ts-share-wrap.open .ts-share-menu{display:flex;animation:cardRise .18s ease both}
153.ts-share-menu:after{content:"";position:absolute;right:14px;bottom:-7px;width:14px;height:14px;background:#141a24;border-right:1px solid rgba(var(--theme-rgb-soft),.22);border-bottom:1px solid rgba(var(--theme-rgb-soft),.22);transform:rotate(45deg)}
154.ts-share-menu .tsd-share-btn{width:100%;justify-content:flex-start;padding:8px 10px;border-radius:12px;font-size:.76rem;position:relative;z-index:1;box-shadow:none}
155.ts-share-menu .tsd-share-btn:hover{box-shadow:none;transform:translateX(2px)}
156.tsd-share .ts-share-wrap{margin-top:2px}
157.tsd-share .ts-share-menu{left:0;right:auto;bottom:calc(100% + 8px)}
158.tsd-share .ts-share-menu:after{left:14px;right:auto}
159
160/* Responsive Detail Modal — Mobile/Tablet */
161@media (max-width:680px){
162  #tsDetailModal{padding:10px}
163  #tsDetailModal .modal-box{width:100%;max-height:94vh;border-radius:16px}
164  .tsd-head{padding:12px 14px}
165  .tsd-head h3{font-size:.98rem}
166  .tsd-body{grid-template-columns:1fr;gap:12px;padding:14px;max-height:calc(94vh - 52px);text-align:center}
167  .tsd-photo{width:140px;height:140px;aspect-ratio:1/1;margin:2px auto 0;border-radius:50%}
168  .tsd-photo img{border-radius:50%}
169  .tsd-photo .tsd-fallback{font-size:2.4rem}
170  .tsd-info{align-items:center;gap:4px}
171  .tsd-name{font-size:1.05rem;text-align:center}
172  .tsd-prodi,.tsd-job,.tsd-time{justify-content:center;text-align:center;font-size:.82rem}
173  .tsd-quote{margin-top:10px;padding:11px 12px;font-size:.88rem;line-height:1.6;text-align:left}
174  .tsd-share{justify-content:center;margin-top:12px}
175  .tsd-share .tsd-share-label{text-align:center;width:100%;margin-right:0;margin-bottom:2px}
176  .tsd-share .ts-share-wrap{justify-content:center}
177  .tsd-share .ts-share-menu{left:50%;right:auto;transform:translateX(-50%);bottom:calc(100% + 8px)}
178  .tsd-share .ts-share-menu:after{left:50%;right:auto;transform:translateX(-50%) rotate(45deg)}
179  .tsd-share-btn{padding:7px 11px;font-size:.74rem}
180}
181@media (max-width:380px){
182  .tsd-photo{width:120px;height:120px}
183  .tsd-share-btn{padding:6px 9px;font-size:.72rem}
184  .tsd-share-btn i{font-size:.92rem}
185}
186
187/* ===== Tracer Study Preview ===== */
188.tracer-card{position:relative;border:1px solid rgba(var(--theme-rgb-soft),.18);background:linear-gradient(160deg,rgba(255,255,255,.074),rgba(255,255,255,.028));border-radius:22px;padding:16px;box-shadow:0 18px 45px rgba(0,0,0,.24);overflow:hidden}
189.tracer-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
190.tracer-icon{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,var(--purple),var(--navy1));display:grid;place-items:center;box-shadow:0 10px 24px rgba(var(--theme-rgb1),.30)}
191.tracer-icon i{color:#fff;font-size:1.35rem}
192.tracer-head h2{font-size:1.18rem;color:#fff;margin:0}
193.tracer-head p{font-size:.84rem;color:var(--purple3);margin:0;line-height:1.5}
194.tracer-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
195.tracer-open{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;border:1px solid rgba(var(--theme-rgb-soft),.26);background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;text-decoration:none;font-size:.82rem;font-weight:800;box-shadow:0 10px 24px rgba(var(--theme-rgb1),.26);transition:transform .2s ease,box-shadow .2s ease}
196.tracer-open:hover{transform:translateY(-1px);box-shadow:0 15px 32px rgba(var(--theme-rgb2),.34)}
197.tracer-note{margin:0 0 12px;border:1px dashed rgba(var(--theme-rgb-soft),.25);border-radius:16px;padding:11px 12px;color:#dfe9fb;background:rgba(0,0,0,.18);font-size:.84rem;line-height:1.55}
198.tracer-frame-wrap{position:relative;width:100%;height:min(78vh,820px);min-height:620px;border:1px solid rgba(var(--theme-rgb-soft),.18);border-radius:18px;overflow:hidden;background:#0d1118;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
199.tracer-frame{width:100%;height:100%;border:0;background:#fff;display:block}
200.tracer-fallback{position:absolute;left:14px;right:14px;bottom:14px;border-radius:14px;padding:10px 12px;background:rgba(5,8,12,.78);border:1px solid rgba(255,255,255,.14);color:#f5f7fb;font-size:.78rem;line-height:1.45;backdrop-filter:blur(6px)}
201@media(max-width:768px){.tracer-actions{width:100%;margin-left:0}.tracer-open{width:100%;justify-content:center}.tracer-frame-wrap{height:72vh;min-height:520px}}
202
203/* ===== Dukungan Alumni ===== */
204.dukungan-card{position:relative;border:1px solid rgba(var(--theme-rgb-soft),.18);background:linear-gradient(160deg,rgba(255,255,255,.074),rgba(255,255,255,.028));border-radius:22px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.24);overflow:hidden}
205.dukungan-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
206.dukungan-icon{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,var(--purple),var(--navy1));display:grid;place-items:center;box-shadow:0 10px 24px rgba(var(--theme-rgb1),.30);flex:0 0 auto}
207.dukungan-icon i{color:#fff;font-size:1.35rem}
208.dukungan-head h2{font-size:1.18rem;color:#fff;margin:0}
209.dukungan-head p{font-size:.84rem;color:var(--purple3);margin:0;line-height:1.5}
210.dukungan-note{margin:0 0 16px;border:1px dashed rgba(var(--theme-rgb-soft),.25);border-radius:16px;padding:11px 12px;color:#dfe9fb;background:rgba(0,0,0,.18);font-size:.84rem;line-height:1.55}
211.dukungan-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;border:1px solid rgba(var(--theme-rgb-soft),.18);border-radius:17px;padding:12px;background:linear-gradient(135deg,rgba(var(--theme-rgb1),.14),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
212.dukungan-invite-text{display:flex;align-items:flex-start;gap:10px;color:#dfe9fb;font-size:.84rem;line-height:1.5;min-width:0}
213.dukungan-invite-text i{color:var(--purple2);font-size:1.05rem;margin-top:2px;flex:0 0 auto}
214.dukungan-invite-text strong{color:#fff}
215.dukungan-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;border:none;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-size:.84rem;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(var(--theme-rgb1),.30);transition:transform .18s ease,box-shadow .2s ease,opacity .2s ease}
216.dukungan-copy-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(var(--theme-rgb2),.36)}
217.dukungan-copy-btn:disabled{opacity:.68;cursor:not-allowed;transform:none}
218.dukungan-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 18px}
219.dukungan-stat{border:1px solid rgba(var(--theme-rgb-soft),.18);background:linear-gradient(150deg,rgba(var(--theme-rgb1),.16),rgba(255,255,255,.02));border-radius:16px;padding:14px 16px}
220.dukungan-stat .lbl{display:flex;align-items:center;gap:7px;color:var(--purple3);font-size:.78rem;font-weight:700;margin-bottom:6px}
221.dukungan-stat .val{color:#fff;font-size:1.45rem;font-weight:800;letter-spacing:.01em;line-height:1.15;word-break:break-word}
222.dukungan-stat .val small{font-size:.82rem;font-weight:700;color:#cdd9ee}
223.dukungan-form{border:1px solid rgba(var(--theme-rgb-soft),.16);background:rgba(0,0,0,.16);border-radius:18px;padding:16px}
224.dukungan-form .fg{margin-bottom:13px}
225.dukungan-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
226.dukungan-grid .fg-full{grid-column:1 / -1}
227@media (max-width:560px){.dukungan-grid{grid-template-columns:1fr}}
228.dukungan-form label{display:block;font-size:.84rem;font-weight:700;color:#e9f1ff;margin-bottom:6px}
229.dukungan-form label .req{color:var(--purple2)}
230.dukungan-form input[type=text],.dukungan-form input[type=tel],.dukungan-form input[type=number],.dukungan-form textarea{width:100%;box-sizing:border-box;background:rgba(8,12,22,.72);border:1px solid rgba(var(--theme-rgb-soft),.26);border-radius:12px;color:#f1f5ff;padding:11px 13px;font-size:.95rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}
231.dukungan-form input:focus,.dukungan-form textarea:focus{outline:none;border-color:var(--purple2);box-shadow:0 0 0 3px rgba(var(--theme-rgb2),.18)}
232.dukungan-form textarea{resize:vertical;min-height:74px}
233.dukungan-catatan-inline{margin-top:10px}
234.dukungan-catatan-inline textarea{height:58px;min-height:58px}
235.dukungan-nominal-wrap{position:relative}
236.dukungan-nominal-wrap .pfx{position:absolute;
236left:13px;top:50%;transform:translateY(-50%);color:var(--purple3);font-weight:800;font-size:.95rem;pointer-events:none}
237.dukungan-nominal-wrap input{padding-left:38px!important;font-weight:800;letter-spacing:.3px}
238.dukungan-nominal-wrap input[type=number]::-webkit-outer-spin-button,.dukungan-nominal-wrap input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
239.dukungan-nominal-wrap input[type=number]{-moz-appearance:textfield;appearance:textfield}
240.dukungan-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
241.dukungan-chip{border:1px solid rgba(var(--theme-rgb-soft),.30);background:rgba(var(--theme-rgb1),.10);color:#eaf1ff;border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .15s ease}
242.dukungan-chip:hover{background:rgba(var(--theme-rgb1),.22);transform:translateY(-1px)}
243.dukungan-chip.active{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;border-color:rgba(255,255,255,.12)}
244.dukungan-field-note{display:block;color:#9fb0cc;font-size:.78rem;line-height:1.4;margin-top:5px}
245.dukungan-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:6px;padding:13px 18px;border:none;border-radius:13px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-weight:800;font-size:1rem;cursor:pointer;box-shadow:0 14px 30px rgba(var(--theme-rgb1),.30);transition:transform .18s ease,box-shadow .2s ease,opacity .2s ease}
246.dukungan-submit:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(var(--theme-rgb2),.36)}
247.dukungan-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
248.dukungan-secure{display:flex;align-items:center;justify-content:center;gap:7px;color:#9fb0cc;font-size:.78rem;margin-top:11px;text-align:center}
249.dukungan-disabled{border:1px dashed rgba(245,158,11,.4);background:rgba(146,64,14,.14);color:#fde68a;border-radius:14px;padding:12px 14px;font-size:.86rem;line-height:1.55}
250.ugate-swal-dark .dm,.ugate-swal-dark .dm:focus,.ugate-swal-dark .dm:active,.ugate-swal-dark .dm:focus-visible,.swal2-popup .dm,.swal2-popup .dm:focus,.swal2-popup .dm:active,.swal2-popup .dm:focus-visible{outline:none!important;box-shadow:none!important}
251.ugate-swal-dark .dm::-moz-focus-inner,.swal2-popup .dm::-moz-focus-inner{border:0!important}
252@media(max-width:560px){.dukungan-invite{align-items:stretch;flex-direction:column}.dukungan-copy-btn{width:100%}.dukungan-stats{grid-template-columns:1fr}.dukungan-stat .val{font-size:1.3rem}}
253
254/* Card-level share */
255.ts-pub-foot .ts-share-wrap{margin-left:auto}
256.ts-pub-foot .ts-share-toggle{width:auto;height:auto;padding:2px 3px;border-radius:0;justify-content:center;background:transparent;box-shadow:none}
257.ts-pub-foot .ts-share-toggle i{font-size:.95rem}
258.ts-pub-foot .ts-share-menu{bottom:calc(100% + 9px)}
259@media (max-width:420px){.ts-pub-foot{align-items:center}.ts-pub-foot .ts-pub-readmore{flex:1;justify-content:center}.ts-pub-foot .ts-share-wrap{margin-left:0}}
260
261/* ===== Loading Simpan Profil Alumni ===== */
262#registerAlumniForm.is-saving{pointer-events:none;opacity:.82;filter:saturate(.92)}
263#btnSaveAlumniProfile.is-loading{cursor:wait;opacity:.92;box-shadow:0 18px 44px rgba(var(--theme-rgb2),.34)}
264#btnSaveAlumniProfile.is-loading:hover{transform:none}
265.ugate-submit-overlay{position:fixed;inset:0;z-index:5200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.78);backdrop-filter:blur(9px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
266.ugate-submit-overlay.show{opacity:1;visibility:visible;pointer-events:auto}
267.ugate-submit-card{width:min(430px,92vw);border:1px solid rgba(var(--theme-rgb-soft),.28);border-radius:26px;background:linear-gradient(155deg,#0f172a,#111827 56%,#020617);box-shadow:0 30px 86px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06);padding:28px 24px;text-align:center;color:#f8fafc}
268.ugate-submit-spinner{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;border:4px solid rgba(255,255,255,.13);border-top-color:var(--purple2);border-right-color:var(--purple3);animation:ugateSpin .82s linear infinite;box-shadow:0 0 28px rgba(var(--theme-rgb2),.28)}
269.ugate-submit-card h3{font-size:1.18rem;margin:0 0 8px;color:#fff;letter-spacing:.01em}
270.ugate-submit-card p{margin:0;color:#cbd5e1;line-height:1.58;font-size:.92rem}
271.ugate-submit-card .mini{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:7px 10px;border-radius:999px;background:rgba(var(--theme-rgb1),.14);border:1px solid rgba(var(--theme-rgb-soft),.22);color:var(--purple3);font-size:.78rem;font-weight:700}
272@keyframes ugateSpin{to{transform:rotate(360deg)}}
273@media (prefers-reduced-motion:reduce){.ugate-submit-spinner{animation:none}.ugate-submit-overlay{transition:none}}
274</style>
275<!-- PWA essentials -->
276<link rel="manifest" href="/../manifest.json">
277<meta name="theme-color" content="#2B6CB0">
278<link rel="icon" href="https://www.uyelindogroup.org/images/icon-192.png" sizes="192x192">
279<link rel="apple-touch-icon" href="https://www.uyelindogroup.org/images/icon-192.png"></head>
280<body data-idptaktif="1" data-theme="maroon">
281<main>
281
282  <div class="wrapper container">
283    <section class="alumni-panel" aria-labelledby="judulAlumni">
284      <div class="alumni-head">
285        <div class="icon" aria-hidden="true"><i class="bi bi-mortarboard-fill"></i></div>
286        <div><h1 id="judulAlumni">Portal Alumni</h1><p>Silakan login jika sudah memiliki akun, atau lakukan pendaftaran profil alumni agar akun langsung aktif otomatis.</p></div>
287      </div>
288      
289      <!-- Tabs Navigation -->
290      <nav class="tabs-bar" role="tablist" aria-label="Navigasi Tab Portal Alumni">
291        <button type="button" class="tab-btn active" id="tabBtnProfil" role="tab" aria-selected="true" data-tab="profil">
292          <i class="bi bi-person-vcard-fill"></i> Profil Alumni
293        </button>
294        <button type="button" class="tab-btn " id="tabBtnTestimoni" role="tab" aria-selected="false" data-tab="testimoni">
295          <i class="bi bi-chat-square-quote-fill"></i> Testimoni
296        </button>
297        <button type="button" class="tab-btn " id="tabBtnTracer" role="tab" aria-selected="false" data-tab="tracer">
298          <i class="bi bi-search-heart-fill"></i> Tracer Study
299        </button>
300        <button type="button" class="tab-btn " id="tabBtnDukungan" role="tab" aria-selected="false" data-tab="dukungan">
301          <i class="bi bi-heart-fill"></i> Dukungan Alumni
302        </button>
303      </nav>
304
305      <!-- ============ TAB PROFIL ALUMNI (login + pendaftaran) ============ -->
306      <div class="tab-pane active" id="tabPaneProfil" role="tabpanel" aria-labelledby="tabBtnProfil">
307        <div class="alumni-grid">
308          <form class="form-card" method="post" action="" autocomplete="off" novalidate>
309            <input type="hidden" name="csrf_token" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508"><input type="hidden" name="action" value="login_alumni">
310            <div class="form-title"><div class="badge-icon"><i class="bi bi-box-arrow-in-right"></i></div><div><h2>Login Alumni</h2><p>Akun pendaftar baru otomatis aktif setelah profil berhasil disimpan.</p></div></div>
311            <div class="fg"><label>Email <span class="req" aria-hidden="true">*</span></label><input id="login_email" name="login_email" type="hidden" value="" readonly aria-hidden="true" tabindex="-1" autocomplete="off" data-google-only="1"><div class="google-email-wrap"><button type="button" id="btnLoginGoogleEmail" class="gbtn" aria-label="Gunakan G-Mail"><span class="gbtn-ico" aria-hidden="true">
312                  <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg>
313                </span><span class="gbtn-txt">Gunakan G-Mail</span></button><div id="loginGoogleEmailStatus" class="gmail-status" hidden></div></div></div>
314            <div class="fg"><label for="login_password">Password <span class="req" aria-hidden="true">*</span></label><div class="password-wrap"><input id="login_password" name="login_password" type="password" placeholder="6 digit huruf dan angka" minlength="6" maxlength="6" required><button type="button" class="toggle-password" data-target="login_password" aria-label="Lihat password"><i class="bi bi-eye-fill"></i></button></div></div>
315            <div class="fg"><label for="captcha_answer">Captcha Matematika <span class="req" aria-hidden="true">*</span></label><div class="captcha-box"><span class="captcha-question">9 + 9 =</span><input id="captcha_answer" name="captcha_answer" type="number" inputmode="numeric" placeholder="Jawaban" required></div></div>
316            <div id="loginRateAlert" class="rate-alert" data-remaining="0"><i class="bi bi-shield-lock-fill"></i> Percobaan login diblokir sementara. Sisa waktu: <strong class="rate-countdown">05:00</strong></div>
317            <button class="btn-main" type="submit"><i class="bi bi-unlock-fill"></i> Login ke Alumni Beranda</button>
318            <button class="btn-main btn-reset" type="button" id="openResetPassword"><i class="bi bi-key-fill"></i> Lupa Password</button>
319            <div class="login-divider"><span>atau</span></div>
320            <div id="googleLoginWrap" class="google-login-wrap">
321              <button type="button" id="gsiCustomBtn" class="gbtn" aria-label="Login dengan Google">
322                <span class="gbtn-ico" aria-hidden="true">
323                  <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg>
324                </span>
325                <span class="gbtn-txt">Login dengan Google</span>
326              </button>
327            </div>
328          </form>
329
330          <form class="form-card" id="registerAlumniForm" method="post" action="" autocomplete="off" novalidate style="animation-delay:80ms">
331            <input type="hidden" name="csrf_token" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508"><input type="hidden" name="action" value="register_alumni">
332            <div class="form-title"><div class="badge-icon"><i class="bi bi-person-plus-fill"></i></div><div><h2>Pendaftaran Alumni</h2></div></div>
333            <div class="form-row"><div class="fg"><label for="nim">NIM <span class="field-note" style="display:inline;margin-left:6px">(Opsional)</span></label><input id="nim" name="nim" type="text" inputmode="numeric" pattern="[0-9]*" maxlength="20" placeholder="NIM alumni (opsional)" data-digits-only="true"><small class="field-note">Boleh dikosongkan jika lupa NIM</small></div><div class="fg"><label for="tahun_lulus">Tahun Lulus <span class="req" aria-hidden="true">*</span></label><input id="tahun_lulus" name="tahun_lulus" type="number" min="1950" max="2027" placeholder="Contoh: 2026" required></div></div>
334            <div class="fg"><label for="nama_lengkap">Nama Lengkap <span class="req" aria-hidden="true">*</span></label><input id="nama_lengkap" name="nama_lengkap" type="text" maxlength="180" placeholder="Nama sesuai ijazah" required></div>
335            <div class="form-row"><div class="fg"><label for="jenis_kelamin">Jenis Kelamin <span class="req" aria-hidden="true">*</span></label><select id="jenis_kelamin" name="jenis_kelamin" required><option value="">Pilih jenis kelamin</option><option value="Laki-Laki">Laki-Laki</option><option value="Perempuan">Perempuan</option></select></div><div class="fg"><label for="idprodi">Program Studi <span class="req" aria-hidden="true">*</span></label><select id="idprodi" name="idprodi" required><option value="">Pilih program studi</option><option value="25">S1 - Bisnis Digital (BD)</option><option value="27">S1 - Hukum Bisnis (HB)</option><option value="23">S1 - Manajemen Bisnis Internasional (MBI)</option><option value="15">D3 - Teknik Informatika (TID3)</option><option value="26">S1 - Pendidikan Teknologi Informasi (PTI)</option><option value="24">S1 - Sains Data (SD)</option><option value="13">S1 - Sistem Informasi (SIS1)</option><option value="14">S1 - Teknik Informatika (TIS1)</option></select></div></div>
336            <div class="form-row"><div class="fg"><label>Email <span class="req" aria-hidden="true">*</span></label><input id="email" name="email" type="hidden" value="" readonly aria-hidden="true" tabindex="-1" autocomplete="off" data-google-only="1"><div class="google-email-wrap"><button type="button" id="btnRegisterGoogleEmail" class="gbtn" aria-label="Gunakan G-Mail"><span class="gbtn-ico" aria-hidden="true">
337                  <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg>
338                </span><span class="gbtn-txt">Gunakan G-Mail</span></button><div id="registerGoogleEmailStatus" class="gmail-status" hidden></div></div></div><div class="fg"><label for="no_telepon">Nomor Telepon <span class="req" aria-hidden="true">*</span></label><input id="no_telepon" name="no_telepon" type="tel" inputmode="numeric" pattern="[0-9]*" maxlength="15" placeholder="08xxxxxxxxxx" data-digits-only="true" required></div></div>
339            <div class="fg"><label for="password">Password (6 karakter huruf dan angka)<span class="req" aria-hidden="true">*</span></label><div class="password-wrap"><input id="password" name="password" type="password" minlength="6" maxlength="6" pattern="(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6}" placeholder="Contoh: ab12cd" required><button type="button" class="toggle-password" data-target="password" aria-label="Lihat password"><i class="bi bi-eye-fill"></i></button></div></div>
340            <div class="form-row"><div class="fg"><label for="pekerjaan_saat_ini">Pekerjaan Saat Ini</label><input id="pekerjaan_saat_ini" name="pekerjaan_saat_ini" type="text" maxlength="180" placeholder="Contoh: Dosen / Programmer"></div><div class="fg"><label for="nama_perusahaan_instansi">Perusahaan/Instansi</label><input id="nama_perusahaan_instansi" name="nama_perusahaan_instansi" type="text" maxlength="220" placeholder="Nama instansi"></div></div>
341            
342            <div class="form-row">
343              <div class="fg">
344                <label for="idnegara">Negara <span class="req" aria-hidden="true">*</span></label>
345                <select id="idnegara" name="idnegara" required>
346                  <option value="">Pilih negara</option>
347                                    <option value="3">Afghanistan</option>
348                                    <option value="4">Afrika Selatan</option>
349                                    <option value="5">Albania</option>
350                                    <option value="6">Aljazair</option>
351                                    <option value="7">Amerika Serikat</option>
352                                    <option value="8">Andorra</option>
353                                    <option value="9">Angola</option>
354                                    <option value="10">Antigua dan Barbuda</option>
355                                    <option value="11">Arab Saudi</option>
356                                    <option value="12">Argentina</option>
357                                    <option value="13">Armenia</option>
358                                    <option value="14">Australia</option>
359                                    <option value="15">Austria</option>
360                                    <option value="16">Azerbaijan</option>
361                                    <option value="17">Bahama</option>
362                                    <option value="18">Bahrain</option>
363                                    <option value="19">Bangladesh</option>
364                                    <option value="20">Barbados</option>
365                                    <option value="21">Belanda</option>
366                                    <option value="22">Belarus</option>
367                                    <option value="23">Belgia</option>
368                                    <option value="24">Belize</option>
369                                    <option value="25">Benin</option>
370                                    <option value="26">Bhutan</option>
371                                    <option value="27">Bolivia</option>
372                                    <option value="28">Bosnia dan Herzegovina</option>
373                                    <option value="29">Botswana</option>
374                                    <option value="30">Brasil</option>
375                                    <option value="31">Brunei Darussalam</option>
376                                    <option value="32">Bulgaria</option>
377                                    <option value="33">Burkina Faso</option>
378                                    <option value="34">Burundi</option>
379                                    <option value="35">Cabo Verde</option>
380                                    <option value="36">Chad</option>
381                                    <option value="37">Chili</option>
382                                    <option value="38">Denmark</option>
383                                    <option value="39">Djibouti</option>
384                                    <option value="40">Dominika</option>
385                                    <option value="41">Ekuador</option>
386                                    <option value="42">El Salvador</option>
387                                    <option value="43">Eritrea</option>
388                                    <option value="44">Estonia</option>
389                                    <option value="45">Eswatini</option>
390                                    <option value="46">Ethiopia</option>
391                                    <option value="47">Fiji</option>
392                                    <option value="48">Filipina</option>
393                                    <option value="49">Finlandia</option>
394                                    <option value="50">Gabon</option>
395                                    <option value="51">Gambia</option>
396                                    <option value="52">Georgia</option>
397                                    <option value="53">Ghana</option>
398                                    <option value="54">Grenada</option>
399                                    <option value="55">Guatemala</option>
400                                    <option value="56">Guinea</option>
401                                    <option value="58">Guinea Khatulistiwa</option>
402                                    <option value="57">Guinea-Bissau</option>
403                                    <option value="59">Guyana</option>
404                                    <option value="60">Haiti</option>
405                                    <option value="61">Honduras</option>
406                                    <option value="62">Hongaria</option>
407                                    <option value="63">India</option>
408                                    <option value="1">Indonesia</option>
409                                    <option value="64">Inggris</option>
410                                    <option value="65">Irak</option>
411                                    <option value="66">Iran</option>
412                                    <option value="67">Irlandia</option>
413                                    <option value="68">Islandia</option>
414                                    <option value="69">Israel</option>
415                                    <option value="70">Italia</option>
416                                    <option value="71">Jamaika</option>
417                                    <option value="72">Jepang</option>
418                                    <option value="73">Jerman</option>
419                                    <option value="74">Kamboja</option>
420                                    <option value="75">Kamerun</option>
421                                    <option value="76">Kanada</option>
422                                    <option value="77">Kazakhstan</option>
423                                    <option value="78">Kenya</option>
424                                    <option value="79">Kepulauan Marshall</option>
425                                    <option value="80">Kepulauan Solomon</option>
426                                    <option value="81">Kirgizstan</option>
427                                    <option value="82">Kiribati</option>
428                                    <option value="83">Kolombia</option>
429                                    <option value="84">Komoro</option>
430                                    <option value="87">Korea Selatan</option>
431                                    <option value="88">Korea Utara</option>
432                                    <option value="89">Kosta Rika</option>
433                                    <option value="90">Kroasia</option>
434                                    <option value="91">Kuba</option>
435                                    <option value="92">Kuwait</option>
436                                    <option value="93">Laos</option>
437                                    <option value="94">Latvia</option>
438                                    <option value="95">Lebanon</option>
439                                    <option value="96">Lesotho</option>
440                                    <option value="97">Liberia</option>
441                                    <option value="98">Libya</option>
442                                    <option value="99">Liechtenstein</option>
443                                    <option value="100">Lituania</option>
444                                    <option value="101">Luksemburg</option>
445                                    <option value="102">Madagaskar</option>
446                                    <option value="103">Maladewa</option>
447                                    <option value="104">Malawi</option>
448                                    <option value="105">Malaysia</option>
449                                    <option value="106">Mali</option>
450                                    <option value="107">Malta</option>
451                                    <option value="108">Maroko</option>
452                                    <option value="109">Mauritania</option>
453                                    <option value="110">Mauritius</option>
454                                    <option value="111">Meksiko</option>
455                                    <option value="112">Mesir</option>
456                                    <option value="113">Mikronesia</option>
457                                    <option value="114">Moldova</option>
458                                    <option value="115">Monako</option>
459                                    <option value="116">Mongolia</option>
460                                    <option value="117">Montenegro</option>
461                                    <option value="118">Mozambik</option>
462                                    <option value="119">Myanmar</option>
463                                    <option value="120">Namibia</option>
464                                    <option value="121">Nauru</option>
465                                    <option value="122">Nepal</option>
466                                    <option value="123">Niger</option>
467                                    <option value="124">Nigeria</option>
468                                    <option value="125">Nikaragua</option>
469                                    <option value="126">Norwegia</option>
470                                    <option value="127">Oman</option>
471                                    <option value="128">Pakistan</option>
472                                    <option value="129">Palau</option>
473                                    <option value="130">Palestina</option>
474                                    <option value="131">Panama</option>
475                                    <option value="132">Pantai Gading</option>
476                                    <option value="133">Papua Nugini</option>
477                                    <option value="134">Paraguay</option>
478                                    <option value="135">Perancis</option>
479                                    <option value="136">
479Peru</option>
480                                    <option value="137">Polandia</option>
481                                    <option value="138">Portugal</option>
482                                    <option value="139">Qatar</option>
483                                    <option value="140">Republik Afrika Tengah</option>
484                                    <option value="141">Republik Ceko</option>
485                                    <option value="86">Republik Demokratik Kongo</option>
486                                    <option value="142">Republik Dominika</option>
487                                    <option value="85">Republik Kongo</option>
488                                    <option value="143">Rumania</option>
489                                    <option value="144">Rusia</option>
490                                    <option value="145">Rwanda</option>
491                                    <option value="146">Saint Kitts dan Nevis</option>
492                                    <option value="147">Saint Lucia</option>
493                                    <option value="148">Saint Vincent dan Grenadine</option>
494                                    <option value="149">Samoa</option>
495                                    <option value="150">San Marino</option>
496                                    <option value="151">Sao Tome dan Principe</option>
497                                    <option value="152">Selandia Baru</option>
498                                    <option value="153">Senegal</option>
499                                    <option value="154">Serbia</option>
500                                    <option value="155">Seychelles</option>
501                                    <option value="156">Sierra Leone</option>
502                                    <option value="157">Singapura</option>
503                                    <option value="158">Siprus</option>
504                                    <option value="159">Slovakia</option>
505                                    <option value="160">Slovenia</option>
506                                    <option value="161">Somalia</option>
507                                    <option value="162">Spanyol</option>
508                                    <option value="163">Sri Lanka</option>
509                                    <option value="164">Sudan</option>
510                                    <option value="165">Sudan Selatan</option>
511                                    <option value="166">Suriah</option>
512                                    <option value="167">Suriname</option>
513                                    <option value="168">Swedia</option>
514                                    <option value="169">Swiss</option>
515                                    <option value="170">Tajikistan</option>
516                                    <option value="171">Tanzania</option>
517                                    <option value="172">Thailand</option>
518                                    <option value="2">Timor Leste</option>
519                                    <option value="173">Togo</option>
520                                    <option value="174">Tonga</option>
521                                    <option value="175">Trinidad dan Tobago</option>
522                                    <option value="176">Tunisia</option>
523                                    <option value="177">Turki</option>
524                                    <option value="178">Turkmenistan</option>
525                                    <option value="179">Tuvalu</option>
526                                    <option value="180">Uganda</option>
527                                    <option value="181">Ukraina</option>
528                                    <option value="182">Uni Emirat Arab</option>
529                                    <option value="183">Uruguay</option>
530                                    <option value="184">Uzbekistan</option>
531                                    <option value="185">Vanuatu</option>
532                                    <option value="186">Vatikan</option>
533                                    <option value="187">Venezuela</option>
534                                    <option value="188">Vietnam</option>
535                                    <option value="189">Yaman</option>
536                                    <option value="190">Yordania</option>
537                                    <option value="191">Yunani</option>
538                                    <option value="192">Zambia</option>
539                                    <option value="193">Zimbabwe</option>
540                                  </select>
541              </div>
542              <div class="fg">
543                <label for="idprovinsi">Provinsi <span class="req" aria-hidden="true">*</span></label>
544                <select id="idprovinsi" name="idprovinsi" required disabled>
545                  <option value="">Pilih provinsi</option>
546                </select>
547              </div>
548            </div>
549            <div class="form-row">
550              <div class="fg">
551                <label for="idkabupaten">Kabupaten/Kota <span class="req" aria-hidden="true">*</span></label>
552                <select id="idkabupaten" name="idkabupaten" required disabled>
553                  <option value="">Pilih kabupaten/kota</option>
554                </select>
555              </div>
556              <div class="fg">
557                <label for="idkecamatan">Kecamatan <span class="req" aria-hidden="true">*</span></label>
558                <select id="idkecamatan" name="idkecamatan" required disabled>
559                  <option value="">Pilih kecamatan</option>
560                </select>
561              </div>
562            </div>
563            
564            <div class="fg"><label for="alamat">Alamat Lengkap <span class="req" aria-hidden="true">*</span></label><textarea id="alamat" name="alamat" placeholder="Alamat domisili alumni" required></textarea></div>
565            <div class="fg"><label for="register_captcha_answer">Captcha Matematika <span class="req" aria-hidden="true">*</span></label><div class="captcha-box"><span class="captcha-question">4 + 7 =</span><input id="register_captcha_answer" name="register_captcha_answer" type="number" inputmode="numeric" placeholder="Jawaban" required></div></div>
566            <button class="btn-main" id="btnSaveAlumniProfile" type="submit"><i class="bi bi-send-check-fill"></i> Simpan Profil Alumni</button>
567
568          </form>
569        </div>
570      </div>
571
572      <!-- ============ TAB TESTIMONI (publik, approved) ============ -->
573      <div class="tab-pane " id="tabPaneTestimoni" role="tabpanel" aria-labelledby="tabBtnTestimoni">
574        <div class="ts-pub-head">
575          <div class="ts-pub-icon" aria-hidden="true"><i class="bi bi-chat-square-quote-fill"></i></div>
576          <div>
577            <h2>Testimoni Alumni</h2>
578            <p>Cerita, kesan, dan pesan dari para alumni Universitas Uyelindo.</p>
579          </div>
580          <span class="ts-pub-meta-line"><i class="bi bi-collection-fill"></i> Total 100 testimoni</span>
581        </div>
582
583        <div class="ts-pub-grid" id="tsPubGrid">
584                                  <article class="ts-pub-card" data-idtest="125">
585              <div class="ts-pub-photo">
586                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
587                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_158_125_20260807_125409_6ad058c7.jpg" alt="Foto testimoni DOMINGOS SOARES MARTINS" loading="lazy">
588                              </div>
589              <div class="ts-pub-name">DOMINGOS SOARES MARTINS <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '23</span></div>
590              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Teknik Informatika (TIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> ASN • Dinas Pariwisata dan Ekonomi Kreatif Provinsi NTT</div>              <div class="ts-pub-text">Pengalaman kuliah selama 4 tahun di Teknik Informatika Universitas Uyelindo Kupang (yang saat saya masuk masih bernama STIKOM Uyelindo)…</div>
591              <div class="ts-pub-foot">
592                <span class="ts-pub-time"><i class="bi bi-clock"></i> 07 Agustus 2026 • 11:52</span>
593                <button type="button" class="ts-pub-readmore"
594                  data-id="125"
595                  data-nama="DOMINGOS SOARES MARTINS"
596                  data-thn="2023"
597                  data-prodi="S1 - Teknik Informatika (TIS1)"
598                  data-kerja="ASN • Dinas Pariwisata dan Ekonomi Kreatif Provinsi NTT"
599                  data-isi="Pengalaman kuliah selama 4 tahun di Teknik Informatika Universitas Uyelindo Kupang (yang saat saya masuk masih bernama STIKOM Uyelindo) memberi fondasi yang sangat kuat bagi karier saya. Pembelajaran di kampus ini benar-benar aplikatif, terutama pada mata kuliah pemrograman yang dibawakan dengan sangat baik hingga memicu minat besar saya di dunia teknologi. Ilmu yang saya dapatkan bukan sekadar teori akademis untuk meraih predikat memuaskan saat lulus, melainkan keterampilan nyata yang langsung saya gunakan dan kembangkan saat bekerja sebagai freelancer web developer berbasis Laravel, hingga akhirnya kini mengabdi sebagai seorang ASN."
600                  data-tgl="07 Agustus 2026 • 11:52"
601                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_158_125_20260807_125409_6ad058c7.jpg"
602                  data-share="DOMINGOS SOARES MARTINS — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Pengalaman kuliah selama 4 tahun di Teknik Informatika Universitas Uyelindo Kupang (yang saat saya masuk masih bernama STIKOM Uyelindo) memberi fondasi yang sangat kuat bagi karier saya. Pembelajaran…&quot;"
603                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=125">
604                  <i class="bi bi-eye-fill"></i> Selengkapnya
605                </button>
606                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
607                  <span class="ts-share-label-inline">Bagikan:</span>
608                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni DOMINGOS SOARES MARTINS" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
609                  <div class="ts-share-menu" role="menu">
610                    <a class="tsd-share-btn wa" href="https://wa.me/?text=DOMINGOS%20SOARES%20MARTINS%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Pengalaman%20kuliah%20selama%204%20tahun%20di%20Teknik%20Informatika%20Universitas%20Uyelindo%20Kupang%20%28yang%20saat%20saya%20masuk%20masih%20bernama%20STIKOM%20Uyelindo%29%20memberi%20fondasi%20yang%20sangat%20kuat%20bagi%20karier%20saya.%20Pembelajaran%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D125" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
611                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D125&quote=DOMINGOS%20SOARES%20MARTINS%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Pengalaman%20kuliah%20selama%204
611%20tahun%20di%20Teknik%20Informatika%20Universitas%20Uyelindo%20Kupang%20%28yang%20saat%20saya%20masuk%20masih%20bernama%20STIKOM%20Uyelindo%29%20memberi%20fondasi%20yang%20sangat%20kuat%20bagi%20karier%20saya.%20Pembelajaran%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
612                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=DOMINGOS%20SOARES%20MARTINS%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Pengalaman%20kuliah%20selama%204%20tahun%20di%20Teknik%20Informatika%20Universitas%20Uyelindo%20Kupang%20%28yang%20saat%20saya%20masuk%20masih%20bernama%20STIKOM%20Uyelindo%29%20memberi%20fondasi%20yang%20sangat%20kuat%20bagi%20karier%20saya.%20Pembelajaran%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D125" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
613                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D125&text=DOMINGOS%20SOARES%20MARTINS%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Pengalaman%20kuliah%20selama%204%20tahun%20di%20Teknik%20Informatika%20Universitas%20Uyelindo%20Kupang%20%28yang%20saat%20saya%20masuk%20masih%20bernama%20STIKOM%20Uyelindo%29%20memberi%20fondasi%20yang%20sangat%20kuat%20bagi%20karier%20saya.%20Pembelajaran%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
614                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D125" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
615                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="DOMINGOS SOARES MARTINS — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Pengalaman kuliah selama 4 tahun di Teknik Informatika Universitas Uyelindo Kupang (yang saat saya masuk masih bernama STIKOM Uyelindo) memberi fondasi yang sangat kuat bagi karier saya. Pembelajaran…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=125" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
616                  </div>
617                </div>
618              </div>
619            </article>
620                        <article class="ts-pub-card" data-idtest="124">
621              <div class="ts-pub-photo">
622                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
623                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_255_124_20260802_144630_249278f5.jpg" alt="Foto testimoni Vincentia Ade Hayon, S.Kom" loading="lazy">
624                              </div>
625              <div class="ts-pub-name">Vincentia Ade Hayon, S.Kom <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '23</span></div>
626              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Teknik Informatika (TIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> ASN • Dinas Pekerjaan Umum dan Perumahan Rakyat Provinsi Nusa Tenggara Timur</div>              <div class="ts-pub-text">Bekal pendidikan di STIKOM Uyelindo Kupang memberikan fondasi berpikir analitis dan penguasaan teknologi yang krusial dalam mendukung tugas…</div>
627              <div class="ts-pub-foot">
628                <span class="ts-pub-time"><i class="bi bi-clock"></i> 02 Agustus 2026 • 14:28</span>
629                <button type="button" class="ts-pub-readmore"
630                  data-id="124"
631                  data-nama="Vincentia Ade Hayon, S.Kom"
632                  data-thn="2023"
633                  data-prodi="S1 - Teknik Informatika (TIS1)"
634                  data-kerja="ASN • Dinas Pekerjaan Umum dan Perumahan Rakyat Provinsi Nusa Tenggara Timur"
635                  data-isi="Bekal pendidikan di STIKOM Uyelindo Kupang memberikan fondasi berpikir analitis dan penguasaan teknologi yang krusial dalam mendukung tugas saya sebagai ASN di Dinas Pekerjaan Umum dan Perumahan Rakyat (PUPR), di mana pembelajaran berbasis praktik dan iklim akademik yang adaptif membentuk saya menjadi pribadi yang sigap serta inovatif. Di era transformasi digital saat ini, keterampilan pengelolaan data, sistem informasi, dan digitalisasi pelayanan publik yang saya dapatkan di kampus menjadi kunci efisiensi kerja untu
635k menjawab tantangan Sistem Pemerintahan Berbasis Elektronik (SPBE), sekaligus menjadikan STIKOM Uyelindo sebagai batu loncatan penting dalam karier dan pengabdian saya untuk pembangunan daerah.&quot;"
636                  data-tgl="02 Agustus 2026 • 14:28"
637                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_255_124_20260802_144630_249278f5.jpg"
638                  data-share="Vincentia Ade Hayon, S.Kom — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Bekal pendidikan di STIKOM Uyelindo Kupang memberikan fondasi berpikir analitis dan penguasaan teknologi yang krusial dalam mendukung tugas saya sebagai ASN di Dinas Pekerjaan Umum dan Perumahan…&quot;"
639                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=124">
640                  <i class="bi bi-eye-fill"></i> Selengkapnya
641                </button>
642                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
643                  <span class="ts-share-label-inline">Bagikan:</span>
644                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Vincentia Ade Hayon, S.Kom" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
645                  <div class="ts-share-menu" role="menu">
646                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Vincentia%20Ade%20Hayon%2C%20S.Kom%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Bekal%20pendidikan%20di%20STIKOM%20Uyelindo%20Kupang%20memberikan%20fondasi%20berpikir%20analitis%20dan%20penguasaan%20teknologi%20yang%20krusial%20dalam%20mendukung%20tugas%20saya%20sebagai%20ASN%20di%20Dinas%20Pekerjaan%20Umum%20dan%20Perumahan%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D124" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
647                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D124&quote=Vincentia%20Ade%20Hayon%2C%20S.Kom%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Bekal%20pendidikan%20di%20STIKOM%20Uyelindo%20Kupang%20memberikan%20fondasi%20berpikir%20analitis%20dan%20penguasaan%20teknologi%20yang%20krusial%20dalam%20mendukung%20tugas%20saya%20sebagai%20ASN%20di%20Dinas%20Pekerjaan%20Umum%20dan%20Perumahan%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
648                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Vincentia%20Ade%20Hayon%2C%20S.Kom%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Bekal%20pendidikan%20di%20STIKOM%20Uyelindo%20Kupang%20memberikan%20fondasi%20berpikir%20analitis%20dan%20penguasaan%20teknologi%20yang%20krusial%20dalam%20mendukung%20tugas%20saya%20sebagai%20ASN%20di%20Dinas%20Pekerjaan%20Umum%20dan%20Perumahan%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D124" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
649                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D124&text=Vincentia%20Ade%20Hayon%2C%20S.Kom%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Bekal%20pendidikan%20di%20STIKOM%20Uyelindo%20Kupang%20memberikan%20fondasi%20berpikir%20analitis%20dan%20penguasaan%20teknologi%20yang%20krusial%20dalam%20mendukung%20tugas%20saya%20sebagai%20ASN%20di%20Dinas%20Pekerjaan%20Umum%20dan%20Perumahan%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
650                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D124" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
651                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Vincentia Ade Hayon, S.Kom — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Bekal pendidikan di STIKOM Uyelindo Kupang memberikan fondasi berpikir analitis dan penguasaan teknologi yang krusial dalam mendukung tugas saya sebagai ASN di Dinas Pekerjaan Umum dan Perumahan…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=124" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
652                  </div>
653                </div>
654              </div>
655            </article>
656                        <article class="ts-pub-card" data-idtest="123">
657              <div class="ts-pub-photo">
658                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
659                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_254_123_20260802_122755_4ba51a5c.jpg" alt="Foto testimoni Erwin Saefatu" loading="lazy">
660                              </div>
661              <div class="ts-pub-name">Erwin Saefatu <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '25</span></div>
662              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> D3 - Teknik Informatika (TID3)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Pengusaha • Jemyerfc</div>              <div class="ts-pub-text">Saya merupakan alumni Universitas Uyelindo, lulusan Program Studi Teknik Informatika Diploma Tiga (D3). Pendidikan yang saya tempuh tidak…</div>
663              <div class="ts-pub-foot">
664                <span class="ts-pub-time"><i class="bi bi-clock"></i> 02 Agustus 2026 • 12:13</span>
665                <button type="button" class="ts-pub-readmore"
666                  data-id="123"
667                  data-nama="Erwin Saefatu"
668                  data-thn="2025"
669                  data-prodi="D3 - Teknik Informatika (TID3)"
670                  data-kerja="Pengusaha • Jemyerfc"
671                  data-isi="Saya merupakan alumni Universitas Uyelindo, lulusan Program Studi Teknik Informatika Diploma Tiga (D3). Pendidikan yang saya tempuh tidak hanya memberikan pemahaman tentang teknologi informasi, tetapi juga membentuk pola pikir yang analitis, sistematis, dan mampu beradaptasi dengan perkembangan teknologi yang terus berubah. Bekal tersebut menjadi salah satu fondasi penting dalam perjalanan karier dan dunia usaha yang saya jalani saat ini. Setelah menyelesaikan pendidikan, saya memilih untuk berkarier sebagai pengusaha di bidang percetakan. Dunia percetakan merupakan industri yang terus berkembang seiring kemajuan teknologi digital, sehingga membutuhkan kreativitas, ketelitian, kemampuan manajerial, serta pemanfaatan teknologi untuk meningkatkan kualitas layanan dan efisiensi operasional. Melalui usaha percetakan yang saya jalankan, saya melayani berbagai kebutuhan cetak, seperti kartu nama, brosur, banner, spanduk, stiker, undangan, buku, nota, hingga berbagai media promosi dan kebutuhan percetakan lainnya. Saya selalu berkomitmen untuk menghasilkan produk yang berkualitas, memberikan pelayanan yang profesional, serta menyelesaikan setiap pekerjaan secara tepat waktu agar dapat membangun kepercayaan dan kepuasan pelanggan. Latar belakang pendidikan di bidang Teknik Informatika juga memberikan nilai tambah dalam mengembangkan bisnis."
672                  data-tgl="02 Agustus 2026 • 12:13"
673                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_254_123_20260802_122755_4ba51a5c.jpg"
674                  data-share="Erwin Saefatu — Alumni Universitas Uyelindo (Lulusan 2025): &quot;Saya merupakan alumni Universitas Uyelindo, lulusan Program Studi Teknik Informatika Diploma Tiga (D3). Pendidikan yang saya tempuh tidak hanya memberikan pemahaman tentang teknologi informasi…&quot;"
675                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=123">
676                  <i class="bi bi-eye-fill"></i> Selengkapnya
677                </button>
678                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
679                  <span class="ts-share-label-inline">Bagikan:</span>
680                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Erwin Saefatu" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
681                  <div class="ts-share-menu" role="menu">
682                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Erwin%20Saefatu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Saya%20merupakan%20alumni%20Universitas%20Uyelindo%2C%20lulusan%20Program%20Studi%20Teknik%20Informatika%20Diploma%20Tiga%20%28D3%29.%20Pendidikan%20yang%20saya%20tempuh%20tidak%20hanya%20memberikan%20pemahaman%20tentang%20teknologi%20informasi%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D123" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
683                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D123&quote=Erwin%20Saefatu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Saya%20merupakan%20alumni%20Universitas%20Uyelindo%2C%20lulusan%20Program%20Studi%20Teknik%20Informatika%20Diploma%20Tiga%20%28D3%29.%20Pendidikan%20yang%20saya%20tempuh%20tidak%20hanya%20memberikan%20pemahaman%20tentang%20teknologi%20informasi%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
684                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Erwin%20Saefatu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Saya%20merupakan%20alumni%20Universitas%20Uyelindo%2C%20lulusan%20Program%20Studi%20Teknik%20Informatika%20Diploma%20Tiga%20%28D3%29.%20Pendidikan%20yang%20saya%20tempuh%20tidak%20hanya%20memberikan%20pemahaman%20tentang%20teknologi%20informasi%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D123" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
685                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D123&text=Erwin%20Saefatu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Saya%20merupakan%20alumni%20Universitas%20Uyelindo%2C%20lulusan%20Program%20Studi%20Teknik%20Informatika%20Diploma%20Tiga%20%28D3%29.%20Pendidikan%20yang%20saya%20tempuh%20tidak%20hanya%20memberikan%20pemahaman%20tentang%20teknologi%20informasi%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
686                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D123" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
687                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Erwin Saefatu — Alumni Universitas Uyelindo (Lulusan 2025): &quot;Saya merupakan alumni Universitas Uyelindo, lulusan Program Studi Teknik Informatika Diploma Tiga (D3). Pendidikan yang saya tempuh tidak hanya memberikan pemahaman tentang teknologi informasi…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=123" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
688                  </div>
689                </div>
690              </div>
691            </article>
692                        <article class="ts-pub-card" data-idtest="122">
693              <div class="ts-pub-photo">
694                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
695                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_253_122_20260802_113333_18eaec41.jpg" alt="Foto testimoni Paulus Aprilianus Sole" loading="lazy">
696                              </div>
697              <div class="ts-pub-name">Paulus Aprilianus Sole <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '25</span></div>
698              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Guru Informatika • SMPS Katolik Mater Inviolata</div>              <div class="ts-pub-text">Kuliah di Universitas Uyelindo sangat asyik dan menyenangkan, banyak ilmu yang saya dapat pakai di dunia kerja saya</div>
699              <div class="ts-pub-foot">
700                <span class="ts-pub-time"><i class="bi bi-clock"></i> 02 Agustus 2026 • 09:06</span>
701                <button type="button" class="ts-pub-readmore"
702                  data-id="122"
703                  data-nama="Paulus Aprilianus Sole"
704                  data-thn="2025"
705                  data-prodi="S1 - Sistem Informasi (SIS1)"
706                  data-kerja="Guru Informatika • SMPS Katolik Mater Inviolata"
707                  data-isi="Kuliah di Universitas Uyelindo sangat asyik dan menyenangkan, banyak ilmu yang saya dapat pakai di dunia kerja saya"
708                  data-tgl="02 Agustus 2026 • 09:06"
709                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_253_122_20260802_113333_18eaec41.jpg"
710                  data-share="Paulus Aprilianus Sole — Alumni Universitas Uyelindo (Lulusan 2025): &quot;Kuliah di Universitas Uyelindo sangat asyik dan menyenangkan, banyak ilmu yang saya dapat pakai di dunia kerja saya&quot;"
711                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=122">
712                  <i class="bi bi-eye-fill"></i> Selengkapnya
713                </button>
714                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
715                  <span class="ts-share-label-inline">Bagikan:</span>
716                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Paulus Aprilianus Sole" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
717                  <div class="ts-share-menu" role="menu">
718                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Paulus%20Aprilianus%20Sole%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Kuliah%20di%20Universitas%20Uyelindo%20sangat%20asyik%20dan%20menyenangkan%2C%20banyak%20ilmu%20yang%20saya%20dapat%20pakai%20di%20dunia%20kerja%20saya%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D122" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
719                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D122&quote=Paulus%20Aprilianus%20Sole%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Kuliah%20di%20Universitas%20Uyelindo%20sangat%20asyik%20dan%20menyenangkan%2C%20banyak%20ilmu%20yang%20saya%20dapat%20pakai%20di%20dunia%20kerja%20saya%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
720                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Paulus%20Aprilianus%20Sole%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Kuliah%20di%20Universitas%20Uyelindo%20sangat%20asyik%20dan%20menyenangkan%2C%20banyak%20ilmu%20yang%20saya%20dapat%20pakai%20di%20dunia%20kerja%20saya%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D122" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
721                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D122&text=Paulus%20Aprilianus%20Sole%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202025%29%3A%20%22Kuliah%20di%20Universitas%20Uyelindo%20sangat%20asyik%20dan%20menyenangkan%2C%20banyak%20ilmu%20yang%20saya%20dapat%20pakai%20di%20dunia%20kerja%20saya%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
722                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D122" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
723                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Paulus Aprilianus Sole — Alumni Universitas Uyelindo (Lulusan 2025): &quot;Kuliah di Universitas Uyelindo sangat asyik dan menyenangkan, banyak ilmu yang saya dapat pakai di dunia kerja saya&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=122" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
724                  </div>
725                </div>
726              </div>
727            </article>
728                        <article class="ts-pub-card" data-idtest="121">
729              <div class="ts-pub-photo">
730                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
731                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_213_121_20260725_135507_59cb3386.jpg" alt="Foto testimoni BRILI ANTHONNY ATAKAY, S.KOM" loading="lazy">
732                              </div>
733              <div class="ts-pub-name">BRILI ANTHONNY ATAKAY, S.KOM <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '24</span></div>
734              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> PNS • RSUD S. K. LERIK KOTA KUPANG</div>              <div class="ts-pub-text">Saya Alumni Sistem Informasi STIKOM Uyelindo Kupang, Angkatan 2022 Lulus Tahun 2024. Dari Kampus STIKOM UY
734ELINDO Kupang, saya belajar bahwa…</div>
735              <div class="ts-pub-foot">
736                <span class="ts-pub-time"><i class="bi bi-clock"></i> 24 Juli 2026 • 18:11</span>
737                <button type="button" class="ts-pub-readmore"
738                  data-id="121"
739                  data-nama="BRILI ANTHONNY ATAKAY, S.KOM"
740                  data-thn="2024"
741                  data-prodi="S1 - Sistem Informasi (SIS1)"
742                  data-kerja="PNS • RSUD S. K. LERIK KOTA KUPANG"
743                  data-isi="Saya Alumni Sistem Informasi STIKOM Uyelindo Kupang, Angkatan 2022 Lulus Tahun 2024. Dari Kampus STIKOM UYELINDO Kupang, saya belajar bahwa IT bukan cuma soal teori, tapi solusi. Ilmu yang diajarkan benar-benar presisi dengan kebutuhan dunia kerja saat ini. Sebagai PNS di era modern, kemampuan teknologi yang saya asah selama kuliah sangat menunjang efisiensi kerja sehari-hari. Bangga pernah berproses di kampus IT nomor satu di NTT"
744                  data-tgl="24 Juli 2026 • 18:11"
745                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_213_121_20260725_135507_59cb3386.jpg"
746                  data-share="BRILI ANTHONNY ATAKAY, S.KOM — Alumni Universitas Uyelindo (Lulusan 2024): &quot;Saya Alumni Sistem Informasi STIKOM Uyelindo Kupang, Angkatan 2022 Lulus Tahun 2024. Dari Kampus STIKOM UYELINDO Kupang, saya belajar bahwa IT bukan cuma soal teori, tapi solusi. Ilmu yang diajarkan…&quot;"
747                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=121">
748                  <i class="bi bi-eye-fill"></i> Selengkapnya
749                </button>
750                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
751                  <span class="ts-share-label-inline">Bagikan:</span>
752                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni BRILI ANTHONNY ATAKAY, S.KOM" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
753                  <div class="ts-share-menu" role="menu">
754                    <a class="tsd-share-btn wa" href="https://wa.me/?text=BRILI%20ANTHONNY%20ATAKAY%2C%20S.KOM%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20Alumni%20Sistem%20Informasi%20STIKOM%20Uyelindo%20Kupang%2C%20Angkatan%202022%20Lulus%20Tahun%202024.%20Dari%20Kampus%20STIKOM%20UYELINDO%20Kupang%2C%20saya%20belajar%20bahwa%20IT%20bukan%20cuma%20soal%20teori%2C%20tapi%20solusi.%20Ilmu%20yang%20diajarkan%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D121" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
755                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D121&quote=BRILI%20ANTHONNY%20ATAKAY%2C%20S.KOM%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20Alumni%20Sistem%20Informasi%20STIKOM%20Uyelindo%20Kupang%2C%20Angkatan%202022%20Lulus%20Tahun%202024.%20Dari%20Kampus%20STIKOM%20UYELINDO%20Kupang%2C%20saya%20belajar%20bahwa%20IT%20bukan%20cuma%20soal%20teori%2C%20tapi%20solusi.%20Ilmu%20yang%20diajarkan%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
756                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=BRILI%20ANTHONNY%20ATAKAY%2C%20S.KOM%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20Alumni%20Sistem%20Informasi%20STIKOM%20Uyelindo%20Kupang%2C%20Angkatan%202022%20Lulus%20Tahun%202024.%20Dari%20Kampus%20STIKOM%20UYELINDO%20Kupang%2C%20saya%20belajar%20bahwa%20IT%20bukan%20cuma%20soal%20teori%2C%20tapi%20solusi.%20Ilmu%20yang%20diajarkan%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D121" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
757                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D121&text=BRILI%20ANTHONNY%20ATAKAY%2C%20S.KOM%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20Alumni%20Sistem%20Informasi%20STIKOM%20Uyelindo%20Kupang%2C%20Angkatan%202022%20Lulus%20Tahun%202024.%20Dari%20Kampus%20STIKOM%20UYELINDO%2
7570Kupang%2C%20saya%20belajar%20bahwa%20IT%20bukan%20cuma%20soal%20teori%2C%20tapi%20solusi.%20Ilmu%20yang%20diajarkan%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
758                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D121" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
759                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="BRILI ANTHONNY ATAKAY, S.KOM — Alumni Universitas Uyelindo (Lulusan 2024): &quot;Saya Alumni Sistem Informasi STIKOM Uyelindo Kupang, Angkatan 2022 Lulus Tahun 2024. Dari Kampus STIKOM UYELINDO Kupang, saya belajar bahwa IT bukan cuma soal teori, tapi solusi. Ilmu yang diajarkan…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=121" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
760                  </div>
761                </div>
762              </div>
763            </article>
764                        <article class="ts-pub-card" data-idtest="12
7640">
765              <div class="ts-pub-photo">
766                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
767                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_251_120_20260725_135322_ed3622ae.jpg" alt="Foto testimoni Nelson Adriano da Costa Fonseca" loading="lazy">
768                              </div>
769              <div class="ts-pub-name">Nelson Adriano da Costa Fonseca <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '24</span></div>
770              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Bank Offier/ ATM Operations • Banco do Nosso Futuro</div>              <div class="ts-pub-text">Dulu waktu kuliah saya juga kadang masih malas dan belum terlalu memikirkan masa depan. Tapi setelah lulus, saya mulai sadar bahwa saya…</div>
771              <div class="ts-pub-foot">
772                <span class="ts-pub-time"><i class="bi bi-clock"></i> 21 Juli 2026 • 21:24</span>
773                <button type="button" class="ts-pub-readmore"
774                  data-id="120"
775                  data-nama="Nelson Adriano da Costa Fonseca"
776                  data-thn="2024"
777                  data-prodi="S1 - Sistem Informasi (SIS1)"
778                  data-kerja="Bank Offier/ ATM Operations • Banco do Nosso Futuro"
779                  data-isi="Dulu waktu kuliah saya juga kadang masih malas dan belum terlalu memikirkan masa depan. Tapi setelah lulus, saya mulai sadar bahwa saya harus terus berusaha dan mencari kesempatan untuk berkembang. Masih muda, jangan malas:)"
780                  data-tgl="21 Juli 2026 • 21:24"
781                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_251_120_20260725_135322_ed3622ae.jpg"
782                  data-share="Nelson Adriano da Costa Fonseca — Alumni Universitas Uyelindo (Lulusan 2024): &quot;Dulu waktu kuliah saya juga kadang masih malas dan belum terlalu memikirkan masa depan. Tapi setelah lulus, saya mulai sadar bahwa saya harus terus berusaha dan mencari kesempatan untuk berkembang…&quot;"
783                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=120">
784                  <i class="bi bi-eye-fill"></i> Selengkapnya
785                </button>
786                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
787                  <span class="ts-share-label-inline">Bagikan:</span>
788                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Nelson Adriano da Costa Fonseca" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
789                  <div class="ts-share-menu" role="menu">
790                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Nelson%20Adriano%20da%20Costa%20Fonseca%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Dulu%20waktu%20kuliah%20saya%20juga%20kadang%20masih%20malas%20dan%20belum%20terlalu%20memikirkan%20masa%20depan.%20Tapi%20setelah%20lulus%2C%20saya%20mulai%20sadar%20bahwa%20saya%20harus%20terus%20berusaha%20dan%20mencari%20kesempatan%20untuk%20berkembang%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D120" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
791                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D120&quote=Nelson%20Adriano%20da%20Costa%20Fonseca%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Dulu%20waktu%20kuliah%20saya%20juga%20kadang%20masih%20malas%20dan%20belum%20terlalu%20memikirkan%20masa%20depan.%20Tapi%20setelah%20lulus%2C%20saya%20mulai%20sadar%20bahwa%20saya%20harus%20terus%20berusaha%20dan%20mencari%20kesempatan%20untuk%20berkembang%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
792                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Nelson%20Adriano%20da%20Costa%20Fonseca%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Dulu%20waktu%20kuliah%20saya%20juga%20kadang%20masih%20malas%20dan%20belum%20terlalu%20memikirkan%20masa%20depan.%20Tapi%20setelah%20lulus%2
792C%20saya%20mulai%20sadar%20bahwa%20saya%20harus%20terus%20berusaha%20dan%20mencari%20kesempatan%20untuk%20berkembang%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D120" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
793                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D120&text=Nelson%20Adriano%20da%20Costa%20Fonseca%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Dulu%20waktu%20kuliah%20saya%20juga%20kadang%20masih%20malas%20dan%20belum%20terlalu%20memikirkan%20masa%20depan.%20Tapi%20setelah%20lulus%2C%20saya%20mulai%20sadar%20bahwa%20saya%20harus%20terus%20berusaha%20dan%20mencari%20kesempatan%20untuk%20berkembang%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
794                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D120" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
795                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Nelson Adriano da Costa Fonseca — Alumni Universitas Uyelindo (Lulusan 2024): &quot;Dulu waktu kuliah saya juga kadang masih malas dan belum terlalu memikirkan masa depan. Tapi setelah lulus, saya mulai sadar bahwa saya harus terus berusaha dan mencari kesempatan untuk berkembang…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=120" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
796                  </div>
797                </div>
798              </div>
799            </article>
800                        <article class="ts-pub-card" data-idtest="119">
801              <div class="ts-pub-photo">
802                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
803                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_247_119_20260617_221047_7284a7a0.jpg" alt="Foto testimoni KALEB DARWIN NOMAN, S.KOM." loading="lazy">
804                              </div>
805              <div class="ts-pub-name">KALEB DARWIN NOMAN, S.KOM. <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '24</span></div>
806              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> ASN • BGN</div>              <div class="ts-pub-text">Saya alumni STIKOM Uyelindo Kupang lulusan 2024. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan…</div>
807              <div class="ts-pub-foot">
808                <span class="ts-pub-time"><i class="bi bi-clock"></i> 17 Juni 2026 • 20:50</span>
809                <button type="button" class="ts-pub-readmore"
810                  data-id="119"
811                  data-nama="KALEB DARWIN NOMAN, S.KOM."
812                  data-thn="2024"
813                  data-prodi="S1 - Sistem Informasi (SIS1)"
814                  data-kerja="ASN • BGN"
815                  data-isi="Saya alumni STIKOM Uyelindo Kupang lulusan 2024. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan menjadi bekal yang sangat berharga bagi saya dalam dunia kerja. Terima kasih STIKOM Uyelindo Kupang atas pendidikan dan dukungan yang telah membantu saya berkembang dan siap menghadapi tantangan kedepan. Saya bangga menjadi bagian dari alumni STIKOM Uyelindo Kupang."
816                  data-tgl="17 Juni 2026 • 20:50"
817                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_247_119_20260617_221047_7284a7a0.jpg"
818                  data-share="KALEB DARWIN NOMAN, S.KOM. — Alumni Universitas Uyelindo (Lulusan 2024): &quot;Saya alumni STIKOM Uyelindo Kupang lulusan 2024. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan menjadi bek
818al yang sangat berharga bagi saya dalam dunia…&quot;"
819                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=119">
820                  <i class="bi bi-eye-fill"></i> Selengkapnya
821                </button>
822                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
823                  <span class="ts-share-label-inline">Bagikan:</span>
824                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni KALEB DARWIN NOMAN, S.KOM." aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
825                  <div class="ts-share-menu" role="menu">
826                    <a class="tsd-share-btn wa" href="https://wa.me/?text=KALEB%20DARWIN%20NOMAN%2C%20S.KOM.%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202024.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%20masa%20perkuliahan%20menjadi%20bekal%20yang%20sangat%20berharga%20bagi%20saya%20dalam%20dunia%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D119" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
827                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D119&quote=KALEB%20DARWIN%20NOMAN%2C%20S.KOM.%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202024.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%20masa%20perkuliahan%20menjadi%20bekal%20yang%20sangat%20berharga%20bagi%20saya%20dalam%20dunia%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
828                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=KALEB%20DARWIN%20NOMAN%2C%20S.KOM.%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202024.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%20masa%20perkuliahan%20menjadi%20bekal%20yang%20sangat%20berharga%20bagi%20saya%20dalam%20dunia%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D119" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
829                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D119&text=KALEB%20DARWIN%20NOMAN%2C%20S.KOM.%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202024%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202024.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%20masa%20perkuliahan%20menjadi%20bekal%20yang%20sangat%20berharga%20bagi%20saya%20dalam%20dunia%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
830                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D119" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
831                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="KALEB DARWIN NOMAN, S.KOM. — Alumni Universitas Uyelindo (Lulusan 2024): &quot;Saya alumni STIKOM Uyelindo Kupang lulusan 2024. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan menjadi bekal yang sangat berharga bagi saya dalam dunia…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=119" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
832                  </div>
833                </div>
834              </div>
835            </article>
836                        <article class="ts-pub-card" data-idtest="118">
837              <div class="ts-pub-photo">
838                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
839                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_245_118_20260615_172333_44c84469.jpg" alt="Foto testimoni KRISTINA ODILIA TUGA SETU" loading="lazy">
840                              </div>
841              <div class="ts-pub-name">KRISTINA ODILIA TUGA SETU <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '20</span></div>
842              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Admin Officer NTT • LANDESA INDONESIA</div>              <div class="ts-pub-text">Menjadi bagian dari STIKOM Uyelindo Kupang, khususnya Program Studi Sistem Informasi Angkatan 2014, merupakan pengalaman yang sangat…</div>
843              <div class="ts-pub-foot">
844                <span class="ts-pub-time"><i class="bi bi-clock"></i> 15 Juni 2026 • 15:52</span>
845                <button type="button" class="ts-pub-readmore"
846                  data-id="118"
847                  data-nama="KRISTINA ODILIA TUGA SETU"
848                  data-thn="2020"
849                  data-prodi="S1 - Sistem Informasi (SIS1)"
850                  data-kerja="Admin Officer NTT • LANDESA INDONESIA"
851                  data-isi="Menjadi bagian dari STIKOM Uyelindo Kupang, khususnya Program Studi Sistem Informasi Angkatan 2014, merupakan pengalaman yang sangat berharga dalam perjalanan hidup saya. Kampus ini tidak hanya membekali saya dengan pengetahuan dan keterampilan di bidang teknologi informasi, tetapi juga membentuk karakter, etika kerja, serta kemampuan berpikir kritis dalam menghadapi berbagai tantangan di dunia profesional. Melalui bimbingan dosen yang kompeten, lingkungan akademik yang kondusif, dan berbagai pengalaman organisasi maupun praktik lapangan, saya memperoleh bekal yang kuat untuk bersaing dan berkontribusi di dunia kerja. Ilmu yang saya dapatkan selama kuliah terus menjadi fondasi dalam menjalankan pekerjaan dan mengembangkan diri hingga saat ini. Saya bangga menjadi alumni STIKOM Uyelindo Kupang. Semoga kampus ini terus berkembang, melahirkan generasi yang inovatif, berintegritas, dan mampu memberikan solusi bagi perkembangan teknologi serta kemajuan masyarakat."
852                  data-tgl="15 Juni 2026 • 15:52"
853                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_245_118_20260615_172333_44c84469.jpg"
854                  data-share="KRISTINA ODILIA TUGA SETU — Alumni Universitas Uyelindo (Lulusan 2020): &quot;Menjadi bagian dari STIKOM Uyelindo Kupang, khususnya Program Studi Sistem Informasi Angkatan 2014, merupakan pengalaman yang sangat berharga dalam perjalanan hidup saya. Kampus ini tidak hanya…&quot;"
855                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=118">
856                  <i class="bi bi-eye-fill"></i> Selengkapnya
857                </button>
858                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
859                  <span class="ts-share-label-inline">Bagikan:</span>
860                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni KRISTINA ODILIA TUGA SETU" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
861                  <div class="ts-share-menu" role="menu">
862                    <a class="tsd-share-btn wa" href="https://wa.me/?text=KRISTINA%20ODILIA%20TUGA%20SETU%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Menjadi%20bagian%20dari%20STIKOM%20Uyelindo%20Kupang%2C%20khususnya%20Program%20Studi%20Sistem%20Informasi%20Angkatan%202014%2C%20merupakan%20pengalaman%20yang%20sangat%20berharga%20dalam%20perjalanan%20hidup%20saya.%20Kampus%20ini%20tidak%20hanya%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D118" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
863                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D118&quote=KRISTINA%20ODILIA%20TUGA%20SETU%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Menjadi%20bagian%20dari%20STIKOM%20Uyelindo%20Kupang%2C%20khususnya%20Program%20Studi%20Sistem%20Informasi%20Angkatan%202014%2C%20merupakan%20pengalaman%20yang%20sangat%20berharga%20dalam%20perjalanan%20hidup%20saya.%20Kampus%20ini%20tidak%20hanya%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
864                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=KRISTINA%20ODILIA%20TUGA%20SETU%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Menjadi%20bagian%20dari%20STIKOM%20Uyelindo%20Kupang%2C%20khususnya%20Program%20Studi%20Sistem%20Informasi%20Angkatan%202014%2C%20merupakan%20pengalaman%20yang%20sangat
864%20berharga%20dalam%20perjalanan%20hidup%20saya.%20Kampus%20ini%20tidak%20hanya%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D118" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
865                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D118&text=KRISTINA%20ODILIA%20TUGA%20SETU%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Menjadi%20bagian%20dari%20STIKOM%20Uyelindo%20Kupang%2C%20khususnya%20Program%20Studi%20Sistem%20Informasi%20Angkatan%202014%2C%20merupakan%20pengalaman%20yang%20sangat%20berharga%20dalam%20perjalanan%20hidup%20saya.%20Kampus%20ini%20tidak%20hanya%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
866                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D118" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
867                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="KRISTINA ODILIA TUGA SETU — Alumni Universitas Uyelindo (Lulusan 2020): &quot;Menjadi bagian dari STIKOM Uyelindo Kupang, khususnya Program Studi Sistem Informasi Angkatan 2014, merupakan pengalaman yang sangat berharga dalam perjalanan hidup saya. Kampus ini tidak hanya…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=118" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
868                  </div>
869                </div>
870              </div>
871            </article>
872                        <article class="ts-pub-card" data-idtest="117">
873              <div class="ts-pub-photo">
874                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
875                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_243_117_20260613_122305_3852ff67.jpg" alt="Foto testimoni Ricky Imanuel Ndaumanu" loading="lazy">
876                              </div>
877              <div class="ts-pub-name">Ricky Imanuel Ndaumanu <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '12</span></div>
878              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Teknik Informatika (TIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Dosen • Universitas Widya Dharma Pontianak</div>              <div class="ts-pub-text">Saya Merupakan alumni STIKOM UYELINDO Kupang yang lulus Pada Tahun 2012, Sekarang Bekerja di Universitas Widya Dharma Pontianak sebagai…</div>
879              <div class="ts-pub-foot">
880                <span class="ts-pub-time"><i class="bi bi-clock"></i> 13 Juni 2026 • 12:12</span>
881                <button type="button" class="ts-pub-readmore"
882                  data-id="117"
883                  data-nama="Ricky Imanuel Ndaumanu"
884                  data-thn="2012"
885                  data-prodi="S1 - Teknik Informatika (TIS1)"
886                  data-kerja="Dosen • Universitas Widya Dharma Pontianak"
887                  data-isi="Saya Merupakan alumni STIKOM UYELINDO Kupang yang lulus Pada Tahun 2012, Sekarang Bekerja di Universitas Widya Dharma Pontianak sebagai dosen SEJAK 2015 - Sekarang. STIKOM UYELINDO KUPANG ini memang berorientasi pada pengembangan kompetensi IT, seperti informatika, sistem informasi, dan teknologi digital yang relevan dengan kebutuhan industri saat ini. Dimana kampus ini memiliki banyak keunggulan : Kurikulum yang mengikuti perkembangan teknologi, hubungan dengan dunia kerja, fasilitas dan sistem digital kampus, kontribusi kepada masyarakat, dan salah 1 kampus terbaik di NTT."
888                  data-tgl="13 Juni 2026 • 12:12"
889                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_243_117_20260613_122305_3852ff67.jpg"
890                  data-share="Ricky Imanuel Ndaumanu — Alumni Universitas Uyelindo (Lulusan 2012): &quot;
890Saya Merupakan alumni STIKOM UYELINDO Kupang yang lulus Pada Tahun 2012, Sekarang Bekerja di Universitas Widya Dharma Pontianak sebagai dosen SEJAK 2015 - Sekarang. STIKOM UYELINDO KUPANG ini memang…&quot;"
891                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=117">
892                  <i class="bi bi-eye-fill"></i> Selengkapnya
893                </button>
894                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
895                  <span class="ts-share-label-inline">Bagikan:</span>
896                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Ricky Imanuel Ndaumanu" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
897                  <div class="ts-share-menu" role="menu">
898                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Ricky%20Imanuel%20Ndaumanu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202012%29%3A%20%22Saya%20Merupakan%20alumni%20STIKOM%20UYELINDO%20Kupang%20yang%20lulus%20Pada%20Tahun%202012%2C%20Sekarang%20Bekerja%20di%20Universitas%20Widya%20Dharma%20Pontianak%20sebagai%20dosen%20SEJAK%202015%20-%20Sekarang.%20STIKOM%20UYELINDO%20KUPANG%20ini%20memang%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D117" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
899                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D117&quote=Ricky%20Imanuel%20Ndaumanu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202012%29%3A%20%22Saya%20Merupakan%20alumni%20STIKOM%20UYELINDO%20Kupang%20yang%20lulus%20Pada%20Tahun%202012%2C%20Sekarang%20Bekerja%20di%20Universitas%20Widya%20Dharma%20Pontianak%20sebagai%20dosen%20SEJAK%202015%20-%20Sekarang.%20STIKOM%20UYELINDO%20KUPANG%20ini%20memang%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
900                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Ricky%20Imanuel%20Ndaumanu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202012%29%3A%20%22Saya%20Merupakan%20alumni%20STIKOM%20UYELINDO%20Kupang%20yang%20lulus%20Pada%20Tahun%202012%2C%20Sekarang%20Bekerja%20di%20Universitas%20Widya%20Dharma%20Pontianak%20sebagai%20dosen%20SEJAK%202015%20-%20Sekarang.%20STIKOM%20UYELINDO%20KUPANG%20ini%20memang%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D117" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
901                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D117&text=Ricky%20Imanuel%20Ndaumanu%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202012%29%3A%20%22Saya%20Merupakan%20alumni%20STIKOM%20UYELINDO%20Kupang%20yang%20lulus%20Pada%20Tahun%202012%2C%20Sekarang%20Bekerja%20di%20Universitas%20Widya%20Dharma%20Pontianak%20sebagai%20dosen%20SEJAK%202015%20-%20Sekarang.%20STIKOM%20UYELINDO%20KUPANG%20ini%20memang%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
902                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D117" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
903                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Ricky Imanuel Ndaumanu — Alumni Universitas Uyelindo (Lulusan 2012): &quot;Saya Merupakan alumni STIKOM UYELINDO Kupang yang lulus Pada Tahun 2012, Sekarang Bekerja di Universitas Widya Dharma Pontianak sebagai dosen SEJAK 2015 - Sekarang. STIKOM UYELINDO KUPANG ini memang…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=117" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
904                  </div>
905                </div>
906              </div>
907            </article>
908                        <article class="ts-pub-card" data-idtest="116">
909              <div class="ts-pub-photo">
910                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
911                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_242_116_20260612_223558_8f63c1f4.jpg" alt="Foto testimoni Dominika Saka Tapun" loading="lazy">
912                              </div>
913              <div class="ts-pub-name">Dominika Saka Tapun <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '20</span></div>
914              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Guru • SMP Don Bosco Lewoloba</div>              <div class="ts-pub-text">Saya alumni STIKOM Uyelindo Kupang lulusan 2020 dan saat ini bekerja sebagai Guru Informatika di SMP St. Don Bosco Lewoleba. Ilmu…</div>
915              <div class="ts-pub-foot">
916                <span class="ts-pub-time"><i class="bi bi-clock"></i> 12 Juni 2026 • 21:33</span>
917                <button type="button" class="ts-pub-readmore"
918                  data-id="116"
919                  data-nama="Dominika Saka Tapun"
920                  data-thn="2020"
921                  data-prodi="S1 - Sistem Informasi (SIS1)"
922                  data-kerja="Guru • SMP Don Bosco Lewoloba"
923                  data-isi="Saya alumni STIKOM Uyelindo Kupang lulusan 2020 dan saat ini bekerja sebagai Guru Informatika di SMP St. Don Bosco Lewoleba. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan menjadi bekal yang sangat berharga dalam dunia kerja. Terima kasih STIKOM Uyelindo Kupang atas pendidikan dan dukungan yang telah membantu saya berkembang dan siap menghadapi tantangan profesional. Saya bangga menjadi bagian dari alumni STIKOM Uyelindo Kupang."
924                  data-tgl="12 Juni 2026 • 21:33"
925                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_242_116_20260612_223558_8f63c1f4.jpg"
926                  data-share="Dominika Saka Tapun — Alumni Universitas Uyelindo (Lulusan 2020): &quot;Saya alumni STIKOM Uyelindo Kupang lulusan 2020 dan saat ini bekerja sebagai Guru Informatika di SMP St. Don Bosco Lewoleba. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama…&quot;"
927                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=116">
928                  <i class="bi bi-eye-fill"></i> Selengkapnya
929                </button>
930                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
931                  <span class="ts-share-label-inline">Bagikan:</span>
932                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Dominika Saka Tapun" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
933                  <div class="ts-share-menu" role="menu">
934                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Dominika%20Saka%20Tapun%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202020%20dan%20saat%20ini%20bekerja%20sebagai%20Guru%20Informatika%20di%20SMP%20St.%20Don%20Bosco%20Lewoleba.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D116" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
935                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D116&quote=Dominika%20Saka%20Tapun%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202020%20dan%20saat%20ini%20bekerja%20sebagai%20Guru%20Informatika%20di%20SMP%20St.%20Don%20Bosco%20Lewoleba.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
936                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Dominika%20Saka%20Tapun%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202020%20dan%20saat%20ini%20bekerja%20sebagai%20Guru%20Informatika%20di%20SMP%20St.%20Don%20Bosco%20Lewoleba.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D116" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
937                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D116&text=Dominika%20Saka%20Tapun%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202020%29%3A%20%22Saya%20alumni%20STIKOM%20Uyelindo%20Kupang%20lulusan%202020%20dan%20saat%20ini%20bekerja%20sebagai%20Guru%20Informatika%20di%20SMP%20St.%20Don%20Bosco%20Lewoleba.%20Ilmu%2C%20pengalaman%2C%20serta%20bimbingan%20dari%20dosen-dosen%20yang%20kompeten%20selama%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
938                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D116" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
939                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Dominika Saka Tapun — Alumni Universitas Uyelindo (Lulusan 2020): &quot;Saya alumni STIKOM Uyelindo Kupang lulusan 2020 dan saat ini bekerja sebagai Guru Informatika di SMP St. Don Bosco Lewoleba. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=116" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
940                  </div>
941                </div>
942              </div>
943            </article>
944                        <article class="ts-pub-card" data-idtest="115">
945              <div class="ts-pub-photo">
946                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
947                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_241_115_20260612_221124_e40c3d06.jpg" alt="Foto testimoni Yulianse Susanti Megawati Lamma Gadja" loading="lazy">
948                              </div>
949              <div class="ts-pub-name">Yulianse Susanti Megawati Lamma Gadja <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '23</span></div>
950              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Teknik Informatika (TIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Tenaga Perpustakaan • SD Negeri Nadega, Raijua</div>              <div class="ts-pub-text">Saya sangat bersyukur bisa menjadi bagian dari alumni STIKOM Uyelindo Kupang karena dari kampus tersebut saya belajar banyak ilmu yang…</div>
951              <div class="ts-pub-foot">
952                <span class="ts-pub-time"><i class="bi bi-clock"></i> 12 Juni 2026 • 20:32</span>
953                <button type="button" class="ts-pub-readmore"
954                  data-id="115"
955                  data-nama="Yulianse Susanti Megawati Lamma Gadja"
956                  data-thn="2023"
957                  data-prodi="S1 - Teknik Informatika (TIS1)"
958                  data-kerja="Tenaga Perpustakaan • SD Negeri Nadega, Raijua"
959                  data-isi="Saya sangat bersyukur bisa menjadi bagian dari alumni STIKOM Uyelindo Kupang karena dari kampus tersebut saya belajar banyak ilmu yang dapat membantu saya dalam pekerjaan saya sekarang seperti membuat website perpustakaan, dan lain-lain."
960                  data-tgl="12 Juni 2026 • 20:32"
961                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_241_115_20260612_221124_e40c3d06.jpg"
962                  data-share="Yulianse Susanti Megawati Lamma Gadja — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Saya sangat bersyukur bisa menjadi bagian dari alumni STIKOM Uyelindo Kupang karena dari kampus tersebut saya belajar banyak ilmu yang dapat membantu saya dalam pekerjaan saya sekarang seperti…&quot;"
963                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=115">
964                  <i class="bi bi-eye-fill"></i> Selengkapnya
965                </button>
966                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
967                  <span class="ts-share-label-inline">Bagikan:</span>
968                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Yulianse Susanti Megawati Lamma Gadja" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
969                  <div class="ts-share-menu" role="menu">
970                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Yulianse%20Susanti%20Megawati%20Lamma%20Gadja%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20sangat%20bersyukur%20bisa%20menjadi%20bagian%20dari%20alumni%20STIKOM%20Uyelindo%20Kupang%20karena%20dari%20kampus%20tersebut%20saya%20belajar%20banyak%20ilmu%20yang%20dapat%20membantu%20saya%20dalam%20pekerjaan%20saya%20sekarang%20seperti%E2%80%A6%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D115" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
971                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D115&quote=Yulianse%20Susanti%20Megawati%20Lamma%20Gadja%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20sangat%20bersyukur%20bisa%20menjadi%20bagian%20dari%20alumni%20STIKOM%20Uyelindo%20Kupang%20karena%20dari%20kampus%20tersebut%20saya%20belajar%20banyak%20ilmu%20yang%20dapat%20membantu%20saya%20dalam%20pekerjaan%20saya%20sekarang%20seperti%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
972                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Yulianse%20Susanti%20Megawati%20Lamma%20Gadja%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20sangat%20bersyukur%20bisa%20menjadi%20bagian%20dari%20alumni%20STIKOM%20Uyelindo%20Kupang%20karena%20dari%20kampus%20tersebut%20saya%20belajar%20banyak%20ilmu%20yang%20dapat%20membantu%20saya%20dalam%20pekerjaan%20saya%20sekarang%20seperti%E2%80%A6%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D115" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
973                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D115&text=Yulianse%20Susanti%20Megawati%20Lamma%20Gadja%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20sangat%20bersyukur%20bisa%20menjadi%20bagian%20dari%20alumni%20STIKOM%20Uyelindo%20Kupang%20karena%20dari%20kampus%20tersebut%20saya%20belajar%20banyak%20ilmu%20yang%20dapat%20membantu%20saya%20dalam%20pekerjaan%20saya%20sekarang%20seperti%E2%80%A6%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
974                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D115" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
975                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Yulianse Susanti Megawati Lamma Gadja — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Saya sangat bersyukur bisa menjadi bagian dari alumni STIKOM Uyelindo Kupang karena dari kampus tersebut saya belajar banyak ilmu yang dapat membantu saya dalam pekerjaan saya sekarang seperti…&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=115" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
976                  </div>
977                </div>
978              </div>
979            </article>
980                        <article class="ts-pub-card" data-idtest="114">
981              <div class="ts-pub-photo">
982                <div class="ts-pub-quote-icon" aria-hidden="true"><i class="bi bi-quote"></i></div>
983                                  <img src="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_236_114_20260612_190101_ec5cdd64.jpg" alt="Foto testimoni Adeltrida Yuliana Bere" loading="lazy">
984                              </div>
985              <div class="ts-pub-name">Adeltrida Yuliana Bere <span style="color:var(--purple3);font-weight:600;font-size:.78rem">• '23</span></div>
986              <div class="ts-pub-prodi"><i class="bi bi-mortarboard-fill"></i> S1 - Sistem Informasi (SIS1)</div>              <div class="ts-pub-job"><i class="bi bi-briefcase-fill"></i> Staf Puskesmas • Puskesmas Weoe</div>              <div class="ts-pub-text">
986Saya bersyukur bisa kuliah di STIKOM UYELINDO KUPANG karena telah memberikan bekal untuk saya dan dan sangat bermanfaat untuk sy dalam…</div>
987              <div class="ts-pub-foot">
988                <span class="ts-pub-time"><i class="bi bi-clock"></i> 12 Juni 2026 • 18:01</span>
989                <button type="button" class="ts-pub-readmore"
990                  data-id="114"
991                  data-nama="Adeltrida Yuliana Bere"
992                  data-thn="2023"
993                  data-prodi="S1 - Sistem Informasi (SIS1)"
994                  data-kerja="Staf Puskesmas • Puskesmas Weoe"
995                  data-isi="Saya bersyukur bisa kuliah di STIKOM UYELINDO KUPANG karena telah memberikan bekal untuk saya dan dan sangat bermanfaat untuk sy dalam pekerjaan saya saat ini."
996                  data-tgl="12 Juni 2026 • 18:01"
997                  data-foto="https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_236_114_20260612_190101_ec5cdd64.jpg"
998                  data-share="Adeltrida Yuliana Bere — Alumni Universitas Uyelindo (Lulusan 2023): &quot;Saya bersyukur bisa kuliah di STIKOM UYELINDO KUPANG karena telah memberikan bekal untuk saya dan dan sangat bermanfaat untuk sy dalam pekerjaan saya saat ini.&quot;"
999                  data-share-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=114">
1000                  <i class="bi bi-eye-fill"></i> Selengkapnya
1001                </button>
1002                <div class="ts-share-wrap" aria-label="Bagikan ke media sosial">
1003                  <span class="ts-share-label-inline">Bagikan:</span>
1004                  <button type="button" class="ts-share-toggle" aria-label="Bagikan testimoni Adeltrida Yuliana Bere" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
1005                  <div class="ts-share-menu" role="menu">
1006                    <a class="tsd-share-btn wa" href="https://wa.me/?text=Adeltrida%20Yuliana%20Bere%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20bersyukur%20bisa%20kuliah%20di%20STIKOM%20UYELINDO%20KUPANG%20karena%20telah%20memberikan%20bekal%20untuk%20saya%20dan%20dan%20sangat%20bermanfaat%20untuk%20sy%20dalam%20pekerjaan%20saya%20saat%20ini.%22%0A%0Ahttps%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D114" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
1007                    <a class="tsd-share-btn fb" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D114&quote=Adeltrida%20Yuliana%20Bere%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20bersyukur%20bisa%20kuliah%20di%20STIKOM%20UYELINDO%20KUPANG%20karena%20telah%20memberikan%20bekal%20untuk%20saya%20dan%20dan%20sangat%20bermanfaat%20untuk%20sy%20dalam%20pekerjaan%20saya%20saat%20ini.%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
1008                    <a class="tsd-share-btn tw" href="https://twitter.com/intent/tweet?text=Adeltrida%20Yuliana%20Bere%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20bersyukur%20bisa%20kuliah%20di%20STIKOM%20UYELINDO%20KUPANG%20karena%20telah%20memberikan%20bekal%20untuk%20saya%20dan%20dan%20sangat%20bermanfaat%20untuk%20sy%20dalam%20pekerjaan%20saya%20saat%20ini.%22&url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D114" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
1009                    <a class="tsd-share-btn tg" href="https://t.me/share/url?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D114&text=Adeltrida%20Yuliana%20Bere%20%E2%80%94%20Alumni%20Universitas%20Uyelindo%20%28Lulusan%202023%29%3A%20%22Saya%20bersyukur%20bisa%20kuliah%20di%20STIKOM%20UYELINDO%20KUPANG%20karena%20telah%20memberikan%20bekal%20untuk%20saya%20dan%20dan%20sangat%20bermanfaat%20untuk%20sy%20dalam%20pekerjaan%20saya%20saat%20ini.%22" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
1010                    <a class="tsd-share-btn li" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fuyelindo.ac.id%2Falumni.php%3Ftab%3Dtestimoni%26id%3D114" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
1011                    <button type="button" class="tsd-share-btn copy ts-card-copy" data-copy-text="Adeltrida Yuliana Bere — Alumni Universitas Uyelindo (Lulusan 2023): &quot;
1011Saya bersyukur bisa kuliah di STIKOM UYELINDO KUPANG karena telah memberikan bekal untuk saya dan dan sangat bermanfaat untuk sy dalam pekerjaan saya saat ini.&quot;" data-copy-url="https://uyelindo.ac.id/alumni.php?tab=testimoni&amp;id=114" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
1012                  </div>
1013                </div>
1014              </div>
1015            </article>
1016                              </div>
1017
1018                            <nav class="ts-pub-pager" role="navigation" aria-label="Navigasi halaman testimoni">
1019                          <span class="disabled" aria-hidden="true"><i class="bi bi-chevron-left"></i></span>
1020                        <span class="active" aria-current="page">1</span><a href="?tab=testimoni&amp;ts_page=2">2</a><a href="?tab=testimoni&amp;ts_page=3">3</a><span class="gap">…</span><a href="?tab=testimoni&amp;ts_page=9">9</a>                          <a href="?tab=testimoni&amp;ts_page=2" aria-label="Halaman berikutnya"><i class="bi bi-chevron-right"></i></a>
1021                      </nav>
1022              </div>
1023
1024      <!-- ============ TAB TRACER STUDY (preview website resmi) ============ -->
1025      <div class="tab-pane " id="tabPaneTracer" role="tabpanel" aria-labelledby="tabBtnTracer">
1026        <div class="tracer-card">
1027          <div class="tracer-head">
1028            <div class="tracer-icon" aria-hidden="true"><i class="bi bi-search-heart-fill"></i></div>
1029            <div>
1030              <h2>Tracer Study</h2>
1031              <p>Pratinjau halaman kuesioner Tracer Study resmi Kemdiktisaintek.</p>
1032            </div>
1033            <div class="tracer-actions">
1034              <a class="tracer-open" href="https://tracerstudy.kemdiktisaintek.go.id/kuesioner" target="_blank" rel="noopener noreferrer"><i class="bi bi-box-arrow-up-right"></i> Buka Halaman Penuh</a>
1035            </div>
1036          </div>
1037          <div class="tracer-note"><i class="bi bi-info-circle-fill"></i> Jika pratinjau tidak tampil karena kebijakan keamanan dari website tujuan, gunakan tombol <strong>Buka Halaman Penuh</strong>. Sistem sudah menyiapkan iframe-nya; keputusan tampil atau tidak tetap ada di server tujuan. Security-nya literally bukan kaleng-kaleng.</div>
1038          <div class="tracer-frame-wrap">
1039            <iframe class="tracer-frame" src="https://tracerstudy.kemdiktisaintek.go.id/kuesioner" title="Tracer Study Kemdiktisaintek" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" allow="fullscreen"></iframe>
1040            <div class="tracer-fallback"><i class="bi bi-shield-lock-fill"></i> Apabila layar tetap kosong, kemungkinan website tujuan memblokir embed iframe lintas-domain. Klik <strong>Buka Halaman Penuh</strong> untuk melanjutkan pengisian kuesioner.</div>
1041          </div>
1042        </div>
1043      </div>
1044
1045      <!-- ============ TAB DUKUNGAN ALUMNI (kontribusi dana via payment gateway) ============ -->
1046      <div class="tab-pane " id="tabPaneDukungan" role="tabpanel" aria-labelledby="tabBtnDukungan">
1047        <div class="dukungan-card">
1048          <div class="dukungan-head">
1049            <div class="dukungan-icon" aria-hidden="true"><i class="bi bi-heart-fill"></i></div>
1050            <div>
1051              <h2>Dukungan Alumni</h2>
1052              <p>Ikut ambil bagian dalam memajukan kegiatan dan program kealumnian melalui kontribusi dana yang Anda berikan.</p>
1053            </div>
1054          </div>
1055
1056          <div class="dukungan-note"><i class="bi bi-info-circle-fill"></i> Kontribusi yang terkumpul digunakan untuk mendukung berbagai kegiatan alumni, seperti reuni, pengembangan jejaring, kegiatan sosial, hingga program pemberdayaan lulusan. Setiap kontribusi sangat berarti bagi keberlangsungan kegiatan alumni.</div>
1057
1058          <div class="dukungan-invite">
1059            <div class="dukungan-invite-text">
1060              <i class="bi bi-link-45deg" aria-hidden="true"></i>
1061              <span>Salin tautan undangan untuk alumni <strong>Universitas Uyelindo</strong> agar mereka dapat memberikan dukungan dana bagi kegiatan alumni secara detail.</span>
1062            </div>
1063            <button type="button" id="dukunganInviteCopyBtn" class="dukungan-copy-btn"><i class="bi bi-clipboard-check"></i> Tautan Undangan Dukungan Alumni</button>
1064          </div>
1065
1066          <div class="dukungan-stats">
1067            <div class="dukungan-stat">
1068              <div class="lbl"><i class="bi bi-people-fill"></i> Jumlah Pendukung</div>
1069              <div class="val" id="dkStatCount">0 <small>orang</small></div>
1070            </div>
1071            <div class="dukungan-stat">
1072              <div class="lbl"><i class="bi bi-cash-coin"></i> Total Terkumpul</div>
1073              <div class="val" id="dkStatTotal">Rp 0</div>
1074            </div>
1075          </div>
1076
1077                      <form id="dukunganForm" class="dukungan-form" autocomplete="off" novalidate>
1078              <input type="hidden" id="dukungan_csrf" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508">
1079              <div class="dukungan-grid">
1080                <div class="fg">
1081                  <label for="dukungan_nama">Nama <span class="req" aria-hidden="true">*</span></label>
1082                  <input type="text" id="dukungan_nama" name="dukungan_nama" maxlength="150" pattern="[\p{L}\s]+" title="Nama hanya boleh berisi huruf dan spasi" placeholder="Nama lengkap Anda" required>
1083                </div>
1084                <div class="fg">
1085                  <label for="dukungan_telepon">Nomor Telepon <span class="req" aria-hidden="true">*</span></label>
1086                  <input type="tel" id="dukungan_telepon" name="dukungan_telepon" inputmode="numeric" pattern="[0-9]*" maxlength="15" placeholder="Contoh: 081234567890" data-digits-only="true" required>
1087                </div>
1088                <div class="fg">
1089                  <label>Email <span class="req" aria-hidden="true">*</span></label>
1090                  <input id="dukungan_email" name="dukungan_email" type="hidden" value="" readonly aria-hidden="true" tabindex="-1" autocomplete="off" data-google-only="1">
1091                  <div class="google-email-wrap">
1092                    <button type="button" id="btnDukunganGoogleEmail" class="gbtn" aria-label="Gunakan G-Mail"><span class="gbtn-ico" aria-hidden="true">
1093                      <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg>
1094                    </span><span class="gbtn-txt">Gunakan G-Mail</span></button><div id="dukunganGoogleEmailStatus" class="gmail-status" hidden></div>
1095                  </div>
1096                  <div class="dukungan-catatan-inline">
1097                    <label for="dukungan_catatan">Pesan / Catatan</label>
1098                    <textarea id="dukungan_catatan" name="dukungan_catatan" maxlength="500" placeholder="Tuliskan pesan atau harapan Anda untu
1098k kegiatan alumni"></textarea>
1099                  </div>
1100                </div>
1101                <div class="fg">
1102                  <label for="dukungan_nominal">Nominal Kontribusi <span class="req" aria-hidden="true">*</span></label>
1103                  <div class="dukungan-nominal-wrap">
1104                    <span class="pfx">Rp</span>
1105                    <input type="number" id="dukungan_nominal" name="dukungan_nominal" inputmode="numeric" min="10000" step="1000" value="10000" placeholder="10000" required>
1106                  </div>
1107                  <div class="dukungan-chips" id="dukunganChips">
1108                    <button type="button" class="dukungan-chip" data-amount="25000">Rp 25.000</button>
1109                    <button type="button" class="dukungan-chip" data-amount="50000">Rp 50.000</button>
1110                    <button type="button" class="dukungan-chip" data-amount="100000">Rp 100.000</button>
1111                    <button type="button" class="dukungan-chip" data-amount="250000">Rp 250.000</button>
1112                    <button type="button" class="dukungan-chip" data-amount="500000">Rp 500.000</button>
1113                  </div>
1114                </div>
1115              </div>
1116              <button type="submit" id="dukunganSubmit" class="dukungan-submit"><i class="bi bi-heart-fill"></i> Beri Dukungan</button>
1117              <div class="dukungan-secure"><i class="bi bi-shield-lock-fill"></i> Transaksi aman via payment gateway Duitku &amp; Virtual Account Bank NTT &amp; Virtual Account Bank BRI</div>
1118            </form>
1119                  </div>
1120      </div>
1121
1122    </section>
1123  </div>
1124</main>
1125<footer><div class="mobile-nav" role="navigation" aria-label="Menu Bawah"><a href="https://www.uyelindo.ac.id" aria-label="Menu Utama Kampus"><i class="bi bi-grid-3x3-gap-fill"></i><span>Menu</span></a><a href="#" data-post="maba"><i class="bi bi-person-plus-fill"></i><span>Maba</span></a><a href="https://www.uyelindogroup.org/students/index.php" class="main-btn" aria-label="U-Gate"><i class="bi bi-door-open-fill"></i></a><a href="#" data-post="berita"><i class="bi bi-globe2"></i><span>Berita</span></a><a href="#" aria-label="Buka Kontak (Mobile)"><i class="bi bi-telephone-fill"></i><span>Kontak</span></a></div></footer>
1126<div class="desktop-cta"><div class="desktop-cta-inner"><div class="desktop-cta-menu left" aria-label="Menu cepat Unadri kiri"><a href="https://www.uyelindo.ac.id" class="cta-pill"><i class="bi bi-grid-3x3-gap-fill"></i><span>Menu</span></a><button type="button" class="cta-pill" data-post="maba"><i class="bi bi-person-plus-fill"></i><span>Pendaftaran Maba</span></button><a href="https://www.uyelindogroup.org/students/index.php" class="cta-pill"><i class="bi bi-door-open-fill"></i><span>U-Gate</span></a><button type="button" class="cta-pill" data-post="berita"><i class="bi bi-globe2"></i><span>Buana Uyelindo</span></button></div><div class="desktop-cta-menu right" aria-label="Menu cepat Unadri kanan"><a href="https://wa.me/6281239632000?text=Halo%20Super%20Admin%2C%20saya%20ingin%20bertanya%20tentang%20Universitas%20Uyelindo" class="cta-pill"><i class="bi bi-whatsapp"></i><span>Chat Super Admin</span></a></div></div></div>
1127<footer class="footer-mini" role="contentinfo"><small>Powered by <strong class="siamir-red">Mr.Ems™</strong></small></footer>
1128<div id="kontakModal" aria-hidden="true" aria-modal="true" role="dialog"><div class="modal-box"><button class="close" aria-label="Tutup Modal Kontak"><i class="bi bi-x-lg"></i></button><h2>Kontak Kami</h2><p class="muted">Hubungi kami untuk informasi selengkapnya:</p><ul style="line-height:1.6;margin-left:18px"><li><i class="bi bi-geo-alt-fill me-1"></i> Jl. Perintis Kemerdekaan 1, Kel. Kayu Putih, Kota Kupang, Prov. NTT, Indonesia</li><li><i class="bi bi-telephone-fill me-1"></i> 082146408172</li><li><i class="bi bi-envelope-fill me-1"></i> [email protected]</li><li><i class="bi bi-globe2 me-1"></i> <span style="text-decoration:none;cursor:default;color:inherit;">https://www.uyelindo.ac.id</span></li></ul><div style="margin-top:20px;text-align:center;"><button id="waBtn" type="button" style="background-color:#25D366;color:white;border:none;padding:10px 18px;border-radius:50px;font-weight:600;display:inline-flex;align-items:center;gap:8px;
1128cursor:pointer;"><i class="bi bi-whatsapp"></i> Chat Super Admin</button></div></div></div>
1129<div id="resetPasswordModal" aria-hidden="true" aria-modal="true" role="dialog"><div class="modal-box"><button class="close" aria-label="Tutup Modal Lupa Password"><i class="bi bi-x-lg"></i></button><h2>Lupa Password Alumni</h2><p class="muted">Klik tombol Gunakan G-Mail dan pilih email alumni yang terdaftar. Sistem akan membuat password baru, mengenkripsinya, lalu mengirimkannya ke email tersebut.</p><form method="post" action="" autocomplete="off" novalidate><input type="hidden" name="csrf_token" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508"><input type="hidden" name="action" value="reset_password_alumni"><div class="fg"><br><label>Email Terdaftar <span class="req" aria-hidden="true">*</span></label><input id="reset_email" name="reset_email" type="hidden" value="" readonly aria-hidden="true" tabindex="-1" autocomplete="off" data-google-only="1"><div class="google-email-wrap"><button type="button" id="btnResetGoogleEmail" class="gbtn" aria-label="Gunakan G-Mail"><span class="gbtn-ico" aria-hidden="true">
1130                  <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/></svg>
1131                </span><span class="gbtn-txt">Gunakan G-Mail</span></button><div id="resetGoogleEmailStatus" class="gmail-status" hidden></div></div></div><div id="resetRateAlert" class="rate-alert" data-remaining="0"><i class="bi bi-shield-lock-fill"></i> Percobaan lupa password diblokir sementara. Sisa waktu: <strong class="rate-countdown">05:00</strong></div><button class="btn-main" type="submit"><i class="bi bi-envelope-check-fill"></i> Kirim Password Baru</button></form></div></div>
1132<div id="registerSavingOverlay" class="ugate-submit-overlay" aria-hidden="true" role="status" aria-live="polite" hidden>
1133  <div class="ugate-submit-card">
1134    <div class="ugate-submit-spinner" aria-hidden="true"></div>
1135    <h3>Menyimpan Profil Alumni</h3>
1136    <p>Data sedang diproses oleh U-Gate. Mohon menunggu sebentar dan jangan menutup halaman ini.</p>
1137    <span class="mini"><i class="bi bi-cloud-check-fill"></i> Secure submit sedang jalan</span>
1138  </div>
1139</div>
1140
1141<!-- Modal Detail Testimoni -->
1142<div id="tsDetailModal" aria-hidden="true" aria-modal="true" role="dialog">
1143  <div class="modal-box" role="document">
1144    <div class="tsd-head">
1145      <h3><i class="bi bi-chat-square-quote-fill"></i> Detail Testimoni</h3>
1146      <button type="button" class="tsd-close" id="tsdClose" aria-label="Tutup Detail Testimoni"><i class="bi bi-x-lg"></i></button>
1147    </div>
1148    <div class="tsd-body">
1149      <div class="tsd-photo" id="tsdPhotoBox">
1150        <div class="tsd-fallback" id="tsdFallback"><i class="bi bi-person-fill"></i></div>
1151      </div>
1152      <div class="tsd-info">
1153        <div class="tsd-name" id="tsdName">—</div>
1154        <div class="tsd-prodi" id="tsdProdi"></div>
1155        <div class="tsd-job" id="tsdJob"></div>
1156        <div class="tsd-time" id="tsdTime"></div>
1157        <div class="tsd-quote" id="tsdQuote">—</div>
1158        <div class="tsd-share" aria-label="Bagikan testimoni ini">
1159          <div class="ts-share-wrap">
1160            <span class="ts-share-label-inline">Bagikan:</span>
1161            <button type="button" class="ts-share-toggle" aria-label="Pilih media sosial untuk berbagi" aria-haspopup="true" aria-expanded="false" title="Bagikan"><i class="bi bi-share-fill"></i></button>
1162            <div class="ts-share-menu" role="menu">
1163              <a class="tsd-share-btn wa" id="tsdShareWA" href="#" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-whatsapp"></i> WhatsApp</a>
1164              <a class="tsd-share-btn fb" id="tsdShareFB" href="#" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-facebook"></i> Facebook</a>
1165              <a class="tsd-share-btn tw" id="tsdShareTW" href="#" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-twitter-x"></i> X</a>
1166              <a class="tsd-share-btn tg" id="tsdShareTG" href="#" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-telegram"></i> Telegram</a>
1167              <a class="tsd-share-btn li" id="tsdShareLI" href="#" target="_blank" rel="noopener" role="menuitem"><i class="bi bi-linkedin"></i> LinkedIn</a>
1168              <button type="button" class="tsd-share-btn copy" id="tsdShareCopy" role="menuitem"><i class="bi bi-link-45deg"></i> Salin Link</button>
1169            </div>
1170          </div>
1171        </div>
1172      </div>
1173    </div>
1174  </div>
1175</div>
1176
1177<form id="postMaba" action="https://www.uyelindo.ac.id/maba.php" method="post" style="display:none;"><input type="hidden" name="idpt" value="1"><input type="hidden" name="csrf_token" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508"></form><form id="postBerita" action="https://www.uyelindogroup.org/berita/index.php" method="post" style="display:none;"><input type="hidden" name="idpt" value="1"><input type="hidden" name="csrf_token" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508"></form><form id="googleLoginForm" method="post" action="" style="display:none;"><input type="hidden" name="csrf_token" value="668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508"><input type="hidden" name="action" value="login_alumni_google"><input type="hidden" name="google_access_token" id="googleAccessTokenInput" value=""></form>
1178<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11" nonce="TKt30ulyMV1YGn8hUagOAA"></script>
vendor: 1 bytes, line 1178
1178
1179<script nonce="TKt30ulyMV1YGn8hUagOAA">
1180const $=(sel,root=document)=>root.querySelector(sel);const $$=(sel,root=document)=>Array.from(root.querySelectorAll(sel));function on(sel,ev,fn){$$(sel).forEach(el=>el.addEventListener(ev,fn));}
1181(function(){const kontak=$('#kontakModal'),reset=$('#resetPasswordModal');const show=el=>{if(el)el.style.display='flex'};const hide=el=>{if(el)el.style.display='none'};on('[aria-label="Buka Kontak (Mobile)"]','click',e=>{e.preventDefault();show(kontak)});on('#openResetPassword','click',e=>{e.preventDefault();show(reset)});on('#kontakModal .close','click',()=>hide(kontak));on('#resetPasswordModal .close','click',()=>hide(reset));document.addEventListener('keydown',e=>{if(e.key==='Escape'){hide(kontak);hide(reset)}});})();
1182(function(){const fMaba=$('#postMaba'),fBerita=$('#postBerita');on('.mobile-nav a[data-post="maba"]','click',e=>{e.preventDefault();if(fMaba)fMaba.submit()});on('.mobile-nav a[data-post="berita"]','click',e=>{e.preventDefault();if(fBerita)fBerita.submit()});on('.desktop-cta-menu .cta-pill[data-post="maba"]','click',e=>{e.preventDefault();if(fMaba)fMaba.submit()});on('.desktop-cta-menu .cta-pill[data-post="berita"]','click',e=>{e.preventDefault();if(fBerita)fBerita.submit()});})();
1183(function(){const btn=document.getElementById('waBtn');if(btn){btn.addEventListener('click',function(e){e.preventDefault();window.location.href="https://wa.me/6281239632000?text=Halo%20Super%20Admin%2C%20saya%20ingin%20bertanya%20tentang%20Universitas%20Uyelindo";});}})();
1184(function(){document.querySelectorAll('.toggle-password').forEach(btn=>{btn.addEventListener('click',()=>{const input=document.getElementById(btn.getAttribute('data-target'));const icon=btn.querySelector('i');if(!input)return;const show=input.type==='password';input.type=show?'text':'password';btn.setAttribute('aria-label',show?'Sembunyikan password':'Lihat password');if(icon){icon.className=show?'bi bi-eye-slash-fill':'bi bi-eye-fill';}});});})();
1185(function(){const pw=document.getElementById('password');if(!pw)return;pw.addEventListener('input',function(){const ok=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6}$/.test(this.value);this.setCustomValidity(ok||this.value===''?'':'Password harus 6 karakter dan berisi komb
1185inasi huruf serta angka.');});})();
1186
1187(function(){document.querySelectorAll('[data-digits-only="true"]').forEach(input=>{input.addEventListener('input',function(){this.value=this.value.replace(/\D+/g,'');});input.addEventListener('paste',function(e){e.preventDefault();const text=(e.clipboardData||window.clipboardData).getData('text')||'';document.execCommand('insertText',false,text.replace(/\D+/g,''));});});})();
1188(function(){function fmt(sec){sec=Math.max(0,parseInt(sec||0,10));const m=String(Math.floor(sec/60)).padStart(2,'0');const s=String(sec%60).padStart(2,'0');return m+':'+s;}function activate(box){if(!box)return;let remaining=parseInt(box.dataset.remaining||'0',10);const btn=box.parentElement?box.parentElement.querySelector('button[type="submit"]'):null;if(remaining<=0){box.style.display='none';if(btn)btn.disabled=false;return;}box.style.display='block';if(btn)btn.disabled=true;const target=box.querySelector('.rate-countdown');if(target)target.textContent=fmt(remaining);const timer=setInterval(()=>{remaining--;if(target)target.textContent=fmt(remaining);if(remaining<=0){clearInterval(timer);box.style.display='none';if(btn)btn.disabled=false;}},1000);}activate(document.getElementById('loginRateAlert'));activate(document.getElementById('resetRateAlert'));})();
1189
1190(function(){
1191  const selN = document.getElementById('idnegara');
1192  const selP = document.getElementById('idprovinsi');
1193  const selK = document.getElementById('idkabupaten');
1194  const selC = document.getElementById('idkecamatan');
1195  if(!selN || !selP || !selK || !selC) return;
1196  const rst = (el, txt) => { el.innerHTML = `<option value="">${txt}</option>`; el.disabled = true; };
1197  const load = async (type, pid, target, txt) => {
1198    rst(target, txt);
1199    if(!pid) return;
1200    try {
1201      const res = await fetch(`?ajax_get=${type}&parent_id=${pid}`);
1202      const data = await res.json();
1203      if(data && data.length > 0){
1204        data.forEach(i => {
1205          const opt = document.createElement('option');
1206          opt.value = i.id; opt.textContent = i.nama;
1207          target.appendChild(opt);
1208        });
1209        target.disabled = false;
1210      }
1211    } catch(e) { console.error('Gagal memuat data wilayah', e); }
1212  };
1213  selN.addEventListener('change', function(){
1214    rst(selK, 'Pilih kabupaten/kota'); rst(selC, 'Pilih kecamatan');
1215    load('provinsi', this.value, selP, 'Pilih provinsi');
1216  });
1217  selP.addEventListener('change', function(){
1218    rst(selC, 'Pilih kecamatan');
1219    load('kabupaten', this.value, selK, 'Pilih kabupaten/kota');
1220  });
1221  selK.addEventListener('change', function(){
1222    load('kecamatan', this.value, selC, 'Pilih kecamatan');
1223  });
1224  window.UGateAlumniWilayah = {load: load, rst: rst, selN: selN, selP: selP, selK: selK, selC: selC};
1225})();
1226
1227// ===== Autosave Cookie Form Pendaftaran Alumni =====
1228(function(){
1229  const form = document.getElementById('registerAlumniForm');
1230  if (!form) return;
1231  const cookieName = "ugate_alumni_register_form_v1";
1232  const maxAge = 60 * 60 * 24 * 7; // 7 hari: cukup untuk retry tanpa jadi fosil digital.
1233  const excludedNames = new Set(['csrf_token','action','password','register_captcha_answer']);
1234  const fieldSelector = 'input[name], select[name], textarea[name]';
1235  const storageFields = () => Array.from(form.querySelectorAll(fieldSelector)).filter(el => {
1236    const name = el.getAttribute('name') || '';
1237    const type = (el.getAttribute('type') || '').toLowerCase();
1238    return name && !excludedNames.has(name) && type !== 'password' && type !== 'hidden' && !el.disabled;
1239  });
1240  const allNamedFields = () => Array.from(form.querySelectorAll(fieldSelector)).filter(el => {
1241    const name = el.getAttribute('name') || '';
1242    const type = (el.getAttribute('type') || '').toLowerCase();
1243    return name && !excludedNames.has(name) && type !== 'password' && type !== 'hidden';
1244  });
1245  const setCookie = (name, value, age) => {
1246    document.cookie = name + '=' + encodeURIComponent(value) + '; Max-Age=' + age + '; Path=/; SameSite=Lax';
1247  };
1248  const getCookie = (name) => {
1249    const needle = name + '=';
1250    const parts = (document.cookie || '').split(';');
1251    for (const part of parts) {
1252      const item = part.trim();
1253      if (item.indexOf(needle) === 0) return decodeURIComponent(item.substring(needle.length));
1254    }
1255    return '';
1256  };
1257  const clearCookie = () => { document.cookie = cookieName + '=; Max-Age=0; Path=/; SameSite=Lax'; };
1258  const safeParse = (raw) => {
1259    if (!raw) return null;
1260    try {
1261      const data = JSON.parse(raw);
1262      return data && typeof data === 'object' && !Array.isArray(data) ? data : null;
1263    } catch(e) { return null; }
1264  };
1265  let restoring = false;
1266  let saveTimer = null;
1267  const saveForm = () => {
1268    if (restoring) return;
1269    const data = {};
1270    storageFields().forEach(el => { data[el.name] = (el.value || '').toString(); });
1271    setCookie(cookieName, JSON.stringify(data), maxAge);
1272  };
1273  const debounceSave = () => {
1274    if (saveTimer) clearTimeout(saveTimer);
1275    saveTimer = setTimeout(saveForm, 180);
1276  };
1277  const setValue = (name, value) => {
1278    const el = form.elements[name];
1279    if (el && value !== undefined && value !== null) el.value = value;
1280  };
1281  const restore = async () => {
1282    const data = safeParse(getCookie(cookieName));
1283    if (!data) return;
1284    restoring = true;
1285    try {
1286      allNamedFields().forEach(el => {
1287        if (['idnegara','idprovinsi','idkabupaten','idkecamatan'].includes(el.name)) return;
1288        if (Object.prototype.hasOwnProperty.call(data, el.name)) el.value = data[el.name];
1289      });
1290      const w = window.UGateAlumniWilayah || null;
1291      if (w && data.idnegara) {
1292        setValue('idnegara', data.idnegara);
1293        await w.load('provinsi', data.idnegara, w.selP, 'Pilih provinsi');
1294        if (data.idprovinsi) {
1295          setValue('idprovinsi', data.idprovinsi);
1296          await w.load('kabupaten', data.idprovinsi, w.selK, 'Pilih kabupaten/kota');
1297        }
1298        if (data.idkabupaten) {
1299          setValue('idkabupaten', data.idkabupaten);
1300          await w.load('kecamatan', data.idkabupaten, w.selC, 'Pilih kecamatan');
1301        }
1302        if (data.idkecamatan) setValue('idkecamatan', data.idkecamatan);
1303      } else {
1304        ['idnegara','idprovinsi','idkabupaten','idkecamatan'].forEach(name => {
1305          if (Object.prototype.hasOwnProperty.call(data, name)) setValue(name, data[name]);
1306        });
1307      }
1308    } finally {
1309      restoring = false;
1310    }
1311  };
1312
1313  form.addEventListener('input', debounceSave);
1314  form.addEventListener('change', debounceSave);
1315  form.addEventListener('submit', saveForm);
1316  restore().then(saveForm).catch(()=>{});
1317  window.UGateAlumniRegisterCookie = {save: saveForm, clear: clearCookie};
1318})();
1319
1320
1321// ===== Loading Indicator Simpan Profil Alumni =====
1322(function(){
1323  const form = document.getElementById('registerAlumniForm');
1324  const overlay = document.getElementById('registerSavingOverlay');
1325  const btn = document.getElementById('btnSaveAlumniProfile');
1326  if(!form || !overlay || !btn) return;
1327
1328  const originalHtml = btn.innerHTML;
1329  let submitting = false;
1330
1331  function showLoading(){
1332    overlay.hidden = false;
1333    overlay.setAttribute('aria-hidden','false');
1334    requestAnimationFrame(function(){ overlay.classList.add('show'); });
1335    form.classList.add('is-saving');
1336    btn.classList.add('is-loading');
1337    btn.disabled = true;
1338    btn.innerHTML = '<i class="bi bi-arrow-repeat"></i> Menyimpan Profil...';
1339  }
1340
1341  function hideLoading(){
1342    overlay.classList.remove('show');
1343    overlay.setAttribute('aria-hidden','true');
1344    overlay.hidden = true;
1345    form.classList.remove('is-saving');
1346    btn.classList.remove('is-loading');
1347    btn.disabled = false;
1348    btn.innerHTML = originalHtml;
1349    submitting = false;
1350  }
1351
1352  form.addEventListener('submit', function(e){
1353    if(submitting){ e.preventDefault(); return; }
1354    submitting = true;
1355    try{ if(window.UGateAlumniRegisterCookie && typeof window.UGateAlumniRegisterCookie.save === 'function') window.UGateAlumniRegisterCookie.save(); }catch(err){}
1356    showLoading();
1357  });
1358
1359  window.addEventListener('pageshow', function(){ hideLoading(); });
1360})();
1361
1362// ===== Tabs Switcher =====
1363(function(){
1364  const buttons = Array.from(document.querySelectorAll('.tab-btn[data-tab]'));
1365  const panes = {
1366    profil: document.getElementById('tabPaneProfil'),
1367    testimoni: document.getElementById('tabPaneTestimoni'),
1368    tracer: document.getElementById('tabPaneTracer'),
1369    dukungan: document.getElementById('tabPaneDukungan')
1370  };
1371  if (!buttons.length || !panes.profil || !panes.testimoni || !panes.tracer || !panes.dukungan) return;
1372
1373  function activate(name, pushHistory){
1374    if (!panes[name]) name = 'profil';
1375    buttons.forEach(btn => {
1376      const active = btn.dataset.tab === name;
1377      btn.classList.toggle('active', active);
1378      btn.setAttribute('aria-selected', active ? 'true' : 'false');
1379    });
1380    Object.keys(panes).forEach(key => panes[key].classList.toggle('active', key === name));
1381
1382    if (pushHistory) {
1383      try {
1384        const url = new URL(window.location.href);
1385        url.searchParams.delete('id');
1386        url.searchParams.delete('ts_page');
1387        if (name === 'profil') url.searchParams.delete('tab');
1388        else url.searchParams.set('tab', name);
1389        window.history.replaceState({}, '', url.toString());
1390      } catch(e){}
1391    }
1392
1393    if (name !== 'profil') {
1394      const pane = panes[name];
1395      const top = pane.getBoundingClientRect().top + window.scrollY - 80;
1396      window.scrollTo({top: Math.max(0, top), behavior:'smooth'});
1397    }
1398  }
1399
1400  buttons.forEach(btn => btn.addEventListener('click', () => activate(btn.dataset.tab || 'profil', true)));
1401})();
1402
1403// ===== Dukungan Alumni: salin tautan undangan =====
1404(function(){
1405  const btnCopyInvite = document.getElementById('dukunganInviteCopyBtn');
1406  if (!btnCopyInvite) return;
1407  const INVITE_TEXT = "Yth. Bapak/Ibu/Saudara/i Alumni Universitas Uyelindo,\n\nKami mengundang seluruh alumni Universitas Uyelindo untuk berpartisipasi memberikan dukungan dana bagi berbagai kegiatan alumni yang akan dilaksanakan, seperti reuni, pengembangan jejaring alumni, kegiatan sosial, program pemberdayaan lulusan, serta agenda kealumnian lainnya. Setiap kontribusi akan menjadi dukungan yang sangat berarti untuk memperkuat kolaborasi dan keberlanjutan program alumni.\n\nSilakan memberikan dukungan melalui tautan berikut:\nhttps://uyelindo.ac.id/alumni.php?tab=dukungan\n\nTerima kasih atas perhatian, kepedulian, dan kontribusi Bapak/Ibu/Saudara/i bagi keluarga besar alumni Universitas Uyelindo.";
1408  const SWAL_BG = '#0f172a', SWAL_COLOR = '#f9fafb', SWAL_BTN = '#e53935';
1409
1410  function fallbackCopy(text){
1411    const ta = document.createElement('textarea');
1412    ta.value = text;
1413    ta.setAttribute('readonly', 'readonly');
1414    ta.style.position = 'fixed';
1415    ta.style.left = '-9999px';
1416    ta.style.top = '0';
1417    document.body.appendChild(ta);
1418    ta.focus();
1419    ta.select();
1420    let ok = false;
1421    try { ok = document.execCommand('copy'); } catch(e) { ok = false; }
1422    document.body.removeChild(ta);
1423    return ok;
1424  }
1425
1426  function copyInviteText(text){
1427    if (navigator.clipboard && window.isSecureContext) {
1428      return navigator.clipboard.writeText(text).then(() => true).catch(() => fallbackCopy(text));
1429    }
1430    return Promise.resolve(fallbackCopy(text));
1431  }
1432
1433  function showCopyResult(ok){
1434    if (typeof Swal !== 'undefined') {
1435      Swal.fire({
1436        icon: ok ? 'success' : 'warning',
1437        title: ok ? 'Tautan Undangan Disalin' : 'Salin Manual Diperlukan',
1438        html: ok
1439          ? '<div style="color:#9fb3c8;font-size:.86rem;line-height:1.55;text-align:left">Teks undangan dukungan alumni sudah disalin ke clipboard dan siap dibagikan.</div>'
1440          : '<div style="color:#9fb3c8;font-size:.86rem;line-height:1.55;text-align:left">Browser tidak mengizinkan salin otomatis. Silakan salin teks berikut secara manual:<br><br><textarea readonly style="width:100%;height:150px;border-radius:10px;padding:10px">' + INVITE_TEXT.replace(/[&<>"]/g, function(ch){return ({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'}[ch]);}) + '</textarea></div>',
1441        background: SWAL_BG,
1442        color: SWAL_COLOR,
1443        confirmButtonColor: SWAL_BTN,
1444        customClass: {popup:'ugate-swal-dark'}
1445      });
1446    } else {
1447      alert(ok ? 'Tautan undangan dukungan alumni berhasil disalin.' : INVITE_TEXT);
1448    }
1449  }
1450
1451  btnCopyInvite.addEventListener('click', function(){
1452    const original = btnCopyInvite.innerHTML;
1453    btnCopyInvite.disabled = true;
1454    btnCopyInvite.innerHTML = '<i class="bi bi-arrow-repeat"></i> Menyalin...';
1455    copyInviteText(INVITE_TEXT).then(function(ok){
1456      btnCopyInvite.innerHTML = ok ? '<i class="bi bi-check2-circle"></i> Tersalin' : original;
1457      showCopyResult(ok);
1458      setTimeout(function(){ btnCopyInvite.disabled = false; btnCopyInvite.innerHTML = original; }, 1400);
1459    });
1460  });
1461})();
1462
1463// ===== Dukungan Alumni: kontribusi dana via Duitku =====
1464(function(){
1465  const form = document.getElementById('dukunganForm');
1466  if (!form) return;
1467  const base = location.pathname;
1468  const elNama = document.getElementById('dukungan_nama');
1469  const elTelp = document.getElementById('dukungan_telepon');
1470  const elNominal = document.getElementById('dukungan_nominal');
1471  const elCatatan = document.getElementById('dukungan_catatan');
1472  const elEmail = document.getElementById('dukungan_email');
1473  const elCsrf = document.getElementById('dukungan_csrf');
1474  const btn = document.getElementById('dukunganSubmit');
1475  const chipsWrap = document.getElementById('dukunganChips');
1476  const MIN_NOMINAL = 10000;
1477  const DUITKU_AKTIF = true;
1478  const VANTT_AKTIF = true;
1479  const VABRI_AKTIF = true;
1480  const SWAL_BG = '#0f172a', SWAL_COLOR = '#f9fafb', SWAL_BTN = '#e53935';
1481
1482  function rupiah(n){ return 'Rp ' + Number(n||0).toLocaleString('id-ID'); }
1483  function alertErr(title, text){
1484    if (typeof Swal !== 'undefined') Swal.fire({icon:'error',title:title||'Gagal',text:text||'',background:SWAL_BG,color:SWAL_COLOR,confirmButtonColor:SWAL_BTN,customClass:{popup:'ugate-swal-dark'}});
1485    else alert((title? title+': ':'') + (text||''));
1486  }
1487  function alertInfo(title, html){
1488    if (typeof Swal !== 'undefined') Swal.fire({icon:'info',title:title||'',html:html||'',background:SWAL_BG,color:SWAL_COLOR,confirmButtonColor:SWAL_BTN,customClass:{popup:'ugate-swal-dark'}});
1489    else alert(title||'');
1490  }
1491
1492  function cleanDigits(v){ return String(v || '').replace(/\D+/g, ''); }
1493  function cleanName(v){ return String(v || '').replace(/[^\p{L}\s]/gu, '').replace(/\s{2,}/g, ' '); }
1494  function syncNominalChips(){
1495    if (!chipsWrap || !elNominal) return;
1496    const v = parseInt(cleanDigits(elNominal.value), 10) || 0;
1497    chipsWrap.querySelectorAll('.dukungan-chip').forEach(c => c.classList.toggle('active', (parseInt(c.getAttribute('data-amount'),10)||0) === v));
1498  }
1499  function ensureMinNominal(){
1500    if (!elNominal) return;
1501    let v = parseInt(cleanDigits(elNominal.value), 10) || 0;
1502    if (v < MIN_NOMINAL) v = MIN_NOMINAL;
1503    elNominal.value = v;
1504    syncNominalChips();
1505  }
1506
1507  if (elTelp) {
1508    elTelp.addEventListener('input', function(){ this.value = cleanDigits(this.value).slice(0, 15); });
1509    elTelp.addEventListener('paste', function(e){
1510      e.preventDefault();
1511      const text = (e.clipboardData || window.clipboardData).getData('text') || '';
1512      this.value = cleanDigits(text).slice(0, 15);
1513    });
1514  }
1515  if (elNama) {
1516    elNama.addEventListener('input', function(){ this.value = cleanName(this.value).slice(0, 150); });
1517    elNama.addEventListener('paste', function(e){
1518      e.preventDefault();
1519      const text = (e.clipboardData || window.clipboardData).getData('text') || '';
1520      this.value = cleanName(text).slice(0, 150);
1521    });
1522  }
1523  if (chipsWrap) {
1524    chipsWrap.addEventListener('click', function(e){
1525      const chip = e.target.closest('.dukungan-chip');
1526      if (!chip) return;
1527      const amt = parseInt(chip.getAttribute('data-amount'), 10) || 0;
1528      if (elNominal) elNominal.value = amt;
1529      syncNominalChips();
1530    });
1531  }
1532  if (elNominal) {
1533    elNominal.addEventListener('input', syncNominalChips);
1534    elNominal.addEventListener('blur', ensureMinNominal);
1535    ensureMinNominal();
1536  }
1537
1538  function setLoading(state){
1539    if (!btn) return;
1540    btn.disabled = state;
1541    btn.innerHTML = state
1542      ? '<i class="bi bi-arrow-repeat"></i> Memproses...'
1543      : '<i class="bi bi-heart-fill"></i> Beri Dukungan';
1544  }
1545
1546  function getData(){
1547    return {
1548      nama: (elNama && elNama.value || '').trim(),
1549      telepon: (elTelp && elTelp.value || '').replace(/[^0-9]/g, ''),
1550      nominal: parseInt((elNominal && elNominal.value || '0').replace(/[^0-9]/g, ''), 10) || 0,
1551      catatan: (elCatatan && elCatatan.value || '').trim(),
1552      email: (elEmail && elEmail.value || '').trim(),
1553      csrf: (elCsrf && elCsrf.value || '')
1554    };
1555  }
1556
1557  function validate(d){
1558    if (!/^\p{L}+(?:\s+\p{L}+)*$/u.test(d.nama)) { alertErr('Nama Tidak Valid', 'Nama hanya boleh berisi huruf dan spasi.'); return false; }
1559    if (!/^[0-9]{8,15}$/.test(d.telepon)) { alertErr('Telepon Tidak Valid', 'Nomor telepon harus berupa angka 8 sampai 15 digit.'); return false; }
1560    if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d.email)) { alertErr('Email Belum Dipilih', 'Email wajib dipilih melalui tombol Gunakan G-Mail sebelum memberikan dukungan.'); return false; }
1561    if (d.nominal < MIN_NOMINAL) { alertErr('Nominal Terlalu Kecil', 'Nominal kontribusi minimal ' + rupiah(MIN_NOMINAL) + '.'); return false; }
1562    return true;
1563  }
1564
1565  function pickMethod(d){
1566    if (typeof Swal !== 'undefined') Swal.fire({title:'Memuat Metode Pembayaran',html:'<div style="color:#9fb3c8;font-size:.85rem">Mengambil daftar metode dari Duitku...</div>',background:SWAL_BG,color:SWAL_COLOR,allowOutsideClick:false,showConfirmButton:false,customClass:{popup:'ugate-swal-dark'},didOpen:function(){Swal.showLoading();}});
1567    const fd = new FormData();
1568    fd.append('csrf_token', d.csrf);
1569    fd.append('nominal', d.nominal);
1570    fetch(base + '?act=dukungan_methods', {method:'POST', body:fd, credentials:'same-origin'})
1571      .then(r => r.json())
1572      .then(resp => {
1573        if (!resp || !resp.ok) { alertErr('Gagal', (resp && resp.msg) ? resp.msg : 'Tidak dapat memuat metode pembayaran.'); return; }
1574        const ms = Array.isArray(resp.methods) ? resp.methods : [];
1575        if (ms.length === 0) { alertInfo('Metode Belum Tersedia', '<div style="color:#9fb3c8;font-size:.85rem;text-align:left">' + (resp.msg || 'Belum ada metode pembayaran tersedia.') + '</div>'); return; }
1576        renderMethods(resp.amount, ms, d);
1577      })
1578      .catch(e =>
1578 alertErr('Error', String(e)));
1579  }
1580
1581  function renderMethods(amount, ms, d){
1582    const cards = ms.map(function(m){
1583      const img = m.image ? ('<img src="' + m.image + '" alt="" style="height:26px;max-width:74px;object-fit:contain">') : ('<span style="font-weight:800;color:' + SWAL_BTN + ';font-size:.78rem">' + m.code + '</span>');
1584      const fee = (m.fee > 0) ? ('<div style="font-size:.68rem;color:#94a3b8">+ biaya ' + rupiah(m.fee) + '</div>') : ('<div style="font-size:.68rem;color:#22c55e">tanpa biaya admin</div>');
1585      return '<button type="button" class="dm" data-code="' + m.code + '" style="display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;color:#1d1d1d;border:1px solid #e2e8f0;border-radius:10px;padding:11px 13px;margin-bottom:9px;cursor:pointer;outline:none;box-shadow:none"><span style="min-width:76px;display:flex;align-items:center;justify-content:center">' + img + '</span><span style="flex:1"><div style="font-weight:700;font-size:.9rem">' + m.name + '</div>' + fee + '</span><span style="font-weight:800;color:#0f172a;font-size:.9rem;white-space:nowrap">' + rupiah(m.total) + '</span></button>';
1586    }).join('');
1587    if (typeof Swal === 'undefined') return;
1588    Swal.fire({
1589      title:'Pilih Metode Pembayaran',
1590      html:'<div style="text-align:left;margin-bottom:10px;color:#9fb3c8;font-size:.82rem">Nominal: <b style="color:#fff">' + rupiah(amount) + '</b></div><div style="max-height:54vh;overflow-y:auto;overflow-x:hidden;padding-right:4px">' + cards + '</div>',
1591      background:SWAL_BG, color:SWAL_COLOR, width:480, showConfirmButton:false, showCancelButton:true, cancelButtonText:'Tutup', cancelButtonColor:'#475569', customClass:{popup:'ugate-swal-dark'},
1592      didOpen:function(){
1593        document.querySelectorAll('.dm').forEach(function(b){ b.addEventListener('click', function(){ doInquiry(b.getAttribute('data-code'), d); }); });
1594      }
1595    });
1596  }
1597
1598  function doInquiry(code, d){
1599    if (typeof Swal !== 'undefined') Swal.fire({title:'Memproses Pembayaran',html:'<div style="color:#9fb3c8;font-size:.85rem">Membuat transaksi, mohon tunggu...</div>',background:SWAL_BG,color:SWAL_COLOR,allowOutsideClick:false,showConfirmButton:false,customClass:{popup:'ugate-swal-dark'},didOpen:function(){Swal.showLoading();}});
1600    const fd = new FormData();
1601    fd.append('csrf_token', d.csrf);
1602    fd.append('nama', d.nama);
1603    fd.append('telepon', d.telepon);
1604    fd.append('email', d.email);
1605    fd.append('nominal', d.nominal);
1606    fd.append('catatan', d.catatan);
1607    fd.append('paymentMethod', code);
1608    fetch(base + '?act=dukungan_inquiry', {method:'POST', body:fd, credentials:'same-origin'})
1609      .then(r => r.json())
1610      .then(resp => {
1611        if (resp && resp.ok && resp.paymentUrl) { window.location.href = resp.paymentUrl; }
1612        else { alertErr('Gagal', (resp && resp.msg) ? resp.msg : 'Tidak dapat membuat transaksi.'); }
1613      })
1614      .catch(e =>
1614 alertErr('Error', String(e)));
1615  }
1616
1617  function copyText(txt){
1618    if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(txt).catch(function(){}); return; }
1619    try { const t=document.createElement('textarea'); t.value=txt; t.style.position='fixed'; t.style.opacity='0'; document.body.appendChild(t); t.focus(); t.select(); document.execCommand('copy'); document.body.removeChild(t); } catch(e){}
1620  }
1621
1622  function showVA(resp, d){
1623    const va = String(resp.va || '');
1624    const amount = Number(resp.amount || d.nominal || 0);            // total yang harus ditransfer
1625    const biaya = Number(resp.biaya || 0);                          // biaya layanan gateway VA
1626    const nominalBase = Number(resp.nominal_base || (amount - biaya) || 0); // nominal dukungan murni
1627    const bank = resp.bank || 'Bank NTT';
1628    if (typeof Swal === 'undefined') { alert('Virtual Account ' + bank + ': ' + va + '\nTotal Transfer: ' + rupiah(amount) + (biaya > 0 ? ('\n(Nominal ' + rupiah(nominalBase) + ' + Biaya Layanan ' + rupiah(biaya) + ')') : '')); window.location.reload(); return; }
1629    // Rincian nominal: bila ada biaya layanan, tampilkan Nominal Dukungan + Biaya Layanan + Total Transfer.
1630    const rincian = (biaya > 0)
1631      ? ('<div style="display:flex;justify-content:space-between;padding:7px 2px;border-top:1px dashed #1e2a3d"><span style="color:#9fb3c8">Nominal Dukungan</span><b style="color:#fff">' + rupiah(nominalBase) + '</b></div>' +
1632         '<div style="display:flex;justify-content:space-between;padding:7px 2px"><span style="color:#9fb3c8">Biaya Layanan</span><b style="color:#fff">' + rupiah(biaya) + '</b></div>' +
1633         '<div style="display:flex;justify-content:space-between;padding:7px 2px;border-top:1px solid #1e2a3d"><span style="color:#e5eefc;font-weight:700">Total Transfer</span><b style="color:#22c55e">' + rupiah(amount) + '</b></div>')
1634      : ('<div style="display:flex;justify-content:space-between;padding:7px 2px;border-top:1px dashed #1e2a3d"><span style="color:#9fb3c8">Nominal</span><b style="color:#fff">' + rupiah(amount) + '</b></div>');
1635    const html =
1636      '<div style="text-align:left;color:#e5eefc;font-size:.9rem">' +
1637        '<div style="color:#9fb3c8;margin-bottom:8px">Silakan lakukan transfer ke Virtual Account berikut:</div>' +
1638        '<div style="background:#0b1220;border:1px solid #1e2a3d;border-radius:12px;padding:14px;margin-bottom:12px">' +
1639          '<div style="font-size:.72rem;color:#94a3b8;letter-spacing:.4px">' + bank + ' — VIRTUAL ACCOUNT</div>' +
1640          '<div style="font-size:1.4rem;font-weight:800;letter-spacing:2px;color:#fff;margin:6px 0">' + va + '</div>' +
1641          '<button type="button" id="vaCopyBtn" style="background:' + SWAL_BTN + ';color:#fff;border:none;border-radius:8px;padding:7px 13px;font-weight:700;font-size:.78rem;cursor:pointer"><i class="bi bi-clipboard-check"></i> Salin Nomor VA</button>' +
1642        '</div>' +
1643        rincian +
1644        '<div style="display:flex;justify-content:space-between;padding:7px 2px"><span style="color:#9fb3c8">Atas Nama</span><b style="color:#fff">' + (d.nama || '') + '</b></div>' +
1645        '<div style="margin-top:12px;color:#94a3b8;font-size:.76rem;line-height:1.55">Transfer <b>sesuai nominal</b> di atas ke rekening Virtual Account ' + bank + ' tersebut. Status dukungan Anda akan diperbarui <b>otomatis</b> setelah pembayaran diterima. Nomor VA ini khusus untuk kontribusi Anda dan tidak dapat digunakan ulang.</div>' +
1646        '<div id="vaNotice" style="display:none;margin-top:11px;padding:9px 11px;border-radius:9px;font-size:.78rem;line-height:1.5"></div>' +
1647      '</div>';
1648    var vaPaid = false;
1649    Swal.fire({
1650      title: 'Virtual Account ' + bank,
1651      html: html, background: SWAL_BG, color: SWAL_COLOR, width: 480,
1652      showConfirmButton: true, confirmButtonText: 'Selesai', confirmButtonColor: SWAL_BTN,
1653      customClass: { popup: 'ugate-swal-dark' },
1654      didOpen: function(){
1655        const b = document.getElementById('vaCopyBtn');
1656        if (b) b.addEventListener('click', function(){ copyText(va); b.innerHTML = '<i class="bi bi-check2-all"></i> Nomor VA Tersalin'; });
1657        // Auto-deteksi pembayaran: pantau status VA secara berkala (realtime)
1658        if (vaPollTimer) { clearInterval(vaPollTimer); vaPollTimer = null; }
1659        vaPollTimer = setInterval(function(){
1660          fetch(base + '?act=va_status&va=' + encodeURIComponent(va), {credentials:'same-origin', cache:'no-store'})
1661            .then(function(r){ return r.json(); })
1662            .then(function(s){
1663              if (!s) return;
1664              if (s.paid) {
1665                vaPaid = true;
1666                if (vaPollTimer) { clearInterval(vaPollTimer); vaPollTimer = null; }
1667                refreshStats();
1668                Swal.fire({
1669                  icon: 'success',
1670                  title: s.title || 'Pembayaran Diterima',
1671                  html: '<div style="color:#e5eefc;font-size:.9rem">Terima kasih, ' + (d.nama || '') + '. Kontribusi Anda sebesar <b>' + rupiah(amount) + '</b> melalui Virtual Account ' + bank + ' telah <b>diterima</b> dan tercatat <b>LUNAS</b>.</div>',
1672                  background: SWAL_BG, color: SWAL_COLOR, confirmButtonText: 'Selesai', confirmButtonColor: SWAL_BTN,
1673                  customClass: { popup: 'ugate-swal-dark' }
1674                }).then(function(result){ if (result.isConfirmed) window.location.reload(); });
1675                return;
1676              }
1677              // Belum lunas: tampilkan status/kendala terakhir dari bank (bila ada) di dalam modal.
1678              var n = document.getElementById('vaNotice');
1679              if (!n) return;
1680              if (s.rc && (s.type === 'warning' || s.type === 'error')) {
1681                var isErr = (s.type === 'error');
1682                n.style.display = 'block';
1683                n.style.background = isErr ? '#3b1414' : '#3a2e12';
1684                n.style.border = '1px solid ' + (isErr ? '#7f1d1d' : '#78560f');
1685                n.style.color = isErr ? '#fecaca' : '#fde68a';
1686                n.innerHTML = '<b><i class="bi bi-exclamation-triangle-fill"></i> [' + s.rc + '] ' + (s.title || 'Perhatian') + '</b><br>' + (s.message || '');
1687              } else {
1688                n.style.display = 'none';
1689                n.innerHTML = '';
1690              }
1691            })
1692            .catch(function(){});
1693        }, 8000);
1694      },
1695      willClose: function(){ if (!vaPaid && vaPollTimer) { clearInterval(vaPollTimer); vaPollTimer = null; } }
1696    }).then(function(result){ if (result.isConfirmed) window.location.reload(); });
1697  }
1698
1699  function createVANtt(d){
1700    if (typeof Swal !== 'undefined') Swal.fire({title:'Membuat Virtual Account',html:'<div style="color:#9fb3c8;font-size:.85rem">Menyiapkan nomor VA Bank NTT...</div>',background:SWAL_BG,color:SWAL_COLOR,allowOutsideClick:false,showConfirmButton:false,customClass:{popup:'ugate-swal-dark'},didOpen:function(){Swal.showLoading();}});
1701    const fd = new FormData();
1702    fd.append('csrf_token', d.csrf);
1703    fd.append('nama', d.nama);
1704    fd.append('telepon', d.telepon);
1705    fd.append('email', d.email);
1706    fd.append('nominal', d.nominal);
1707    fd.append('catatan', d.catatan);
1708    fetch(base + '?act=va_create', {method:'POST', body:fd, credentials:'same-origin'})
1709      .then(r => r.json())
1710      .then(resp => {
1711        if (resp && resp.ok && resp.va) { showVA(resp, d); }
1712        else { alertErr('Gagal', (resp && resp.msg) ? resp.msg : 'Tidak dapat membuat Virtual Account Bank NTT.'); }
1713      })
1714      .catch(e =>
1714 alertErr('Error', String(e)));
1715  }
1716
1717  function createVABri(d){
1718    if (typeof Swal !== 'undefined') Swal.fire({title:'Membuat Virtual Account',html:'<div style="color:#9fb3c8;font-size:.85rem">Menyiapkan nomor VA Bank BRI...</div>',background:SWAL_BG,color:SWAL_COLOR,allowOutsideClick:false,showConfirmButton:false,customClass:{popup:'ugate-swal-dark'},didOpen:function(){Swal.showLoading();}});
1719    const fd = new FormData();
1720    fd.append('csrf_token', d.csrf);
1721    fd.append('nama', d.nama);
1722    fd.append('telepon', d.telepon);
1723    fd.append('email', d.email);
1724    fd.append('nominal', d.nominal);
1725    fd.append('catatan', d.catatan);
1726    fetch(base + '?act=vabri_create', {method:'POST', body:fd, credentials:'same-origin'})
1727      .then(r => r.json())
1728      .then(resp => {
1729        if (resp && resp.ok && resp.va) { showVA(resp, d); }
1730        else { alertErr('Gagal', (resp && resp.msg) ? resp.msg : 'Tidak dapat membuat Virtual Account Bank BRI.'); }
1731      })
1732      .catch(e => alertErr('Error', String(e)));
1733  }
1734
1735  function chooseGateway(d){
1736    const gateways = [];
1737    if (DUITKU_AKTIF) gateways.push({id:'gwDuitku',title:'Payment Gateway (Duitku)',desc:'QRIS, e-wallet, VA berbagai bank, retail',icon:'bi-credit-card-2-front-fill',run:function(){ pickMethod(d); }});
1738    if (VANTT_AKTIF) gateways.push({id:'gwVANtt',title:'Virtual Account Bank NTT',desc:'Transfer ke nomor VA Bank NTT',icon:'bi-bank2',run:function(){ createVANtt(d); }});
1739    if (VABRI_AKTIF) gateways.push({id:'gwVABri',title:'Virtual Account Bank BRI',desc:'BRIVA Online terverifikasi otomatis',icon:'bi-building-fill-check',run:function(){ createVABri(d); }});
1740
1741    if (gateways.length === 0) { alertErr('Belum Tersedia', 'Metode pembayaran belum aktif.'); return; }
1742    if (gateways.length === 1) { gateways[0].run(); return; }
1743    if (typeof Swal === 'undefined') { gateways[0].run(); return; }
1744
1745    const cards = gateways.map(function(g){
1746      return '<button type="button" id="' + g.id + '" style="display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:linear-gradient(145deg,#111827,#0b1220);color:#f8fafc;border:1px solid #334155;border-radius:10px;padding:12px 14px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.28)"><span style="min-width:34px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:' + SWAL_BTN + '"><i class="bi ' + g.icon + '"></i></span><span style="flex:1"><div style="font-weight:700;font-size:.92rem">' + g.title + '</div><div style="font-size:.72rem;color:#94a3b8">' + g.desc + '</div></span><i class="bi bi-chevron-right" style="color:#64748b"></i></button>';
1747    }).join('');
1748
1749    Swal.fire({
1750      title: 'Pilih Metode Pembayaran',
1751      html: '<div style="display:flex;flex-direction:column;gap:10px;margin-top:6px">' + cards + '</div>',
1752      background: SWAL_BG, color: SWAL_COLOR, width: 460,
1753      showConfirmButton: false, showCancelButton: true, cancelButtonText: 'Tutup', cancelButtonColor: '#475569',
1754      customClass: { popup: 'ugate-swal-dark' },
1755      didOpen: function(){
1756        gateways.forEach(function(g){
1757          const el = document.getElementById(g.id);
1758          if (el) el.addEventListener('click', g.run);
1759        });
1760      }
1761    });
1762  }
1763
1764
1765  // ---- Refresh statistik dukungan secara berkala (realtime) ----
1766  var vaPollTimer = null;
1767  function refreshStats(){
1768    fetch(base + '?act=dukungan_stats', {credentials:'same-origin', cache:'no-store'})
1769      .then(function(r){ return r.json(); })
1770      .then(function(s){
1771        if (!s || !s.ok) return;
1772        var c = document.getElementById('dkStatCount');
1773        var t = document.getElementById('dkStatTotal');
1774        if (c) c.innerHTML = s.count_fmt + ' <small>orang</small>';
1775        if (t) t.textContent = s.total_fmt;
1776      })
1777      .catch(function(){});
1778  }
1779  if (document.getElementById('dkStatCount')) { setInterval(refreshStats, 15000); }
1780
1781  form.addEventListener('submit', function(e){
1782    e.preventDefault();
1783    const d = getData();
1784    if (!validate(d)) return;
1785    chooseGateway(d);
1786  });
1787})();
1788
1789// ===== Detail Modal Testimoni + Share =====
1790(function(){
1791  const modal = document.getElementById('tsDetailModal');
1792  if (!modal) return;
1793  const btnClose = document.getElementById('tsdClose');
1794  const photoBox = document.getElementById('tsdPhotoBox');
1795  const fallback = document.getElementById('tsdFallback');
1796  const elName = document.getElementById('tsdName');
1797  const elProdi = document.getElementById('tsdProdi');
1798  const elJob = document.getElementById('tsdJob');
1799  const elTime = document.getElementById('tsdTime');
1800  const elQuote = document.getElementById('tsdQuote');
1801  const aWA = document.getElementById('tsdShareWA');
1802  const aFB = document.getElementById('tsdShareFB');
1803  const aTW = document.getElementById('tsdShareTW');
1804  const aTG = document.getElementById('tsdShareTG');
1805  const aLI = document.getElementById('tsdShareLI');
1806  const btnCopy = document.getElementById('tsdShareCopy');
1807
1808  const PAGE_URL_DEFAULT = "https:\/\/uyelindo.ac.id\/alumni.php?tab=testimoni";
1809  const TS_SINGLE_DEEPLINK = null;
1810
1811  function closeShareMenus(exceptWrap){
1812    document.querySelectorAll('.ts-share-wrap.open').forEach(wrap=>{
1813      if (wrap !== exceptWrap) {
1814        wrap.classList.remove('open');
1815        const btn = wrap.querySelector('.ts-share-toggle');
1816        if (btn) btn.setAttribute('aria-expanded','false');
1817      }
1818    });
1819  }
1820
1821  document.addEventListener('click', function(e){
1822    const toggle = e.target.closest('.ts-share-toggle');
1823    if (toggle) {
1824      e.preventDefault();
1825      e.stopPropagation();
1826      const wrap = toggle.closest('.ts-share-wrap');
1827      if (!wrap) return;
1828      const willOpen = !wrap.classList.contains('open');
1829      closeShareMenus(wrap);
1830      wrap.classList.toggle('open', willOpen);
1831      toggle.setAttribute('aria-expanded', willOpen ? 'true' : 'false');
1832      return;
1833    }
1834    if (!e.target.closest('.ts-share-menu')) closeShareMenus(null);
1835  });
1836
1837  document.querySelectorAll('.ts-card-copy').forEach(btn=>{
1838    btn.addEventListener('click', function(e){
1839      e.preventDefault();
1840      e.stopPropagation();
1841      closeShareMenus(null);
1842      fallbackCopy((this.dataset.copyText || '') + '\n\n' + (this.dataset.copyUrl || PAGE_URL_DEFAULT));
1843    });
1844  });
1845
1846  function show(){ modal.style.display='flex'; }
1847  function hide(){ closeShareMenus(null); modal.style.display='none'; }
1848
1849  function cleanOptionalText(value){
1850    value = (value || '').toString().replace(/\s+/g, ' ').trim();
1851    return (value === '-' || value === '–' || value === '—') ? '' : value;
1852  }
1853
1854  function setPhoto(url){
1855    // bersihkan elemen img sebelumnya kalau ada
1856    photoBox.querySelectorAll('img').forEach(i=>i.remove());
1857    if (url && url.length > 0) {
1858      const img = document.createElement('img');
1859      img.src = url;
1860      img.alt = 'Foto testimoni';
1861      img.loading = 'lazy';
1862      img.addEventListener('error', ()=>{ img.remove(); if(fallback) fallback.style.display='grid'; });
1863      if (fallback) fallback.style.display='none';
1864      photoBox.appendChild(img);
1865    } else {
1866      if (fallback) fallback.style.display='grid';
1867    }
1868  }
1869
1870  function openDetail(data){
1871    data = data || {};
1872    const nama = data.nama || '';
1873    const thn  = data.thn || '';
1874    const prodi= data.prodi || '';
1875    const kerja= data.kerja || '';
1876    const isi  = data.isi || '';
1877    const tgl  = data.tgl || '';
1878    const foto = data.foto || '';
1879    const shareTxt = data.share || (nama+' — '+isi);
1880    // Gunakan deep-link URL per testimoni (sehingga pratinjau OG menampilkan foto alumni terkait)
1881    const shareUrl = data.shareUrl || data.shareurl || PAGE_URL_DEFAULT;
1882
1883    elName.textContent = nama + (thn ? '  •  Lulusan ' + thn : '');
1884    elProdi.innerHTML  = prodi ? '<i class="bi bi-mortarboard-fill"></i> ' + escapeHtml(prodi) : '';
1885    const kerjaBersih = cleanOptionalText(kerja);
1886    elJob.innerHTML    = kerjaBersih ? '<i class="bi bi-briefcase-fill"></i> ' + escapeHtml(kerjaBersih) : '';
1887    if (elJob) elJob.style.display = kerjaBersih ? '' : 'none';
1888    elTime.innerHTML   = tgl   ? '<i class="bi bi-clock"></i> ' + escapeHtml(tgl) : '';
1889    elQuote.textContent = isi || '—';
1890    setPhoto(foto);
1891
1892    // Bangun URL share berdasarkan deep-link per testimoni
1893    const u = encodeURIComponent(shareUrl);
1894    const t = encodeURIComponent(shareTxt);
1895    aWA.href = 'https://wa.me/?text=' + t + '%0A%0A' + u;
1896    aFB.href = 'https://www.facebook.com/sharer/sharer.php?u=' + u + '&quote=' + t;
1897    aTW.href = 'https://twitter.com/intent/tweet?text=' + t + '&url=' + u;
1898    aTG.href = 'https://t.me/share/url?url=' + u + '&text=' + t;
1899    aLI.href = 'https://www.linkedin.com/sharing/share-offsite/?url=' + u;
1900
1901    // Copy link button
1902    btnCopy.onclick = function(){
1903      const txt = shareTxt + '\n\n' + shareUrl;
1904      if (navigator.clipboard && navigator.clipboard.writeText) {
1905        navigator.clipboard.writeText(txt).then(()=>{
1906          if (typeof Swal !== 'undefined') {
1907            Swal.fire({icon:'success',title:'Tersalin',text:'Tautan testimoni telah disalin ke papan klip.',timer:1800,showConfirmButton:false,background:'#111827',color:'#f9fafb'});
1908          }
1909        }).catch(()=>fallbackCopy(txt));
1910      } else {
1911        fallbackCopy(txt);
1912      }
1913    };
1914
1915    closeShareMenus(null);
1916    show();
1917  }
1918
1919  document.querySelectorAll('.ts-pub-readmore').forEach(btn=>{
1920    btn.addEventListener('click', function(){
1921      openDetail(this.dataset);
1922    });
1923  });
1924
1925  function fallbackCopy(txt){
1926    try {
1927      const ta = document.createElement('textarea');
1928      ta.value = txt; ta.setAttribute('readonly',''); ta.style.position='absolute'; ta.style.left='-9999px';
1929      document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta);
1930      if (typeof Swal !== 'undefined') {
1931        Swal.fire({icon:'success',title:'Tersalin',text:'Tautan testimoni telah disalin.',timer:1800,showConfirmButton:false,background:'#111827',color:'#f9fafb'});
1932      }
1933    } catch(e){}
1934  }
1935
1936  function escapeHtml(s){
1937    return String(s).replace(/[&<>"']/g, c => ({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]));
1938  }
1939
1940  if (btnClose) btnClose.addEventListener('click', hide);
1941  modal.addEventListener('click', e => { if (e.target === modal) hide(); });
1942  document.addEventListener('keydown', e => { if (e.key==='Escape') hide(); });
1943
1944  // Auto-open modal jika URL berisi ?id=NN (deep-link dari share di media sosial).
1945  // Jika kartu testimoni ada di halaman pagination lain, data server-side TS_SINGLE_DEEPLINK tetap dipakai.
1946  (function autoOpenFromQuery(){
1947    try {
1948      const params = new URLSearchParams(window.location.search);
1949      const idQ = parseInt(params.get('id') || '0', 10);
1950      if (!idQ) return;
1951      const target = document.querySelector('.ts-pub-readmore[data-id="'+idQ+'"]');
1952      if (target) {
1953        setTimeout(()=>target.click(), 200);
1954      } else if (TS_SINGLE_DEEPLINK && parseInt(TS_SINGLE_DEEPLINK.id || '0', 10) === idQ) {
1955        setTimeout(()=>openDetail(TS_SINGLE_DEEPLINK), 200);
1956      }
1957    } catch(e){}
1958  })();
1959})();
1960
1961</script>
1961
1962
1963<!-- ============ Google: Gunakan G-Mail + Login dengan Google (OAuth2 token client) ============ -->
1964<script nonce="TKt30ulyMV1YGn8hUagOAA">
1965(function(){
1966  const CLIENT_ID = "805384160298-vk3oig8bgnah8sm5gppfv0fgild7vl2r.apps.googleusercontent.com";
1967  const csrfToken = "668f05bcfbf5dd0755dd59b077111c626ec92c1219e9e3670389ef419d8e6508";
1968
1969  function notify(icon, title, text){
1970    if(typeof Swal !== 'undefined'){
1971      Swal.fire({icon:icon,title:title,text:text,background:'#111827',color:'#f9fafb',confirmButtonColor:'#e53935'});
1972    }else{
1973      alert(title + '\n' + text);
1974    }
1975  }
1976
1977  function waitGoogle(cb){
1978    let tries = 0;
1979    const tick = function(){
1980      if(window.google && google.accounts && google.accounts.oauth2){ cb(true); return; }
1981      if(tries++ < 40){ setTimeout(tick, 250); return; }
1982      cb(false);
1983    };
1984    tick();
1985  }
1986
1987  function setBtnText(btn, text){
1988    const t = btn ? btn.querySelector('.gbtn-txt') : null;
1989    if(t) t.textContent = text;
1990  }
1991
1992  function setStatus(box, msg, ok){
1993    if(!box) return;
1994    box.className = 'gmail-status ' + (ok ? 'ok' : 'warn');
1995    box.innerHTML = msg;
1996    box.hidden = false;
1997  }
1998
1999  function clearStatus(box){
2000    if(!box) return;
2001    box.innerHTML = '';
2002    box.hidden = true;
2003    box.className = 'gmail-status';
2004  }
2005
2006  function bindGoogleEmailButton(cfg){
2007    const btn = document.getElementById(cfg.buttonId);
2008    const input = document.getElementById(cfg.inputId);
2009    const status = document.getElementById(cfg.statusId);
2010    if(!btn || !input) return;
2011
2012    input.value = '';
2013    input.readOnly = true;
2014    input.setAttribute('aria-hidden','true');
2015    input.setAttribute('tabindex','-1');
2016    input.setAttribute('data-google-only','1');
2017
2018    const normalText = 'Gunakan G-Mail';
2019    const busyText = 'Menghubungkan G-Mail…';
2020
2021    if(!CLIENT_ID){
2022      btn.disabled = true;
2023      setStatus(status, '<i class="bi bi-exclamation-triangle me-1"></i>Konfigurasi Google belum tersedia. Hubungi Admin U-Gate.', false);
2024      return;
2025    }
2026
2027    waitGoogle(function(ok){
2028      if(!ok){
2029        btn.disabled = true;
2030        setStatus(status, '<i class="bi bi-exclamation-triangle me-1"></i>Layanan Google gagal dimuat. Refresh halaman lalu coba lagi.', false);
2031        return;
2032      }
2033
2034      let tokenClient = null;
2035      try{
2036        tokenClient = google.accounts.oauth2.initTokenClient({
2037          client_id: CLIENT_ID,
2038          scope: 'openid email profile',
2039          callback: function(resp){
2040            if(!resp || resp.error || !resp.access_token){
2041              btn.disabled = false;
2042              setBtnText(btn, normalText);
2043              input.value = '';
2044              setStatus(status, '<i class="bi bi-exclamation-circle me-1"></i>Proses G-Mail dibatalkan atau gagal.', false);
2045              return;
2046            }
2047
2048            const fd = new FormData();
2049            fd.append('action', 'alumni_google_email');
2050            fd.append('csrf_token', csrfToken);
2051            fd.append('context', cfg.context);
2052            fd.append('google_access_token', resp.access_token);
2053
2054            fetch(location.href, {method:'POST', body:fd, headers:{'X-Requested-With':'XMLHttpRequest'}})
2055              .then(r => r.json())
2056              .then(res => {
2057                btn.disabled = false;
2058                setBtnText(btn, normalText);
2059                if(res && res.ok && res.email){
2060                  input.value = res.email;
2061                  setStatus(status, '<i class="bi bi-check-circle me-1"></i>G-Mail terverifikasi: <strong>' + String(res.email).replace(/[&<>"']/g, c => ({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c])) + '</strong>', true);
2062                }else{
2063                  input.value = '';
2064                  setStatus(status, '<i class="bi bi-exclamation-circle me-1"></i>' + (res && res.msg ? res.msg : 'G-Mail gagal diverifikasi.'), false);
2065                }
2066              })
2067              .catch(() => {
2068                btn.disabled = false;
2069                setBtnText(btn, normalText);
2070                input.value = '';
2071                setStatus(status, '<i class="bi bi-exclamation-circle me-1"></i>Koneksi verifikasi G-Mail gagal.', false);
2072              });
2073          },
2074          error_callback: function(){
2075            btn.disabled = false;
2076            setBtnText(btn, normalText);
2077            input.value = '';
2078            setStatus(status, '<i class="bi bi-exclamation-circle me-1"></i>Proses G-Mail dibatalkan atau gagal.', false);
2079          }
2080        });
2081      }catch(e){
2082        btn.disabled = true;
2083        setStatus(status, '<i class="bi bi-exclamation-triangle me-1"></i>Konfigurasi Google Sign-In tidak valid.', false);
2084        return;
2085      }
2086
2087      btn.addEventListener('click', function(){
2088        if(btn.disabled || !tokenClient) return;
2089        input.value = '';
2090        clearStatus(status);
2091        btn.disabled = true;
2092        setBtnText(btn, busyText);
2093        setStatus(status, '<i class="bi bi-google me-1"></i>Silakan pilih akun G-Mail.', true);
2094        try{
2095          tokenClient.requestAccessToken({prompt:'select_account'});
2096          setTimeout(function(){
2097            if(btn.disabled){
2098              btn.disabled = false;
2099              setBtnText(btn, normalText);
2100            }
2101          }, 60000);
2102        }catch(e){
2103          btn.disabled = false;
2104          setBtnText(btn, normalText);
2105          input.value = '';
2106          setStatus(status, '<i class="bi bi-exclamation-circle me-1"></i>Gagal membuka layanan G-Mail. Pastikan popup tidak diblokir browser.', false);
2107        }
2108      });
2109    });
2110  }
2111
2112  function bindDirectGoogleLogin(){
2113    const btn       = document.getElementById('gsiCustomBtn');
2114    const tokInput  = document.getElementById('googleAccessTokenInput');
2115    const loginForm = document.getElementById('googleLoginForm');
2116    if(!btn || !tokInput || !loginForm) return;
2117
2118    const defTxt = (btn.querySelector('.gbtn-txt') || {}).textContent || 'Login dengan Google';
2119    function disableBtn(reason){
2120      btn.disabled = true;
2121      setBtnText(btn, 'Login Google tidak tersedia');
2122      btn.title = reason || 'Login dengan Google belum dikonfigurasi. Silakan hubungi admin.';
2123    }
2124    function setBusy(busy){
2125      btn.disabled = !!busy;
2126      setBtnText(btn, busy ? 'Menghubungkan…' : defTxt);
2127    }
2128
2129    if(!CLIENT_ID){ disableBtn('Login dengan Google belum dikonfigurasi. Silakan hubungi admin.'); return; }
2130
2131    waitGoogle(function(ok){
2132      if(!ok){ disableBtn('Gagal memuat layanan Google. Periksa koneksi internet lalu muat ulang halaman.'); return; }
2133      let tokenClient = null;
2134      try{
2135        tokenClient = google.accounts.oauth2.initTokenClient({
2136          client_id: CLIENT_ID,
2137          scope: 'openid email profile',
2138          callback: function(resp){
2139            if(!resp || !resp.access_token){
2140              setBusy(false);
2141              if(resp && resp.error && resp.error !== 'popup_closed_by_user' && resp.error !== 'access_denied'){
2142                notify('error','Login Google Gagal','Tidak memperoleh izin dari akun Google. Silakan coba lagi.');
2143              }
2144              return;
2145            }
2146            tokInput.value = resp.access_token;
2147            loginForm.submit();
2148          },
2149          error_callback: function(){ setBusy(false); }
2150        });
2151      }catch(e){
2152        disableBtn('Konfigurasi Google Sign-In tidak valid. Silakan hubungi admin.');
2153        return;
2154      }
2155
2156      btn.addEventListener('click', function(){
2157        if(btn.disabled) return;
2158        if(!tokenClient){
2159          notify('warning','Sedang Memuat','Layanan Google sedang dimuat. Mohon coba lagi sebentar.');
2160          return;
2161        }
2162        setBusy(true);
2163        try{
2164          tokenClient.requestAccessToken({prompt:'select_account'});
2165          setTimeout(function(){ if(btn.disabled) setBusy(false); }, 60000);
2166        }catch(e){
2167          setBusy(false);
2168          notify('error','Login Google Gagal','Tidak dapat membuka jendela Google. Pastikan popup tidak diblokir oleh browser.');
2169        }
2170      });
2171    });
2172  }
2173
2174  function init(){
2175    bindGoogleEmailButton({buttonId:'btnLoginGoogleEmail', inputId:'login_email', statusId:'loginGoogleEmailStatus', context:'login'});
2176    bindGoogleEmailButton({buttonId:'btnRegisterGoogleEmail', inputId:'email', statusId:'registerGoogleEmailStatus', context:'register'});
2177    bindGoogleEmailButton({buttonId:'btnResetGoogleEmail', inputId:'reset_email', statusId:'resetGoogleEmailStatus', context:'reset'});
2178    bindGoogleEmailButton({buttonId:'btnDukunganGoogleEmail', inputId:'dukungan_email', statusId:'dukunganGoogleEmailStatus', context:'dukungan'});
2179    bindDirectGoogleLogin();
2180  }
2181
2182  if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);
2183  else init();
2184})();
2185</script>
2185
2186
2187<!-- JSON-LD: Organization / CollegeOrUniversity -->
2188<script type="application/ld+json" nonce="TKt30ulyMV1YGn8hUagOAA">{"@context":"https://schema.org","@type":"CollegeOrUniversity","name":"Universitas Uyelindo","url":"https://www.uyelindo.ac.id","logo":"https://www.uyelindogroup.org/mimin/pages/logo/logoptbesar_1.png","address":"Jl. Perintis Kemerdekaan 1, Kel. Kayu Putih, Kota Kupang, Prov. NTT, Indonesia","telephone":"082146408172","email":"[email protected]","sameAs":[]}</script>
2188
2189
2190
2191<script type="application/ld+json" nonce="TKt30ulyMV1YGn8hUagOAA">{"@context":"https://schema.org","@type":"ItemList","name":"Testimoni Alumni Universitas Uyelindo","itemListElement":[{"@type":"ListItem","position":1,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=125","item":{"@type":"Review","name":"Testimoni DOMINGOS SOARES MARTINS","author":{"@type":"Person","name":"DOMINGOS SOARES MARTINS"},"reviewBody":"Pengalaman kuliah selama 4 tahun di Teknik Informatika Universitas Uyelindo Kupang (yang saat saya masuk masih bernama STIKOM Uyelindo) memberi fondasi yang sangat kuat bagi karier saya. Pembelajaran di kampus ini benar-benar aplikatif, terutama pada mata kuliah pemrograman yang dibawakan dengan sangat baik hingga memicu minat besar saya di dunia teknologi. Ilmu yang saya dapatkan bukan sekadar teori akademis untuk meraih predikat memuaskan saat lulus, melainkan keterampilan nyata yang langsung saya gunakan dan kembangkan saat bekerja sebagai freelancer web developer berbasis Laravel, hingga akhirnya kini mengabdi sebagai seorang ASN.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_158_125_20260807_125409_6ad058c7.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=125"}},{"@type":"ListItem","position":2,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=124","item":{"@type":"Review","name":"Testimoni Vincentia Ade Hayon, S.Kom","author":{"@type":"Person","name":"Vincentia Ade Hayon, S.Kom"},"reviewBody":"Bekal pendidikan di STIKOM Uyelindo Kupang memberikan fondasi berpikir analitis dan penguasaan teknologi yang krusial dalam mendukung tugas saya sebagai ASN di Dinas Pekerjaan Umum dan Perumahan Rakyat (PUPR), di mana pembelajaran berbasis praktik dan iklim akademik yang adaptif membentuk saya menjadi pribadi yang sigap serta inovatif. Di era transformasi digital saat ini, keterampilan pengelolaan data, sistem informasi, dan digitalisasi pelayanan publik yang saya dapatkan di kampus menjadi kunci efisiensi kerja untuk menjawab tantangan Sistem Pemerintahan Berbasis Elektronik (SPBE), sekaligus menjadikan STIKOM Uyelindo sebagai batu loncatan penting dalam karier dan pengabdian saya untuk pembangunan daerah.\"","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_255_124_20260802_144630_249278f5.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=124"}},{"@type":"ListItem","position":3,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=123","item":{"@type":"Review","name":"Testimoni Erwin Saefatu","author":{"@type":"Person","name":"Erwin Saefatu"},"reviewBody":"Saya merupakan alumni Universitas Uyelindo, lulusan Program Studi Teknik Informatika Diploma Tiga (D3). Pendidikan yang saya tempuh tidak hanya memberikan pemahaman tentang teknologi informasi, tetapi juga membentuk pola pikir yang analitis, sistematis, dan mampu beradaptasi dengan perkembangan teknologi yang terus berubah. Bekal tersebut menjadi salah satu fondasi penting dalam perjalanan karier dan dunia usaha yang saya jalani saat ini. Setelah menyelesaikan pendidikan, saya memilih untuk berkarier sebagai pengusaha di bidang percetakan. Dunia percetakan merupakan industri yang terus berkembang seiring kemajuan teknologi digital, sehingga membutuhkan kreativitas, ketelitian, kemampuan manajerial, serta pemanfaatan teknologi untuk meningkatkan kualitas layanan dan efisiensi operasional. Melalui usaha percetakan yang saya jalankan, saya melayani berbagai kebutuhan cetak, seperti kartu nama, brosur, banner, spanduk, stiker, undangan, buku, nota, hingga berbagai media promosi dan kebutuhan percetakan lainnya. Saya selalu berkomitmen untuk menghasilkan produk yang berkualitas, memberikan pelayanan yang profesional, serta menyelesaikan setiap pekerjaan secara tepat waktu agar dapat membangun kepercayaan dan kepuasan pelanggan. Latar belakang pendidikan di bidang Teknik Informatika juga memberikan nilai tambah dalam mengembangkan bisnis.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_254_123_20260802_122755_4ba51a5c.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=123"}},{"@type":"ListItem","position":4,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=122","item":{"@type":"Review","name":"Testimoni Paulus Aprilianus Sole","author":{"@type":"Person","name":"Paulus Aprilianus Sole"},"reviewBody":"Kuliah di Universitas Uyelindo sangat asyik dan menyenangkan, banyak ilmu yang saya dapat pakai di dunia kerja saya","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_253_122_20260802_113333_18eaec41.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=122"}},{"@type":"ListItem","position":5,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=121","item":{"@type":"Review","name":"Testimoni BRILI ANTHONNY ATAKAY, S.KOM","author":{"@type":"Person","name":"BRILI ANTHONNY ATAKAY, S.KOM"},"reviewBody":"Saya Alumni Sistem Informasi STIKOM Uyelindo Kupang, Angkatan 2022 Lulus Tahun 2024. Dari Kampus STIKOM UY
2191ELINDO Kupang, saya belajar bahwa IT bukan cuma soal teori, tapi solusi. Ilmu yang diajarkan benar-benar presisi dengan kebutuhan dunia kerja saat ini. Sebagai PNS di era modern, kemampuan teknologi yang saya asah selama kuliah sangat menunjang efisiensi kerja sehari-hari. Bangga pernah berproses di kampus IT nomor satu di NTT","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_213_121_20260725_135507_59cb3386.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=121"}},{"@type":"ListItem","position":6,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=120","item":{"@type":"Review","name":"Testimoni Nelson Adriano da Costa Fonseca","author":{"@type":"Person","name":"Nelson Adriano da Costa Fonseca"},"reviewBody":"Dulu waktu kuliah saya juga kadang masih malas dan belum terlalu memikirkan masa depan. Tapi setelah lulus, saya mulai sadar bahwa saya harus terus berusaha dan mencari kesempatan untuk berkembang. Masih muda, jangan malas:)","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_251_120_20260725_135322_ed3622ae.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=120"}},{"@type":"ListItem","position":7,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=119","item":{"@type":"Review","name":"Testimoni KALEB DARWIN NOMAN, S.KOM.","author":{"@type":"Person","name":"KALEB DARWIN NOMAN, S.KOM."},"reviewBody":"Saya alumni STIKOM Uyelindo Kupang lulusan 2024. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan menjadi bekal yang sangat berharga bagi saya dalam dunia kerja. Terima kasih STIKOM Uyelindo Kupang atas pendidikan dan dukungan yang telah membantu saya berkembang dan siap menghadapi tantangan kedepan. Saya bangga menjadi bagian dari alumni STIKOM Uyelindo Kupang.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_247_119_20260617_221047_7284a7a0.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=119"}},{"@type":"ListItem","position":8,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=118","item":{"@type":"Review","name":"Testimoni KRISTINA ODILIA TUGA SETU","author":{"@type":"Person","name":"KRISTINA ODILIA TUGA SETU"},"reviewBody":"Menjadi bagian dari STIKOM Uyelindo Kupang, khususnya Program Studi Sistem Informasi Angkatan 2014, merupakan pengalaman yang sangat berharga dalam perjalanan hidup saya. Kampus ini tidak hanya membekali saya dengan pengetahuan dan keterampilan di bidang teknologi informasi, tetapi juga membentuk karakter, etika kerja, serta kemampuan berpikir kritis dalam menghadapi berbagai tantangan di dunia profesional. Melalui bimbingan dosen yang kompeten, lingkungan akademik yang kondusif, dan berbagai pengalaman organisasi maupun praktik lapangan, saya memperoleh bekal yang kuat untuk bersaing dan berkontribusi di dunia kerja. Ilmu yang saya dapatkan selama kuliah terus menjadi fondasi dalam menjalankan pekerjaan dan mengembangkan diri hingga saat ini. Saya bangga menjadi alumni STIKOM Uyelindo Kupang. Semoga kampus ini terus berkembang, melahirkan generasi yang inovatif, berintegritas, dan mampu memberikan solusi bagi perkembangan teknologi serta kemajuan masyarakat.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_245_118_20260615_172333_44c84469.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=118"}},{"@type":"ListItem","position":9,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=117","item":{"@type":"Review","name":"Testimoni Ricky Imanuel Ndaumanu","author":{"@type":"Person","name":"Ricky Imanuel Ndaumanu"},"reviewBody":"Saya Merupakan alumni STIKOM UYELINDO Kupang yang lulus Pada Tahun 2012, Sekarang Bekerja di Universitas Widya Dharma Pontianak sebagai dosen SEJAK 2015 - Sekarang. STIKOM UYELINDO KUPANG ini memang berorientasi pada pengembangan kompetensi IT, seperti informatika, sistem informasi, dan teknologi digital yang relevan dengan kebutuhan industri saat ini. Dimana kampus ini memiliki banyak keunggulan : Kurikulum yang mengikuti perkembangan teknologi, hubungan dengan dunia kerja, fasilitas dan sistem digital kampus, kontribusi kepada masyarakat, dan salah 1 kampus terbaik di NTT.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_243_117_20260613_122305_3852ff67.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=117"}},{"@type":"ListItem","position":10,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=116","item":{"@type":"Review","name":"Testimoni Dominika Saka Tapun","author":{"@type":"Person","name":"Dominika Saka Tapun"},"reviewBody":"Saya alumni STIKOM Uyelindo Kupang lulusan 2020 dan saat ini bekerja sebagai Guru Informatika di SMP St. Don Bosco Lewoleba. Ilmu, pengalaman, serta bimbingan dari dosen-dosen yang kompeten selama masa perkuliahan menjadi bek
2191al yang sangat berharga dalam dunia kerja. Terima kasih STIKOM Uyelindo Kupang atas pendidikan dan dukungan yang telah membantu saya berkembang dan siap menghadapi tantangan profesional. Saya bangga menjadi bagian dari alumni STIKOM Uyelindo Kupang.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_242_116_20260612_223558_8f63c1f4.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=116"}},{"@type":"ListItem","position":11,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=115","item":{"@type":"Review","name":"Testimoni Yulianse Susanti Megawati Lamma Gadja","author":{"@type":"Person","name":"Yulianse Susanti Megawati Lamma Gadja"},"reviewBody":"Saya sangat bersyukur bisa menjadi bagian dari alumni STIKOM Uyelindo Kupang karena dari kampus tersebut saya belajar banyak ilmu yang dapat membantu saya dalam pekerjaan saya sekarang seperti membuat website perpustakaan, dan lain-lain.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_241_115_20260612_221124_e40c3d06.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=115"}},{"@type":"ListItem","position":12,"url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=114","item":{"@type":"Review","name":"Testimoni Adeltrida Yuliana Bere","author":{"@type":"Person","name":"Adeltrida Yuliana Bere"},"reviewBody":"Saya bersyukur bisa kuliah di STIKOM UYELINDO KUPANG karena telah memberikan bekal untuk saya dan dan sangat bermanfaat untuk sy dalam pekerjaan saya saat ini.","image":"https://www.uyelindogroup.org/mimin/pages/dokumen_testimoni/tst_236_114_20260612_190101_ec5cdd64.jpg","url":"https://uyelindo.ac.id/alumni.php?tab=testimoni&id=114"}}]}</script>
2191
2192</body>
2193</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.