Tugas Akhir
Penjelasan
Sekarang saatnya menggabungkan semua yang sudah dipelajari — dari routing sampai seeder — jadi satu fitur CRUD utuh. Kamu akan membuat modul "Catatan" sederhana yang menggabungkan migration, model, controller, route, dan flashdata.
Tugas
Buat migration untuk tabel catatan (kolom: id, judul VARCHAR 255, isi TEXT). Buat model CatatanModel dengan $table = 'catatan' dan $allowedFields berisi judul dan isi. Buat controller Catatan dengan method index() yang mengambil semua catatan lewat (new CatatanModel())->orderBy('id', 'DESC')->findAll() dan mengirimkannya ke view catatan/index, serta method store() yang memvalidasi judul (wajib, minimal 3 karakter) dan isi (wajib) lewat $this->validate(), lalu menyimpan lewat insert() dan set flashdata 'sukses' sebelum redirect ke url_to('catatan.index'). Daftarkan $routes->resource('catatan', ['controller' => 'Catatan']) di app/Config/Routes.php.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kalau bingung mulai dari mana, kerjakan migration dan model dulu, cek lewat php spark tinker (kalau tersedia) atau langsung lewat controller sederhana apakah insert() berhasil, baru lanjut ke sisanya. Program besar selalu lebih mudah kalau dipecah jadi langkah-langkah kecil.