Minggu, 25 Agustus 2013

Pengertian Framework


 
Framework adalah kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan. Sehingga bisa mempermudah dan mempercepat pekerjaan seorang programmer, tanpa harus membuat fungsi atau class dari awal. Jadi, dengan adanya framework, pekerjaan kita akan lebih tertata dan terorganisir. Sehingga dalam pencarian kesalahan dalam pembuatan program akan lebih mudah dideteksi. Intinya, framework merupakan pondasi awal kita sebelum menentukan memakai bahasa pemrograman apa yang akan kita pakai. Setelah kita menentukan mau pakai framework apa, baru kita bangun programnya diatas framework itu. Tanpa framework, kita akan kesulitan saat membuat program.

Ada beberapa alasan mengapa menggunakan Framework:
  • Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
  • Memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam setiap framework. (Dengan syarat programmer mengikuti pola standar yang ada)
  • Framework menyediakan fasilitas-fasilitas umum yang 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.
Apa itu CMS ?
 
CMS adalah singkatan dari (Context Management System). Merupakan sebuah software yang memungkinkan seseorang untuk menambah, menghapus, atau memanipulasi isi dari suatu situs web. Dalam CMS, tidak diperlukan keahlian khusus dalam menguasai bahasa pemrograman web seperti HTML, PHP, ASP, dsb. Proses memodifikasi atau memanipulasi datanya berbentuk GUI (Graphics User Interface), tidak berbentuk coding. Kemampuan dari CMS berbeda-beda, walaupun begitu, kebanyakan dari software ini memiliki fitur publikasi berbasis web, manajemen format, kontrol revisi, pembuatan index, pencarian, dan pengarsipan. Dan kebanyakan CMS ini gratis. Karena kita tidak perlu untuk membeli domain.


Contoh CMS antara lain :
  • Joomla
  • Drupal
  • Wordpress
  • Plone
  • VBulletin
  • Moodle
Pemanfaatan CMS antara lain:
  • Situs web perusahaan, bisnis, organisasi, atau komunitas
  • Galeri foto 
  • Aplikasi E-commerce (Jual-Beli Online)
  • Mengelola website pribadi (Blog)
  • Situs E-learning
Kembali ke framework.
Sekarang masuk ke pengertian MVC (Model View Controller)
Kebanyakan framework dalam aplikasi website berarsitektur MVC. Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen-komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi.

Terdapat 3 jenis komponen yang membangun suatu MVC:
  1. View, merupakan bagian yang menangani presentation logic atau tampilan. 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.
  2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.

Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu ada programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.

Itulah tadi sekilas penjelasan tentang framework, CMS, dan MVC. Dalam dunia pemrograman, framework itu tidak hanya satu di dunia ini. Ada berbagai macam framework. Contohnya seperti CakePHP, CodeIgniter, Microsoft .NET, Zend, yii, Django, Play Scala, Spring, dll. Dan framework tadi akan saya bahas satu persatu di blog ini

7 komentar:

  1. makasih booosa artikelnya bermanfaat

    BalasHapus
  2. Terima kasih Penjelasan tentang Frameworknya. Sangat berguna dan bermanfaat bagi saya.

    Permisi Numpang share blog ya.
    Kalau ada waktu kunjungi blog sederhana saja di
    https://ahmadsi2b.blogspot.co.id/

    dan kunjungi pula
    http://www.atmaluhur.ac.id/

    BalasHapus
  3. min coba tambahin contoh frameworknya

    BalasHapus