MI2193 PEMROGRAMAN WEB LANJUT PHP FRAMEWORK. Created by MTA Revised by HPU

dokumen-dokumen yang mirip
FRAMEWORK. Dengan framework seorang web programmer dapat membangun aplikasi

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

Framework CodeIgniter Part 1

BAB I PENDAHULUAN Latar Belakang

PERANCANGAN SISTEM INFORMASI MANAJEMEN PERPUSTAKAAN MENGGUNAKAN POLA MODEL-VIEW- CONTROLLER (MVC)

BAB 3 Landasan Teori

BAB I PERSYARATAN PRODUK

PENERAPAN JAVA SERVER FACES UNTUK DESIGN PATTERN WEB

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB III LANDASAN TEORI

cenderung semakin murah, dan didukung oleh perangkat lunak yang berbasis open-source, maka pemanfaatan website dapat menjadi sebuah peluang (Sriyanto

BERKENALAN DENGAN MODEL CODEIGNITER

BAB I PENDAHULUAN 1.1 Latar Belakang

Mengenal Framework Codeigniter

Bab 2 Tinjauan Pustaka 2.1 Kajian Pustaka

PENGEMBANGAN SISTEM MANAJEMEN JURUSAN DAN LABORATORIUM TI UNIVERSITAS SILIWANGI BERBASIS FRAMEWORK

PERANCANGAN LibraryUMS-CMS MENGGUNAKAN CODEIGNITER

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. dilakukan dengan menggunakan teknologi yang berbeda beda. Selain itu terdapat

BAB II DASAR TEORI Pengertian Framework

1 BAB 1 PENDAHULUAN 1.1 Latar Belakang

Bab 3 Metode dan Perancangan Sistem

Membangun Aplikasi Berbasis Web Dengan CodeIgniter Framework. Helmy Faisal Muttaqin

BAB III ANALISIS. 3.1 Model Penerapan BPM pada SOA III-1

Gambar 1. 1 Diagram Populer Framework (Sumber :

CODEIGNITER 3. Belajar Mandiri. Zamah Sari

Bab 2 Tinjauan Pustaka 2.1 Penelitian terdahulu

BAB V PERANCANGAN MOXIE

Mengenal Codeigniter (CI) Framework

PEMROGRAMAN WEB BERBASIS FRAMEWORK. PERTEMUAN 1 : PENGENALAN WEB FRAMEWORK. HASANUDDIN, S.T., M.CS. PRODI TEKNIK INFORMATIKA UAD

HASIL DAN PEMBAHASAN Investigasi Awal

Pemrograman Web. Model View Controller. Adam Hendra Brata

Arsitektur Aplikasi Web

BAB I PENDAHULUAN. 1.1 Latar Belakang

TONI CANDRA KUNCORO RANCANG BANGUN JEJARING SOSIAL UNTUK INTERAKSI ANTAR PECINTA BATIK BERBASIS YII FRAMEWORK

BAB III LANDASAN TEORI

PROTOTIPE SISTEM MANAJEMEN TUGAS AKHIR BERBASIS WEB MENGGUNAKAN TEKNOLOGI JAVA SERVER FACES (JSF) NASKAH PUBLIKASI. Oleh: Gita Indah Marthasari, S.

Basis Data 2. Database Client / Server. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

PHP Development. Training Syllabus

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. sebuah sistem pencarian lokasi kuliner berbasis mobile web untuk wilayah

Arsitektur Aplikasi Web

Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller (MVC) pada Framework Java Server Faces

BAB I PENDAHULUAN 1.1 Latar Belakang

Bab V Perancangan Model Ensiklopedia

PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. web menjadi makin luas. Situs web tidak lagi menampilkan informasi statis, namun

BAB I PENDAHULUAN. Dari tahun ke tahun sudah tidak dapat dipungkiri bahwa teknologi informasi

PERANCANGAN DENGAN PEMAKAIAN ULANG

BAB IV IMPLEMENTASI DAN PENGUJIAN

TAKARIR. : Sebuah dokumen dalam bentuk cetak : Halaman pengisian data

Sistem Informasi Akademik Berbasis Framework Codeigniter Pada SMA Muhammadiyah 6 Palembang MenggunakanMetode (HMVC)

FRAMEWORK CODEIGNITER

MEMBANGUN SISTEM INFORMASI PENGELOLAAN SURAT MENGGUNAKAN METODE WATERFALL STUDI KASUS DIREKTORAT PERENCANAAN DAN PENGEMBANGAN PENDANAAN PEMBANGUNAN

Pemrograman Web Berbasis Framework. Pertemuan 1 : Pengenalan Web Framework. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

BAB III LANDASAN TEORI. adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan,

BAB III LANDASAN TEORI

PENGEMBANGAN CODE GENERATOR BERBASIS WEB UNTUK MEMBANGKITKAN KODE MODUL APLIKASI WEB

I. Pengenalan Play Framework

IMPLEMENTASI MODEL-VIEW-CONTROLLER UNTUK PERANCANGAN APLIKASI CHATROOM

Bab 2. Tinjauan Pustaka

Chapter 11 Assuring the quality of software maintenance components

BAB 1 PENDAHULUAN. instansi-instansi yang sudah terorganisir dengan baik. Misalnya Pusat Studi Qur an (PSQ)

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB III LANDASAN TEORI

BAB I PENDAHULUAN. media pembelajaran itu adalah e-learning. E-learning merupakan suatu teknologi informasi

BAB III LANDASAN TEORI. user management seperti yang diuraikan oleh definisi-definisi berikut.

RANCANG BANGUN APLIKASI ALOKASI RESOURCE MANAGEMENT DI FAKULTAS TEKNIK UNIVERSITAS TANJUNGPURA

3.1 Ganesha Digital Library

Implementasi Manajemen Perpustakaan menggunakan Framework Codeigniter (CI) Dengan Teknik Hierarchical model view controller (HMVC) ARI MUZAKIR *

BAB II ANALISIS DAN PERANCANGAN. Sistem informasi penjualan dan pembelian Tissue SMART NARENA

3 BAB III LANDASAN LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan semakin pesatnya perkembangan teknologi yang ada,

ABSTRAK. Kata Kunci : MVC (Model View Controller), Codeigniter PHP Framework, MySQL. Universita s Kristen Maranatha

BAB 1 PENDAHULUAN 1.1. Latar Belakang

Pengumpulan Data. Analisa Data. Pembuatan Use Case,Activity dan Sequence Diagram. Perancangan Database. Bisnis Proses.

BAB 2 DASAR TEORI. 2.1 Service Oriented Architecture (SOA) Konsep Service Oriented 2-1

BAB III LANDASAN TEORI

BAB II LANDASAN TEORI

Agi Putra Kharisma, S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang

MODUL I PENGENALAN VISUAL BASIC.NET

BAB III LANDASAN TEORI

Sekilas Tentang Cake PHP Oleh : Sunu Wibirama 1

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang

MODEL DESAIN & DOKUMENTASI DESAIN

BAB II LANDASAN TEORI. Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

Tugas 5 Rekayasa Perangkat Lunak. Artikel mengenai Modularity dalam perangkat Lunak

BAB II LANDASAN TEORI

Bab 2 Tinjauan Pustaka

BAB I PENDAHULUAN. pesat terutama perkembangan internet. Dengan adanya internet dapat

PEMBANGUNAN SISTEM INFORMASI SPARE PARTS TERINTEGRASI BERBASIS WEB

Makalah Seminar Kerja Praktek

Pemrograman Visual. Pengenalan Visual Basic. Sisilia Thya Safitri, MT Agus Priyanto, M.KOM

BAB 2 LANDASAN TEORI. Data adalah fakta atau bagian dari fakta yang digambarkan dengan simbol-simbol,

Pengujian Perangkat Lunak

Transkripsi:

MI2193 PEMROGRAMAN WEB LANJUT PHP FRAMEWORK Created by MTA Revised by HPU

SET THE FRAME, GET TO WORK Arsitektur MVC Programming-in-large Pengembangan Berbasis Komponen Framework

MODEL-VIEW-CONTROLLER (MVC) MVC adalah pola arsitektur pada perangkat lunak yang memisahkan interaksi antara user dengan aplikasi ke dalam tiga role: Model (business logic) View (user interface) Controller (process logic / user input) Pemisahan urusan ini memungkinkan pengembangan, pengujian, dan pemeliharaan perangkat lunak pada tiap role menjadi lebih fleksibel dan independen

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

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

CONTROLLER Menerima input user Merespon dengan memanggil objek Model Memberi instruksi pada Model untuk melakukan aksi berdasarkan input tadi Contoh: kelas pemrosesan, servlet, dll

ALUR SIKLUS MVC User berinteraksi dengan View (UI) dengan cara tertentu (misal: klik tombol) Controller menangani input dari View, menerjemahkannya menjadi instruksi aksi yang 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

ALUR SIKLUS MVC

CONTOH WEB APP MVC

PROGRAMMING-IN-LARGE Pengembangan PL skala besar, yaitu integrasi dari kumpulan modul yg banyak untuk membentuk 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

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)

PROGRAMMING-IN-LARGE D&C

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 suatu konfigurasi, dan harus sefleksibel mungkin agar mudah untuk diimplementasikan oleh pengembang ke dalam aplikasi yang berbeda tersebut

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

ALUR KOMPONEN

CONTOH KOMPONEN Model: Kelas Representasi Basis Data View: Tampilan Form Input Controller: FileReader, InputParser

FRAMEWORK Suatu aplikasi parsial berbasis komponen yg dikhususkan untuk pembangunan aplikasi 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

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

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

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

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

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

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

SPF: DOS & DON TS Mulailah dari task yg simpel Jangan memakai framework tidak seperti yg telah didesainkan untuknya, kenali pola dan asumsinya Jangan mengubah komponen di dalam atau flow control dasar framework, cukup mengerti alur luarnya dan cara menghubungkannya

SPF: DOS & DON TS Memakai framework berarti simplifikasi kode, bila kode custom masih terlalu banyak, berarti framework yg dipilih salah atau belum dapat memakai framework dengan benar dan semestinya

SPF: DOS & DON TS Simplifikasi kode bukan berarti simplifikasi integrasi, malah sebaliknya. Selalu integrasikan 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

SPF: DOS & DON TS Jangan berhenti belajar, jangan menyerah Biasakan update versi terbaru framework untuk mengatasi bug internal dari komponen dasarnya Yang pertama selalu paling sulit dan memakan waktu lama. Tetapi untuk ke depannya, konsep reusable akan sangat berguna dan membuat pengembangan lebih cepat secara signifikan