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.

Wednesday, 24 October 2018

Belajar Dasar Codeigniter untuk Pemula

Setelah sebelumnya kita sudah kenalan dengan salah satu framework php Codeigniter, Belajar mengenal Codeigniter framework PHP. Pada artikel tutorial kali ini kita akan lebih lanjut mempelajari codeiginter dengan mencoba coding khususnya untuk pemula yang baru mencoba ci (codeigniter). Untuk proses awal kita akan fokus pada folder application jadi folder lain hasil download ci kita abaikan dahulu.

Sebelum mulai coding seperti artikel sebelumnya sudah disebutkan konsep dasar yang digunakan pada ci adalah MVC, yaitu Models Views Controllers. Penjelasan singkatnya adalah inti dari ci adalah 3 folder tersebut, jika dilihat dalam folder application terdapat beberapa folder penting misal config, controllers, core, models, helpers, libraries, views dan folder lain seperti gambar dibawah ini.


Dari gambar diatas bisa dilihat 3 folder utama yang sudah disebutkan diawal sesuai konsep mvc, dengan fungsi masing-masing file dalam folder tersebut sesuai dengan tugas masing-masing dan hal tersebut maksudnya agar lebih efisien dengan memisahkan anatara logic dan persentasi pada sistem. Sederhananya untuk file controller digunakan sebagai pengontrol dalam sistem yang dibuat disini proses biasa dilakukan, untuk view digunakan sebagai penampilan sistem yang dibuat dan model digunakan hubungan dengan database. Alurnya sesuai dari user guide ci seperti gambar berikut.



Langsung saja kita akan mengenal lebih jauh ci, setelah download file ci lalu extract dan tempatkan di directory localhost agar lebih mudah disarankan rename nama folder misal dari nama folder CodeIgniter-3.1.9 menjadi ci, kemudian coba akses melalui browser dengan localhost/ci. Hasilnya akan tampil halaman welcome message dari ci seperti gambar berikut.

Sekarang kita akan lebih memahami maksud folder-folder yang ada dalam folder application yang nantinya tempat utama kita membangun sistem, berikut penjelasannya.

· Cache
Folder cache akan berisi file halaman-halaman ketika anda menggunakan web cache hal itu berhubungan dengan menambah kecepatan akses halaman website karena sudah dilakukan cache, kita akan lebih mengenal cache dengan ci dalam artikel selanjutnya.

· Config
Didalam folder config menyimpan file-file konfigurasi web yang dibuat, beberapa file config yang penting diperhatikan untuk pemula config.php, database.php, router.php dan autoload.php.

· Controllers
Folder tempat file-file controller yang akan menjadi inti dari web yang dibuat. Untuk default file setelah download sudan ada controller Welcome.php bisa kita gunakan sebagai contoh untuk mempelajari dan lebih lengkapnya akan kita bahas diartikel selanjutnya.

· Core
Core dalam folder application digunakan jika kita membutuhkan sebuah base class atau class utama dari sistem website yang dibuat.

· Helpers
Helper tambahan selain yang sudah disediakan ci jika kita butuhkan untuk lebih memudahkan pengembangan website dengan langung memanggil function-function sesuai kebutuhan, lebih lanjut kita akan coba di artikel selanjutnya.

· Hooks
Dalam hooks kita dapat memodifikasi atau menyesuaikan kerangka kerja untuk kebutuhan sistem yang dibuat tanpa harus masuk dalam core system ci.

· Language
File dalam folder language untuk fungsi-fungsi yang berhubungan dengan bahasa yang ditampilkan pada sistem.

· Libraries
Library tambahan yang diperlukan selain yang sudah disediakan ci, library tentu akan mulai sering kita gunakan jika mengembangkan sistem besar dan kompleks.

· Logs
Folder logs berisi file-file log system jika kita membutuhkan dapat mengaktifkan fungsi logs tersebut.

· Models
Dalam folder models ditempatkan file-file model, file model tersebut dimana kita akan menempatkan fungsi-fungsi manajemen data di database seperti CRUD.

· Third_party
Folder ini ditempatkan plugins-plugins yang mungkin saja kita butuhkan jika sistem yang dibuat sudah sangat besar dan membutuhkan pihak ketiga misalnya seperti berhubungan dengan payment gateway atau yang lainnya.

· Views
Seperti yang sudah disampaikan diatas, folder views ini berisi semua file-file yang berhubungan dengan tampilan web yang dibuat. Default file hasil dari download ci maka ada welcome_message.php, dari situ dapat kita coba mempelajari.


Artikel selanjutnya tentang codeigniter kita akan langsung mencoba coding dengan mencoba membuat controller, model, dan view yang merupakan dasar menggunakan framework ini, jadi nantikan artikel selanjutnya idncoding.