Bab 1 — Persiapan Alat dan Proyek Kosong
1.1Konsep
Dua alat utama
- Composer mengunduh Laravel dan semua paket pendukungnya. Perintahnya
composer .... - Artisan adalah perintah bawaan Laravel yang membuatkan berkas dan menjalankan tugas. Perintahnya
php artisan .... Kamu akan memakainya di hampir setiap bab.
Database: SQLite
Laravel versi baru memakai SQLite sebagai database bawaan. Seluruh database ada dalam satu berkas (database/database.sqlite), jadi tidak perlu menyalakan MySQL atau membuka phpMyAdmin.
1.2Periksa alat
Buka PowerShell (atau terminal di VS Code) dan jalankan:
Keduanya harus menampilkan nomor versi. Tulis nomor versi PHP di bukumu.
⚠️ Kalau salah satunya tidak dikenali, lihat Lampiran A.1. Kalau memakai Laragon, buka terminal dari dalam Laragon supaya PHP dan Composer otomatis dikenali.
1.3Buat proyek kosong
Pilih folder kerja (mis. C:\les), lalu:
Proses pertama bisa 3–10 menit karena mengunduh banyak paket. Setelah selesai, tulis versi Laravel yang muncul di bukumu. Versi itu menentukan sedikit perbedaan tampilan pesan galat.
Jalankan server pengembangan:
Buka http://127.0.0.1:8000. Halaman sambutan Laravel harus muncul. Hentikan server dengan Ctrl + C kapan pun perlu.
1.4Salin Paket Starter
Paket Starter ada di folder paket-starter/ yang dibagikan pengajar. Salin isinya ke dalam proyek (ganti C:\...\paket-starter dengan lokasi sebenarnya):
Atau salin manual lewat File Explorer: gabungkan folder resources dan tests. Setelah selesai, pastikan berkas-berkas ini ada:
1.5Rapikan test bawaan
Laravel membawa dua test contoh:
tests/Feature/ExampleTest.phpmembuka alamat/dan mengharapkan halaman sambutan (kode 200). Di Bab 4 alamat/akan dialihkan ke/siswa, sehingga test itu akan merah padahal tidak ada yang salah.tests/Unit/ExampleTest.phphanya memeriksa bahwatruebernilai benar. Tidak menguji aplikasi kita, dan kalau dibiarkan, hitungan akhirmu menjadi 36, bukan 35.
Hapus keduanya sekarang:
1.6Pastikan test memakai database sementara
Buka phpunit.xml di folder utama. Cari dua baris ini (tanpa tanda <!-- di depannya):
:memory: artinya test memakai database sementara di memori, jadi data praktikmu tidak ikut terhapus saat test dijalankan. Kalau kedua baris itu tidak ada atau masih berupa komentar, hapus tanda komentarnya.
1.7Uji coba
Hasilnya: semua 35 test gagal (merah). Itu normal! Test sudah menunggu, tetapi model, seeder, route, dan controller belum kamu buat. Pesan galatnya bermacam-macam, dan semuanya menunjuk ke bagian yang belum ada:
| Pesan galat | Artinya | Dibuat di |
|---|---|---|
Class "App\Models\Siswa" not found |
Model belum ada | Bab 2 |
Target class [Database\Seeders\SiswaSeeder] does not exist |
Seeder belum ada | Bab 3 |
Route [siswa.…] not defined atau kode 404 |
Rute belum didaftarkan | Bab 4 |
Mulai Bab 2, kamu akan menjalankan test per bab dengan:
dan menyaksikan angka merah berubah menjadi hijau.
Titik periksa Bab 1
Centang setiap butir yang sudah kamu selesaikan.
php -vdancomposer -Vmenampilkan versi. Versi PHP dan Laravel sudah kutulis di buku.php artisan servemenampilkan halaman sambutan Laravel dihttp://127.0.0.1:8000.- Folder
resources/views/siswa/dantests/Feature/berisi berkas Paket Starter. - Kedua
ExampleTest.php(ditests\Featuredantests\Unit) sudah dihapus. php artisan testberjalan dan menampilkan 35 test gagal dengan pesan seperti di tabel 1.7 (model, seeder, atau rute belum ada), bukan galat lain seperti ekstensi PHP yang hilang.
Pertanyaan pemahaman
- Apa beda Composer dan Artisan?
- Mengapa test memakai database
:memory:dan bukan berkasdatabase.sqliteyang kamu pakai belajar? - Mengapa
ExampleTest.phpdihapus, padahal bukan kamu yang membuatnya? Kapan test lama boleh dihapus?
Tantangan
Buka .env, ubah APP_NAME menjadi Les Cerdas Mandiri, simpan, lalu cari tahu: apakah perubahan itu langsung terlihat di halaman sambutan? (Petunjuk: hentikan dan jalankan ulang php artisan serve.)
Kesalahan umum
| Gejala | Penyebab & solusi |
|---|---|
php tidak dikenali |
PHP belum ada di PATH. Pakai terminal Laragon, atau lihat Lampiran A.1. |
composer tidak dikenali |
Composer belum terpasang. Pasang dari getcomposer.org atau pakai terminal Laragon. |
composer create-project lama dan seperti macet |
Pertama kali memang mengunduh banyak paket. Tunggu sampai kembali ke prompt. |
Address already in use |
Port 8000 dipakai server lain. Tutup server lama atau jalankan php artisan serve --port=8001. |
php artisan test meminta ekstensi PHP |
Aktifkan ekstensi sqlite3 dan pdo_sqlite di php.ini (Lampiran A.1). |
Salinan Paket Starter bertumpuk (resources\resources) |
Folder tujuan salah. Isi resources harus langsung ada di bawah resources\views\. |
➡️ Lanjut ke Bab 2 — Migration dan Model.