Bahan Belajar
Membuat Web Application
Contoh Apk : Rental Game
Dengan 3 tabel yaitu :
Pelanggan (yang merental game) → NamaPelanggan, Alamat, NoTelp
Game → JenisGame, Harga
Laporan → id_pelanggan, id_game, TglRental, TglKembali, JmlRental, TtlHarga
Pilih file, lalu pilih Auto Save agar semua perubahan otomatis tersimpan
1. Buka website filamentphp.com di chrome atau Microsoft browser
2. Buat folder di file manager (buatlah selain di disk C), bisa folder dalam folder, bisa hanya
folder saja
3. Buka Visual Studio Code, kemudian buka folder yang sudah di buat tadi → file, new windows
(jika perlu/masih di folder lain), Buka folder
4. Buka terminal → menu - terminal - new terminal. Kemudian pada pojok kanan/sebelah kanan
terminal pilih (powershell +^) kemudian pilih GitBash (jika ada)
5. Pada terminal ketikkan composer create-project laravel/laravel . ATAU composer createproject laravel/laravel=11 . kemudian enter. Berhasil = running migration DONE, Gagal = ulang
dari awal
6. Mengecek laravel ketik php artisan serve lalu klik link 127.0.0.1:8000 yg ada di terminal, jika
muncul maka berhasil
7. Pada folder pilih file . env kemudian ganti APP_NAME sesuai nama aplikasi, TANPA SPASI!!!
8. DB_HOST sampai DB_PASSWORD dihilangkan hastagnya (#), DB_CONNECTION ganti dengan
mysql dan DB_DATABASE dapat diganti sesuai nama aplikasi
9. Buka New Terminal kemudian ketikkan php artisan migrate jika tidak bisa, di bawahnya
DB_PASSWORD tambahkan DB_COLLATION=utf8mb4_unicode_ci jika tetap tidak bisa pada
XAMPP dibagian start² admin pilih config, Apache php ini lalu hapus ; (titik koma) pada bagian
extends intl dan Zip
10. Muncul pertanyaan would you like to create it? pilih yes kemudian enter sampai berhasil
11. Buka web filamentphp.com lalu get started, get started, pada bagian installation copy
composer require filament/filament="^3.3" —W lalu paste di terminal, enter
12. Setelah selesai copy bagian kedua php artisan filament:install ——panels akan muncul
pertanyaan What is the ID? Ketik admin (sebagai alamat link website) jika ada pertanyaan ttg
GitHub pilih No
13. Buka filamentphp.com pada bagian create a user copy php artisan make:filament-user
paste di terminal, enter
14. Isi Name enter, Email Address (email biasa) enter, Password enter
15. Membuat tabel dengan mengetikkan php artisan make:model Pelanggan —m pada
terminal
16. Buka Database → Migration pilih yg diinstal tadi (biasanya paling bawah). Pada bagian
Schema::create pada bawahnya $table->id() tambahkan
$table->String('NamaPelanggan');
$table->String('Alamat');
$table->String('NoTelp');
(Sesuai isi tabel)
17. Diterminal ketikkan php artisan migrate enter, lalu aktifkan XAMPP maka seharusnya tabel
sudah ada di database yg dibuat tadi
18. Buka filamentphp.com pada bagian creating a resource lalu copy php artisan
make:filament-resource Pelanggan enter lalu buka kembali link 127.0.0.1:8000 dengan
menambahkan /admin dibelakangnya dan login dengan email & password yg dibuat tadi
19. Di Vs Code buka app → Filament/Resource kemudian pilih PelangganResource dan
tambahkan use TextInput
use Filament\Form\Components\TextInput;
20. Pada bagian return $form schema komentarnya dihapus lalu isi dengan
TextInput::make('NamaPelanggan'),
TextInput::make('Alamat'),
TextInput::make('NoTelp'),
21. Buka app → Models → Pelanggan.php pada bagian komentar (komentar dihapus) isi
dengan protected $guarded=[];
22. Pada PelangganResource tambahkan use TextColumn
use Filament\Tables\Columns;
23. Pada return $table column pada bagian komentar isi dengan
TextColumn::make('NamaPelanggan'),
TextColumn::make('Alamat'),
TextColumn::make('NoTelp'),
24. Membuat tabel Game sama dengan tabel Pelanggan (no 15 - 24) dengan codingan di
Schema::create adalah
$table->String('JenisGame');
$table->String('Harga');
Di bagian return $form schema isi dengan
TextInput::make('JenisGame'),
TextInput::make('Harga'),
Di bagian return $table column isi dengan
TextColumn::make('JenisGame'),
TextColumn::make('Harga'),
25. Membuat tabel Laporan pada terminal ketik php artisan make:model Laporan —m
26. Pada migration dibagian schema::create isi dengan
$table->foreignId('id_pelanggan');
$table->foreignId('id_game');
$table->foreign('id_pelanggan')->references('id')->on('pelanggans')->onDelete('cascade');
$table->foreign('id_game')->references('id')->on('games')->onDelete('cascade');
$table->date('TglRental');
$table->date('TglKembali');
$table->String('JmlRental');
$table->String('TtlHarga');
27. Di terminal ketik php artisan migrate enter
28. Buka Models → Laporan.php lalu tambahkan protected $guarded=[]; pada kurung
kurawal lalu dibawahnya (masih di kurung kurawal) tambahkan
public function pelanggan(){
return $this->belongsTo(Pelanggan::class, 'id_pelanggan');
}
public function game(){
return $this->belongsTo(Game::class, 'id_game');
}
29. Pada terminal ketik php artisan make:filament-resource Laporan
30. Lalu pada LaporanResource.php tambahkan use TextInput, TextColumns, & Select
use Filament\Form\Components\TextInput;
use Filament\Tables\Columns;
use Filament\Form\Components\Select;
31. Buka app→Filament→LaporanResource lalu pada bagian return $form schema isi
dengan
Select::make('id_pelanggan')->options(Pelanggan::all()->pluck('NamaPelanggan', 'id')),
Select::make('id_game')->options(Game::all()->pluck('JenisGame', 'id')-
>map(function($item, $key) {
$Game=Game::find($key);
return $Game->JenisGame . '—' . $Game->Harga ;
})),
DatePicker::make('TglRental')->required()->default(Carbon::today()),
DatePicker::make('TglKembali')->required()->default(Carbon::today()->addDays(3)),
TextInput::make('JmlRental'),
TextInput::make('TtlHarga'),
32. Pada return $table column isi dengan
TextColumn::make('id'),
TextColumn::make('pelanggan.NamaPelanggan'),
TextColumn::make('game.JenisGame'),
TextColumn::make('TglRental'),
TextColumn::make('TglKembali'),
TextColumn::make('JmlRental'),
TextColumn::make('TtlHarga'),
33. Tambahkan use Carbon, DatePicker, Pelanggan, Game, & Laporan
use Carbon\Carbon;
use Filament\Form\Components\DatePicker;
use App\Models\Pelanggan;
use App\Models\Game;
use App\Models\Laporan;
Menambahkan use otomatis: pilih teks yg akan di import, blok, klik kanan, kemudian pilih import class

Komentar
Posting Komentar