Compare commits
78 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d514efc10 | |||
| 81a260c4ed | |||
| 0dd0ff488a | |||
| 0fea8bddb1 | |||
| e1086f0223 | |||
| 709e455b51 | |||
| 86de53de2a | |||
| ff223ea289 | |||
| 034c958909 | |||
| c87e4eba3d | |||
| 0cd144673c | |||
| af8a3f6a98 | |||
| 54a317d147 | |||
| 00611a921b | |||
| 7958934e45 | |||
| c7d855f822 | |||
| d772f4573b | |||
| 3d2f0b23ad | |||
| e18641ff52 | |||
| f5dfb68bcc | |||
| 52f6588316 | |||
| 1dcf227bcb | |||
| 3cc65cf437 | |||
| 02dd1141d3 | |||
| f65e64effc | |||
| 6f87030147 | |||
| 09b287357f | |||
| b3adc54221 | |||
| e074940509 | |||
| 8e02c85c19 | |||
| 3830c1beeb | |||
| c894f91f7d | |||
| 24e1d6ec17 | |||
| add634b89b | |||
| 7cf590eee5 | |||
| 1a90411509 | |||
| 9755149741 | |||
| 35f20b86f7 | |||
| afe51be562 | |||
| 5c50801bd5 | |||
| 561251efe5 | |||
| 7775e3f17d | |||
| d8c33d7a3d | |||
| df63f211ec | |||
| 946497214b | |||
| 8d7e212e5b | |||
| 06fcc936e5 | |||
| 7957e6d50f | |||
| 8b6364c53a | |||
| 6a46baad86 | |||
| b5bc7bad0c | |||
| 13fc797791 | |||
| ad70dbd2d5 | |||
| 1508c5f613 | |||
| af7d7ee75a | |||
| 11425353c1 | |||
| 8ba180e34b | |||
| 938e8284a2 | |||
| dd18ed24a2 | |||
| dd27ca2d54 | |||
| e5b9bfcf4b | |||
| 51f4c69ebb | |||
| f0d3070a5e | |||
| e5bd8d0653 | |||
| 693e41af0a | |||
| 00cc837fa1 | |||
| fc338e8473 | |||
| 125828a566 | |||
| 5186195930 | |||
| 783ac833f2 | |||
| 82a386e3bb | |||
| b6c9bbbefe | |||
| d52bd7f30d | |||
| 8718202321 | |||
| c103c837ea | |||
| 066f47dd48 | |||
| 0768a9c04a | |||
| 4853d1f7dd |
@@ -1,273 +0,0 @@
|
|||||||
# PROJECT CONTEXT
|
|
||||||
## Website Statis Halaman Beasiswa — Informatika UNTAN
|
|
||||||
|
|
||||||
> File ini adalah konteks utama proyek untuk AI assistant (Antigravity).
|
|
||||||
> Baca file ini setiap kali kamu membantu pengerjaan proyek ini.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Apa yang Dibangun?
|
|
||||||
|
|
||||||
**Single static landing page** berbasis HTML/CSS/JS murni (native web) untuk menampilkan informasi beasiswa bagi mahasiswa aktif, alumni, dan masyarakat umum Program Studi Informatika, Universitas Tanjungpura (UNTAN), Pontianak.
|
|
||||||
|
|
||||||
Website ini bukan aplikasi web dinamis. Tidak ada backend, tidak ada database, tidak ada login. Update konten dilakukan dengan mengedit file JSON dan push ke GitHub → auto-deploy via Puify ke server prodi.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🏗️ Tech Stack
|
|
||||||
|
|
||||||
| Layer | Teknologi |
|
|
||||||
|---|---|
|
|
||||||
| Markup | HTML5 |
|
|
||||||
| Styling | CSS3 + Tailwind CSS |
|
|
||||||
| Interaktivitas | Vanilla JavaScript (ES6+) |
|
|
||||||
| Font | Google Fonts (Inter / Poppins) |
|
|
||||||
| Ikon | Font Awesome |
|
|
||||||
| Animasi | AOS.js (Animate on Scroll) |
|
|
||||||
| Carousel | Swiper.js |
|
|
||||||
| Hosting | Dedicated Server Prodi UNTAN via Puify |
|
|
||||||
| Version Control | Git + GitHub |
|
|
||||||
|
|
||||||
**Tidak boleh menggunakan:** Framework berat (React, Vue, Angular), backend (Node.js, PHP, Python), database (MySQL, MongoDB).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📐 Desain
|
|
||||||
|
|
||||||
- **Figma Project:** https://www.figma.com/design/rG6JYG19CWziaPMhbJ2NPL/PPL-FIGMA?node-id=0-1
|
|
||||||
- **Prototype:** https://www.figma.com/proto/rG6JYG19CWziaPMhbJ2NPL/PPL-FIGMA?node-id=120-1247
|
|
||||||
|
|
||||||
### Warna Utama
|
|
||||||
|
|
||||||
| Variabel | Hex | Penggunaan |
|
|
||||||
|---|---|---|
|
|
||||||
| Primary (Biru) | `#2B4590` | Navbar, heading, tombol, border aktif |
|
|
||||||
| Secondary (Kuning) | `#F5A623` | CTA, aksen, badge |
|
|
||||||
| Background | `#FFFFFF` | Latar halaman |
|
|
||||||
| Text | `#1A1A1A` | Body text |
|
|
||||||
| Accent | `#6B7280` | Caption, label, border |
|
|
||||||
| Success | `#10B981` | Badge "Buka" |
|
|
||||||
| Danger | `#EF4444` | Badge "Ditutup" |
|
|
||||||
| Overlay | `#00000080` | Background popup |
|
|
||||||
|
|
||||||
### Tipografi
|
|
||||||
- **Font:** Inter (utama) / Poppins (heading)
|
|
||||||
- H1: 48–64px bold | H2: 32–40px semibold | H3: 24–28px semibold
|
|
||||||
- Body: 16–18px regular | Caption: 12–14px
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📄 Struktur Halaman (Top → Bottom)
|
|
||||||
|
|
||||||
```
|
|
||||||
[NAVBAR - Sticky]
|
|
||||||
Logo UNTAN | Menu: Beranda, Beasiswa, Testimoni, Kontak | Toggle ID/EN
|
|
||||||
|
|
||||||
[#hero - Hero Section]
|
|
||||||
Judul: "Beasiswa Studi & Penelitian"
|
|
||||||
Sub: Teknik Informatika Universitas Tanjungpura
|
|
||||||
Deskripsi singkat tentang beasiswa
|
|
||||||
CTA Button (kuning): "Lihat Daftar Beasiswa →"
|
|
||||||
Foto ilustrasi mahasiswa (kanan)
|
|
||||||
|
|
||||||
[#statistics - Statistik Counter]
|
|
||||||
3 angka dengan animasi scroll:
|
|
||||||
- Total Mahasiswa Penerima Beasiswa Semester Ini
|
|
||||||
- Total Penerima Beasiswa Pembiayaan Pemerintah
|
|
||||||
- Total Penerima Beasiswa Pembiayaan Swasta
|
|
||||||
|
|
||||||
[#directory - Direktori Beasiswa]
|
|
||||||
- Tab filter: Semua | Sedang Buka | Ditutup | Pemerintah | Swasta
|
|
||||||
- Search bar (real-time)
|
|
||||||
- Grid kartu beasiswa:
|
|
||||||
* Desktop: 3 kolom
|
|
||||||
* Tablet: 2 kolom
|
|
||||||
* Mobile: 1 kolom
|
|
||||||
- Tiap kartu: thumbnail, badge status, nama, deskripsi singkat, tanggal, tombol "Selengkapnya →"
|
|
||||||
- Klik "Selengkapnya →" → buka POPUP MODAL
|
|
||||||
|
|
||||||
[POPUP MODAL - Detail Beasiswa]
|
|
||||||
- Nama + thumbnail/logo beasiswa
|
|
||||||
- Badge status (Buka / Ditutup)
|
|
||||||
- Syarat umum (ringkasan/bullet)
|
|
||||||
- Kontak yang bisa dihubungi
|
|
||||||
- Tombol "Info Lebih Lanjut" → buka URL sumber resmi (tab baru)
|
|
||||||
- Tutup: tombol ×, klik luar area, tekan Escape
|
|
||||||
|
|
||||||
[#testimonial - Testimoni Penerima Beasiswa]
|
|
||||||
- Carousel / grid kartu
|
|
||||||
- Tiap kartu: foto, nama, nama beasiswa yang diterima, kutipan singkat
|
|
||||||
- Navigasi carousel jika > 3 testimoni
|
|
||||||
|
|
||||||
[#cta - Call to Action]
|
|
||||||
- Judul: "Ingin Mengetahui Info Lebih Lanjut?"
|
|
||||||
- Dua tombol:
|
|
||||||
* "Daftar Beasiswa" (scroll ke #directory)
|
|
||||||
* "Hubungi Kami" (WhatsApp admin)
|
|
||||||
|
|
||||||
[#footer - Footer]
|
|
||||||
- Logo Informatika UNTAN
|
|
||||||
- Alamat prodi, email, telepon, WhatsApp
|
|
||||||
- Ikon media sosial
|
|
||||||
- Ilustrasi khas Pontianak (dekorasi bawah)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📁 Struktur File Proyek
|
|
||||||
|
|
||||||
```
|
|
||||||
project-root/
|
|
||||||
├── index.html
|
|
||||||
├── assets/
|
|
||||||
│ ├── css/
|
|
||||||
│ │ └── style.css
|
|
||||||
│ ├── js/
|
|
||||||
│ │ ├── main.js # Init AOS, smooth scroll, sticky navbar
|
|
||||||
│ │ ├── filter.js # Filter tab + real-time search
|
|
||||||
│ │ ├── popup.js # Modal detail beasiswa
|
|
||||||
│ │ ├── counter.js # Animasi counter statistik
|
|
||||||
│ │ ├── carousel.js # Carousel testimoni (Swiper.js)
|
|
||||||
│ │ └── i18n.js # Toggle bahasa ID/EN
|
|
||||||
│ └── images/
|
|
||||||
│ ├── hero/
|
|
||||||
│ ├── beasiswa/ # Logo/thumbnail beasiswa
|
|
||||||
│ └── testimoni/ # Foto penerima
|
|
||||||
├── data/
|
|
||||||
│ ├── beasiswa.json
|
|
||||||
│ └── testimoni.json
|
|
||||||
└── README.md
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🗃️ Format Data
|
|
||||||
|
|
||||||
### `data/beasiswa.json`
|
|
||||||
```json
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"id": "bsw-001",
|
|
||||||
"nama": "Beasiswa Adaro Foundation 2026",
|
|
||||||
"kategori": "Swasta",
|
|
||||||
"status": "Ditutup",
|
|
||||||
"thumbnail": "assets/images/beasiswa/adaro.jpg",
|
|
||||||
"deskripsi_singkat": "Beasiswa untuk mahasiswa S1 & D4 dengan IPK minimal 3.00...",
|
|
||||||
"syarat_umum": [
|
|
||||||
"Mahasiswa aktif S1/D4",
|
|
||||||
"IPK minimal 3.00",
|
|
||||||
"Berasal dari keluarga kurang mampu"
|
|
||||||
],
|
|
||||||
"kontak": "Admin Prodi / Kemahasiswaan UNTAN",
|
|
||||||
"tanggal_buka": "2026-01-01",
|
|
||||||
"tanggal_tutup": "2026-04-09",
|
|
||||||
"url_sumber": "https://...",
|
|
||||||
"tags": ["S1", "Swasta"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
### `data/testimoni.json`
|
|
||||||
```json
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"id": "tsm-001",
|
|
||||||
"nama": "Aulia Rahman",
|
|
||||||
"foto": "assets/images/testimoni/aulia.jpg",
|
|
||||||
"nama_beasiswa": "Beasiswa Prestasi",
|
|
||||||
"kutipan": "Beasiswa ini benar-benar membuka jalan bagi saya untuk fokus sepenuhnya pada pendidikan..."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Fitur Interaktif yang Harus Diimplementasikan
|
|
||||||
|
|
||||||
| Fitur | Status | File |
|
|
||||||
|---|---|---|
|
|
||||||
| Sticky Navbar (transparent → solid saat scroll) | ⏳ | `main.js` |
|
|
||||||
| Hamburger Menu | ⏳ | `main.js` |
|
|
||||||
| Smooth Scroll ke seksi | ⏳ | `main.js` |
|
|
||||||
| Active State Navbar (IntersectionObserver) | ⏳ | `main.js` |
|
|
||||||
| Animasi AOS (elemen muncul saat scroll) | ⏳ | `main.js` |
|
|
||||||
| Counter Animasi Statistik | ⏳ | `counter.js` |
|
|
||||||
| Render kartu beasiswa dari JSON | ⏳ | `filter.js` |
|
|
||||||
| Filter tab (Semua/Buka/Ditutup/Pemerintah/Swasta) | ⏳ | `filter.js` |
|
|
||||||
| Real-time search | ⏳ | `filter.js` |
|
|
||||||
| Popup Modal detail beasiswa | ⏳ | `popup.js` |
|
|
||||||
| Tutup popup (×, klik luar, Escape) | ⏳ | `popup.js` |
|
|
||||||
| Carousel testimoni (Swiper.js) | ⏳ | `carousel.js` |
|
|
||||||
| Toggle bahasa ID/EN | ⏳ | `i18n.js` |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📱 Responsive Breakpoints
|
|
||||||
|
|
||||||
```css
|
|
||||||
/* Mobile first */
|
|
||||||
/* Default: mobile < 768px */
|
|
||||||
/* Tablet: */ @media (min-width: 768px) { ... }
|
|
||||||
/* Laptop: */ @media (min-width: 1024px) { ... }
|
|
||||||
/* Desktop: */ @media (min-width: 1280px) { ... }
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔒 Aturan Keamanan Kode
|
|
||||||
|
|
||||||
- Semua link eksternal: `target="_blank" rel="noopener noreferrer"`
|
|
||||||
- Tidak ada hardcoded data sensitif di source code
|
|
||||||
- Input search di-sanitasi sebelum digunakan untuk filter DOM
|
|
||||||
- Tidak menggunakan `innerHTML` dengan input pengguna langsung (cegah XSS)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 👥 Tim & Peran
|
|
||||||
|
|
||||||
| Nama | Peran |
|
|
||||||
|---|---|
|
|
||||||
| Djapianus Thebrianto | Project Manager |
|
|
||||||
| Derangga Aray Abimanyu | Backend Developer (data, scraping, JSON) |
|
|
||||||
| Destra Aulia Faza Ananda Putra | Frontend Developer (HTML, CSS, JS) |
|
|
||||||
| Dian Satrio Prayogo | UI/UX Designer (Figma) |
|
|
||||||
| Jonathan Geral Nababan | Quality Assurance (testing) |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Hal Penting untuk AI Assistant
|
|
||||||
|
|
||||||
1. **Ini bukan React/Vue/Angular.** Semua harus ditulis dalam HTML/CSS/Tailwind/Vanilla JS.
|
|
||||||
2. **Data beasiswa dibaca dari `data/beasiswa.json`** — bukan hardcoded di HTML.
|
|
||||||
3. **Warna wajib sesuai palet resmi** — jangan gunakan warna lain sembarangan.
|
|
||||||
4. **Mobile-first** — tulis CSS dari ukuran kecil dulu, baru ke besar.
|
|
||||||
5. **Popup harus bisa ditutup 3 cara:** tombol ×, klik overlay, tekan Escape.
|
|
||||||
6. **Filter dan search bisa aktif bersamaan** (kumulatif, bukan saling menggantikan).
|
|
||||||
7. **Navbar berubah warna saat scroll** — transparent di atas hero, solid biru setelah scroll turun.
|
|
||||||
8. **Semua animasi pakai AOS.js** — inisialisasi di `main.js` dengan `AOS.init()`.
|
|
||||||
9. **Carousel testimoni pakai Swiper.js** — touch-friendly untuk mobile.
|
|
||||||
10. **Tidak ada `alert()`, `console.log()` di production code.**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Cara Kerja Deployment
|
|
||||||
|
|
||||||
```
|
|
||||||
Developer push ke GitHub
|
|
||||||
↓
|
|
||||||
Puify detects push
|
|
||||||
↓
|
|
||||||
Auto-deploy ke server
|
|
||||||
↓
|
|
||||||
Website live (Dev)
|
|
||||||
↓
|
|
||||||
Approved → Production
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📎 Dokumen Terkait
|
|
||||||
|
|
||||||
- `SRS.md` — Spesifikasi kebutuhan lengkap (use case, NFR, batasan)
|
|
||||||
- `SDD.md` — Desain teknis lengkap (arsitektur, komponen, schema data)
|
|
||||||
- Figma: https://www.figma.com/design/rG6JYG19CWziaPMhbJ2NPL/PPL-FIGMA?node-id=0-1
|
|
||||||
@@ -1,329 +0,0 @@
|
|||||||
# Software Design Document (SDD)
|
|
||||||
## Website Statis Halaman Beasiswa — One-Page HTML
|
|
||||||
### Program Studi Informatika — Universitas Tanjungpura
|
|
||||||
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Nama Proyek | Pengembangan Website Statis Halaman Beasiswa |
|
|
||||||
| Kelompok | Ape Nama Team E |
|
|
||||||
| Versi | 1.0 |
|
|
||||||
| Fase SDLC | Design (aktif) |
|
|
||||||
| Dosen | Izuardo Zulkarnain, S.Pd., M.T |
|
|
||||||
| Semester | Genap 2025/2026 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. Pendahuluan
|
|
||||||
|
|
||||||
### 1.1 Tujuan Dokumen
|
|
||||||
SDD ini mendeskripsikan perancangan teknis website beasiswa Informatika UNTAN sebagai one-page HTML native. Dokumen ini menjadi panduan tim dalam mengimplementasikan:
|
|
||||||
- Fitur popup detail beasiswa
|
|
||||||
- Integrasi data hasil scraping & survei admin
|
|
||||||
- Otomatisasi deployment via Puify (push-to-deploy)
|
|
||||||
|
|
||||||
### 1.2 Stack Teknologi
|
|
||||||
|
|
||||||
| Layer | Teknologi | Keterangan |
|
|
||||||
|---|---|---|
|
|
||||||
| Markup | HTML5 | Struktur konten |
|
|
||||||
| Styling | CSS3 / Tailwind CSS | Layout responsif |
|
|
||||||
| Interaktivitas | JavaScript (Vanilla / Alpine.js) | Animasi, scroll, toggle |
|
|
||||||
| Font & Ikon | Google Fonts / Font Awesome | Tipografi & ikon |
|
|
||||||
| Hosting | Puify (SaaS) | Auto-deploy dari repo ke server |
|
|
||||||
| Server | Dedicated Server Prodi | Dev & Production |
|
|
||||||
| Version Control | Git + GitHub | Kolaborasi & push-to-deploy |
|
|
||||||
|
|
||||||
### 1.3 Posisi dalam SDLC
|
|
||||||
|
|
||||||
| Fase | Status |
|
|
||||||
|---|---|
|
|
||||||
| Requirement | ✅ Selesai |
|
|
||||||
| Design | 🔄 Aktif |
|
|
||||||
| Implementation | ⏳ Belum |
|
|
||||||
| Testing | ⏳ Belum |
|
|
||||||
| Deployment | ⏳ Belum |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Arsitektur Halaman (Site Architecture)
|
|
||||||
|
|
||||||
### 2.1 Konsep One-Page Website
|
|
||||||
Single-page statis — semua konten dalam satu file HTML utama. Navigasi menggunakan **smooth scroll**. Detail beasiswa (syarat umum) ditampilkan via **popup modal** agar halaman tetap bersih.
|
|
||||||
|
|
||||||
### 2.2 Struktur Seksi (Vertikal, Atas → Bawah)
|
|
||||||
|
|
||||||
| No | ID | Nama Seksi | Konten Utama |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 1 | `#hero` | Hero / Landing | Judul "Beasiswa Studi & Penelitian", deskripsi, CTA "Lihat Daftar Beasiswa", foto ilustrasi mahasiswa |
|
|
||||||
| 2 | `#statistics` | Statistik Counter | 3 angka animasi: Total Penerima Semester Ini, Total Pemerintah, Total Swasta |
|
|
||||||
| 3 | `#directory` | Direktori Beasiswa | Grid kartu (3 kolom desktop, 2 tablet, 1 mobile), tab filter, real-time search, popup detail |
|
|
||||||
| 4 | `#testimonial` | Testimoni | Carousel/grid testimoni: foto, nama, beasiswa, kutipan singkat |
|
|
||||||
| 5 | `#cta` | Call-to-Action | Banner ajakan + tombol WhatsApp admin + Instagram kemahasiswaan |
|
|
||||||
| 6 | `#footer` | Footer | Logo prodi, alamat, email, telepon, WA, ikon sosmed, dekorasi ilustrasi Pontianak |
|
|
||||||
|
|
||||||
### 2.3 Navigasi
|
|
||||||
**Sticky navbar** yang selalu terlihat saat scroll.
|
|
||||||
|
|
||||||
| Perangkat | Perilaku Navbar |
|
|
||||||
|---|---|
|
|
||||||
| Desktop/Laptop | Horizontal, semua item terlihat |
|
|
||||||
| Tablet | Horizontal, item muat; sisanya dropdown |
|
|
||||||
| Mobile | Hamburger menu (≡) — tap untuk expand vertikal |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Desain Visual & Identitas
|
|
||||||
|
|
||||||
### 3.1 Color Palette
|
|
||||||
|
|
||||||
| Peran | Nama | Hex | Digunakan Untuk |
|
|
||||||
|---|---|---|---|
|
|
||||||
| Primary | Biru Informatika | `#2B4590` | Navbar, heading, tombol primary, border aktif |
|
|
||||||
| Secondary | Kuning/Oranye | `#F5A623` | CTA button, aksen, badge |
|
|
||||||
| Background | White | `#FFFFFF` | Latar halaman utama |
|
|
||||||
| Text | Dark Gray | `#1A1A1A` | Body text, paragraf |
|
|
||||||
| Accent | Abu-abu | `#6B7280` | Caption, label, border |
|
|
||||||
| Success | Hijau | `#10B981` | Badge status "Buka" |
|
|
||||||
| Danger | Merah | `#EF4444` | Badge status "Ditutup" |
|
|
||||||
| Overlay | Hitam + Transparansi | `#00000080` | Background popup modal |
|
|
||||||
|
|
||||||
### 3.2 Tipografi
|
|
||||||
|
|
||||||
| Elemen | Font Family | Ukuran | Weight |
|
|
||||||
|---|---|---|---|
|
|
||||||
| Heading H1 | Poppins / Inter | 48–64px | 700 (Bold) |
|
|
||||||
| Heading H2 | Poppins / Inter | 32–40px | 600 (SemiBold) |
|
|
||||||
| Heading H3 | Poppins / Inter | 24–28px | 600 (SemiBold) |
|
|
||||||
| Body Text | Inter / Poppins | 16–18px | 400 (Regular) |
|
|
||||||
| Caption/Label | Inter / Poppins | 12–14px | 400–500 |
|
|
||||||
| Navbar | Inter | 14–16px | 500 (Medium) |
|
|
||||||
| Button | Inter | 14–16px | 600 (SemiBold) |
|
|
||||||
|
|
||||||
### 3.3 Komponen UI
|
|
||||||
|
|
||||||
| Komponen | Spesifikasi |
|
|
||||||
|---|---|
|
|
||||||
| Navbar | Sticky; transparent di atas hero → solid biru `#2B4590` saat scroll; toggle ID/EN di kanan |
|
|
||||||
| Hero Section | Full-height, overlay gradient gelap, judul besar, deskripsi, CTA kuning kontras |
|
|
||||||
| Card Beasiswa | Border subtle, shadow ringan; hover: scale sedikit + shadow lebih dalam; thumbnail 100% lebar |
|
|
||||||
| Button Primary | Solid biru, teks putih |
|
|
||||||
| Button Secondary | Outline biru |
|
|
||||||
| Button Ghost | Tanpa border |
|
|
||||||
| Badge Status | Rounded pill; Hijau "Buka", Merah "Ditutup" |
|
|
||||||
| Tab Filter | Underline active state, smooth transition, teks hitam, garis bawah aktif biru |
|
|
||||||
| Popup Modal | Center screen, dark overlay, border-radius 12px, close button (×) kanan atas |
|
|
||||||
| Footer | Background `#1A1A1A`, teks putih, 3–4 kolom desktop |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. Desain Mockup (UI/UX)
|
|
||||||
|
|
||||||
### 4.1 Alat Desain
|
|
||||||
**Figma** — kolaborasi realtime, wireframe + hi-fidelity prototype.
|
|
||||||
|
|
||||||
- **Figma Project:** https://www.figma.com/design/rG6JYG19CWziaPMhbJ2NPL/PPL-FIGMA?node-id=0-1
|
|
||||||
- **Prototype Interaktif:** https://www.figma.com/proto/rG6JYG19CWziaPMhbJ2NPL/PPL-FIGMA?node-id=120-1247
|
|
||||||
|
|
||||||
### 4.2 Tahapan Desain
|
|
||||||
1. **Wireframe (Lo-Fi)** — sketsa hitam-putih, fokus layout & posisi elemen
|
|
||||||
2. **Mockup (Hi-Fi)** — desain lengkap dengan warna, font, dan aset visual
|
|
||||||
3. **Prototype** — mockup yang bisa diklik untuk simulasi navigasi antar seksi
|
|
||||||
4. **User Testing** — validasi desain bersama calon pengguna
|
|
||||||
|
|
||||||
### 4.3 Breakpoint & Resolusi
|
|
||||||
|
|
||||||
| Perangkat | Resolusi Mockup |
|
|
||||||
|---|---|
|
|
||||||
| Desktop Monitor | 1920 × 1080 |
|
|
||||||
| Laptop | 1366 × 768 |
|
|
||||||
| Tablet Portrait | 768 × 1024 |
|
|
||||||
| Tablet Landscape | 1024 × 768 |
|
|
||||||
| Mobile / HP | 390 × 844 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Desain Responsif
|
|
||||||
|
|
||||||
### 5.1 Strategi: Mobile-First
|
|
||||||
Desain dimulai dari layar terkecil → diperluas ke layar lebih besar via CSS media query. Memastikan performa optimal di koneksi lambat.
|
|
||||||
|
|
||||||
### 5.2 Breakpoint
|
|
||||||
|
|
||||||
| Perangkat | Breakpoint | Resolusi Umum |
|
|
||||||
|---|---|---|
|
|
||||||
| Desktop Monitor | `>= 1280px` | 1920×1080, 2560×1440 |
|
|
||||||
| Laptop | `>= 1024px` | 1366×768, 1440×900 |
|
|
||||||
| Tablet | `>= 768px` | 768×1024, 820×1180 |
|
|
||||||
| Mobile | `< 768px` | 360×800, 390×844, 414×896 |
|
|
||||||
|
|
||||||
### 5.3 Perubahan Layout per Breakpoint
|
|
||||||
|
|
||||||
| Elemen | Mobile (<768px) | Tablet (768–1279px) | Desktop (≥1280px) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| Navbar | Hamburger menu | Hamburger / partial menu | Horizontal full menu |
|
|
||||||
| Hero Section | Teks atas, gambar bawah | Teks kiri, gambar kanan 50/50 | Teks kiri, gambar kanan lebar |
|
|
||||||
| Card Grid | 1 kolom | 2 kolom | 3–4 kolom |
|
|
||||||
| Teks Body | 16px | 16–17px | 17–18px |
|
|
||||||
| Padding Section | 24px 16px | 40px 32px | 80px 64px |
|
|
||||||
| Footer | Stack vertikal | 2 kolom | 3–4 kolom |
|
|
||||||
|
|
||||||
### 5.4 Hasil Uji Responsivitas
|
|
||||||
|
|
||||||
| No | Perangkat/Browser | Ukuran | Status | Catatan |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| 1 | Chrome Desktop | 1920×1080 | ✅ Lulus | Layout proporsional, spacing rapi |
|
|
||||||
| 2 | Chrome Mobile Sim. | 390×844 | ✅ Lulus | Card grid 1 kolom, teks 16px nyaman |
|
|
||||||
| 3 | Firefox Desktop | 1440×900 | ✅ Lulus | Konsisten dengan Chrome Desktop |
|
|
||||||
| 4 | iPhone (Safari) | 390×844 | ✅ Lulus | Hero stack sempurna, padding aman |
|
|
||||||
| 5 | Android Chrome | 360×800 | ✅ Lulus | Touch target ideal, gambar proporsional |
|
|
||||||
| 6 | iPad (Safari) | 768×1024 | ✅ Lulus | Hero 50/50, spasi sentuh lega |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. Use Case Diagram
|
|
||||||
|
|
||||||
### 6.1 Aktor Sistem
|
|
||||||
|
|
||||||
| Aktor | Deskripsi |
|
|
||||||
|---|---|
|
|
||||||
| Pengunjung Umum | Mahasiswa aktif, alumni, calon mahasiswa, dosen, masyarakat — tanpa autentikasi |
|
|
||||||
| Admin Prodi | Pengelola konten: memperbarui data beasiswa, testimoni, statistik via push-to-repo |
|
|
||||||
|
|
||||||
### 6.2 Daftar Use Case & Skenario
|
|
||||||
|
|
||||||
Lihat detail lengkap di SRS.md. Ringkasan:
|
|
||||||
|
|
||||||
| Kode | Nama | Aktor |
|
|
||||||
|---|---|---|
|
|
||||||
| UC-01 | Melihat Daftar Beasiswa | Pengunjung Umum |
|
|
||||||
| UC-02 | Memfilter Beasiswa Berdasarkan Kategori | Pengunjung Umum |
|
|
||||||
| UC-03 | Mencari Beasiswa | Pengunjung Umum |
|
|
||||||
| UC-04 | Melihat Detail Beasiswa (Popup) | Pengunjung Umum |
|
|
||||||
| UC-05 | Mengakses Sumber Resmi Beasiswa | Pengunjung Umum |
|
|
||||||
| UC-06 | Menghubungi Admin via CTA | Pengunjung Umum |
|
|
||||||
| UC-07 | Melihat Testimoni Penerima Beasiswa | Pengunjung Umum |
|
|
||||||
| UC-08 | Mengganti Bahasa Tampilan (ID/EN) | Pengunjung Umum |
|
|
||||||
| UC-09 | Memperbarui Data Beasiswa | Admin Prodi |
|
|
||||||
|
|
||||||
**Relasi antar UC:** UC-04 `<<include>>` UC-05 (popup detail menyertakan akses sumber resmi)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 7. Fitur Interaktif (Client-Side)
|
|
||||||
|
|
||||||
Tidak ada backend API. Semua interaktivitas dijalankan di sisi klien.
|
|
||||||
|
|
||||||
| No | Fitur | Teknologi | Keterangan |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 1 | Smooth Scroll Navigasi | CSS `scroll-behavior` / JS | Scroll halus ke seksi saat klik menu |
|
|
||||||
| 2 | Sticky Navbar | CSS `position:sticky` / JS scroll | Navbar tetap di atas saat scroll |
|
|
||||||
| 3 | Hamburger Menu | JavaScript + CSS toggle | Menu responsif layar kecil |
|
|
||||||
| 4 | Active State Navbar | JS `IntersectionObserver` | Highlight menu sesuai seksi terlihat |
|
|
||||||
| 5 | Animasi Masuk (AOS) | AOS.js / CSS animation | Elemen muncul saat pertama kali di viewport |
|
|
||||||
| 6 | Counter Animasi | JavaScript | Angka statistik berjalan saat di-scroll |
|
|
||||||
| 7 | Filter Real-Time | Vanilla JavaScript | Filter kartu saat klik tab, tanpa reload |
|
|
||||||
| 8 | Pencarian Real-Time | Vanilla JavaScript | Cari beasiswa saat ketik di search bar |
|
|
||||||
| 9 | Popup Modal Detail | Vanilla JavaScript | Detail beasiswa dalam modal; tutup via ×, klik luar, atau Escape |
|
|
||||||
| 10 | Toggle Bahasa ID/EN | Vanilla JS + localStorage | Ubah teks tanpa reload, simpan preference di session |
|
|
||||||
| 11 | Carousel Testimoni | Vanilla JS / Swiper.js | Navigasi testimoni left/right; touch swipe di mobile |
|
|
||||||
| 12 | Form Kontak (Opsional) | Formspree / EmailJS / mailto | Kirim pesan tanpa backend |
|
|
||||||
| 13 | Lightbox Galeri (Opsional) | Fancybox / vanilla JS | Gambar fullscreen saat diklik |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 8. Layanan Pihak Ketiga
|
|
||||||
|
|
||||||
| Layanan | Kegunaan | Gratis? |
|
|
||||||
|---|---|---|
|
|
||||||
| Google Fonts | Tipografi (Inter/Poppins) | ✅ Ya |
|
|
||||||
| Font Awesome | Ikon UI | ✅ Ya (tier dasar) |
|
|
||||||
| Google Maps Embed | Peta lokasi di seksi kontak | ✅ Ya (basic embed) |
|
|
||||||
| Formspree | Form kontak tanpa backend | ✅ Ya (tier dasar) |
|
|
||||||
| AOS.js | Animasi scroll (Animate on Scroll) | ✅ Ya (open source) |
|
|
||||||
| Swiper.js | Carousel testimoni | ✅ Ya (open source) |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 9. Desain Keamanan
|
|
||||||
|
|
||||||
### 9.1 Keamanan Form Kontak
|
|
||||||
- Validasi client-side: semua field wajib diisi, format email dicek sebelum submit
|
|
||||||
- Rate limiting: Formspree/EmailJS membatasi pengiriman untuk mencegah spam
|
|
||||||
- reCAPTCHA (Opsional): Google reCAPTCHA v3 untuk mencegah bot
|
|
||||||
|
|
||||||
### 9.2 Keamanan Konten
|
|
||||||
- **Tidak ada data sensitif** — website tidak menyimpan data pengguna (no login, no database)
|
|
||||||
- **HTTPS wajib** — sertifikat SSL/TLS pada server hosting prodi
|
|
||||||
- **Content Security Policy** — meta CSP header untuk mencegah XSS
|
|
||||||
- **External link** — semua link eksternal menggunakan `rel="noopener noreferrer"`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 10. Struktur File yang Direkomendasikan
|
|
||||||
|
|
||||||
```
|
|
||||||
project-root/
|
|
||||||
├── index.html # File HTML utama (one-page)
|
|
||||||
├── assets/
|
|
||||||
│ ├── css/
|
|
||||||
│ │ └── style.css # Custom CSS (jika tidak full Tailwind)
|
|
||||||
│ ├── js/
|
|
||||||
│ │ ├── main.js # Logika utama: scroll, navbar, AOS init
|
|
||||||
│ │ ├── filter.js # Filter & pencarian beasiswa
|
|
||||||
│ │ ├── popup.js # Modal popup detail beasiswa
|
|
||||||
│ │ ├── counter.js # Animasi counter statistik
|
|
||||||
│ │ ├── carousel.js # Carousel testimoni
|
|
||||||
│ │ └── i18n.js # Toggle bahasa ID/EN
|
|
||||||
│ └── images/
|
|
||||||
│ ├── hero/ # Foto hero section
|
|
||||||
│ ├── beasiswa/ # Thumbnail logo beasiswa
|
|
||||||
│ └── testimoni/ # Foto penerima beasiswa
|
|
||||||
├── data/
|
|
||||||
│ ├── beasiswa.json # Data beasiswa (diupdate oleh admin)
|
|
||||||
│ └── testimoni.json # Data testimoni
|
|
||||||
└── README.md # Panduan setup & deployment
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 11. Data Schema
|
|
||||||
|
|
||||||
### 11.1 Schema Beasiswa (`beasiswa.json`)
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"id": "string",
|
|
||||||
"nama": "string",
|
|
||||||
"kategori": "Pemerintah | Swasta",
|
|
||||||
"status": "Buka | Ditutup",
|
|
||||||
"thumbnail": "path/to/image.jpg",
|
|
||||||
"deskripsi_singkat": "string (max 150 char)",
|
|
||||||
"syarat_umum": ["string", "string"],
|
|
||||||
"kontak": "string",
|
|
||||||
"tanggal_buka": "YYYY-MM-DD",
|
|
||||||
"tanggal_tutup": "YYYY-MM-DD",
|
|
||||||
"url_sumber": "https://...",
|
|
||||||
"tags": ["S1", "S2", "Magang", "Luar Negeri"]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### 11.2 Schema Testimoni (`testimoni.json`)
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"id": "string",
|
|
||||||
"nama": "string",
|
|
||||||
"foto": "path/to/foto.jpg",
|
|
||||||
"nama_beasiswa": "string",
|
|
||||||
"kutipan": "string (max 200 char)"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 12. Referensi
|
|
||||||
|
|
||||||
1. IEEE Standard 1016-2009 — Software Design Descriptions
|
|
||||||
2. W3C — HTML5 & CSS3 Specification (https://www.w3.org)
|
|
||||||
3. Google — Web Fundamentals: Responsive Web Design
|
|
||||||
4. MDN Web Docs — CSS Media Queries
|
|
||||||
5. Figma — Design Tool Documentation
|
|
||||||
6. Nurhikmat et al. (2024) — Optimasi Responsivitas Web dengan Mobile-First Design. JINTEKS.
|
|
||||||
@@ -1,337 +0,0 @@
|
|||||||
# Software Requirements Specification (SRS)
|
|
||||||
## Pengembangan Website Statis Halaman Beasiswa
|
|
||||||
### Program Studi Informatika — Universitas Tanjungpura
|
|
||||||
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Nama Proyek | Pengembangan Website Statis Halaman Beasiswa |
|
|
||||||
| Kelompok | Ape Nama Team E |
|
|
||||||
| Versi | 1.1 |
|
|
||||||
| Tanggal | 01/05/2026 |
|
|
||||||
| Dosen | Izuardo Zulkarnain, S.Pd., M.T |
|
|
||||||
| Mata Kuliah | Proyek Perangkat Lunak — Semester Genap 2025/2026 |
|
|
||||||
|
|
||||||
**Anggota Tim:**
|
|
||||||
- Djapianus Thebrianto — Project Manager
|
|
||||||
- Derangga Aray Abimanyu — Backend Developer
|
|
||||||
- Destra Aulia Faza Ananda Putra — Frontend Developer
|
|
||||||
- Dian Satrio Prayogo — UI/UX Designer
|
|
||||||
- Jonathan Geral Nababan — Quality Assurance
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. Pendahuluan
|
|
||||||
|
|
||||||
### 1.1 Tujuan Dokumen
|
|
||||||
|
|
||||||
SRS ini memberikan spesifikasi teknis dan fungsional untuk pengembangan Website Statis Beasiswa Informatika Universitas Tanjungpura. Dokumen ini memastikan:
|
|
||||||
|
|
||||||
- Pengembang membangun sistem dengan kode sederhana yang mudah di-maintain melalui mekanisme push-to-repo ke dedicated server prodi.
|
|
||||||
- Penyajian data beasiswa (nama & syarat umum) dilakukan melalui fitur **Pop-up** dengan akses langsung ke admin via WhatsApp dan Instagram kemahasiswaan UNTAN.
|
|
||||||
- Proyek mengalihkan alur data dari portal universitas/survei admin ke static page dengan **availability 24 jam**.
|
|
||||||
|
|
||||||
**Ditujukan kepada:** Tim Ape Nama Team E, Product Owner (dosen), dan Administrator Prodi.
|
|
||||||
|
|
||||||
### 1.2 Ruang Lingkup
|
|
||||||
|
|
||||||
Website statis single-page yang menjadi pusat informasi beasiswa, riset, dan pengembangan karir — terintegrasi dengan infrastruktur server Prodi Informatika UNTAN.
|
|
||||||
|
|
||||||
**Fitur yang dicakup:**
|
|
||||||
- Direktori beasiswa (mahasiswa aktif, alumni, S2 luar negeri, magang)
|
|
||||||
- Detail beasiswa via popup (nama + syarat umum)
|
|
||||||
- Data beasiswa dari web scraping sumber resmi
|
|
||||||
- Seksi testimoni penerima beasiswa (foto, profil, kutipan)
|
|
||||||
- Toggle bahasa Indonesia / Inggris (bilingual)
|
|
||||||
- CTA ke WhatsApp admin & Instagram kemahasiswaan UNTAN
|
|
||||||
|
|
||||||
**Yang TIDAK dicakup:**
|
|
||||||
- Formulir pendaftaran (diarahkan ke URL asli penyedia)
|
|
||||||
- Halaman admin berbasis web (update via push-to-repo)
|
|
||||||
- Database — data bersifat statis (JSON/JS di repositori)
|
|
||||||
|
|
||||||
### 1.3 Definisi & Akronim
|
|
||||||
|
|
||||||
| Istilah | Definisi |
|
|
||||||
|---|---|
|
|
||||||
| Native Website | Web dengan HTML, CSS, JS murni tanpa framework kompleks |
|
|
||||||
| Scraping | Pengambilan data otomatis dari website eksternal |
|
|
||||||
| Dedicated Server | Server milik Prodi Informatika UNTAN (Dev & Production) |
|
|
||||||
| Pop-up / Modal | Jendela overlay di atas halaman tanpa reload |
|
|
||||||
| CTA | Call-to-Action — tombol ajakan ke WhatsApp/Instagram |
|
|
||||||
| Availability | Kemampuan sistem beroperasi 24 jam |
|
|
||||||
| Puify | Platform SaaS otomatisasi deployment dari repo ke server |
|
|
||||||
|
|
||||||
### 1.4 Referensi
|
|
||||||
- IEEE Std 830-1998 — Software Requirements Specifications
|
|
||||||
- UU No. 27 Tahun 2022 tentang Perlindungan Data Pribadi (UU PDP)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Deskripsi Umum Sistem
|
|
||||||
|
|
||||||
### 2.1 Perspektif Produk
|
|
||||||
|
|
||||||
Produk baru berdiri sendiri sebagai **single static landing page** — bukan pengganti sistem lama. Website ini hadir sebagai transformasi digital dari penyebaran info beasiswa yang sebelumnya manual (portal, surat kabar mahasiswa, grup medsos) ke satu platform terpusat.
|
|
||||||
|
|
||||||
**Integrasi eksternal (satu arah):**
|
|
||||||
- Website resmi penyedia beasiswa (data via scraping)
|
|
||||||
- API Website Informatika UNTAN (konten artikel/berita)
|
|
||||||
- WhatsApp & Instagram Kemahasiswaan UNTAN (CTA)
|
|
||||||
|
|
||||||
Tidak ada antarmuka admin berbasis web. Semua update konten via **push ke GitHub → auto-deploy ke server** melalui Puify.
|
|
||||||
|
|
||||||
### 2.2 Fungsi Utama Sistem
|
|
||||||
|
|
||||||
| Kode | Fungsi | Deskripsi |
|
|
||||||
|---|---|---|
|
|
||||||
| F01 | Direktori Beasiswa | Grid kartu beasiswa aktif, S2, magang, penelitian dari berbagai sumber resmi |
|
|
||||||
| F02 | Filter & Pencarian | Saring berdasarkan kategori (Semua/Buka/Ditutup/Pemerintah/Swasta) + real-time search |
|
|
||||||
| F03 | Detail via Pop-up | Modal berisi nama, syarat umum, kontak, tautan sumber resmi |
|
|
||||||
| F04 | Testimoni | Foto, nama, nama beasiswa, kutipan dari penerima beasiswa |
|
|
||||||
| F05 | CTA Hubungi Admin | Tombol cepat ke WhatsApp admin & Instagram kemahasiswaan |
|
|
||||||
| F06 | Bilingual ID/EN | Toggle bahasa Indonesia ↔ Inggris tanpa reload |
|
|
||||||
| F07 | Update via Repository | Admin edit file data + push → halaman publik auto-update |
|
|
||||||
|
|
||||||
### 2.3 Kelas Pengguna
|
|
||||||
|
|
||||||
| Kelas | Karakteristik | Hak Akses |
|
|
||||||
|---|---|---|
|
|
||||||
| Pengunjung Umum | Mahasiswa aktif, alumni, masyarakat — tanpa login | Lihat konten, filter, search, buka popup, akses link eksternal |
|
|
||||||
| Admin Prodi | Staf/mahasiswa dengan kemampuan Git dasar | Edit file data di GitHub → push → deploy otomatis |
|
|
||||||
|
|
||||||
### 2.4 Lingkungan Operasional
|
|
||||||
|
|
||||||
| Komponen | Spesifikasi |
|
|
||||||
|---|---|
|
|
||||||
| Platform | Browser modern: Chrome ≥v100, Firefox ≥v100, Edge ≥v100, Safari ≥v15 |
|
|
||||||
| Server/Hosting | Dedicated server Prodi Informatika UNTAN (Dev & Production) via Puify |
|
|
||||||
| Database | Tidak ada — data di file statis JSON/JS di repositori |
|
|
||||||
| Bahasa Pemrograman | HTML5, CSS3 + Tailwind CSS, JavaScript ES6+ |
|
|
||||||
| Version Control | Git / GitHub |
|
|
||||||
| Koneksi | Min 1 Mbps (dasar), 10 Mbps (optimal) |
|
|
||||||
|
|
||||||
### 2.5 Asumsi & Ketergantungan
|
|
||||||
|
|
||||||
**Asumsi:**
|
|
||||||
- Pengunjung menggunakan browser modern dengan JS ES6+ dan CSS3 aktif
|
|
||||||
- Data beasiswa sudah diverifikasi admin sebelum dipublikasikan
|
|
||||||
- Perangkat pengunjung mendukung akses WhatsApp (app atau web)
|
|
||||||
|
|
||||||
**Ketergantungan:**
|
|
||||||
- Dedicated server Prodi UNTAN harus aktif untuk availability 24 jam
|
|
||||||
- Update data bergantung pada keaktifan admin melakukan push secara berkala
|
|
||||||
- Fitur berita bergantung pada stabilitas API Website Informatika UNTAN
|
|
||||||
- CTA bergantung pada keaktifan nomor WhatsApp & akun Instagram kemahasiswaan
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Kebutuhan Fungsional
|
|
||||||
|
|
||||||
### 3.1 Daftar Use Case
|
|
||||||
|
|
||||||
| UC ID | Nama Use Case | Aktor | Prioritas (MoSCoW) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| UC-01 | Melihat Daftar Beasiswa | Pengunjung Umum | Must Have |
|
|
||||||
| UC-02 | Memfilter Beasiswa Berdasarkan Kategori | Pengunjung Umum | Must Have |
|
|
||||||
| UC-03 | Mencari Beasiswa | Pengunjung Umum | Must Have |
|
|
||||||
| UC-04 | Melihat Detail Beasiswa (Popup) | Pengunjung Umum | Must Have |
|
|
||||||
| UC-05 | Mengakses Sumber Informasi Beasiswa | Pengunjung Umum | Must Have |
|
|
||||||
| UC-06 | Menghubungi Admin via CTA | Pengunjung Umum | Must Have |
|
|
||||||
| UC-07 | Melihat Testimoni Penerima Beasiswa | Pengunjung Umum | Should Have |
|
|
||||||
| UC-08 | Mengganti Bahasa Tampilan (ID/EN) | Pengunjung Umum | Should Have |
|
|
||||||
| UC-09 | Memperbarui Data Beasiswa | Admin Prodi | Must Have |
|
|
||||||
|
|
||||||
### 3.2 Detail Use Case
|
|
||||||
|
|
||||||
#### UC-01: Melihat Daftar Beasiswa
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Halaman berhasil dimuat di browser |
|
|
||||||
| Trigger | Pengunjung membuka URL atau scroll ke seksi Daftar Beasiswa |
|
|
||||||
| Main Flow | 1. Pengunjung buka URL halaman<br>2. Sistem tampilkan hero, statistik, daftar beasiswa<br>3. Kartu ditampilkan grid: 3 kolom desktop / 2 tablet / 1 mobile<br>4. Tiap kartu: thumbnail, badge status, nama, deskripsi singkat, tanggal, tombol "Selengkapnya"<br>5. Paginasi tampil di bawah grid jika beasiswa > 1 halaman |
|
|
||||||
| Alt Flow | 3a. Koneksi lambat → skeleton loading<br>3b. Tidak ada data → tampil "Belum ada beasiswa tersedia saat ini." |
|
|
||||||
| Postcondition | Pengunjung dapat melihat seluruh daftar beasiswa |
|
|
||||||
|
|
||||||
#### UC-02: Memfilter Beasiswa Berdasarkan Kategori
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Halaman dimuat, daftar beasiswa tampil |
|
|
||||||
| Trigger | Pengunjung klik salah satu tab filter |
|
|
||||||
| Main Flow | 1. Tampil tab: Semua \| Sedang Buka \| Ditutup \| Pemerintah \| Swasta<br>2. Pengunjung klik tab<br>3. Sistem real-time filter beasiswa sesuai kategori<br>4. Tab aktif ditandai bold/underline/warna<br>5. Jumlah hasil diperbarui |
|
|
||||||
| Alt Flow | 3a. Tidak ada hasil → "Tidak ada beasiswa pada kategori ini."<br>3b. Klik "Semua" → tampil semua beasiswa |
|
|
||||||
| Postcondition | Daftar beasiswa sesuai filter yang dipilih |
|
|
||||||
|
|
||||||
#### UC-03: Mencari Beasiswa
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Halaman dimuat, kolom pencarian tersedia |
|
|
||||||
| Trigger | Pengunjung mengetik di kolom pencarian |
|
|
||||||
| Main Flow | 1. Pengunjung klik kolom pencarian<br>2. Ketik kata kunci (misal: "Pertamina", "KIP", "luar negeri")<br>3. Sistem real-time filter kartu yang nama/deskripsinya cocok<br>4. Hapus kata kunci → kembali ke tampilan penuh<br>5. Filter dan pencarian dapat aktif bersamaan (kumulatif) |
|
|
||||||
| Alt Flow | 3a. Tidak ada hasil → "Tidak ditemukan beasiswa yang sesuai pencarian Anda." |
|
|
||||||
| Postcondition | Daftar beasiswa sesuai kata kunci |
|
|
||||||
|
|
||||||
#### UC-04: Melihat Detail Beasiswa (Popup)
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Kartu beasiswa tampil, pengunjung menemukan beasiswa yang diinginkan |
|
|
||||||
| Trigger | Klik tombol "Selengkapnya →" pada kartu |
|
|
||||||
| Main Flow | 1. Klik "Selengkapnya →"<br>2. Sistem tampilkan modal popup berisi: nama + thumbnail, badge status, syarat umum ringkasan, kontak, tombol "Info Lebih Lanjut" (→ URL sumber resmi di tab baru)<br>3. Background di-overlay gelap<br>4. Tutup via: tombol ×, klik di luar area, atau tekan Escape |
|
|
||||||
| Alt Flow | 4a. Klik "Info Lebih Lanjut" → jalankan UC-05 |
|
|
||||||
| Postcondition | Pengunjung mendapat info ringkas dan dapat lanjut ke sumber resmi |
|
|
||||||
|
|
||||||
#### UC-05: Mengakses Sumber Informasi Beasiswa
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Popup detail terbuka, tombol "Info Lebih Lanjut" tersedia |
|
|
||||||
| Trigger | Klik tombol "Info Lebih Lanjut" di popup |
|
|
||||||
| Main Flow | 1. Klik tombol<br>2. Sistem buka URL sumber resmi di tab baru<br>3. Popup di tab asal tetap terbuka |
|
|
||||||
| Alt Flow | 3a. URL tidak tersedia → "Tautan tidak tersedia. Silakan hubungi admin prodi." |
|
|
||||||
| Postcondition | Pengunjung diarahkan ke sumber resmi beasiswa |
|
|
||||||
|
|
||||||
#### UC-06: Menghubungi Admin via CTA
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Pengunjung ingin info lebih lanjut |
|
|
||||||
| Trigger | Scroll ke seksi CTA, klik salah satu tombol |
|
|
||||||
| Main Flow | 1. Scroll ke CTA ("Ingin Tahu Lebih Banyak tentang Beasiswa?")<br>2. Tampil dua tombol: "Hubungi Admin" (WhatsApp) + "Instagram Beasiswa" (IG kemahasiswaan)<br>3. Klik tombol → buka platform di tab baru |
|
|
||||||
| Alt Flow | 4a. Tanpa WhatsApp terinstall → buka WhatsApp Web |
|
|
||||||
| Postcondition | Pengunjung terhubung dengan admin atau follow Instagram |
|
|
||||||
|
|
||||||
#### UC-07: Melihat Testimoni Penerima Beasiswa
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Halaman dimuat, data testimoni tersedia di source code |
|
|
||||||
| Trigger | Scroll ke seksi Testimoni |
|
|
||||||
| Main Flow | 1. Scroll ke seksi Testimoni<br>2. Tampil kartu testimoni: foto, nama, nama beasiswa, kutipan singkat<br>3. Jika > 3 testimoni → navigasi carousel/tombol selanjutnya |
|
|
||||||
| Alt Flow | 2a. Belum ada data → seksi tidak ditampilkan atau tampil placeholder |
|
|
||||||
| Postcondition | Pengunjung mendapat gambaran pengalaman penerima beasiswa |
|
|
||||||
|
|
||||||
#### UC-08: Mengganti Bahasa Tampilan (ID/EN)
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Pengunjung Umum |
|
|
||||||
| Precondition | Toggle ID\|EN tersedia di header navigasi |
|
|
||||||
| Trigger | Klik toggle bahasa di pojok kanan header |
|
|
||||||
| Main Flow | 1. Pengunjung lihat toggle ID \| EN di kanan atas<br>2. Klik bahasa yang diinginkan<br>3. Seluruh teks berubah tanpa reload<br>4. Pilihan tersimpan di session (tidak reset saat scroll/filter) |
|
|
||||||
| Alt Flow | 3a. Konten hanya tersedia 1 bahasa → tetap tampil bahasa aslinya |
|
|
||||||
| Postcondition | Halaman tampil dalam bahasa yang dipilih |
|
|
||||||
|
|
||||||
#### UC-09: Memperbarui Data Beasiswa
|
|
||||||
| Field | Detail |
|
|
||||||
|---|---|
|
|
||||||
| Aktor | Admin Prodi |
|
|
||||||
| Precondition | Admin punya akses repo, ada info beasiswa baru/perubahan status |
|
|
||||||
| Trigger | Admin mendapat informasi update dari survei/portal/sumber lain |
|
|
||||||
| Main Flow | 1. Admin dapat info baru/perubahan status<br>2. Edit file data beasiswa (nama, kategori, status, syarat, kontak, URL)<br>3. Simpan dan push ke GitHub<br>4. Halaman publik auto-update dalam waktu singkat via Puify |
|
|
||||||
| Alt Flow | 3a. Error saat deploy → halaman publik tidak berubah, admin perbaiki dan push ulang |
|
|
||||||
| Postcondition | Info beasiswa terbaru tersedia di halaman publik 24/7 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. Kebutuhan Antarmuka Eksternal
|
|
||||||
|
|
||||||
### 4.1 Antarmuka Pengguna (UI)
|
|
||||||
|
|
||||||
- Responsive design: breakpoint 320px (mobile), 768px (tablet), 1280px (desktop)
|
|
||||||
- Warna utama: Biru Informatika `#2B4590` dan Kuning `#F5A623` (branding UNTAN)
|
|
||||||
- Font: Inter atau Poppins, minimal 14px untuk body text
|
|
||||||
- Waktu respons antarmuka ≤ 3 detik pada koneksi 10 Mbps
|
|
||||||
- Aksesibilitas WCAG 2.1 level AA (kontras warna, ARIA label, navigasi keyboard)
|
|
||||||
- Semua elemen interaktif memiliki feedback visual saat hover/klik
|
|
||||||
|
|
||||||
**Halaman / Seksi:**
|
|
||||||
|
|
||||||
| Seksi | ID | Konten Utama |
|
|
||||||
|---|---|---|
|
|
||||||
| Header & Navigasi | — | Navbar sticky, logo UNTAN, toggle ID/EN, info ticker |
|
|
||||||
| Hero | `#hero` | Judul "Beasiswa Studi & Penelitian", deskripsi, CTA kuning, foto mahasiswa |
|
|
||||||
| Statistik Counter | `#statistics` | 3 angka animasi: Total Penerima, Pemerintah, Swasta |
|
|
||||||
| Direktori Beasiswa | `#directory` | Grid kartu, tab filter, real-time search, popup detail |
|
|
||||||
| Testimoni | `#testimonial` | Carousel foto+nama+kutipan penerima beasiswa |
|
|
||||||
| CTA | `#cta` | Banner ajakan + tombol WhatsApp & Instagram |
|
|
||||||
| Footer | `#footer` | Logo, alamat, kontak, sosial media, ilustrasi Pontianak |
|
|
||||||
|
|
||||||
### 4.2 Antarmuka Hardware
|
|
||||||
- Browser modern: Chrome/Firefox/Edge ≥v100, Safari ≥v15
|
|
||||||
- Koneksi minimal 1 Mbps; optimal 10 Mbps
|
|
||||||
- Resolusi minimal 320px lebar
|
|
||||||
- Tidak butuh hardware khusus (kamera, printer, sensor, dll.)
|
|
||||||
|
|
||||||
### 4.3 Antarmuka Software
|
|
||||||
|
|
||||||
| Layanan | Tujuan | Protokol |
|
|
||||||
|---|---|---|
|
|
||||||
| Dedicated Server + Puify | Hosting dev & production, auto-deploy dari GitHub | HTTPS |
|
|
||||||
| GitHub | Version control, kolaborasi, deliverable akhir | HTTPS/SSH |
|
|
||||||
| Sumber Resmi Beasiswa | Link eksternal di popup (dibuka tab baru) | HTTPS |
|
|
||||||
| WhatsApp / Instagram UNTAN | Tombol CTA | HTTPS / wa.me |
|
|
||||||
| Figma | Desain mockup & wireframe acuan implementasi | HTTPS |
|
|
||||||
| Web Scraper | Ambil data beasiswa dari sumber resmi | HTTPS |
|
|
||||||
|
|
||||||
### 4.4 Antarmuka Komunikasi
|
|
||||||
- Semua file dikirim via HTTPS dengan sertifikat SSL/TLS valid
|
|
||||||
- Fitur interaktif (filter, search, toggle bahasa, popup, counter) berjalan client-side (JS) — tanpa request ke server
|
|
||||||
- Semua link eksternal: `target="_blank"` + `rel="noopener noreferrer"`
|
|
||||||
- Tidak menggunakan cookie, session storage, atau autentikasi pengguna (v1.0)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Kebutuhan Non-Fungsional
|
|
||||||
|
|
||||||
### NFR-01: Performa
|
|
||||||
- **P-01** Loading halaman ≤ 3 detik pada koneksi 10 Mbps
|
|
||||||
- **P-02** Filter beasiswa merespons < 0,5 detik setelah klik
|
|
||||||
- **P-03** Tetap responsif dan optimal di desktop, tablet, dan smartphone
|
|
||||||
|
|
||||||
### NFR-02: Keamanan
|
|
||||||
- **S-01** Semua komunikasi via HTTPS dengan SSL/TLS
|
|
||||||
- **S-02** Source code bersih dari script berbahaya, bebas celah XSS
|
|
||||||
- **S-03** Semua link CTA dan pendaftaran mengarah ke sumber resmi tervalidasi
|
|
||||||
|
|
||||||
### NFR-03: Skalabilitas
|
|
||||||
- **SC-01** Mampu menampilkan minimal 100 data beasiswa tanpa penurunan performa
|
|
||||||
- **SC-02** Struktur kode memungkinkan penambahan kategori baru tanpa perubahan besar
|
|
||||||
- **SC-03** Sistem bilingual mendukung penambahan bahasa baru di masa depan
|
|
||||||
|
|
||||||
### NFR-04: Ketersediaan & Reliabilitas
|
|
||||||
- **R-01** Uptime minimal 99% selama masa operasional
|
|
||||||
- **R-02** Dapat diakses 24 jam selama server aktif
|
|
||||||
- **R-03** Backup source code via Git/GitHub untuk pemulihan data
|
|
||||||
|
|
||||||
### NFR-05: Usability
|
|
||||||
- **U-01** Antarmuka bilingual ID/EN
|
|
||||||
- **U-02** Pengguna menemukan info beasiswa dalam < 2 menit via navigasi & filter
|
|
||||||
- **U-03** Tombol CTA di Hero kontras dan posisinya jelas
|
|
||||||
|
|
||||||
### NFR-06: Maintainability
|
|
||||||
- **M-01** Tech stack: HTML5, CSS3 + Tailwind CSS, JavaScript ES6+ — kode rapi dan mudah dipelihara
|
|
||||||
- **M-02** Semua perubahan dikelola via Git/GitHub (version control)
|
|
||||||
- **M-03** Dokumentasi teknis & panduan deployment disertakan saat penyerahan akhir
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. Batasan & Kendala
|
|
||||||
|
|
||||||
### 6.1 Batasan Implementasi
|
|
||||||
- Tech stack terkunci: HTML5, CSS3, Tailwind CSS, JavaScript ES6+, Figma, Git/GitHub
|
|
||||||
- Single static landing page — tidak ada backend, database, atau login
|
|
||||||
- Harus berjalan optimal di Chrome, Firefox, Edge versi terbaru
|
|
||||||
- Wajib responsif: desktop, tablet, smartphone
|
|
||||||
|
|
||||||
### 6.2 Batasan Proyek
|
|
||||||
- Durasi: 10 hari kerja (1 Mei – 11 Mei 2026)
|
|
||||||
- Tim: 5 orang dengan peran tetap (PM, Backend, Frontend, UI/UX, QA)
|
|
||||||
- Revisi antarmuka/konten sesuai batas yang disepakati
|
|
||||||
- Penambahan fitur baru saat development = di luar ruang lingkup utama
|
|
||||||
|
|
||||||
### 6.3 Regulasi & Standar
|
|
||||||
- UU PDP No. 27/2022 untuk pengelolaan data testimoni mahasiswa
|
|
||||||
- Visual harus selaras branding resmi Informatika UNTAN
|
|
||||||
- Memenuhi prinsip aksesibilitas dasar (navigasi jelas, tampilan informatif)
|
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
return s; // "Segera Dibuka" atau nilai lain: tampilkan apa adanya
|
return s; // "Segera Dibuka" atau nilai lain: tampilkan apa adanya
|
||||||
}
|
}
|
||||||
|
|
||||||
// Petakan satu item Directus ke skema yang diharapkan filter.js / popup.js
|
// Petakan satu item (API remote maupun lokal) ke skema yang diharapkan filter.js / popup.js
|
||||||
function normalizeItem(item) {
|
function normalizeItem(item) {
|
||||||
const parts = [item.jenjang, item.negara, item.tipe_pendanaan].filter(Boolean);
|
const parts = [item.jenjang, item.negara, item.tipe_pendanaan].filter(Boolean);
|
||||||
return {
|
return {
|
||||||
@@ -34,14 +34,16 @@
|
|||||||
nama: item.nama || '',
|
nama: item.nama || '',
|
||||||
status: normalizeStatus(item.status),
|
status: normalizeStatus(item.status),
|
||||||
kategori: item.tipe_pendanaan || '',
|
kategori: item.tipe_pendanaan || '',
|
||||||
thumbnail: '',
|
thumbnail: item.thumbnail || '',
|
||||||
deskripsi_singkat: parts.join(' · ') || 'Info beasiswa tersedia di sumber resmi.',
|
deskripsi_singkat: item.deskripsi_singkat || parts.join(' · ') || 'Info beasiswa tersedia di sumber resmi.',
|
||||||
|
deskripsi_singkat_en: item.deskripsi_singkat_en || '',
|
||||||
tanggal_buka: item.tanggal_buka || '',
|
tanggal_buka: item.tanggal_buka || '',
|
||||||
tanggal_tutup: item.tenggat_waktu || '',
|
tanggal_tutup: item.tenggat_waktu || '',
|
||||||
url_sumber: item.url || '',
|
url_sumber: item.url || '',
|
||||||
syarat_umum: [],
|
syarat_umum: item.syarat_umum || [],
|
||||||
kontak: '',
|
syarat_umum_en: item.syarat_umum_en || [],
|
||||||
tags: parts,
|
kontak: item.kontak || '',
|
||||||
|
tags: item.tags || parts,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,23 +58,22 @@
|
|||||||
const res = await fetch(CONFIG.localSource);
|
const res = await fetch(CONFIG.localSource);
|
||||||
if (!res.ok) throw new Error(`Gagal memuat data lokal (HTTP ${res.status})`);
|
if (!res.ok) throw new Error(`Gagal memuat data lokal (HTTP ${res.status})`);
|
||||||
const json = await res.json();
|
const json = await res.json();
|
||||||
return Array.isArray(json) ? json : json.data || [];
|
const raw = Array.isArray(json) ? json : json.data || [];
|
||||||
|
return raw.map(normalizeItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getBeasiswa() {
|
async function getBeasiswa() {
|
||||||
try {
|
try {
|
||||||
// Prioritas: data lokal (lengkap: url_sumber, syarat_umum, kontak tersedia)
|
const data = await fetchRemote();
|
||||||
// Remote API digunakan hanya sebagai fallback jika data lokal tidak ditemukan.
|
return { data, source: 'remote' };
|
||||||
const data = await fetchLocal();
|
|
||||||
return { data, source: 'local' };
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn('[BeasiswaAPI] Data lokal gagal, fallback ke API remote:', err.message);
|
console.warn('[BeasiswaAPI] API remote gagal, fallback ke data lokal:', err.message);
|
||||||
try {
|
try {
|
||||||
const data = await fetchRemote();
|
const data = await fetchLocal();
|
||||||
return { data, source: 'remote' };
|
return { data, source: 'local' };
|
||||||
} catch (remoteErr) {
|
} catch (localErr) {
|
||||||
console.error('[BeasiswaAPI] Semua sumber gagal:', remoteErr.message);
|
console.error('[BeasiswaAPI] Semua sumber gagal:', localErr.message);
|
||||||
throw remoteErr;
|
throw localErr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,19 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "bsw-001",
|
"id": 101,
|
||||||
"nama": "Boustany Foundation Scholarship, MBA - Harvard University",
|
"nama": "Boustany Foundation Scholarship, MBA - Harvard University",
|
||||||
"nama_en": "Boustany Foundation Scholarship, MBA - Harvard University",
|
"nama_en": "Boustany Foundation Scholarship, MBA - Harvard University",
|
||||||
"kategori": "Swasta",
|
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S2",
|
||||||
|
"negara": "Amerika Serikat",
|
||||||
|
"tanggal_buka": "2026-05-21",
|
||||||
|
"tenggat_waktu": "2027-05-31",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/boustany-foundation-scholarship-mba-harvard-university-1",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1541339907198-e08756dedf3f?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1541339907198-e08756dedf3f?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa bergengsi dari Boustany Foundation untuk program MBA di Harvard University, Amerika Serikat, bagi calon pemimpin bisnis dunia.",
|
"deskripsi_singkat": "Beasiswa bergengsi dari Boustany Foundation untuk program MBA di Harvard University, Amerika Serikat, bagi calon pemimpin bisnis dunia.",
|
||||||
"deskripsi_singkat_en": "A prestigious scholarship from the Boustany Foundation for the MBA program at Harvard University, United States, for future global business leaders.",
|
"deskripsi_singkat_en": "A prestigious scholarship from the Boustany Foundation for the MBA program at Harvard University, United States, for future global business leaders.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -22,18 +29,23 @@
|
|||||||
"Complete the scholarship application online through the official Boustany Foundation website"
|
"Complete the scholarship application online through the official Boustany Foundation website"
|
||||||
],
|
],
|
||||||
"kontak": "Boustany Foundation — boustany-foundation.com",
|
"kontak": "Boustany Foundation — boustany-foundation.com",
|
||||||
"tanggal_buka": "2026-05-21",
|
|
||||||
"tanggal_tutup": "2027-05-31",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/boustany-foundation-scholarship-mba-harvard-university-1",
|
|
||||||
"tags": ["S2", "Swasta", "Amerika Serikat", "Partially Funded", "MBA"]
|
"tags": ["S2", "Swasta", "Amerika Serikat", "Partially Funded", "MBA"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-002",
|
"id": 102,
|
||||||
"nama": "La Trobe University - La Trobe High Achiever Scholarship (S1)",
|
"nama": "La Trobe University - La Trobe High Achiever Scholarship (S1)",
|
||||||
"kategori": "Swasta",
|
"nama_en": "La Trobe University - La Trobe High Achiever Scholarship (S1)",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S1",
|
||||||
|
"negara": "Australia",
|
||||||
|
"tanggal_buka": "2023-09-29",
|
||||||
|
"tenggat_waktu": "2026-12-31",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/la-trobe-university-la-trobe-high-achiever-scholarship-2",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1523240795612-9a054b0db644?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1523240795612-9a054b0db644?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa dari La Trobe University Australia untuk mahasiswa internasional jenjang S1 berprestasi tinggi yang ingin melanjutkan studi di Melbourne.",
|
"deskripsi_singkat": "Beasiswa dari La Trobe University Australia untuk mahasiswa internasional jenjang S1 berprestasi tinggi yang ingin melanjutkan studi di Melbourne.",
|
||||||
"deskripsi_singkat_en": "Scholarship from La Trobe University Australia for high-achieving international undergraduate students who wish to pursue their studies in Melbourne.",
|
"deskripsi_singkat_en": "Scholarship from La Trobe University Australia for high-achieving international undergraduate students who wish to pursue their studies in Melbourne.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -49,18 +61,23 @@
|
|||||||
"Meet La Trobe University's entry and English language requirements"
|
"Meet La Trobe University's entry and English language requirements"
|
||||||
],
|
],
|
||||||
"kontak": "La Trobe University Admissions — latrobe.edu.au",
|
"kontak": "La Trobe University Admissions — latrobe.edu.au",
|
||||||
"tanggal_buka": "2023-09-29",
|
|
||||||
"tanggal_tutup": "2026-12-31",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/la-trobe-university-la-trobe-high-achiever-scholarship-2",
|
|
||||||
"tags": ["S1", "Swasta", "Australia", "Partially Funded"]
|
"tags": ["S1", "Swasta", "Australia", "Partially Funded"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-003",
|
"id": 103,
|
||||||
"nama": "Charles Sturt University - International Student Support Scholarship",
|
"nama": "Charles Sturt University - International Student Support Scholarship",
|
||||||
"kategori": "Swasta",
|
"nama_en": "Charles Sturt University - International Student Support Scholarship",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S1",
|
||||||
|
"negara": "Australia",
|
||||||
|
"tanggal_buka": "2026-05-21",
|
||||||
|
"tenggat_waktu": "2026-12-31",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/charles-sturt-university-international-student-support-scholarship-3",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1560472354-b33ff0c44a43?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1560472354-b33ff0c44a43?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa dukungan dari Charles Sturt University bagi mahasiswa internasional jenjang S1 yang mendaftar di kampus yang berlokasi di New South Wales, Australia.",
|
"deskripsi_singkat": "Beasiswa dukungan dari Charles Sturt University bagi mahasiswa internasional jenjang S1 yang mendaftar di kampus yang berlokasi di New South Wales, Australia.",
|
||||||
"deskripsi_singkat_en": "Support scholarship from Charles Sturt University for international undergraduate students enrolling at a campus located in New South Wales, Australia.",
|
"deskripsi_singkat_en": "Support scholarship from Charles Sturt University for international undergraduate students enrolling at a campus located in New South Wales, Australia.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -76,18 +93,23 @@
|
|||||||
"Apply through the official international admission pathway"
|
"Apply through the official international admission pathway"
|
||||||
],
|
],
|
||||||
"kontak": "Charles Sturt University International — csu.edu.au",
|
"kontak": "Charles Sturt University International — csu.edu.au",
|
||||||
"tanggal_buka": "2026-05-21",
|
|
||||||
"tanggal_tutup": "2026-12-31",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/charles-sturt-university-international-student-support-scholarship-3",
|
|
||||||
"tags": ["S1", "Swasta", "Australia", "Partially Funded"]
|
"tags": ["S1", "Swasta", "Australia", "Partially Funded"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-004",
|
"id": 104,
|
||||||
"nama": "La Trobe University - La Trobe High Achiever Scholarship (S2)",
|
"nama": "La Trobe University - La Trobe High Achiever Scholarship (S2)",
|
||||||
"kategori": "Swasta",
|
"nama_en": "La Trobe University - La Trobe High Achiever Scholarship (S2)",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S2",
|
||||||
|
"negara": "Australia",
|
||||||
|
"tanggal_buka": "2023-09-29",
|
||||||
|
"tenggat_waktu": "2026-12-31",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/la-trobe-university-la-trobe-high-achiever-scholarship-4",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa dari La Trobe University Australia untuk mahasiswa internasional jenjang S2 (Postgraduate) dengan pencapaian akademik tinggi.",
|
"deskripsi_singkat": "Beasiswa dari La Trobe University Australia untuk mahasiswa internasional jenjang S2 (Postgraduate) dengan pencapaian akademik tinggi.",
|
||||||
"deskripsi_singkat_en": "Scholarship from La Trobe University Australia for international postgraduate students with high academic achievements.",
|
"deskripsi_singkat_en": "Scholarship from La Trobe University Australia for international postgraduate students with high academic achievements.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -103,18 +125,23 @@
|
|||||||
"Not currently receiving another scholarship from the same university"
|
"Not currently receiving another scholarship from the same university"
|
||||||
],
|
],
|
||||||
"kontak": "La Trobe University Admissions — latrobe.edu.au",
|
"kontak": "La Trobe University Admissions — latrobe.edu.au",
|
||||||
"tanggal_buka": "2023-09-29",
|
|
||||||
"tanggal_tutup": "2026-12-31",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/la-trobe-university-la-trobe-high-achiever-scholarship-4",
|
|
||||||
"tags": ["S2", "Swasta", "Australia", "Partially Funded"]
|
"tags": ["S2", "Swasta", "Australia", "Partially Funded"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-005",
|
"id": 105,
|
||||||
"nama": "ETH Zurich - Excellence Scholarship & Opportunity Programme (ESOP)",
|
"nama": "ETH Zurich - Excellence Scholarship & Opportunity Programme (ESOP)",
|
||||||
"kategori": "Pemerintah",
|
"nama_en": "ETH Zurich - Excellence Scholarship & Opportunity Programme (ESOP)",
|
||||||
"kategori_en": "Government",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Pemerintah",
|
||||||
|
"jenjang": "S2",
|
||||||
|
"negara": "Swiss",
|
||||||
|
"tanggal_buka": "2026-11-01",
|
||||||
|
"tenggat_waktu": "2026-11-30",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/eth-zurich-excellence-scholarship-opportunity-programme-esop-5",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa bergengsi dari ETH Zurich (salah satu universitas teknik terbaik dunia) untuk mahasiswa S2 internasional yang unggul secara akademik.",
|
"deskripsi_singkat": "Beasiswa bergengsi dari ETH Zurich (salah satu universitas teknik terbaik dunia) untuk mahasiswa S2 internasional yang unggul secara akademik.",
|
||||||
"deskripsi_singkat_en": "Prestigious scholarship from ETH Zurich (one of the world's best engineering universities) for academically outstanding international master's students.",
|
"deskripsi_singkat_en": "Prestigious scholarship from ETH Zurich (one of the world's best engineering universities) for academically outstanding international master's students.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -132,18 +159,23 @@
|
|||||||
"Obtain a recommendation letter from authorized academics"
|
"Obtain a recommendation letter from authorized academics"
|
||||||
],
|
],
|
||||||
"kontak": "ETH Zurich Scholarship Office — ethz.ch",
|
"kontak": "ETH Zurich Scholarship Office — ethz.ch",
|
||||||
"tanggal_buka": "2026-11-01",
|
|
||||||
"tanggal_tutup": "2026-11-30",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/eth-zurich-excellence-scholarship-opportunity-programme-esop-5",
|
|
||||||
"tags": ["S2", "Pemerintah", "Swiss", "Fully Funded", "Prestasi"]
|
"tags": ["S2", "Pemerintah", "Swiss", "Fully Funded", "Prestasi"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-006",
|
"id": 106,
|
||||||
"nama": "STUST - Scholarship for International Students (S3, Fully Funded)",
|
"nama": "STUST - Scholarship for International Students (S3, Fully Funded)",
|
||||||
"kategori": "Swasta",
|
"nama_en": "STUST - Scholarship for International Students (S3, Fully Funded)",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S3",
|
||||||
|
"negara": "Taiwan",
|
||||||
|
"tanggal_buka": "2026-09-15",
|
||||||
|
"tenggat_waktu": "2026-11-30",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/southern-taiwan-university-of-science-and-technology-the-stust-scholarship-for-international-students-6",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa penuh (fully funded) dari Southern Taiwan University of Science and Technology untuk mahasiswa internasional jenjang S3 (Doktoral).",
|
"deskripsi_singkat": "Beasiswa penuh (fully funded) dari Southern Taiwan University of Science and Technology untuk mahasiswa internasional jenjang S3 (Doktoral).",
|
||||||
"deskripsi_singkat_en": "Fully funded scholarship from Southern Taiwan University of Science and Technology for international doctoral students.",
|
"deskripsi_singkat_en": "Fully funded scholarship from Southern Taiwan University of Science and Technology for international doctoral students.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -161,18 +193,23 @@
|
|||||||
"Obtain approval from a prospective supervisor at STUST"
|
"Obtain approval from a prospective supervisor at STUST"
|
||||||
],
|
],
|
||||||
"kontak": "STUST International Affairs Office — stust.edu.tw",
|
"kontak": "STUST International Affairs Office — stust.edu.tw",
|
||||||
"tanggal_buka": "2026-09-15",
|
|
||||||
"tanggal_tutup": "2026-11-30",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/southern-taiwan-university-of-science-and-technology-the-stust-scholarship-for-international-students-6",
|
|
||||||
"tags": ["S3", "Swasta", "Taiwan", "Fully Funded"]
|
"tags": ["S3", "Swasta", "Taiwan", "Fully Funded"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-007",
|
"id": 107,
|
||||||
"nama": "STUST - Scholarship for International Students (S2, Partially Funded)",
|
"nama": "STUST - Scholarship for International Students (S2, Partially Funded)",
|
||||||
"kategori": "Swasta",
|
"nama_en": "STUST - Scholarship for International Students (S2, Partially Funded)",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S2",
|
||||||
|
"negara": "Taiwan",
|
||||||
|
"tanggal_buka": "2026-09-15",
|
||||||
|
"tenggat_waktu": "2026-11-30",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/southern-taiwan-university-of-science-and-technology-the-stust-scholarship-for-international-students-7",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1606761568499-6d2451b23c66?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1606761568499-6d2451b23c66?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa parsial (partially funded) dari Southern Taiwan University of Science and Technology untuk mahasiswa internasional jenjang S2 (Magister).",
|
"deskripsi_singkat": "Beasiswa parsial (partially funded) dari Southern Taiwan University of Science and Technology untuk mahasiswa internasional jenjang S2 (Magister).",
|
||||||
"deskripsi_singkat_en": "Partially funded scholarship from Southern Taiwan University of Science and Technology for international master's students.",
|
"deskripsi_singkat_en": "Partially funded scholarship from Southern Taiwan University of Science and Technology for international master's students.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -190,18 +227,23 @@
|
|||||||
"Include academic transcripts and a motivation letter"
|
"Include academic transcripts and a motivation letter"
|
||||||
],
|
],
|
||||||
"kontak": "STUST International Affairs Office — stust.edu.tw",
|
"kontak": "STUST International Affairs Office — stust.edu.tw",
|
||||||
"tanggal_buka": "2026-09-15",
|
|
||||||
"tanggal_tutup": "2026-11-30",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/southern-taiwan-university-of-science-and-technology-the-stust-scholarship-for-international-students-7",
|
|
||||||
"tags": ["S2", "Swasta", "Taiwan", "Partially Funded"]
|
"tags": ["S2", "Swasta", "Taiwan", "Partially Funded"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-008",
|
"id": 108,
|
||||||
"nama": "University of Melbourne - Melbourne International Undergraduate Scholarship",
|
"nama": "University of Melbourne - Melbourne International Undergraduate Scholarship",
|
||||||
"kategori": "Swasta",
|
"nama_en": "University of Melbourne - Melbourne International Undergraduate Scholarship",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S1",
|
||||||
|
"negara": "Australia",
|
||||||
|
"tanggal_buka": "2026-05-21",
|
||||||
|
"tenggat_waktu": "2026-10-31",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/university-of-melbourne-melbourne-international-undergraduate-scholarship-8",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa untuk mahasiswa internasional berprestasi yang mendaftar program S1 di University of Melbourne, salah satu universitas terbaik di Australia.",
|
"deskripsi_singkat": "Beasiswa untuk mahasiswa internasional berprestasi yang mendaftar program S1 di University of Melbourne, salah satu universitas terbaik di Australia.",
|
||||||
"deskripsi_singkat_en": "Scholarship for outstanding international students applying for an undergraduate program at the University of Melbourne, one of Australia's best universities.",
|
"deskripsi_singkat_en": "Scholarship for outstanding international students applying for an undergraduate program at the University of Melbourne, one of Australia's best universities.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -219,18 +261,23 @@
|
|||||||
"The scholarship is awarded automatically based on academic merit, no separate application required"
|
"The scholarship is awarded automatically based on academic merit, no separate application required"
|
||||||
],
|
],
|
||||||
"kontak": "University of Melbourne Future Students — unimelb.edu.au",
|
"kontak": "University of Melbourne Future Students — unimelb.edu.au",
|
||||||
"tanggal_buka": "2026-05-21",
|
|
||||||
"tanggal_tutup": "2026-10-31",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/university-of-melbourne-melbourne-international-undergraduate-scholarship-8",
|
|
||||||
"tags": ["S1", "Swasta", "Australia", "Partially Funded", "Prestasi"]
|
"tags": ["S1", "Swasta", "Australia", "Partially Funded", "Prestasi"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-009",
|
"id": 109,
|
||||||
"nama": "Charles Darwin University - CDU Global Merit Scholarship",
|
"nama": "Charles Darwin University - CDU Global Merit Scholarship",
|
||||||
"kategori": "Swasta",
|
"nama_en": "Charles Darwin University - CDU Global Merit Scholarship",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S1",
|
||||||
|
"negara": "Australia",
|
||||||
|
"tanggal_buka": "2026-05-21",
|
||||||
|
"tenggat_waktu": "2026-10-09",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/charles-darwin-university-cdu-global-merit-scholarship-9",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1434030216411-0b793f4b4173?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1434030216411-0b793f4b4173?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa merit global dari Charles Darwin University (CDU) di Darwin, Australia, untuk mahasiswa internasional S1 yang memiliki rekam jejak akademik yang kuat.",
|
"deskripsi_singkat": "Beasiswa merit global dari Charles Darwin University (CDU) di Darwin, Australia, untuk mahasiswa internasional S1 yang memiliki rekam jejak akademik yang kuat.",
|
||||||
"deskripsi_singkat_en": "Global merit scholarship from Charles Darwin University (CDU) in Darwin, Australia, for international undergraduate students with a strong academic track record.",
|
"deskripsi_singkat_en": "Global merit scholarship from Charles Darwin University (CDU) in Darwin, Australia, for international undergraduate students with a strong academic track record.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -248,18 +295,23 @@
|
|||||||
"Not currently receiving any other tuition fee discount from CDU"
|
"Not currently receiving any other tuition fee discount from CDU"
|
||||||
],
|
],
|
||||||
"kontak": "CDU International — cdu.edu.au",
|
"kontak": "CDU International — cdu.edu.au",
|
||||||
"tanggal_buka": "2026-05-21",
|
|
||||||
"tanggal_tutup": "2026-10-09",
|
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/charles-darwin-university-cdu-global-merit-scholarship-9",
|
|
||||||
"tags": ["S1", "Swasta", "Australia", "Partially Funded"]
|
"tags": ["S1", "Swasta", "Australia", "Partially Funded"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bsw-010",
|
"id": 110,
|
||||||
"nama": "Deakin University - Vice-Chancellor's International Scholarship",
|
"nama": "Deakin University - Vice-Chancellor's International Scholarship",
|
||||||
"kategori": "Swasta",
|
"nama_en": "Deakin University - Vice-Chancellor's International Scholarship",
|
||||||
"kategori_en": "Private",
|
|
||||||
"status": "Buka",
|
"status": "Buka",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tipe_pendanaan": "Swasta",
|
||||||
|
"jenjang": "S1 & S2",
|
||||||
|
"negara": "Australia",
|
||||||
|
"tanggal_buka": "2026-05-21",
|
||||||
|
"tenggat_waktu": "2026-09-25",
|
||||||
|
"url": "https://www.schoters.com/id/beasiswa/deakin-university-vice-chancellor-s-international-scholarship-10",
|
||||||
"thumbnail": "https://images.unsplash.com/photo-1541339907198-e08756dedf3f?w=400&q=80&auto=format&fit=crop",
|
"thumbnail": "https://images.unsplash.com/photo-1541339907198-e08756dedf3f?w=400&q=80&auto=format&fit=crop",
|
||||||
|
=======
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
"deskripsi_singkat": "Beasiswa bergengsi dari Wakil Rektor (Vice-Chancellor) Deakin University untuk mahasiswa internasional terbaik yang akan menempuh studi S1 atau S2 di Australia.",
|
"deskripsi_singkat": "Beasiswa bergengsi dari Wakil Rektor (Vice-Chancellor) Deakin University untuk mahasiswa internasional terbaik yang akan menempuh studi S1 atau S2 di Australia.",
|
||||||
"deskripsi_singkat_en": "Prestigious Vice-Chancellor's scholarship from Deakin University for the best international students pursuing an undergraduate or postgraduate degree in Australia.",
|
"deskripsi_singkat_en": "Prestigious Vice-Chancellor's scholarship from Deakin University for the best international students pursuing an undergraduate or postgraduate degree in Australia.",
|
||||||
"syarat_umum": [
|
"syarat_umum": [
|
||||||
@@ -277,9 +329,126 @@
|
|||||||
"Submit the scholarship application before the specified closing date"
|
"Submit the scholarship application before the specified closing date"
|
||||||
],
|
],
|
||||||
"kontak": "Deakin University International — deakin.edu.au",
|
"kontak": "Deakin University International — deakin.edu.au",
|
||||||
|
<<<<<<< HEAD
|
||||||
|
"tags": ["S1 & S2", "Swasta", "Australia", "Partially Funded", "Prestasi"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
=======
|
||||||
"tanggal_buka": "2026-05-21",
|
"tanggal_buka": "2026-05-21",
|
||||||
"tanggal_tutup": "2026-09-25",
|
"tanggal_tutup": "2026-09-25",
|
||||||
"url_sumber": "https://www.schoters.com/id/beasiswa/deakin-university-vice-chancellor-s-international-scholarship-10",
|
"url_sumber": "https://www.schoters.com/id/beasiswa/deakin-university-vice-chancellor-s-international-scholarship-10",
|
||||||
"tags": ["S1 & S2", "S2", "Swasta", "Australia", "Partially Funded", "Prestasi"]
|
"tags": ["S1 & S2", "S2", "Swasta", "Australia", "Partially Funded", "Prestasi"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bsw-011",
|
||||||
|
"nama": "Djarum Beasiswa Plus 2026/2027",
|
||||||
|
"nama_en": "Djarum Plus Scholarship 2026/2027",
|
||||||
|
"kategori": "Swasta",
|
||||||
|
"status": "Buka",
|
||||||
|
"deskripsi_singkat": "Program beasiswa prestasi dari Djarum Foundation untuk mahasiswa S1.",
|
||||||
|
"deskripsi_singkat_en": "Merit-based scholarship program from Djarum Foundation for undergraduate students.",
|
||||||
|
"syarat_umum": [
|
||||||
|
"Mahasiswa S1/D4 semester 4 dari semua disiplin ilmu.",
|
||||||
|
"IPK minimum 3.00 pada semester 3."
|
||||||
|
],
|
||||||
|
"syarat_umum_en": [
|
||||||
|
"4th-semester undergraduate (S1/D4) students from all disciplines.",
|
||||||
|
"Minimum GPA of 3.00 in the 3rd semester."
|
||||||
|
],
|
||||||
|
"kontak": "https://register.djarumbeasiswaplus.org/",
|
||||||
|
"tanggal_buka": "2026-04-08",
|
||||||
|
"tanggal_tutup": "2026-06-10",
|
||||||
|
"url_sumber": "https://register.djarumbeasiswaplus.org/",
|
||||||
|
"tags": ["S1", "D4", "Swasta", "Indonesia"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bsw-012",
|
||||||
|
"nama": "Beasiswa Sobat Bumi Kalimantan 2026",
|
||||||
|
"nama_en": "Sobat Bumi Kalimantan Scholarship 2026",
|
||||||
|
"kategori": "Swasta",
|
||||||
|
"status": "Buka",
|
||||||
|
"deskripsi_singkat": "Beasiswa dari Pertamina Foundation khusus mahasiswa S1 di wilayah Kalimantan.",
|
||||||
|
"deskripsi_singkat_en": "Scholarship from Pertamina Foundation specifically for undergraduate students in the Kalimantan region.",
|
||||||
|
"syarat_umum": [
|
||||||
|
"Mahasiswa S1 aktif yang berdomisili atau kuliah di Kalimantan.",
|
||||||
|
"Memiliki kepedulian terhadap lingkungan hidup."
|
||||||
|
],
|
||||||
|
"syarat_umum_en": [
|
||||||
|
"Active undergraduate students domiciled or studying in Kalimantan.",
|
||||||
|
"Demonstrate care and commitment to the environment."
|
||||||
|
],
|
||||||
|
"kontak": "https://pertaminafoundation.org/",
|
||||||
|
"tanggal_buka": "2026-05-02",
|
||||||
|
"tanggal_tutup": "2026-07-01",
|
||||||
|
"url_sumber": "https://pertaminafoundation.org/",
|
||||||
|
"tags": ["S1", "Swasta", "Indonesia"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bsw-013",
|
||||||
|
"nama": "Beasiswa Sehat Kemenkes 2026",
|
||||||
|
"nama_en": "Ministry of Health (Sehat) Scholarship 2026",
|
||||||
|
"kategori": "Pemerintah",
|
||||||
|
"status": "Segera Dibuka",
|
||||||
|
"deskripsi_singkat": "Program bantuan biaya pendidikan dari Kementerian Kesehatan untuk jenjang D3, D4, dan Profesi.",
|
||||||
|
"deskripsi_singkat_en": "Educational assistance program from the Ministry of Health for D3, D4, and Professional degrees.",
|
||||||
|
"syarat_umum": [
|
||||||
|
"Mahasiswa aktif jenjang D3, D4, atau Profesi di bidang kesehatan.",
|
||||||
|
"Memenuhi kualifikasi dan standar nilai dari Kementerian Kesehatan."
|
||||||
|
],
|
||||||
|
"syarat_umum_en": [
|
||||||
|
"Active D3, D4, or Professional degree students in the health sector.",
|
||||||
|
"Meet the qualifications and academic standards of the Ministry of Health."
|
||||||
|
],
|
||||||
|
"kontak": "https://sibk.kemkes.go.id/",
|
||||||
|
"tanggal_buka": "2026-06-08",
|
||||||
|
"tanggal_tutup": "2026-06-30",
|
||||||
|
"url_sumber": "https://sibk.kemkes.go.id/",
|
||||||
|
"tags": ["D3", "D4", "Profesi", "Pemerintah", "Indonesia"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bsw-014",
|
||||||
|
"nama": "Beasiswa SDM Sawit 2026",
|
||||||
|
"nama_en": "Palm Oil Human Resources Scholarship 2026",
|
||||||
|
"kategori": "Pemerintah",
|
||||||
|
"status": "Buka",
|
||||||
|
"deskripsi_singkat": "Beasiswa pendanaan BPDPKS untuk pengembangan SDM Perkebunan Kelapa Sawit (D1-D4, S1).",
|
||||||
|
"deskripsi_singkat_en": "BPDPKS funding scholarship for the development of Palm Oil Plantation Human Resources (D1-D4, S1).",
|
||||||
|
"syarat_umum": [
|
||||||
|
"Terbuka untuk lulusan SMA/SMK/sederajat yang melanjutkan ke jenjang D1-D4 atau S1.",
|
||||||
|
"Bersedia ditempatkan atau mengabdi di sektor perkebunan kelapa sawit."
|
||||||
|
],
|
||||||
|
"syarat_umum_en": [
|
||||||
|
"Open to high school/vocational school graduates continuing to D1-D4 or S1 levels.",
|
||||||
|
"Willing to be placed or serve in the palm oil plantation sector."
|
||||||
|
],
|
||||||
|
"kontak": "https://sdmperkebunan.bpdp.or.id/",
|
||||||
|
"tanggal_buka": "2026-06-03",
|
||||||
|
"tanggal_tutup": "2026-06-20",
|
||||||
|
"url_sumber": "https://sdmperkebunan.bpdp.or.id/",
|
||||||
|
"tags": ["S1", "D1", "D3", "D4", "Pemerintah", "Indonesia"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bsw-015",
|
||||||
|
"nama": "Beasiswa PPBP/PPTI BCA 2027",
|
||||||
|
"nama_en": "BCA PPBP/PPTI Scholarship 2027",
|
||||||
|
"kategori": "Swasta",
|
||||||
|
"status": "Buka",
|
||||||
|
"deskripsi_singkat": "Program Pendidikan Bisnis dan Perbankan (PPBP) serta Teknik Informatika (PPTI) dari BCA.",
|
||||||
|
"deskripsi_singkat_en": "Business and Banking Education Program (PPBP) and Informatics Engineering (PPTI) from BCA.",
|
||||||
|
"syarat_umum": [
|
||||||
|
"Lulusan SMA/SMK/sederajat yang berprestasi.",
|
||||||
|
"Lulus seleksi administrasi dan serangkaian tes dari BCA."
|
||||||
|
],
|
||||||
|
"syarat_umum_en": [
|
||||||
|
"High-achieving high school/vocational school graduates.",
|
||||||
|
"Pass the administrative selection and a series of tests from BCA."
|
||||||
|
],
|
||||||
|
"kontak": "https://bcafinance.co.id/Pendaftaran-Beasiswa-BCA-Finance-Peduli-2026-Dibuka",
|
||||||
|
"tanggal_buka": "2026-05-01",
|
||||||
|
"tanggal_tutup": "2026-10-20",
|
||||||
|
"url_sumber": "https://bcafinance.co.id/Pendaftaran-Beasiswa-BCA-Finance-Peduli-2026-Dibuka",
|
||||||
|
"tags": ["S1", "Swasta", "Indonesia"]
|
||||||
}
|
}
|
||||||
]
|
|
||||||
|
]
|
||||||
|
>>>>>>> b5bc7bad0c7de6e63a60018da0fe06e923bf094c
|
||||||
|
|||||||
@@ -12,11 +12,14 @@ Dokumentasi ini dibuat untuk memudahkan pengembang atau pengguna berikutnya dala
|
|||||||
- Data SOP: `groups/C4A/data/data-sop.json`
|
- Data SOP: `groups/C4A/data/data-sop.json`
|
||||||
- Data FAQ: `groups/C4A/data/data-faq.json`
|
- Data FAQ: `groups/C4A/data/data-faq.json`
|
||||||
|
|
||||||
2. **Ikon FontAwesome (v4)**:
|
2. **Dukungan Bilingual (ID/EN)**:
|
||||||
|
Semua teks konten yang ditampilkan ke pengguna mendukung dua bahasa. Anda perlu menggunakan objek dengan properti `id` (Bahasa Indonesia) dan `en` (Bahasa Inggris) pada setiap field teks. Jika properti `en` tidak diisi atau data masih berupa *string* biasa, sistem akan otomatis menggunakan Bahasa Indonesia sebagai *fallback*.
|
||||||
|
|
||||||
|
3. **Ikon FontAwesome (v4)**:
|
||||||
Jika ingin mengubah atau menambahkan logo/ikon pada data SOP, harap gunakan daftar ikon dari **FontAwesome v4** melalui tautan berikut:
|
Jika ingin mengubah atau menambahkan logo/ikon pada data SOP, harap gunakan daftar ikon dari **FontAwesome v4** melalui tautan berikut:
|
||||||
👉 **[FontAwesome v4 Icons](https://fontawesome.com/v4/icons/)** (Contoh penggunaan: `fa-dot-circle-o`, `fa-graduation-cap`, `fa-flask`).
|
👉 **[FontAwesome v4 Icons](https://fontawesome.com/v4/icons/)** (Contoh penggunaan: `fa-dot-circle-o`, `fa-graduation-cap`, `fa-flask`).
|
||||||
|
|
||||||
3. **Field Opsional**:
|
4. **Field Opsional**:
|
||||||
Pada data SOP, properti **`staff_responsible`** (Staf Bertanggung Jawab) dan **`additional_info`** (Informasi Tambahan) bersifat **opsional**. Jika informasi tersebut tidak tersedia, kosongkan nilainya atau hapus propertinya dari JSON agar UI secara otomatis menyembunyikan bloknya.
|
Pada data SOP, properti **`staff_responsible`** (Staf Bertanggung Jawab) dan **`additional_info`** (Informasi Tambahan) bersifat **opsional**. Jika informasi tersebut tidak tersedia, kosongkan nilainya atau hapus propertinya dari JSON agar UI secara otomatis menyembunyikan bloknya.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -30,21 +33,39 @@ Silakan salin-tempel (copy-paste) format di bawah ini ke dalam array JSON yang s
|
|||||||
{
|
{
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"name": "Nama Staf Beserta Gelar",
|
"name": "Nama Staf Beserta Gelar",
|
||||||
"role": "Peran / Jabatan Staf",
|
"role": {
|
||||||
|
"id": "Peran / Jabatan Staf",
|
||||||
|
"en": "Staff Role / Title"
|
||||||
|
},
|
||||||
"image": "assets/images/nama-file-foto.png",
|
"image": "assets/images/nama-file-foto.png",
|
||||||
"location": "Lokasi Ruang Kerja / Kantor Staf",
|
"location": {
|
||||||
|
"id": "Lokasi Ruang Kerja / Kantor Staf",
|
||||||
|
"en": "Staff Workspace / Office Location"
|
||||||
|
},
|
||||||
"contact_consent": true,
|
"contact_consent": true,
|
||||||
"phone": "628xxxxxxxxxx",
|
"phone": "628xxxxxxxxxx",
|
||||||
"schedule": [
|
"schedule": [
|
||||||
{
|
{
|
||||||
"day": "Hari Kerja (contoh: Senin – Jumat)",
|
"day": {
|
||||||
"time": "Jam Kerja (contoh: 07.30–16.00 WIB)",
|
"id": "Hari Kerja (contoh: Senin – Jumat)",
|
||||||
"break": "Jam Istirahat (contoh: istirahat 12.00–13.00 WIB)"
|
"en": "Work Days (e.g., Monday – Friday)"
|
||||||
|
},
|
||||||
|
"time": "07.30–16.00 WIB",
|
||||||
|
"break": {
|
||||||
|
"id": "Jam Istirahat (contoh: istirahat 12.00–13.00 WIB)",
|
||||||
|
"en": "Break Time (e.g., break 12.00–13.00 WIB)"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tasks": [
|
"tasks": [
|
||||||
"Tugas dan tanggung jawab utama 1",
|
{
|
||||||
"Tugas dan tanggung jawab utama 2"
|
"id": "Tugas dan tanggung jawab utama 1",
|
||||||
|
"en": "Main task and responsibility 1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Tugas dan tanggung jawab utama 2",
|
||||||
|
"en": "Main task and responsibility 2"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@@ -57,21 +78,33 @@ Silakan salin-tempel (copy-paste) format di bawah ini ke dalam array JSON yang s
|
|||||||
"tab_number": 9,
|
"tab_number": 9,
|
||||||
"category": "akademik",
|
"category": "akademik",
|
||||||
"icon": "fa-file-text",
|
"icon": "fa-file-text",
|
||||||
"title": "Judul Lengkap SOP",
|
"title": {
|
||||||
"description": "Deskripsi singkat mengenai SOP ini.",
|
"id": "Judul Lengkap SOP",
|
||||||
"purpose": "Tujuan dibuatnya standar operasional prosedur ini.",
|
"en": "Full SOP Title"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"id": "Deskripsi singkat mengenai SOP ini.",
|
||||||
|
"en": "Brief description of this SOP."
|
||||||
|
},
|
||||||
|
"purpose": {
|
||||||
|
"id": "Tujuan dibuatnya standar operasional prosedur ini.",
|
||||||
|
"en": "The purpose of creating this standard operating procedure."
|
||||||
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
"Persyaratan administratif/akademik 1",
|
{ "id": "Persyaratan administratif/akademik 1", "en": "Administrative/academic requirement 1" },
|
||||||
"Persyaratan administratif/akademik 2"
|
{ "id": "Persyaratan administratif/akademik 2", "en": "Administrative/academic requirement 2" }
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
"Langkah alur prosedur ke-1",
|
{ "id": "Langkah alur prosedur ke-1", "en": "Procedure flow step 1" },
|
||||||
"Langkah alur prosedur ke-2"
|
{ "id": "Langkah alur prosedur ke-2", "en": "Procedure flow step 2" }
|
||||||
],
|
],
|
||||||
"staff_responsible": [
|
"staff_responsible": [
|
||||||
"👤 Staf Administrasi Informatika"
|
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
|
||||||
],
|
],
|
||||||
"additional_info": "Informasi tambahan penting."
|
"additional_info": {
|
||||||
|
"id": "Informasi tambahan penting.",
|
||||||
|
"en": "Important additional information."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
*Catatan: Properti `category` bernilai antara `"akademik"` atau `"praktikum"`. Properti `staff_responsible` dan `additional_info` bersifat opsional.*
|
*Catatan: Properti `category` bernilai antara `"akademik"` atau `"praktikum"`. Properti `staff_responsible` dan `additional_info` bersifat opsional.*
|
||||||
@@ -80,7 +113,13 @@ Silakan salin-tempel (copy-paste) format di bawah ini ke dalam array JSON yang s
|
|||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"id": 11,
|
"id": 11,
|
||||||
"question": "Pertanyaan yang sering diajukan?",
|
"question": {
|
||||||
"answer": "Jawaban dari pertanyaan tersebut. Boleh menggunakan tag HTML seperti <strong>tebal</strong>."
|
"id": "Pertanyaan yang sering diajukan?",
|
||||||
|
"en": "Frequently asked question?"
|
||||||
|
},
|
||||||
|
"answer": {
|
||||||
|
"id": "Jawaban dari pertanyaan tersebut. Boleh menggunakan tag HTML seperti <strong>tebal</strong>.",
|
||||||
|
"en": "Answer to the question. HTML tags like <strong>bold</strong> can be used."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
|
After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 313 KiB |
@@ -17,20 +17,56 @@
|
|||||||
"en": "This SOP aims to explain the procedures for conducting lectures for students of the Informatics Study Program at Tanjungpura University."
|
"en": "This SOP aims to explain the procedures for conducting lectures for students of the Informatics Study Program at Tanjungpura University."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Mahasiswa telah melakukan pembayaran UKT", "en": "Student has completed UKT payment" },
|
{
|
||||||
{ "id": "Mahasiswa telah mengisi KRS", "en": "Student has filled out the KRS" },
|
"id": "Mahasiswa telah melakukan pembayaran UKT",
|
||||||
{ "id": "Mahasiswa terdaftar di kelas Edlink", "en": "Student is registered in Edlink classes" },
|
"en": "Student has completed UKT payment"
|
||||||
{ "id": "Mahasiswa wajib mengikuti perkuliahan dan menyelesaikan tugas tepat waktu", "en": "Students must attend lectures and complete assignments on time" },
|
},
|
||||||
{ "id": "Mahasiswa wajib mengisi daftar hadir dan memberikan alasan resmi jika tidak hadir", "en": "Students must fill in the attendance list and provide an official reason if absent" },
|
{
|
||||||
{ "id": "Mahasiswa memenuhi minimal 70% kehadiran untuk mengikuti UAS", "en": "Students must meet a minimum of 70% attendance to take the UAS" }
|
"id": "Mahasiswa telah mengisi KRS",
|
||||||
|
"en": "Student has filled out the KRS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa terdaftar di kelas Edlink",
|
||||||
|
"en": "Student is registered in Edlink classes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa wajib mengikuti perkuliahan dan menyelesaikan tugas tepat waktu",
|
||||||
|
"en": "Students must attend lectures and complete assignments on time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa wajib mengisi daftar hadir dan memberikan alasan resmi jika tidak hadir",
|
||||||
|
"en": "Students must fill in the attendance list and provide an official reason if absent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa memenuhi minimal 70% kehadiran untuk mengikuti UAS",
|
||||||
|
"en": "Students must meet a minimum of 70% attendance to take the UAS"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Dosen memasuki ruang perkuliahan sesuai jadwal yang telah ditetapkan", "en": "The lecturer enters the lecture room according to the set schedule" },
|
{
|
||||||
{ "id": "Dosen mengabsensi mahasiswa dengan mencantumkan keterangan hadir, izin, atau tidak hadir", "en": "The lecturer takes attendance, noting present, excused, or absent" },
|
"id": "Dosen memasuki ruang perkuliahan sesuai jadwal yang telah ditetapkan",
|
||||||
{ "id": "Pada pertemuan pertama, dosen membuat kontrak perkuliahan secara tertulis bersama mahasiswa", "en": "At the first meeting, the lecturer creates a written lecture contract with students" },
|
"en": "The lecturer enters the lecture room according to the set schedule"
|
||||||
{ "id": "Dosen menjelaskan materi perkuliahan sesuai RPS yang telah diserahkan ke program studi", "en": "The lecturer explains the course material according to the RPS submitted to the study program" },
|
},
|
||||||
{ "id": "Mahasiswa mendiskusikan, mencatat, dan mengkritisi materi perkuliahan", "en": "Students discuss, take notes, and critically engage with the lecture material" },
|
{
|
||||||
{ "id": "Dosen menyimpulkan materi perkuliahan dan memberikan penugasan", "en": "The lecturer summarizes the lecture material and gives assignments" }
|
"id": "Dosen mengabsensi mahasiswa dengan mencantumkan keterangan hadir, izin, atau tidak hadir",
|
||||||
|
"en": "The lecturer takes attendance, noting present, excused, or absent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Pada pertemuan pertama, dosen membuat kontrak perkuliahan secara tertulis bersama mahasiswa",
|
||||||
|
"en": "At the first meeting, the lecturer creates a written lecture contract with students"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Dosen menjelaskan materi perkuliahan sesuai RPS yang telah diserahkan ke program studi",
|
||||||
|
"en": "The lecturer explains the course material according to the RPS submitted to the study program"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mendiskusikan, mencatat, dan mengkritisi materi perkuliahan",
|
||||||
|
"en": "Students discuss, take notes, and critically engage with the lecture material"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Dosen menyimpulkan materi perkuliahan dan memberikan penugasan",
|
||||||
|
"en": "The lecturer summarizes the lecture material and gives assignments"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"additional_info": {
|
"additional_info": {
|
||||||
"id": "Mahasiswa yang tidak memenuhi persyaratan kehadiran minimal tidak diperkenankan mengikuti Ujian Akhir Semester (UAS) sesuai ketentuan akademik yang berlaku.",
|
"id": "Mahasiswa yang tidak memenuhi persyaratan kehadiran minimal tidak diperkenankan mengikuti Ujian Akhir Semester (UAS) sesuai ketentuan akademik yang berlaku.",
|
||||||
@@ -55,14 +91,32 @@
|
|||||||
"en": "This SOP aims to ensure the smooth process of student learning evaluation through UTS and UAS so that it runs orderly, measurably, and in accordance with the course lecturer's instructions."
|
"en": "This SOP aims to ensure the smooth process of student learning evaluation through UTS and UAS so that it runs orderly, measurably, and in accordance with the course lecturer's instructions."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Mahasiswa terdaftar aktif pada mata kuliah yang sedang berjalan pada semester tersebut", "en": "Students are actively registered in the courses running in that semester" },
|
{
|
||||||
{ "id": "Persentase kehadiran perkuliahan mahasiswa tidak kurang dari 75%", "en": "Student lecture attendance percentage is not less than 75%" }
|
"id": "Mahasiswa terdaftar aktif pada mata kuliah yang sedang berjalan pada semester tersebut",
|
||||||
|
"en": "Students are actively registered in the courses running in that semester"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Persentase kehadiran perkuliahan mahasiswa tidak kurang dari 75%",
|
||||||
|
"en": "Student lecture attendance percentage is not less than 75%"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Dosen pengampu menentukan kriteria UTS dan UAS", "en": "The course lecturer determines the UTS and UAS criteria" },
|
{
|
||||||
{ "id": "Mahasiswa mengikuti UTS atau UAS sesuai instruksi dosen pengampu, dan wajib melakukan presensi", "en": "Students take UTS or UAS according to the lecturer's instructions and must complete attendance" },
|
"id": "Dosen pengampu menentukan kriteria UTS dan UAS",
|
||||||
{ "id": "Mahasiswa mengumpulkan hasil UTS atau UAS sesuai rentang waktu yang diberikan", "en": "Students submit UTS or UAS results within the given timeframe" },
|
"en": "The course lecturer determines the UTS and UAS criteria"
|
||||||
{ "id": "Dosen menilai dan merekap pengerjaan UTS atau UAS mahasiswa", "en": "The lecturer grades and records the students' UTS or UAS work" }
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mengikuti UTS atau UAS sesuai instruksi dosen pengampu, dan wajib melakukan presensi",
|
||||||
|
"en": "Students take UTS or UAS according to the lecturer's instructions and must complete attendance"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mengumpulkan hasil UTS atau UAS sesuai rentang waktu yang diberikan",
|
||||||
|
"en": "Students submit UTS or UAS results within the given timeframe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Dosen menilai dan merekap pengerjaan UTS atau UAS mahasiswa",
|
||||||
|
"en": "The lecturer grades and records the students' UTS or UAS work"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"additional_info": {
|
"additional_info": {
|
||||||
"id": "Segala bentuk kecurangan saat ujian, maupun tindakan plagiarisme dalam pengerjaan UTS/UAS, dapat mengakibatkan pembatalan nilai atau pemberian sanksi.",
|
"id": "Segala bentuk kecurangan saat ujian, maupun tindakan plagiarisme dalam pengerjaan UTS/UAS, dapat mengakibatkan pembatalan nilai atau pemberian sanksi.",
|
||||||
@@ -87,15 +141,36 @@
|
|||||||
"en": "This SOP aims to provide guidelines for conducting lecture evaluations to support the improvement of learning quality in the Informatics Study Program at Tanjungpura University."
|
"en": "This SOP aims to provide guidelines for conducting lecture evaluations to support the improvement of learning quality in the Informatics Study Program at Tanjungpura University."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Mahasiswa terdaftar aktif pada semester berjalan", "en": "Students are actively registered for the current semester" },
|
{
|
||||||
{ "id": "Telah mengikuti kegiatan perkuliahan pada mata kuliah yang dievaluasi", "en": "Has attended lecture activities for the course being evaluated" },
|
"id": "Mahasiswa terdaftar aktif pada semester berjalan",
|
||||||
{ "id": "Tersedia akses ke sistem evaluasi perkuliahan", "en": "Access to the lecture evaluation system is available" }
|
"en": "Students are actively registered for the current semester"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Telah mengikuti kegiatan perkuliahan pada mata kuliah yang dievaluasi",
|
||||||
|
"en": "Has attended lecture activities for the course being evaluated"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Tersedia akses ke sistem evaluasi perkuliahan",
|
||||||
|
"en": "Access to the lecture evaluation system is available"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Program Studi membuka periode evaluasi perkuliahan", "en": "The Study Program opens the lecture evaluation period" },
|
{
|
||||||
{ "id": "Mahasiswa mengakses satu untan dan mengisi kuesioner evaluasi perkuliahan", "en": "Students access the Satu Untan portal and fill out the lecture evaluation questionnaire" },
|
"id": "Program Studi membuka periode evaluasi perkuliahan",
|
||||||
{ "id": "Sistem merekap hasil evaluasi yang telah diisi mahasiswa", "en": "The system records the evaluation results filled in by students" },
|
"en": "The Study Program opens the lecture evaluation period"
|
||||||
{ "id": "Program Studi meninjau hasil evaluasi sebagai bahan pengembangan perkuliahan", "en": "The Study Program reviews the evaluation results as material for lecture development" }
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mengakses satu untan dan mengisi kuesioner evaluasi perkuliahan",
|
||||||
|
"en": "Students access the Satu Untan portal and fill out the lecture evaluation questionnaire"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Sistem merekap hasil evaluasi yang telah diisi mahasiswa",
|
||||||
|
"en": "The system records the evaluation results filled in by students"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Program Studi meninjau hasil evaluasi sebagai bahan pengembangan perkuliahan",
|
||||||
|
"en": "The Study Program reviews the evaluation results as material for lecture development"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"additional_info": {
|
"additional_info": {
|
||||||
"id": "Hasil evaluasi digunakan sebagai dasar perbaikan dan pengembangan kualitas pembelajaran pada semester berikutnya. Pengisian evaluasi perkuliahan dapat menjadi salah satu syarat untuk mengakses hasil studi sesuai kebijakan yang berlaku.",
|
"id": "Hasil evaluasi digunakan sebagai dasar perbaikan dan pengembangan kualitas pembelajaran pada semester berikutnya. Pengisian evaluasi perkuliahan dapat menjadi salah satu syarat untuk mengakses hasil studi sesuai kebijakan yang berlaku.",
|
||||||
@@ -120,21 +195,60 @@
|
|||||||
"en": "This SOP aims to provide guidelines to all relevant parties in the implementation of the Internship and to improve the efficiency and effectiveness of its execution in the Informatics Study Program, Faculty of Engineering, Tanjungpura University."
|
"en": "This SOP aims to provide guidelines to all relevant parties in the implementation of the Internship and to improve the efficiency and effectiveness of its execution in the Informatics Study Program, Faculty of Engineering, Tanjungpura University."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Telah lulus minimal 100 SKS", "en": "Has passed a minimum of 100 credits (SKS)" },
|
{
|
||||||
{ "id": "Memiliki IPK minimal 2,00", "en": "Has a minimum GPA of 2.00" },
|
"id": "Telah lulus minimal 100 SKS",
|
||||||
{ "id": "Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C", "en": "Has passed the Final Project Proposal Writing course with a minimum grade of C" },
|
"en": "Has passed a minimum of 100 credits (SKS)"
|
||||||
{ "id": "Menyerahkan berkas pendukung pengajuan KP (KTM, riwayat studi, transkrip, dan surat permohonan)", "en": "Submits supporting documents for the KP application (student ID, academic record, transcript, and application letter)" },
|
},
|
||||||
{ "id": "Pembimbing Lapangan dari tempat KP memiliki kualifikasi pendidikan minimal S1/D4", "en": "The Field Supervisor at the KP institution holds a minimum educational qualification of Bachelor's (S1) or Applied Bachelor's (D4)" }
|
{
|
||||||
|
"id": "Memiliki IPK minimal 2,00",
|
||||||
|
"en": "Has a minimum GPA of 2.00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C",
|
||||||
|
"en": "Has passed the Final Project Proposal Writing course with a minimum grade of C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Menyerahkan berkas pendukung pengajuan KP (KTM, riwayat studi, transkrip, dan surat permohonan)",
|
||||||
|
"en": "Submits supporting documents for the KP application (student ID, academic record, transcript, and application letter)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Pembimbing Lapangan dari tempat KP memiliki kualifikasi pendidikan minimal S1/D4",
|
||||||
|
"en": "The Field Supervisor at the KP institution holds a minimum educational qualification of Bachelor's (S1) or Applied Bachelor's (D4)"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Mahasiswa mengusulkan topik, draf proposal, dan menyerahkan berkas KP", "en": "Students propose a topic, submit a draft proposal, and submit KP documents" },
|
{
|
||||||
{ "id": "Staf Administrasi memverifikasi kelengkapan berkas", "en": "Administrative Staff verifies the completeness of documents" },
|
"id": "Mahasiswa mengusulkan topik, draf proposal, dan menyerahkan berkas KP",
|
||||||
{ "id": "Ketua Prodi menerbitkan surat pengantar KP", "en": "The Head of the Study Program issues the KP introductory letter" },
|
"en": "Students propose a topic, submit a draft proposal, and submit KP documents"
|
||||||
{ "id": "Mahasiswa melaksanakan KP dan mengikuti bimbingan", "en": "Students carry out the KP and attend supervision sessions" },
|
},
|
||||||
{ "id": "Pembimbing Lapangan memberikan penilaian KP", "en": "The Field Supervisor provides a KP assessment" },
|
{
|
||||||
{ "id": "Mahasiswa mengajukan seminar dan Prodi menerbitkan undangan", "en": "Students apply for the seminar and the Study Program issues an invitation" },
|
"id": "Staf Administrasi memverifikasi kelengkapan berkas",
|
||||||
{ "id": "Mahasiswa melaksanakan seminar KP", "en": "Students conduct the KP seminar" },
|
"en": "Administrative Staff verifies the completeness of documents"
|
||||||
{ "id": "Mahasiswa melakukan revisi laporan akhir KP", "en": "Students revise the final KP report" }
|
},
|
||||||
|
{
|
||||||
|
"id": "Ketua Prodi menerbitkan surat pengantar KP",
|
||||||
|
"en": "The Head of the Study Program issues the KP introductory letter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa melaksanakan KP dan mengikuti bimbingan",
|
||||||
|
"en": "Students carry out the KP and attend supervision sessions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Pembimbing Lapangan memberikan penilaian KP",
|
||||||
|
"en": "The Field Supervisor provides a KP assessment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mengajukan seminar dan Prodi menerbitkan undangan",
|
||||||
|
"en": "Students apply for the seminar and the Study Program issues an invitation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa melaksanakan seminar KP",
|
||||||
|
"en": "Students conduct the KP seminar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa melakukan revisi laporan akhir KP",
|
||||||
|
"en": "Students revise the final KP report"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"staff_responsible": [
|
"staff_responsible": [
|
||||||
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
|
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
|
||||||
@@ -162,22 +276,64 @@
|
|||||||
"en": "This SOP aims to provide guidance to students and lecturers in the implementation of the thesis so that the thesis writing process runs in an orderly, directed, and academically compliant manner."
|
"en": "This SOP aims to provide guidance to students and lecturers in the implementation of the thesis so that the thesis writing process runs in an orderly, directed, and academically compliant manner."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Telah lulus minimal 120 SKS", "en": "Has passed a minimum of 120 credits (SKS)" },
|
{
|
||||||
{ "id": "Memiliki IPK minimal 2,00", "en": "Has a minimum GPA of 2.00" },
|
"id": "Telah lulus minimal 120 SKS",
|
||||||
{ "id": "Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C", "en": "Has passed the Final Project Proposal Writing course with a minimum grade of C" },
|
"en": "Has passed a minimum of 120 credits (SKS)"
|
||||||
{ "id": "Telah mendaftarkan mata kuliah skripsi pada KRS", "en": "Has registered the thesis course in the KRS" },
|
},
|
||||||
{ "id": "Telah menyiapkan judul dan proposal skripsi", "en": "Has prepared a thesis title and proposal" },
|
{
|
||||||
{ "id": "Memiliki dosen pembimbing skripsi", "en": "Has a thesis supervisor" },
|
"id": "Memiliki IPK minimal 2,00",
|
||||||
{ "id": "Melengkapi berkas persyaratan", "en": "Completes the required documents" }
|
"en": "Has a minimum GPA of 2.00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C",
|
||||||
|
"en": "Has passed the Final Project Proposal Writing course with a minimum grade of C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Telah mendaftarkan mata kuliah skripsi pada KRS",
|
||||||
|
"en": "Has registered the thesis course in the KRS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Telah menyiapkan judul dan proposal skripsi",
|
||||||
|
"en": "Has prepared a thesis title and proposal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Memiliki dosen pembimbing skripsi",
|
||||||
|
"en": "Has a thesis supervisor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Melengkapi berkas persyaratan",
|
||||||
|
"en": "Completes the required documents"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Mahasiswa mengajukan judul dan proposal skripsi", "en": "Students submit the thesis title and proposal" },
|
{
|
||||||
{ "id": "Program studi menetapkan dosen pembimbing skripsi", "en": "The study program assigns a thesis supervisor" },
|
"id": "Mahasiswa mengajukan judul dan proposal skripsi",
|
||||||
{ "id": "Mahasiswa melakukan bimbingan dan penyusunan skripsi", "en": "Students conduct supervision sessions and write the thesis" },
|
"en": "Students submit the thesis title and proposal"
|
||||||
{ "id": "Mahasiswa mengajukan seminar atau sidang skripsi", "en": "Students apply for the thesis seminar or defense" },
|
},
|
||||||
{ "id": "Tim penguji dan pembimbing melaksanakan seminar skripsi", "en": "The examination committee and supervisor conduct the thesis seminar" },
|
{
|
||||||
{ "id": "Mahasiswa melakukan revisi skripsi", "en": "Students revise the thesis" },
|
"id": "Program studi menetapkan dosen pembimbing skripsi",
|
||||||
{ "id": "Mahasiswa menyerahkan skripsi final", "en": "Students submit the final thesis" }
|
"en": "The study program assigns a thesis supervisor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa melakukan bimbingan dan penyusunan skripsi",
|
||||||
|
"en": "Students conduct supervision sessions and write the thesis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mengajukan seminar atau sidang skripsi",
|
||||||
|
"en": "Students apply for the thesis seminar or defense"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Tim penguji dan pembimbing melaksanakan seminar skripsi",
|
||||||
|
"en": "The examination committee and supervisor conduct the thesis seminar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa melakukan revisi skripsi",
|
||||||
|
"en": "Students revise the thesis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa menyerahkan skripsi final",
|
||||||
|
"en": "Students submit the final thesis"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"staff_responsible": [
|
"staff_responsible": [
|
||||||
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
|
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
|
||||||
@@ -205,15 +361,36 @@
|
|||||||
"en": "This SOP aims to explain the procedures for conducting courses that have a practicum component in the current semester."
|
"en": "This SOP aims to explain the procedures for conducting courses that have a practicum component in the current semester."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Terdaftar sebagai peserta mata kuliah yang memiliki komponen praktikum pada semester berjalan", "en": "Registered as a participant in courses with a practicum component in the current semester" },
|
{
|
||||||
{ "id": "Mahasiswa membawa perlengkapan praktikum yang diperlukan", "en": "Students bring the required practicum equipment" }
|
"id": "Terdaftar sebagai peserta mata kuliah yang memiliki komponen praktikum pada semester berjalan",
|
||||||
|
"en": "Registered as a participant in courses with a practicum component in the current semester"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa membawa perlengkapan praktikum yang diperlukan",
|
||||||
|
"en": "Students bring the required practicum equipment"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Dosen mata kuliah menuntaskan pembahasan materi yang menjadi dasar praktikum", "en": "The course lecturer completes the discussion of material that forms the basis of the practicum" },
|
{
|
||||||
{ "id": "Mahasiswa mengisi daftar hadir dan menerima penjelasan prosedur praktikum", "en": "Students fill in the attendance list and receive an explanation of the practicum procedures" },
|
"id": "Dosen mata kuliah menuntaskan pembahasan materi yang menjadi dasar praktikum",
|
||||||
{ "id": "Mahasiswa melaksanakan praktikum sesuai modul di bawah pengawasan dosen atau asisten praktikum", "en": "Students carry out the practicum according to the module under the supervision of the lecturer or practicum assistant" },
|
"en": "The course lecturer completes the discussion of material that forms the basis of the practicum"
|
||||||
{ "id": "Mahasiswa menyusun dan mengumpulkan laporan praktikum sesuai tenggat waktu", "en": "Students compile and submit the practicum report by the deadline" },
|
},
|
||||||
{ "id": "Dosen atau asisten melakukan penilaian laporan dan hasil praktikum sebagai komponen nilai akhir", "en": "The lecturer or assistant grades the practicum report and results as a component of the final grade" }
|
{
|
||||||
|
"id": "Mahasiswa mengisi daftar hadir dan menerima penjelasan prosedur praktikum",
|
||||||
|
"en": "Students fill in the attendance list and receive an explanation of the practicum procedures"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa melaksanakan praktikum sesuai modul di bawah pengawasan dosen atau asisten praktikum",
|
||||||
|
"en": "Students carry out the practicum according to the module under the supervision of the lecturer or practicum assistant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa menyusun dan mengumpulkan laporan praktikum sesuai tenggat waktu",
|
||||||
|
"en": "Students compile and submit the practicum report by the deadline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Dosen atau asisten melakukan penilaian laporan dan hasil praktikum sebagai komponen nilai akhir",
|
||||||
|
"en": "The lecturer or assistant grades the practicum report and results as a component of the final grade"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"additional_info": {
|
"additional_info": {
|
||||||
"id": "Mahasiswa wajib mengikuti seluruh ketentuan praktikum dan menjaga ketertiban serta keamanan selama kegiatan praktikum berlangsung.",
|
"id": "Mahasiswa wajib mengikuti seluruh ketentuan praktikum dan menjaga ketertiban serta keamanan selama kegiatan praktikum berlangsung.",
|
||||||
@@ -238,16 +415,40 @@
|
|||||||
"en": "This SOP aims to serve as a standard guide for conducting transparent Practicum Assistant recruitment, in order to select competent and committed Informatics UNTAN students according to course qualifications."
|
"en": "This SOP aims to serve as a standard guide for conducting transparent Practicum Assistant recruitment, in order to select competent and committed Informatics UNTAN students according to course qualifications."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Mahasiswa aktif Program Studi Informatika UNTAN", "en": "Active student of the Informatics Study Program at UNTAN" },
|
{
|
||||||
{ "id": "Lulus mata kuliah terkait dengan nilai minimal ketentuan Dosen Pengampu", "en": "Passed the relevant course with a minimum grade as per the Lecturer's requirements" },
|
"id": "Mahasiswa aktif Program Studi Informatika UNTAN",
|
||||||
{ "id": "Berkomitmen mengikuti seluruh jadwal dan kontrak praktikum selama semester berjalan", "en": "Committed to following all practicum schedules and contracts throughout the current semester" }
|
"en": "Active student of the Informatics Study Program at UNTAN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Lulus mata kuliah terkait dengan nilai minimal ketentuan Dosen Pengampu",
|
||||||
|
"en": "Passed the relevant course with a minimum grade as per the Lecturer's requirements"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Berkomitmen mengikuti seluruh jadwal dan kontrak praktikum selama semester berjalan",
|
||||||
|
"en": "Committed to following all practicum schedules and contracts throughout the current semester"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Dosen mendata kebutuhan kuota dan kualifikasi Asisten Praktikum", "en": "The lecturer records the quota needs and qualifications for Practicum Assistants" },
|
{
|
||||||
{ "id": "Dosen mengumumkan pembukaan rekrutmen asisten praktikum", "en": "The lecturer announces the opening of Practicum Assistant recruitment" },
|
"id": "Dosen mendata kebutuhan kuota dan kualifikasi Asisten Praktikum",
|
||||||
{ "id": "Mahasiswa mendaftarkan diri sesuai persyaratan yang diberikan", "en": "Students register according to the given requirements" },
|
"en": "The lecturer records the quota needs and qualifications for Practicum Assistants"
|
||||||
{ "id": "Dosen melakukan seleksi wawancara kepada calon asisten praktikum", "en": "The lecturer conducts interview selection for practicum assistant candidates" },
|
},
|
||||||
{ "id": "Dosen mengumumkan calon yang diterima berdasarkan hasil seleksi", "en": "The lecturer announces the accepted candidates based on the selection results" }
|
{
|
||||||
|
"id": "Dosen mengumumkan pembukaan rekrutmen asisten praktikum",
|
||||||
|
"en": "The lecturer announces the opening of Practicum Assistant recruitment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Mahasiswa mendaftarkan diri sesuai persyaratan yang diberikan",
|
||||||
|
"en": "Students register according to the given requirements"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Dosen melakukan seleksi wawancara kepada calon asisten praktikum",
|
||||||
|
"en": "The lecturer conducts interview selection for practicum assistant candidates"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Dosen mengumumkan calon yang diterima berdasarkan hasil seleksi",
|
||||||
|
"en": "The lecturer announces the accepted candidates based on the selection results"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"additional_info": {
|
"additional_info": {
|
||||||
"id": "Keputusan hasil seleksi bersifat final dan ditetapkan oleh dosen pengampu mata kuliah. Asisten Praktikum yang terpilih wajib mematuhi seluruh ketentuan yang berlaku selama menjalankan tugas sebagai Asisten Praktikum.",
|
"id": "Keputusan hasil seleksi bersifat final dan ditetapkan oleh dosen pengampu mata kuliah. Asisten Praktikum yang terpilih wajib mematuhi seluruh ketentuan yang berlaku selama menjalankan tugas sebagai Asisten Praktikum.",
|
||||||
@@ -272,15 +473,36 @@
|
|||||||
"en": "This SOP aims to explain the procedures for borrowing the computer lab and to ensure that borrowing supports the smooth teaching and learning process in the Informatics Study Program at Tanjungpura University."
|
"en": "This SOP aims to explain the procedures for borrowing the computer lab and to ensure that borrowing supports the smooth teaching and learning process in the Informatics Study Program at Tanjungpura University."
|
||||||
},
|
},
|
||||||
"requirements": [
|
"requirements": [
|
||||||
{ "id": "Melampirkan surat permohonan peminjaman laboratorium", "en": "Attach a laboratory borrowing request letter" },
|
{
|
||||||
{ "id": "Terdapat dosen atau asisten praktikum yang bertanggung jawab", "en": "A responsible lecturer or practicum assistant is present" },
|
"id": "Melampirkan surat permohonan peminjaman laboratorium",
|
||||||
{ "id": "Pengguna menaati tata tertib dan ketentuan penggunaan perangkat laboratorium", "en": "Users comply with the rules and regulations for using laboratory equipment" }
|
"en": "Attach a laboratory borrowing request letter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Terdapat dosen atau asisten praktikum yang bertanggung jawab",
|
||||||
|
"en": "A responsible lecturer or practicum assistant is present"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Pengguna menaati tata tertib dan ketentuan penggunaan perangkat laboratorium",
|
||||||
|
"en": "Users comply with the rules and regulations for using laboratory equipment"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"procedures": [
|
"procedures": [
|
||||||
{ "id": "Dosen atau mahasiswa mengajukan surat permohonan peminjaman laboratorium kepada pengelola", "en": "The lecturer or student submits a laboratory borrowing request letter to the management" },
|
{
|
||||||
{ "id": "Pengguna menyampaikan jadwal penggunaan laboratorium", "en": "The user submits the laboratory usage schedule" },
|
"id": "Dosen atau mahasiswa mengajukan surat permohonan peminjaman laboratorium kepada pengelola",
|
||||||
{ "id": "Pengelola menyusun jadwal penggunaan laboratorium", "en": "The management arranges the laboratory usage schedule" },
|
"en": "The lecturer or student submits a laboratory borrowing request letter to the management"
|
||||||
{ "id": "Laboratorium digunakan sesuai jadwal dan ketentuan yang berlaku", "en": "The laboratory is used according to the schedule and applicable regulations" }
|
},
|
||||||
|
{
|
||||||
|
"id": "Pengguna menyampaikan jadwal penggunaan laboratorium",
|
||||||
|
"en": "The user submits the laboratory usage schedule"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Pengelola menyusun jadwal penggunaan laboratorium",
|
||||||
|
"en": "The management arranges the laboratory usage schedule"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Laboratorium digunakan sesuai jadwal dan ketentuan yang berlaku",
|
||||||
|
"en": "The laboratory is used according to the schedule and applicable regulations"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"staff_responsible": [
|
"staff_responsible": [
|
||||||
"👤 Staf Laboratorium Informatika / Informatics Laboratory Staff"
|
"👤 Staf Laboratorium Informatika / Informatics Laboratory Staff"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"id": "Staf Administrasi Informatika",
|
"id": "Staf Administrasi Informatika",
|
||||||
"en": "Informatics Administrative Staff"
|
"en": "Informatics Administrative Staff"
|
||||||
},
|
},
|
||||||
"image": "assets/images/staff-female.png",
|
"image": "assets/images/foto-profile.jpeg",
|
||||||
"location": {
|
"location": {
|
||||||
"id": "Ruang Administrasi Prodi Informatika",
|
"id": "Ruang Administrasi Prodi Informatika",
|
||||||
"en": "Informatics Study Program Administration Room"
|
"en": "Informatics Study Program Administration Room"
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"id": "Staf Laboratorium Informatika",
|
"id": "Staf Laboratorium Informatika",
|
||||||
"en": "Informatics Laboratory Staff"
|
"en": "Informatics Laboratory Staff"
|
||||||
},
|
},
|
||||||
"image": "assets/images/staff-male.png",
|
"image": "assets/images/foto-profile.jpeg",
|
||||||
"location": {
|
"location": {
|
||||||
"id": "Laboratorium Informatika",
|
"id": "Laboratorium Informatika",
|
||||||
"en": "Informatics Laboratory"
|
"en": "Informatics Laboratory"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="id" class="scroll-smooth">
|
<html lang="id" class="scroll-smooth">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
@@ -1163,7 +1163,7 @@
|
|||||||
<div class="c4a-hero-tag" data-i18n="grp_c4a_hero_tag">LAYANAN AKADEMIK • INFORMATIKA UNTAN
|
<div class="c4a-hero-tag" data-i18n="grp_c4a_hero_tag">LAYANAN AKADEMIK • INFORMATIKA UNTAN
|
||||||
</div>
|
</div>
|
||||||
<h1 class="c4a-hero-title" data-i18n-html="grp_c4a_hero_title">
|
<h1 class="c4a-hero-title" data-i18n-html="grp_c4a_hero_title">
|
||||||
Staf Pendukung & <br />
|
Staf Pendukung & <br/>
|
||||||
<span class="highlight-orange">Standar Operasional Prosedur (SOP)</span>
|
<span class="highlight-orange">Standar Operasional Prosedur (SOP)</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="c4a-hero-desc" data-i18n="grp_c4a_hero_desc">Halaman ini menampilkan informasi petugas
|
<p class="c4a-hero-desc" data-i18n="grp_c4a_hero_desc">Halaman ini menampilkan informasi petugas
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ function loc(field) {
|
|||||||
const lang = getLang();
|
const lang = getLang();
|
||||||
return field[lang] || field['id'] || '';
|
return field[lang] || field['id'] || '';
|
||||||
}
|
}
|
||||||
return field;
|
return String(field);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -127,7 +127,7 @@ export function renderStaffCards(staffs) {
|
|||||||
const scheduleHTML = schedule.map(sched =>
|
const scheduleHTML = schedule.map(sched =>
|
||||||
`<div class="schedule-item">` +
|
`<div class="schedule-item">` +
|
||||||
`<span class="s-day">${loc(sched.day)}</span>` +
|
`<span class="s-day">${loc(sched.day)}</span>` +
|
||||||
`<span class="s-time">${sched.time} <span class="s-break">| ${loc(sched.break)}</span></span>` +
|
`<span class="s-time">${loc(sched.time)} <span class="s-break">| ${loc(sched.break)}</span></span>` +
|
||||||
`</div>`
|
`</div>`
|
||||||
).join('');
|
).join('');
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ export function renderStaffCards(staffs) {
|
|||||||
<img src="${image}" alt="${name}" onerror="this.style.display='none'"/>
|
<img src="${image}" alt="${name}" onerror="this.style.display='none'"/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="staff-name">${name}</div>
|
<div class="staff-name">${loc(name)}</div>
|
||||||
<div class="staff-role">${roleText}</div>
|
<div class="staff-role">${roleText}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -283,14 +283,13 @@ function buildSopModalContent(sop) {
|
|||||||
|
|
||||||
const catLabel = getCatLabel(category);
|
const catLabel = getCatLabel(category);
|
||||||
const catClass = CATEGORY_COLORS[category] || '';
|
const catClass = CATEGORY_COLORS[category] || '';
|
||||||
|
|
||||||
const reqsHTML = requirements.map(req => `<li>${loc(req)}</li>`).join('');
|
const reqsHTML = requirements.map(req => `<li>${loc(req)}</li>`).join('');
|
||||||
const procsHTML = procedures.map(proc => `<li>${loc(proc)}</li>`).join('');
|
const procsHTML = procedures.map(proc => `<li>${loc(proc)}</li>`).join('');
|
||||||
|
|
||||||
// staffResponsible bersifat opsional — sembunyikan blok jika tidak ada
|
// staffResponsible bersifat opsional — sembunyikan blok jika tidak ada
|
||||||
const hasStaff = Array.isArray(staffResponsible) && staffResponsible.length > 0;
|
const hasStaff = Array.isArray(staffResponsible) && staffResponsible.length > 0;
|
||||||
const staffHTML = hasStaff
|
const staffHTML = hasStaff
|
||||||
? staffResponsible.map(staffName => `<span class="sop-staff-pill">${staffName}</span>`).join('')
|
? staffResponsible.map(staffName => `<span class="sop-staff-pill">${loc(staffName)}</span>`).join('')
|
||||||
: '';
|
: '';
|
||||||
const staffBlockHTML = hasStaff
|
const staffBlockHTML = hasStaff
|
||||||
? `<div class="sop-staff-block">
|
? `<div class="sop-staff-block">
|
||||||
@@ -353,15 +352,19 @@ export function renderSopCards(sops) {
|
|||||||
// simpan data global di element agar bisa diakses filter/search
|
// simpan data global di element agar bisa diakses filter/search
|
||||||
container._sopData = sops;
|
container._sopData = sops;
|
||||||
|
|
||||||
|
const emptyState = document.getElementById('sop-empty-state');
|
||||||
|
|
||||||
// Tampilkan pesan jika data SOP kosong atau gagal dimuat
|
// Tampilkan pesan jika data SOP kosong atau gagal dimuat
|
||||||
if (!sops || sops.length === 0) {
|
if (!sops || sops.length === 0) {
|
||||||
container.innerHTML = `<p class="empty-state-msg">${t('grp_c4a_empty_sop', 'Data SOP tidak tersedia saat ini.')}</p>`;
|
container.innerHTML = `<p class="empty-state-msg">${t('grp_c4a_empty_sop', 'Data SOP tidak tersedia saat ini.')}</p>`;
|
||||||
updateResultInfo(0, 0);
|
updateResultInfo(0, 0);
|
||||||
|
if (emptyState) emptyState.style.display = 'none';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
container.innerHTML = sops.map(buildSopCard).join('');
|
container.innerHTML = sops.map(buildSopCard).join('');
|
||||||
updateResultInfo(sops.length, sops.length);
|
updateResultInfo(sops.length, sops.length);
|
||||||
|
if (emptyState) emptyState.style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update teks info jumlah hasil */
|
/** Update teks info jumlah hasil */
|
||||||
@@ -405,7 +408,12 @@ export function applySopFilter() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const emptyState = document.getElementById('sop-empty-state');
|
const emptyState = document.getElementById('sop-empty-state');
|
||||||
if (emptyState) emptyState.style.display = visibleCount === 0 ? 'flex' : 'none';
|
if (emptyState) {
|
||||||
|
// Tampilkan "SOP tidak ditemukan" HANYA jika memang ada data SOP tetapi hasil filter 0.
|
||||||
|
// Jika data SOP memang kosong (tidak ada card sama sekali di data source), sembunyikan.
|
||||||
|
const hasData = container._sopData && container._sopData.length > 0;
|
||||||
|
emptyState.style.display = (hasData && visibleCount === 0) ? 'flex' : 'none';
|
||||||
|
}
|
||||||
|
|
||||||
updateResultInfo(visibleCount, cards.length);
|
updateResultInfo(visibleCount, cards.length);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M4.375 1.25C3.71196 1.25 3.07607 1.51339 2.60723 1.98223C2.13839 2.45107 1.875 3.08696 1.875 3.75V11.25C1.875 11.913 2.13839 12.5489 2.60723 13.0178C3.07607 13.4866 3.71196 13.75 4.375 13.75H13.125V1.25H4.375ZM6.875 3.125H11.25V4.375H6.875V3.125ZM3.125 11.25C3.125 10.9185 3.2567 10.6005 3.49112 10.3661C3.72554 10.1317 4.04348 10 4.375 10H11.875V12.5H4.375C4.04348 12.5 3.72554 12.3683 3.49112 12.1339C3.2567 11.8995 3.125 11.5815 3.125 11.25Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 573 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M15.448 0.105966C15.3089 0.0362835 15.1555 0 15 0C14.8445 0 14.6911 0.0362835 14.552 0.105966L2.552 6.10597L3.448 7.89397L15 2.11997L26.552 7.89597L27.448 6.10797L15.448 0.105966ZM28 12H30V9.99997H0V12H2V28H0V30H8V16H18V30H30V28H28V12Z" fill="black"/>
|
||||||
|
<path d="M16 30V18H10V30H16Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 409 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.7498 10H11.3332V11.3333H12.7498M12.7498 7.33333H11.3332V8.66667H12.7498M14.1665 12.6667H8.49984V11.3333H9.9165V10H8.49984V8.66667H9.9165V7.33333H8.49984V6H14.1665M7.08317 4.66667H5.6665V3.33333H7.08317M7.08317 7.33333H5.6665V6H7.08317M7.08317 10H5.6665V8.66667H7.08317M7.08317 12.6667H5.6665V11.3333H7.08317M4.24984 4.66667H2.83317V3.33333H4.24984M4.24984 7.33333H2.83317V6H4.24984M4.24984 10H2.83317V8.66667H4.24984M4.24984 12.6667H2.83317V11.3333H4.24984M8.49984 4.66667V2H1.4165V14H15.5832V4.66667H8.49984Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 642 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M8 0.53125C3.858 0.53125 0.5 4.09912 0.5 8.5C0.5 12.9009 3.858 16.4688 8 16.4688C12.142 16.4688 15.5 12.9009 15.5 8.5C15.5 4.09912 12.142 0.53125 8 0.53125ZM8 15.9375C4.14025 15.9375 1 12.601 1 8.5H15C15 12.601 11.8597 15.9375 8 15.9375Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 366 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M10 1.33337C10.3536 1.33337 10.6928 1.47385 10.9428 1.7239C11.1929 1.97395 11.3333 2.31309 11.3333 2.66671V6.00004H12.6667C13.0203 6.00004 13.3594 6.14052 13.6095 6.39056C13.8595 6.64061 14 6.97975 14 7.33337V13.9334C14 14.0297 13.981 14.125 13.9442 14.214C13.9073 14.303 13.8533 14.3838 13.7852 14.4519C13.7171 14.52 13.6363 14.574 13.5473 14.6109C13.4583 14.6477 13.363 14.6667 13.2667 14.6667H2.73333C2.63703 14.6667 2.54167 14.6477 2.4527 14.6109C2.36373 14.574 2.28288 14.52 2.21479 14.4519C2.14669 14.3838 2.09268 14.303 2.05582 14.214C2.01897 14.125 2 14.0297 2 13.9334V2.66671C2 2.31309 2.14048 1.97395 2.39052 1.7239C2.64057 1.47385 2.97971 1.33337 3.33333 1.33337H10ZM10 2.66671H3.33333V13.3334H4.66667V11.3334C4.66667 10.8029 4.87738 10.2942 5.25245 9.91916C5.62753 9.54409 6.13623 9.33337 6.66667 9.33337C7.1971 9.33337 7.70581 9.54409 8.08088 9.91916C8.45595 10.2942 8.66667 10.8029 8.66667 11.3334V13.3334H10V2.66671ZM12.6667 7.33337H11.3333V13.3334H12.6667V7.33337ZM6.66667 10.6667C6.50338 10.6667 6.34578 10.7267 6.22375 10.8352C6.10173 10.9437 6.02377 11.0932 6.00467 11.2554L6 11.3334V13.3334H7.33333V11.3334C7.33333 11.1566 7.2631 10.987 7.13807 10.862C7.01305 10.7369 6.84348 10.6667 6.66667 10.6667ZM6.66667 4.00004C6.84348 4.00004 7.01305 4.07028 7.13807 4.1953C7.2631 4.32033 7.33333 4.4899 7.33333 4.66671V5.33337H8C8.17681 5.33337 8.34638 5.40361 8.4714 5.52864C8.59643 5.65366 8.66667 5.82323 8.66667 6.00004C8.66667 6.17685 8.59643 6.34642 8.4714 6.47144C8.34638 6.59647 8.17681 6.66671 8 6.66671H7.33333V7.33337C7.33333 7.51018 7.2631 7.67975 7.13807 7.80478C7.01305 7.9298 6.84348 8.00004 6.66667 8.00004C6.48986 8.00004 6.32029 7.9298 6.19526 7.80478C6.07024 7.67975 6 7.51018 6 7.33337V6.66671H5.33333C5.15652 6.66671 4.98695 6.59647 4.86193 6.47144C4.7369 6.34642 4.66667 6.17685 4.66667 6.00004C4.66667 5.82323 4.7369 5.65366 4.86193 5.52864C4.98695 5.40361 5.15652 5.33337 5.33333 5.33337H6V4.66671C6 4.4899 6.07024 4.32033 6.19526 4.1953C6.32029 4.07028 6.48986 4.00004 6.66667 4.00004Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M13.75 5.625L7.5 0.625L1.25 5.625V6.875H2.5V13.125H5.625V10.625C5.625 10.1277 5.82254 9.65081 6.17417 9.29917C6.52581 8.94754 7.00272 8.75 7.5 8.75C7.99728 8.75 8.47419 8.94754 8.82583 9.29917C9.17746 9.65081 9.375 10.1277 9.375 10.625V13.125H12.5V6.875H13.75V5.625Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 395 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M19.2352 0.5V13.4231L27.735 23.2661C28.149 23.7428 28.407 24.316 28.4792 24.9199C28.5514 25.5238 28.435 26.134 28.1433 26.6805C27.8516 27.227 27.3964 27.6875 26.83 28.0094C26.2636 28.3312 25.609 28.5013 24.9412 28.5H4.05878C3.39099 28.5013 2.73635 28.3312 2.16998 28.0094C1.6036 27.6875 1.14845 27.227 0.856745 26.6805C0.565044 26.134 0.448617 25.5238 0.520825 24.9199C0.593034 24.316 0.850952 23.7428 1.26498 23.2661L9.76475 13.4231V0.5M6.21332 0.5H22.7867" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 635 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M6.55342 5.86L5.33342 6.304V8.66667H4.00009V5.36667H4.01009L7.52209 4.088C7.68475 4.026 7.86209 3.99467 8.04342 4.00067C8.40565 4.01009 8.75599 4.13194 9.04589 4.34934C9.33579 4.56673 9.5509 4.86891 9.66142 5.214C9.78542 5.60289 9.89875 5.86533 10.0014 6.00133C10.3119 6.41489 10.7144 6.75054 11.177 6.98172C11.6396 7.2129 12.1496 7.33328 12.6668 7.33333V8.66667C11.9783 8.66723 11.2983 8.51525 10.6756 8.22165C10.0529 7.92806 9.50301 7.50014 9.06542 6.96867L8.67809 9.16667L10.0001 10.4467V15.3333H8.66675V11.3427L7.30009 10.018L6.66875 12.8833L2.07275 12.0733L2.30475 10.76L5.58742 11.3387L6.55342 5.86ZM9.00009 3.66667C8.64647 3.66667 8.30733 3.52619 8.05728 3.27614C7.80723 3.02609 7.66675 2.68696 7.66675 2.33333C7.66675 1.97971 7.80723 1.64057 8.05728 1.39052C8.30733 1.14048 8.64647 1 9.00009 1C9.35371 1 9.69285 1.14048 9.9429 1.39052C10.1929 1.64057 10.3334 1.97971 10.3334 2.33333C10.3334 2.68696 10.1929 3.02609 9.9429 3.27614C9.69285 3.52619 9.35371 3.66667 9.00009 3.66667Z" fill="black"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M19.6877 8.00625C19.4492 8.24564 19.166 8.43572 18.8541 8.56564C18.5422 8.69557 18.2078 8.76279 17.8699 8.76346C17.1875 8.76483 16.5326 8.49508 16.0491 8.01354C15.5657 7.53201 15.2933 6.87814 15.2919 6.19578C15.2905 5.51342 15.5603 4.85847 16.0418 4.375M17.5002 8.75V13.125M17.5002 13.125C19.4678 15.3764 21.8178 17.2624 24.4418 18.6958C27.8252 20.5333 29.1668 22.3563 29.1668 25.2729C29.0721 27.1412 28.5746 28.9669 27.7085 30.625H7.29183C6.4257 28.9669 5.92823 27.1412 5.8335 25.2729C5.8335 22.4146 7.17516 20.5333 10.5585 18.6958C13.1825 17.2624 15.5326 15.3764 17.5002 13.125Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 775 B |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 186 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 303 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
After Width: | Height: | Size: 165 KiB |
|
After Width: | Height: | Size: 211 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 584 KiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 213 KiB |
|
After Width: | Height: | Size: 500 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 174 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 431 KiB |
|
After Width: | Height: | Size: 488 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 398 KiB |
|
After Width: | Height: | Size: 3.8 MiB |
|
After Width: | Height: | Size: 548 KiB |
|
After Width: | Height: | Size: 610 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 202 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 644 KiB |
|
After Width: | Height: | Size: 816 KiB |
|
After Width: | Height: | Size: 222 KiB |
|
After Width: | Height: | Size: 984 KiB |
|
After Width: | Height: | Size: 209 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 910 KiB |
|
After Width: | Height: | Size: 165 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 246 KiB |
|
After Width: | Height: | Size: 856 KiB |
|
After Width: | Height: | Size: 175 KiB |
|
After Width: | Height: | Size: 192 KiB |
|
After Width: | Height: | Size: 591 KiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 347 KiB |
|
After Width: | Height: | Size: 8.9 MiB |
|
After Width: | Height: | Size: 919 KiB |
|
After Width: | Height: | Size: 336 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 6.3 MiB |
|
After Width: | Height: | Size: 844 KiB |
|
After Width: | Height: | Size: 294 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 551 KiB |
|
After Width: | Height: | Size: 142 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 303 KiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 523 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 256 KiB |
|
After Width: | Height: | Size: 210 KiB |
|
After Width: | Height: | Size: 958 KiB |
|
After Width: | Height: | Size: 337 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 96 KiB |
@@ -0,0 +1,361 @@
|
|||||||
|
(function () {
|
||||||
|
const dict = {
|
||||||
|
id: {
|
||||||
|
// --- Hero Section ---
|
||||||
|
skp_hero_desc:
|
||||||
|
"Kuliah di kampus unggulan Kalimantan Barat dengan fasilitas lengkap, lingkungan nyaman dan kehidupan mahasiswa yang terjangkau",
|
||||||
|
|
||||||
|
// --- About Section ---
|
||||||
|
skp_about_eyebrow: "Tentang Untan",
|
||||||
|
skp_about_title: "Kampus Unggul di Kalimantan Barat",
|
||||||
|
skp_about_desc_1:
|
||||||
|
"Universitas Tanjungpura merupakan perguruan tinggi negeri terkemuka di Kalimantan Barat yang berkomitmen menghadirkan pendidikan berkualitas.",
|
||||||
|
skp_about_desc_2:
|
||||||
|
"UNTAN terus mendorong pengembangan riset, inovasi, dan kolaborasi di berbagai bidang.",
|
||||||
|
skp_about_desc_3:
|
||||||
|
"Didukung lingkungan belajar yang nyaman, mahasiswa memiliki ruang untuk berkembang secara akademik maupun nonakademik.",
|
||||||
|
skp_about_link_text: "Kunjungi Website Resmi",
|
||||||
|
|
||||||
|
// --- Facilities Section ---
|
||||||
|
skp_fac_eyebrow: "Fasilitas Kampus",
|
||||||
|
skp_fac_main_title:
|
||||||
|
"Fasilitas Kampus untuk Pengalaman Belajar yang Nyaman",
|
||||||
|
skp_fac_title_perpus: "Perpustakaan UNTAN",
|
||||||
|
skp_fac_desc_perpus:
|
||||||
|
"Koleksi literatur digital dan fisik terlengkap dengan ruang baca yang tenang dan modern.",
|
||||||
|
skp_fac_title_rusunawa: "Rusunawa",
|
||||||
|
skp_fac_desc_rusunawa:
|
||||||
|
"Hunian mahasiswa yang aman, terjangkau, dan berlokasi strategis di dalam lingkungan kampus.",
|
||||||
|
skp_fac_title_rs: "Rumah Sakit Untan & Klinik Pratama",
|
||||||
|
skp_fac_desc_rs:
|
||||||
|
"Layanan kesehatan prima bagi seluruh sivitas akademika dengan tenaga medis profesional.",
|
||||||
|
skp_fac_title_gkb: "Gedung Kuliah Bersama",
|
||||||
|
skp_fac_desc_gkb:
|
||||||
|
"Ruang kelas interaktif dengan dukungan teknologi multimedia terkini untuk proses belajar mengajar.",
|
||||||
|
skp_fac_title_bahasa: "UPT Bahasa",
|
||||||
|
skp_fac_desc_bahasa:
|
||||||
|
"Pusat pelatihan bahasa asing dan sertifikasi internasional untuk menunjang karir global.",
|
||||||
|
skp_fac_title_olahraga: "Area Olahraga",
|
||||||
|
skp_fac_desc_olahraga:
|
||||||
|
"Fasilitas olahraga outdoor dan indoor lengkap untuk menjaga kebugaran dan menyalurkan bakat.",
|
||||||
|
skp_fac_title_masjid: "Masjid Muhtadin UNTAN",
|
||||||
|
skp_fac_desc_masjid:
|
||||||
|
"Pusat ibadah yang nyaman dan inklusif bagi sivitas akademika UNTAN dengan suasana religius yang menenangkan.",
|
||||||
|
skp_fac_title_lab: "Laboraturium Kampus UNTAN",
|
||||||
|
skp_fac_desc_lab:
|
||||||
|
"Fasilitas laboratorium modern UNTAN yang mendukung riset, praktikum, dan inovasi mahasiswa.",
|
||||||
|
skp_fac_title_audit: "Auditorium UNTAN",
|
||||||
|
skp_fac_desc_audit:
|
||||||
|
"Ruang serbaguna representatif UNTAN untuk seminar, acara akademik, dan kegiatan besar kampus.",
|
||||||
|
|
||||||
|
// --- Campus Section ---
|
||||||
|
skp_campus_eyebrow: "Kehidupan Kampus",
|
||||||
|
skp_campus_title: "Aktivitas Mahasiswa & Organisasi Kampus",
|
||||||
|
skp_campus_subtitle:
|
||||||
|
"Mahasiswa UNTAN memiliki berbagai kesempatan untuk berkembang melalui organisasi, UKM, komunitas, dan kegiatan ekstrakurikuler.",
|
||||||
|
skp_campus_cat_org: "Organisasi",
|
||||||
|
skp_campus_cat_ukm: "UKM",
|
||||||
|
skp_campus_cat_com: "Komunitas",
|
||||||
|
skp_campus_dir_bem_title: "BEM UNTAN",
|
||||||
|
skp_campus_dir_bem_desc:
|
||||||
|
"Badan Eksekutif Mahasiswa tingkat universitas yang menjadi wadah aspirasi dan pergerakan mahasiswa untuk perubahan positif di kampus.",
|
||||||
|
skp_campus_dir_dpm_title: "DPM UNTAN",
|
||||||
|
skp_campus_dir_dpm_desc:
|
||||||
|
"Dewan Perwakilan Mahasiswa yang menjalankan fungsi legislasi dan pengawasan terhadap kebijakan-kebijakan organisasi mahasiswa di universitas.",
|
||||||
|
skp_campus_dir_hmif_title: "HMIF UNTAN",
|
||||||
|
skp_campus_dir_hmif_desc:
|
||||||
|
"Organisasi mahasiswa di bawah Program Studi Informatika yang menjadi wadah pengembangan akademik, kepemimpinan, dan jejaring bagi anggotanya.",
|
||||||
|
skp_campus_dir_cafa_title: "CAFATIFA",
|
||||||
|
skp_campus_dir_cafa_desc:
|
||||||
|
"Organisasi ini menjadi wadah pelayanan, pembinaan iman, dan pengembangan karakter bagi mahasiswa Katolik di fakultas tersebut.",
|
||||||
|
skp_campus_dir_mapala_title: "MAPALA UNTAN",
|
||||||
|
skp_campus_dir_mapala_desc:
|
||||||
|
"Wadah pecinta alam mahasiswa UNTAN yang membentuk karakter tangguh, peduli lingkungan, dan berjiwa petualang.",
|
||||||
|
skp_campus_dir_lisma_title: "LISMA UNTAN",
|
||||||
|
skp_campus_dir_lisma_desc:
|
||||||
|
"Wadah mahasiswa yang mengembangkan minat literasi, diskusi, dan pemikiran kritis secara kolaboratif.",
|
||||||
|
skp_campus_dir_lsmi_title: "LSMI UNTAN",
|
||||||
|
skp_campus_dir_lsmi_desc:
|
||||||
|
"Unit kegiatan mahasiswa yang mewadahi pembinaan keagamaan, dakwah, dan pengembangan spiritual mahasiswa.",
|
||||||
|
skp_campus_dir_semut_title: "SARANG SEMUT",
|
||||||
|
skp_campus_dir_semut_desc:
|
||||||
|
"Komunitas mahasiswa yang menumbuhkan budaya literasi, diskusi kritis, dan pemikiran intelektual di lingkungan kampus.",
|
||||||
|
skp_campus_dir_aiesec_title: "AIESEC",
|
||||||
|
skp_campus_dir_aiesec_desc:
|
||||||
|
"Organisasi kepemudaan internasional di UNTAN yang mengembangkan kepemimpinan, pengalaman global, dan kolaborasi lintas budaya mahasiswa.",
|
||||||
|
|
||||||
|
// --- Pontianak City Section ---
|
||||||
|
skp_pontianak_eyebrow: "Kota Pontianak",
|
||||||
|
skp_pontianak_title: "Live In Pontianak",
|
||||||
|
skp_pontianak_desc:
|
||||||
|
"Pontianak bukan sekadar ibu kota Kalimantan Barat, tetapi tempat yang nyaman untuk tinggal, ramah bagi mahasiswa, dan bersahabat di kantong. Kota ini menawarkan akses fasilitas umum yang lengkap, ragam kuliner yang menggoda, serta suasana belajar yang aktif dan penuh semangat.",
|
||||||
|
|
||||||
|
// --- Destination Section ---
|
||||||
|
skp_dest_eyebrow: "Wisata & Destinasi",
|
||||||
|
skp_dest_title: "Tempat Menarik di Pontianak",
|
||||||
|
skp_dest_open_maps: "Buka Peta",
|
||||||
|
skp_dest_khatulistiwa_name: "Tugu Khatulistiwa",
|
||||||
|
skp_dest_khatulistiwa_desc:
|
||||||
|
"Ikon kota yang menandakan posisi garis lintang nol derajat di bumi.",
|
||||||
|
skp_dest_waterfront_name: "Waterfront",
|
||||||
|
skp_dest_waterfront_desc:
|
||||||
|
"Area pedestrian tepi sungai Kapuas yang populer untuk menikmati senja.",
|
||||||
|
skp_dest_qubu_name: "Qubu Resort",
|
||||||
|
skp_dest_qubu_desc:
|
||||||
|
"Kawasan taman wisata terpadu dan resort bintang 4 di Kubu Raya.",
|
||||||
|
skp_dest_radank_name: "Rumah Radakng",
|
||||||
|
skp_dest_radank_desc:
|
||||||
|
"Rumah adat suku Dayak dan merupakan simbol harmoni budaya.",
|
||||||
|
skp_dest_museum_name: "Museum",
|
||||||
|
skp_dest_museum_desc:
|
||||||
|
"Koleksi Geografika/Geologika berupa peta dan jenis batu-batuan.",
|
||||||
|
skp_dest_amalzone_name: "Amalzone",
|
||||||
|
skp_dest_amalzone_desc:
|
||||||
|
"Destinasi wisata alam dan rekreasi keluarga yang populer.",
|
||||||
|
skp_dest_mangrove_name: "Hutan Sylva",
|
||||||
|
skp_dest_mangrove_desc:
|
||||||
|
"Pemandangan alami yang menakjubkan jalur trekking kayu.",
|
||||||
|
skp_dest_mujahidin_name: "Masjid Mujahidin",
|
||||||
|
skp_dest_mujahidin_desc: "Masjid terbesar di Provinsi Kalimantan Barat.",
|
||||||
|
|
||||||
|
// --- Culinary Section ---
|
||||||
|
skp_cul_eyebrow: "Cafe & Kuliner",
|
||||||
|
skp_cul_title: "Kuliner dan Coffee Shop Favorit Mahasiswa",
|
||||||
|
skp_cul_cat_rm: "Rumah Makan",
|
||||||
|
skp_cul_cat_cs: "Coffee Shop",
|
||||||
|
skp_cul_gebuk_desc:
|
||||||
|
"Ayam gepuk pedas gurih meresap, bikin nambah nasi terus.",
|
||||||
|
skp_cul_sari_desc:
|
||||||
|
"Masakan hangat rumahan menggoda, sekali coba langsung jatuh cinta.",
|
||||||
|
skp_cul_mom_desc: "Menu rumahan enak dengan porsi besar.",
|
||||||
|
skp_cul_shine_desc:
|
||||||
|
"Nasi topping kekinian dengan tampilan menarik dan topping yang melimpah.",
|
||||||
|
skp_cul_melepar_desc:
|
||||||
|
"Ayam crispy gurih pedas favorit mahasiswa dengan ayam renyah pedas menggigit.",
|
||||||
|
skp_cul_umi_desc:
|
||||||
|
"Ayam geprek pedas murah dan mengenyangkan dengan pedasnya nampol mantap.",
|
||||||
|
skp_cul_cw_desc:
|
||||||
|
"CW Coffee awalnya berdiri pada tahun 2015 dengan nama Cyber World iCafe, sebuah kafe internet (warnet) berkecepatan tinggi yang buka 24 jam.",
|
||||||
|
skp_cul_nordu_desc:
|
||||||
|
"NORDU Coffee & Eatery (populer dikenal sebagai Kopi Nomor Dua) menawarkan tempat yang nyaman untuk bekerja (Work From Home) dengan menu kopi dan hidangan yang ramah di kantong.",
|
||||||
|
skp_cul_kami_desc:
|
||||||
|
"Toko Kami didirikan pada November 2021 oleh seorang pemuda kreatif bernama Yudistira Nusantara. Nama 'Toko Kami' merupakan sebuah akronim dari Toko Kudapan dan Aneka Minuman Indonesia.",
|
||||||
|
skp_cul_lokale_desc:
|
||||||
|
"Lokale didirikan oleh Asmako pada tahun 2017. Berawal dari kecintaan pemiliknya terhadap racikan kopi, Lokale hadir untuk menciptakan cita rasa kopi modern yang pas dengan lidah masyarakat.",
|
||||||
|
skp_cul_weng_desc:
|
||||||
|
"Weng Coffee adalah salah satu legenda hidup warung kopi di Kota Khatulistiwa yang sudah berdiri sejak tahun 1970.",
|
||||||
|
skp_cul_tropic_desc:
|
||||||
|
"Tropic Cafe Pontianak merupakan salah satu pelopor coffee shop modern berskala besar di Pontianak yang mengusung konsep 24 jam nonstop dengan harga super ramah kantong.",
|
||||||
|
|
||||||
|
// --- Living Cost Section ---
|
||||||
|
skp_cost_eyebrow: "Biaya Hidup Mahasiswa",
|
||||||
|
skp_cost_title: "Perkiraan Biaya Hidup Mahasiswa di Pontianak",
|
||||||
|
skp_cost_desc:
|
||||||
|
"Perencanaan keuangan yang baik membantu mahasiswa menjalani masa studi dengan lebih nyaman di Pontianak.",
|
||||||
|
skp_cost_note: "*Data yang didapat bersumber dari survey internal",
|
||||||
|
skp_cost_period: "per bulan",
|
||||||
|
skp_cost_type_home: "Hunian",
|
||||||
|
skp_cost_type_food: "Makan",
|
||||||
|
skp_cost_type_transport: "Transport",
|
||||||
|
},
|
||||||
|
en: {
|
||||||
|
// --- Hero Section ---
|
||||||
|
skp_hero_desc:
|
||||||
|
"Study at the leading campus in West Kalimantan with complete facilities, comfortable environment, and affordable student life",
|
||||||
|
|
||||||
|
// --- About Section ---
|
||||||
|
skp_about_eyebrow: "About Untan",
|
||||||
|
skp_about_title: "A Leading Campus in West Kalimantan",
|
||||||
|
skp_about_desc_1:
|
||||||
|
"Universitas Tanjungpura is a leading public university in West Kalimantan committed to delivering quality education.",
|
||||||
|
skp_about_desc_2:
|
||||||
|
"UNTAN continues to drive research development, innovation, and collaboration across various fields.",
|
||||||
|
skp_about_desc_3:
|
||||||
|
"Supported by a comfortable learning environment, students have the opportunity to grow both academically and non-academically.",
|
||||||
|
skp_about_link_text: "Visit Official Website",
|
||||||
|
|
||||||
|
// --- Facilities Section ---
|
||||||
|
skp_fac_eyebrow: "Campus Facilities",
|
||||||
|
skp_fac_main_title:
|
||||||
|
"Campus Facilities for a Comfortable Learning Experience",
|
||||||
|
skp_fac_title_perpus: "UNTAN Library",
|
||||||
|
skp_fac_desc_perpus:
|
||||||
|
"The most complete collection of digital and physical literature with a quiet and modern reading room.",
|
||||||
|
skp_fac_title_rusunawa: "Student Dormitory (Rusunawa)",
|
||||||
|
skp_fac_desc_rusunawa:
|
||||||
|
"Safe, affordable, and strategically located student housing within the campus environment.",
|
||||||
|
skp_fac_title_rs: "Untan Hospital & Pratama Clinic",
|
||||||
|
skp_fac_desc_rs:
|
||||||
|
"Excellent health services for the entire academic community with professional medical staff.",
|
||||||
|
skp_fac_title_gkb: "Shared Lecture Building (GKB)",
|
||||||
|
skp_fac_desc_gkb:
|
||||||
|
"Interactive classrooms with the latest multimedia technology support for the teaching and learning process.",
|
||||||
|
skp_fac_title_bahasa: "Language Center (UPT Bahasa)",
|
||||||
|
skp_fac_desc_bahasa:
|
||||||
|
"Foreign language training and international certification center to support global careers.",
|
||||||
|
skp_fac_title_olahraga: "Sports Area",
|
||||||
|
skp_fac_desc_olahraga:
|
||||||
|
"Complete outdoor and indoor sports facilities to maintain fitness and channel talents.",
|
||||||
|
skp_fac_title_masjid: "Muhtadin Mosque UNTAN",
|
||||||
|
skp_fac_desc_masjid:
|
||||||
|
"A comfortable and inclusive place of worship for the UNTAN academic community with a soothing religious atmosphere.",
|
||||||
|
skp_fac_title_lab: "UNTAN Campus Laboratory",
|
||||||
|
skp_fac_desc_lab:
|
||||||
|
"Modern UNTAN laboratory facilities that support student research, practicums, and innovation.",
|
||||||
|
skp_fac_title_audit: "UNTAN Auditorium",
|
||||||
|
skp_fac_desc_audit:
|
||||||
|
"A representative multi-purpose hall for seminars, academic events, and major campus activities.",
|
||||||
|
|
||||||
|
// --- Campus Section ---
|
||||||
|
skp_campus_eyebrow: "Campus Life",
|
||||||
|
skp_campus_title: "Student Activities & Campus Organizations",
|
||||||
|
skp_campus_subtitle:
|
||||||
|
"UNTAN students have various opportunities to grow through organizations, Student Activity Units (UKM), communities, and extracurricular activities.",
|
||||||
|
skp_campus_cat_org: "Organizations",
|
||||||
|
skp_campus_cat_ukm: "Student Units",
|
||||||
|
skp_campus_cat_com: "Communities",
|
||||||
|
skp_campus_dir_bem_title: "BEM UNTAN",
|
||||||
|
skp_campus_dir_bem_desc:
|
||||||
|
"The university-level Student Executive Board that acts as a forum for student aspirations and movements for positive campus change.",
|
||||||
|
skp_campus_dir_dpm_title: "DPM UNTAN",
|
||||||
|
skp_campus_dir_dpm_desc:
|
||||||
|
"The Student Representative Council that performs legislative and supervisory functions over student organization policies at the university.",
|
||||||
|
skp_campus_dir_hmif_title: "HMIF UNTAN",
|
||||||
|
skp_campus_dir_hmif_desc:
|
||||||
|
"A student organization under the Informatics Study Program that serves as a hub for academic development, leadership, and networking for its members.",
|
||||||
|
skp_campus_dir_cafa_title: "CAFATIFA",
|
||||||
|
skp_campus_dir_cafa_desc:
|
||||||
|
"This organization provides a forum for service, faith formation, and character building for Catholic students in the faculty.",
|
||||||
|
skp_campus_dir_mapala_title: "MAPALA UNTAN",
|
||||||
|
skp_campus_dir_mapala_desc:
|
||||||
|
"A community for UNTAN student nature lovers that shapes a resilient character, environmental awareness, and an adventurous spirit.",
|
||||||
|
skp_campus_dir_lisma_title: "LISMA UNTAN",
|
||||||
|
skp_campus_dir_lisma_desc:
|
||||||
|
"A student forum that develops interest in literacy, discussion, and critical thinking collaboratively.",
|
||||||
|
skp_campus_dir_lsmi_title: "LSMI UNTAN",
|
||||||
|
skp_campus_dir_lsmi_desc:
|
||||||
|
"A student activity unit that handles religious guidance, Islamic outreach (da'wah), and spiritual development for students.",
|
||||||
|
skp_campus_dir_semut_title: "SARANG SEMUT",
|
||||||
|
skp_campus_dir_semut_desc:
|
||||||
|
"A student community that fosters a culture of literacy, critical discussion, and intellectual thought within the campus environment.",
|
||||||
|
skp_campus_dir_aiesec_title: "AIESEC",
|
||||||
|
skp_campus_dir_aiesec_desc:
|
||||||
|
"An international youth organization at UNTAN that develops leadership, global experience, and cross-cultural collaboration among students.",
|
||||||
|
|
||||||
|
// --- Pontianak City Section ---
|
||||||
|
skp_pontianak_eyebrow: "Pontianak City",
|
||||||
|
skp_pontianak_title: "Live In Pontianak",
|
||||||
|
skp_pontianak_desc:
|
||||||
|
"Pontianak is not just the capital of West Kalimantan, but a comfortable place to live, student-friendly, and very affordable. The city offers complete access to public facilities, a tempting variety of culinary options, and an active, vibrant learning environment.",
|
||||||
|
|
||||||
|
// --- Destination Section ---
|
||||||
|
skp_dest_eyebrow: "Tourism & Destinations",
|
||||||
|
skp_dest_title: "Interesting Places in Pontianak",
|
||||||
|
skp_dest_open_maps: "Open Maps",
|
||||||
|
skp_dest_khatulistiwa_name: "Equator Monument",
|
||||||
|
skp_dest_khatulistiwa_desc:
|
||||||
|
"The city icon marking the zero-degree latitude position on earth.",
|
||||||
|
skp_dest_waterfront_name: "Waterfront",
|
||||||
|
skp_dest_waterfront_desc:
|
||||||
|
"A popular pedestrian area by the Kapuas River to enjoy the sunset.",
|
||||||
|
skp_dest_qubu_name: "Qubu Resort",
|
||||||
|
skp_dest_qubu_desc:
|
||||||
|
"An integrated tourism park area and a 4-star resort in Kubu Raya.",
|
||||||
|
skp_dest_radank_name: "Radakng House",
|
||||||
|
skp_dest_radank_desc:
|
||||||
|
"The traditional longhouse of the Dayak tribe, a symbol of cultural harmony.",
|
||||||
|
skp_dest_museum_name: "Museum",
|
||||||
|
skp_dest_museum_desc:
|
||||||
|
"Geographical and geological collections featuring maps and various types of rocks.",
|
||||||
|
skp_dest_amalzone_name: "Amalzone",
|
||||||
|
skp_dest_amalzone_desc:
|
||||||
|
"A popular nature tourism and family recreation destination.",
|
||||||
|
skp_dest_mangrove_name: "Mangrove Forest",
|
||||||
|
skp_dest_mangrove_desc:
|
||||||
|
"Stunning natural scenery along a wooden trekking pathway.",
|
||||||
|
skp_dest_mujahidin_name: "Mujahidin Mosque",
|
||||||
|
skp_dest_mujahidin_desc:
|
||||||
|
"The largest mosque in the West Kalimantan Province.",
|
||||||
|
|
||||||
|
// --- Culinary Section ---
|
||||||
|
skp_cul_eyebrow: "Cafe & Culinary",
|
||||||
|
skp_cul_title: "Students' Favorite Culinary and Coffee Shops",
|
||||||
|
skp_cul_cat_rm: "Eateries",
|
||||||
|
skp_cul_cat_cs: "Coffee Shops",
|
||||||
|
skp_cul_gebuk_desc:
|
||||||
|
"Spicy and savory pounded chicken that makes you want to keep adding rice.",
|
||||||
|
skp_cul_sari_desc:
|
||||||
|
"Tempting home-cooked warmth, fall in love at first bite.",
|
||||||
|
skp_cul_mom_desc: "Delicious home-style meals with generous portions.",
|
||||||
|
skp_cul_shine_desc:
|
||||||
|
"Trendy rice bowls with attractive presentation and abundant toppings.",
|
||||||
|
skp_cul_melepar_desc:
|
||||||
|
"Crispy, savory, and spicy chicken, a student favorite with a crunchy, fiery bite.",
|
||||||
|
skp_cul_umi_desc:
|
||||||
|
"Cheap, filling, and spicy smashed chicken with an intensely satisfying kick.",
|
||||||
|
skp_cul_cw_desc:
|
||||||
|
"CW Coffee originally started in 2015 as Cyber World iCafe, a high-speed 24-hour internet cafe.",
|
||||||
|
skp_cul_nordu_desc:
|
||||||
|
"NORDU Coffee & Eatery (popularly known as Kopi Nomor Dua) offers a comfortable place to work (WFH) with student-friendly coffee and meals.",
|
||||||
|
skp_cul_kami_desc:
|
||||||
|
"Toko Kami was founded in November 2021 by a creative youth named Yudistira Nusantara. The name is an acronym for Indonesian Snack and Beverage Shop.",
|
||||||
|
skp_cul_lokale_desc:
|
||||||
|
"Lokale was founded by Asmako in 2017. Rooted in the owner's passion for coffee brewing, Lokale brings modern coffee flavors tailored to the local palate.",
|
||||||
|
skp_cul_weng_desc:
|
||||||
|
"Weng Coffee is one of the living legends of coffee shops in the Equator City, operating since 1970.",
|
||||||
|
skp_cul_tropic_desc:
|
||||||
|
"Tropic Cafe Pontianak is a pioneer of large-scale modern coffee shops in Pontianak, featuring a 24/7 non-stop concept with highly affordable prices.",
|
||||||
|
|
||||||
|
// --- Living Cost Section ---
|
||||||
|
skp_cost_eyebrow: "Student Living Cost",
|
||||||
|
skp_cost_title: "Estimated Living Cost for Students in Pontianak",
|
||||||
|
skp_cost_desc:
|
||||||
|
"Good financial planning helps students go through their study period more comfortably in Pontianak.",
|
||||||
|
skp_cost_note: "*Data obtained is sourced from an internal survey",
|
||||||
|
skp_cost_period: "per month",
|
||||||
|
skp_cost_type_home: "Housing",
|
||||||
|
skp_cost_type_food: "Food",
|
||||||
|
skp_cost_type_transport: "Transport",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
function currentLang() {
|
||||||
|
if (typeof window.getLang === "function") {
|
||||||
|
const l = window.getLang();
|
||||||
|
if (l === "id" || l === "en") return l;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const saved = localStorage.getItem("if_untan_lang");
|
||||||
|
if (saved === "id" || saved === "en") return saved;
|
||||||
|
} catch (e) {
|
||||||
|
/* localStorage unavailable */
|
||||||
|
}
|
||||||
|
const nav = (navigator.language || "id").toLowerCase();
|
||||||
|
return nav.startsWith("en") ? "en" : "id";
|
||||||
|
}
|
||||||
|
|
||||||
|
function skpT(key) {
|
||||||
|
const lang = currentLang();
|
||||||
|
return (dict[lang] && dict[lang][key]) || dict.id[key] || null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function applySkp(root) {
|
||||||
|
const scope = root || document;
|
||||||
|
|
||||||
|
scope.querySelectorAll("[data-skp-i18n]").forEach((el) => {
|
||||||
|
const val = skpT(el.getAttribute("data-skp-i18n"));
|
||||||
|
if (val != null) el.textContent = val;
|
||||||
|
});
|
||||||
|
|
||||||
|
scope.querySelectorAll("[data-skp-i18n-placeholder]").forEach((el) => {
|
||||||
|
const val = skpT(el.getAttribute("data-skp-i18n-placeholder"));
|
||||||
|
if (val != null) el.placeholder = val;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
window.skpT = skpT;
|
||||||
|
window.applySkp = applySkp;
|
||||||
|
|
||||||
|
document.addEventListener("languageChanged", () => applySkp());
|
||||||
|
document.addEventListener("DOMContentLoaded", () => applySkp());
|
||||||
|
})();
|
||||||
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 88 KiB |