Selamat datang, para calon developer web! Anda ingin belajar Laravel tapi bingung mulai dari mana? Jangan khawatir, artikel ini hadir sebagai panduan lengkap Tutorial Laravel untuk Pemula Bahasa Indonesia yang akan membantu Anda membangun aplikasi web sederhana dari nol. Kita akan membahas langkah demi langkah, mulai dari persiapan lingkungan pengembangan hingga implementasi fitur-fitur dasar. Mari kita mulai petualangan seru ini!
1. Apa Itu Laravel dan Mengapa Memilih Laravel? (Pengenalan Framework PHP Laravel)
Sebelum masuk ke tutorialnya, mari kita kenalan dulu dengan Laravel. Laravel adalah framework PHP yang open-source (sumber terbuka) dan dirancang untuk mengembangkan aplikasi web dengan lebih cepat, mudah, dan aman. Dibangun dengan filosofi elegant syntax (sintaks yang elegan), Laravel membuat proses coding menjadi lebih menyenangkan dan efisien.
Mengapa memilih Laravel?
- Sederhana dan Mudah Dipelajari: Laravel menyediakan struktur yang jelas dan dokumentasi yang lengkap, sehingga ideal untuk pemula.
- Fitur Lengkap: Laravel menyediakan banyak fitur bawaan seperti routing, templating, ORM (Object-Relational Mapper), authentication, authorization, dan masih banyak lagi.
- Keamanan Tingkat Tinggi: Laravel memiliki fitur keamanan bawaan yang kuat untuk melindungi aplikasi Anda dari serangan umum seperti SQL Injection, Cross-Site Scripting (XSS), dan Cross-Site Request Forgery (CSRF).
- Komunitas yang Aktif: Laravel memiliki komunitas yang besar dan aktif. Jika Anda mengalami kesulitan, Anda bisa dengan mudah menemukan bantuan dari forum, grup diskusi, atau dokumentasi.
- MVC Architecture: Laravel mengikuti pola desain MVC (Model-View-Controller), yang memisahkan logika aplikasi, tampilan, dan data. Hal ini membuat kode lebih terstruktur, mudah dipelihara, dan diuji.
- Artisan Console: Laravel menyediakan Artisan Console, sebuah command-line interface (CLI) yang memudahkan Anda untuk melakukan tugas-tugas umum seperti membuat controller, model, migration, dan lain-lain.
- Eloquent ORM: Eloquent ORM memudahkan Anda untuk berinteraksi dengan database menggunakan sintaks yang intuitif dan berbasis objek.
Dengan semua keunggulan ini, Laravel menjadi pilihan yang tepat bagi para developer yang ingin membangun aplikasi web modern dan berkualitas tinggi. Jadi, tunggu apa lagi? Mari kita mulai Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
2. Persiapan Lingkungan Pengembangan Laravel (Instalasi Composer dan XAMPP/Laragon)
Sebelum memulai Tutorial Laravel untuk Pemula Bahasa Indonesia ini, pastikan Anda sudah menyiapkan lingkungan pengembangan yang diperlukan. Kita akan menggunakan XAMPP atau Laragon sebagai server lokal dan Composer sebagai package manager PHP.
a. Instalasi XAMPP/Laragon:
- XAMPP: XAMPP adalah paket perangkat lunak yang berisi Apache, MySQL/MariaDB, PHP, dan Perl. Anda dapat mengunduhnya secara gratis dari https://www.apachefriends.org/index.html. Ikuti petunjuk instalasi sesuai dengan sistem operasi Anda.
- Laragon: Laragon adalah lingkungan pengembangan PHP yang portable, cepat, dan ringan. Anda dapat mengunduhnya secara gratis dari https://laragon.org/. Laragon sudah terintegrasi dengan PHP, MySQL, dan alat-alat lainnya yang dibutuhkan untuk pengembangan web.
Setelah instalasi selesai, pastikan Apache dan MySQL (atau MariaDB) sudah berjalan.
b. Instalasi Composer:
Composer adalah dependency manager untuk PHP. Composer akan membantu Anda mengelola package dan library yang dibutuhkan oleh Laravel.
- Unduh Composer dari https://getcomposer.org/download/.
- Jalankan installer dan ikuti petunjuknya. Pastikan Anda memilih direktori PHP yang benar (biasanya terletak di direktori XAMPP atau Laragon).
- Setelah instalasi selesai, buka command prompt atau terminal dan ketikkan
composer
. Jika Composer sudah terinstal dengan benar, Anda akan melihat daftar perintah Composer.
c. Konfigurasi Path PHP (Jika diperlukan):
Terkadang, Anda perlu menambahkan direktori PHP ke system path agar Composer dapat berjalan dengan baik.
- Windows:
- Buka System Properties (ketik “environment variables” di search bar).
- Klik tombol “Environment Variables…”.
- Pada bagian “System variables”, cari variabel “Path” dan klik “Edit…”.
- Klik “New” dan tambahkan direktori PHP Anda (misalnya
C:xamppphp
). - Klik “OK” untuk menyimpan perubahan.
- macOS/Linux:
Edit file~/.bashrc
atau~/.zshrc
dan tambahkan baris berikut:export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" # Ganti dengan path PHP Anda
Kemudian, jalankan perintah
source ~/.bashrc
atausource ~/.zshrc
untuk menerapkan perubahan.
Dengan persiapan ini, Anda siap melanjutkan ke langkah berikutnya dalam Tutorial Laravel untuk Pemula Bahasa Indonesia.
3. Membuat Proyek Laravel Baru (Menggunakan Composer Create-Project)
Sekarang kita akan membuat proyek Laravel baru. Buka command prompt atau terminal dan navigasikan ke direktori tempat Anda ingin menyimpan proyek (misalnya, C:xampphtdocs
untuk XAMPP atau direktori “www” di Laragon).
Gunakan perintah berikut untuk membuat proyek Laravel baru:
composer create-project --prefer-dist laravel/laravel nama-proyek
Ganti nama-proyek
dengan nama proyek yang Anda inginkan (misalnya, aplikasi-sederhana
). Perintah ini akan mengunduh dan menginstal Laravel beserta dependencies yang diperlukan. Proses ini mungkin memakan waktu beberapa menit, tergantung pada kecepatan internet Anda.
Setelah selesai, masuk ke direktori proyek:
cd nama-proyek
Selamat! Anda telah berhasil membuat proyek Laravel baru. Ini adalah langkah penting dalam Tutorial Laravel untuk Pemula Bahasa Indonesia.
4. Konfigurasi Database (Setting .env dan Migrations)
Langkah selanjutnya dalam Tutorial Laravel untuk Pemula Bahasa Indonesia adalah mengkonfigurasi database. Laravel menggunakan file .env
untuk menyimpan konfigurasi aplikasi, termasuk informasi database.
a. Mengatur Konfigurasi Database di File .env:
Buka file .env
yang terletak di direktori utama proyek Anda. Cari bagian yang berkaitan dengan database dan ubah nilainya sesuai dengan konfigurasi database Anda:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=nama_pengguna
DB_PASSWORD=kata_sandi
DB_CONNECTION
: Jenis database yang digunakan (misalnya,mysql
,pgsql
,sqlite
).DB_HOST
: Alamat server database (biasanya127.0.0.1
ataulocalhost
).DB_PORT
: Port yang digunakan oleh server database (biasanya3306
untuk MySQL).DB_DATABASE
: Nama database yang akan digunakan.DB_USERNAME
: Nama pengguna database.DB_PASSWORD
: Kata sandi database.
Pastikan Anda telah membuat database dengan nama yang sesuai di server database Anda (misalnya, melalui phpMyAdmin).
b. Membuat dan Menjalankan Migrations:
Migrations adalah cara untuk mengelola skema database menggunakan kode. Laravel menyediakan cara yang mudah untuk membuat dan menjalankan migrations.
-
Membuat Migration: Gunakan perintah berikut untuk membuat migration baru:
php artisan make:migration create_nama_tabel_table
Ganti
nama_tabel
dengan nama tabel yang ingin Anda buat (misalnya,users
,products
). Migration ini akan membuat sebuah file di direktoridatabase/migrations
dengan nama yang mengandung tanggal dan waktu pembuatan. -
Mengedit Migration: Buka file migration yang baru dibuat dan definisikan skema tabel Anda di dalam method
up()
:<?php use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateNamaTabelTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('nama_tabel', function (Blueprint $table) { $table->id(); $table->string('nama'); $table->string('email')->unique(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('nama_tabel'); } }
Sesuaikan kode di atas dengan struktur tabel yang Anda inginkan.
-
Menjalankan Migrations: Gunakan perintah berikut untuk menjalankan semua migrations yang ada:
php artisan migrate
Perintah ini akan membuat tabel-tabel yang telah Anda definisikan di database Anda.
Dengan konfigurasi database dan migrations yang benar, Anda siap melanjutkan Tutorial Laravel untuk Pemula Bahasa Indonesia ini dengan data!
5. Membuat Model dan Controller (Arsitektur MVC Laravel)
Dalam Tutorial Laravel untuk Pemula Bahasa Indonesia ini, kita akan membuat Model dan Controller untuk berinteraksi dengan data. Laravel menggunakan arsitektur MVC (Model-View-Controller) untuk memisahkan logika aplikasi, tampilan, dan data.
a. Membuat Model:
Model mewakili data dan logika bisnis yang berkaitan dengan data tersebut. Gunakan perintah berikut untuk membuat Model baru:
php artisan make:model NamaModel
Ganti NamaModel
dengan nama Model yang Anda inginkan (misalnya, Product
, User
). Perintah ini akan membuat sebuah file di direktori app/Models
.
Buka file Model yang baru dibuat dan tambahkan kode berikut untuk menentukan nama tabel yang terkait dengan Model ini:
<?php
namespace AppModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
class NamaModel extends Model
{
use HasFactory;
protected $table = 'nama_tabel'; // Ganti dengan nama tabel Anda
protected $fillable = ['nama', 'email']; // Field yang boleh diisi (mass assignment)
}
Pastikan Anda mengganti nama_tabel
dengan nama tabel yang sesuai. $fillable
menentukan field mana saja yang boleh diisi melalui mass assignment (pengisian data secara massal).
b. Membuat Controller:
Controller menangani request dari pengguna, berinteraksi dengan Model, dan mengembalikan response (biasanya berupa view). Gunakan perintah berikut untuk membuat Controller baru:
php artisan make:controller NamaController
Ganti NamaController
dengan nama Controller yang Anda inginkan (misalnya, ProductController
, UserController
). Perintah ini akan membuat sebuah file di direktori app/Http/Controllers
.
Buka file Controller yang baru dibuat dan tambahkan method-method yang diperlukan untuk menangani request (misalnya, index
, create
, store
, show
, edit
, update
, destroy
).
Contoh:
<?php
namespace AppHttpControllers;
use AppModelsNamaModel;
use IlluminateHttpRequest;
class NamaController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$data = NamaModel::all(); // Ambil semua data dari database
return view('nama_view.index', compact('data')); // Kirim data ke view
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('nama_view.create');
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
NamaModel::create($request->all()); // Simpan data baru ke database
return redirect()->route('nama_route.index'); // Redirect ke halaman index
}
// ... method lainnya (show, edit, update, destroy)
}
Pastikan Anda mengganti NamaModel
, nama_view
, dan nama_route
dengan nilai yang sesuai. Kita akan membahas tentang view dan route di bagian selanjutnya.
Dengan Model dan Controller yang sudah dibuat, Anda siap mengelola data di Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
6. Membuat View (Template Blade Laravel)
Dalam Tutorial Laravel untuk Pemula Bahasa Indonesia ini, kita akan membuat view untuk menampilkan data kepada pengguna. Laravel menggunakan template engine Blade yang memudahkan Anda untuk membuat layout dan menampilkan data secara dinamis.
View biasanya disimpan di direktori resources/views
.
a. Membuat Layout (Master Template):
Layout adalah template dasar yang digunakan oleh semua view lainnya. Buat file resources/views/layouts/app.blade.php
dengan isi berikut:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Aplikasi Sederhana</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container">
@yield('content')
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>
@yield('content')
adalah placeholder yang akan diisi dengan konten dari view anak.
b. Membuat View Anak:
Buat view anak yang akan menggunakan layout di atas. Misalnya, buat file resources/views/products/index.blade.php
dengan isi berikut:
@extends('layouts.app')
@section('content')
<h1>Daftar Produk</h1>
<table class="table">
<thead>
<tr>
<th>Nama</th>
<th>Harga</th>
</tr>
</thead>
<tbody>
@foreach($products as $product)
<tr>
<td>{{ $product->nama }}</td>
<td>{{ $product->harga }}</td>
</tr>
@endforeach
</tbody>
</table>
@endsection
@extends('layouts.app')
menunjukkan bahwa view ini menggunakan layoutlayouts/app.blade.php
.@section('content')
mendefinisikan konten yang akan ditempatkan di placeholder@yield('content')
di layout.{{ $product->nama }}
dan{{ $product->harga }}
menampilkan data dari variable$products
yang dikirim dari Controller.
c. Mengirim Data ke View:
Di dalam Controller, Anda dapat mengirim data ke view menggunakan method view()
:
public function index()
{
$products = Product::all();
return view('products.index', compact('products'));
}
compact('products')
membuat array yang berisi variable$products
yang akan tersedia di view.
Dengan view yang sudah dibuat, Anda siap menampilkan data kepada pengguna di Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
7. Mengatur Route (Web.php dan Resource Controller)
Langkah penting selanjutnya dalam Tutorial Laravel untuk Pemula Bahasa Indonesia adalah mengatur route. Route menentukan URL yang akan diakses oleh pengguna dan Controller mana yang akan menangani request tersebut.
Route didefinisikan di file routes/web.php
.
a. Basic Routing:
Anda dapat mendefinisikan route sederhana seperti berikut:
use IlluminateSupportFacadesRoute;
use AppHttpControllersProductController;
Route::get('/', function () {
return view('welcome');
});
Route::get('/products', [ProductController::class, 'index']);
Route::get('/', ...)
mendefinisikan route untuk request GET ke URL/
.Route::get('/products', [ProductController::class, 'index'])
mendefinisikan route untuk request GET ke URL/products
dan akan ditangani oleh methodindex
di ControllerProductController
.
b. Resource Routing:
Untuk resource (misalnya, products
), Anda dapat menggunakan resource routing yang akan secara otomatis membuat route untuk method-method standar (index, create, store, show, edit, update, destroy):
Route::resource('products', ProductController::class);
Perintah ini akan membuat route berikut:
GET /products
–ProductController@index
GET /products/create
–ProductController@create
POST /products
–ProductController@store
GET /products/{product}
–ProductController@show
GET /products/{product}/edit
–ProductController@edit
PUT/PATCH /products/{product}
–ProductController@update
DELETE /products/{product}
–ProductController@destroy
c. Named Routes:
Anda dapat memberikan nama pada route agar mudah digunakan di view atau Controller:
Route::get('/products/{id}', [ProductController::class, 'show'])->name('products.show');
Anda dapat menggunakan nama route ini untuk membuat URL di view:
<a href="{{ route('products.show', ['id' => $product->id]) }}">Lihat Detail</a>
Dengan pengaturan route yang benar, Anda dapat membuat navigasi yang jelas dan terstruktur di aplikasi Anda di Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
8. Validasi Data (Form Request)
Dalam Tutorial Laravel untuk Pemula Bahasa Indonesia ini, kita akan membahas validasi data untuk memastikan data yang dimasukkan pengguna valid dan sesuai dengan aturan yang telah ditentukan. Laravel menyediakan cara yang mudah untuk melakukan validasi data menggunakan Form Request.
a. Membuat Form Request:
Gunakan perintah berikut untuk membuat Form Request baru:
php artisan make:request StoreProductRequest
Ganti StoreProductRequest
dengan nama Form Request yang Anda inginkan. Perintah ini akan membuat sebuah file di direktori app/Http/Requests
.
b. Menentukan Aturan Validasi:
Buka file Form Request yang baru dibuat dan definisikan aturan validasi di dalam method rules()
:
<?php
namespace AppHttpRequests;
use IlluminateFoundationHttpFormRequest;
class StoreProductRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true; // Ubah menjadi false jika perlu otorisasi
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'nama' => 'required|max:255',
'harga' => 'required|numeric|min:0',
];
}
}
'nama' => 'required|max:255'
berarti fieldnama
harus diisi dan maksimal 255 karakter.'harga' => 'required|numeric|min:0'
berarti fieldharga
harus diisi, harus berupa angka, dan minimal 0.
c. Menggunakan Form Request di Controller:
Di dalam Controller, Anda dapat menggunakan Form Request sebagai type hint di method yang menerima request:
use AppHttpRequestsStoreProductRequest;
public function store(StoreProductRequest $request)
{
Product::create($request->all());
return redirect()->route('products.index');
}
Laravel akan secara otomatis menjalankan validasi berdasarkan aturan yang telah didefinisikan di Form Request. Jika validasi gagal, Laravel akan secara otomatis me-redirect pengguna kembali ke form dengan pesan kesalahan.
d. Menampilkan Pesan Kesalahan:
Di dalam view, Anda dapat menampilkan pesan kesalahan menggunakan variable $errors
:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
Dengan validasi data yang benar, Anda dapat memastikan data yang dimasukkan pengguna valid dan aplikasi Anda lebih aman dan stabil di Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
9. Authentication dan Authorization (Keamanan Aplikasi Laravel)
Keamanan adalah aspek penting dalam pengembangan aplikasi web. Laravel menyediakan fitur authentication dan authorization yang memudahkan Anda untuk mengamankan aplikasi Anda di Tutorial Laravel untuk Pemula Bahasa Indonesia ini.
a. Menggunakan Laravel UI:
Laravel UI adalah package yang menyediakan scaffolding untuk authentication. Gunakan perintah berikut untuk menginstal Laravel UI:
composer require laravel/ui
Kemudian, jalankan perintah berikut untuk menghasilkan scaffolding authentication:
php artisan ui vue --auth
Perintah ini akan menghasilkan view untuk login, register, reset password, dan lain-lain. Anda perlu menjalankan npm install && npm run dev
untuk meng-compile asset yang dihasilkan.
b. Konfigurasi Authentication:
File konfigurasi authentication terletak di config/auth.php
. Anda dapat menyesuaikan konfigurasi ini sesuai dengan kebutuhan Anda.
c. Middleware Auth:
Laravel menyediakan middleware auth
yang dapat digunakan untuk melindungi route yang hanya boleh diakses oleh pengguna yang sudah login:
Route::get('/profile', function () {
// Hanya bisa diakses oleh pengguna yang sudah login
})->middleware('auth');
d. Authorization (Gate dan Policies):
Authorization menentukan siapa saja yang boleh melakukan tindakan tertentu. Laravel menyediakan fitur Gate dan Policies untuk mengelola authorization.
- Gate: Gate adalah cara sederhana untuk mendefinisikan aturan authorization di dalam closure.
- Policies: Policies adalah kelas yang berisi method-method yang mendefinisikan aturan authorization untuk Model tertentu.
Dengan fitur authentication dan authorization yang lengkap, Anda dapat mengamankan aplikasi Anda dari akses yang tidak sah di Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
10. Pengujian (Testing dengan PHPUnit)
Pengujian adalah bagian penting dari pengembangan perangkat lunak. Laravel terintegrasi dengan PHPUnit untuk memudahkan Anda dalam melakukan pengujian. Dalam Tutorial Laravel untuk Pemula Bahasa Indonesia ini, kita akan membahas cara melakukan pengujian dengan PHPUnit.
a. Membuat Test:
Gunakan perintah berikut untuk membuat test baru:
php artisan make:test ExampleTest
Perintah ini akan membuat sebuah file di direktori tests/Feature
.
b. Menulis Test:
Buka file test yang baru dibuat dan tulis kode pengujian Anda. Contoh:
<?php
namespace TestsFeature;
use IlluminateFoundationTestingRefreshDatabase;
use IlluminateFoundationTestingWithFaker;
use TestsTestCase;
class ExampleTest extends TestCase
{
/**
* A basic feature test example.
*
* @return void
*/
public function test_example()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
$response = $this->get('/')
mengirimkan request GET ke URL/
.$response->assertStatus(200)
memeriksa apakah response memiliki status kode 200 (OK).
c. Menjalankan Test:
Gunakan perintah berikut untuk menjalankan semua test yang ada:
php artisan test
Atau, Anda dapat menjalankan test tertentu:
php artisan test --filter ExampleTest
Dengan pengujian yang baik, Anda dapat memastikan aplikasi Anda berfungsi dengan benar dan stabil di Tutorial Laravel untuk Pemula Bahasa Indonesia ini!
11. Deployment (Deploy Aplikasi Laravel ke Server)
Setelah selesai mengembangkan aplikasi Laravel Anda, langkah selanjutnya adalah melakukan deployment ke server agar dapat diakses oleh pengguna. Proses deployment melibatkan beberapa langkah, dan dalam Tutorial Laravel untuk Pemula Bahasa Indonesia ini, kita akan membahas secara umum langkah-langkah tersebut.
a. Konfigurasi Server:
- Pastikan server Anda memenuhi persyaratan minimum Laravel (PHP >= 7.3, ekstensi PHP yang diperlukan).
- Instal Composer di server.
- Konfigurasi web server (Apache atau Nginx) untuk mengarahkan request ke public directory Laravel.
b. Upload Kode Aplikasi:
- Upload kode aplikasi Laravel Anda ke server.
- Pastikan directory
storage
memiliki izin tulis (chmod 775 atau sesuai konfigurasi server).
c. Konfigurasi Database:
- Buat database di server.
- Ubah konfigurasi database di file
.env
sesuai dengan konfigurasi database di server.
d. Menjalankan Migrations:
-
Jalankan migrations untuk membuat tabel di database:
php artisan migrate
e. Konfigurasi Caching:
-
Konfigurasi caching untuk meningkatkan performa aplikasi:
php artisan config:cache php artisan route:cache php artisan view:cache
f. Mengatur Environment:
-
Set environment aplikasi ke
production
di file.env
:APP_ENV=production APP_DEBUG=false
Dengan mengikuti langkah-langkah deployment ini, Anda dapat membuat aplikasi Laravel Anda dapat diakses oleh pengguna di seluruh dunia!
Semoga Tutorial Laravel untuk Pemula Bahasa Indonesia ini bermanfaat bagi Anda! Selamat belajar dan berkreasi dengan Laravel!