Belajar huruf Jepang (Hiragana, Katakana, Kanji N5, Kosakata) lewat Memory Game, Quiz, dan Flashcard. Single-file offline web app — buka di browser, langsung pakai.
Kana Memory adalah aplikasi web ringan untuk belajar bahasa Jepang level JLPT N5 dengan pendekatan gamifikasi. Tidak ada server, tidak ada build step, tidak ada instalasi — cukup buka index.html di browser (HP, tablet, laptop) dan langsung main.
Cocok untuk pemula yang baru mulai belajar:
- Hiragana (46 karakter dasar)
- Katakana (46 karakter dasar)
- Kanji N5 (35 karakter dasar)
- Kosakata (salam, angka, hari, warna, keluarga)
Pasangkan kartu kiri-kanan: karakter Jepang dengan romaji/arti-nya.
- Hiragana Memory — あ ↔ a
- Katakana Memory — ア ↔ a
- Kosakata N5 — 水 ↔ air
- Campuran — hira + kata + kosakata digabung
Difficulty: 4 / 6 / 8 / 10 / 12 pasang (atur via Pengaturan → Pasangan Kartu). Best time tersimpan per mode.
Kuis pilihan ganda 10 soal dengan feedback instan + weighted random (soal yang sering salah lebih sering muncul).
- Tebak Hiragana — romaji → pilih karakter
- Tebak Katakana — romaji → pilih karakter
- Tebak Arti Kosakata — karakter → pilih artinya
- Pilihan Ganda N5 — campuran kosakata & kanji
- Kuis Acak Harian — random dari semua kategori
Setelah kuis selesai: rating bintang (1–3), review jawaban salah, hadiah XP + koin, confetti animation.
Browse + tap untuk lihat detail karakter. Tap 🔊 untuk dengar pelafalan (TTS bahasa Jepang / Indonesia).
- Hiragana · Katakana · Kanji N5
- Salam · Angka · Hari · Warna · Keluarga
Karakter yang sudah dipelajari ditandai ✓ dan menambah XP.
- Level — naik dari N5 Beginner → Student → Master → Sensei
- XP — earned dari game, kuis, belajar
- Koin 💰 — earned dari tantangan harian, dipakai beli tema
- Streak 🔥 — hari berturut-turut belajar
- 13 Achievement — First Win, Perfect Score, 5/10/30 Streak, Quiz Master, Kanji 10/30, Master Hiragana/Katakana, Daily Hero, Collector
- Tantangan Harian — 3 task random per hari (main game, selesaikan kuis, hafalkan 5 karakter baru, dll)
- Confetti animation saat menang
- Aurora (default, gratis) — ungu + pink
- Sakura (100 koin) — rose + sakura
- Matcha (150 koin) — hijau matcha
- Ocean (200 koin) — cyan + teal
Tema bisa diganti kapan saja di Profil → Tema & Hadiah.
Pelafalan karakter Jepang & kosakata Indonesia via Web Speech API. Tidak butuh file audio tambahan.
- Bottom nav dengan 5 tab (Home / Game / Kuis / Belajar / Profil)
- Sticky header dengan brand "Kana Memory"
- Touch-optimized cards (min 44px tap target)
- Safe-area inset untuk notch HP
- Dark mode (default) + light mode via tema
Semua data tersimpan di localStorage — progress, settings, achievement, streak, best time. Tidak ada tracking, tidak ada API call (kecuali Google Fonts CDN untuk typography).
Menu Pengaturan berisi:
- 🎴 Pasangan Kartu — popup untuk pilih jumlah pasangan (4/6/8/10/12)
- ℹ️ Tentang Aplikasi — info app, fitur, stack
- 👨💻 Tentang Saya — info developer (nama, NIM, prodi)
- Reset & Mulai Ulang — hapus semua progress
| Peran | Nama | NIM | Program Studi |
|---|---|---|---|
| Developer / Programmer | Andreas Restuawanta Christwara | 5312422036 |
Teknik Komputer |
| Ide & Konseptor Materi | Yureike Christiani Ismawan Bendon | 2302070004 |
Pendidikan Bahasa Jepang |
Akses info lengkap via Pengaturan → Tentang Saya.
- Download / clone repo ini
- Double-click
index.html - Browser terbuka → app jalan ✨
# Pakai Python
python -m http.server 8000
# Atau pakai Node
npx serve .
# Lalu buka http://localhost:8000Upload / push ke:
- GitHub Pages — commit, push, enable Pages
- Netlify / Vercel — drag & drop file
- Cloudflare Pages — connect repo, deploy
Tidak perlu build step. Tidak perlu config. Single file jalan di mana saja.
KanaMemory/
├── index.html ← Seluruh app (HTML + CSS + JS inlined)
├── README.md ← Dokumentasi lengkap
└── LICENSE ← Lisensi MIT
Yep, cuma 1 file utama untuk menjalankan seluruh aplikasi. 100% self-contained.
| Layer | Technology |
|---|---|
| Markup | HTML5 |
| Styling | Vanilla CSS (CSS variables, grid, flex) |
| Logic | Vanilla JavaScript (ES2020+) |
| Storage | localStorage (no backend) |
| Audio | Web Speech API (speechSynthesis) |
| Font | Google Fonts: Inter, Shippori Mincho, Noto Sans JP |
No frameworks. No bundler. No dependencies. No build step.
- Buka
index.html - Splash screen → tap Mulai
- Masukkan nama kamu → tap Ayo Mulai 🚀
- Mulai dari tab Belajar untuk hafal karakter, atau langsung ke Game / Kuis
- Buka app → otomatis dapat tantangan harian (3 task)
- Main 1 memory game (~2 menit)
- Selesaikan 1 kuis (~2 menit)
- Hafal 5 karakter baru (~3 menit)
- Cek achievement progress di Profil
- 🔥 Streak — buka app setiap hari, jangan putus
- 💰 Koin — selesaikan tantangan harian, jangan skip
- 📚 Belajar dulu, baru main — pahami karakter sebelum quiz
- 🎯 Pakai TTS — tap tombol 🔊 di detail karakter untuk dengar pelafalan
┌─────────────────────────────────────────────────┐
│ Splash Screen │
│ (hanya untuk first-time visitor) │
└────────────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Onboarding (Nama input) │
└────────────────────┬────────────────────────────┘
│
┌────────────┼────────────┬─────────────┐
▼ ▼ ▼ ▼
┌────────┐ ┌────────┐ ┌─────────┐ ┌──────────┐
│ Home │ │ Game │ │ Kuis │ │ Belajar │
│(Beranda)│ │ (4 mode)│ │(5 mode) │ │(8 tab) │
└────┬───┘ └────┬───┘ └────┬────┘ └────┬─────┘
│ │ │ │
│ ▼ ▼ ▼
│ Game Play Quiz Play Learn Detail
│ (board) (soal) (modal)
│ │ │ │
│ ▼ ▼ │
│ Finish Finish │
│ Modal Modal │
│ │ │ │
└───────────┴───────────┴─────────────┘
│
▼
┌────────────┬─────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌──────────┐
│ Profile │ │Settings │ │ Achievements│
│ (stats) │ │ (config)│ │ (badges) │
└─────────┘ └─────────┘ └──────────┘
Routing berbasis hash (#/home, #/game, dll) — tidak butuh server-side routing.
Semua data disimpan lokal di browser (localStorage). Tidak ada server, tidak ada analytics, tidak ada tracking.
Keys yang disimpan:
kmc_user— nama, XP, level, koin, temakmc_settings— difficulty, theme modekmc_stats— per-karakter correct/wrong countkmc_best— best time per game modekmc_achievements— unlocked badge IDskmc_daily— tantangan hariankmc_visited_dates— streak historykmc_learned_chars— karakter yang sudah ditandai dipelajarikmc_last_screen— last visited screen (untuk resume)kmc_has_visited— flag first-time visit
Reset progress: buka Pengaturan → Reset & Mulai Ulang, atau manual via DevTools → Application → Local Storage → hapus key kmc_* → refresh.
Mau ganti warna tema default? Edit CSS variables di bagian :root di index.html:
:root {
--primary: #a78bfa; /* ungu */
--primary-strong: #8b5cf6;
--accent: #f472b6; /* pink */
--bg: #07061a; /* dark background */
--text: #f4f1ff;
}Mau tambah kosakata? Edit konstanta KOSAKATA di dalam <script>:
const KOSAKATA = {
salam: [['こんにちは','halo'], ...],
angka: [['一','satu'], ...],
// tambah kategori baru di sini
makanan: [['寿司','sushi'], ['味噌汁','sup miso'], ...]
};Lalu tambahkan ke LEARN_TABS:
const LEARN_TABS = [
...,
{ id: 'makanan', label: 'Makanan', data: KOSAKATA.makanan, color: '#fbbf24' }
];- Fix: Tombol "Lihat Hasil" kuis tidak bereaksi (crash
Daily.completesaat data null) - Fix: Outline 1px di kartu mode Game/Kuis/Belajar (border default jadi transparent)
- New: Menu "Tentang Saya" di Pengaturan — info developer (nama, NIM, prodi)
- Update: Pengaturan lebih simpel — "Default Game" dihapus (sudah ada di "Pasangan Kartu" popup)
- Rename: "Menu Pair" → "Pasangan Kartu"
- Remove: "Tentang Game Kartu" dari Pengaturan (redundan)
- Single-file app (HTML + CSS + JS inlined)
- 4 mode Memory Game, 5 mode Kuis, 8 tab Belajar
- Gamifikasi (level, XP, koin, streak, 13 achievement, tantangan harian)
- 4 tema (Aurora, Sakura, Matcha, Ocean)
- TTS audio (Web Speech API)
- Mobile-first bottom nav, dark/light mode
Tested on:
- ✅ Chrome / Edge 90+
- ✅ Firefox 88+
- ✅ Safari 14+ (iOS & macOS)
- ✅ Chrome Android 90+
Butuh browser modern yang support:
- CSS Grid & Custom Properties
- ES2020 (optional chaining, nullish coalescing)
speechSynthesisAPI (audio — gracefully degrades)localStorageAPI
Proyek ini dilisensikan di bawah MIT License. Bebas digunakan, dimodifikasi, dan didistribusikan.
- Hiragana & Katakana — Unicode standard
- Kanji N5 — JLPT official list
- Fonts — Google Fonts (Inter, Shippori Mincho, Noto Sans JP)
- Inspirasi — Duolingo, Anki, Genshin (aurora theme)
楽しく学ぼう! (Mari belajar dengan menyenangkan!) 🌸
⭐ Star repo ini kalau bermanfaat.