Wednesday, April 17, 2013

Pengertian MVC dan Framework

Definisi MVC
MVC adalah singkatan dari Model, View, dan Controller. Lalu apa Model, View dan Control? MVC merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web aplikasi.
Berikut penjelasan fungsi dari ketiga bagian tersebut:
         Model, kurang lebih adalah sebagai bagian pengolahan database, dimana kita dapat memanipulasi data sesuai kebutuhan user, di bagian ini kita dapat mengedit data, menambah data, menghapus data,  dan lain sebagainya.
         View, adalah bagian interface atau dengan istilah lain berupa halaman web, bagian inilah yang akan di nikmati oleh user nantinya.
         Control, bagian inilah yang dibutuhkan untuk menghubungkan bagian Model dengan View, kurang lebih berisi tentang code-code perintah untuk meminta data dari Model, jadi ketika user meminta data, yang bertugas memanggil bukanlah View melainkan Control.
 
2.      Pengertian FrameWork
Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulanscript (terutama class dan function) yang dapat membantu developer/programmer dalam menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat membangun aplikasi.
Bisa juga dikatakan Framework adalah komponen pemrograman yang siap re-use kapan saja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama. Misalkan saat anda membuat aplikasi web berbasis ajax yang setiap kali harus melakukan XML Http Request, maka Xajax telah mempermudahnya untuk anda dengan menciptakan sebuah objek khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah satu contoh kecil, selebihnya Framework jauh lebih luas dari itu.
Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries), maka seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulan library) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada didalam framerwork, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan oleh framework. Beberapa contoh fungsi-fungsi standar yang telah tersedia dalam suatu framework adalah fungsi paging, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasigambar, grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi terhadap XSS (XSSfiltering), template, kompresi, XML dan lain-lain.
10 Framework PHP Terbaik yang populer saat ini :
 1. yii
2. Codeigniter
3. CakePHP
4. Zend
5. Symfony
6. PHP Dev Shell
7. Prado
8. Akelos
9. QPHP
10. ZooP
 
3.               Manfaat Framework
-  Manfaatnya dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi dapat selesai dalam waktu yang singkat.
-  Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan pemeliharaan sistem.
-  Stability dan Reliability, aplikasi yang kita bangun lebih stabil dan handal karena berbasis pada framework yang sudah teruji stabilitas dan kehandalannya.
-  Coding Style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs.
-  Security Concern, framework mengantisipasi dan memasang perisai terhadap adanya berbagai masalah keamanan yang mungkin timbul.
-  Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apa yang kita tulis
Contoh: Di dalam Framework tersedia library “Pagination“ misalnya, yang mana dalam class tersebut terdapat fungsi yang memberikan nilai balik (return) link ke halaman berikutnya, sebelumnya,awal, akir dll. Nah dalam pengembangan system kita bisa menggunakan class Pagination ini untuk semua proses yang membutuhkan adanya Pagination. ini adalah sebagian kecil dari contoh library yang disediakan oleh framework
Namun framework sendiri kelebihan utamanya bukan dari seberapa banyak library yang disediakan, meski hal itu tentunya akan sangat membantu proses development. Kelebihan yang bisa kita ambil dari framework adalah kerangka kerja dari framework tersebut dalam menyelesaikan modul-modul yang dikembangkan sehinga mengeluarkan sebuah metode pekerjaan yang lebih effisien, lebih rapi, lebih bersifat general, dan lebih homogen.
4.      Kelebihan dari Framework
Pertama kelebihan dengan adanya framework akan lebih mempermudah memahami mekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat membantu proses pengembangan system yang dilakukan secara team. Semua anggota di wajibkan untuk memahami dari pola kerja framework tersebut selebihnya anggota team hanya mempelajari proses bisnis yang di kehendaki oleh system untuk kemudian di tuangkan kedalam framework tersebut. Dalam artian setiap orang harus mempunyai metode yang sama dalam menyelesaikan applikasi tersebut.
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu applikasi, karena setiap anggota sudah memiliki sebuah acuan dalam menyelesaikan modul. Dalam hal inimisalnya semakin banyak library yang ada semakin mempercepat anggota untuk menemukan solusi karena tidak setiap anggota harus membuat Class atau fungsi untuk kasus yang relatif sama.
Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam artian jika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota yang lain bisa meng-cover kekosongan tersebut. Bayangkan jika setiap modul yang dikembangkan mempunyai logika yang berbeda tentunya akan memakan waktu yang banyak untuk proses pemahan akan system tersebut.
Kesekian-kalinya dengan adanya framework akan menjaga integritas dari modul-modul yang dikembangkan. Tentunya hal ini juga tergantung dari metode yang dikembangkan sendiri. framework hanya membantu dan memungkinkan/mempermudah proses integrasi, tidak berarti dengan adanya framework system otomatis akan ter-integrasi. Dan masih ada kelebihan-kelebihan lain yang dimiliki oleh framework.
4. Kekurangan Framework
- Para programmer mungkin akan menemukan batasan-batasan ketika merancang aplikasi menggunakan framework
-Kemungkinan akan menambah biaya development apabila framework yang digunakan kurang terdokumentasi dan kurang di support.
-Performa dan kecepatan eksekusi
Kesimpulan : Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaan didukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada. Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau yang telah terintegrasi ke dalam Windows. Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini.
CodeIgniter
CodeIgniter  adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi terakhir adalah 1.7.2 dapat dilihat di website resminya.
Sebelum membahas lebih jauh tentang salah satu framework PHP ini, mungkin kalian ada yang masih bingung apa itu Framework, apa itu VMC (Model, View, Controller)?
Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus membuat fungsi atau class dari awal.
Ada beberapa alasan mengapa menggunakan Framework:
         Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
         Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
         Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll
         Lebih bebas dalam pengembangan jika dibandingkan CMS
B. Konfigurasi FrameWork
Konfigurasinya, dalam folder /system/application/config/ ada beberapa file yang perlu anda ubah supaya CI bisa berjalan dengan baik.
  1. config.php
Isi alamat pemanggilan di browser. Dalam contoh ini alamatnya adalah
http://localhost/codeigniter
$config[’base_url’] = “http://localhost/codeigniter”;
  1. database.php
Isi hostname, username, password dan nama database yang digunakan.
  1. autoload.php
File ini berfungsi untuk memanggil secara otomatis fungsi-fungsi yang sudah disediakan CI atau yang anda buat tanpa harus memanggillnya dalam aplikasi anda. Dalam kasus ini, kita akan memanggil fungsi database secara otomatis sehingga setiap fungsi lain yang menbutuhkan fungsi database cukup dengan menggunakan perintah $this->db
Kira-kira seperti ini isinya :
$autoload[’libraries’] = array(’database’);
  1. routes.php
Variabel ini digunakan untuk menentukan nama file utama yang digunakan sebagai ekeskutor utama website atau aplikasi. Contoh secara defaultnya adalah file welcome.
$route[’default_controller’] = “welcome”;
Silahkan buka folder /system/application/controllers/, pasti anda menemukan file yang bernama welcome.php. File ini yang disebut sebagai eksekutor utama dari proses secara keseluruhan. Bisa dibilang ‘index’


No comments:

Post a Comment

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.