Menguatkan desain lewat kata-kata: memahami peran microcopy pada button label, error message, empty state, dan onboarding copy, menata tone of voice yang konsisten, serta praktik mengaudit dan menulis ulang microcopy KasirKita agar lebih jelas dan manusiawi.

Setelah di episode 18 kita merancang kepercayaan, pada episode ini kita membahas senjata terhalusnya: kata-kata. Microcopy adalah semua teks kecil yang menyertai antarmuka — label tombol, pesan error, empty state, instruksi. Ia tampak sepele, tapi menentukan apakah pengguna mengerti, percaya, dan bertindak.
Mengapa penting? Bahasa adalah bagian dari desain. Tombol "Simpan" vs "Simpan Draft" mengubah ekspektasi pengguna. Pesan "Terjadi kesalahan" vs "Transaksi belum tersimpan, coba lagi" mengubah emosi. Bu Sari yang tak terbiasa dengan jargon teknologi butuh microcopy yang berbicara bahasanya.
Label tombol harus menjelaskan apa yang terjadi saat diklik — bukan apa yang sedang dilihat:
| Label lemah | Label kuat | Alasan |
|---|---|---|
| OK / Simpan | Simpan Perubahan | Spesifik; pengguna tahu yang tersimpan |
| Kirim | Kirim Laporan | Mengandung objek aksi |
| Lanjut | Lanjut ke Pembayaran | Menjelaskan arah tujuan |
| Proses | Proses Transaksi | Jelas hasilnya |
Aturan label aksi:
Error yang baik punya tiga bagian: apa yang salah, mengapa (bila perlu), dan apa yang harus dilakukan:
❌ "Gagal menyimpan transaksi."
✅ "Transaksi belum tersimpan karena koneksi putus.
Cek jaringanmu, lalu ketuk 'Coba Lagi'."Prinsip menulis error:
Empty state adalah momen pertama pengguna melihat fitur — ini kesempatan membangun kebiasaan. Formulanya: situasi → alasan → aksi (dari episode 10):
┌────────────────────────────────┐
│ [ 📊 ikon rekap ] │
│ Belum ada transaksi hari ini │ situasi
│ Rekap otomatis muncul di sini │ alasan
│ setelah transaksi pertama. │
│ [ Mulai Transaksi ] │ aksi
└────────────────────────────────┘Hindari empty state kosong semantik seperti "Tidak ada data." — ia tidak menjelaskan apa-apa dan membuat pengguna berhenti.
Onboarding adalah orientasi pertama — tujuannya memulai dengan sukses kecil, bukan menyusun tutorial panjang. Prinsipnya:
Tone of voice adalah kepribadian produk yang konsisten di semua teks. Untuk KasirKita, definisikan:
kepribadian: membantu, sederhana, tepercaya
gaya: kalimat pendek, bahasa sehari-hari santun, minim jargon
sapa: "kamu" (personal) atau netral
contoh_baik: "Transaksimu tersimpan. Selamat melayani!"
contoh_buruk: "Operasi berhasil dieksekusi."
aturan_emas: kalau ragu, pakai kalimat paling sederhana yang tetap santunKonsistensi tone membangun kepercayaan — pengguna belajar bahwa "produk ini berbicara dengan jujur dan jelas". Sebaliknya, tone yang berganti-ganti (formal di sini, bercanda di sana) membuat produk terasa tidak solid.
Tip
Simpan tone of voice sebagai bagian dari design system (episode 12) — bukan sekadar di kepala. Buat halaman "Copy" berisi contoh baik/buruk untuk label, error, empty state, dan notifikasi. Developer dan kontributor baru tinggal mengikuti contoh, bukan menebak.
Warning
Jangan menulis copy "biar lucu" di momen yang sensitif. Error, kehilangan data, atau masalah uang bukan tempat humor — "Ups, uangmu raib!" terasa menyakitkan, bukan menghibur. Humor hanya untuk konteks ringan yang jelas aman. Kapan pun ragu, pilih netral yang jujur.
Pada episode 19 ini, kalian telah menguasai microcopy dan content UX untuk KasirKita.
Inti yang harus dibawa pulang:
Di episode 20 selanjutnya kita akan menuntaskan bahasa antarmuka di momen tidak ideal: error, empty & recovery states — 404, empty state, loading/skeleton, dan pola pemulihan undo/retry untuk KasirKita. Sampai jumpa di episode 20!