Minggu, 10 Mei 2026

Laravel - Struktur File

 




Arsitektur MVC (Model-View-Controller) berdasarkan studi kasus Task Manager yang baru saja Anda buat. Memahami struktur ini adalah kunci untuk menjadi pengembang Laravel yang mahir.


1. Konsep MVC dalam Studi Kasus Anda

Arsitektur MVC membagi aplikasi menjadi tiga komponen utama agar kode lebih terorganisir dan mudah dikelola.

A. Model (Data & Logika)

  • File: app/Models/Task.php

  • Kegunaan: Menghubungkan aplikasi Anda dengan tabel tasks di database. Model bertugas mengambil data, menyimpan data baru, atau menghapus data.

  • Dalam Studi Kasus: Saat Anda menulis Task::all(), Model inilah yang bekerja mengambil semua baris data dari MySQL.

B. View (Tampilan/UI)

  • File: resources/views/tasks/index.blade.php

  • Kegunaan: Berisi kode HTML dan CSS. View hanya bertugas menampilkan data yang dikirimkan kepadanya. View tidak boleh tahu bagaimana cara mengambil data dari database.

  • Dalam Studi Kasus: View menerima daftar tugas dan menampilkannya dalam bentuk list menggunakan Tailwind CSS.

C. Controller (Otak/Penghubung)

  • File: app/Http/Controllers/TaskController.php

  • Kegunaan: Menjadi perantara. Controller menerima permintaan dari user (lewat Route), meminta data ke Model, lalu mengirimkan data tersebut ke View.

  • Dalam Studi Kasus: Saat Anda membuka URL /tasks, Controller diperintahkan untuk mengambil data tugas dari Model dan menyajikannya ke View index.


2. Struktur File Proyek (Folder yang Kita Gunakan)

Berikut adalah ringkasan folder-folder utama yang terlibat dalam pembuatan aplikasi Task Manager Anda:

3. Alur Kerja (The Flow)

Mari kita simulasikan apa yang terjadi saat Anda me-refresh browser:

  1. Request: Browser meminta halaman [http://127.0.0.1:8000/tasks](http://127.0.0.1:8000/tasks).

  2. Route: File routes/web.php melihat permintaan tersebut dan mengarahkannya ke TaskController fungsi index.

  3. Controller: TaskController menjalankan perintah Task::all().

  4. Model: Model Task mengambil data dari tabel MySQL.

  5. Controller: Setelah dapat datanya, Controller memanggil View tasks.index sambil membawa data $tasks.

  6. View: File index.blade.php merender HTML dan menampilkan data tugas yang dibawa tadi.

  7. Response: Browser menampilkan halaman web yang sudah cantik.


Mengapa Harus Pakai Struktur Ini?

  • Rapi: Jika ada kesalahan tampilan, Anda tahu harus buka folder views. Jika ada kesalahan data, Anda buka folder Models.

  • Skalabilitas: Jika nanti aplikasi Anda bertambah besar (misal: ada fitur User, Kategori, atau Komentar), Anda tinggal menambah Model, View, dan Controller baru tanpa mengganggu kode yang lama.


PERINTAH COMPOSER 


Berikut adalah urutan perintah lengkap yang Anda gunakan, mulai dari proses instalasi hingga aplikasi berhasil berjalan di browser:


1. Tahap Instalasi (Composer)

Perintah ini digunakan untuk mengunduh framework Laravel dan semua pustaka pendukungnya.

  • composer create-project laravel/laravel:^10.0 pelatihan2

    • Kegunaan: Membuat folder proyek baru bernama pelatihan2 dengan Laravel versi 10.


2. Tahap Navigasi Folder

Sebelum menjalankan perintah selanjutnya, Anda harus masuk ke dalam folder proyek yang baru dibuat.

  • cd pelatihan2

    • Kegunaan: Pindah posisi terminal ke dalam direktori proyek. Jika ini terlewat, perintah artisan tidak akan bisa dijalankan.


3. Tahap Pembuatan Struktur MVC (Artisan)

Perintah ini digunakan untuk membuat komponen-komponen utama aplikasi secara otomatis.

  • php artisan make:model Task -m

    • Kegunaan: Membuat file Model (Task.php) sekaligus file Migration (-m) untuk membuat tabel di database.

  • php artisan make:controller TaskController

    • Kegunaan: Membuat file Controller (TaskController.php) untuk mengatur logika aplikasi.


4. Tahap Database & Migrasi

Setelah mengatur koneksi database di file .env, gunakan perintah ini untuk mengirim struktur tabel ke MySQL.

  • php artisan migrate

    • Kegunaan: Menjalankan instruksi migrasi (membuat tabel tasks dan tabel bawaan Laravel lainnya di database).

  • php artisan migrate:rollback (Opsional)

    • Kegunaan: Membatalkan migrasi terakhir jika ada kesalahan pada struktur tabel.


5. Tahap Uji Coba Data (Tinker)

Digunakan untuk memasukkan data ke database tanpa melalui form web.

  • php artisan tinker

    • Kegunaan: Membuka konsol interaktif PHP untuk berinteraksi dengan database.

    • Perintah di dalam Tinker: App\Models\Task::create(['title' => 'Tugas Baru', 'is_completed' => 0]);


6. Tahap Pembersihan Cache (Troubleshooting)

Sering digunakan jika Anda mengubah file .env atau Route tetapi perubahannya tidak muncul.

  • php artisan config:clear

    • Kegunaan: Menghapus cache konfigurasi.

  • php artisan route:clear

    • Kegunaan: Menghapus cache rute URL.


7. Tahap Menjalankan Aplikasi

Langkah terakhir untuk melihat hasil pekerjaan Anda di browser.

  • php artisan serve

    • Kegunaan: Menjalankan server pengembangan lokal. Setelah ini jalan, Anda bisa membuka [http://127.0.0.1:8000](http://127.0.0.1:8000) di browser.


Ringkasan Urutan Cepat:

  1. composer create-project... (Instal)

  2. cd nama-proyek (Masuk folder)

  3. php artisan make:model... (Buat struktur)

  4. php artisan migrate (Setup database)

  5. php artisan serve (Jalankan)


PERINTAH DATABASE


Berikut adalah urutan perintah dan langkah-langkah pengelolaan database, mulai dari pembuatan di phpMyAdmin hingga proses pengisian data (Insert) di Laravel:


1. Tahap di phpMyAdmin (Persiapan Awal)

Langkah ini dilakukan secara visual melalui browser untuk menyiapkan "rumah" bagi data Anda.

  • Buka URL: localhost/phpmyadmin.

  • Buat Database: Klik menu New, ketik nama database (misal: pelatihan2), lalu klik Create.

  • Pengaturan Koneksi: Di proyek Laravel, buka file .env dan sesuaikan:

    Cuplikan kode
    DB_DATABASE=pelatihan2
    DB_USERNAME=root
    DB_PASSWORD=
    

2. Tahap Migration (Membuat Struktur Tabel)

Setelah database dibuat, Anda tidak perlu membuat tabel secara manual di phpMyAdmin. Gunakan perintah Artisan agar struktur tabel tercatat di kode program.

  • php artisan make:model Task -m

    • Perintah ini membuat Model sekaligus file Migration.

  • Edit File Migration: Buka file di folder database/migrations/xxxx_create_tasks_table.php dan tambahkan kolom:

PHP
    $table->string('title');
    $table->boolean('is_completed')->default(false);
    ```
*   **`php artisan migrate`**
    *   **Kegunaan:** Menjalankan perintah SQL secara otomatis untuk membuat tabel `tasks` ke dalam database `pelatihan2`.

http://googleusercontent.com/image_content/211



---

## 3. Tahap Insert Data (Memasukkan Data)
Ada tiga cara utama untuk memasukkan data ke dalam tabel yang sudah dibuat:

### A. Melalui Tinker (Uji Coba Cepat)
Paling sering digunakan pengembang untuk mengetes apakah Model sudah berfungsi.
1.  Ketik: **`php artisan tinker`**
2.  Ketik perintah Eloquent:
    
```php
    App\Models\Task::create(['title' => 'Belajar Database', 'is_completed' => 0]);
    ```

### B. Melalui Database Seeder (Data Massal/Default)
Digunakan jika Anda ingin mengisi database dengan data awal (dummy) secara otomatis.
1.  **`php artisan make:seeder TaskSeeder`**
2.  Isi file di `database/seeders/TaskSeeder.php` dengan data.
3.  **`php artisan db:seed --class=TaskSeeder`**

### C. Melalui phpMyAdmin (Manual)
Jika ingin memasukkan data secara visual tanpa kode:
1.  Pilih tabel `tasks`.
2.  Klik tab **Insert** di bagian atas.
3.  Isi kolom `title` dan `is_completed`.
4.  Klik **Go**.

---

## Ringkasan Logika Database Laravel



| Langkah | Perintah / Alat | Output |
| :--- | :--- | :--- |
| **Persiapan** | phpMyAdmin | Database Kosong |
| **Rencana Tabel** | `make:model -m` | File Migration (Blueprints) |
| **Eksekusi Tabel** | `migrate` | Tabel nyata di MySQL |
| **Isi Data** | `tinker` / `db:seed` | Data masuk ke Baris Tabel |

Dengan mengikuti urutan ini, database Anda akan terstruktur dengan rapi dan sinkron dengan kode Laravel Anda.


https://git-scm.com/install/windows
https://sourceforge.net/projects/xampp/
https://www.apachefriends.org/download_success.html
https://getcomposer.org/download/
http://localhost/phpmyadmin/index.php?route=/table/change&db=pelatihan2&table=tasks
http://127.0.0.1:8000/tasks

Tidak ada komentar:

Posting Komentar

Laravel - Struktur File

  http://127.0.0.1:8000/tasks Arsitektur MVC (Model-View-Controller) berdasarkan studi kasus Task Manager yang baru saja Anda buat. Memaha...