Laravel 13 Pemula #4: Menyambungkan ke Pangkalan Data – Setting .env dan Membuat Database

Tutorial Laravel 13 Pemula • Proyek Web Berita

#4: Menyambungkan ke Pangkalan Data – Setting File .env dan Membuat Database

Halo, Arsitek Data! 🏗️

Sekarang kita sudah punya proyek Laravel dan sudah mengenal struktur foldernya. Saatnya menghubungkan proyek kita dengan pangkalan data (database). Bayangkan seperti ini: kita punya lemari besar (database) untuk menyimpan semua berita, kategori, dan komentar. Agar Laravel bisa membuka lemari itu, kita harus memberi tahu kunci dan alamatnya. Itulah yang kita lakukan hari ini.

🎯 Tujuan Kita:
  1. Membuat database baru bernama situs_berita (atau sesuai keinginan).
  2. Mengatur file .env di proyek Laravel agar tahu harus terhubung ke database mana.
  3. Menguji koneksi supaya yakin semuanya bekerja.

Langkah 1: Cek Apakah MySQL Sudah Berjalan

🟢 Pastikan Lampu Hijau Menyala

Di tutorial pertama, kita sudah menginstall Laragon. Laragon menjalankan MySQL secara otomatis. Tapi, mari kita pastikan dulu:

  • Cari ikon Laragon di pojok kanan bawah (daun hijau 🍃).
  • Jika ikon berwarna hijau, artinya semua layanan (termasuk MySQL) aktif. Jika ikon merah atau tidak ada, klik kanan dan pilih Start All.
  • Untuk lebih yakin, klik kanan ikon → MySQLStatus. Seharusnya muncul "MySQL is running".
💡 Tips: Jika kamu menggunakan XAMPP, pastikan MySQL di XAMPP juga berjalan (klik Start pada MySQL). Tapi ingat, jangan jalankan dua MySQL bersamaan (pilih salah satu).

Langkah 2: Membuat Database Baru

Kita butuh sebuah tempat kosong untuk data kita. Caranya mudah, bisa melalui HeidiSQL (sudah termasuk Laragon) atau menggunakan terminal. Mari pakai HeidiSQL karena lebih visual.

📀 Membuat Database dengan HeidiSQL
  1. Klik kanan ikon Laragon → DatabaseHeidiSQL.
  2. Di jendela yang muncul, pastikan Host: 127.0.0.1, User: root, dan Password: (kosong). Klik tombol Open.
  3. Setelah masuk, kamu akan melihat daftar database yang sudah ada (seperti information_schema, mysql, dll). Ini adalah database bawaan, jangan diubah.
  4. Klik kanan di area kosong (pada panel kiri) → pilih Create newDatabase.
  5. Beri nama: situs_berita (huruf kecil semua, pakai underscore, tidak ada spasi).
  6. Pada pilihan Charset, pilih utf8mb4 (agar bisa menyimpan emoji dan berbagai bahasa). Klik OK.

Selamat! Sekarang kita punya database kosong bernama situs_berita. Kamu bisa lihat di panel kiri.

📌 Catatan: Jika kamu lebih suka menggunakan terminal (Command Prompt), kamu juga bisa menjalankan perintah: mysql -u root -e "CREATE DATABASE situs_berita CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

Langkah 3: Mengatur File .env

File .env (dibaca "dot env") adalah kertas konfigurasi rahasia. Di sini kita beri tahu Laravel bagaimana cara terhubung ke database.

📝 Edit .env dengan Teks Editor
  1. Buka folder proyek kita: C:\laragon\www\situs-berita (atau tempat lain jika kamu beda).
  2. Cari file bernama .env. Jika tidak terlihat, mungkin tersembunyi. Di Windows, kamu bisa atur "Show hidden files".
  3. Buka file tersebut menggunakan teks editor (Notepad, VS Code, atau Sublime).
  4. Cari bagian yang berisi DB_ (sekitar baris 10-20). Akan terlihat seperti ini:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=root
    DB_PASSWORD=
  5. Ubah DB_DATABASE=laravel menjadi DB_DATABASE=situs_berita (sesuai nama database yang tadi dibuat).
  6. Biarkan DB_USERNAME=root dan DB_PASSWORD= (kosong) karena di Laragon MySQL default tidak pakai password.
  7. Simpan file (Ctrl+S).
⚠️ Peringatan: Jangan ubah bagian lain jika tidak perlu. Pastikan tidak ada spasi ekstra di baris. Contoh yang benar: DB_DATABASE=situs_berita (tanpa spasi di sekitar tanda =).

Setelah mengedit .env, Laravel perlu membaca ulang konfigurasi. Cara termudah adalah menjalankan perintah:

php artisan config:clear

Kita akan lakukan di langkah berikutnya.

Langkah 4: Menguji Koneksi Database

Kita perlu memastikan bahwa Laravel bisa berkomunikasi dengan database. Ada dua cara sederhana.

🖥️ Cara 1: Menggunakan Artisan Tinker
  1. Buka terminal Laragon (klik kanan ikon → Terminal).
  2. Pindah ke folder proyek: cd situs-berita.
  3. Jalankan: php artisan config:clear (agar perubahan .env langsung terbaca).
  4. Jalankan: php artisan tinker (akan masuk ke mode interaktif).
  5. Ketik perintah: DB::connection()->getPdo(); lalu tekan Enter.

Jika berhasil, kamu akan melihat informasi tentang PDO (PHP Data Objects), seperti PDO Object. Itu artinya koneksi sukses! ✨

Untuk keluar dari tinker, ketik exit.

🖥️ Cara 2: Menggunakan Perintah Migrasi (Meskipun Belum Ada Migrasi)

Laravel punya fitur migrasi untuk membuat tabel. Meskipun kita belum punya migrasi, kita bisa menjalankan perintah untuk melihat apakah koneksi berjalan tanpa error.

php artisan migrate:status

Jika muncul daftar migrasi (atau hanya tabel yang belum ada), berarti koneksi berhasil. Jika ada error seperti "Access denied" atau "Unknown database", berarti ada kesalahan di .env.

Mengatasi Error Umum

  • SQLSTATE[HY000] [1049] Unknown database 'situs_berita' → Nama database di .env tidak cocok dengan yang sudah dibuat. Cek kembali nama database di HeidiSQL.
  • SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' → Password salah atau username salah. Di Laragon, biasanya root tanpa password. Pastikan di .env tertulis DB_PASSWORD= (kosong).
  • Could not open input file: artisan → Pastikan kamu berada di folder proyek yang benar (ada file artisan).
  • Port 3306 not open → MySQL belum berjalan. Cek kembali Laragon atau XAMPP.

Bonus: Membuat Database via Command Line (Opsional)

Jika kamu lebih suka gaya keren dengan perintah, kamu bisa buka terminal Laragon dan ketik:

mysql -u root -e "CREATE DATABASE situs_berita CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

Ini langsung membuat database tanpa perlu membuka HeidiSQL. Cocok untuk yang sudah terbiasa.

✅ Ringkasan Hari Ini

  • ✅ Kita membuat database situs_berita di MySQL.
  • ✅ Kita mengubah file .env agar Laravel tahu database mana yang dipakai.
  • ✅ Kita menguji koneksi dengan php artisan tinker atau migrate:status.

Sekarang proyek Laravel kita sudah terhubung dengan database. Mulai tutorial berikutnya, kita akan membuat tabel pertama: tabel kategori! Kita akan belajar membuat migrasi dan menjalankannya. Mantap!

🌟 Semangat! Kamu sudah melewati salah satu langkah yang paling sering membuat pemula bingung. Tapi karena kamu sabar mengikuti, semuanya berjalan lancar. Besok kita mulai membangun struktur data!

📝 Seri Tutorial Laravel 13 Pemula – Proyek Web Berita
✨ Selanjutnya: #5: Membuat Catatan Ajaib (Migration) – Tabel categories

Lebih baru Lebih lama

نموذج الاتصال