MASIGNCLEAN101

Apa itu Framework

Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai 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 membangun aplikasi.
Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapan saja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama. Misalkan saat anda membuat aplikasi web berbasis ajax yang setiap kali harus melakukan XMLHttpRequest, maka Xajax telah mempurmudahnya untuk anda dengan menciptakan sebuah objek khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah satu contoh kecil, selebihnya Framework jauh lebih luas dari itu.
Macam-macam framework
  1. Framework PHP
    • CakePHP
    • Code Igniter (CI)
    • Symphony
    • Zend
    • Yii
    • Kohana
  1. Framework Javascript
    • JQuery
    • Mootools 
  1. Framework Ruby
    • Ruby on Rails (ROR)

Manfaat Framework

  • Manfaatnya dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi bisa selesai dalam waktu yang 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.
Contoh:
Di dalam Framework tersedia library “Pagination“ misalnya, yang mana dalam class tersebut terdapat fungsi yang memberikan nilai balik(return) link ke halaman berikutnya, sebelumnya, awal, akir dll. nah dalam pengembangan system kita bisa menggunakan class Pagination ini untuk semua proses yang membutuhkan adanya Pagination. ini adalah sebagian kecil dari contoh library yang disediakan oleh framework.
Namun framework sendiri kelebihan utamanya bukan dari seberapa banyak library yang di sediakan, meski hal itu tentunya akan sangat membantu proses development. Kelebihan yang bisa kita ambil dari framework adalah kerangka kerja dari framework tersebut dalam menyelesaikan modul-modul yang dikembangkan sehinga mengeluarkan sebuah metode pekerjaan yang lebih effisien, lebih rapi, lebih bersifat general, dan lebih homogen.

Kelebihandari Framework

Pertama kelebihan dengan adanya framework akan lebih mempermudah memahami mekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat membantu proses pengembangan system yang dilakukan secara team. Semua anggota di wajibkan untuk memahami dari pola kerja framework tersebut selebihnya anggota team hanya mempelajari proses bisnis yang di kehendaki oleh system untuk kemudian di tuangkan kedalam framework tersebut. Dalam artian setiap orang harus mempunyai metode yang sama dalam menyelesaikan applikasi tersebut.
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu applikasi, karena setiap anggota sudah memiliki sebuah acuan dalam menyelesaikan modul. Dalam hal ini misalnya semakin banyak library yang ada semakin mempercepat anggota untuk menemukan solusi karena tidak setiap anggota harus membuat Class atau fungsi untuk kasus yang relatif sama.
Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam artian jika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota yang lain bisa meng-cover kekosongan tersebut. Bayangkan jika setiap modul yang dikembangkan mempunyai logika yang berbeda tentunya akan memakan waktu yang banyak untuk proses pemahan akan system tersebut.
Kesekian-kalinya dengan adanya framework akan menjaga integritas dari modul-modul yang dikembangkan. Tentunya hal ini juga tergantung dari metode yang dikembangkan sendiri. framework hanya membantu dan memungkinkan/mempermudah proses integrasi, tidak berarti dengan adanya framework system otomatis akan ter-integrasi. Dan masih ada kelebihan-kelebihan lain yang dimiliki oleh framework. 

Kekurangan Framework

  • Para programmer mungkin akan menemukan batasan-batasan ketika merancang aplikasi menggunakan framework
  • Kemungkinan akan menambah biaya development apabila framework yg digunakan kurang terdokumentasi dan kurang di support
  • Performa dan kecepatan eksekusi
  • Kesimpulan : Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaan didukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
Contoh Framework

1.                  JQuery
JQuery

JQuery adalah framework sekaligus kumpulan script-script yang berguna untuk membuat web menjadi lebih interaktif, terlihat powerfull dan animasi yang bagus. Jquery ditulis dengan menggunakan javascript sebagai sebuah file tunggal. JQuery ini memiliki keunggulan pluginable,artinya JQuery bisa ditambahi dengan berbagai plugin. Sayangnya JQuery ini cukup sulit untuk dipelajari, paling tidak harus mengenal javascript dan konsep OOP.

2.                  Ajax
Ajax

Dengan menggunakan ajax framework anda tidak perlu lagi membuat script ajax. Tetapi apa yang dimaksud dengan ajax framework? adalah lingkungan pengembangan aplikasi ajax, didalamnya berisi sejumlah fungsi yang bisa digunakan untuk membangun aplikasi ajax. misalkan fungsi request data, mengirim data melalui form, meload halaman dll, tergantung skala dan tujuan pembuatan ajax framework tersebut. Ada banyak ukuran ajax framework, dari yang paling sederhana sampai rumit. Jadi dengan menggunakan ajax framework tersebut anda HANYA menggunakan fungsi yang sudah tersedia untuk mengembangkan web anda. Nantinya aplikasi yang dihasilkan akan sesuai dengan kemampuan framworknya. Jika ajax framework yang anda pilih hanya bisa mengirim data lewat form, dan merequest data, maka aplikasi anda hanya mampu menjalankan aksi tersebut, kecuali anda merubah ajax frameworknya.

Keuntungan Menggunakan ajax framework

Ada banyak keuntungan menggunakan ajax framework, diantara menghemat pikiran dan tenaga, kenapa? anda tidak perlu pusing-pusing hanya karena membuat rutin-rutin ajax, serahkan saja pada ajax framework. Anda tinggal menggunakannya saja. Dan yang perlu diperhatikan ajax framework biasanya sudah dites, artinya kemungkinan ada bug kecil, jika nanti ditemukan, anda tinggal mengupdate ajax frameworknya saja. Keuntungan lain, aplikasi yang anda buat lebih terstruktur, stabil dan mudah dikembangkan.

Kekurangan menggunakan ajax framework

Selain kelebihan ada juga kekurangan. Jika anda tidak pintar memilih ajax framework, bukan kecepatan aplikasi yang anda dapatkan, malah aplikasi anda terasa lambat, berat untuk diakses, kenapa? sebagian ajax framework memiliki ukuran yang besar dengan jumlah baris kode yang banyak. file dengan banyak baris tersebut di-include-kan pada halaman awal, maka dibutuhkan waktu khusus untuk mendownload file ajax framework tersebut. Saya sempat ragu ketika menggunakan ajax framework yang melebihi 100kb, karena saya pikir aplikasi saya menjadi lebih lambat. Lebih bagus memang, tetapi bagi saya tujuan penggunakan ajax sendiri adalah untuk mempercepat proses browsing, kalau menggunakan ajax framework malah lebih lambat, ya sama saja.

3.                  CodeIgniter
CodeIgniter (CI)

CodeIgniter (CI) sebuah framework untuk programmer yang ingin membangun website dengan PHP. CI merupakan langkah cepat untuk membuat sebuah website daripada membangun sebuah website dengan alur koding yang biasa. Dengan mempaketkan library-library, alur pemrograman akan terstruktur dan logika bisnis/proses akan lebih mudah dimengerti oleh developer/programmer lain. CI telah mempaketkan itu semua sehingga mampu meminimalisirkan jumlah koding yang dibangun.

Kelebihan dari CodeIgniter

  1. Gratis.
    CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.
  1. Berjalan di PHP versi 4 dan 5.
    Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.
  1. Ringan dan cepat.
    Secara default CodeIgniter hanya berjalan dengan me load beberapa pustaka saja, dengan demikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuai dengan kebutuhan.
  1. Menggunakan MVC.
    CodeIgniter menggunakan lingkungan pengembangan dengan metode Model View Controller (MVC) yang membedakan antara logika dan presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.
  1. Dokumentasi.
    Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya tersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.
  1. Pustaka yang lengkap.
    CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.
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 memanage 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. 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 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

Contoh CMS
1.      WordPress
WordPress

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.



Keunggulan WordPress

1. Cukup mudah dioperasikan
2. Sederhana.3. WordPress juga dapat dijalankan di website milik kita sendiri (tidak seperti Blogspot yang belum    bisa).4. WordPress dapat dijalankan di komputer lokal (localhost) atau di komputer tanpa sambungan internet.5. Banyak pluggin tambahan.6. Template dapat dirubah-rubah sekehendak hati dan dapat membuat template sendiri.7. Penggunanya kompak.8. Mendukung SEF (search engine friendly) secara default, sehingga lebih mudah ditemukan di    search engine.
Kelemahan  WordPress
1. Fitur managementnya sedikit sehingga sebagian orang menganggap terlalu sederhana.
2. Jarang digunakan oleh website-website besar di dunia.
3. Plugginnya tidak sebanyak Joomla, dan terkadang masih lebih bagus pluggin Joomla.
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
2.      Mambo/Joomla
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, instalasiMambo 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.

3.      Drupal
Drupal

CMS inipertama kali ditulis oleh Drys Buytaert sebagai aplikasi bulletin board. Ditahun 2001, Drupalmenjadi 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 banyakfasilitas/fitur bulit-in, antara lain:
  • Multi Domain Website
  • Blog
  • Comments
  • Forum
  • Poll
  • RSS
  • Aggregator
  • Search Engine Friendly (SEF) URL
Kelebihan:
- Instalasi mudah
- Halaman dan tab untuk edit posisinya terpadu
- Edit konten juga simpel
- Konfigurasi sangat fleksibel
- Modul gratis banyak tersedia
- Update versi baru terus tersedia
- Banyak website besar menggunakan Drupal (MTV UK, BBC, the Onion, Nasa, Greenpeace UK, Kleercut)
- Bisa bikin multi-level kategori dan sistem tagging yang terintegrasi
- URL lebih mudah dibaca dan lebih search engine friendly
- Satu instalasi bisa untuk banyak website
- Hak akses user sangat mudah dan fleksibel untuk dikonfigurasi.
Kekurangan:
- Halaman administrator agak membingungkan tapi sudah semakin baik tiap kali update versi
- Istilah-istilah administrasi kadang kurang jelas
- Mengubah theme tampilan kurang begitu mudah
- Dukungan modul yang gratis kadang kurang bagus
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.





Share This :
Apradiz Renfaan

Penikmat Kopi dan Teh

avatar

makasih banget gan, bantu banget artikelnya...

23 October 2015 at 15:36
avatar

Ok gan, thaks shering nya. Jika datang ke Makassar, hubungi kami ya, siap penginapan dan Rental mobil yang baik di http://makassarrentacar.blogspot.com

22 February 2016 at 09:00
avatar

David Walsh is Mozilla’s senior web developer, and the core developer for the MooTools
Javascript Framework. David’s blog reflects his skills in HTML/5, JS and CSS, and offers a ton
of engaging advice and insight into front-end technologies. Even more obvious is his passion
for open source contribution and trial-and-error development, making his blog one of the
most honest and engaging around.
Website: davidwalsh.name

14 March 2019 at 17:43