#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.
- Membuat database baru bernama
situs_berita(atau sesuai keinginan). - Mengatur file
.envdi proyek Laravel agar tahu harus terhubung ke database mana. - Menguji koneksi supaya yakin semuanya bekerja.
Langkah 1: Cek Apakah MySQL Sudah Berjalan
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 → MySQL → Status. Seharusnya muncul "MySQL is running".
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.
- Klik kanan ikon Laragon → Database → HeidiSQL.
- Di jendela yang muncul, pastikan Host: 127.0.0.1, User: root, dan Password: (kosong). Klik tombol Open.
- Setelah masuk, kamu akan melihat daftar database yang sudah ada (seperti
information_schema,mysql, dll). Ini adalah database bawaan, jangan diubah. - Klik kanan di area kosong (pada panel kiri) → pilih Create new → Database.
- Beri nama:
situs_berita(huruf kecil semua, pakai underscore, tidak ada spasi). - 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.
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.
- Buka folder proyek kita:
C:\laragon\www\situs-berita(atau tempat lain jika kamu beda). - Cari file bernama
.env. Jika tidak terlihat, mungkin tersembunyi. Di Windows, kamu bisa atur "Show hidden files". - Buka file tersebut menggunakan teks editor (Notepad, VS Code, atau Sublime).
- 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= - Ubah
DB_DATABASE=laravelmenjadiDB_DATABASE=situs_berita(sesuai nama database yang tadi dibuat). - Biarkan
DB_USERNAME=rootdanDB_PASSWORD=(kosong) karena di Laragon MySQL default tidak pakai password. - Simpan file (Ctrl+S).
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.
- Buka terminal Laragon (klik kanan ikon → Terminal).
- Pindah ke folder proyek:
cd situs-berita. - Jalankan:
php artisan config:clear(agar perubahan .env langsung terbaca). - Jalankan:
php artisan tinker(akan masuk ke mode interaktif). - 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.
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
.envtidak 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_beritadi MySQL. - ✅ Kita mengubah file
.envagar Laravel tahu database mana yang dipakai. - ✅ Kita menguji koneksi dengan
php artisan tinkerataumigrate: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!
📝 Seri Tutorial Laravel 13 Pemula – Proyek Web Berita
✨ Selanjutnya: #5: Membuat Catatan Ajaib (Migration) – Tabel categories