mvc pattern & php framework

Download MVC Pattern & PHP Framework

Post on 08-Dec-2015

217 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

Materi PHP Framework

TRANSCRIPT

  • Week #12

    UNIVERSITAS MULTIMEDIA NUSANTARA

    Disusun: Guson Kuntarto

  • 1. Inheritance: 1. Inheritance

    2. Final Method.

    1. Polymorphism: 1. Polymorphism: 1. Class with polymorphism,

    2. Overloading dan Overriding,

    3. Abstract class,

    4. Interfaces & multiple inheritance

    5. Class library,

    6. Implementasi Class library dalam sebuah aplikasi

    7. Namespaces

  • Membangun aplikasi web dengan konsep

    OOP

    Unified Modeling Language (UML).

    Web Application Extension (WAE)

    Pattern dan pengantar MVC

    PHP Framework

    Codeigniter 1.7.2

  • Website pertama kali dibuat oleh tim

    Berners-Lee sebagai wadah bagi para peneliti

    di European Council for Nuclear Research

    (CERN) untuk mengakses hasil penelitian. (CERN) untuk mengakses hasil penelitian.

    Hasil penelitian diakses melalui browser.

    Aplikasi web merupakan pengembangan dari

    web site dalam arti aplikasi web

    menggunakan arsitektur yang sama dengan

    website (client-server).

  • Penerapan aplikasi web telah meluas di

    berbagai bidang.

    Contoh:

    Perbankan Perbankan

    Retail

    Automation system

    Ticketing

    dll

  • Agar pembangunan aplikasi web lebih efisien

    dan terencana diperlukan metode

    pengembangan software yang mencakup:

    Tahapan yang harus dilakukan Tahapan yang harus dilakukan

    Kegiatan dalam setiap tahapan

    Hasil yang diharapkan pada setiap tahapan

    Peran individu/ kelompok

    Tools yang dipergunakan

  • Berbeda dengan metode klasik seperti waterfall life cycle yang sering dipergunakan oleh disiplin ilmu teknik cenderung bersifat kaku yang memberi penegasan/ batasan antara desain dan memberi penegasan/ batasan antara desain dan implementasi.

    Pengembangan aplikasi web/ perangkat lunak cenderung bersifat dinamis, contoh: spesifikasi dari pelanggan (user requirements) sering kali berubah.

  • Untuk itu diperlukan metode-metode baru

    yang menggunakan tahapan iteratif.

    Metode ini lebih adaptif terhadap perubahan

    user requirements.user requirements.

    Satu siklus tidak terlalu memakan waktu

    yang lama, sehingga proses perbaikan (bugs,

    errors, dll) dapat dilakukan pada siklus

    berikutnya.

  • Analisis AnalisisAnalisis

    Desain

    Implementasi

    Desain

    Implementasi

    Desain

    Implementasi

  • Unified Modeling Language (UML)

    merupakan metode yang ditujukan untuk

    pengembangan aplikasi berorientasi object,

    yakni dengan cara memodelkan artifak yakni dengan cara memodelkan artifak

    (simbol dan diagram) dari perangkat lunak

  • Simbol

    UMLKode

    Program

    Diagram

    UMLKode

    Program

    (object Oriented)

  • UML adalah bahasa standard guna

    merepresentasikan model (deskripsi

    masalah/ topik dari aplikasi yang akan

    dibangun).dibangun).

    Dengan menggunakan model setiap anggota

    tim pengembang akan berbicara dengan

    bahasa yang sama

  • Tahapan pembangunan aplikasi berorientasi

    obyek pada umumnya bersifat iteratif.

    Satu siklus biasanya terdiri dari.

    Tahap analisa permintaan, Tahap analisa permintaan,

    Tahap analisa sistem.

    Tahap desain,

    Tahap implementasi.

    UML

    Coding: PHP,

    ASP, JSP

  • UML menyediakan 10 macam diagram guna memodelkan aplikasi berorientasi object. Use case diagram untuk memodelkan proses bisnis.

    Conceptual diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.yang ada di dalam aplikasi.

    Sequence diagram untuk memodelkan pengiriman message antar object

    Collaboration diagram untuk memodelkan interaksi antar objects

    State diagram untuk memodelkan perilaku object di dalam sistem

    Activity diagram untuk memodelkan perilaku use case dan object di dalam system

  • UML menyediakan 10 macam diagram guna memodelkan aplikasi berorientasi object (contd) Class diagram untuk memodelkan struktur class. Class diagram untuk memodelkan struktur class.

    Object diagram untuk memodelkan struktur objects

    Component diagram untuk memodelkan komponen object

    Deployment diagram untuk memodelkan distribusi aplikasi.

  • Use case diagram

  • Sequence diagram dipakai untuk memodelkan detail dari setiap use case diagram yang telah dibuat sebelumnya.

    Setiap object yang terlibat digambarkan dengan Setiap object yang terlibat digambarkan dengan garis putus-putus vertikal.

    Message yang dikirim oleh object digambarkan dengan garis horisontal (panah) secara kronologis dari atas ke bawah

    Penamaan lifeline: Instance Name : Class Name

  • Example (ibm.com)fileline

    Instance: system

    Class: ReportingSystem

    Message dikirim

    return

  • Collaboration diagram Notation

    dipakai untuk memodelkan interaksi antar-

    object di dalam sistem. Fokus pada

    pemahaman atas keseluruhan operasi yang pemahaman atas keseluruhan operasi yang

    dilakukan oleh object.

    Diillustrasikan class-class dan instance-nya.

    Dua buah instance dihubungkan dengan link

    line. Message digambarkan dengan garis

    panah di atas link line.

  • 1:return:message(parameter1, parameter2)Message1()

    Hasil operasi Nama method Parameter method

    c1:Class1 c2:Class2

    instance instance

    Link linemessage

  • Menggambarkan class dan hubungan antar-class di dalam sistem. Class diagram dibangun berdasarkan use case diagram, atau collaboration diagram yang telah dibuat atau collaboration diagram yang telah dibuat sebelumnya.

    Class diagram digambarkan dengan sebuah kotak dibagi menjadi tiga bagian. Bagian paling atas adalah nama class

    Bagian tengah adalah variable (properties, field)

    Bagian bawah adalah method (function dari class)

  • HelloWord

    Implementasi script PHP

  • Hubungan antar class ada yang bersifat

    generalization, dependency, aggregation ,

    association.

    Hubungan antara class yang bersifat umum Hubungan antara class yang bersifat umum

    (superclass/ parent class) dengan yang

    bersifat lebih spesifik (subclass) merupakan

    hubungan generalization.

    Hubungan antar class tidak dibahas semua.

  • Hubungan antar class: generalization,

    go ()

    KendaraanBermotor

    var $engineStart

    go ()

    startEngine()

    stopEngine()

    isEngineOn()

    jeep

    go ()

  • Script PHP ???

  • PHP Script dari class diagram kendaraan bermotor

  • Web Appliaction Extension (WAE) adalah

    UML extension untuk melakukan pemodelan

    web.

    WAE mendifinisikan 5 class stereotypes dan WAE mendifinisikan 5 class stereotypes dan

    icon.

  • CLASS STEREOTYPES ICON

    Server Page: memodelkan

    File yang mengandung kode PHP. File

    Akan dijalankan diwebserver

    Client Page: memodelkan keluaran dari

    Server page yang dikirimkan ke browser.

    Berisi tag HTML, javascript. Hubungan

    Baku antara server-client adalah

    Form: digunakan untuk mengirimkan

    Masukkan di dalam aplikasi web. HTML

    Form terdiri atas satu atau lebih element

    Seperti , ,.

    Hubungan baku form dengan serverpage

    Adalah

  • CLASS STEREOTYPES ICON

    Frameset: memodelkan user interface ke dalam

    Frame, masing-masing frame diberikan dengan

    Halaman client yang terpisah.

    Paling tidak harus satu atau

    class stereotype. class stereotype.

    Target: merupakan target

    Dari hyperlink

  • Contoh implementasi component diagram

    Client page Server page

    hello hello

  • Contoh implementasi class diagram

    Client page Server page

    Hello Hello

    sayHello()

  • Contoh implementasi script server page

    Result

  • Tidak semua diagram harus

    diimplementasikan dalam membangun

    aplikasi web.

    Secara umum jenis diagram yang dipakai Secara umum jenis diagram yang dipakai

    adalah diagram use case, sequence,

    collaboration, class diagram, dan WAE

    Use case sequence collaboration Class diagram WAE

    1 2 3 4 5

  • Dalam merancang sebuah aplikasi perangkat lunak, masing-masing programer memiliki pendekatan sendiri-sendiri.

    Namun, diantara pendekatan yang berbeda- Namun, diantara pendekatan yang berbeda-beda akan ditemui bagian-bagian tertentu yang memiliki kesamaan solusi (sependapat).

    Solusi tersebut telah terbukti dapat membuat rancangan aplikasi menjadi lebih fleksibel, sederhana, dan mudah dalam implementasi (sehingga lebih cepat).

  • Secara umum mekanisme aplikasi web terdiri

    dari beberapa bagian, sebagai berikut.

    Bagian yang berfungsi untuk menginterpretasi

    permintaan dari pengguna (HTTP request).permintaan dari pengguna (HTTP request).

    Bagian yang memodelkan problem domain atau

    business logic.

    Bagian yang mengelola tampilan (warna, layout,

    menu, dll) yang akan dikirimkan ke pengguna

  • Model-View-Controller (MVC) pattern adalah

    pattern dasar yang memisahkan ketiga

    bagian tersebut menjadi tiga object yang

    terpisah.terpisah.

    Interaksi antara ketiga bagian tersebut

    dijelaskan dalam gambar berikut.

  • MVC Pattern

    CONTROLLER

    MODEL

    VIEW

  • Controller: dapat dianalogikan sebagai

    penerima tamu dari pemintaan yang datang

    (HTTP request).

    Controller berfungsi sebagai. Controller ber