Hai, Sobat Jagoan! Artikel ini membahas cara menghubungkan database dan mengkonfigurasi model pada CodeIgniter 4. Koneksi database merupakan bagian penting dalam pengembangan aplikasi karena memungkinkan data disimpan dan siakses dengan mudah. Sedangkan, komponen Model bisa kamu manfaatkan untuk merepresentasikan tabel di database dan menjalankan query tanpa harus menulis perintah SQL secara langsung.
Setelah mempelajari artikel ini, kamu akan memiliki database dan model yang siap digunakan untuk artikel selanjutnya yaitu membuat fitur CRUD sederhana sebagai lanjutan dari seri ini.
Apa itu Model?
Model adalah kode yang berfungsi untuk membuat permodelan data, meskipun kadang juga dipakai untuk permodelan logika bisnis. Model bisa mengakses data dari database dan sumber lainnya seperti API. Untuk membuat file Model berada di folder app/Models/.
File model in merupakan empat kamu menulis query untuk mengambil data dari database dan mengembalikan hasil query berupa data. Nilai yang dikermbalikan bisa berupa array maupun objek.
Aturan Membuat Model
- Nama file model harus menggunakan huruf kapital di awal dan bila terdiri dari 2 suku kata dipisahkan menggunakan _ (underscore).
- Penulisan nama class model harus melakukan extends ke class CI_Model. Di mana nama class harus sesuai dengan nama file.
Contoh:
- Method pada model diawali dengan huruf kecil dan jika terdiri dari 2 suku kata, boleh dipisah dengan _ (underscore).
Contoh:
Query Builder pada Model CodeIgniter 4
Query Builder adalah class yang berisi method untuk memuat query databasae. Contohnya:
- $this->db->insert() untuk menambahkan data ke tabel;
- $this->db->get() untuk mengambil data dari tabel, sama seperti query SELECT.
- $this->db->update() untuk update data di tabel;
- $this->db->delete() untuk menghapus data di tabel;
- $this->db->get_where() untuk mengambil data dengan WHERE;
Selengkapnya kamu bisa mengakses dokumentasi resminy di https://codeigniter.com/userguide3/database/query_builder.html
Catatan: Karena demo kali ini akan melibatkan database, disarankan kamu meletakkan file proyek CodeIgniter 4 di dalam folder server kamu. Misalnya kalau pakai XAMPP maka C:\xampp\htdocs\
Cara Melakukan Konfigurasi Model dan Koneksi Database
Berikut cara membuat koneksi database dan mengkonfigurasi dengan model. Sebagai informasi, tools database yang digunakan yaitu phpMyAdmin.
STEP 1: Membuat database baru dengan nama db_toko_barang.

STEP 2: Setelah database dibuat, buat tabel barang dengan struktur tabel:
USE db_toko_barang;
CREATE TABLE barang (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_barang VARCHAR(100) NOT NULL,
harga INT NOT NULL,
stok INT NOT NULL
);
INSERT INTO barang (nama_barang, harga, stok) VALUES
('Oli Mesin', 75000, 10),
('Aki Mobil', 550000, 5),
('Busi Motor', 30000, 20),
('Kampas Rem', 45000, 15),
('Ban Tubeless', 250000, 8);

STEP 3: Selanjutnya buka app/Config/Database.php untuk mengatur konfigurasi database. Edit bagian berikut:
'DSN' => '',
'hostname' => 'localhost',
'username' => 'db_user',
'password' => 'db_password',
‘database’ => ‘db_toko_barang’,
‘DBDriver’ => ‘MySQLi’,
‘DBPrefix’ => ‘’,
…
];
- Pastikan hostname diisi dengan localhost karena akan menggunakan server database dari XAMPP atau localhost
- Untuk username dan password sesuaikan dengan database pada database di server kamu. Jika kamu belum pernah mengatur password, kosongkan saja dengan ”
- Bagian database isi dengan nama database yang sudah dibuat sebelumnya, misalnya db_toko_barang
- DBDriver adalah jenis database driver yang digunakan oleh CodeIgniter 4. Karena kali ini menggunakan MySQL, maka nilainya adalah ‘MySQLi’.
STEP 4: Setelah menghubungkan database dengan sistem, selanjutnya uji koneksi database dengan membuat controller sederhana dan menggunakan query builder sederhana untuk mengambil (fetch) data dari tabel barang. Buat file controller baru bernama TesKoneksi.php di folder app/Controllers/ lalu isi file tersebut dengan kode berikut:
query("SELECT * FROM barang");
$result = $query->getResult();
// Tampilkan hasil
dd($result);
}
}
STEP 5: Lalu, di dalam app/Routes.php tambahkan routing dengan kode berikut:
$routes->get('/teskoneksi', 'TesKoneksi::index');
STEP 6: Akses controller tersebtu melalui browser http://localhost:8080/teskoneksi , apabila menampilkan daftar barang seperti di bawah, maka kamu berhasil menghubungkan dengan database. Pastikan kamu sudah menjalankan CodeIgniter di server ya, Sob.

Catatan: Pastikan juga di dalam flie .env sudah mengubah mode CI_ENVIRONMENT menjadi development buka production.
Berikutnya, yaitu akan membuat model dari database yang merepresentasikan tabel dalam database. Model ini akan digunakan sebagai penghubung antara controller dan database untuk menjalankan operasi seperti CRUD secara efisien.
STEP 1: Buat file BarangModel.php di dalam app/Models lalu isi filenya dengan baris kode berikut.
- $table berfungsi untuk mendefinisikan tabel secara eksplisit
- $primaryKey berfungsi untuk mengidentifikasi kolom yang berperan sebagai kunci atau key
- $allowedFields adalah kolom-kolom dalam tabel
STEP 2: Setelah membuat model tabel barang, kemudian memanggil model tersebut di dalam controller Barang.php di dalam app/Controllers/.
findAll();
// Kirim data ke view barang/index
return view('barang/index', $data);
}
}
Sampai di sini, kamu sudah berhasil menghubungkan database dan membuat model yang mewakili tabel barang sebagai persiapan artikel selanjutnya yaitu membuat fitur CRUD (Create, Read, Update, Delete) sederhana bagian pertama yaitu Tutorial CRUD Menampilkan Data dengan CodeIgniter 4
Tambahan
Selain melalui app/Config/Database.php untuk membuat koneksi dengan database, kamu bisa memanfaatkan file env untuk setting database supaya lebih fleksibel.
Kalau ingin menggunakan cara ini, rename dulu file env menjadi .env (menambahkan titik di depan) lalu ubah baigan di bawah ini sesuai dengan informasi database yang kamu gunakan.
#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------
# database.default.hostname = localhost
# database.default.database = ci4
# database.default.username = root
# database.default.password = root
# database.default.DBDriver = MySQLi
# database.default.DBPrefix =
# database.default.port = 3306
Kalau ada yang masih bikin bingung, jangan ragu hubungi Tim Support Jagoan Hosting ya, Sob!
Hai, Sobat Jagoan! Softaculous adalah fitur auto-installer yang biasanya tersedia di cPanel dan digunakan untuk memasang berbagai aplikasi web secara Read more
Hai, Sobat Jagoan! Saat kamu mengembangkan proyek CodeIgniter, menggunakan Composer adalah langkah terbaik. Selain mendapatkan versi resmi terbaru, kamu juga Read more
Halo, Sobat! Remote repository adalah tempat penyimpanan proyek kamu di server Git yang bisa diakses dari mana saja melalui internet. Read more
Hai, Sobat Jagoan! Sebelum nyemplung lebih jauh dengan CodeIgniter versi 4, kamu perlu mengenal dan memahami konsep dasar CodeIgniter 4 Read more