## Pendahuluan
Landing page adalah halaman utama yang menampilkan informasi penting dan mengarahkan pengunjung ke tindakan tertentu, seperti mendaftar, membeli produk, atau menghubungi Anda. Laravel, framework PHP yang populer, menyediakan kerangka kerja yang kuat dan fleksibel untuk membangun landing page dengan cepat. Artikel ini akan memandu Anda, pemula, melalui proses pembuatan landing page personal menggunakan Laravel tanpa biaya tambahan, memanfaatkan AI murah meriah atau 0 cost.

## Persiapan Lingkungan
Sebelum memulai, pastikan Anda memiliki beberapa hal berikut:
- **PHP** versi 8.0 atau lebih tinggi (Laravel 10.x memerlukan PHP 8.1+).
- **Composer** – manajer dependensi PHP.
- **Node.js** dan **npm** – untuk mengelola paket frontend.
- **Database** – gunakan SQLite untuk kesederhanaan, atau MySQL jika sudah terbiasa.
- **IDE** – VS Code, PHPStorm, atau editor favorit Anda.

Jika Anda belum menginstal, ikuti panduan resmi: [Laravel Installation](https://laravel.com/docs/10.x/installation).

## Membuat Proyek Laravel
Buka terminal dan jalankan:
```bash
composer create-project laravel/laravel landing-page
```
Perintah ini akan membuat folder `landing-page` dengan semua dependensi Laravel. Setelah selesai, masuk ke direktori:
```bash
cd landing-page
```

## Membuat Route dan Controller
### 1. Buat Controller
```bash
php artisan make:controller LandingController
```
Controller ini akan mengembalikan view landing page.

### 2. Definisikan Route
Buka `routes/web.php` dan tambahkan:
```php
use App\Http\Controllers\LandingController;

Route::get('/', [LandingController::class, 'index']);
```

### 3. Tambahkan Method di Controller
Buka `app/Http/Controllers/LandingController.php` dan tambahkan:
```php
public function index()
{
return view('landing');
}
```

## Membuat View Landing Page
Laravel menggunakan Blade sebagai templating engine. Buat file `resources/views/landing.blade.php`.

### Struktur Dasar
```html
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Landing Page Personal</title>
@vite('resources/css/app.css')
</head>
<body class="bg-gray-100 font-sans">
<header class="text-center py-10 bg-indigo-600 text-white">
<h1 class="text-4xl font-bold">Nama Anda</h1>
<p class="mt-2 text-lg">Deskripsi singkat tentang Anda atau layanan yang Anda tawarkan.</p>
</header>
<main class="container mx-auto py-8">
<!-- Konten utama di sini -->
</main>
<footer class="text-center py-4 text-gray-600">
© {{ date('Y') }} Nama Anda
</footer>
@vite('resources/js/app.js')
</body>
</html>
```

## Styling dengan Tailwind CSS
Laravel 10.x sudah terintegrasi dengan Vite dan Tailwind. Untuk memulai:
1. Instal Tailwind:
```bash
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
```
2. Konfigurasi `tailwind.config.js`:
```js
module.exports = {
content: [
'./resources/**/*.blade.php',
'./resources/**/*.js',
'./resources/**/*.vue',
],
theme: {
extend: {},
},
plugins: [],
}
```
3. Tambahkan direktif Tailwind di `resources/css/app.css`:
```css
@tailwind base;
@tailwind components;
@tailwind utilities;
```
4. Build CSS:
```bash
npm run dev
```

## Menambahkan Fitur Interaktif
### a. Formulir Kontak
Buat form sederhana di `main`:
```html
<section class="my-12">
<h2 class="text-2xl font-semibold text-center">Kontak Saya</h2>
<form action="/contact" method="POST" class="max-w-md mx-auto mt-4">
@csrf
<input type="text" name="name" placeholder="Nama" class="w-full p-2 border rounded mt-2" required>
<input type="email" name="email" placeholder="Email" class="w-full p-2 border rounded mt-2" required>
<textarea name="message" placeholder="Pesan" class="w-full p-2 border rounded mt-2" rows="4" required></textarea>
<button type="submit" class="w-full bg-indigo-600 text-white py-2 rounded mt-4">Kirim</button>
</form>
</section>
```
### b. Validasi dan Penyimpanan
Buat route dan controller untuk memproses form:
```php
Route::post('/contact', [LandingController::class, 'contact']);
```
Di controller:
```php
public function contact(Request $request)
{
$validated = $request->validate([
'name' => 'required',
'email' => 'required|email',
'message' => 'required',
]);
// Simpan ke database atau kirim email
return back()->with('success', 'Pesan terkirim!');
}
```

## Deploy ke Server Gratis
### 1. GitHub
- Push kode ke repository GitHub.

### 2. Fly.io (Gratis untuk proyek kecil)
- Install Fly CLI: `curl -L https://fly.io/install.sh | sh`
- Inisialisasi: `fly launch --no-deploy`
- Sesuaikan `fly.toml` (gunakan database SQLite atau PostgreSQL gratis).
- Deploy: `fly deploy`

### 3. Render.com (Gratis tier)
- Buat aplikasi web, pilih repository GitHub, dan deploy.
- Atur environment variable `APP_ENV=production` dan `APP_KEY`.

## Checklist Pembuatan Landing Page
- [ ] Lingkungan Laravel sudah terinstal.
- [ ] Route `/` diarahkan ke LandingController.
- [ ] View Blade `landing.blade.php` sudah ada.
- [ ] Tailwind CSS terkonfigurasi dan build.
- [ ] Form kontak berfungsi (validasi & penyimpanan).
- [ ] Deploy ke server gratis (Fly.io atau Render.com).
- [ ] URL publik dapat diakses.

## Kesimpulan
Membuat landing page personal dengan Laravel tidak memerlukan biaya besar. Dengan mengikuti langkah-langkah di atas, Anda dapat memiliki halaman profesional, responsif, dan interaktif dalam waktu singkat. Gunakan Tailwind untuk styling cepat, dan deploy ke platform gratis seperti Fly.io atau Render.com. Selamat mencoba dan terus eksplorasi fitur Laravel serta AI murah meriah untuk meningkatkan pengalaman pengguna.