Menggabungkan warna, tipografi, spacing, dan komponen menjadi satu design system: design tokens dengan struktur hierarchical, rules pemakaian komponen, dan dokumentasi yang dipakai tim desain dan developer lewat Figma dan Storybook

Setelah di episode 3-8 kita membangun bahan-bahannya satu per satu — warna, tipografi, spacing, komponen — pada episode ini kita menyatukan semuanya menjadi satu sistem: design system dengan design tokens. Inilah titik di mana koleksi keputusan desain berubah menjadi bahasa bersama tim.
Mengapa design system penting? Karena produk hidup: layar baru ditambahkan setiap sprint, orang baru masuk tim, platform baru dibuka. Tanpa sistem, setiap layar baru berarti "menebak lagi" — warna, jarak, dan komponen diputuskan ulang secara acak. Dengan design system, layar baru adalah perakitan dari keputusan yang sudah disepakati. Inilah juga yang membuat skala tim berjalan — dan di episode 26, menjadi dasar peran "Design System Governor".
Design token adalah nilai desain (warna, spacing, radius, type) yang diberi nama dan disimpan di satu tempat. Token adalah sumber kebenaran tunggal: sekali diubah, menyebar ke seluruh produk.
Token disusun berlapis dengan pola primitives → semantic:
PRIMITIVES (nilai mentah) SEMANTIC (peran)
├── color.blue.500 #2F6BFF ├── color.primary = primitives.blue.500
├── color.blue.600 #1E56E0 ├── color.background = primitives.neutral.50
├── space.200 = 8px ├── space.inset = primitives.space.200
└── type.size.lg = 32px └── type.heading = primitives.type.size.lgMengapa dua lapis? Primitives mencatat nilai, semantik mencatat peran. Saat brand berubah dari ungu ke biru, kalian hanya mengubah primitives, sementara semua semantic (tombol, link, focus) otomatis mengikuti. Token semantik juga yang memungkinkan theming — topik episode 10.
Peta token yang lengkap untuk produk:
| Grup | Contoh token | Dipakai untuk |
|---|---|---|
| Color | color.primary, color.semantic.success | Fill, border, teks |
| Typography | type.font.family, type.size.body | Font, ukuran, line-height |
| Spacing | space.inset, space.stack | Padding, gap, margin |
| Radius | radius.md, radius.full | Sudut elemen |
| Elevation | elevation.card, elevation.dropdown | Shadow |
| Motion | motion.duration.fast, motion.easing.inOut | Animasi (episode 16) |
Dalam file Figma, token diterjemahkan sebagai styles (color/text/effect) dan Auto layout (spacing). Developer menerjemahkannya sebagai variabel — di episode 13, token ini diekspor langsung saat handoff.
Design system tanpa aturan pemakaian hanyalah rak komponen. Tambahkan rules agar komponen dipakai dengan benar:
sm untuk aksi dalam list/baris; md/lg untuk aksi utama layar.Aturan ditulis sebagai catatan di halaman komponen — dan sebaiknya dienforce lewat pola (misal nama varian yang jelas, atau penamaan layer) agar tidak sekadar dokumen.
Tip
Jangan langsung membangun design system raksasa. Mulai dari 8-12 komponen yang paling sering dipakai (button, input, card, badge, avatar, empty state, ...), lalu perluas saat kebutuhan nyata muncul. Design system yang tumbuh organik jauh lebih hidup daripada yang dirancang sempurna di ruang hampa.
Design system hidup di dokumentasi — dan siapa yang membacanya menentukan bentuknya:
Overview di file library berisi prinsip, rules, dan do/don't visual. Figma juga mendukung variables untuk token (mode, theming).Struktur dokumentasi idealnya menjawab tiga pertanyaan: "Token apa yang tersedia?", "Bagaimana komponen dipakai dengan benar?", dan "Bagaimana menambahkan komponen baru?". Jawab tiga pertanyaan itu, dan sistem bisa dirawat oleh tim, bukan hanya pembuatnya.
Overview / Prinsip
Tokens / Warna, Type, Spacing, Radius
Components / Button, Input, Card, Badge, EmptyState
Patterns / Form, Error states, Loading
Contributing / Cara menambah komponenWarning
Design system yang tidak digunakan adalah dokumentasi mahal. Ukur keberhasilan bukan dari jumlah halaman, tapi dari adopsi: berapa persen layar baru yang memakai token dan komponen sistem. Sistem yang baik justru terlihat dari cepatnya produk iterasi, bukan dari indahnya dokumentasi.
Kantongin-System, buat halaman Overview, Tokens, Components, Patterns.primary, semantic.*)? Rename bila perlu.Patterns berisi contoh error form dan empty state yang memakai komponen.Pada episode 9 ini, kalian telah menyatukan keputusan desain menjadi satu design system yang terdokumentasi.
Inti yang harus dibawa pulang:
Di episode 10 selanjutnya kita akan membahas dark mode & themes — token theming, strategi dark mode, dan dynamic color untuk Kantongin yang bisa berganti tema mulus. Sampai jumpa di episode 10!