Yo Juragan! saya akan menjelaskan perbedaan antara CMS dan Framework. Sedikit definisi dari CMS, Content Manajemen Sistem
adalah perangkat lunak yang digunakan untuk menambahkan atau
memanipulasi (mengubah) isi dari suatu situs web. 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 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 si empunya situs web untuk
meng-update atau memperbaharui situs Web tersebut. Kemampuan atau fitur
dari sebuah sistem CMS berbeda-beda, 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- Manajemen data
- Mengatur siklus hidup website
- Mendukung web templating dan standarisasi
- Personalisasi website
- Sindikasi
CMS pada prinsipnya dapat dipergunakan untuk berbagai macam keperluan dan dalam berbagai kondisi, seperti untuk:
- Mengelola website pribadi.
- Mengelola website perusahaan/bisnis.
- Portal atau website komunitas.
- Galeri foto, dan lain sebagainya.
- Forum.
- Aplikasi E-Commerce.
- 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
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.
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.
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
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
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;
- 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.
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.
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,
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
• 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
sumber:
0 komentar:
Post a Comment