Saturday, 5 October 2013

Memahami MVC dengan Codeigniter bag.1

Setelah beberapa tulisan saya yang banyak membahas konsep dalam pemrograman, saat ini saya akan coba membahas sebuah framework yang sangat popular dikalangan programmer php, yaitu codeigniter, ada beberapa kelebihan framework codeigniter ini yang membuat banyak programmer php menyukainya termasuk saya. diantara beberapa kelebihan itu adalah;

  • Mudah dalam penggunaannya
  • Memiliki paket file yang kecil
  • Dokumentasi yang baik, dan
  • komunitas yang besar

Dua hal terakhir yang saya sebutkan sangat penting ketika kita memutuskan menggunakan sebuah tekhnologi dalam membuat aplikasi, karena dokumentasi yang baik dan komunitas yang besar akan sangat membatu kita ketika mengalami masalah saat masa development.

Untuk menggunakan codeigniter sangat disarankan agar programmer pernah membaca konsep OOP dan MVC. Untuk MVC mungkin akan asing untuk para programmer pemula. Tapi memahami alur data pada konsep MVC adalah mutlak, karena konsep ini tidak hanyak dipakai di pemrogramman PHP atau codeigniter saja, hampir semua framework di bahasa pemrograman lain menggunakan arsitektur ini.

MVC sendiri adalah akronim dari (Model View Controller), dan dari arti kata ini saja sebenarnya kita sudah mendapat sedikit bayangan apa itu MVC, MVC adalah sebuah arsitektur pemrogramman yang memisahkan kegiatan-kegiatan besar dalam melakukan development aplikasi menjadi tiga bagian, yaitu;

  1. Model, adalah kegiatan development yang berhubungan dengan pengolahan data (database).
  2. View, adalah kegiatan development yang berhubungan dengan masalah interface, baik dalam mempresentasikan data, design pattern dan estetika sebuah aplikasi.
  3. Controller, adalah kegiatan development yang berhubungan dengan event, get data, post data dan logic data yang menghubungkan antara model dan view. sehingga setiap aksi dalam view akan ditangkap oleh controller dan jika membutuhkan komunikasi dengan model controller akan menghandlenya.

Dalam MVC ada kegiatan tabu yang dilarang untuk dilakukan, yaitu menghubungkan View langsung ke pada Model tanpa perantara controller, walaupun hal ini bisa dilakukan. Karena ini akan merusak arsitektur aplikasi MVC dan alur data aplikasi yang kita buat dan jika anda melakukan ini berarti anda tidak bekerja dengan MVC.

Sekarang mari kita buat sebuah page dengan framework codeigniter, jika anda belum memiliki paket file codeigniter silakan download pada link ini. Jika sudah, simpan paket file pada document root local server anda, lalu rename directory anda dengan nama yang dikehendaki.

Sebelum kita menjalankan paket file codeigniter pada browser ada baiknya kita bahas struktur file yang ada pada framework ini, silakan buka directory codeigniter yang sudah dicopy dan rename.

Lihat struktur directory pada gambar:

Perhatikan tanda panah hijau digambar, kedua directory yang ditunjuk oleh panah hijau adalah dua directory yang harus ada, sementara yang tidak ditunjuk yaitu directory user_guide hanyalah dokumentasi dari codeigniter (hanya diperlukan saat development).

Directory system, ini adalah directory utama dari codeigniter, berisi kumpulan class utama dari framework codeigniter (core class), libraries dan class-class helper yang akan sering kita gunakan. Kita tidak perlu melakukan perubahan apapun pada file yang ada di dalam directory ini.

Directory application, pada directory ini ada 13 directory lagi, tapi untuk sementara kita akan memfokuskan diri pada 3 directory, yaitu; controllers, models dan views. Dan dari 3 directory ini MVC terdeskripsikan dalam framework codeigniter. Setiap directory mewakili satu huruf dari MVC sesuai dengan hurus depannya. Directory Models tempat menyimpan class-class yang berhubungan dengan model atau pengolahan data. Directory View tempat menyimpan kode yang berhubungan dengan interface dan directory Controllers tempat menyimpan class-class pengatur aliran data dari model ke view dan menangkap event dari view.

Sekarang jalankan codeigniter pada browser dengan memanggilnya, jika berhasil layar browser akan menampilkan gambar seperti dibawah:

Baca informasi yang disampaikan page tersebut, bahwa jika kita ingin mengubah tampilan dapat dilakukan dengan mengubah file yang ada pada alamat "application/views/welcome_message.php", dan controller yang mengatur view ini adalah "application/controllers/welcome.php".

Sekarang kita coba ubah tampilan default ini dengan view yang kita buat sendiri. Buat file view seperti kode dibawah;

Simpan dengan nama view_saya.php.

Lalu buka file welcome.php di directory "application/controllers/welcome.php", ubah seperti code di bawah:

Refresh browser, dan tampilan pada browser akan berganti dengan tulisan "Latihan MVC pertama saya.".

Ketika kita menjalankan alamat aplikasi kita pada browser, codeigniter akan otomatis mengeksekusi class yang terdaftar pada default controller, yang defaultnya adalah class welcome. Dan method yang dibaca adalah "public function index()" jika kita tidak menunjuk suatu method lain. Dalam method ini codeigniter melakukan render page view welcome_message dengan code $this->load->view('welcome_message'), dan untuk menampilkan view lain kita tinggal mengubah view yang diload menjadi view yang diinginkan.

Lalu pertanyaan selanjutnya adalah, mengapa codeigniter mengenali class welcome pada directory controllers ?

Karena codeigniter memang akan selalu membaca directory controller sebagai pintu mengakses aplikasi, dan inilah MVC seperti yang dijelaskan di atas, controller sebagai tempat menghubungkan view dengan model. Untuk mendaftarkan class default controller, ada pada "application/config/routes.php baris ke-41".

Sampai disini bagian awal seri memahami MVC dengan Codeigniter. Pada tulisan selanjutnya saya akan memberi contoh bagaimana menampilkan data dari table dan membuat class Model.

2 comments:

  1. Thanks sob artikelnya bermanfaat, silahkan di cek sob aplikasi akunting buatan anak Indonesia yang gak kalah keren ama buatan luar di kiper.co.id

    ReplyDelete
    Replies
    1. thank's bro udah berkunjung, udah ane lihat link-nya keren banget.

      Delete