Anda di halaman 1dari 17

ARTIKEL CMS DAN FRAMEWORK

Oleh

Dian Permata Sari (59081003031)

UNIVERSITAS SRIWIJAYA FAKULTAS ILMU KOMPUTER 2010

PENDAHULUAN 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. Sampai saat ini, masih banyak programmer PHP yang masih menggunakan metode konvensional, padahal di jaman sekarang, kebanyakan orang lebih memilih untuk menggunakan cara yang lebih praktis dalam mengerjakan tugasnya. Bagi anda yang termasuk dalam kategori orang yang belum menggunakan Framework saat coding PHP, CodeIgniter merupakan alternatif yang tepat untuk anda. Bagi anda yang sudah terbiasa bekerja menggunakan Framework, tentunya bukan hal yang sulit untuk mempelajari framework yang lain, tetapi jika anda adalah newbie dalam dunia framework PHP, CodeIgniter sangat memanjakan anda dalam menyelesaikan masalah coding anda. CodeIgniter merupakan Web Application framework dengan bahasa pemrograman PHP yang dikembangkan oleh EllisLab. Apa beda CMS dengan Framework? Jika CMS memungkinkan anda untuk membuat web dinamis, maka Framework pun bisa, tetapi dengan tingkatan yang lebih rumit, yaitu pemrograman. Dengan kata lain, anda dapat membuat sebuah CMS dengan framework, tetapi anda tidak dapat membuat framework dengan CMS.

PENGERTIAN DAN KELEBIHAN SERTA KEKURANGAN CMS DAN FRAMEWORK

1. CMS(Content Management System)


CMS (Content Management System) adalah Sebuah sistem yang memberikan kemudahan kepada para penggunanya dalam mengelola dan mengadakan perubahan isi sebuah website dinamis tanpa sebelumnya dibekali pengetahuan tentang hal-hal yang bersifat teknis. Dengan demikian, setiap orang, penulis maupun editor, setiap saat dapat menggunakannya secara leluasa untuk membuat,menghapus atau bahkan memperbaharui isi website tanpa campur tangan langsung dari pihak webmaster. Umumnya, sebuah CMS (Content Management System) terdiri dari dua elemen: * Aplikasi manajemen isi (Content Management Application, [CMA]) * Aplikasi pengiriman isi (content delivery application [CDA]). Elemen CMA memperbolehkan si manajer isi -yang mungkin tidak memiliki pengetahuan mengenai HTML (HyperText Markup Language)-, untuk memenej pembuatan, modifikasi, dan penghapusan isi dari suatu situs Web tanpa perlu memiliki keahlian sebagai seorang Webmaster. Elemen CDA menggunakan dan menghimpun informasi-informasi yang sebelumnya telah ditambah, dikurangi atau diubah oleh si empunya situs web untuk meng-update atau memperbaharui situs Web tersebut. Kemampuan atau fitur dari sebuah sistem CMS berbedabeda, walaupun begitu, kebanyakan dari software ini memiliki fitur publikasi berbasis Web, manajemen format, kontrol revisi, pembuatan index, pencarian, dan pengarsipan. Wikipedia Indonesia Karena CMS memisahkan antara isi dan desain, konsistensi tampilan dapat senantiasa dijaga dengan baik.Setiap bagian dari website dapat memiliki isi dan tampilan yang berbeda-beda, tanpa harus khawatir kehilangan identitas dari website secara keseluruhan. Oleh karena semua data disimpan dalam satu tempat,pemanfaatan kembali dari informasi yang ada untuk berbagai keperluan dapat dengan mudah dilakukan. CMS juga memberikan kefleksibelen dalam mengatur alur kerja atau workflow dan hak akses, sehingga memperbesar kesempatan berpartisipasi

dari pengguna dalam pengembangan website. Hal ini akan sangat menguntungkan bila website yang dikelola memiliki kompleksitas yang tinggi dan mengalami kemajuan yang cukup pesat. Manfaat CMS 1. Manajemen data 2. Mengatur siklus hidup website 3. Mendukung web templating dan standarisasi 4. Personalisasi website 5. Sindikasi Pemanfaatan CMS CMS pada prinsipnya dapat dipergunakan untuk berbagai macam keperluan dan dalam berbagai kondisi, seperti untuk: 1. Mengelola website pribadi. 2. Mengelola website perusahaan/bisnis. 3. Portal atau website komunitas. 4. Galeri foto, dan lain sebagainya. 5. Forum. 6. Aplikasi E-Commerce. 7. Dan lain-lain

Dan juga Content Manajement System didefenisikan sebagai Sebuah System yang memberikan kemudahan kepada penggunanya dalam mengelola dan mengadakan perubahan isi sebuah website dinamis tanpa tanpa sebelumnya dibekali pengetahuan tentang hal hal yang bersifat teknis dalam sebuah mendesign sebuah website. Contoh CMS diantaranya Wordpress,Joomla, Mambo, Drupal dll. CMS (Content Management System) dapat membantu kita untuk membangun suatu website

dengan harga yang relatif murah dan open source lagi. Menggunakan CMS memang mudah dalam jangka pendek

Sebuah CMS (Content Management System) terdiri dari dua elemen: Yang pertama aplikasi manajemen isi (Content Management Application, [CMA]) dan yang kedua aplikasi pengiriman isi (content delivery application [CDA]). Elemen CMA memperbolehkan admin yang mungkin tidak memiliki pengetahuan mengenai HTML (HyperText Markup Language), untuk mengatur pembuatan, modifikasi, dan penghapusan isi dari suatu situs Web tanpa perlu memiliki keahlian sebagai seorang Webmaster. Elemen CDA menggunakan dan menghimpun informasi-informasi yang sebelumnya telah ditambah, dikurangi atau diubah oleh sumbernya situs web untuk meng-update atau memperbaharui situs Web tersebut. Kemampuan atau fitur dari sebuah sistem CMS berbedabeda, walaupun begitu, kebanyakan dari software ini memiliki fitur publikasi berbasis Web, manajemen format, kontrol revisi, pembuatan index, pencarian, dan pengarsipan. Pada saat ini banyak sekali pemanfaatan dari penggunaan cms, diantaranya adalah untuk membuat website perusahaan, bisnis, organisasi atau komunitas. Lalu juga dimanfaatkan untuk Portal, Galeri foto, Aplikasi E-Commerce, dan Mengelola website pribadi / blog serta masih banyak lagi yang bisa kita fungsikan pada penggunaan cms ini. 2. FRAMEWORK Framework adalah sekumpulan library yang diorganisasikan pada sebuah rancangan arsitektur untuk memberikan kecepatan, ketepatan, kemudahan dan konsistensi di dalam pengembangan aplikasi dari definisi tersebut, framework mengandung unsur-unsur berikut : Librari Arsitektur Metodologi Framework menyediakan librari yang lengkap dan terintegrasi. Unsur inilah yang paling banyak

memberikan keuntungan bagi pengembang aplikasi. Sebagai contoh, framework aplikasi web menyediakan librari-librari dasar berkaitan layanan web, seperti authentication, database access, html generation, template engine, session management, caching, searching, email, http, pdf, zip dan ajax. Framework juga menyediakan sarana extension untuk librari-librari yang belum tersedia atau librari yang perlu ditingkatkan kemampuannya. Arsitektur. Sebuah aplikasi membutuhkan rancangan bagaimana sistem dibangun, yaitu bagaimana elemen-elemen di dalam aplikasi disusun dan diintegrasikan, seperti pengorganisasian file dan librari, dan bagaimana librari-librari digunakan. Framework menyediakan struktur aplikasi dan bagaimana interaksi di dalam struktur tersebut. MVC [Model View Controller] adalah salah satu pola rancangan [design pattern] yang banyak digunakan dalam arsitektur aplikasi saat ini. Jika digambarkan akan seperti berikut : Input > Processing > Output = Controller > Model > View Controller mencakup semua proses yang terkait dengan pemanggilan database dan kapsulisasi proses-proses utama. Jadi semisal di bagian ini ada file bernama member.php, maka semua proses yang terkait dengan member akan dikapsulisasi/dikelompokan dalam file ini. Model mencakup semua proses yang terkait dengan pemanggilan struktur data baik berupa pemanggilan fungsi, input processing atau mencetak output ke dalam browser. View mencakup semua proses yang terkait layout output. Bisa dibilang untuk menaruh template interface website atau aplikasi. Model MVC 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. 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 meload 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. Secara umum tujuan suatu aplikasi web adalah menampilkan informasi yang diminta oleh pengguna. Pengguna mengirimkan permintaannya melalui program browser ke web server, web server akan melakukan pemrosesan atas permintaan tersebut, kemudian hasilnya akan dikirimkan kembali dan akan ditampilkan juga di program browser. Berdasarkan mekanisme ini, aplikasi web dapat dibagi menjadi tiga bagian: 1. Bagian yang berfungsi untuk mengintepretasikan permintaan dari pengguna (HTTP Request). 2. Bagian yang memodelkan problem domain atau bussines logic.

3. Bagian yang mengelola tampilan yang akan dikirimkan ke pengguna. Dalam pemrograman aplikasi web yang menggunakan PHP terkadang ketiga bagian program dicampur menjadi satu bagian. Aplikasi web merupakan bagian yang sangat sering mengalami perubahan. Seperti perubahan tampilan, layout, penambahan menu dan banyak lagi yang tidak ada kaitannya atau tidak memberikan dampak pada logika dari aplikasi web tersebut. Dengan mencampuradukkan ketiga bagian tersebut maka setiap kali dilakukan perubahan pada tampilan ada kemungkinan diperlukan juga perubahan pada bagian logikanya. Hal ini memperbesar kemungkinan timbulnya kesalahan pada aplikasi. MVC(Model View Controller) adalah pola dasar yang memisahkan ketiga bagian program menjadi tiga buah objek yang terpisah. Interaksi antara ketiga bagian program tersebut dapat digambarkan seperti dibawah ini

Controller pada dasarnya merupakan penerima tamu dari permintaan yang datang (HTTP request). Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. View merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. Model merupakan representasi dari proses bisnis di dalam setiap aplikasi perangkat lunak. Model adalah bagian yang bertugas mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna. Model biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 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.

Kekurangan Framework Dari satu sisi framework tidak mempunyai kekurangan. Namun pemilihan framework yang salah akan menjadi sebuah bencana bagi penggunanya. Ada beberapa hal yang harus di pertimbangkan dalam memilih framework : Pertama dokumentasi dari framework itu sendiri. Dokumentasi sangat penting adanya mengingat pada umumnya tidak banyak orang/perusahaan yang membuat framework sendiri dalam membuat applikasi. Oleh karena itu kita akan sangat tergantung dengan dokumentasi yang di sediakan oleh framework yang kita pilih. Berikutnya kesesuaian framework tersebut dengan applikasi apa yang hendak kita kembangkan. Mengambil filosofi tidak perlu membunuh nyamuk dengan meriam. Artinya sebaiknya kita memilih framework dengan fasilitas yang pas dengan kebutuhan kita. Kedua perhatikan standar - standar framework yang ada, misalkan apakah framework tersebut MVC, apakah framework tesebut mendukung versi sekian, apakah mendukung templating dan lain-lain. Semakin banyak hal yang di support oleh framework tersebut semakin baik. Karena hal tersebut akan mempengaruhi kualitas dari software yang dikembangkan. Yang terakhir adalah faktor kemudahan. Tentunya ini sangat tergantung dari sumberdaya yang ada. Standar kemudahan sangat sulit di ukur karena ini berhubungan dengan minat seseorang akan sesuatu. Namun berdasarkan dokumentasinya kita bisa mengira - ngira pola kerja framework tersebut.

Ada bermacam-macam framework yang dapat digunakan antara lain : * .NET Framework, * PHP Framework, * Ruby On Rails (untuk membuat aplikasi web dengan bahasa Ruby), * Django (untuk membuat aplikasi Web dengan bahasa Python), * Zend Framework, * Prado, * Drupal, atau DotNetNuke dan lain-lain. ya

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.

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

CONTOH FRAMEWORK DAN CMS 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. 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.

(http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/)

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 CMS
Setelah kita tahu apa dan bagaimana CMS, selanjutnya kita lihat penyedia jasa CMS yang bisa kita manfaatkan di jagat maya ini. Tentunya masing-masing memiliki kelebihan dan kekurangannya masing-masing,

WordPress Drupal Mambo/Joomla

WordPress
Kali ini, kita akan berkenalan dengan engine blog terpopuler saat ini, WordPress. Aplikasi ini berbasis PHP dan MySQL dan sangat mudah disetup dan digunakan, sehingga menjadi pilihan

bagi mereka yang menggunakan engine blog sendiri (tidak menggunakan layanan seperti Blogger). Blog ini juga berbasis WordPress (hosting di BlogZor.com). Kita juga bisa mendapatkan hosting WordPress gratis di wordpress.com. Fitur WordPress antara lain:

Blog, comment, permalink Blogroll RSS/Atom Feed Static Page Trackback dan Ping Theme dan Plugin WYSIWYG Editor Tagging File Upload/Attachment Spam Filter (Akismet) Export/Import

Drupal
CMS ini pertama kali ditulis oleh Drys Buytaert sebagai aplikasi bulletin board. Di tahun 2001, Drupal menjadi aplikasi open source. Nama Drupal diambil dari bahasa Belanda, Druppel, yang berarti drop (menetes). Drupal menggunakan PHP dan database MySQL/PostgreSQL. Drupal dikenal sebagai CMS yang simpel, elegan, dan mempunyai banyak fasilitas/fitur bulit-in, antara lain:

Multi Domain Website Blog Comments Forum Poll RSS Aggregator Search Engine Friendly (SEF) URL

Situs Planet IIP dibangun menggunakan Drupal. Dibandingkan Mambo/Joomla!, Drupal mempunyai keunggulan pada kelengkapan fitur, ukuran aplikasi yang lebih kecil, dan fleksibilitas (multidomain, SEF, PostgreSQL). Sedangkan Mambo/Joomla! mempunyai keunggulan pada komunitas yang (sementara ini) lebih besar, sistem templating yang lebih fleksibel, instalasi yang lebih mudah, dan modul administrasi yang lebih mudah digunakan.

Mambo/Joomla
Mambo, sebuah CMS yang cukup populer di Indonesia. CMS ini pertama kali dibuat oleh perusahaan Miro dari Australia tahun 2000. Berawal dari proyek open source, Miro mengambil alih pada tahun 2002 dan menjadikannya produk proprietary. Source code versi terakhir dilanjutkan oleh komunitas dan disebut Mambo CMS atau Mambo OS (Open Source). Tahun 2005, Miro mencoba menarik komunitas Mambo CMS untuk bergabung kembali. Mambo versi komersial berganti nama menjadi Jango, dan versi open source kembali disebut Mambo. Namun, pembentukan Mambo Foundation untuk menangani Mambo menjadi kontroversi di kalangan komunitas yang berujung pada keluarnya seluruh tim pengembang Mambo pada saat itu untuk membuat proyek baru bernama Joomla!. Mambo sendiri terus berlanjut dengan tim pengembang yang baru. Instalasi Mambo cukup mudah, namun sebelumnya diperlukan instalasi PHP dan MySQL database. Selanjutnya, instalasi Mambo dapat dilakukan dengan mengekstrak file hasil download lalu mengaksesnya menggunakan browser. Bagi mereka yang awam dengan PHP/MySQL jangan khawatir, karena kebanyakan hosting menyediakannya secara default. Banyak pula hosting yang menyediakan fasilitas installer untuk CMS populer (fantastico) sehingga kita cukup memasukkan lokasi instalasi, password administrator dan nama database.

REFERENSI
http://www.bestwebframeworks.com/php/

//http.google.com/pengenalan-codeigniter-php-framwork.html //http.google.com/cms-yang-terbaik.html

Anda mungkin juga menyukai