CodeIgniter 3 adalah framework PHP yang sangat populer berkat kesederhanaannya, performa yang cepat, dan kemudahan penggunaannya. Salah satu tugas utama dalam pengembangan aplikasi berbasis web adalah melakukan operasi CRUD (Create, Read, Update, Delete) pada database. Dalam tutorial ini, kita akan membahas cara membuat operasi CRUD menggunakan CodeIgniter 3 dengan menggunakan PostgreSQL sebagai database.
PostgreSQL adalah sistem manajemen basis data objek-relasional (ORDBMS) yang sangat kuat dan banyak digunakan oleh perusahaan-perusahaan besar dan aplikasi-aplikasi berskala besar. Menggunakan PostgreSQL dengan CodeIgniter 3 memberikan Anda fleksibilitas dalam pengelolaan data dan mendukung berbagai fitur canggih yang tidak tersedia di database lain.
1. Persiapan Lingkungan Pengembangan
Sebelum memulai, pastikan Anda telah menyiapkan lingkungan pengembangan dengan beberapa alat berikut:
- PHP (versi 5.6 atau lebih baru)
- PostgreSQL sebagai sistem manajemen basis data
- CodeIgniter 3: Unduh dan ekstrak CodeIgniter 3 dari situs resmi CodeIgniter.
- phpPgAdmin atau alat manajemen PostgreSQL lainnya (opsional) untuk memudahkan pengelolaan database.
Setelah Anda menyiapkan semua alat tersebut, pastikan server Anda dapat menjalankan PostgreSQL dan dapat menghubungkannya dengan PHP.
2. Mengonfigurasi Database PostgreSQL
Langkah pertama adalah menyiapkan database PostgreSQL yang akan digunakan untuk operasi CRUD.
2.1. Membuat Database PostgreSQL
Untuk memulai, Anda perlu membuat database baru di PostgreSQL. Anda dapat melakukan ini menggunakan terminal atau dengan menggunakan antarmuka seperti phpPgAdmin.
Langkah-langkah menggunakan terminal:
- Masuk ke PostgreSQL shell:
sudo -u postgres psql - Buat database baru:
CREATE DATABASE crud_db; - Buat tabel untuk menyimpan data pengguna. Berikut adalah contoh struktur tabel
users:CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, phone VARCHAR(15) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
2.2. Membuat Pengguna dan Memberikan Akses
Untuk dapat mengakses database dengan CodeIgniter, Anda perlu membuat pengguna PostgreSQL yang akan digunakan oleh aplikasi:
- Buat pengguna baru:
CREATE USER crud_user WITH PASSWORD 'password123'; - Berikan akses ke database:
GRANT ALL PRIVILEGES ON DATABASE crud_db TO crud_user;
3. Mengonfigurasi CodeIgniter untuk Menghubungkan ke PostgreSQL
Setelah database dan tabel berhasil dibuat, sekarang kita akan mengonfigurasi CodeIgniter 3 agar dapat terhubung dengan PostgreSQL.
3.1. Mengonfigurasi File database.php
Di dalam CodeIgniter, koneksi database dikonfigurasi di file application/config/database.php. Buka file ini dan ubah pengaturannya untuk menggunakan PostgreSQL.
Ubah bagian berikut di dalam file database.php:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'crud_user', // Ganti dengan username PostgreSQL Anda
'password' => 'password123', // Ganti dengan password pengguna PostgreSQL Anda
'database' => 'crud_db', // Nama database yang Anda buat
'dbdriver' => 'postgre', // Ganti dbdriver menjadi 'postgre'
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
4. Membuat Model untuk Operasi Database
Setelah database terkoneksi, langkah selanjutnya adalah membuat model untuk operasi CRUD. Di CodeIgniter, model berfungsi untuk berinteraksi dengan database, menjalankan query, dan mengambil data.
4.1. Membuat Model User_model
Buat file model User_model.php di dalam folder application/models/. Berikut adalah contoh model untuk operasi CRUD:
db->insert('users', $data);
}
// Read: Mengambil semua data pengguna
public function get_all_users() {
$query = $this->db->get('users');
return $query->result();
}
// Update: Mengubah data pengguna berdasarkan ID
public function update_user($id, $data) {
$this->db->where('id', $id);
return $this->db->update('users', $data);
}
// Delete: Menghapus pengguna berdasarkan ID
public function delete_user($id) {
$this->db->where('id', $id);
return $this->db->delete('users');
}
// Read: Mengambil data pengguna berdasarkan ID
public function get_user_by_id($id) {
$this->db->where('id', $id);
$query = $this->db->get('users');
return $query->row();
}
}
Model ini menyediakan lima fungsi utama:
insert_user: Menambah data pengguna baru.get_all_users: Mengambil semua data pengguna dari database.update_user: Memperbarui data pengguna berdasarkan ID.delete_user: Menghapus pengguna berdasarkan ID.get_user_by_id: Mengambil data pengguna berdasarkan ID.
5. Membuat Controller untuk Mengelola Request CRUD
Controller bertanggung jawab untuk menangani request dari pengguna, memanggil model, dan menampilkan hasil ke pengguna. Pada langkah ini, kita akan membuat controller User.php untuk menangani operasi CRUD.
5.1. Membuat Controller User.php
Buat file controller User.php di dalam folder application/controllers/:
load->model('User_model');
}
// Menampilkan semua pengguna
public function index() {
$data['users'] = $this->User_model->get_all_users();
$this->load->view('user/index', $data);
}
// Menambahkan pengguna baru
public function create() {
if ($this->input->post()) {
$data = array(
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone')
);
$this->User_model->insert_user($data);
redirect('user');
}
$this->load->view('user/create');
}
// Mengedit pengguna berdasarkan ID
public function edit($id) {
$data['user'] = $this->User_model->get_user_by_id($id);
if ($this->input->post()) {
$data = array(
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone')
);
$this->User_model->update_user($id, $data);
redirect('user');
}
$this->load->view('user/edit', $data);
}
// Menghapus pengguna berdasarkan ID
public function delete($id) {
$this->User_model->delete_user($id);
redirect('user');
}
}
Controller ini memiliki empat fungsi utama:
index(): Menampilkan semua pengguna.create(): Menambah pengguna baru.edit($id): Mengedit data pengguna berdasarkan ID.delete($id): Menghapus data pengguna berdasarkan ID.
6. Membuat View untuk Menampilkan Data Pengguna
Di CodeIgniter, tampilan (view) bertanggung jawab untuk menampilkan data kepada pengguna. Untuk aplikasi CRUD ini, kita akan membuat beberapa tampilan untuk menampilkan data pengguna, serta form untuk menambah dan mengedit data pengguna.
6.1. View index.php (Menampilkan Semua Pengguna)
Buat file index.php di dalam folder application/views/user/ untuk menampilkan daftar pengguna.
Daftar Pengguna
Daftar Pengguna
| ID | Nama | Telepon | Aksi | |
|---|---|---|---|---|
| id) ?>">Edit id) ?>">Hapus |
6.2. View create.php (Form Tambah Pengguna)
create.php (Form Tambah Pengguna)Buat file create.php di dalam folder application/views/user/ untuk menampilkan form tambah pengguna.
Tambah Pengguna
Tambah Pengguna Baru
6.3. View edit.php (Form Edit Pengguna)
edit.php (Form Edit Pengguna)Buat file edit.php di dalam folder application/views/user/ untuk menampilkan form edit pengguna.
Edit Pengguna





Georgia Reader Reply
Et rerum totam nisi. Molestiae vel quam dolorum vel voluptatem et et. Est ad aut sapiente quis molestiae est qui cum soluta. Vero aut rerum vel. Rerum quos laboriosam placeat ex qui. Sint qui facilis et.