pemrograman web lanjut iii - php framework 2014
Post on 12-Oct-2015
34 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
1/27
MI2193 PEMROGRAMAN WEB LANJUT
PHP FRAMEWORK
Created by MTA
Revised by HPU
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
2/27
SET THE FRAME, GET TO WORK
Arsitektur MVC
Programming-in-large Pengembangan Berbasis Komponen
Framework
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
3/27
MODEL-VIEW-CONTROLLER (MVC)
MVC adalah pola arsitektur pada perangkat lunak yang memisahkan interaksi antarauser dengan aplikasi ke dalam tiga role: Model (business logic)
View (user interface)
Controller (process logic / user input)
Pemisahan urusan ini memungkinkan pengembangan pengujian danpemeliharaan perangkat lunak pada tiap role menjadi lebih fleksibel danindependen
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
4/27
MODEL
Mengelola behavior dan data dari lingkup aplikasi
Merespon request / informasi state dari role View
Merespon request untuk melakukan suatu instruksi dari role Controller
Contoh: kelas representasi basis data, active record, dll
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
5/27
VIEW
Membuat role Model menjadi bentuk yg sesuai untuk interaksi atau user interface
Satu Model dapat mempunyai beberapa View untuk kebutuhan yg berbeda
Contoh: GUI, halaman tampilan, dll
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
6/27
CONTROLLER
Menerima input user
Merespon dengan memanggil objek Model
Memberi instruksi pada Model untuk melakukan aksi berdasarkan input tadi
Contoh: kelas pemrosesan, servlet, dll
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
7/27
ALUR SIKLUS MVC
User berinteraksi dengan View (UI) dengan cara tertentu (misal: klik tombol)
Controller menangani input dari View, menerjemahkannya menjadi instruksi aksiyang dikenali oleh Model
Controller memanggil Model dan memberikan instruksi aksi tadi ke Model
Model menjalankan instruksi, state Model berubah
Model memberi notifikasi kepada View (bisa melalui Controller dulu atau langsung)bahwa state-nya berubah dan tampilan harus diperbarui
View mengubah tampilan berdasarkan notifikasi tadi
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
8/27
ALUR SIKLUS MVC
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
9/27
CONTOH WEB APP MVC
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
10/27
PROGRAMMING-IN-LARGE
Pengembangan PL skala besar, yaitu integrasi dari kumpulan modul yg banyak untukmembentuk suatu sistem yg lebih besar dan lebih kompleks
Produk PL tidak terbatas hanya berupa program-nya saja, ada aspek lainnya: User yg memakai PL
Tools yg dipakai dalam pengembangan PL Versi PL
Modul-modul yg dibuat dalam PL
Konfigurasi PL
Jangka waktu pengembangan PL
Integrasi modul-modul PL
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
11/27
PROGRAMMING-IN-LARGE
Masalah Pengembangan PL skala besar memiliki kompleksitas yg sangat tinggi, lalu
bagaimana cara menguranginya?
Solusi: Divide Conquer Dekomposisi sistem ke dalam komponen-komponen (pendekatan top-down)
Komposisi sistem dari komponen-komponen (pendekatan bottom-up)
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
12/27
PROGRAMMING-IN-LARGE D&C
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
13/27
PENGEMBANGAN BERBASIS KOMPONEN
Komponen Sebuah unit fungsionalitas dengan sifat dan kontrak yg spesifik
Analogi: LEGO bricks
Ide
Dirancang agar dapat di-reuse dalam berbagai aplikasi berbeda dengan suatukonfigurasi, dan harus sefleksibel mungkin agar mudah untuk diimplementasikan
oleh pengembang ke dalam aplikasi yang berbeda tersebut
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
14/27
KENAPA HARUS PBK?
Pemisahan antarmuka dan implementasi (penerapan MVC)
Konsep reuse -> waktu pengembangan lebih cepat
Fleksibel -> kompleksitas pengembangan berkurang
One for all -> Bila bekerja secara tim, cukup satu dibuat, dapat dipakai seluruh tim
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
15/27
ALUR KOMPONEN
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
16/27
CONTOH KOMPONEN
Model: Kelas Representasi Basis Data
View: Tampilan Form Input
Controller: FileReader, InputParser
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
17/27
FRAMEWORK
Suatu aplikasi parsial berbasis komponen yg dikhususkan untuk pembangunanaplikasi tertentu atau aplikasi domain spesifik
Framework itu.. Bukan API atau library
Bukan code generator
Bukan aplikasi yg selesai
Bukan IDE
Bukan hanya kumpulan dari komponen
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
18/27
KARAKTERISTIK FRAMEWORK
Mendukung mekanisme extension (penambahan / perbaikan fitur)
Dibuat sesimpel mungkin, tapi tidak lebih simpel
Memiliki dokumentasi how-to
Dapat diaplikasikan secara luas dan reusable (dipakai berulang)
Berstruktur skeletal atau assembly
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
19/27
FRAMEWORK TRADE-OFFS
Kelebihan: Reusability: mempercepat waktu pengembangan
Extensibility: fleksibel, one for all
Kekurangan:
Learning curve (belajar) Kebanyakan open source (bila ada bug dalam framework tidak langsung dapat
diselesaikan)
Flow control dasar sistem tidak diketahui oleh pengembang
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
20/27
FRAMEWORK FOR PHP DEV.
Tipe 1: Web Application Real framework
Berbasis MVC penuh
Berstruktur skeletal murni
Use-at-will, loosely coupled (cara pengembangan bebas & fleksibel karena
ditentukan oleh pengembangnya)
Tidak disediakan UI / wizard bantuan (control panel)
Contoh: Zend, Yii, CodeIgniter, Symfony
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
21/27
FRAMEWORK FOR PHP DEV.
Tipe 2: Content Management
Assisted framework Tidak selalu berbasis MVC
Struktur tidak skeletal (sudah terisi)
Use-with-guide, tightly coupled (cara pengembangan sudah ditentukan oleh
framework sehingga kurang fleksibel)
Disediakan UI / wizard bantuan (control panel)
Contoh: Drupal, Joomla
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
22/27
STRATEGI PENGGUNAAN FRAMEWORK
Memulai
Pilih framework, baca dokumentasi, praktikum
Proses pengembangan awal Kenali pola (struktur & kode)
Pembuatan subclass, konfigurasi, modifikasi contoh yg sudah ada
Cari sumber referensi penerapan di web
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
23/27
STRATEGI PENGGUNAAN FRAMEWORK
Proses pengembangan lanjut Dekomposisi masalah
Membuat model
Membuat komponen / service
Integrasi antar model & komponen untuk solusi masalah
Membuat tampilan
Pengujian
Packaging, deployment, instalasi, pemeliharaan
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
24/27
SPF: DOS & DONTS
Mulailah dari task yg simpel
Jangan memakai framework tidak seperti yg telah didesainkan untuknya kenalipola dan asumsinya
Jangan mengubah komponen di dalam atau flow control dasar framework, cukupmengerti alur luarnya dan cara menghubungkannya
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
25/27
SPF: DOS & DONTS
Memakai framework berarti simplifikasi kode, bila kode custom masih terlalu banyak,berarti framework yg dipilih salah atau belum dapat memakai framework denganbenar dan semestinya
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
26/27
SPF: DOS & DONTS
Simplifikasi kode bukan berarti simplifikasi integrasi, malah sebaliknya. Selaluintegrasikan secara bertahap tiap kode subclass atau komponen yg dibuat
Framework tidak selalu benar, ada saat dimana kode custom lebih baik: Framework tidak menyediakan komponen, service, atau fitur untuknya
Kode custom lebih pendek secara signifikan dibanding milik framework
-
5/22/2018 Pemrograman Web Lanjut III - PHP Framework 2014
27/27
SPF: DOS & DONTS
Jangan berhenti belajar, jangan menyerah
Biasakan update versi terbaru framework untuk mengatasi bug internal darikomponen dasarnya
Yang pertama selalu paling sulit dan memakan waktu lama. Tetapi untuk kedepannya, konsep reusable akan sangat berguna dan membuat pengembanganlebih cepat secara signifikan
top related