Langkah-Langkah Membuat Project Laravel
06 Jun 2025
Laravel adalah framework PHP yang sangat populer untuk membangun aplikasi web. Dengan arsitektur MVC (Model-View-Controller), Laravel memudahkan pengembangan aplikasi yang terstruktur dan mudah dipelihara. Laravel menyediakan berbagai fitur canggih seperti routing, middleware, ORM (Eloquent), dan sistem templating Blade yang membuat pengembangan aplikasi menjadi lebih efisien. Berikut adalah langkah-langkah dasar untuk membuat project Laravel:
1. Persiapan Awal
a. Instalasi Composer
Laravel membutuhkan Composer sebagai dependency manager. Pastikan Composer sudah terpasang di sistem Anda.
- Windows: Instal lewat Composer-Setup
- MacOS / Linux: Biasanya sudah tersedia, atau bisa pakai brew / apt.
b. Instalasi Laravel
Buka terminal dan jalankan perintah berikut untuk menginstal Laravel:
composer global require laravel/installer
Pastikan direktori ~/.composer/vendor/bin (atau sesuai dengan instalasi Composer Anda) ada di PATH environment variable Anda.
2. Membuat Project Laravel Baru
Buka terminal, lalu navigasikan ke direktori tempat Anda ingin membuat project. Jalankan perintah:
laravel new nama_project
Atau jika Anda ingin menggunakan Composer langsung:
composer create-project --prefer-dist laravel/laravel nama_project
Ini akan membuat folder baru dengan struktur dasar Laravel.
3. Menjalankan Server Lokal
Untuk melihat aplikasi Anda secara lokal, jalankan perintah berikut di dalam direktori project:
php artisan serve
Lalu buka browser dan akses http://localhost:8000 untuk melihat hasilnya.
4. Struktur Folder Penting
| Folder / File | Fungsi |
|---|---|
app/ |
Berisi kode aplikasi (Model, Controller, dll) |
routes/web.php |
Definisi rute aplikasi |
resources/views/ |
Berisi template Blade untuk tampilan |
database/migrations/ |
Berisi file migrasi untuk database |
public/ |
Berisi file publik (CSS, JS, gambar) |
config/ |
Berisi file konfigurasi aplikasi |
storage/ |
Berisi file log, cache, dan file yang diunggah |
5. Membuat Rute Baru
Untuk menambah rute baru, buka file routes/web.php dan tambahkan kode berikut
Route::get('/halo', function () {
return 'Halo, Selamat datang di aplikasi Laravel!';
});
Ini akan membuat rute baru yang mengembalikan pesan “Halo, Selamat datang di aplikasi Laravel!” ketika diakses.
6. Membuat Controller
Untuk membuat controller baru, jalankan perintah berikut di terminal:
php artisan make:controller NamaController
Ini akan membuat file controller baru di dalam folder app/Http/Controllers/. Anda bisa menambahkan metode di dalam controller tersebut untuk menangani logika aplikasi.
7. Membuat Model dan Migrasi
Untuk membuat model baru beserta migrasi, jalankan perintah berikut:
php artisan make:model NamaModel -m
Ini akan membuat file model di app/Models/NamaModel.php dan file migrasi di database/migrations/. Anda bisa mengedit file migrasi untuk mendefinisikan struktur tabel database.
8. Menjalankan Migrasi
Setelah membuat migrasi, jalankan perintah berikut untuk menerapkan perubahan ke database:
php artisan migrate
Ini akan membuat tabel-tabel yang didefinisikan dalam file migrasi di database Anda.
9. Menambahkan Middleware (Opsional)
Untuk menambahkan middleware, buka file app/Http/Kernel.php dan daftarkan middleware baru di dalam array $routeMiddleware. Contoh:
protected $routeMiddleware = [
// Middleware lainnya...
'auth' => \App\Http\Middleware\Authenticate::class,
];
Anda bisa menggunakan middleware ini pada rute tertentu untuk mengatur akses.
10. Menggunakan Eloquent ORM
Laravel menyediakan Eloquent ORM untuk berinteraksi dengan database. Anda bisa menggunakan model yang telah dibuat untuk melakukan operasi CRUD (Create, Read, Update, Delete). Contoh penggunaan Eloquent:
use App\Models\NamaModel;
// Membuat data baru
$data = new NamaModel();
$data->field1 = 'value1';
$data->field2 = 'value2';
$data->save();
// Mengambil data
$data = NamaModel::all();
// Mengupdate data
$data = NamaModel::find(1);
$data->field1 = 'new value';
$data->save();
// Menghapus data
$data = NamaModel::find(1);
$data->delete();
11. Menggunakan Artisan CLI
Laravel menyediakan berbagai perintah Artisan CLI untuk membantu pengembangan. Beberapa perintah umum yang sering digunakan adalah:
php artisan route:list # Menampilkan daftar rute
php artisan make:migration create_nama_table # Membuat migrasi baru
php artisan tinker # Mengakses REPL untuk berinteraksi dengan aplikasi
php artisan db:seed # Menjalankan seeder untuk mengisi data awal
12. Menggunakan Seeder
Untuk mengisi data awal ke dalam database, Anda bisa membuat seeder. Jalankan perintah berikut:
php artisan make:seeder NamaSeeder
Ini akan membuat file seeder di dalam folder database/seeders/. Anda bisa mengedit file tersebut untuk menambahkan data awal. Setelah itu, jalankan perintah:
php artisan db:seed --class=NamaSeeder
Ini akan menjalankan seeder yang telah Anda buat dan mengisi data ke dalam tabel yang sesuai.
13. Menggunakan Factory
Untuk membuat data palsu (dummy data) dengan cepat, Anda bisa menggunakan factory. Jalankan perintah berikut untuk membuat factory:
php artisan make:factory NamaFactory --model=NamaModel
Ini akan membuat file factory di dalam folder database/factories/. Anda bisa mengedit file tersebut untuk mendefinisikan bagaimana data palsu akan dibuat. Contoh penggunaan factory:
use App\Models\NamaModel;
// Membuat 10 data palsu
NamaModel::factory()->count(10)->create();
14. Menggunakan Middleware untuk Autentikasi
Laravel menyediakan middleware untuk autentikasi pengguna. Anda bisa menggunakan middleware auth untuk melindungi rute tertentu. Contoh:
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware('auth');
Ini akan memastikan bahwa hanya pengguna yang sudah terautentikasi yang bisa mengakses halaman dashboard.
15. Menggunakan Validasi Request
Untuk memvalidasi input dari pengguna, Anda bisa menggunakan fitur validasi Laravel. Contoh membuat request validasi:
php artisan make:request NamaRequest
Ini akan membuat file request di dalam folder app/Http/Requests/. Anda bisa mengedit file tersebut untuk mendefinisikan aturan validasi. Contoh penggunaan validasi di controller:
use App\Http\Requests\NamaRequest;
public function store(NamaRequest $request)
{
// Validasi sudah dilakukan, data bisa diakses dengan $request->validated()
$data = $request->validated();
// Simpan data ke database
NamaModel::create($data);
return redirect()->route('nama.index');
}
16. Menggunakan Middleware untuk CORS
Jika aplikasi Anda perlu diakses dari domain lain, Anda bisa mengatur CORS (Cross-Origin Resource Sharing) dengan menambahkan middleware. Laravel menyediakan middleware cors yang bisa diaktifkan di file app/Http/Kernel.php. Contoh:
protected $middleware = [
// Middleware lainnya...
\App\Http\Middleware\Cors::class,
];
17. Menggunakan Queue untuk Proses Latar Belakang
Laravel menyediakan sistem queue untuk menjalankan proses latar belakang. Anda bisa membuat job baru dengan perintah:
php artisan make:job NamaJob
Ini akan membuat file job di dalam folder app/Jobs/. Anda bisa mengedit file tersebut untuk mendefinisikan logika yang akan dijalankan di latar belakang. Contoh penggunaan queue:
use App\Jobs\NamaJob;
public function store(Request $request)
{
// Validasi dan simpan data
$data = $request->validate([
'field1' => 'required',
'field2' => 'required',
]);
// Dispatch job ke queue
NamaJob::dispatch($data);
return redirect()->route('nama.index');
}
18. Menggunakan Event dan Listener
Laravel menyediakan sistem event dan listener untuk menangani peristiwa tertentu dalam aplikasi. Anda bisa membuat event baru dengan perintah:
php artisan make:event NamaEvent
Ini akan membuat file event di dalam folder app/Events/. Anda juga bisa membuat listener dengan perintah:
php artisan make:listener NamaListener --event=NamaEvent
Ini akan membuat file listener di dalam folder app/Listeners/. Contoh penggunaan event dan listener:
use App\Events\NamaEvent;
public function store(Request $request)
{
// Validasi dan simpan data
$data = $request->validate([
'field1' => 'required',
'field2' => 'required',
]);
// Simpan data ke database
NamaModel::create($data);
// Trigger event
event(new NamaEvent($data));
return redirect()->route('nama.index');
}
19. Menggunakan Middleware untuk Rate Limiting
Untuk membatasi jumlah permintaan dari pengguna, Anda bisa menggunakan middleware rate limiting. Laravel menyediakan middleware throttle yang bisa digunakan untuk mengatur batasan permintaan. Contoh penggunaan:
Route::middleware('throttle:60,1')->group(function () {
Route::get('/api/data', 'ApiController@getData');
});
Ini akan membatasi pengguna untuk hanya melakukan 60 permintaan dalam 1 menit.
20. Menggunakan Localization
Laravel mendukung localization untuk membuat aplikasi multibahasa. Anda bisa membuat file bahasa di dalam folder resources/lang/. Contoh membuat file bahasa Indonesia:
mkdir -p resources/lang/id
touch resources/lang/id/messages.php
Isi file messages.php dengan array yang berisi terjemahan:
return [
'welcome' => 'Selamat datang di aplikasi Laravel!',
];
Untuk menggunakan terjemahan ini di dalam aplikasi, Anda bisa menggunakan fungsi __('messages.welcome') di dalam Blade atau controller.
21. Menggunakan Middleware untuk Autentikasi API
Laravel menyediakan middleware auth:api untuk autentikasi API. Anda bisa menggunakannya untuk melindungi rute API. Contoh:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});