Cerita Dosen, Sepriano, M.Kom - Materi Pertemuan terakhir dalam mata kuliah Pemrograman Web 1 atau pertemuan ke-15 akan membahas tentang Penggunaan Framework dalam bahasa pemrograman PHP, silahkan dibaca, dipahami dan di implementasikan dalam bentuk latihan serta tugas yang ada dalam materi ini.
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.
PHP adalah bahasa pemrograman website yang paling umum digunakan sekarang ini. Karena begitu banyak yang menggunakan biasanya cara penulisan kode, struktur website, fungsi, dan banyak hal lainnya yang masih dibuat dengan bermacam-macam gaya yang sangat berbeda.
Kesulitan mulai ditemukan ketika website/program yang kita buat berpindah tangan ke programmer lain. Biasanya programmer lain akan kebingungan ketika melihat kode yang dibuat programmer sebelumnya karena banyaknya perbedaan tadi. Kabar baiknya adalah, hal tersebut nggak akan terjadi kalau kita menggunakan framework / kerangka kerja.
Framework adalah sebuah kerangka kerja yang dibuat dalam format dan aturan tertentu sehingga membentuk suatu sistem yang terstruktur dan mudah dipahami secara global. 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.
Tujuan penggunaan framework adalah :
- Menyamakan alur dan struktur pembuatan kode program sehingga lebih mudah dipahami, sekalipun program harus berpindah tangan ke programmer lain
- Memudahkan pembuatan program dengan fungsi-fungsi yang sudah disediakan oleh framework
- Menyediakan kode yang rapi, mudah diubah maupun dikembangkan lebih jauh.
- Mempersingkat waktu pengerjaan program
- Membuat program cenderung lebih aman, karena framework sudah menyediakan fitur keamanannya sendiri
Dari keuntungan-keuntungan tersebut, saya rasa sangat nggak rugi kalau kita belajar membuat website dengan framework PHP. Ada sangat banyak framework PHP yang beredar sekarang ini. Misalnya :
a. Codeigniter
b. Laravel
c. Zend
d. Yii Framework
e. CakePhp
f. Phalcon
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.
Framework merupakan suatu perangkat lunak (software) yang bersifat penggunaan ulang suatu library atau classes yang ada di dalam sistem tersebut untuk menjadi suatu aplikasi. Di dalam framework PHP, sudah terdapat beberapa classes,objects dan library. Dengan begitu ketika kita membuat aplikasi menggunakan framework, kita bisa menggunakan fitur yang sudah ada di dalam software tersebut.
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 membangunaplikasi.Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapansaja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama.Misalkan saat anda membuat aplikasi web berbasis ajax yang setiap kali harus melakukanXMLHttpRequest, maka Xajax telah mempermudahnya untuk anda dengan menciptakan sebuahobjek khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah satu contohkecil, 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 kumpulanlibrary) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah adadidalam framerwork, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan olehframework.
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;
- 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.
- View : View adalah bagian yang mengatur tampilan ke user. Bisa di katakan berupa halaman web.
- 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 :
- 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.
- 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.
- Mayortitas mendukung berbagai jenis database.
Untuk menggunakan framework PHP, setidaknya kita harus punya sedikit dasar pengetahuan dasar di pemrograman berbasis obyek agar lebih mudah paham . Salah satu framework PHP yang paling mudah untuk dipelajari adalah CodeIgniter. CodeIgniter memiliki struktur yang cukup sederhana, ditambah lagi dokumentasi yang sangat lengkap.
Dalam beberapa post kedepan kita akan belajar penggunaan CodeIgniter dengan lebih detail dan spesifik lagi. Berikut beberapa contoh PHP Framework beserta kelebihan yang dibawanya :
CodeIgniter
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
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.
Symfony
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
Contoh pengenalan CodeIgniter
Berikut ini adalah struktur file CodeIgniter
Persiapan membuat aplikasi menggunakan CodeIgniter dan Jquery EasyUI
- Ekstrak file CI dari hasil download https://codeigniter.com/download dan simpan pada under root web server kita. Jika kita menggunakan XAMPP, maka secara default root tersebut terletak pada C:\xampp\htdocs\ dan jika kita menggunakan WAMP maka secara default root tersebut terdapat pada C:\wamp\www\
- Jalankan CI yang telah kita download pada browser dengan mengetikkan http://localhost/[nama-file]/ dan akan tampil seperti gambar di bawah
Ubah settingan $config[base_url] pada file config yang terletak pada application\config\config.php menjadi lokasi server kita, misalkan menjadi http://localhost/PW2/, seperti terlihat pada gambar
Siapkan template yang akan kita gunakan untuk membuat aplikasi, pada pembahasan ini kita akan menggunakan template Easyui yang sebelumnya sudah kita download. Simpan folder themes dan js yang terdapat pada JQueryEasyUI di folder assets, seperti terlihat pada gambar
Akan menjadi
Lalu untuk melakukan setting file aplikasi mana yang akan digunakan terdapat pada
$route['default_controller'] = "[nama file]"; di lokasi application/config/routes.php. [nama file] di sini kita buat dengan nama layout.php
[nama file] tersebut akan dieksekusi pada folder application/controllers/[nama file]
Membuat Layout Aplikasi
1. Controller
Selanjutnya kita buat program dengan nama layout.php pada lokasi application/controller/ sesuai dengan route['default_controller'] yang tadi sudah kita buat, karena file tersebut
yang akan dieksekusi kali pertama ketika aplikasi dijalankan. Pastikan nama file yang kita buat sama dengan nama class yang terdapat di dalam file tersebut, seperti yang terlihat dalam gambar.
Keterangan script:
- script merupakan nama class layout yang diambil dari nama file layout.php
- Pada function index terdapat yang akan melakukan eksekusi file layout.php pada folder application\views yang merupakan tampilan awal dari aplikasi.
2. Views
Lalu kita buat untuk tampilan program pada folder application/views/layout.php sesuai dengan script di atas pada baris ke-12
dengan script seperti di bawah ini
Lakukan pembuatan menu dengan metode MVC dengan cara melakukan perubahan script yang telah dibuat pada script di atas
Menjadi
Selanjutnya kita buat file menu.php pada folder application\viewes seperti pada gambar di bawah yang akan kita gunakan sebagai menu. Proses pemanggilan menu tersebut menggunakan script
Jalankan aplikasi sederhana kita, sehingga tampilan awal menjadi seperti di bawah ini
Tidak ada komentar
Posting Komentar