(Aplikasi Books Store) Part 1: Persiapan dan Read Data (Menampilkan Buku)

Admin
03 October 2025
Framework, Backend Development
5 menit baca
(Aplikasi Books Store) Part 1: Persiapan dan Read Data (Menampilkan Buku)

Selamat datang di seri tutorial membuat aplikasi Books Store menggunakan framework Laravel. Di part pertama ini, kita akan fokus pada langkah-langkah awal, yaitu persiapan proyek dan membuat fitur untuk menampilkan data buku (Read). Membangun fitur CRUD adalah fondasi utama dalam pengembangan aplikasi web. Dengan menguasai konsep ini, Anda akan siap untuk membangun proyek yang lebih kompleks. Mari kita mulai!

Langkah 1: Instalasi Laravel

Pastikan Anda sudah menginstal Composer dan Node.js. Buka terminal Anda dan jalankan perintah berikut untuk membuat proyek Laravel baru:

composer create-project laravel/laravel bookstore

Setelah selesai, masuk ke direktori proyek dan jalankan server lokal:


cd bookstore
php artisan serve

Buka browser Anda dan kunjungi http://127.0.0.1:8000 untuk melihat halaman default Laravel.

Langkah 2: Konfigurasi Database

Kita akan menggunakan MySQL. Buka file .env dan sesuaikan pengaturan database Anda:

Cuplikan kode

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bookstore_db
DB_USERNAME=root
DB_PASSWORD=

Buat database baru bernama bookstore_db di MySQL atau phpMyAdmin.

Langkah 3: Membuat Model dan Migrasi

Model adalah representasi data dari tabel di database. Kita akan membuat model Book dan migrasi untuk membuat tabel books.

Jalankan perintah berikut di terminal:

php artisan make:model Book -m

Perintah -m akan otomatis membuat file migrasi. Buka file migrasi yang baru dibuat di database/migrations/ (namanya akan mirip ..._create_books_table.php). Tambahkan kolom-kolom untuk tabel books:


public function up()
{
    Schema::create('books', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->string('author');
        $table->integer('publication_year');
        $table->text('description')->nullable();
        $table->timestamps();
    });
}
// ...

Jalankan migrasi untuk membuat tabel di database:


php artisan migrate

Sekarang, tabel books sudah siap digunakan di database Anda.

Langkah 4: Membuat Controller

Controller akan menangani logika aplikasi. Kita akan membuat BookController untuk mengelola data buku.


php artisan make:controller BookController

Buka app/Http/Controllers/BookController.php dan buat method index untuk menampilkan semua buku.

PHP

use App\Models\Book;

class BookController extends Controller
{
    public function index()
    {
        $books = Book::all(); // Mengambil semua data buku dari tabel
        return view('books.index', compact('books'));
    }
}

Langkah 5: Membuat View (Tampilan)

View adalah halaman web yang akan ditampilkan ke pengguna. Buat folder resources/views/books dan di dalamnya, buat file index.blade.php.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Daftar Buku</title>
</head>
<body>
    <h1>Daftar Buku</h1>
    <table>
        <thead>
            <tr>
                <th>Judul</th>
                <th>Penulis</th>
                <th>Tahun Terbit</th>
            </tr>
        </thead>
        <tbody>
            @foreach ($books as $book)
            <tr>
                <td>{{ $book->title }}</td>
                <td>{{ $book->author }}</td>
                <td>{{ $book->publication_year }}</td>
            </tr>
            @endforeach
        </tbody>
    </table>
</body>
</html>

Langkah 6: Mengatur Routes

Routes akan mengarahkan request dari URL ke controller yang sesuai. Buka file routes/web.php dan tambahkan route untuk index.

PHP
// ...
use App\Http\Controllers\BookController;
use Illuminate\Support\Facades\Route;

Route::get('/books', [BookController::class, 'index']);

Sekarang, coba kunjungi http://127.0.0.1:8000/books. Halaman akan kosong karena belum ada data. Mari kita tambahkan beberapa data dummy.

Langkah 7: Menambahkan Data Dummy

Jalankan php artisan tinker dan tambahkan beberapa data secara manual:

>>> App\Models\Book::create(['title' => 'The Lord of the Rings', 'author' => 'J.R.R. Tolkien', 'publication_year' => 1954, 'description' => 'A great fantasy novel.']);
>>> App\Models\Book::create(['title' => 'Dune', 'author' => 'Frank Herbert', 'publication_year' => 1965, 'description' => 'Sci-fi classic.']);

Sekarang, refresh halaman http://127.0.0.1:8000/books. Anda akan melihat daftar buku yang sudah kita buat!


Bersambung ke Part 2: Di bagian selanjutnya, kita akan menambahkan fitur Create (tambah buku) dan Update (edit buku). Tetap semangat! 💪

Tag Artikel

Laravel PHP MySQL Books Store Web Dev CRUD Laravel Deploy web developer Web Development
Jamil Tech Solutions

Jamil Tech Solutions

Tim profesional di Jamil Tech Solutions dengan pengalaman lebih dari 5 tahun dalam pengembangan website dan solusi digital untuk UMKM. Passionate membantu bisnis kecil berkembang melalui teknologi.