Tuesday 30 October 2018

Belajar Membuat Controller Model View pada Codeigniter

Dalam artikel sebelumnya kita sudah Belajar dasar codeigniter, dan artikel kali ini kita akan coding mulai dengan hal yang paling dasar dalam codeigniter yaitu controller, model, dan view. Seperti memperlajari hal lain terutama untuk pemrograman, dalam coding ci ini kita juga harus melakukan tahap mempelajari dan mencobanya. Disini saya asumsikan kita sudah selesai dengan instalasi server locahost baik menggunakan xampp yang populer untuk pengguna windows maupun lainnya.

Baiklah kita langsung saja mulai dengan Controller, ketika kita sudah selesai download file ci dan kita tempatkan pada folder htdocs atau www/html dan lainnya sesuai server dan os yang kita gunakan, jika kita membuka folder application/controllers maka terdapat controller yang sudah ada yaitu Welcome.php. Isi dari Welcome.php seperti gambar dibawah.


Penjelasan dari isi code controller Welcome.php seperti gambar diatas dapat kita katakan controller adalah sebuah class php yang extends dari CI_Controller, oke jangan terburu-buru pusing ya untuk belajar sebagai pemula di sini kita akan membahas yang perlu saja dan yang terpenting adalah harus mengetahui konsep dasar OOP atau pemrograman berbasis objek. Semoga idncoding dapat mengulas pembelajaran tentang dasar-dasar pemrograman berbasis objek.

Selanjutnya kita akan berfokus pengenalan fungsi pada ci, jika dalam controller welcome terdapat satu fungsi public yaitu index() yang merupakan fungsi pertama yang akan dijalankan ketika sebuah controller dipanggil. Dalam fungsi index terdapat baris kode fungsinya untuk menampilkan sebuah view yang didefinisikan dalam pemanggilan fungsi load view. Jadi intinya ketika website diakses menuju controller welcome maka hal pertama yang dilakukan adalah menampilkan view welcome_message. Coba kita buka dalam folder view maka akan terdapat file welcome_message.php seperti gambar dibawah.


Sekarang kita sudah paham bagaimana alurnya sehingga tampilan project ci kita seperti yang sudah dibahas diartikel sebelumnya. Kemudian supaya lebih paham kita akan mencoba membuat Controller dan View baru sampai dapat diakses melalui browser. Pertama buat file baru didalam folder controllers misalnya Home.php dan ketikkan kode mengacu controller welcome seperti gambar dibawah.


Fungsi yang saya gunakan masih sama hanya saja vew yang di-load berbeda, sekarang kita harus membuat sebuah file baru dalam folder views dengan nama sesuai yang didefinisikan dalam load view di controllers. Sekarang buka file view_home.php dalam folder views, dan coba ketikkan sebuah kode html didalamnya sebagai tampilan tanda kita berhasil jika dipanggil dari browser. Sebagai contoh saya buat view_home.php seperti gambar dibawah.


Coba panggil dengan mengetikkan url di browser localhost/folder_project/home dan tampilan hasilnya seperti gambar dibawah.


Setelah selesai dengan controller dan view sekarang kita akan mulai berhubungan dengan database karena kita akan mencoba mempelajari menggunakan model seperti yang sudah disampaikan pada artikel sebelumnya model merupakan file dimana kita mengatur data-data yang berhubungan dengan database. Disini kita akan lebih fokus mengenal ci jadi saya asumsikan kita sudah memiliki database dan tabel, untuk yang saya gunakan disini database mysql. Jika belum punya database dan tabel, bisa langsung saja membuat database dan tabel baru dengan phpmyadmin silahkan mengisikan data dengan phpmyadmin seperti gambar dibawah.


Pertama silahkan menyesuaikan autoload di file config/autoload.php, fungsinya disini untuk load library database yang sudah disediakan ci jadi kita tinggal load saja seperti gambar dibawah.


Kemudian yang perlu disesuaikan untuk koneksi ke database di file config/database.php, silahkan sesuaikan sesuai settingan database local masing-masing, disini saya berikan contoh seperti gambar dibawah yang biasa digunakan jika menggunakan xampp.


Setelah selesai dengan konfigurasi kita mulai membuat file model baru untuk mengambil data dari database atau select data kemudian menampilkannya dalam view. Disini saya membuat file model dengan nama Mymodel.php atau bisa memberi nama sesuai kebutuhan, dan isikan kode seperti gambar dibawah.


Kode dalam model tersebut seperti class php biasa dengan nama class dan function, kemudian didalam function kita memberikan nilai return dari fungsi ambil jika dipanggil adalah hasil query select ke tabel user dari database yang sudah kita setting di config, bentuk pemanggilan query didalam model menggunakan fungsi db->get(nama_tabel), disini kita menggunakan active record yang bisa dikatakan fungsi-fungsi yang sudah disediakan ci untuk memudahkan query, untuk lebih detail bisa membuka user guide ci bagian tutorial query. Kemudian kita harus menyesuaikan controller dan view yang sudah kita buat sebelumnya, dengan alur controller yang diankses memanggil fungsi didalam model yang di-load kemudian menampilkan view dengan membawa data hasil dari model. Controller Home.php menjadi seperti gambar dibawah.


Penjelasan perubahan yang kita buat, untuk line 8 kita melakukan load model yang sudah kita buat ke dalam function index milik controller home. Line 9 kita memanggil fungsi ambil() yang ada didalam model mymodel dan menampungnya dalam variabel $users dan perubahan terakhir line 12 ketika load view kita menambahkan array dengan key data value-nya adalah data users, array disini adalah bentuk pengiriman data dari controller ke view yang akan kita panggil sesuai key yang dibuat. 

Untuk view kita lakukan perubahan dengan menampilkan data hasil query menggunakan perulangan foreach, sebelum saya tambahkan pengecekan data kosong atau tidak dengan if mengantisipasi data yang dikirim kosong. File view_home.php silahkan coba ketikkan kode seperti gambar dibawah.


Terakhir kita coba panggil dengan url di browser dan tampilan hasilnya akan menjadi seperti berikut.


Akhirnya kita sudah berhasil mempelajari dan mencoba controller model view yang merupakan bagian utama dari pengembangan website dengan codeigniter, jangan lupa untuk tetap belajar dan mencoba mengembangkan dari contoh yang sudah ada. Dalam artikel selanjutnya kita akan mulai lebih sulit lagi, kita akan mulai membuat sebuat project sederhana dengan fungsi dapat melakukan CRUD menggunakan codeigniter. Semoga artikel di idncoding bermanfaat dan nantikan artikel selanjutnya.


EmoticonEmoticon