Hari ini kita maw ngapain aja sih ?
- Paham isi folder Laravel (mana yang perlu disentuh, mana yang jangan diutak-atik).
- Paham cara kerja MVC dan alur perjalanan URL sampai jadi halaman web.
- Berhasil membuat aplikasi Katalog Buku sederhana (Tampil Data + Tambah Data).
Part 1: Peta Folder Laravel 13
Untuk 80% pekerjaanmu semester ini, ntar bakal bolak-balik di 4 folder yang diberi tanda bintang (β) ini :
Part 2 : Konsep MVC & Alur Request
Laravel bekerja dengan pola MVC (Model - View - Controller). Bayangkan kamu sedang makan di restoran:
- Route (
routes/web.php) = Buku Menu. Daftar URL yang bisa dipesan pengunjung (misal:/books). - Controller (
app/Http/Controllers) = Pelayan. Menerima pesanan dari pengunjung, lalu menyuruh koki menyiapkan bahan. - Model (
app/Models) = Koki & Gudang Bahan. Mengambil atau menyimpan data ke database (books). - View (
resources/views) = Piring Saji. Menampilkan data yang sudah matang menjadi halaman HTML yang rapi ke layar pengunjung.
Urutan Perjalanannya: Pengunjung buka URL β Cek di routes/web.php β Panggil Controller β Ambil data lewat Model β Tampilkan ke View.
Part 3: Praktikum Bikin Aplikasi Katalog Buku
Sekarang buka terminal dan VS Code kalian. Kita akan membuat daftar buku dan form tambah buku
Langkah 1: Buat Proyek & Nyalakan Server
Jalankan perintah ini di terminal :
Langkah 2: Buat Model & Tabel Database
Kita butuh tabel books di database dan model Book untuk mengelolanya.
Flag -m artinya: "Tolong sekalian buatin file Migration/cetakan tabelnya").
Buka file migration yang baru muncul di database/migrations/xxxx_create_books_table.php.
Ubah bagian up() menjadi seperti ini:
Sekarang cetak tabel tersebut ke database dengan perintah :
Terakhir, buka app/Models/Book.php. Beri izin agar kolom title dan author boleh diisi lewat form:
Langkah 3: Buat Controller
Sekarang kita buat "Pelayan"-nya. Jalankan di terminal:
Buka app/Http/Controllers/BookController.php, lalu isi dengan 2 fungsi: index (untuk menampilkan daftar buku) dan store(untuk menyimpan buku baru).
Langkah 4: Buat Tampilan / View Blade
Buat folder baru bernama books di dalam resources/views/, lalu buat file index.blade.php (atau jalankan php artisan make:view books.index). Isi resources/views/books/index.blade.php dengan kode berikut :
Kenapa pakai @forelse bukan @foreach? Dengan @forelse, kalau databasenya masih kosong, Laravel otomatis menampilkan bagian @empty ("Belum ada buku"). Kita tidak perlu repot bikin if-else manual!
Langkah 5: Daftarkan Alamat URL di Route
Buka routes/web.php, lalu daftarkan 2 rute kita: satu untuk melihat halaman (GET), satu untuk mengirim form (POST).
Langkah 6: Jalankan & Uji Coba! (5 Menit)
Nyalakan server lokal di terminal :
- Buka browser dan kunjungi
http://localhost:8000/books. - Coba klik tombol + Tambah Buku
- Sekarang isi Judul dan Penulis, lalu klik tambah.
Percobaan mandiri :p
Sudah berhasil? Sebelum keluar kelas, coba selesaikan percobaan kecil ini:
- Tantangan Level 1: Tambahkan kolom year (tahun terbit, tipe integer) di file migration, lalu jalankan php artisan migrate:fresh (perintah ini akan mereset tabel dan membuat ulang dengan kolom baru).
- Tantangan Level 2: Perbarui $fillable di Model Book, tambahkan input Tahun Terbit di form Blade, dan tambahkan validasi 'year' => 'required|numeric' di BookController.
- Tantangan Level 3: Tampilkan tahun terbit di samping nama penulis, contoh: Filosofi Teras oleh Henry Manampiring (2018).
Cheat Sheet Praktikum Hari Ini
Perintah Terminal Kegunaan
|
Header 1 |
Header 3 |
|---|---|
|
Menyalakan server web di |
|
Membuat Model sekaligus file Migration |
|
Membuat file Controller baru |
|
Membuat file tampilan Blade baru |
|
Mengeksekusi pembuatan tabel ke database |
|
Menghapus semua tabel dan membuat ulang dari awal |