SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Pemrograman Web
Berbasis Framework
Hasanuddin, S.T., M.Cs.
Prodi Teknik Informatika UAD
hasan@uad.ac.id
Pertemuan 1 :
Pengenalan Web Framework
Cakupan Materi
• Kuliah sistem sks
• Silabi Matakuliah
• Informasi Perkuliahan
• Sistem Penilaian
• Penjelasan tugas individu & tim
• Referensi
• Pengenalan Web Framework
Kuliah Sistem sks
• sks=sistem kredit semester
– 1 sks = 3 jam pelajaran
• 1 jam  tatap muka
• 1 jam  mandiri
• 1 jam  diskusi
• Nama matkul: Pemrograman Web Berbasis
Framework
• Kredit = 3 sks
– 2 sks teori (tatap muka di kelas)
– 1 sks praktik (lab: 10x pertemuan + 1 x responsi)
Cakupan Materi Perkuliahan
1. Pengenalan Web Framework
2. OOP dalam Pemrograman Web
3. OOP dalam Web Database
4. Konsep MVC : Controller
5. Konsep MVC : View
6. Konsep MVC : Model
7. Keamanan Aplikasi
8. Penanganan File dan Image
9. Pembuatan Grafik
10.Penerapan AJAX dan JQuery dalam Web Framework
11.Konversi Data
12.Template Engine dengan SMARTY
13.Studi Kasus : Pengembangan Project
14.Studi Kasus : Pengembangan Project (2)
Informasi Perkuliahan
• Materi dan informasi seputar perkuliahan :
– http://hasan.staff.uad.ac.id
– http://tif.uad.ac.id
• Konsultasi :
– Mail: hasan@uad.ac.id
– Ym: hasan5054
Sistem Penilaian
• Tugas/quiz 10%
• Project Aplikasi  10%
• Praktikum  20%
• MID/UTS 25%
• UAS 35%
• Kehadiran <75% TIDAK
DIPERKENANKAN UAS
Tugas & Quiz
• Tugas dilaksanakan sebanyak 4 x
– 2 x secara individu (sebelum UTS)
– 2 x kelompok (setelah UTS)
• Jawaban tugas dapat dikumpulkan melalui lembar jawaban
atau softcopy (file) disesuaikan dengan perintah tugasnya.
• Semua mahasiswa peserta matakuliah wajib mengerjakan
tugas walaupun pada saat diberikan tugas tidak hadir.
• Quiz dilaksanakan sebanyak 2 x
• Pelaksanaan quiz tidak terjadwal 9sewaktu-waktu)
• Mahasiswa yang mengikuti quiz hanya mahasiswa yang
hadir saat pelaksanaan quiz
Tugas Kelompok (Project Aplikasi)
• Kriteria : pembangunan aplikasi sederhana berbasis web
• Anggota tim : 3 – 5 mhs (tidak berlaku untuk mhs
Prosus)
• Tools : Framework CodeIgniter (CI)
• Tiap tim membangun sistem yg berbeda berdasar tema
yang akan diumumkan pada pertemuan pertama setelah
UTS
• Target penilaian:
– Proses: analisis, desain, implementasi, testing, dll
– Produk: dokumentasi seluruh tahap, source code,
materi presentasi, dll
Referensi :
• Ahsanul Bari dan Anupom Syam, CakePHP Application
Development: Step-by-step introduction to rapid web
development using the open-source MVC CakePHP
framework, Packt Publishing, 2008.
• David Upton, CodeIgniter for Rapid PHP Application
Development: Improve your PHP coding productivity with
the free compact open-source MVC CodeIgniter
framework, Packt Publishing, 2007.
• Awan Pribadi Basuki, Membangun Web Berbasis PHP
dengan Framework CodeIgniter, Loko Media, Yogyakarta,
2010.
• Wardana, Menjadi Master PHP dengan Framework
CodeIgniter, Elexmedia Komputindo, Jakarta, 2010.
Pokok Bahasan Materi 1
• Pendahuluan
• Sejarah Perkembangan
• CMS dan Web Framework
• Jenis web framework
• Arsitektur web framework
• Memilih web framework
TIK :
Setelah mengikuti kuliah ini mahasiswa dapat
mengetahui dan memahami dasar-dasar web
framework
Pendahuluan
 Web framework biasa dikenal dengan web
application framework
 Web application framework adalah suatu
software framework yang didesain untuk
mendukung pengembangan web dinamis,
aplikasi web dan web service. (wikipedia)
 Pemrograman web berbasis framework
didasarkan pada konsep OOP (Object Oriented
Programming)
 Matakuliah terkait :
 Pemrograman C++ (Dasar-Dasar Pemrograman)
 Algoritma dan pemrograman
 Pemrograman Internet (Pemrograman Web Dinamis)
Sejarah 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)
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
CMS dan Web Framework (2)
Web Framework:
• Fleksibel untuk pengembangan aplikasi berbasis web
• Dapat digunakan untuk membuat CMS tertentu sesuai
kebutuhan.
• Secara umum lebih secure dibanding CMS karena sistem
terbagi 3 (model, view, controller)
• Pengembang web harus menguasai konsep OOP dan MVC
• Contoh :
– CodeIgniter (CI)
– CakePHP
– Zend Framework
– DooPHP
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 (2)
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 (3)
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
Arsitektur Web Framework
• Berhubungan erat dengan konsep MVC :
 Model – mengandung fungsi-fungsi untuk berkomunikasi
dengan database, seperti : mengambil data produk dengan
id tertentu, hapus produk, menyimpan komentar pada blog.
 View – kode yang mengeluarkan HTML yang akan dilihat
oleh pengunjung.
 Controller – kode yang memeriksa input dari pengunjung
dan memilih apa yang harus dilakukan.
 Kenapa sih harus dipisah ? Tentu saja untuk mempercepat &
mempermudah proses pengembangan perangkat lunak
Arsitektur Web Framework (2)
Ilustrasi cara kerja aplikasi MVC :
 Pengguna mengklik sebuah link untuk membuka shopping cart.
Misalnya linknya seperti ini :
myblondestore.com/index.php/shoppingcart/view
 HTTP request ini akan dikirim ke server dan diperiksa oleh
sebuah file index.php dan dipilah-pilah.
 Misalnya dengan modifikasi URL, diketahui bahwa shoppingcart
adalah nama obyek CONTROLLER dan view adalah fungsi yg
digunakan untuk menampilkan obyek tadi.
 Maka dipanggilah file CONTROLLER shoppingcart dengan fungsi
view
 Pada CONTROLLER ini ada satu baris kode yang memanggil
MODEL bernama query yang ada di file lain. Query ini bertugas
menampilkan barang-barang yang dipilih oleh pelanggan.
 Data hasil query oleh kode di CONTROLLER akan diperiksa dan
dikirimkan ke file-file php yg bertugas menampilkan data hasil
query ini. File-file PHP yg bertugas menampilkan data ini disebut
VIEW.
Arsitektur Web Framework (3)
Memilih PHP Framework
 Ketika kita dihadapkan pada sebuah project web yang
memang memerlukan pengerjaan dari awal dan CMS yang
ada tidak memenuhi requirement, pilihannya adalah:
 buat semuanya dari awal, termasuk fungsi-fungsi, class-class dsb
 menggunakan fungsi-fungsi dan class-class yang udah ada
 menggunakan PHP framework
 Tips :
 Jangan hanya berdasarkan fitur tapi sesuaikan dengan kebutuhan
project dan kemampuan individu
 Seberapa banyak waktu yang dimiliki
 Dokumentasi & Komunitas
 Third Party Support
 Jangan terpengaruh pendapat orang lain, karena kebutuhan masing-
masing individu berbeda-beda.
Memilih PHP Framework (2)
 Pilihan framework yang cukup terkenal (menurut :
okto.silaban.net):
 Prado - PHP (contoh : website Univertias
Indonesia)
 CodeIgniter - PHP(contoh : OkeZone.com)
 Ruby On Rails - Ruby (contoh : SharingFoto.com)
 CakePHP - PHP (contoh : OwnCafe.com) : Salah
seorang yang sangat aktif dalam edukasi
CakePHP di Indonesia adalah Sunu Wibirama
(alumni Teknik Elektro UGM). Situs lokal cake-php
bisa dilihat di idcake.web.id.
 Symfony (PHP), Django (Python), dll
Resorce
Review web framework (www.phpframeworks.com)

Más contenido relacionado

La actualidad más candente

Tugas topik khusus
Tugas topik khususTugas topik khusus
Tugas topik khususwardandha
 
Tugas 4 0916 dimas setiadi 1511510610
Tugas 4 0916 dimas setiadi 1511510610Tugas 4 0916 dimas setiadi 1511510610
Tugas 4 0916 dimas setiadi 1511510610Dimas Setiadi
 
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]bobogi
 
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptxTugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptxjeffry putra
 

La actualidad más candente (6)

Tugas topik khusus
Tugas topik khususTugas topik khusus
Tugas topik khusus
 
Pengertian yii framework
Pengertian yii frameworkPengertian yii framework
Pengertian yii framework
 
Tugas 4 0916 dimas setiadi 1511510610
Tugas 4 0916 dimas setiadi 1511510610Tugas 4 0916 dimas setiadi 1511510610
Tugas 4 0916 dimas setiadi 1511510610
 
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
 
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptxTugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
 
Cms
CmsCms
Cms
 

Similar a Web Framework Pemrograman

Modul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarRidwan Fadjar
 
Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Koplak Koplakan
 
Codeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniCodeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniAnnisa Nur Fitriyani
 
Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterAdi Setiawan
 
Materi-bab1.pptx
Materi-bab1.pptxMateri-bab1.pptx
Materi-bab1.pptxAhmadFaid4
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfSetiya Nugroho
 
Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)Filsaf Kurniawan
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Andarias Jacob Calvyn
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneterCecilia Cintahta
 
media interakitf berbasis halaman website
media interakitf berbasis halaman websitemedia interakitf berbasis halaman website
media interakitf berbasis halaman websiteMIlham52
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Sugeng Nirwoto
 
Membangun aplikasi berbasis web dengan menggunakan framework
Membangun aplikasi berbasis web dengan menggunakan frameworkMembangun aplikasi berbasis web dengan menggunakan framework
Membangun aplikasi berbasis web dengan menggunakan frameworkGst Ayu Indriani
 
Apa Itu Framework CodeIgniter?
Apa Itu Framework CodeIgniter?Apa Itu Framework CodeIgniter?
Apa Itu Framework CodeIgniter?jundi26
 
PENGANTAR_CODEIGNITER_pptx.pptx
PENGANTAR_CODEIGNITER_pptx.pptxPENGANTAR_CODEIGNITER_pptx.pptx
PENGANTAR_CODEIGNITER_pptx.pptxssusere1afff
 
Perkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan website
Perkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan websitePerkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan website
Perkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan websiteNepri Anto
 

Similar a Web Framework Pemrograman (20)

Modul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter Dasar
 
Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)
 
Codeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniCodeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur Fitriyani
 
Pengenalan code igniter
Pengenalan code igniterPengenalan code igniter
Pengenalan code igniter
 
Kelompok 3.pptx
Kelompok 3.pptxKelompok 3.pptx
Kelompok 3.pptx
 
Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniter
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
Materi-bab1.pptx
Materi-bab1.pptxMateri-bab1.pptx
Materi-bab1.pptx
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
 
Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneter
 
Tugas 4 rekayasa web (0916)
Tugas 4   rekayasa web (0916)Tugas 4   rekayasa web (0916)
Tugas 4 rekayasa web (0916)
 
media interakitf berbasis halaman website
media interakitf berbasis halaman websitemedia interakitf berbasis halaman website
media interakitf berbasis halaman website
 
Pengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniterPengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniter
 
Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045Tugas pbw 1310652044_1310652045
Tugas pbw 1310652044_1310652045
 
Membangun aplikasi berbasis web dengan menggunakan framework
Membangun aplikasi berbasis web dengan menggunakan frameworkMembangun aplikasi berbasis web dengan menggunakan framework
Membangun aplikasi berbasis web dengan menggunakan framework
 
Apa Itu Framework CodeIgniter?
Apa Itu Framework CodeIgniter?Apa Itu Framework CodeIgniter?
Apa Itu Framework CodeIgniter?
 
PENGANTAR_CODEIGNITER_pptx.pptx
PENGANTAR_CODEIGNITER_pptx.pptxPENGANTAR_CODEIGNITER_pptx.pptx
PENGANTAR_CODEIGNITER_pptx.pptx
 
Perkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan website
Perkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan websitePerkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan website
Perkenalan dengan-codeigniter-framework LPK NAURA Kursus Komputer dan website
 

Web Framework Pemrograman

  • 1. Pemrograman Web Berbasis Framework Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD hasan@uad.ac.id Pertemuan 1 : Pengenalan Web Framework
  • 2. Cakupan Materi • Kuliah sistem sks • Silabi Matakuliah • Informasi Perkuliahan • Sistem Penilaian • Penjelasan tugas individu & tim • Referensi • Pengenalan Web Framework
  • 3. Kuliah Sistem sks • sks=sistem kredit semester – 1 sks = 3 jam pelajaran • 1 jam  tatap muka • 1 jam  mandiri • 1 jam  diskusi • Nama matkul: Pemrograman Web Berbasis Framework • Kredit = 3 sks – 2 sks teori (tatap muka di kelas) – 1 sks praktik (lab: 10x pertemuan + 1 x responsi)
  • 4. Cakupan Materi Perkuliahan 1. Pengenalan Web Framework 2. OOP dalam Pemrograman Web 3. OOP dalam Web Database 4. Konsep MVC : Controller 5. Konsep MVC : View 6. Konsep MVC : Model 7. Keamanan Aplikasi 8. Penanganan File dan Image 9. Pembuatan Grafik 10.Penerapan AJAX dan JQuery dalam Web Framework 11.Konversi Data 12.Template Engine dengan SMARTY 13.Studi Kasus : Pengembangan Project 14.Studi Kasus : Pengembangan Project (2)
  • 5. Informasi Perkuliahan • Materi dan informasi seputar perkuliahan : – http://hasan.staff.uad.ac.id – http://tif.uad.ac.id • Konsultasi : – Mail: hasan@uad.ac.id – Ym: hasan5054
  • 6. Sistem Penilaian • Tugas/quiz 10% • Project Aplikasi  10% • Praktikum  20% • MID/UTS 25% • UAS 35% • Kehadiran <75% TIDAK DIPERKENANKAN UAS
  • 7. Tugas & Quiz • Tugas dilaksanakan sebanyak 4 x – 2 x secara individu (sebelum UTS) – 2 x kelompok (setelah UTS) • Jawaban tugas dapat dikumpulkan melalui lembar jawaban atau softcopy (file) disesuaikan dengan perintah tugasnya. • Semua mahasiswa peserta matakuliah wajib mengerjakan tugas walaupun pada saat diberikan tugas tidak hadir. • Quiz dilaksanakan sebanyak 2 x • Pelaksanaan quiz tidak terjadwal 9sewaktu-waktu) • Mahasiswa yang mengikuti quiz hanya mahasiswa yang hadir saat pelaksanaan quiz
  • 8. Tugas Kelompok (Project Aplikasi) • Kriteria : pembangunan aplikasi sederhana berbasis web • Anggota tim : 3 – 5 mhs (tidak berlaku untuk mhs Prosus) • Tools : Framework CodeIgniter (CI) • Tiap tim membangun sistem yg berbeda berdasar tema yang akan diumumkan pada pertemuan pertama setelah UTS • Target penilaian: – Proses: analisis, desain, implementasi, testing, dll – Produk: dokumentasi seluruh tahap, source code, materi presentasi, dll
  • 9. Referensi : • Ahsanul Bari dan Anupom Syam, CakePHP Application Development: Step-by-step introduction to rapid web development using the open-source MVC CakePHP framework, Packt Publishing, 2008. • David Upton, CodeIgniter for Rapid PHP Application Development: Improve your PHP coding productivity with the free compact open-source MVC CodeIgniter framework, Packt Publishing, 2007. • Awan Pribadi Basuki, Membangun Web Berbasis PHP dengan Framework CodeIgniter, Loko Media, Yogyakarta, 2010. • Wardana, Menjadi Master PHP dengan Framework CodeIgniter, Elexmedia Komputindo, Jakarta, 2010.
  • 10. Pokok Bahasan Materi 1 • Pendahuluan • Sejarah Perkembangan • CMS dan Web Framework • Jenis web framework • Arsitektur web framework • Memilih web framework TIK : Setelah mengikuti kuliah ini mahasiswa dapat mengetahui dan memahami dasar-dasar web framework
  • 11. Pendahuluan  Web framework biasa dikenal dengan web application framework  Web application framework adalah suatu software framework yang didesain untuk mendukung pengembangan web dinamis, aplikasi web dan web service. (wikipedia)  Pemrograman web berbasis framework didasarkan pada konsep OOP (Object Oriented Programming)  Matakuliah terkait :  Pemrograman C++ (Dasar-Dasar Pemrograman)  Algoritma dan pemrograman  Pemrograman Internet (Pemrograman Web Dinamis)
  • 12. Sejarah 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)
  • 13. 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
  • 14. CMS dan Web Framework (2) Web Framework: • Fleksibel untuk pengembangan aplikasi berbasis web • Dapat digunakan untuk membuat CMS tertentu sesuai kebutuhan. • Secara umum lebih secure dibanding CMS karena sistem terbagi 3 (model, view, controller) • Pengembang web harus menguasai konsep OOP dan MVC • Contoh : – CodeIgniter (CI) – CakePHP – Zend Framework – DooPHP
  • 15. 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)
  • 16. Jenis Web Framework (2) 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!)
  • 17. Jenis Web Framework (3) 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
  • 18. Arsitektur Web Framework • Berhubungan erat dengan konsep MVC :  Model – mengandung fungsi-fungsi untuk berkomunikasi dengan database, seperti : mengambil data produk dengan id tertentu, hapus produk, menyimpan komentar pada blog.  View – kode yang mengeluarkan HTML yang akan dilihat oleh pengunjung.  Controller – kode yang memeriksa input dari pengunjung dan memilih apa yang harus dilakukan.  Kenapa sih harus dipisah ? Tentu saja untuk mempercepat & mempermudah proses pengembangan perangkat lunak
  • 19. Arsitektur Web Framework (2) Ilustrasi cara kerja aplikasi MVC :  Pengguna mengklik sebuah link untuk membuka shopping cart. Misalnya linknya seperti ini : myblondestore.com/index.php/shoppingcart/view  HTTP request ini akan dikirim ke server dan diperiksa oleh sebuah file index.php dan dipilah-pilah.  Misalnya dengan modifikasi URL, diketahui bahwa shoppingcart adalah nama obyek CONTROLLER dan view adalah fungsi yg digunakan untuk menampilkan obyek tadi.  Maka dipanggilah file CONTROLLER shoppingcart dengan fungsi view  Pada CONTROLLER ini ada satu baris kode yang memanggil MODEL bernama query yang ada di file lain. Query ini bertugas menampilkan barang-barang yang dipilih oleh pelanggan.  Data hasil query oleh kode di CONTROLLER akan diperiksa dan dikirimkan ke file-file php yg bertugas menampilkan data hasil query ini. File-file PHP yg bertugas menampilkan data ini disebut VIEW.
  • 21. Memilih PHP Framework  Ketika kita dihadapkan pada sebuah project web yang memang memerlukan pengerjaan dari awal dan CMS yang ada tidak memenuhi requirement, pilihannya adalah:  buat semuanya dari awal, termasuk fungsi-fungsi, class-class dsb  menggunakan fungsi-fungsi dan class-class yang udah ada  menggunakan PHP framework  Tips :  Jangan hanya berdasarkan fitur tapi sesuaikan dengan kebutuhan project dan kemampuan individu  Seberapa banyak waktu yang dimiliki  Dokumentasi & Komunitas  Third Party Support  Jangan terpengaruh pendapat orang lain, karena kebutuhan masing- masing individu berbeda-beda.
  • 22. Memilih PHP Framework (2)  Pilihan framework yang cukup terkenal (menurut : okto.silaban.net):  Prado - PHP (contoh : website Univertias Indonesia)  CodeIgniter - PHP(contoh : OkeZone.com)  Ruby On Rails - Ruby (contoh : SharingFoto.com)  CakePHP - PHP (contoh : OwnCafe.com) : Salah seorang yang sangat aktif dalam edukasi CakePHP di Indonesia adalah Sunu Wibirama (alumni Teknik Elektro UGM). Situs lokal cake-php bisa dilihat di idcake.web.id.  Symfony (PHP), Django (Python), dll
  • 23. Resorce Review web framework (www.phpframeworks.com)