NAMA : EZRA KRISTANTO NAHUMURY
NIM : 71220849
MINI PROJECT PWL
PETSHOP MANAGEMENT
Manfaat Sistem petshop-management
- Pendataan Hewan
Semua data hewan (nama, jenis, umur, kondisi kesehatan, pemilik, dll) tersimpan rapi
dalam satu sistem
NO 1 :
- Membuat folder proyek baru dengan nama petshop-management.
- Mengaktifkan Xampp untuk membuat database
- Membuat database yang Bernama db_petshop
- Hasil membuat database (database berhasil dibuat)
- DB_DATABASE adalah nama database yang akan dipakai oleh Laravel. Artinya:
Laravel nanti akan mencari database bernama db_petshop di MySQL.
NO 2 :
- Membuat file migration baru di folder database/migrations/
- Struktur Tabel Pets
Nama Kolom Tipe Data Keterangan
id bigIncrements Primary key otomatis (auto increments)
code String + unique Kode unik untuk tiap hewan (tidak boleh sama)
name String Nama hewan
Species String Jenis hewan
Age Integer Usia hewan dalam angka
owner String (nullable) Nama pemilik hewan (boleh kosong)
Health_status String Kondisi Kesehatan hewan
Created_at Timestaps Waktu data dibuat
Update_at timestaps Waktu data terakhir di perbarui
- membuat tabel pets di dalam database, berdasarkan struktur yang sudah di tulis dalam
migration.
Hasil Create Tabel nya :
NO 3 :
- membuat file Seeder baru dengan nama PetsSeeder
- hasil pembuatan file baru (file baru berhasil dibuat)
- memasukkan data untuk dilakukan insert untuk table pets
- Menjalankan PetsSeeder dan mengisi table pets dengan data yang ada di dalam file
[Link]
- Hasil insert nya :
NO 4 :
- Faker bawaan Laravel tidak punya generator nama hewan, maka Kita mengambil
Animal Provider dari GitHub
Source : [Link]
- Karena Faker bawaan Laravel tidak memiliki fungsi untuk menghasilkan nama
hewan, kita menambahkannya sendiri melalui provider.
- File [Link] ini adalah custom Faker Provider yang berisi daftar nama-nama
hewan dalam bentuk array.
- Mengambil Provider Animal dan Menginisialisasi Faker
- Melakukan insert pada Seeder
Nama Kolom Penjelasan
Code Dibuat menggunakan huruf P dan angka acak 3 digit dan bersifat unik
agar tidak ada duplikasi data.
Name Menghasilkan nama panggilan secara acak
Species Menggunakan Animal Faker Provider untuk membuat jenis hewan secara
acak
Age Menghasilkan umur hewan secara acak dari 1 hingga 15 tahun
owner Menghasilkan nama pemilik secara acak
Health_status Menghasilkan status kondisi hewan secara acak dari array $status
Created_at Berisi timestamp kapan data dibuat (now()).
Updated_at Berisi timestamp kapan data terakhir diubah (now()).
- menjalankan seeder PetsSeeder, yaitu file yang berisi script untuk mengisi tabel pets
dengan data otomatis (dummy data).
- Hasil Insert Tabel menggunakan Dummy Data
NO 5 :
- membuat Model baru dengan nama Pets.
- fungsi isi model [Link]
Kode Fungsi Penjelasan
protected $table = 'pets'; Menentukan nama tabel Karena nama tabelnya pets,
maka Laravel tahu model ini
terhubung ke tabel pets.
protected $fillable = [...] Mengatur kolom yang boleh Daftar kolom yang boleh
di-insert / update otomatis dimasukkan data saat
menggunakan create() atau
update() dalam Controller.
- Menguji kode Laravel langsung dari terminal, tanpa membuat route, view, atau
controller.
- READ
1. Mengambil atau melihat 1 data pertama.
2. Mencari data dengan ID = 104.
3. mencari dan mengambil semua data hewan di tabel pets yang mempunyai nilai
species = "Crocodile".
4. mencari data hewan berdasarkan pola huruf pada kolom species.
- CREATE
menambahkan 1 data hewan baru ke tabel pets melalui Tinker, menggunakan teknik manual
object assignment + save().
HASIL PENAMBAHANNYA :
- UPDATE
Mengubah data (UPDATE) di tabel pets menggunakan Eloquent Model melalui Tinker.
Langkah Perintah Penjelasan
1 App\pets::find(104); Mencari data hewan berdasarkan id = 104 dalam
tabel pets. Hasilnya disimpan dalam variabel
$petsup
2 $petsup->name = 'Kevin'; Mengubah nilai kolom name pada data tersebut
dari "Galih" menjadi "Kevin".
3 $petsup->save(); Menyimpan perubahan ke database. Laravel akan
melakukan UPDATE data.
Hasilnya :
Kolom Sebelum Sesudah
name Galih Kevin
Mengikuti waktu Berubah ke waktu save terakhir (menandakan
updated_at
sebelumnya update berhasil)
- DELETE
Menghapus data hewan dari tabel pets berdasarkan id tertentu menggunakan Tinker.
Langkah Perintah Fungsi Hasil
Mencari data hewan Data ditemukan kemudian
1 App\pets::find(147)
dengan id = 147 ditampilkan
Menghapus data tersebut
2 $petsdel->delete() true artinya hapus berhasil
dari database
Menghasilkan null
Mencari lagi setelah
3 App\pets::find(147) ( tandanya data sudah
delete
berhasil dihapus)