WEEK 06

Tugas Pertemuan 06

Pengembangan Aplikasi Web Manajemen Tugas Kuliah menggunakan React, TypeScript, Vite, dan Environment Variables.

💡 Penjelasan Konsep & Teknologi Utama

🔀

1. Git & GitHub Workflow

Git berperan sebagai Version Control System (VCS) lokal untuk mencatat setiap perubahan kode dasar (*commit history*). Alur kerja yang diterapkan pada tugas ini meliputi:

  • Branching: Memisah pengembangan fitur baru dari branch main ke branch fitur seperti feature-fitur-baru agar kode produksi tetap stabil.
  • Pull Request (PR): Pengajuan penggabungan kode dari branch fitur menuju main di GitHub untuk ditinjau.
  • Merge Conflict: Terjadi ketika ada perombakan pada baris kode yang sama di dua branch berbeda. Dipicu secara sengaja pada berkas README.md.
  • Conflict Resolution: Penyelesaian bentrokan baris kode melalui editor GitHub Web / VS Code dengan membuang marker bentrok (<<<<<<<, =======, >>>>>>>) sebelum dilakukan commit merge akhir.
📦

2. Package Manager (npm)

npm (Node Package Manager) mengelola instalasi modul dan pustaka (*dependencies*) eksternal JavaScript/TypeScript:

  • package.json: Menampung metadata proyek beserta daftar pustaka yang dipakai (seperti react, lucide-react, dan vite).
  • package-lock.json: Mengunci versi spesifik dari setiap dependensi berserta sub-dependensinya agar hasil instalasi konsisten di semua lingkungan komputer pengembang.
  • node_modules/: Folder penyimpanan seluruh kode pustaka hasil unduhan npm.
📘

3. TypeScript & Peran Transpiler

TypeScript menambahkan sistem pengetikan statis (*static typing*) opsional di atas bahasa JavaScript untuk menangkap kesalahan tipe (*type errors*) sejak tahap penulisan kode (*development time*).

  • Peran Transpiler: Browser web native hanya mampu mengeksekusi JavaScript standar. Transpiler (seperti modul kompilator TypeScript tsc atau Esbuild) bertugas mentransformasikan kode TypeScript (.ts / .tsx) menjadi kode JavaScript murni (.js) yang valid secara sintaksis untuk dijalankan di browser.
⚡

4. Vite (Dev Server & Bundler)

Vite adalah instrumen pembangun (*build tool*) frontend generasi baru yang menawarkan performa pengembangan jauh lebih cepat dibanding alat tradisional:

  • Development Server & HMR: Menggunakan Native ES Modules (ESM) untuk pemuatan modul secara instan. Fitur Hot Module Replacement (HMR) memperbarui tampilan browser secara real-time saat kode diubah tanpa memuat ulang seluruh halaman.
  • Peran Bundler: Saat proses produksi (npm run build), Vite menggunakan bundler Rollup untuk menggabungkan (*bundle*), meminifikasi (*minify*), dan membagi kode (*code splitting*) menjadi berkas-berkas statis teroptimasi yang siap di-deploy.
🔑

5. Environment Variables (.env)

Variabel lingkungan memisahkan nilai konfigurasi dinamis atau data sensitif dari basis kode aplikasi:

  • Prefix VITE_: Di framework Vite, hanya variabel dengan awalan VITE_ (contoh: VITE_APP_NAME) yang dipaparkan secara aman ke sisi frontend client via objek import.meta.env.
  • Platform Deployment: Nilai variabel dimasukkan pada pengaturan dashboard Vercel tanpa perlu menyertakan berkas rahasia .env ke repository publik GitHub.