CodeIgniter (CI) adalah salah satu framework PHP yang populer digunakan untuk membangun aplikasi web. Framework ini dikenal dengan kemudahan penggunaan, dokumentasi yang lengkap, dan performa yang tinggi. Salah satu fitur yang sangat berguna dalam pengembangan aplikasi yang kompleks adalah konsep Modularized MVC atau yang sering disebut dengan HMVC (Hierarchical Model-View-Controller). Pada artikel ini, kita akan membahas bagaimana cara membuat dan mengimplementasikan HMVC di dalam proyek CodeIgniter 3.
1. Apa Itu HMVC?
HMVC adalah pengembangan dari konsep MVC (Model-View-Controller), yang bertujuan untuk membuat struktur aplikasi yang lebih modular dan terorganisir. Pada HMVC, aplikasi dibagi menjadi modul-modul yang lebih kecil, di mana masing-masing modul ini memiliki model, view, dan controller-nya sendiri. Dengan cara ini, pengembangan dan pemeliharaan aplikasi menjadi lebih mudah, karena kode lebih terstruktur dan dapat digunakan kembali.
Pada CodeIgniter, secara default, semua controller berada di dalam folder controllers, model di models, dan view di views. Namun, dengan menggunakan HMVC, kita bisa membuat folder terpisah untuk setiap modul, sehingga struktur aplikasi menjadi lebih terorganisir.
2. Keuntungan Menggunakan HMVC
Berikut adalah beberapa keuntungan yang bisa didapatkan dengan menggunakan HMVC pada proyek CodeIgniter:
- Modularitas: Membagi aplikasi ke dalam modul-modul terpisah memudahkan pengelolaan, pengembangan, dan pengujian.
- Penggunaan Ulang Kode: Dengan pemisahan ke dalam modul, kita dapat dengan mudah menggunakan kembali modul-modul yang sudah ada untuk aplikasi lainnya.
- Peningkatan Performa: Dengan struktur yang lebih modular, proses caching dan pengelolaan data lebih efisien.
- Pemeliharaan yang Lebih Mudah: Ketika aplikasi berkembang, pemeliharaan menjadi lebih mudah karena kode terpisah ke dalam modul-modul kecil.
3. Persiapan Awal
Sebelum memulai implementasi HMVC pada CodeIgniter 3, pastikan Anda sudah menginstal dan mengkonfigurasi CodeIgniter 3 di server Anda. Selain itu, Anda juga perlu mengunduh library HMVC untuk CodeIgniter 3 agar struktur modul dapat dibuat.
3.1. Mengunduh dan Menginstall Library HMVC
-
Unduh Library HMVC: Untuk mengimplementasikan HMVC pada CodeIgniter 3, Anda dapat mengunduh paket HMVC dari repository GitHub yang disediakan oleh komunitas. Cukup buka https://github.com/kenjis/ci-hmvc dan unduh repository tersebut.
-
Salin Folder ke Project CodeIgniter: Setelah mengunduh, ekstrak folder
application/dari repositori dan salin ke dalam folder aplikasi proyek CodeIgniter Anda. Pastikan untuk mengganti folderapplication/yang ada dengan folder dari hasil ekstraksi tadi. -
Pengaturan Autoload: Pastikan untuk memuat autoload library HMVC dengan menambahkan kode berikut di file
application/config/autoload.php:$autoload['libraries'] = array('database', 'session', 'HMVC');
3.2. Menyiapkan Database dan Konfigurasi Umum
Pastikan konfigurasi database sudah benar di file application/config/database.php. Anda juga perlu mengatur file application/config/config.php dengan konfigurasi dasar seperti base URL dan session.
4. Struktur Folder dengan HMVC
Setelah instalasi dan konfigurasi awal selesai, Anda akan melihat perubahan pada struktur folder aplikasi Anda. Dengan menggunakan HMVC, struktur folder akan terlihat seperti ini:
application/
controllers/
welcome.php
modules/
modul1/
controllers/
Modul1.php
models/
Modul1_model.php
views/
view1.php
modul2/
controllers/
Modul2.php
models/
Modul2_model.php
views/
view2.php
Di atas adalah struktur dasar dengan dua modul: modul1 dan modul2. Masing-masing modul memiliki folder controllers, models, dan views sendiri-sendiri, yang merupakan ciri khas dari HMVC.
5. Membuat Modul dengan HMVC
Untuk membuat modul di CodeIgniter menggunakan HMVC, kita akan melakukan beberapa langkah.
5.1. Membuat Controller pada Modul
Misalkan kita ingin membuat modul dengan nama User. Di dalam folder application/modules/user/controllers/, buat file controller dengan nama User.php:
load->model('User_model');
}
public function index() {
$data['users'] = $this->User_model->get_all_users();
$this->load->view('user_view', $data);
}
public function add_user() {
$this->load->view('add_user_view');
}
}
Penjelasan:
MX_Controlleradalah controller base yang digunakan di HMVC. Ini memungkinkan controller di dalam modul untuk menggunakan fungsi-fungsi dasar CodeIgniter, seperti pemanggilan model dan view.- Kita memuat model
User_modeluntuk mengakses data pengguna, dan kemudian memuat viewuser_viewuntuk menampilkan data pengguna.
5.2. Membuat Model untuk Modul
Selanjutnya, kita perlu membuat model untuk modul User. Di dalam folder application/modules/user/models/, buat file model dengan nama User_model.php:
db->get('users');
return $query->result();
}
public function add_user($data) {
$this->db->insert('users', $data);
}
}
Penjelasan:
- Model ini bertugas untuk berinteraksi dengan database. Fungsi
get_all_users()mengambil data dari tabelusers, sementaraadd_user()untuk menambah data pengguna baru ke dalam tabel tersebut.
5.3. Membuat View untuk Modul
Terakhir, buat view untuk menampilkan data pengguna dan form untuk menambah pengguna baru. Di dalam folder application/modules/user/views/, buat file user_view.php dan add_user_view.php.
Contoh user_view.php:
List of Users
- name; ?>
Contoh add_user_view.php:
Add New User
6. Menambahkan Routing untuk Modul
Di CodeIgniter, Anda juga dapat menambahkan routing khusus untuk setiap modul. Untuk melakukannya, buka file application/config/routes.php dan tambahkan routing khusus untuk modul User:
$route['user'] = 'user/index';
$route['user/add_user'] = 'user/add_user';
7. Mengakses Modul dari URL
Setelah semua konfigurasi selesai, Anda dapat mengakses modul User melalui URL seperti berikut:
- Untuk melihat daftar pengguna:
http://localhost/your_project/index.php/user - Untuk menambah pengguna baru:
http://localhost/your_project/index.php/user/add_user
8. Kesimpulan
Menggunakan HMVC di CodeIgniter 3 dapat membantu Anda untuk mengorganisir aplikasi dengan lebih modular dan terstruktur. Dengan memecah aplikasi menjadi modul-modul kecil, Anda akan lebih mudah dalam pengembangan dan pemeliharaan aplikasi, serta memungkinkan penggunaan kembali kode yang lebih efisien.
Dengan mengikuti langkah-langkah yang telah dijelaskan di atas, Anda dapat dengan mudah membuat dan mengimplementasikan HMVC dalam aplikasi CodeIgniter 3. Struktur aplikasi yang modular akan sangat berguna, terutama untuk aplikasi yang berkembang seiring waktu.





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.