Blog / September 14, 2026 / by admin

Saya Membangun Website Sendiri dengan Laravel: Apa yang Saya Pelajari Setelah Berhenti Mengandalkan CMS?

Ada satu hal yang saya sadari setelah cukup lama berkecimpung di dunia website:

membuat website itu mudah. Membuat website yang benar-benar kita pahami adalah cerita yang berbeda.

Saat pertama kali mengenal website, menggunakan CMS siap pakai terasa seperti pilihan paling masuk akal.

Install.

Pilih tema.

Pasang plugin.

Tulis artikel.

Selesai.

Tetapi semakin lama saya belajar menjadi developer, muncul satu pertanyaan:

“Bagaimana kalau saya membuat semuanya sendiri?”

Bukan karena CMS itu buruk.

Justru sebaliknya.

CMS sangat membantu ketika kita ingin membangun website dengan cepat.

Tetapi saya ingin memahami apa yang sebenarnya terjadi di balik sebuah website.

Akhirnya saya memutuskan untuk membangun website sendiri menggunakan Laravel.

Dan dari proses tersebut, saya menemukan beberapa hal yang sebelumnya tidak saya pahami.

1. Website Bukan Sekadar Tampilan

Ketika melihat sebuah website dari sisi pengunjung, yang terlihat hanyalah halaman.

Ada navbar.

Ada artikel.

Ada gambar.

Ada tombol.

Ada footer.

Tetapi di balik halaman tersebut terdapat banyak hal yang tidak terlihat.

Misalnya ketika seseorang membuka artikel:

Pengunjung
↓
Browser
↓
HTTP Request
↓
Laravel
↓
Route
↓
Controller
↓
Database
↓
Model
↓
Response
↓
Browser

Sebelum memahami Laravel, saya sering melihat website hanya sebagai kumpulan halaman.

Setelah mempelajari bagaimana aplikasi bekerja di belakangnya, saya mulai melihat website sebagai sebuah sistem.

Dan perubahan cara berpikir ini menurut saya jauh lebih penting daripada sekadar menghafal syntax.

2. Laravel Membuat Saya Berpikir Tentang Struktur

Salah satu hal yang saya sukai dari Laravel adalah kita dipaksa untuk berpikir lebih terstruktur.

Misalnya ketika ingin membuat artikel.

Kita tidak sekadar membuat satu halaman HTML.

Kita mulai memikirkan:

bagaimana artikel disimpan?
bagaimana URL-nya?
bagaimana status publikasinya?
siapa yang membuat artikel?
bagaimana kategori artikel?
bagaimana gambar disimpan?
bagaimana artikel dicari?
bagaimana artikel diurutkan?

Sebuah fitur sederhana akhirnya memaksa kita memahami banyak aspek pengembangan software.

Dan justru di situlah proses belajarnya menjadi menarik.

3. Database Ternyata Sangat Penting

Dulu saya menganggap database hanya sebagai tempat menyimpan data.

Setelah membangun aplikasi sendiri, pandangan tersebut berubah.

Database sebenarnya merupakan salah satu fondasi utama aplikasi.

Misalnya sebuah artikel mungkin memiliki data:

posts

id
title
slug
excerpt
content
featured_image
status
published_at
user_id
category_id
created_at
updated_at

Kemudian artikel tersebut berhubungan dengan kategori.

categories

id
name
slug

Dan berhubungan dengan user.

users

id
name
email
password

Dari sini saya mulai memahami konsep relationship secara lebih nyata.

Bukan sekadar belajar:

belongsTo()
hasMany()

tetapi memahami mengapa relationship tersebut diperlukan.

4. Filament Mengubah Cara Saya Membuat Admin Panel

Bagian lain yang cukup menarik adalah ketika saya mulai menggunakan Filament.

Membuat halaman admin secara manual membutuhkan cukup banyak pekerjaan.

Kita perlu memikirkan:

tabel data
form
validasi
pagination
pencarian
filter
upload file
action
authorization

Filament membuat proses tersebut jauh lebih cepat.

Misalnya kita mempunyai model:

Post

Kita dapat membuat resource untuk mengelolanya.

Konsep sederhananya:

Post
↓
Filament Resource
↓
List
Create
Edit
View
Delete

Yang menarik bukan hanya kecepatannya.

Saya mulai memahami bahwa framework atau library yang baik bukan bertujuan membuat developer malas.

Sebaliknya, ia membantu kita menghabiskan waktu pada bagian yang benar-benar membutuhkan pemikiran.

5. Saya Mulai Menyadari Bahwa “Bisa Coding” Belum Tentu Bisa Membuat Produk

Ini mungkin salah satu pelajaran terbesar.

Seseorang bisa saja menguasai:

PHP
Laravel
JavaScript
CSS
SQL
Git

tetapi belum tentu bisa membuat produk yang benar-benar digunakan orang.

Kenapa?

Karena membuat produk membutuhkan lebih dari sekadar kemampuan coding.

Kita juga harus memahami:

siapa penggunanya?
masalah apa yang diselesaikan?
bagaimana pengguna menemukan produk?
bagaimana membuat pengguna nyaman?
bagaimana menjaga performa?
bagaimana melakukan maintenance?
bagaimana mendapatkan traffic?
bagaimana menghasilkan uang?

Di sinilah saya mulai melihat perbedaan antara:

belajar programming

dan

membangun sesuatu dengan programming.

6. SEO Ternyata Bukan Urusan “Pasang Keyword”

Ketika mulai memikirkan traffic, saya juga mulai mempelajari SEO.

Awalnya saya mengira SEO hanya tentang memasukkan keyword ke artikel.

Ternyata jauh lebih luas.

Ada:

search intent
struktur konten
internal linking
URL
metadata
sitemap
indexing
performa website
mobile usability
kualitas konten
pengalaman pengguna

Dan semakin saya pelajari, semakin jelas bahwa SEO sebenarnya memiliki satu tujuan besar:

Membantu mesin pencari memahami halaman dan membantu pengguna menemukan jawaban yang tepat.

Jadi daripada memikirkan:

“Bagaimana supaya artikel saya penuh keyword?”

Saya mulai berpikir:

“Apa sebenarnya yang ingin diketahui orang ketika mereka mencari keyword ini?”

Menurut saya, perubahan cara berpikir ini jauh lebih berguna.

7. Membuat Blog Sendiri Membuat Saya Lebih Menghargai Developer

Ada sesuatu yang menarik ketika kita menggunakan produk orang lain.

Kita hanya melihat hasil akhirnya.

Ketika menggunakan aplikasi:

“Kenapa tombol ini tidak ada?”

Ketika menggunakan website:

“Kenapa loading-nya lama?”

Ketika menggunakan dashboard:

“Kenapa fiturnya dibuat seperti ini?”

Tetapi ketika kita mulai membuat sendiri, kita menyadari bahwa setiap keputusan memiliki konsekuensi.

Menambahkan satu fitur bisa memengaruhi:

database
backend
frontend
keamanan
performa
maintenance

Akhirnya saya mulai melihat produk digital dengan perspektif yang berbeda.

8. Tidak Semua Hal Harus Dibuat dari Nol

Ini adalah pelajaran yang agak ironis.

Saya mulai membangun website sendiri karena ingin memahami bagaimana semuanya bekerja.

Tetapi setelah melakukannya, saya justru semakin memahami bahwa:

tidak semua hal harus dibuat sendiri.

Jika sebuah library sudah menyelesaikan masalah dengan baik, menggunakannya adalah keputusan engineering yang masuk akal.

Contohnya:

Laravel
Filament
Alpine.js
Tailwind CSS

Daripada membuat semuanya dari nol, kita dapat menggunakan fondasi yang sudah tersedia dan fokus membangun fitur yang memberikan nilai.

Jadi tujuan akhirnya bukan:

“Saya harus membuat semuanya sendiri.”

Tetapi:

“Saya harus memahami apa yang saya gunakan dan tahu kapan harus menggunakannya.”

9. Proyek Pribadi Ternyata Bisa Menjadi Guru yang Bagus

Ada perbedaan besar antara membaca tutorial dan membangun proyek.

Ketika membaca tutorial:

ikuti langkah 1
ikuti langkah 2
ikuti langkah 3

Semuanya terlihat mudah.

Tetapi ketika membangun proyek sendiri:

“Kenapa error?”

“Kenapa relationship-nya tidak bekerja?”

“Kenapa gambar tidak muncul?”

“Kenapa query ini lambat?”

“Kenapa route-nya 404?”

Di situlah kita benar-benar belajar.

Karena kita dipaksa mencari jawaban.

Dan sering kali satu masalah kecil membuat kita memahami konsep yang sebelumnya hanya kita hafalkan.

10. Website Ini Saya Anggap Sebagai Laboratorium

Saya tidak ingin website ini hanya menjadi tempat untuk menulis artikel.

Saya ingin menjadikannya sebagai laboratorium pribadi.

Tempat untuk mencoba sesuatu.

Tempat untuk mencatat apa yang saya pelajari.

Tempat untuk mendokumentasikan eksperimen.

Dan kalau suatu hari ada orang lain yang mengalami masalah yang sama, semoga dokumentasi tersebut dapat membantu.

Karena salah satu bentuk dokumentasi terbaik menurut saya adalah:

menulis ketika kita baru saja menyelesaikan sebuah masalah.

Pada saat itu kita masih ingat:

apa masalahnya
apa penyebabnya
apa yang sudah dicoba
apa yang gagal
apa yang akhirnya berhasil

Informasi seperti itu sering kali jauh lebih berguna daripada tutorial yang hanya menunjukkan hasil akhirnya.

11. Saya Tidak Ingin Hanya Menjadi Konsumen Teknologi

Setiap hari kita menggunakan begitu banyak produk digital.

Google.

Instagram.

YouTube.

TikTok.

Website.

Aplikasi mobile.

Software.

Tetapi sebagian besar waktu kita hanya menjadi pengguna.

Membangun website sendiri membuat saya merasakan sesuatu yang berbeda.

Saya mulai berpindah dari:

consumer

menjadi:

creator.

Tidak berarti harus membuat aplikasi besar.

Bahkan sebuah blog sederhana sudah cukup untuk memulainya.

Karena ketika kita membuat sesuatu sendiri, kita mulai memahami bagaimana dunia digital sebenarnya dibangun.

12. Apakah Membangun Website Sendiri Worth It?

Kalau pertanyaannya:

“Apakah lebih cepat menggunakan CMS?”

Jawabannya mungkin iya.

Kalau pertanyaannya:

“Apakah membangun sendiri membuat saya belajar lebih banyak?”

Jawabannya juga iya.

Jadi semuanya kembali kepada tujuan.

Kalau tujuanmu hanya memiliki website secepat mungkin, gunakan solusi yang sudah tersedia.

Tetapi kalau tujuanmu adalah menjadi developer yang memahami bagaimana sebuah aplikasi bekerja, membangun proyek sendiri adalah pengalaman yang sangat berharga.

Tidak perlu langsung membuat aplikasi besar.

Mulai dari sesuatu yang sederhana.

Misalnya:

Blog
↓
CRUD Artikel
↓
Authentication
↓
Kategori
↓
Search
↓
Upload Gambar
↓
SEO
↓
Analytics
↓
Deployment

Satu proyek kecil dapat berubah menjadi perjalanan belajar yang panjang.

Penutup

Saya masih belajar.

Website ini juga masih jauh dari sempurna.

Mungkin ada kode yang nantinya akan saya refactor.

Mungkin struktur database akan berubah.

Mungkin desain akan berganti.

Mungkin ada fitur yang ternyata tidak diperlukan.

Dan itu tidak masalah.

Karena saya mulai memahami satu hal:

Proyek yang selesai dan terus berkembang jauh lebih berharga daripada proyek sempurna yang tidak pernah diluncurkan.

Itulah alasan saya memilih untuk membangun website ini sendiri.

Bukan untuk membuktikan bahwa menggunakan CMS itu salah.

Bukan juga untuk mengatakan bahwa Laravel selalu merupakan pilihan terbaik.

Tetapi karena saya ingin belajar dengan cara yang paling nyata:

membangun sesuatu, menggunakannya, menemukan masalah, memperbaikinya, lalu membagikan apa yang saya pelajari.

Dan mungkin, beberapa tahun dari sekarang, ketika saya melihat kembali artikel ini, saya akan tersenyum melihat betapa sederhananya website pertama saya.

Tapi justru dari sinilah semuanya dimulai.

Catatan untuk Pembaca

Kalau kamu juga sedang belajar Laravel dan ingin membuat proyek nyata, jangan terlalu lama berada di fase tutorial.

Pilih satu proyek kecil.

Bangun.

Biarkan error datang.

Cari tahu penyebabnya.

Perbaiki.

Lalu dokumentasikan.

Karena terkadang cara tercepat untuk belajar programming bukan dengan membaca 100 tutorial.

Tetapi dengan membangun 1 proyek sampai selesai.
2 Comments
  • Robert Brown December 9, 2021

    Nam dui mauris, congue vel nisi in, tempus gravida enim. Nulla et tristique orci. Pellentesque lectus sapien, maximus id gravida sit amet, tristique non eros. Etiam aliquet, sem vitae sagittis convallis, ante sapien tincidunt nisl, eget dapibus tortor velit quis ex.

  • Ryan Berg December 9, 2021

    Proin et condimentum est, sed pretium ex. Mauris posuere est metus, vitae commodo sem posuere eget.

Leave a comment