IKG3A3 / Software Project II

dokumen-dokumen yang mirip
Mengenal Codeigniter (CI) Framework

I. Pengenalan Play Framework

CODEIGNITER 3. Belajar Mandiri. Zamah Sari

Materi 2 E-Commerce Lanjut (CodeIgniter) 3 SKS Semester 7 S1 Sistem Informasi UNIKOM 2015 Nizar Rabbi Radliya

Pemrograman Web Berbasis Framework. Pertemuan 4 : Konsep MVC : Controller. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Bab 2 Tinjauan Pustaka 2.1 Kajian Pustaka

PHP dan Framework CodeIgniter

Belajar dasar codeigniter framework

BERKENALAN DENGAN MODEL CODEIGNITER

Pertemuan 1. Pengenalan Code Igniter dan Pengaksesan Controller

Pengantar. Persyaratan Sistem. Cara Menginstall

Pengembangan Aplikasi Menggunakan Framework Code Igniter 3 Level Basic. Helmy Faisal Muttaqin, S.Kom, M.T

Bab 5 CodeIgniter (CI)

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

FRAMEWORK. Dengan framework seorang web programmer dapat membangun aplikasi

Sering kita mendengar tentang MVC Framework PHP tetapi kurang mengerti belum arti dari

BAB 3 LANDASAN TEORI

Framework CodeIgniter Part 1

RANCANG BANGUN SISTEM INFORMASI INVENTARISASI LAPORAN TUGAS AKHIR MAHASISWA PROGRAM STUDI TEKNIK INFORMATIKA BERBASIS FRAMEWORK CODEIGNITER

3 BAB III LANDASAN LANDASAN TEORI

BAB III LANDASAN TEORI

aplikasi. berasal dari CI. kita sendiri. caching library. internals CI. CI. CI.

PHP Development. Training Syllabus

Mengembangkan Component Joomla Oleh : Garry B.

BAB II ANALISIS DAN PERANCANGAN. pendekatan perancangan sistem berorientasi objek. Perancangan sistem

BAB III LANDASAN TEORI

Bagian II Dasar-Dasar CodeIgniter

CodeIgniter.

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

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

BAB II LANDASAN TEORI

Mengenal Framework Codeigniter

BAB II LANDASAN TEORI

PRAKTIKUM. Rekayasa Web. Modul 2: CRUD CodeIgniter Part I. Laboratorium Teknik Informatika Universitas Pasundan

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

LAPORAN PRAKTIKUM TEKNOLOGI FRAMEWORK PERTEMUAN KE 1

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

FRAMEWORK CODEIGNITER

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

Membangun Aplikasi Berbasis Web Dengan CodeIgniter Framework. Helmy Faisal Muttaqin

Sanksi Pelanggaran Pasal 72 Undang-undang Nomor 19 Tahun 2002 Tentang Hak Cipta 1. Barangsiapa dengan sengaja melanggar dan tanpa hak melakukan

UNIVERSITAS MERCU BUANA FAKULTAS : ILMU KOMPUTER PROGRAM STUDI : SISTEM INFORMASI

BAB II ANALISIS DAN PERANCANGAN

Bab 2 Tinjauan Pustaka 2.1 Penelitian terdahulu

KONTRAK BELAJAR. Nama Mata Kuliah : Web Dinamis Lanjut Kode Mata Kuliah : IKB : Wahyu Widodo, S.Kom Semester : 5

RENCANA PEMBELAJARAN SEMESTER (RPS)

BAB IV HASIL DAN PEMBAHASAN

BAB III LANDASAN TEORI

Membuat Toko Online dengan Teknik OOP, MVC, dan AJAX

PEMROGRAMAN PHP DASAR

Mudafiq R. Pratama

MEMBUAT PAGINATION PADA FRAMEWORK CODEIGNITER

PELATIHAN PHP ALUMNI DAN CALON ALUMNI INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA. By: Julianto Lemantara, S,Kom., M.Eng

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI KARYA. Pada bab ini dijelaskan tentang proses produksi tentang pembuatan website

Advantages. Keunggulan :

BAB 3 LANDASAN TEORI. Pada bab 3 ini akan membahas mengenai landasan. teori mengenai data, sistem informasi, sistem informasi

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling. untuk menyelesaikan suatu sasaran tertentu.

BAB II LANDASAN TEORI

Oleh: Ahmad Syauqi Ahsan

WELCOME MESSAGE WE STARTED AT. 10 March 2016 dimana komunitas ini didirikan

BAB III LANDASAN TEORI

RENCANA PEMBELAJARAN SEMESTER (RPS)

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

Oleh: Ahmad Syauqi Ahsan

TUTORIAL FRAMEWORK. 1. Pengertian Framework.

BAB I PENDAHULUAN... I-1

BAB IV IMPLEMENTASI DAN PENGUJIAN

LANDASAN TEORI. yang sudah ada untuk mencapai tujuan yang dimaksud. Pada umumnya sistem diartikan sebagai sekumpulan unsur atau elemen yang

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

7.2 Saran DAFTAR PUSTAKA LAMPIRAN

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

IMPLEMENTASI MVC PADA SITUS PORTAL PENCARIAN UNIVERSITAS DI DAERAH ISTIMEWA YOGYAKARTA. Rionaldi Sugiarto Katon Wijana, Wimmie Handiwidjojo

MEMBANGUN APLIKASI MENGGUNAKAN FRAMEWORK KOHANA (STUDI KASUS PUSKESMAS KALASAN)

Framework Codeigniter. Sebuah Panduan dan Best Practice

Hal yang harus diperhatikan dalam penggunaan AJAX adalah: XHTML dan CSS digunakan untuk menandai dan mempercantik tampilan informasi.

Mudafiq R. Pratama

Membuat Aplikasi Point of Sale dengan Laravel dan AJAX

Pengenalan Script. Definisi HTML

IKG2I4 / Software Project I

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

Trik Mudah Membuat CMS Website dari Nol

Bab 2 Tinjauan Pustaka

PEMANFAATAN FRAMEWORK CODEIGNITER DALAM PEMBANGUNAN APLIKASI PIPELINE INTEGRITY MANAGEMENT SISTEM (PIMS) Rahmad Syalevi

PENERAPAN JAVA SERVER FACES UNTUK DESIGN PATTERN WEB

Object-Oriented Programming Sederhana Dengan PHP

Pembuatan Sistem Informasi Akademik SMAN 2 Banda Aceh. Menggunakan Web Framework Codeigniter

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Penerapan Teknologi Framework CodeIgniter untuk. membangun Diskusi Online oleh Ahmad Muhajir ( Akakom 2016,

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Codelgnite (CI) aplikasi sumber terbuka yang berupa framework PHP

Lasmedi Afuan. Program Studi Teknik Informatika. FST, UNSOED Jl. Dr Soeparno Kampus MIPA Unsoed Karangwangkal. Purwokerto

Membuat CRUD Sederhana pada Framework Laravel

BAB III LANDASAN TEORI. Pada bab ini akan dibahas dasar-dasar teori yang berkaitan dengan pembangunan sistem.

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

IKG3A3 / Software Project II

E-trik Ajax. Database MySQL. Dedi Alnas

Pemrograman Web Week 1. Team Teaching

MENGHILANGKAN INDEX.PHP PADA FRAMEWORK CODEIGNITER

Transkripsi:

IKG3A3 / Software Project II Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 7 1 8/25/2015

WEEK 7 Framework MVC (model-view-controller) CodeIgniter 2 8/25/2015 IKG3A3 - Software Project II

WHY FRAMEWORK? Alasan Menggunakan Framework : (1) standard coding : sebuah standar yang harus diikuti oleh programmer untuk menulis code (2) best practice : kumpulan-kumpulan action yang telah teruji oleh para expert (3) design pattern : teknik-teknik yang menjadi best practice (4) common function : fungsi-fungsi atau library yang telah umum digunakan dalam pengembangan sebuah sistem 3 8/25/2015 IKG3A3 - Software Project II

PENGENALAN CODEIGNITER Apa itu CodeIgniter? Arsitektur Kelebihan dan Kekurangan 4 8/25/2015 IKG3A3 - Software Project II

CODE IGNITER CodeIgniter adalah sebuah framework PHP yang dapat mempercepat pengembang untuk membuat sebuah aplikasi web toolkit. CodeIgniter merupakan framework open source. Dibuat oleh EllisLab. First Launching CodeIgniter Ver. 1.0 pada 28 Februari 2006. 5 8/25/2015 IKG3A3 - Software Project II

FITUR CODEIGNITER Dapat dijalankan pada PHP 4 atau di atasnya, khusus CI 2.0 tidak mendukung PHP4 Relatif Ringan (Light Weight) Relatif Sangat Cepat Menggunakan Model View Control (M-V-C) URL-nya jelas : diminimalisasi penggunaan $_GET dan digantikan dengan URL Paket yang mudah diperoleh : Tidak membutuhkan server requirement yang macam-macam serta mudah mengadopsi library. Learning Curve Rendah : Mudah dipelajari Komunitas Pengguna yang cukup banyak Dokumentasinya jelas dan mudah 6 8/25/2015 IKG3A3 - Software Project II

MVC model Otak dari aplikasi ada di controller. Wajah aplikasi ada di view. Data ada di model.

MODEL-VIEW-CONTROLLER Pattern/teknik pemogramanan yang memisahkan business logic (alur pikir), data logic (penyimpanan data) dan presentation logic (antar muka aplikasi). Pemisah antara desain, data dan proses. 8 8/25/2015 IKG3A3 - Software Project II

MODEL Model berhubungan dengan data dan interaksi ke database atau webservice. Model merepresentasikan struktur data dari aplikasi yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks, file XML maupun webservice. Model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website. Model biasanya akan berhubungan dengan database yang ada kaitan dengan perintah-perintah query SQL. 9 8/25/2015 IKG3A3 - Software Project II

VIEW View berhubungan dengan segala sesuatu yang akan ditampilkan ke end-user, berupa halaman web, rss, javascript dan lain-lain, sehingga harus menghindari adanya logika atau pemrosesan data di view. View hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View dapat dikatakan sebagai halaman website yang dibuat dengan menggunakan HTML dan bantuan CSS atau JavaScript. Dalam View jangan pernah ada kode untuk melakukan koneksi ke database. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller 10 8/25/2015 IKG3A3 - Software Project II

CONTROLLER Controller bertindak sebagai penghubung data dan view. Controller terdapat class-class dan fungsi-fungsi yang memproses permintaan dari View ke dalam struktur data di dalam Model. Controller juga tidak boleh berisi kode untuk mengakses database, karena tugas mengakses data telah diserahkan kepada model. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan kesalahan/error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input. 11 8/25/2015 IKG3A3 - Software Project II

ARSITEKTUR CODEIGNITER 12 8/25/2015 IKG3A3 - Software Project II

KELEBIHAN CODEIGNITER Adanya Helpers dan libraries. Mendukung PHP 4 atau di atasnya. Performa yang sangat baik. Relatif ringan. Relatif sangat cepat. Dokumentasi dan tutorial yang jelas. 13 8/25/2015 IKG3A3 - Software Project II

KEKURANGAN CODEIGNITER Object Relational Mapping (ORM) yang tidak sesuai Module yang terbatas Fungsi modul agak terbatas dibandingkan Ajax

BELAJAR CODEIGNITER Jangan mencoba CodeIgniter sebelum Anda menguasai HTML, PHP dan Object Oriented Programming. Kebanyakan yang baru belajar Code Igniter tanpa memiliki dasar PHP yang baik, akan mengalami banyak kesulitan. Kesulitannya bukan dalam menguasai konsep Code Igniter, melainkan masih berkutat di masalah PHP.

Core of CodeIgniter Libraries Helpers Document

Struktur Folder Aplikasi Application Controller News.php Model NewsDAO.php View News.php

Controllers class News extends Controller { function News() { parent::controller(); } function index() { } $data['tpl_view'] = 'news/index'; $data['active_tab'] = 'news'; $this->load->view('layout',$data); Function otherfunction($para1, $para2){ // Pemrosesan data dan view di sini } }

Models class NewsDAO extends Model { function NewsDAO () { parent::model(); } function verifyuser($username,$password){ $this->db->select('id,username'); $this->db->from('admin'); $this->db->where('username', $username); $this->db->where('password', $password); $this->db->where('active', 'Yes'); $this->db->limit(1); $Q = $this->db->get(); return $Q; } Function otherfunction($para1, $para2){ // Pemrosesan data } }

Views <?php $this->load->view('header');?> <!-- Set view for Project --> <?php $this->load->view($tpl_view);?> <!-- End set view --> <?php $this->load->view('footer');?>

Directory Application pada CodeIgniter config - tempat menyimpan semua file konfigurasi yang ada di dalam aplikasi, mulai dari database, router dan autoload aplikasi. controllers - tempat menyimpan semua file controller. errors - tempat menyimpan semua template error aplikasi. helpers - tempat menyimpan helper-helper yang bukan berasal dari CI. hooks - tempat menyimpan hook yang digunakan untuk mengubah alur fungsi dari core CI. language - tempat menyimpan bahasa-bahasa yang akan di gunakan. libraries - tempat menyimpan semua library buatan sendiri. models - tempat menyimpan semua model. views - tempat menyimpan semua file view aplikasi.

Directory System pada CI : cache - tempat menyimpan semua cache yang dibuat caching library. codeigniter - tempat menyimpan semua semua file internals CI. database - tempat menyimpan semua driver database drivers dan class yang akan digunakan. fonts - tempat menyimpan semua font yang digunakan image manipulation library. helpers - tempat menyimpan semua helper core CI. language - tempat menyimpan semua language core CI. libaries - tempat menyimpan semua library core CI logs - tempat menyimpan semua logs generated oleh CI. plugin - tempat menyimpan semua plugin core CI. scaffolding - tempat menyimpan semua file yang berfungsi sebagai scaffolding.

Standard Coding CodeIgniter Penamaan Class dan Method Penamaan Class harus dimulai dengan huruf besar. Jika class menggunakan beberapa kata maka kata-kata tersebut dipisahkan menggunakan underscore dan bukan camelcase. Contoh salah: class superclass class SuperClass Contoh Benar: class Super_class

Standard Coding CodeIgniter Aturan di atas juga berlaku untuk method contohnya Contoh kurang tepat: function fileproperties() //Tidak deskriptif dan memiliki underscore function fileproperties() // Tidak deskriptif dan underscore CamelCase function getfileproperties() // Kurang underscore function getfileproperties() // menggunakan CamelCase get_the_file_properties_from_the_file() // terlalu panjang Contoh Tepat: function get_file_properties() // deskriptif, pakai underscore, dan huruf kecil

Segment URL di CodeIgniter Konfigurasi Base url, Bagian ini merupakan url yang akan dimasukkan pada konfigurasi base_url yang berupakan url paling dasar untuk mengakses web atau aplikasi. Segmen URI pertama yaitu class. Class tersebut merupakan nama kelas controller yang akan dipanggil. Apabila segment ini kosong maka akan digantikan dengan default controller yang telah di-setting dan dikonfigurasi router.php Segmen URI kedua yaitu fungsi dari class controller yang telah dipanggil tadi. Apabila segment kedua ini kosong maka fungsi yang dipanggil adalah fungsi index dari kelas controller tersebut Segmen URI ketiga biasanya berisi parameter dari fungsi. Jika fungsi dari controller yang dipanggil mempunyai parameter maka parameternya harus dimasukkan sebagai segment URI sesuai urutan.

Membuat Controller pada CodeIgniter (percobaan.php) <?php } class Percobaan extends CI_Controller{ public function construct() { } parent:: construct(); public function index() { $data['pesan'] = "Hallo Semuanya... Ini Percobaan Codeigniter Pertamaku!!"; $this->load->view('v_percobaan',$data); } Simpan file percobaan.php pada C:\xampp\htdocs\CI\application\controllers

Membuat View pada CodeIgniter (v_percobaan.php) <html> <head> <title>percobaan View</title> </head> <body> <?php?> </body> </html> echo $pesan; Simpan file v_percobaan.php pada C:\xampp\htdocs\CI\application\views

Mengakses di Browser Jalankan XAMPP Apache, buka browser, lalu ketikkan : http://localhost/ci/index.php/percobaan

CodeIgniter Tips Untuk menentukan default controller, buka folder application/config/routes.php dan ubah variabel ini pada file routes.php $route['default_controller'] = 'Blog'; Blog adalah nama kelas controller yang ingin digunakan. Jika sekarang hanya memanggil file index.php utama, tanpa menentukan segmen URI apapun, maka secara default akan melihat pesan Hello Codeigniter

CodeIgniter Tips $route['default_controller'] = 'Blog'; Ketik : http://localhost/ci/index.php/

Controller dan View "hello CodeIgniter" yang disimpan di controller. Namun bisa dilakukan di view

Memanggil View dari Controller <?php if (! defined('basepath')) exit('no direct script access allowed'); class C_blog extends CI_Controller { function construct() { parent:: construct(); } function index() { $this->load->view("hello_codeigniter"); } } /* End of file Blog.php */ /* Location:./application/controllers/ C_blog.php */

Memanggil View dari Controller Buatlah file hello_codeigniter.php di folder application>view (application/views/hello_codeigniter.php) Syntax : <h1> Hello saya adalah view </h1> /* End of file hello_codeigniter.php */ /* Location:./application/views/hello_codeigniter.php*/ Buka : http://localhost/ci/index.php/c_blog

Memanggil View dari Controller Syntax tersebut akan memberikan hasil yang sama dengan contoh kasus pertama (tanpa menggunakan view), yang berbeda hanya tulisannya saja. Sebuah View sebenarnya hanyalah sebuah halaman web atau bagian dari halaman web, seperti sebuah header, footer, sidebar, dan lain-lain. Bahkan, View bisa menjadi fleksibel karena view dapat dimasukkan ke dalam view yang lain jika dibutuhkan. Nama_view adalah nama file view, yang diletakkan di dalam folder application/view. Perintah memanggil view dalam controller : $this->load->view('nama_view');

TUGAS PEKAN INI (PHP, MySQL) Siapkan dulu database MySQLnya di http://localhost/phpmyadmin/ Di dalam database masing-masing, buatlah dua entitas dengan satu relasi n-m. Buatlah web PHP yang dapat mengakses dua tabel tersebut, dengan spesifikasi: Dapat melakukan query ke database: VIEW, ADD, EDIT, DELETE, SEARCH, FILTER, ORDER BY, NUMBER OF ROW PER PAGES. Harus menerapkan HTML, PHP, dan query MySQL. Boleh (tapi tidak harus) menggunakan framework misalnya: Yii, CodeIgniter, Laravel, Symfony, Zend, PHPCake.

36 8/25/2015 THANK YOU