Pemrograman Web Lanjut III - PHP Framework 2014

download Pemrograman Web Lanjut III - PHP Framework 2014

of 27

description

Tentang PHP FRAMEWORK

Transcript of Pemrograman Web Lanjut III - PHP Framework 2014

  • 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