21 Feb 2013

TUGAS P H P F R A M E W O R K


1.     Konsep M V C (Model-View Controller)

§  Pengertian :
adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.

§  Sejarah MVC  :
Model View Controller pertama sekali dipublikasikan oleh peneliti XEROX PARC yang bekerja dalam pembuatan bahasa pemrograman Smalltalk sekitar tahun 1970-1980

§  Bagian dari MVC :
1.       Model
merupakan bagian yang didesain untuk bekerja dengan database. Model bisa juga diartikan sebagai bagian yang digunakan untuk membuat semacam prototipe data. Bagian model ini biasanya berisi berbagai query yang dialamatkan pada sebuah database. Berbagai query tersebut disesuaikan dengan kebutuhan data yang akan diolah menjadi controller, sebelum akhirnya ditampilkan menggunakan view. File-file model diletakkan di dalam folder application/models
2.    View,
adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman web.
3.     Controller
merupakan bagian yang digunakan untuk menempatkan fungsi-fungsi logika pengolah data yang telah diperoleh dari model (atau sumber lainnya), kemudian ditampilkan melalui (atau tanpa) view. Melalui controller inilai request HTTP akan diolah.Nantinya nama kelas dan method beserta parameternya yang terdapat dalam controller akan digunakan dalam pengasosiasian URI sehingga pemahaman tentang controller ini mutlak dibutuhkan. File controller dibawah folder application/controllers


§  Jenis MVC pada website :
·         Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java applet, Flash, dan lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang disebut juga dengan nama Thin Client.

·         Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC .

·         Rich Internet Application MVC, Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki mesin untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.








2.          Konsep Framewrok pada PHP
PHP adalah sebuah bahasa pemograman web yang populer, tangguh dan dapat di peroleh secara gratis . untuk mempermudah dan mempercepat pengembangan aplikasi dengan PHP, banyak bermunculan framework PHP.  Framework adalah kumpulan script (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 membangunaplikasi. Sedangkan php framework adalah sebuah lingkungan pengembangan aplikasi berbasis php yang berisi sejumlah class-class yang telah dibuat agar digunakan kembali untuk membuat aplikasi. Jenis class-class ini tergantung tujuan dari php framework tersebut, php framework yang satu dengan framework yang lain kemungkinan berbeda. Tetapi sebagian besar, php framework yang tersedia  saat ini berbasis MVC (model view controller), ini model php framework yang modern. Jika menulis aplikasi dengan suatu framework, maka harus mengikuti aturan dari framework tersebut, tidak boleh asal. Karena inilah perusahaan menggunakan framework daripada membiarkan si programmer dengan style nya.

§  Kelebihan Framework di php

·       Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP
·       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

§  Contoh PHP Framework :
1.         CodeIginter
2.       CakePHP
3.       Akelos
4.       Zend
5.       Symfony
6.       Prado
7.       Yii
8.       Kohana

§ Java Script Framework ?
 Framework Javascript itu  adalah sebuah tool yang di gunakan pada bahasa pemrograman javascript untuk mempermudah dalam penggunaannya.

Awal pengembangan Framework Javacript dimulai saat memasuki era Web 2.0, generasi kedua dari layanan berbasis web dimana
lebih meniktik beratkan pada kolaborasi online, sharing content antar pengguna dan lebih terarah ke User Content Generated.

Nah, berdasarkan kebutuhan akan konsep dan paradigma baru dalam pengembangan aplikasi berbasis web tersebut maka dalam pengembangannya diperlukan suatu sistem alur kerja yang bisa memudahkan dalam menciptakan aplikasi berbasis web yang canggih dan interaktif. Salah satu yang sering digunakan para developer tersebut adalah JavaScript Framework/Libraries dimana didalamnya terdapat JavaScript yang telah ditulis sedemikian rupa dimana sangat membantu dalam pengembangan sebuah Aplikasi Web, terutama dalam pengembangan AJAX (Asynchronous JavaSript And XML). Sebuah teknik pemanggilan cepat tanpa melakukan reload terhadap suatu page.
§ Kelebihan dari javascript framewrok :

·        Efisiensi

Dengan menggunakan framework kita tidak perlu lagi untuk menulis ratusan baris kode, kita cukup menggunakan fungsi-fungsi utama yang telah disediakan pada framework, dan mengembangkannya sesuai dengan kebutuhan. Sebagai contoh dalam membuat validasi pada sebuah form. Kita tidak perlu direpotkan untuk membuat script cukup rumit ketika bertemu dengan masalah cross-browser, misalnya script yang kita buat berjalan baik pada Mozilla Firefox tapi tidak berjalan mulus pada Internet Explorer.

·        Keamanan

Framework yang kita gunakan telah diuji oleh banyak orang terutama oleh tim si pembuat framework tersebut. Keuntungan yang besar adalah komunitas dibelakang framework tersebut. Jika kita menemukan bugs, kita cukup mengunjungi pembuat framework tersebut, melaporkannya dan berdiskusi dengan pengguna yang lain. Biasanya jika bugs yang ditemukan cukup berpengaruh, maka mereka akan dengan cepat memperbaikinya.

·        Hemat Biaya
Selain hemat waktu, framework juga hemat biaya. Saat ini banyak sekali framework bertebaran di internet dan gratis untuk di download.
·        Kemudahan dalam dukungan

Framework biasanya didokumentasikan dengan baik, dilengkapi dengan konvensi, tutorial dan contoh script yang siap pakai. Jika Anda menemukan kendala, cukup bergabung dalam komunitas tersebut, dan Anda akan menemukan jawabannya.


3.         Perbandingan  antara  jenis  framework  PHP

·      CodeIgniter
 
        CodeIgniter adalah salah satu dari sekian banyak framework PHP yang tersedia secara gratis. Pengembang CodeIgniter adalah seorang musisi rock-n-roll bernama Rick Ellis dari EllisLab. Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara koding secara manual, dengan menyediakan banyak sekali pustaka (library) yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan.
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.Berikut ini adlaha konsep dari CI(code Igniter)

§  Fitur-Fitur CodeIgniter
Berikut fitur-fitur yang didukung oleh CodeIgniter :
Sistem berbasis Model View Controller
1.        Kompatibel dengan PHP versi 4.
2.      Ringan dan Cepat.
3.      Terdapat dukungan untuk berbagai basis data.
4.      Mendukung Active Record Database.
5.      Mendukung form dan validasi data masukan.
6.      Keamanan dan XSS filtering.
7.       Tersedia pengaturan session.
8.      Tersedia class untuk mengirim email.
9.      Tersedia class untuk manipulasi gambar (cropping,resizing, rotate dan lain-lain).
10.    Tersedia class untuk upload file.
11.      Tersedia class yang mendukung transfer via FTP.
12.    Mendukung lokalisasi bahasa.
13.    Tersedia class untuk melakukan pagination (membuat tampilan perhalaman).
14.    Mendukung enkripsi data.
15.    Mendukung benchmarking.
Kelebihan
  • Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
  • Fungsi-fungsi pendukung yang cukup lengkap
  • Mendkung PHP4 dan PHP5
  • Mungkin merupakan Framework MVC paling populer dan paling banyak digunakan
  • Dokumentasi yang sangat bagus, friendly dan didukung oleh forum, wiki, dan komunitas yang besar
Kekurangan
  • Tidak mendukung AJAX, dan ORM
  • Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC

·      CakePHP

CakePHP mengadopsi konsep arsitektur MVC (Model View Controller) dan ORM (Object Relational Mapping). Aplikasi yang dibangun dengan CakePHP bisa dijalankan di PHP 4 maupun PHP 5. CakePHP juga mendukung berbagai database populer seperti MySQL, PostgreSQL, SQLite, MS SQL, DB 2, dan Oracle.
Beberapa modul tambahan seperti Security, Session, Access Control List, dan Authentication memungkinkan kita membangun aplikasi dengan cepat dan mudah. Tak hanya itu, CakePHP juga mendukung JavaScript, AJAX, RSS, Email, dan XML yang sudah terintegrasi dalam core library-nya.Sayangnya saat ini dokumentasi yang disediakan CakePHP kurang begitu bagus. Meskipun demikian pertumbuhan komunitas yang mendukung CakePHP ini sangat pesat.

Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Automagic function seperti validasi input, dll, yang mempercepat coding
  • Support PHP4 dan PHP5
  • Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
  • Komunitas pengguna yang besar dan forum cukup baik
Kekurangan
  • Manual yang ada tidak selengkap CI.
  • Butuh waktu belajar yang lebih lama untuk menguasai framework ini dibanding CI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu
    dengan CodeIgniter baru kemudian mempelajari CakePHP.

·      Symfony

Symfony adalah framework web yang ditujukan untuk PHP 5. Selain itu Symfony juga kompatibel dengan berbagai sistem database. Sama seperti CakePHP dan CodeIgniter, Symfony juga menganut arsitektur MVC (Model View Controller).
Dukungan untuk AJAX juga tersedia di framework Symfony ini. Dokumentasi yang disediakan cukup baik. Mungkin yang menjadi persoalan adalah proses instalasi dan konfigurasi cukup rumit bila dibandingkan dengan framework sebelumnya.
Kelebihan
  • Dukungan terhadap AJAX, ORM.
  • Kompatibel dengan berbagai macam database.
  • Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati CMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini menjadi kelebihan sekaligus kekurangan.
Kekurangan
  • Tidak mendukung PHP4.
  • Relatif butuh waktu lama untuk mengerti framework ini.
  • Instalasi dan konfigurasinya cukup rumit.

·         Zend 
 

Kelebihan
  • Dukungan terhadap AJAX, ORM.
  • Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr.
Kekurangan
  • Tidak mendukung PHP4.
  • Manual yang ada kurang mengakomodasi kebutuhan.
  • Performanya relatif lambat (mungkin karena banyaknya library).
  • Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.

·      Akelos

Merupakan Framework yang relatif baru dengan kemampuan yang handal dan lengkap

Kelebihan
  • Dukungan terhadap PHP4, PHP5, AJAX, ORM (cukup lengkap dan cukup mengakomodasi semua kebutuhan yang umum dari aplikasi php)

Kekurangan
  • Kurang adanya dukungan komunitas. Mungkin karena masih relatif baru
·       Beberapa forum mengatakan bahwa framewok ini cukup banyak memakan memory

·      Kohana 

KohanaPHP adalah sebuah Perangkat lunak kerangka (FrameWork), yaitu perangkat lunak yang berupa sekumpulan kode yang memiliki suatu fungsi umum dan memudahkan pengembang perangkat lunak untuk membangun suatu proyek. Bukan tentang malas atau rajin, keberadaan perangkat lunak ini memberikan suatu fungsi dan batasan yang membuat pengembang menjadi lebih terfokus pada pengembangan detail proyek. Pengembang perangkat lunak ini juga membuat suatu standar khusus terhadap struktur. Ini adalah suatu kemudahan bagi pengembang/pengguna akhir yang ingin mengembangkan suatu aplikasi berdasarkan kerangka standar.

4.          Salah  Satu  Framework [CodeIgniter]

§ Apa itu 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 stabil terakhir 2.1.0 yang dirilis pada 28 November 2011.
Sebelum membahas lebih jauh tentang salah satu framework PHP ini, mungkin kalian ada yang masih bingung apa itu Framework, apa itu MVC (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:
a.      Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
b.      Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
c.      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
d.      Lebih bebas dalam pengembangan jika dibandingkan CMS

§ Ada Beberapa Keunggulan codeigniter(CI) framework .
a.      Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
b.      Konfigurasi yang sangat minim (nearly zero configuration)  : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu merubah sedikit saja file pada folder config.
c.      Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
d.      Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.

§  Framework Codeigniter mempunyai beberapa kelebihan, diantaranya :

·        Gratis
Codeigniter dilisensikan dibawah lisensi Apache/BSD style open source. Jadi ini berarti Codeigniter dapat dipakai secara bebas.
·        Support PHP4 dan PHP5
Walau saat ini PHP telah mencapai versi 5 bahkan versi 6, namun masih banyak juga orang – orang yang memakai PHP4. Oleh sebab itu, pengembang Framework Codeigniter memperhatikan betul setiap pengguna, oleh karenanya Framework Codeigniter dikembangkan agar mampu berjalan baik PHP4 Maupun PHP5.
·        Ukuran File Kecil dan Cepat
Dibandingkan dengan Framework lain, semisal CakePHP, Codeigniter adalah alternative bagi kamu yang menginginkan akses yang cepat. Kenapa bisa cepat? Karena Codeigniter hanya me-load fungsi atau library yang digunakan saja, berbeda dengan Framework lainnya yang menggunakan seluruh library walaupun library tersebut tidak digunakan. Alasan inilah yang menjadikan Codeigniter dengan akses tercepat dan ringan.
·        Dokumentasi
Framework yang baik pastinya dilengkapi dengan dokumentasi yang lengkap dan mendukung, agar bisa mudah dipahami oleh penggunanya. Didukung oleh User Guide yang mudah dimengerti, dari mulai install sampai pada fungsi-fungsinya semua ada.
·        Memakai konsep MVC
Codeigniter memakai konsep MVC (Model View Controller), konsep modern yang banyak dipakai oleh framework PHP lainnya. Dengan adanya MVC, Pengerjaan antara logika dengan layout telah dipisahkan, sehingga antara si programmer dan designer dapat santai melakukan tugasnya.

·        Komunitas
Framework Codeigniter memiliki sebuah komunitas, kamu bisa bergabung pada situs codeigniter.com/forums

§  Disamping kelebihan atau keuntungan, Framework Codeigniter juga memiliki beberapa kelemahan atau kekurangan diantaranya adalah :
1.         Codeigniter dikembangkan oleh Ellislab dan bukan oleh suatu komunitas, yang menyebabkan update core engine-nya tidak secepat framework lain.
2.       Tidak ditujukan untuk pembuatan web dengan skala besar (enterprise) walaupun tersedia banyak library.
3.       Masih banyak kelonggaran dalam hal coding, misalnya bebas dalam menambah file.
4.       Tidak mencerminkan MVC yang sesungguhnya, misalnya penulisan echo masih dapat dilakukan pada file controller.

§  Cara Install Codeigniter

Pada bagian ini saya akan menjelaskan bagaimana cara install Framework Codeinginer pada komputer lokal Anda. Tutorial ini ditujukan bagi mereka yang baru mengenal yang namanya Codeigniter (sangat pemula) dan ini merupakan bagian teknis atau langsung praktek.  Selain menginstall Codeigniter, saya akan berikan sedikit cara kerja Framework ini berdasarkan pengalaman pribadi saya menggunakan Framework ini. Mari kita mulai dengan mempersiapkan beberapa kebutuhan untuk dapat mempraktekan tutorial ini.
Beberapa hal yang harus disiapkan dalam praktek tutorial ini antara lain:
1.         Program PHP sebagai bahasa pemrograman, karena Codeigniter ditulis menggunakan bahasa pemrograman PHP.
2.       Web Server, dalam hal ini saya menggunakan Apache sebagai web servernya.
3.       Database, dalam hal ini MySQL (optional, karena kita belum memanfaatkan database dalam praktek ini)
4.       IDE (Editor), dalam hal ini saya menggunakan Dreamweaver.
5.       Codeigniter, sebagai Framework yang dapat didownload di halaman ini, saya menggunakan versi 2.1.3 pada saat membuat tutorial ini.
6.       Untuk program PHP-MySQL-Apache, sudah banyak package yang tinggal install, artinya dengan satu kali install, dikomputer kita sudah terinstall tiga aplikasi tersebut (PHP-MySQL-Apache). Misalnya WampServer, Xampp, dll
7.       Jangan lupa sediakan segela susu agar otak lebih encer
Mari kita mulai langkah demi langkah untuk menginstall Framework Codeigniter ini. Oh iya saya menggunakn Sistem Operasi Windows 7 dan menggunakan Wamp 2.0 untuk membuat tutorial ini.
1.         Download program Codeigniter seperti pada nomor 5 diatas. Nanti anda akan menemukan bentuk zip dengan ukuran file 2,2 MB.
2.       Unzip program Codeigniter (orang menyebutnya CI) dan simpan ke folder root server kita (ke folder ‘www’ kalau di wamp atau ‘htdocs’ atau ‘public_html’ tergantung package PHP nya), kemudian rename (ubah) nama foldernya dari “CodeIgniter_2.1.3 menjadi codeigniter, seperti pada gambar dibawah ini: 



Tutorial CI – Menyimpan di Root Server
Dalam folder CI, terdiri dari 3 folder, “application” ini folder untuk developer yang nanti kita akan obrak abrik, “system” berisi library atau kumpulan fungsi-fungsi dasar CI, dan “user_guide” berisi tuntunan semacam help-nya.
3.       Kalau sudah dicopy, tinggal akses “localhost/codeigniter” dan kalau berhasil maka akan muncul halaman selamat datang. Ini merupakan kesksesan Anda, jika belum silahkan coba ulangi langkah-langkahnya.

Tampilan Sukses Install CI
4.       Untuk mengubah pesan diatas, kita bisa masuk ke folder codeigniter/application/views/welcome_message.php disitu Anda bisa mengubahnya secara bebas dengan kata-kata sendiri, silahkan dicoba dan wajib dicoba.
5.       Selanjutnya kita akan menjelaskan cara kerjanya.
Pertama tentu akan membaca index.php di bawah folder codeigniter, kemudian index.php tersebut akan membaca file yang ada di config, seperti application/config/autoload.php yang akan me-load fungsi-fungsi sesuai konfigurasi (kalau install pertama, file ini tidak me-load file atau masih kosong).
Selanjutnya akan membaca file application/coonfig/route.php yang akan memetakan kemana file selanjutnya dibaca (menunjuk controller apa yang akan dibaca pertama), pertama install controller yang pertama kali dibaca adalah application/controller/welcome.php dan dari controller tersebut akan dilempar ke view di application/views/wecome_message.php.
Ingat konsep MVC pada Codeigniter, dalam hal ini M (model) belum ada, sedangkan V (views) adalah “application/views/wecome_message.php” dan C (controller) application/controller/welcome.php
 
§ Cara kerja ?


Cara Kerja CodeIgniter
1.         Sang index.php Saat kita mengakses sebuah alamat domain, browser akan mencari salah satu skrip: index.html, index.php, index.phtml. Tidak hanya CodeIgniter, tetapi semua website yang dibangun yang ada di internet. Dalam koteks CodeIgniter, index.php berperan sebagai controller awal, yang akan menginisialisasi sumber-daya yang dibutuhkan untuk menjalankan CodeIgniter..
2.       Si Router Berperan layaknya penerjemah. Router akan mengarahkan ke mana skrip selanjutnya di eksekusi. Pertama-tama, router akan menganalisa HTTP request, setelkah itu baru meutuskan apa yang selanjutnya akan dikerjakan.
3.       Cache Untuk keperluan performa, cache biasanya digunakan oleh pengembang. Cache adalh metode untuk menyimpan data-data yang sudah pernah di akses sebelumnya. Jadi alih-alih membuat panggilan baru, jika terdapat cache untuk permintaan yang sama, maka cache inilah yang akan digunakan terlebih dahulu. Hal ini akan membypass eksekusi normal yang biasanya dilakukan saat tidak ada cache.
4.       Security Sebelum controller di panggil, semua data, baik permintaan HTTP sampai dsata yang dikirimkan oleh user akan di saring terlebih dahulu. Hal ini adalah security level pertama dalam sebuah website. Paling tidak, potensi serangan terhadap website, seperti XSS (Cross Server Scripting) bisa diminimalisir. Hal ini juga menjamin semua data yang akan disimpan ke dalam database sudah di escape terlebih dahulu.
5.       Sang Controller Layaknya seorang pengatur lalu lintas, controller akan memanggil model, library utama, helper, dan elemen lain yang dibutuhkan untuk sebuah request yang terjadi. Request yang dimaksud adalah URL sebuah website. Dalam framework CodeIgniter, nama kelas dan fungsi di dalam controller inilah yang akan menjelma menjadi sebuah URL. Bisa dibilang, inilah bussiness logic dari sebuah aplikasi website yang dikembangkan dengan metode MVC ( Model View Controller )..
6.       Si View Pada akhirnya semua akan bermuara pada tampilan, view. Inilah paripurna dari segala proses yang terjadi pada framework CodeIgniter. End user akan selalu berinteraksi dengan view, yang akan menampilkan hasil eksekusi logika pada controller, pengolahan data yang dilakukan di Model, dan pengaturan jalur yang dilakukan oleh router.  Jika pilihan cache diaktifkan, view akan di cache terlebih dahulu, sehingga saat ada request yang sama terhadap view tersebut, data yang tersimpan di dalam folder cache inilah yang akan dikirimkan langsung ke browser.
Seorang pengembang seharusnya mengetahui alur proses dari sebuah framework yang digunakan. Dengan pemahaman ini, kurva dalam mempelajari sebuah framework baru akan lebih cepat, karena inilah pondasi utama aplikasi yang sedang dibangun

5.                      K e s i m p u l a n
§  Mengapa Framework?
·       Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP
·       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

§ Tujuan Framework
·       Mempermudah dalam membuat Web app
·       Mempercepat perancangan web , karena berbagai fitur telah siap di gunakan
·       Meningkatkan Scurity

§  Manfaat Framework

Beberapa manfaat yang dapat kita peroleh dengan menggunakan framework dalam pengembangan aplikasi :
·         Penggunaan komponen-komponen reusable, waktu pengembangan lebih 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.




Sumber :
·         http://id.wikipedia.org
·         http://google.com
·         http://wordpress.com/
·         http://blogspot.com





Tidak ada komentar:

Posting Komentar