Anda di halaman 1dari 33

SEJARAH DAN PERKEMBANGAN

 Web Statis -> berbasis HTML dan halaman-halaman


 Web Dinamis ->memisahkan antara kode program dan
data
 Content Management System (CMS) -> web instant
berupa template web
 Web Framework -> membagi sistem dalam 3 bagian
(model, view dan controller
SEJARAH DAN PERKEMBANGAN
 Framework pada awalnya berasal dari kebutuhan programmer
untuk mengurangi pembuatan kode yang sama berulang kali.
 Sebagai contoh, misalkan programmer di sebuah perusahaan
software akan membuat sebuah projek.
 Projek pertama membuat sistem informasi sekolah yang
memerlukan fitur pendaftaran mahasiswa, pendaftaran dosen,
login mahasiswa dan login dosen
SEJARAH DAN PERKEMBANGAN
 Setelah selesai, dilanjutkan ke project kedua untuk membuat aplikasi
perpustakaan yang juga memerlukan halaman pendaftaran karyawan
serta login karyawan.
 Project ketiga berupa website berita yang juga perlu fitur
pendaftaran editor dan login editor.
 Ternyatakan ketiga project tersebut membuat fitur pendaftaran
dan login.
 Besar kemungkinan untuk project keempat dan seterusnya juga
butuh fitur serupa.
SEJARAH DAN PERKEMBANGAN
 Daripada membuat dari nol terus menerus, akan lebih efisien
dengan menyiapkan sebuah kode dasar untuk halaman
pendaftaran dan login. Supaya project baru butuh fitur yang
sama, tinggal copy kode ini dan edit sedikit di bagian tertentu.
Pekerjaan selesai dengan jauh lebih cepat.
 Seiring bertambahnya pengalaman, kode dasar ini saya modifikasi
dengan tambahan berbagai fitur baru agar semakin lengkap,
misalnya menambah cara koneksi ke database, penanganan
cookie, validasi form, dst. Akhirnya, jadilah sebuah framework!
SEJARAH DAN PERKEMBANGAN
 Terdapat berbagai framework untuk keperluan yang berbeda-
beda.
 Sebagai contoh, Bootstrap adalah sebuah framework CSS yang
berisi kumpulan kode CSS untuk mempercepat pembuatan design
web.
 Selain Bootstrap masih banyak framework CSS lain
seperti Materialize, Zurb Foundation, Bulma, dan Semantic UI.
 Begitu juga di PHP, terdapat berbagai pilihan framework
seperti Code Igniter, Symfony, Yii, Zend dan tentu saja Laravel.
DEFINISI FRAMEWORK

 Web framework biasa dikenal dengan web application framework


adalah suatu software framework yang didesain untuk
mendukung pengembangan web dinamis, aplikasi web dan web
service.
 Pemrograman web berbasis framework didasarkan pada konsep
OOP (Object Oriented Programming)
DEFINISI FRAMEWORK
 Framework adalah kerangka kerja yang sudah siap digunakan
sehingga dapat mempermudah dan mempercepat pekerjaan.
 Framework dapat diartikan sebagai kumpulan script (terutama class
dan function) yang dapat membantu developer/programmer dalam
menangani berbagai masalah dalam pemrograman seperti koneksi ke
database, pemanggilan variabel, file,dll sehingga developer lebih fokus
dan lebih cepat membangun aplikasi.
DEFINISI FRAMEWORK
 Framework adalah komponen pemrorgaman yang siap re-use
kapansaja, sehingga programmer tidak harus membuat skrip yang
sama untuk tugas yang sama.
 FrameFwork merupakan suatu perangkat lunak (software) yang
bersifat penggunaan ulang suatu library atau classes yang ada di
dalam sistem tersebut untuk menjadi suatu aplikasi
MENGAPA FRAMEWORK
 Framework akan menghemat waktu pengerjaan suatu applikasi, karena setiap
anggota sudah memiliki sebuah acuan da
 Framework akan menjaga integritas dari modul-modul yang
dikembangkan.lam menyelesaikan modul.
 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
FUNGSI FRAMEWORK
Mempercepat proses pembuatan aplikasi baik itu aplikasi berbasis
desktop, mobile ataupun web.
Membantu para developer dalam perencanaan, pembuatan dan
pemeliharaan sebuah aplikasi.
Membantu developer/programmer dalam menangani berbagai
masalah dalam pemrograman seperti koneksi ke database,
pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih
cepat membangun aplikasi.
Memiliki tingkat keamanan yang lebih, hal ini dikarenakan Framework
telah mengantisipasi cela - cela keamanan yang mungkin timbul.
FUNGSI FRAMEWORK
Menghasilkan Aplikasi yang lebih stabil dan handal, hal ini
dikarenakan Framework sudah melalui proses uji baik itu stabilitas
dan juga kehandalannya.
Menghasilkan sebuah aplikasi yang tersusun dan terstruktur
dengan rapi.
Menyediakan banyak fasilitas dan library yang umum digunakan
sehingga tidak perlu membangun dari awal (Misalnya seperti:
Validasi, ORM, Pagination, Multiple Connection Database,
Scaffolding, Email, Session, Error Handling dan lain-lain).
FUNGSI FRAMEWORK
Memudahkan developer dalam mendokumentasikan aplikasi - aplikasi
yang sedang dibangun.
Memudahkan developer dalam membaca code program dan lebih
mudah dalam mencari bugs.
Memudahkan dalam proses maintenance karena script lebih
terstruktur,
Memudahkan para programmer membuat aplikasi atau web yang isinya
adalah berbagai fungsi, plugin, dan konsep sehingga membentuk suatu
sistem tertentu.
FUNGSI FRAMEWORK
 Menghindari Pekerjaan Berulang dari fitur yang sering
digunakan
 Dapat berbagi pengetahuan dan juga berdiskusi dengan
pengembang lain baik dari dalam maupun luar negeri
tentu saja merupakan suatu hal sangat bermanfaat.
 Adanya fondasi yang kuat dalam penanganan ancaman
keamanannya, serangan-serangan yang bersifat secara
umum sering kali sudah di antisipasi oleh framework-
framework versi terbaru.
FUNGSI FRAMEWORK
 Work Opportunity dengan waktu belajar yang dibutuhkan
tidak terlalu lama karena dokumentasi dari sebuah
framework yang sudah lengkap dan membuka peluang
kerja tersendiri bagi teman-teman serta dapat
meningkatkan kualifikasi sebagai web developer.
 Dapat menekan pengeluaran biaya
FUNGSI FRAMEWORK
 Mengurangi penggunaan source kode (code less)
meringkas beberapa fungsi-fungsi yang bersifat umum
seperti create, read, update, delete menjadi sebuah fungsi
baru Selain itu pekerjaan juga dapat lebih teratur karena
konsitensi code yang tersedia pada framework.
JENIS FRAMEWORK
Ada dua jenis Framework yaitu
1. Desktop Framewok digunakan untuk membangun aplikasi berbasis desktop. Program
atau aplikasi yang dijalankan tidak berjalan langsung pada hardware komputer melainkan
berjalan dilingkungan software (perangkat lunak) dengan memanfaatkan Common Language
Runtime (CLR).
Beberapa framework yang termasuk kedalam kategori desktop framework.
A. Electron JS merupakan suatu framework JavaScript yang digunakan untuk
mengembangkan aplikasi berbasis desktop. Pada umumnya, JavaScript identik dengan
pembuatan website. Oleh karena itu, JavaScript yang digunakan electron ini dirancang
dengan menggunakan teknologi HTML, CSS dan JavaScript. Padahal sebenarnya, electron
juga dapat ditulis dengan menggunakan bahasa C++. Beberapa aplikasi desktop populer
yang dibangun oleh Electron seperti Atom, Slack, WordPress, Skype dan Github desktop.
JENIS FRAMEWORK
B. Proton Native merupakan framework JavaScript yang dikembangkan oleh Gustav
Hansen untuk merancang aplikasi berbasis desktop. Proton Native memiliki fitur
native tools yang mempunyai ukuran yang kecil dan penggunaan sumber kekuatan
yang lebih sedikit.
C. Swing adalah framework berbasis Java yang dapat kamu gunakan untuk
mengembangkan aplikasi desktop. Menjadi framework lintas platform, aplikasi yang
dibangun oleh Swing dapat berjalan di platform apa pun. Fungsi utama Swing adalah
untuk membangun GUI yang lebih baik untuk aplikasi desktop. Ia mampu meniru
desain, tampilan, dan gaya banyak aplikasi desktop. Kerangka kerja ini dilengkapi
dengan berbagai komponen UI seperti tombol, panel, tabel panel gulir, dan kotak
centang.
JENIS FRAMEWORK
2.Web Framewok digunakan untuk membangun aplikasi berbasis web Web Framework
adalah program atau aplikasi terlebih dahulu diproses oleh core, tidak langsung
dieksekusi oleh web server. Contoh Framework aplikasi website: Symfoni, Yii, Code
Igniter, Meteor Phalcon dan lain sebagainya
Saat ini, terdapat beberapa daftar web framework yang sengaja dirancang untuk
mendukung pengembangan aplikasi berbasis web
A. Django merupakan suatu framework yang berbasis Python dengan menggunakan
pola MTV, yaitu Model, Template dan View. Django menawarkan berbagai fitur untuk
mengembangkan aplikasi web yang berkualitas, terutama bagian keamanan yang
digunakan untuk mencegah terjadinya eksekusi program dilapisan Template. Web
framework ini sudah banyak digunakan oleh perusahaan besar seperti Disqus, Pinterest,
Instagram dan Quora.
JENIS FRAMEWORK
B. Angular JS merupakan framework JavaScript yang sengaja dirilis oleh Google
dalam mengembangkan aplikasi web. Bahkan, angular dapat membangun halaman
web di sisi client dengan kinerja yang tinggi. Framework ini memiliki konsep MVC
(Model, View, Controller). Web framework ini sudah banyak digunakan oleh
perusahaan besar seperti Youtube on PS3, Weather dan Netflix.
C. Spring adalah web framework Model-View-Controller yang dikembangkan oleh
Pivotal Software. Framework ini dirancang untuk menciptakan aplikasi web berbasis
JVM yang sederhana, portabel, cepat dan fleksibel. Web framework ini sudah banyak
digunakan oleh perusahaan seperti Mascus dan Allocine.
JENIS FRAMEWORK
D. Laravel Merupakan framework MVC yang dibuat oleh Taylor Otwell pada 2011
dengan menggunakan PHP. Framework ini adalah pengembangan website yang
dirancang untuk meningkatkan kualitas perangkat lunak, yaitu dengan mengurangi
biaya pengembangan awal dan pemeliharaan, meningkatkan pengalaman bekerja
dengan aplikasi yang menyediakan sintaks ekspresif, jelas dan menghemat waktu. Web
framework ini sudah banyak digunakan oleh perusahaan seperti Deltanet Travel dan
Neighbourhood Lender.
E. CodeIgniter Merupakan framework yang memiliki konsep MVC untuk membangun
sebuah website yang dinamis menggunakan PHP. Dengan menggunakan codeIgniter,
developer akan semakin cepat dalam membangun aplikasi web, walaupun memulainya
dari awal. Web framework ini sudah banyak digunakan oleh perusahaan seperti
Bufferapp dan The Mail and Guardian
JENIS WEB FRAMEWORK
CodeIgniter (CI):
 Banyak digunakan karena berukuran kecil dan ringan diakses
 Framework dengan konfigurasi minimal
 Dokumentasi lengkap dan jelas
 Bersifat opensource dan didukung komunitas yang besar
 Dapat dikembangkan dengan mudah (plugin, helper dan hook)
 Paket library yang lengkap (database, email, form, tabel, dll)
JENIS WEB FRAMEWORK

CakePHP :
 Didesain mengikuti arsitektur RoR (RubyonRails), sebuah
framework terkemuka
 Mendukung teknologi ORM (Object Relational Model)
 Library lengkap disertai dokumentasi yang memadai
 Bersifat opensource dan didukung oleh komunitas yang besar
 Digunakan oleh sistem web terkenal (salah satunya adalah portal
Yahoo!)
JENIS WEB FRAMEWORK
Yii Framework:
 Menggunakan database abstraction layer seperti Data Access Objects (DAO)
dan Active Record untuk memudahkan interaksi dengan database
 Terintegrasi dengan JQuery Javascript Framework.
 Memiliki layer cache untuk cache data, halaman, sebagian, dan keseluruhan
aplikasi
 Penggunaan theme
 Console, penggunaan perintah pada console untuk melakukan beragam
perintah otomatis
 Widget, semacam kontrol yang memiliki fungsi tertentu seperti autocomplete,
datapicker, table, dan lain-lain
 Modular dan mudah ditambahkan
BEDA CMS DAN WEB FRAMEWORK
CMS:
 Cocok untuk kebutuhan instant pembuatan web
 Sangat membantu pengembang web pemula (tidak berhubungan
dengan kode program)
 Dapat digunakan untuk membangun aplikasi (tidak direkomendasikan)
 Jenis : – Sistem portal Joomla, Drupal, WordPress, AuraCMS,
PHPNuke, dll.
– Elearning Moodle, Atutor, DrupalEd, dll
– Ecommerce PrestaShop, ZendCart, VirtueMart Joomla,
OsCommerce, dll
– Forum diskusi PHPBB, VFM, dll
BEDA CMS DAN WEB FRAMEWORK
Web Framework:
 Fleksibel untuk pengembangan aplikasi berbasis web
 Dapat digunakan untuk membuat CMS tertentu sesuai
kebutuhan.
 Secara umum lebih secure dibanding CMS karena system terbagi 3
(model, view, controller)
 Pengembang web harus menguasai konsep OOP dan MVC
 Contoh : – CodeIgniter (CI) – CakePHP – Zend Framework
– DooPHP
CIRI KHAS FRAMEWORK
Sebuah framework memiliki beberapa ciri khas yaitu

1. Iversion of Control, yaitu keadaan di mana alur kerja dari aplikasi dikontrol
oleh framework, bukan dikontrol oleh pengguna framework 2. Standard, di
mana sebuah framework memiliki berbagai perilaku dan alur standar, dari nama
file sampai alur program. Hal ini menyebabkan pengguna framework yang tidak
mengikuti perkembangan awal aplikasi dapat dengan mudah terjun ke dalam
pengembangan kapanpun.
3. Extensibility, yaitu framework dapat dikembangkan atau diubah melalui
mekanisme yang telah disediakan, biasanya plugin.
KONSEP FRAMEWORK
Beberapa konsep yang berhubungan erat dengan Arsitektur Framework terhadap
dunia pengembangan web adalah konsep
1. MVC (Model-View-Controller), merupakan framework yang membagi arsitektur
aplikasi ke dalam 3 bagian: Model (data), View (antarmuka), dan Controller (aturan
bisnis, penghubung Model dan View).
2. Pull (Component) Based Framework, merupakan framework yang berbasis
antarmuka, di mana terdapat komponen antarmuka dari framework yang kemudian
menarik data dari server (kontras dengan framework umum yang mengirimkan
antarmuka bersamaan dengan data).
3. n-tier Framework, framework yang membagi-bagi aplikasi ke dalam banyak
lapisan. Ukuran dan kegunaan dari lapisan sendiri tidak dibatasi.
ARSITEKTUR WEB FRAMEWORK

Arsitektur Web Framework Berhubungan erat dengan konsep MVC :


merupakan sebuah design pattern / arsitektur dari pengembangan aplikasi yang
akan memisahkan dan mengelompokkan beberapa kode berdasarkan dengan
fungsinya.
Dapat terhubung dengan bagian controller, tetapi bagian model tidak dapat
berhubungan langsung dengan bagian view.
ARSITEKTUR WEB FRAMEWORK
Arsitektur Web Framework Berhubungan erat dengan konsep MVC :
1. Model adalah bagian kode program yang menangani query atau database. Jadi isi
dari model merupakan bagian (fungsi-fungsi) yang berhubungan langsung dengan
database untuk memanipulasi data seperti memasukkan data, pembaruan data, hapus
data, mengambil data produk dengan id tertentu, menyimpan komentar pada blog dan
lain-lain, namun tidak dapat berhubungan langsung dengan bagian view.
ARSITEKTUR WEB FRAMEWORK
Arsitektur Web Framework Berhubungan erat dengan konsep MVC :
2. View adalah bagian kode prgram yang mengatur tampilan website yang
ditampilkan ke user dengan kode dari output HTML. Pada aplikasi web bagian view
biasanya berupa file template HTML, yang diatur oleh controller. Bagian ini tidak
memiliki akses langsung terhadap bagian model namun berhubungan langsung
dengan controller.
View berfungsi untuk menerima dan merepresentasikan data kepada pengguna. Jadi
bisa di katakan bahwa viiew merupakan halaman web.
ARSITEKTUR WEB FRAMEWORK
Arsitektur Web Framework Berhubungan erat dengan konsep MVC :
3. Controller merupakan bagian yang menjembatani model dan view, yang berisi
perintah-perintah untuk memproses suatu data dan mengirimkannya ke halaman web.
Controller berfungsi untuk menerima dan mengolah request dan data dari user dan
mengambil request user dalam bentuk view (kode yang memeriksa input dari
user/pengunjung dan memilih apa yang harus dilakukan.) kemudian menentukan apa
yang akan diproses oleh aplikasi.
ARSITEKTUR WEB FRAMEWORK

Anda mungkin juga menyukai