Panduan Instalasi Laravel 12 Untuk Pemula

🏁 Pendahuluan

Panduan ini cocok banget buat kamu yang baru mulai belajar Laravel 12. Di sini, kamu bakal diajak langkah demi langkah buat nyiapin Laravel di komputer, biar nanti bisa lanjut ngulik fitur-fitur pentingnya kayak routing, controller, database, dan lainnya.

Setelah ngikutin panduan ini, kamu bakal punya lingkungan kerja Laravel yang siap dipakai, jadi bisa langsung coba bikin aplikasi web pertamamu!

πŸ” Apa itu Laravel?

Laravel

Sebelum masuk ke panduannya, kenalan dulu yuk sama Laravel. Jadi gini β€” Laravel itu semacam alat bantu alias framework yang dibangun pakai PHP. Laravel ini open-source, artinya gratis dan bisa dipakai siapa aja. Kegunaannya? Biar kita gak harus bikin semua fitur dari nol waktu bikin aplikasi web. Banyak hal udah disiapin Laravel, kayak sistem login, koneksi database, sampai fitur keamanan. Jadi bisa hemat waktu dan tenaga.

Laravel juga pakai gaya arsitektur yang namanya MVC (Model-View-Controller). Intinya, ini cara supaya kode kita lebih rapi dan gampang diatur. Logika, tampilan, dan datanya dipisah-pisah, jadi gak bikin pusing. Cocok banget buat yang baru mulai belajar, tapi juga powerful buat developer yang udah pro.

Nah, panduan ini jadi langkah awal kamu buat mulai petualangan di Laravel 12. Kita mulai dari instalasi dulu, soalnya ini pondasi penting sebelum lanjut ke hal-hal seru kayak routing, controller, database, dan fitur lainnya.

Kalau udah ngikutin langkah-langkah di sini, kamu bakal punya lingkungan kerja Laravel yang siap pakai di komputer. Setelah itu, tinggal gas bikin aplikasi web pertamamu!

πŸ”§ Fitur Unggulan Laravel:

  • MVC (Model-View-Controller): Struktur rapi dan terorganisir
routes/web.php
Route::get('/halo', [HaloController::class, 'tampilkan']);

Jadi gini... Waktu seseorang buka URL http://namadomain/halo, Laravel bakal nyari rute yang cocok di file routes/web.php. Karena ada baris kode di atas, Laravel tahu bahwa kalau ada yang akses /halo, tugasnya adalah memanggil method tampilkan() yang ada di dalam class HaloController.

Simpelnya, ini kayak bilang ke Laravel:

"Eh Laravel, kalau ada yang buka /halo, tolong panggil method tampilkan() dari HaloController, ya!"

Nah, di sinilah konsep MVC (Model-View-Controller) mulai kelihatan.

  • Controller (HaloController) itu yang ngatur logika atau 'apa yang harus dilakukan'.
  • Model (kalau dipakai) bakal ngatur urusan data dari database.
  • Terus View biasanya bagian yang nampilin tampilan ke pengguna, kayak halaman HTML-nya.

Dengan struktur ini, proyek jadi lebih rapi, gampang diatur, dan enak buat kerja tim.

public function tampilkan() {
return view('halo', ['nama' => 'Angga']);
}

Method tampilkan() ini tugasnya balikin tampilan (alias file view) yang namanya halo.blade.php. File ini biasanya ada di folder resources/views.

Selain nampilin halaman, method ini juga ngirimin data ke view. Dalam contoh ini, dia ngirim variabel nama yang isinya "Angga".

Jadi nanti di dalam file halo.blade.php, kita bisa manggil {{ $nama }} buat nampilin teks "Angga" di halaman.

Simpelnya sih, ini kayak ngoper data dari controller ke tampilan, biar halaman yang muncul bisa lebih dinamis dan gak statis terus.

<h1>Halo, {{ $nama }}</h1>

Baris ini akan nampilin elemen HTML <h1> yang isinya "Halo, Angga". Kenapa bisa begitu? Soalnya variabel $nama tadi udah dikirim dari controller, dan nilainya adalah "Angga".

Laravel otomatis ngeganti {{ $nama }} jadi isi dari variabel tersebut. Jadi kamu gak perlu susah-susah ngoding logika rumit, tinggal oper datanya, dan tampilan langsung ikut berubah sesuai isi variabelnya. Simpel dan praktis!

  • Artisan Console: Perintah terminal untuk berbagai tugas otomatis
php artisan make:controller ProdukController

Perintah ini bilang ke Laravel:

"Eh, buatin aku satu controller baru namanya ProdukController, ya!" Setelah dijalankan, Laravel bakal otomatis bikin file ProdukController.php di folder app/Http/Controllers.

Controller ini nantinya dipakai buat ngatur logika yang berhubungan dengan produk, misalnya nampilin daftar produk, detail produk, atau proses tambah/edit produk. Jadi kita gak perlu bikin file manual satu-satu , Laravel bantuin bikinnya langsung dengan struktur yang udah siap dipakai.

  • Eloquent ORM: Menyederhanakan interaksi dengan database
// Menyimpan data
Produk::create([
'nama' => 'Kopi',
'harga' => 15000
]);

Baris kode ini fungsinya buat nambahin data baru ke tabel produk di database.

Isi datanya kayak gini:

  • nama = "Kopi"
  • harga = 15000

Laravel bakal langsung nyimpen data ini ke database tanpa harus nulis query SQL manual.

Catatan:

Supaya ini bisa jalan, kamu harus punya:

  1. Model Produk.php di folder app/Models
  2. Tabel produk di database kamu (biasanya dibuat lewat migration)

Kalau dua hal itu udah siap, tinggal panggil Produk::create(...) dan data langsung masuk!

  • Blade Templating Engine: Mempermudah pembuatan tampilan HTML dinamis
{{-- views/halo.blade.php --}}
<h1>Selamat datang, {{ $user }}</h1>

Nah, ini adalah contoh file view di Laravel yang pakai Blade, yaitu templating engine bawaannya Laravel. Fungsinya buat nulis HTML yang bisa digabung sama data dinamis. Di bagian {{ $user }}, Laravel bakal otomatis nampilin isi dari variabel $user.

Misalnya kalau $user isinya "Angga", maka yang muncul di browser adalah:

<h1>Selamat datang, Angga</h1>

Jadi, kamu bisa bikin tampilan yang dinamis tanpa ribet nulis PHP murni di dalam HTML. Gaya nulisnya juga lebih bersih dan gampang dibaca.

  • Routing: Mengatur alamat URL aplikasi
Route::get('/tentang', function () {
return 'Ini halaman tentang';
});

Baris kode ini artinya:

Kalau ada yang buka URL http://namadomain/tentang, Laravel bakal langsung nampilin teks biasa yaitu**"Ini halaman tentang"**

Ini contoh rute yang simple banget, cocok buat testing atau bikin halaman statis tanpa perlu controller atau view. Tinggal tulis langsung di file routes/web.php, dan Laravel akan urus sisanya.

  • Authentication & Authorization: Sistem login bawaan padah laravel
Route::middleware('auth')->get('/dashboard', function () {
return 'Selamat datang di dashboard';
});

Nah, baris kode ini bilang ke Laravel:

"Boleh akses halaman /dashboard, tapi cuma kalau user udah login." Jadi kalau user yang belum login coba buka URL itu, Laravel bakal otomatis ngarahkan mereka ke halaman login dulu.

Fitur ini pakai yang namanya middleware auth, yang fungsinya buat ngejaga rute tertentu biar gak bisa diakses sembarangan. Cocok banget buat halaman-halaman penting kayak dashboard admin atau area khusus pengguna.

  • Migration & Seeding: Pengelolaan struktur database yang rapi
php artisan make:migration create_produk_table

Perintah ini bilang ke Laravel:

"Yuk, buatin file migration buat bikin tabel produk di database." Migration ini semacam blueprint atau rancangan struktur tabel, isinya nanti kamu bisa tentuin kolom apa aja yang mau dipakai (kayak nama, harga, stok, dll).

Setelah migration-nya dibuat, kamu tinggal isi strukturnya, lalu jalankan perintah php artisan migrate buat beneran bikin tabel produk di database. Jadi gak perlu nulis query SQL manual lagi.


php artisan db:seed

Perintah ini dipakai buat jalanin seeder, yaitu skrip yang isinya data awal yang langsung dimasukin ke database secara otomatis.

Biasanya seeder ini dipakai buat:

  • Testing, biar ada data dummy tanpa harus input manual
  • Contoh data, biar waktu aplikasi dibuka udah ada isiannya

Cocok banget buat bantu ngembangin aplikasi tanpa harus mulai dari database kosong terus.

  • Testing Tools: Memastikan aplikasi bekerja sesuai rencana
public function testBeranda() {
$response = $this->get('/');
$response->assertStatus(200);
}

Fungsi ini adalah bagian dari automated test di Laravel. Intinya dia ngecek:

"Kalau aku akses halaman / (beranda), servernya balesin status 200 OK gak?"

Kalau iya, berarti halaman berhasil diakses dengan normal. Tapi kalau statusnya beda (misal 404 atau 500), berarti ada yang salah. Tes kayak gini penting buat mastiin fitur-fitur di aplikasi kamu tetap jalan dengan baik, apalagi setelah update kode.

πŸš€ Starter Kit Baru di Laravel 12

Waktu Laravel 12 rilis, Taylor Otwell (yang bikin Laravel) ngumumin ada starter kit baru yang lebih simpel dan efisien.

"Kita gabungkan Laravel Breeze dan Jetstream jadi satu starter kit per stack. Tinggal pilih aja mau pakai React, Vue, atau Livewire. Atau bisa juga mulai dari nol kalau mau bangun semuanya sendiri."

Intinya, sekarang lebih gampang buat pemula. Gak perlu bingung pilih antara Breeze atau Jetstream, tinggal tentuin aja teknologi apa yang mau dipakai, Laravel bakal siapin semuanya secara otomatis pas instalasi. Jadi proses mulai proyek Laravel jadi makin cepat dan bebas ribet!

πŸ’» Persiapan Instalasi Laravel 12

Untuk menjalankan Laravel, kita butuh beberapa alat penting, ibaratnya kayak perlengkapan tempur sebelum mulai ngoding :

βœ… Tools Wajib:

1. PHP versi 8.2 atau lebih tinggi

php

Laravel 12 butuh minimal PHP versi 8.2. Kenapa? Soalnya Laravel udah mulai pakai fitur-fitur modern yang cuma tersedia di versi ini ke atas.

Beberapa fitur barunya antara lain:

  • Readonly properties – properti yang gak bisa diubah setelah dibuat.
  • Typed class constants – kasih tipe data langsung di konstanta.
  • Null-safe operator (?->) – biar gak ribet ngecek null satu-satu.

Intinya, Laravel 12 pengen kamu pakai PHP versi terbaru biar ngodingnya lebih aman, rapi, dan kekinian. Jadi pastiin dulu PHP kamu udah 8.2 atau lebih baru sebelum lanjut ya!

πŸ”Ή Cek versi PHP:

php -v

2. Composer

composer

Composer itu ibarat tukang kelola kebutuhan Laravel. Secara resmi, Composer adalah package manager buat PHP, fungsinya mirip kayak npm di JavaScript atau pip di Python. Jadi, kalau Laravel butuh library tertentu biar bisa jalan, Composer yang bakal urus install dan update-nya.

Laravel gak cuma butuh Composer buat install dependensi, tapi juga buat hal penting lainnya seperti autoload class (biar file dan class bisa dipanggil otomatis tanpa ribet), dan juga buat jalanin perintah artisan, yaitu tool bawaan Laravel yang dipakai buat berbagai hal: bikin controller, migration, seeder, dan banyak lagi. Jadi intinya, Composer adalah alat wajib kalau kamu mau kerja bareng Laravel.

πŸ”Ή Cek versi:

composer -v 

3. Web Server

Laravel adalah aplikasi web, jadi perlu dijalankan di web server. Kamu bisa pilih:

πŸ”Έ Apache

apache

Apache itu web server klasik yang udah lama jadi andalan banyak developer, apalagi kalau kamu pakainya XAMPP. Karena XAMPP udah bawa Apache di dalamnya, kita jadi bisa langsung pakai buat jalanin Laravel secara lokal.

Cuma, ada satu hal yang perlu diperhatiin: kadang kamu perlu sedikit ngatur file .htaccess biar Laravel bisa ngerti dan ngatur routing dengan benar. Tapi tenang aja, biasanya Laravel udah nyiapin file .htaccess bawaan, jadi kamu tinggal pastiin Apache-nya support mod_rewrite dan semuanya bakal jalan mulus!

πŸ”Έ Nginx

nginx

Nginx itu web server yang terkenal ringan dan cepat, makanya sering dipilih buat keperluan production alias server beneran yang online.

Dibanding Apache, Nginx lebih efisien dalam menangani banyak request secara bersamaan. Tapi karena dia gak pakai .htaccess, konfigurasinya harus ditulis langsung di file Nginx (biasanya nginx.conf). Agak ribet di awal, tapi performanya bikin worth it banget kalau proyekmu udah serius dan butuh kecepatan tinggi.

πŸ”Έ Laravel Herd (Rekomendasi untuk macOS/Windows)

Cara paling praktis: Laravel Herd menyediakan PHP, server, dan konfigurasi Laravel dalam satu aplikasi GUI.

herd
  1. Node.js & NPM

Laravel modern menggunakan Vite (pengganti Laravel Mix) untuk mengelola frontend build seperti JavaScript, CSS, dan asset Vue/React.

πŸ”Ή Kenapa dibutuhkan?

  • Compile file .js, .scss, .vue
  • Menjalankan npm run dev untuk frontend

πŸ”Ή Cek versi:

node -v
npm -v

5. Database (Opsional saat awal)

Laravel mendukung berbagai sistem basis data. Untuk awal belajar, cukup gunakan SQLite.

πŸ”Έ SQLite (sangat ringan & tanpa konfigurasi server)

SQlite
  • Tidak butuh install apa-apa.
  • Cukup buat file .sqlite dan Laravel langsung bisa connect.

πŸ”Έ MySQL / MariaDB

MySQL
  • Populer dan umum dipakai di hosting.
  • Perlu setup user/password.

πŸ”Έ PostgreSQL

PostgreSQL
  • Lebih powerful untuk sistem besar atau analitik.

πŸ”Ή Setting database di .env:

DB_CONNECTION=sqlite
DB_DATABASE=/full/path/to/database.sqlite

βš™οΈ Cara Install Tools Laravel

Laravel menyediakan 2 cara cepat untuk menyiapkan semua alat di atas:

Opsi 1 - Terminal Command.

Command di bawah ini akan menginstall PHP, Composser, dan Laravel Installer.

Mac version

/bin/bash -c "$(curl -fsSL <https://php.new/install/mac/8.4>)"

perintah ini mengunduh dan langsung menjalankan script instalasi dari https://php.new untuk sistem macOS, yang akan menginstal:

  • PHP 8.4 (versi baru Laravel compatible)
  • Composer
  • Laravel Installer

Linux version

/bin/bash -c "$(curl -fsSL <https://php.new/install/linux/8.4>)"

Struktur dan fungsinya sama persis dengan versi macOS, hanya beda pada script URL-nya (/linux/8.4).

Script dari URL tersebut akan:

  • Mengecek distro Linux kamu (misal: Ubuntu, Fedora)
  • Menggunakan package manager yang sesuai (seperti apt, dnf, dll)
  • Install PHP, Composer, Laravel installer sesuai kebutuhan Laravel 12

Windows PowerShell version

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('<https://php.new/install/windows/8.4>'))

skrip ini akan mengunduh dan menjalankan installer PHP + Laravel untuk Windows, secara otomatis memasang:

  • PHP 8.4
  • Composer
  • Laravel Installer
  • Dependency lain yang dibutuhkan Laravel

Opsi 2 Use Laravel herd

Herd merupakan software lengkap yang akan secara otomatis memasang semua tools yang diperlukan, tidak hanya itu herd juga akan membantu teman-teman setelah install untuk mendeteksi domain lokal secara otomatis seperti project.test

Laravel Herd

Install New Laravel Project

Sekarang kita buat project baru di laravel 12 ini

Jalankan di command terminal laravel new project teman-teman harus menjalankan ****ini dari web server yang digunakan, jadi disini saya menggunakan laravel Herd, maka tampilan direktori command nya akan seperti ini

C:\Users\MyBook Hype AMD\Herd>Laravel new Project

command ini akan membuat project baru dari laravel di dalam sebuah Project folder.

ketika akan di install, maka akan muncul pertanyaan seperti ini.

Pemilihan Starter Kit

instalasi laravel

Mereka menyediakan berbagai starter kit pada laravel. Karena ini pelajaran pertama, maka kita akan memilih β€˜none’

Catatan :

Jika teman-teman melihat opsi lain selain yang disebutkan di atas, maka teman-teman menggunakan laravel installer versi lama, harap untuk teman-teman menginstall versi yang terbaru. atau jika teman-teman menggunakan herd, pastikan kamu menggunakan versi Herd terbaru

instalasi laravel

Ketika sudah terinstall, maka teman-teman bisa memilih SQL yang akan dipakai

instalasi laravel

disini teman-teman disarankan untuk memakai SQLite, dikarenakan database akan dibuat secara otomatis dalam folder database, dengan beberapa tabel DB laravel default yang dibuat dari file migrasi.

instalasi laravel

NPM Commands

kemudian itu, setelah pemilihan SQL ini akan menanyakan untuk menjalankan β€œnpm run” dan β€œnpm build”

instalasi laravel

Nah proses dari installasi telah selesai

Welcome to Laravel Homepage

saya menggunakan Laravel herd supaya akan otomatis generate sebuah domain β€œhttp://Project.test” dari folder bernama Project, jadi saya bisa langsung menjalankannya di browser

Jadi kita bisa melihat default dari laravel home page !

laravel test

Sebelum kita menyelesaikan panduan ini dan akan lanjut ke panduan selanjutnya, alangkah baiknya kita menginstall extension di Visual Studio Code terlebih dahulu

  1. Extension Laravel
extension laravel

βœ… Fungsi utama:

  • Auto-complete untuk helper Laravel (route(), view(), auth(), dll)
  • Navigasi langsung ke file Controller, Model, atau Route
  • Smart suggestion untuk method-model seperti $user->posts, dll.
  1. Laravel Blade Snippets
extension laravel

βœ… Fungsi utama:

  • Memberikan potongan kode siap pakai (snippets) untuk sintaks Blade Laravel di file .blade.php.
  • Mendukung berbagai struktur Blade seperti:
    • @if, @foreach, @section, @extends, @csrf, dll.
  • Auto-completion ketika kamu mulai mengetik seperti @if, @auth, form, btn, form-group dll.

πŸŽ‰ Penutup

Selamat! 🎊 Kamu udah berhasil menyelesaikan proses instalasi Laravel 12. Ini adalah langkah awal yang penting buat mulai bikin aplikasi web modern dengan Laravel. Sekarang kamu udah punya pondasi yang kuat, tinggal lanjut eksplor fitur-fitur serunya, baca dokumentasi resminya, dan jangan takut buat coba-coba hal baru.

Laravel itu luas, tapi seru banget kalau dipelajari pelan-pelan dan konsisten. πŸ’ͺ

Sampai ketemu lagi di tutorial Laravel selanjutnya. Yuk terus ngoding dan berkembang bareng! πŸš€