Pemrograman Internet 2 (Fhajrin Mohamad)

19
Pemrograman Internet 2 “Framework PHP” Fhajrin Mohamad Ramadhan 12360016 Teknik Informatika Institut Sains dan Teknologi Nasional

Transcript of Pemrograman Internet 2 (Fhajrin Mohamad)

Page 1: Pemrograman Internet 2 (Fhajrin Mohamad)

Pemrograman Internet 2“Framework PHP”

Fhajrin Mohamad Ramadhan

12360016

Teknik Informatika

Institut Sains dan Teknologi Nasional

2013

A. Pendahuluan

Page 2: Pemrograman Internet 2 (Fhajrin Mohamad)

Membuat web memang tidak mudah. Ada banyak source yang terkait didalamnya, 

PHP mungkin menjadi salah satunya. Bahasa pemrograman ini memang dirancang untuk

para pengembang web agar dapat menciptakan suatu halaman web yang bersifat dinamis.

Sekilas tentang PHP, PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995 dan

terus dikembangkan hingga saat ini. Ada banyak sekali web termasuk CMS yang dibuat

menggunakan bahasa PHP seperti WordPress dll.

Apa itu PHP Framework ?

Bisa dilihat dari namanya. Framework dapat diartikan sebagai sebuah kerangka

kerja. Kerangka kerja dimana dapat memudahkan pekerjaan kita. Jika dikaitkan dengan PHP

maka dapat diartikan sebagai suatu kerangka kerja yang telah terpola dan memudahkan

pengembang web dalam pembuatan web yang menggunakan script PHP. Mempermudah

yang dimaksud misalnya, Dalam membuat sebuah aplikasi web kita sering menulis script

PHP secara keseluruhan (konvensional) dan itu pun kita ulang pada halaman yang lain.

Bukankah itu begitu tidak efesien disamping berat ketika diload ? Dengan PHP Framework

semua bisa teratasi. Semuanya sudah diatur menjadi pola-pola tertentu yang disebut dengan

class. Pola/class inilah yang meringankan kita dalam penulisan script dan load halaman web.

PHP Framework berbeda jika dibandingkan dengan CMS (Content Management

System), meski sama-sama meringankan dalam pembuatan web. Jika menggunakan CMS,

kita tidak perlu pusing menulis script. Semuanya telah dibuat menjadi Fix dan kita hanya

perlu mengatur bagian content dan interfacenya saja. Tidak demikian dengan Framework.

Membangun sebuah aplikasi web dengan menggunakan framework, kita tetap harus

menuliskan kode perintah PHP sesuai dengan ruang lingkungan yang disediakan oleh

framework.

PHP Framework menggunakan metode pengembangan berbasis MVC. Namun apa itu

MVC ? MVC merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web

aplikasi. MVC adalah kependekan dari Model View Controller. MVC terdiri dari tiga bagian

yaitu;

1. Model : Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang

membantu kita dalam pengelolaan database seperti memasukkan data ke

database, update data dan lain-lain.

1

Page 3: Pemrograman Internet 2 (Fhajrin Mohamad)

2. View : View adalah bagian yang mengatur tampilan ke user. Bisa di katakan

berupa halaman web.

3. Controller : Controller merupakan bagian yang menjembatani model dan view.

Controller berisi script-script php yang berfungsi untuk memproses suatu

data dan mengirimkannya ke halaman web.

Disinilah letak perbedaan utama antara framework dengan CMS atau PHP

konvensional. Dengan metode MVC, bagian tampilan, logika serta query database diletakkan

secara terpisah namun tetap sinkron sehingga pembuatan aplikasi menjadi lebih terstruktur

dan sederhana. Model digunakan dalam menuliskan script database, Controller untuk

mengembangkan logika pemrogramannya, sedangkan View berfungsi dalam menampilkan

layout dari aplikasi yang kita buat. Kelebihan framework antara lain sebagai berikut :

1. Ringan dan cepat. Framework hanya melakukan pemanggilan pustaka/kelas yang

dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika kita

me-load sebuah halaman akan menjadi ringan dan cepat.

2. Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya, dengan

metode MVC akan mempermudah kita dalam memahami alur pemrograman karena

untuk bagian tampilan, logika dan query database telah dipecah sedemikian rupa.

3. Mayortitas mendukung berbagai jenis database.

2

Page 4: Pemrograman Internet 2 (Fhajrin Mohamad)

B. Pembahasan

Berikut beberapa contoh Framework PHP beserta penjelasannya.

1. Yii Framework

Yii adalah framework (kerangka kerja) PHP berbasis komponen, berkinerja

tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan

reusability maksimum dalam pemrograman Web dan mampu meningkatkan

kecepatan pengembangan secara signifikan. Nama Yii (dieja sebagai /i:/) singkatan

dari "Yes It Is!". Berikut merupakan respon yang paling tepat dan akurat untuk yang

baru dengan Yii.

a. Persyaratan !

Untuk menjalankan aplikasi Web berbasis Yii, Anda memerlukan server Web

yang mendukung PHP 5.1.0. Bagi para pengembang yang ingin menggunakan Yii,

mengerti pemrograman berorientasi objek (OOP) akan sangat membantu, karena Yii

merupakan framework OOP murni.

b. Yii Paling Cocok Untuk Apa ?

Yii adalah framework pemrograman umum Web yang bisa dipakai untuk

mengembangkan semua jenis aplikasi Web. Dikarenakan sangat ringan dan

dilengkapi dengan mekanisme caching yang canggih, Yii sangat cocok untuk

pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem

manajemen konten (CMS), sistem e-commerce, dan lain-lain.

c. Bagaimana Yii Dibandingkan dengan Framework Lain ?

Seperti kebanyakan PHP framework, Yii adalah MVC framework. Yii

melampaui framework PHP lain dalam hal efisiensi, kekayaan-fitur, dan kejelasan

dokumentasi. Yii didesain dengan hati-hati dari awal agar sesuai untuk

pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada

beberapa proyek maupun konglomerasi pekerjaan pihak-ketiga. Yii adalah hasil dari

3

Apakah Yii cepat? ... Apakah Yii aman? ... Apakah Yii profesional? ... Apakah Yii cocok untuk projek saya berikutnya? ... Yes, it is!

Page 5: Pemrograman Internet 2 (Fhajrin Mohamad)

pengalaman kaya para pembuat pada pengembangan aplikasi Web dan investigasi

framework pemrograman Web dan aplikasi yang paling populer.

2. CodeIgniter Framework

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 adalah

versi 2.1.3

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,

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.

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.

Banyak komunitas : dengan banyaknya komunitas CI ini, memudahkan kita

untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.

Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah

disertai user guide yang sangat bagus dan lengkap untuk dijadikan

permulaan, bahasanya pun mudah dipahami.

3. CakePHP Framework

CakePHP merupakan sebuah rapid development framework yang gratis dan

sumber terbuka untuk PHP.[2] CakePHP adalah sebuah framework atau kerangka

kerja untuk membuat aplikasi CRUD (Create, Read, Update, Delete) berbasis

bahasa pemrograman PHP. CakePHP juga menjadi salah satu framework pilihan

4

Page 6: Pemrograman Internet 2 (Fhajrin Mohamad)

yang memungkinkan seorang dpengembang web untuk membuat sebuah aplikasi

dengan karakter pengembangan RAD (Rapid Application Development), yang

memungkinkan untuk digunakan dan dikembangkan menjadi aplikasi lain yang lebih

kompleks.

CakePHP membuang proses monoton dalam pengembangan aplikasi web.

CakePHP menyediakan semua alat bantu yang diperlukan untuk memulai tugas

coding yang perlu diselesaikan: yaitu logika aplikasi. Daripada membuat sesuatu

yang baru setiap memulai proyek baru, pengguna dapat meninjau unduhan CakePHP

dan mulai fokus kepada logik aplikasi yang hendak dibangun.

CakePHP memiliki tim pengembang (developer) dan komunitas yang aktif

(membawa nilai tambah ke proyek). Selain menjaga seseorang dari melakukan hal

yang membuang waktu, penggunaan CakePHP juga berarti inti (core) aplikasi yang

sudah teruji dengan baik dan secara periodik terdapat peningkatan/perbaikan

Berikut ini adalah daftar fitur yang dapat dinikmati apabila menggunakan CakePHP:

Komunitas yang aktif dan bersahabat.

Lisensi yang fleksibel.

Kompatibel dengan PHP versi 4 dan 5.

Operasi CRUD yang terintegrasi untuk interaksi dengan basis data.

Scaffolding aplikasi.

Otomatisasi pembuatan code (code generation).

Arsitektur MVC.

Request dispatcher dengan URL yang kustom, rapih dan adanya rute.

Validasi data yang terintegrasi.

Sistem templating yang cepat dan fleksibel (sintaks PHP, tersedia helpers).

View Helpers untuk AJAX, JavaScript, HTML Forms dan banyak lagi.

Email, Cookie, Keamanan, Session, dan komponen Request Handling.

ACL yang fleksibel.

Sanitasi Data.

Caching yang fleksibel.

Lokalisasi.

5

Page 7: Pemrograman Internet 2 (Fhajrin Mohamad)

Dapat bekerja dari direktori web dimana saja, dengan sedikit atau bahkan

tanpa perlu melibatkan konfigurasi Apache.

4. Zend Framework

Zend Framework didasarkan pada kesederhanaan, berorientasi objek praktik

terbaik,lisensi ramah perusahaan, dan basis kode tangkas diuji ketat. Zend

Framework difokuskan pada membangun Web lebih aman, handal, dan

modern 2.0 aplikasi & layanan web, dan API memakan banyak tersedia dari vendor

terkemuka seperti Google, Amazon, Yahoo, Flickr,

cataloguers seperti StrikeIrondan Programmable Web.

a. Zend Framework membutuhkan syarat – syarat seperti dibawah ini.

PHP 5.1.4 (atau versi diatasnya)

Sebuah web server yang mendukung fungsi mod_rewrite.

Disini menggunakan Apache

b.  Zend Framework memiliki keunggulan-keunggulan seperti berikut.

Lisensi Open Source berbasis BSD yang fleksibel baik untuk

pengembangan aplikasi open source maupun komersial

Dokumentasi lengkap (lebih dari 500 halaman)

Proses pengembangan Zend Framework menyertakan unit test yang

lengkap, mencakup 84% kode yang ada

Library yang menyediakan fungsi yang lengkap sehingga hampir

semua kebutuhan pengembangan aplikasi web dapat terpenuhi

Mendukung pengembangan aplikasi MVC

URL yang bagus dan search engine friendly

c. Macam-macam library yang disediakan oleh Zend Framework

Otentikasi dan Otorisasi

Inti Infrastruktur

Dokumentasi

Internasionalisasi dan Lokalisasi

Mail, Format dan Cari

Model-View-Controller

Web Services

6

Page 8: Pemrograman Internet 2 (Fhajrin Mohamad)

5. Symfony Framework

Symfony adalah framework aplikasi web untuk proyek-proyek PHP 5 berbasis

MVC (Model - View - Controller).

Ini bertujuan untuk mempercepat pembuatan dan pemeliharaan aplikasi web,

dan untuk menggantikan tugas coding berulang-ulang oleh kuasa, kontrol dan

kesenangan. Dengan framework ini anda dapat mengontrol Model maupun View

secara terpisah tanpa harus merubah coding secara keseluruhan. Ditambah lagi

banyak sekali plugin yang tersedia seperti jquery, extJS, datagrid ajax, dan lain lain

yang dapat membantu penghematan pembuatan coding. Jumlah yang sangat kecil

dari prasyarat membuat symfony mudah untuk diinstal pada konfigurasi apapun.

Anda hanya perlu Unix atau Windows dengan server web dan PHP diinstal. Hal ini

kompatibel dengan hampir semua sistem database. Selain itu, ia memiliki overhead

yang sangat kecil, sehingga manfaat kerangka tersebut tidak datang pada biaya

peningkatan biaya hosting. Menggunakan symfony sangat alami dan mudah bagi

orang yang digunakan untuk PHP dan pola desain dari aplikasi Internet yang kurva

pembelajaran direduksi menjadi kurang dari satu hari. Desain bersih dan mudah

dibaca akan menjaga kode keterlambatan Anda singkat. Pengembang dapat

menerapkan prinsip-prinsip pembangunan gesit (seperti KERING, KISS atau filsafat

XP) dan fokus pada logika aplikatif tanpa kehilangan waktu untuk menulis file

konfigurasi XML tanpa akhir.

Symfony bertujuan untuk membangun aplikasi yang kuat dalam konteks

perusahaan. Ini berarti bahwa Anda memiliki kontrol penuh atas konfigurasi: dari

struktur direktori ke perpustakaan asing, hampir semuanya dapat disesuaikan. Untuk

pertandingan panduan pengembangan usaha Anda, symfony dibundel dengan alat

tambahan membantu Anda untuk menguji, debug dan dokumen proyek Anda.

6. PHP Dev Shell Framework

PHPDevShell merupakan kepanjangan dari PHP Development Shell.

Fungsinya adalah bekerja sebagai shell pada script PHP. aplikasi ini dtujukan untuk

orang yang sudah terbiasa bekerja dengan PHP, dan ingin secara cepat membuat

7

Page 9: Pemrograman Internet 2 (Fhajrin Mohamad)

aplikasi standalone tanpa harus disusahkan dengan membuat menu,tampilan,gaya

bahasa dan lain sebagainya.

PHPDevShell sudah memiliki kemanan yang memadai. Segala urusan yang

menyangkut admin dapat ditulis dan dibuat dengan tampilan berbasis web.sehingga

sangat memudahkan kita dalam urusan interface. Mungkin untuk lebih mengetahui

nya kita harus mencobanya sendiri, Untuk keterangan lebih mendalam silahkan

kunjungi situs resminya www.phpdevshell.org Dengan lisensi GPL, dan harus di

ingat software ini bukan buat windows tapi buat system operasi linux.

7. Prado Framework

Prado merupakan salah satu komponen dari PHP framework yang cukup

menarik digunakan untuk melakukan coding selain codelgniter,CakePHP, Drupal

dan lain - lain, walaupun sebenarnya bagi pemula yang tidak biasa menggunakan

akan sedikit kesulitan akan tetapi apa salahnya mencoba. Sebuah komponen

PRADO adalah kombinasi dari file spesifikasi (dalam XML), sebuah template

HTML dan PHP kelas. Komponen PRADO digabungkan bersama untuk membentuk

komponen yang lebih besar atau lengkap PRADO halaman. Code yang dibuat

mengikuti komponen yang ada di PRADO.

Apa itu Prado?

       Adalah kerangka pemrograman berbasis-komponen dan kendali-event untuk

mengembangkan aplikasi Web dalam PHP 5. PRADO singkatan PHP Rapid

Aplikasi Development Objectoriented.

Adapun persyaratan untuk menjalankan aplikasi berbasis PRADO adalah

server Web yang mendukung PHP 5.1.0 atau lebih tinggi. PRADO adalah gratis dan

dapat menggunakannya untuk mengembangkan baik open source atau aplikasi

komersial.

Pengembangan Aplikasi PHP Cepat berorientasi objek", yang menjelaskan

semua fitur utama dan keuntungan dari framework. Selain itu semua komponen yang

ada di PRADO dapat digunakan kembali.

Dokumentasi Prado sangatlah baik, mulai dari manual, dokumentasi class,

wiki. Nama PRADO adalah sebuah akronim dari kata "Pengembangan Aplikasi PHP

Cepat berorientasi objek". Prado dibuat oleh Qiang Xue yang resmi di realse pada

8

Page 10: Pemrograman Internet 2 (Fhajrin Mohamad)

tahun 2004 untuk versi 2.0, dan sekarang sudah  ada versi 3.1 yang dokumentasinya

mensuport bahasa indonesia.

 Manfaat Prado Untuk Pengembang Web

Usabilitas - Kode mengikuti protokol komponen PRADO sangat dapat

digunakan kembali.

Kemudahan Penggunaan - Membuat dan menggunakan komponen sangat

mudah. Biasanya mereka hanya melibatkan mengkonfigurasi properti

komponen.

Kekokohan - PRADO membebaskan pengembang dari menulis

membosankan, kode buggy. Mereka kode dalam hal objek, metode dan

properti, bukan parameter URL dan query.Mekanisme PHP5 pengecualian

terbaru dimanfaatkan yang memungkinkan garis-tepat pelaporan kesalahan.

Kinerja - PRADO menggunakan teknik cache untuk memastikan kinerja

aplikasi didasarkan pada itu. Kinerja ini sebenarnya sebanding dengan yang

berdasarkan mesin template yang umum digunakan. 

Tim Integrasi - PRADO memungkinkan pemisahan isi dan presentasi.

Komponen,biasanya halaman, memiliki konten mereka (logika) dan presentasi

disimpan dalam file yang berbeda

Tujuan Framework Prado

Pengguna kode dan komponen Prado dapat digunakan kembali. 

Pemrograman kendali-event (event-driven programming),  

Integrasi tim 

Kontrol web standar ( widget ) memungkinkan perakitan cepat dari antarmuka

pengguna.

Standardisasi komponen untuk akses database

Kode ini dikirim ke browser XHTML -compliant 

Kesalahan rutinitas penanganan standarisasi penanganan kesalahan dan

pengecualian.

9

Page 11: Pemrograman Internet 2 (Fhajrin Mohamad)

8. Akelos Framework

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 (http://forum.akelos.org/discussion/712/akelos-consumes-a-lot-of-

memory/)

9. Kohana Framework

Kohana adalah framework PHP 5 yang menggunakan pola arsitektur Model

View Controller (MVC). Ada beberapa alasan mengapa Anda harus memilih

Kohana tapi yang utama adalah keamanan, bobot dan kesederhanaanya. MVC

membuat logika aplikasi terpisah dari presentasi. Hal ini memungkinkan kita untuk

membuat kode lebih rapi dan menghemat waktu untuk mencari bug.

Pada awalnya Kohana merupakan pencabangan dari CodeIgniter (CI), yang

merupakan produk Open-Source dari EllisLab. Ada banyak kesamaan antara CI dan

Kohana, tapi semua kode ini baik baru atau benar-benar ditulis ulang.

Fitur utama :

Sangat aman. Sangat ringan. Kurva pembelajaran yang pendek. Menggunakan pola MVC.

- 100% UTF-8 yang kompatibel.- Sangat mudah untuk dikembangkan.

10

Page 12: Pemrograman Internet 2 (Fhajrin Mohamad)

10. Zoop Framework

Zoop Object Oriented Php Framework adalah kerangka ditulis dalam dan

untuk php. Zoop PHP Framework ini stabil dan terukur. Ini telah digunakan

produksi selama 5 tahun dan telah digunakan di banyak lingkungan produksi. Zoop

PHP Framework cepat, efisien dan bersih. Dengan Zoop Anda dapat dengan mudah

membuat aplikasi web. Coder yang lebih berpengalaman akan sangat menghargai

bagaimana fleksibel kerangka PHP Zoop adalah. Coders berpengalaman dan

berpengalaman menghargai alat-alat yang mereka miliki untuk menangani tugas-

tugas biasa.

11

Page 13: Pemrograman Internet 2 (Fhajrin Mohamad)

Daftar Pustaka

http://ilmukieta.blogspot.com/2012/05/10-framework-php-terbaik.html

http://www.kaskus.co.id/thread/50e069eb2d75b48669000038/comunity-

laravel-a-framework-for-web-artisans--belajar-diskusi-tanya-dll/30

http://www.proweb.co.id/articles/web_application/

php_framework_terbaik.html

http://www.proweb.co.id/services/web_design/paket_hemat.html

http://agiptek.com/index.php/php/98-sedikit-pemahaman-tentang-apa-itu-

framework.html

http://tutorial.dumbstrack.org/mengenal-framework-php-dan-jenisnya/

http://www.yiiframework.com/forum/index.php/forum/20-indonesian/

http://www.yiiframework.com/doc/guide/1.1/id/quickstart.what-is-yii

http://id.wikipedia.org/wiki/CodeIgniter

http://id.wikipedia.org/wiki/CakePHP

http://www.academia.edu/214230/

CakePHP_Framework_Strategi_Cepat_Pengembangan_Aplikasi_Web

http://javan.co.id/apa-itu-zend-framework/

http://hengunz.blogspot.com/2010/04/sekilas-tentang-framework-php-

symfony.html

http://dianzeniqbals.blogspot.com/2011/02/10-php-framework-paling-

populer.html

http://thinkrooms.com/2007/11/16/pengenalan-prado-php-component-

framework/

http://gudangirvan.blogspot.com/2013/06/sekilas-tentang-framework-

prado.html

http://byrzl.wordpress.com/tag/akelos/

http://azizturn.wordpress.com/2010/04/05/kohana-php-framework/

12