Optimasi Performa Frontend
Teknik optimasi untuk aplikasi web cepat
Tujuan Pembelajaran
- Memahami Core Web Vitals
- Bisa mengoptimasi performa
Analogi
Performa = Kecepatan
User tidak suka menunggu
Optimasi = Upgrade Mesin
Lebih cepat, lebih efisien
Core Web Vitals adalah metrik Google untuk user experience
Penjelasan Konsep
Core Web Vitals
Core Web Vitals adalah tiga metrik Google untuk mengukur user experience di website.
LCP (Largest Contentful Paint).
Waktu elemen terbesar terlihat di viewport. Target: < 2.5 detik.
INP (Interaction to Next Paint).
Waktu browser merespons interaksi user. Target: < 200ms.
CLS (Cumulative Layout Shift).
Seberapa banyak layout bergerak saat loading. Target: < 0.1.
Teknik optimasi
- Code splitting. Load hanya kode yang dibutuhkan per page.
- Lazy loading. Load gambar dan component saat mendekati viewport.
- Image optimization. WebP format, responsive images, proper sizing.
- Caching. Service Worker, HTTP cache, CDN.
- Minimize JavaScript. Remove unused code, tree shaking.
- Font optimization. Preload critical fonts, font-display: swap.
- Reduce third-party scripts. Audit dan hapus yang tidak perlu.
Inti yang Perlu Dipahami
Bagian ini berfokus pada memahami Core Web Vitals., dan bisa mengoptimasi performa. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca Optimasi Performa Frontend, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
Core Web Vitals adalah metrik Google untuk user experience. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.
Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.
Saat Melihat Contoh Kode
Contoh kode pada chapter ini memakai bahasa tsx. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. React.lazy load component saat dibutuhkan. Suspense tampilkan fallback saat loading. Bundle size lebih kecil.
Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.
Konteks dalam Perjalanan Belajar
Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.
Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.
Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.
Contoh Kode
import { lazy, Suspense } from 'react';
const HeavyChart = lazy(() => import('./HeavyChart'));
function Dashboard() {
return (
<div>
<Header />
<Suspense fallback={<Spinner />}>
<HeavyChart />
</Suspense>
</div>
);
}Penjelasan Kode
Prompt AI
Audit performa aplikasi dengan Lighthouse. Catat skor Core Web Vitals.
Pertanyaan Reflektif
Metrik Core Web Vitals mana yang paling sulit dioptimasi?