Langsung ke konten
KamusNgoding
Pemula Laravel 5 menit baca

Cara Install Laravel dan Memahami Struktur Proyek

#laravel #instalasi #composer #php #struktur-proyek #pemula
📚

Baca dulu sebelum ini:

Pendahuluan

Di artikel sebelumnya kita sudah memahami apa itu Laravel dan mengapa framework ini sangat populer di Indonesia. Sekarang saatnya kita turun tangan langsung — install Laravel dan jalankan server pertama kita!

Di akhir artikel ini, kamu akan berhasil:

  • Menginstall PHP, Composer, dan Laravel Installer
  • Membuat proyek Laravel baru
  • Memahami fungsi setiap folder dalam struktur proyek
  • Mengkonfigurasi koneksi database
  • Menjalankan server development lokal

Dibutuhkan waktu sekitar 15-20 menit. Mari mulai!


Kebutuhan Sistem

Sebelum menginstall Laravel 12, pastikan sistemmu memenuhi persyaratan berikut:

KebutuhanVersi Minimum
PHP8.2+
Composer2.x
Node.js & NPM20+ (opsional, untuk asset frontend)
DatabaseMySQL 8.0+ / PostgreSQL 15+ / SQLite 3

Langkah 1: Install PHP

Windows — Gunakan Laragon (Rekomendasi)

Untuk developer Windows, Laragon adalah pilihan terbaik karena menyertakan PHP, MySQL, Composer, dan server dalam satu paket yang mudah dikelola.

# 1. Download Laragon dari https://laragon.org/download/
# 2. Install dengan setting default
# 3. Aktifkan Laragon, klik "Start All"
# 4. Buka terminal Laragon (Terminal icon di tray)

php --version
# Harus menampilkan: PHP 8.2.x atau lebih baru

Tip: Jika kamu sudah punya XAMPP versi lama (PHP 7.x), lebih baik uninstall XAMPP dan beralih ke Laragon untuk menghindari konflik.

Mac — Gunakan Homebrew

# Install Homebrew jika belum ada
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install PHP 8.3
brew install [email protected]
echo 'export PATH="/opt/homebrew/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

php --version

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install php8.3 php8.3-cli php8.3-mbstring php8.3-xml \
     php8.3-curl php8.3-zip php8.3-mysql php8.3-pgsql -y

php --version

Langkah 2: Install Composer

Composer adalah package manager untuk PHP — setara dengan npm untuk JavaScript. Laravel membutuhkan Composer untuk menginstall semua dependensinya.

Windows

# Download installer dari https://getcomposer.org/Composer-Setup.exe
# Jalankan installer, ikuti wizard
# Composer otomatis ditambahkan ke PATH

# Verifikasi
composer --version
# Harus menampilkan: Composer version 2.x.x

Mac & Linux

# Download dan install Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

# Verifikasi
composer --version

Langkah 3: Install Laravel Installer

Laravel Installer adalah tool CLI yang memudahkan pembuatan proyek baru.

# Install secara global menggunakan Composer
composer global require laravel/installer

# Tambahkan ke PATH (jika belum otomatis)
# Windows: C:\Users\[Username]\AppData\Roaming\Composer\vendor\bin
# Mac/Linux: tambahkan ke ~/.bashrc atau ~/.zshrc
export PATH="$HOME/.composer/vendor/bin:$PATH"

# Verifikasi
laravel --version

Langkah 4: Buat Proyek Laravel Baru

Sekarang kita buat proyek Laravel pertama! Kita akan membuat proyek bernama “task-manager” yang akan kita kembangkan sepanjang seri ini.

# Pindah ke direktori proyek kamu
cd ~/Projects  # Mac/Linux
# atau
cd C:\laragon\www  # Windows dengan Laragon

# Buat proyek baru
laravel new task-manager

# Ikuti pertanyaan interaktif:
# ┌ Would you like to install a starter kit? ──────────────┐
# │ No starter kit                                          │
# └─────────────────────────────────────────────────────────┘
# Pilih: No starter kit (kita akan install manual nanti)
#
# ┌ Which database will your application use? ─────────────┐
# │ SQLite (default)                                        │
# └─────────────────────────────────────────────────────────┘
# Pilih: MySQL (jika sudah ada MySQL) atau SQLite (untuk mulai cepat)

Alternatif via Composer (jika Laravel Installer belum terinstall):

composer create-project laravel/laravel task-manager

Proses ini membutuhkan beberapa menit untuk mengunduh semua dependensi. Setelah selesai, masuk ke direktori proyek:

cd task-manager

Langkah 5: Jalankan Server Development

php artisan serve

# Output:
#   INFO  Server running on [http://127.0.0.1:8000].
#   Press Ctrl+C to stop the server

Buka browser dan akses http://localhost:8000. Kamu akan melihat halaman sambutan Laravel!


Memahami Struktur Folder Laravel

Inilah bagian yang sering membingungkan pemula. Folder apa saja yang penting? Apa fungsinya?

task-manager/
├── app/                    ← Kode inti aplikasi
│   ├── Http/
│   │   ├── Controllers/    ← Controller (logika request-response)
│   │   ├── Middleware/     ← Filter sebelum request masuk
│   │   └── Requests/       ← Form Request validation
│   ├── Models/             ← Eloquent Models (representasi tabel DB)
│   └── Providers/          ← Service Providers

├── bootstrap/              ← Bootstrap aplikasi (jangan diubah)
├── config/                 ← Semua file konfigurasi
│   ├── app.php             ← Konfigurasi umum (timezone, locale, dll)
│   ├── database.php        ← Koneksi database
│   └── cors.php            ← Konfigurasi CORS (penting untuk API!)

├── database/
│   ├── migrations/         ← File migrasi database (schema)
│   ├── seeders/            ← Data dummy untuk development
│   └── factories/          ← Factory untuk generate data palsu

├── public/                 ← Document root web server
│   └── index.php           ← Entry point semua request

├── resources/
│   ├── views/              ← Template Blade (.blade.php)
│   ├── css/                ← CSS source files
│   └── js/                 ← JavaScript source files

├── routes/
│   ├── web.php             ← Route untuk halaman web (dengan session)
│   └── api.php             ← Route untuk API (stateless, butuh install:api)

├── storage/                ← File upload, cache, log
│   └── logs/               ← Laravel log files (debug di sini!)

├── tests/                  ← Unit test dan Feature test
├── vendor/                 ← Dependensi Composer (jangan diubah!)

├── .env                    ← Konfigurasi environment (RAHASIA!)
├── .env.example            ← Template .env untuk tim
├── artisan                 ← CLI artisan
└── composer.json           ← Daftar dependensi PHP

Folder yang Paling Sering Kamu Sentuh

Folder/FileKapan Digunakan
app/Models/Saat membuat atau mengedit Model Eloquent
app/Http/Controllers/Saat menambah logika bisnis dan request handling
resources/views/Saat mendesain tampilan Blade
routes/web.phpSaat mendefinisikan URL halaman
database/migrations/Saat membuat atau mengubah struktur tabel
.envSaat mengkonfigurasi database, API key, dll

Langkah 6: Konfigurasi Database

File .env adalah tempat semua konfigurasi sensitif disimpan. Jangan commit file ini ke Git!

Buka file .env di root proyek:

APP_NAME=TaskManager
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000

# ─── Konfigurasi Database ───────────────────────────────
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=task_manager
DB_USERNAME=root
DB_PASSWORD=
# Jika menggunakan Laragon, password default biasanya kosong

Membuat Database

-- Buka phpMyAdmin (Laragon) atau terminal MySQL
-- Buat database baru
CREATE DATABASE task_manager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Jalankan Migrasi Default

Laravel sudah menyertakan beberapa migrasi bawaan (tabel users, password_resets, dll):

php artisan migrate

# Output:
#   INFO  Running migrations.
#   2024_01_01_000001_create_users_table ..................... 23ms DONE
#   2024_01_01_000002_create_password_reset_tokens_table .... 12ms DONE
#   ...

Perintah Artisan yang Wajib Diketahui

Artisan adalah CLI tool yang akan menjadi sahabatmu sehari-hari:

# Server
php artisan serve                    # Jalankan server development

# Generate file
php artisan make:model Post          # Buat Model
php artisan make:controller PostController  # Buat Controller
php artisan make:migration create_posts_table  # Buat Migration
php artisan make:model Post -mcr     # Model + Migration + Controller sekaligus

# Database
php artisan migrate                  # Jalankan semua migration
php artisan migrate:rollback         # Batalkan migration terakhir
php artisan migrate:fresh            # Drop semua tabel, jalankan ulang

# Informasi
php artisan route:list               # Lihat semua route terdaftar
php artisan tinker                   # REPL interaktif

# Cache
php artisan config:clear             # Bersihkan cache config
php artisan cache:clear              # Bersihkan app cache

Opsi Penggunaan SQLite (Lebih Cepat untuk Development)

Jika kamu tidak ingin menginstall MySQL dan hanya ingin mulai coding, SQLite adalah pilihan yang sangat praktis:

# Di file .env, ubah konfigurasi database:
DB_CONNECTION=sqlite
# Hapus atau comment baris DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD
# Buat file database SQLite
touch database/database.sqlite

# Jalankan migrasi
php artisan migrate

SQLite menyimpan semua data dalam satu file. Sangat cocok untuk development dan prototyping cepat.


Troubleshooting: Error yang Sering Muncul

composer: command not found Setelah Install

Penyebab: PATH untuk Composer global tidak ditambahkan ke terminal session.

Solusi:

# Mac/Linux — tambahkan ke ~/.bashrc atau ~/.zshrc
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# Windows — tambahkan ke Environment Variables
# C:\Users\[Username]\AppData\Roaming\Composer\vendor\bin

php artisan serve Port 8000 Sudah Dipakai

Penyebab: Ada aplikasi lain yang menggunakan port 8000 (contoh: Python dev server atau Laravel lain yang sedang berjalan).

Solusi:

# Gunakan port berbeda
php artisan serve --port=8080

# Atau cari dan matikan proses yang menggunakan port 8000
# Windows:
netstat -ano | findstr :8000
taskkill /PID [nomor_pid] /F

# Mac/Linux:
lsof -ti:8000 | xargs kill

File .env Tidak Ada

Penyebab: Terjadi jika clone dari Git repository (.env tidak di-commit ke Git).

Solusi:

# Copy dari .env.example
cp .env.example .env

# Generate application key
php artisan key:generate

# Kemudian konfigurasi database di .env

Pertanyaan yang Sering Diajukan

Laragon vs XAMPP, mana yang lebih baik?

Laragon sangat direkomendasikan untuk developer Windows karena: lebih ringan, mendukung virtual host otomatis, bisa mengelola beberapa versi PHP, dan sudah include Composer. XAMPP sudah terlalu lama dan sering bermasalah dengan PHP versi terbaru.

Apakah bisa menggunakan PHP versi lama seperti 7.4?

Tidak bisa untuk Laravel 12. PHP minimum 8.2 wajib. Jika proyek lama masih menggunakan PHP 7.4, kamu perlu menggunakan Laravel versi lebih lama (Laravel 9 untuk PHP 8.0+, Laravel 8 untuk PHP 7.3+). Sangat disarankan untuk meng-upgrade PHP karena PHP 7.4 sudah end-of-life.

Haruskah menggunakan MySQL atau SQLite untuk belajar?

Untuk belajar dan development, SQLite jauh lebih simpel karena tidak perlu konfigurasi server database. Untuk production, gunakan MySQL atau PostgreSQL. Kabar baiknya, mengubah database di Laravel sangat mudah — cukup ganti konfigurasi di .env.

Mengapa ada folder vendor yang sangat besar?

Folder vendor berisi semua dependensi PHP yang diinstall oleh Composer. Folder ini tidak perlu di-commit ke Git (sudah ada di .gitignore). Ketika kolega meng-clone proyekmu, mereka tinggal jalankan composer install untuk mengunduh ulang semua dependensi.


Kesimpulan

Selamat! Kamu sudah berhasil menginstall Laravel dan memahami struktur proyeknya. Kita sudah melewati:

  • Instalasi PHP, Composer, dan Laravel Installer di berbagai sistem operasi
  • Membuat proyek baru dengan laravel new
  • Memahami fungsi setiap folder dalam proyek Laravel
  • Konfigurasi database dan menjalankan migrasi pertama
  • Perintah-perintah Artisan yang akan sering digunakan

Di artikel berikutnya, kita akan masuk ke inti Laravel: Routing dan Controller — cara menghubungkan URL dengan kode PHP.

Jangan khawatir jika ada yang belum 100% paham — semuanya akan semakin jelas saat kita mulai membangun aplikasi sungguhan. Keep going, kamu luar biasa! 💪

Artikel Terkait