Anda di halaman 1dari 53

PENGENALAN

FRAMEWORK PHP &


CODEIGNITER 4 05
Moh. Anshori Aris Widya, S.Kom, M.Kom
1
Framework PHP
PHP Framework
Slide Ke 2
Section
Framework #01

Framework adalah sebuah kerangka kerja atau


rancangan secara garis besar dari sebuah pekerjaan
yang akan dikerjakan. Framework tersebut dapat
digunakan kembali ketika akan membuat pekerjaan
baru.

Slide Ke 3
Section
Framework PHP #01

Framework PHP adalah sebuah rancangan berupa


project web berbasis PHP versi awal yang digunakan
untuk membantu programmer dalam membangun
sebuah sistem berbasis PHP. Sistem yang dimaksud
dapat berupa sistem berbasis web utuh atau berupa
API (Application Programming Interface)
Slide Ke 4
Section
Keunggulan Framework PHP #01

▰ Mempersingkat Waktu Pembuatan. Dengan adanya


Framework, kita tidak harus membuat struktur
sebuah sistem dari awal. Struktur tersebut telah
disediakan oleh Framework itu sendiri

Slide Ke 5
Section
Keunggulan Framework PHP #01

▰ Mudah mencari kesalahan jika terjadi error.


Dikarenakan Framework terstruktur dengan baik,
maka akan memudahkan kita dalam pencarian
kesalahan dalam sebuah sistem

Slide Ke 6
Section
Keunggulan Framework PHP #01

▰ Menstandartkan penulisan syntax. Diseluruh dunia


terdapat ribuan bahkan jutaan programmer.
Bayangkan jika masing-masing programmer
memiliki model penulisan syntax atau logika yang
berbeda-beda. Semisal kita ingin mempelajari
syntax dari beberapa programmer tersebut, maka
Slide Ke 7
Section
Keunggulan Framework PHP #01

kita akan kesulitan dalam mempelajari model-model


penulisan maupun alur programmer tersebut dan
tentunya akan memakan waktu yang tidak sedikit.
Dengan adanya Framework maka penulisannya akan
distandarkan

Slide Ke 8
Section
Keunggulan Framework PHP #01

▰ Framework berisi kumpulan syntax yang siapa pakai.


Biasanya sebuah Framework telah berisi library
yang siap pakai sehingga akan membuat sistem
yang kita buat menjadi lebih baik.

Slide Ke 9
“ Walaupun memiliki berbagai
keunggulan, Powerfull tidaknya
Framewrok PHP tetap
tergantung kepada Programmer
yang menggunakannya

Slide Ke 10
2
Model View Controller
Model View Controller
Slide Ke 11
Section
Model View Controller #02

Model View Controller (MVC) adalah sebuah konsep


atau pola arsitektur yang memisahkan pengelolaan
sebuah sistem berbasis web menjadi 3 bagian penting
yaitu Model, View dan Controller

Slide Ke 12
Section
Model #02

Model adalah bagian dari konsep MVC yang bertugas


untuk menyiapkan, mengatur, memanipulasi, dan
mengorganisasikan data yang ada di database.
Database yang dimaksud adalah database yang berdiri
sendiri secara independent seperti MySQL, Postgre,
SQLite dan lain sebagainya. Sedangkan yang tidak
independent contohnya adalah WebSQL Slide Ke 13
Section
View #02

View adalah bagian dari konsep MVC yang bertugas


untuk menampilkan informasi dalam bentuk Graphical
User Interface (GUI). View disini dapat dibangun
dengan berbagai konsep termasuk dapat diterapkan
menggunakan konsep modular yang telah dipelajari
pada modul sebelumnya.
Slide Ke 14
Section
Controller #02

Controller adalah bagian dari konsep MVC yang


bertugas untuk menghubungkan serta mengatur
Model dan View agar dapat saling terhubung. Selain
itu Controller juga yang mengatur request yang
berasal dari user (browser).

Slide Ke 15
Section
Mekanisme MVC #02

Request yang berasal dari


user melalui browser akan
diteruskan ke web server
yang kemudian akan
diarahkan ke Controller.
Request yang telah berada
di Controller Slide Ke 16
Section
Mekanisme MVC #02

tersebut akan diperiksa oleh controller. Skenario yang


mungkin dari hal ini antara lain

Slide Ke 17
Section
Mekanisme MVC #02

▰ Request dari Client Handler yang ditujukan ke API dan


request tersebut tidak membutuhkan data dari database
(jenis 2)
▰ Request berupa halaman web dengan informasi yang
berasal dari data di database (jenis 3)
▰ Request berupa halaman web dengan informasi statis
yang tidak berasal dari data di database (jenis 4)
Slide Ke 18
Section
Mekanisme MVC (Jenis 1) #02

Client
Handler
Controller Request dari Client Handler
yang ditujukan ke API dan
request tersebut
Controller Model membutuhkan data dari
database (jenis 1)
Client
Handler Slide Ke 19
Section
Mekanisme MVC (Jenis 2) #02

Request dari Client Handler


Client
Controller
yang ditujukan ke API dan
Handler
request tersebut tidak
membutuhkan data dari
Client database (jenis 2)
Handler

Slide Ke 20
Section
Mekanisme MVC (Jenis 3) #02

Browser Controller
Request berupa halaman web
dengan informasi yang
Controller Model berasal dari data di database
(jenis 3)
View Controller

Browser
Slide Ke 21
Section
Mekanisme MVC (Jenis 4) #02

Browser Controller Request berupa halaman web


dengan informasi statis yang
tidak berasal dari data di
Controller View database (jenis 4)

Browser
Slide Ke 22
“ Mekanisme MVC Framework
akan dipengaruhi oleh sebagian
besar konsep Website yang
dibangun

Slide Ke 23
3
CodeIgniter 4
CodeIgniter 4
Slide Ke 24
Section
CodeIgniter 4 #03

CodeIgniter 4 adalah salah satu dari sekian banyak


Framework PHP yang berbasis mekanisme MVC.
CodeIgniter 4 merupakan pengembangan dari versi
terdahulunya yaitu CodeIgniter 3 yang berjalan di PHP
5.6+. Sedangkan untuk CodeIgniter 4 berjalan di PHP
7.3+. Beberapa fitur baru dari CodeIgniter 4 antara
lain: Slide Ke 25
Section
Fitur Baru CodeIgniter 4 #03

Memiliki Memiliki
Memiliki file
Alternatif Development Autoloading
Environment
Instalasi Server Sendiri

Memiliki Fitur
Memiliki Fitur
Command Line Dll
REST API
Interface (CLI)

Slide Ke 26
Section
Instalasi #03

CodeIgniter 4 memiliki alternatif instalasi yaitu Konvensional dan


Composer. Instalasi Konvensional yaitu kita akan mendownload
file package berupa zip yang berasal dari situs resminya

“https://codeigniter.com/”
yang kemudian dideploy ke webserver yang telah disediakan atau
menggunakan Development Server bawaan CodeIgniter
Slide Ke 27
Section
Instalasi #03

Sedangkan Instalasi melalui Composer yaitu kita akan


mendownload project CodeIgniter melalui Composer dengan
platform terminal menggunakan perintah tertentu semisal

“composer create-project
codeigniter4/appstarter projectku”
Slide Ke 28
Section
Local Development Server #03

CodeIgniter 4 memiliki Local Development Sendiri (seperti


penggunaan Express pada NodeJS) sehingga memiliki
alternatif jika tidak menggunakan Aplikasi penyedia Web
Server pihak ke 3 (Xampp, Wampp, USBWebserver, …….).
Cara menggunakannya cukup menggunakan perintah
“php spark serve”
pada terminal Slide Ke 29
Section
Local Development Server #03

Secara default port yang digunakan pada Local


Development Server adalah 8080 seperti default port pada
webserver Tomcat. Untuk mengganti agar running pada
port yang berbeda maka bisa menggunakan perintah
seperti contoh berikut
“php spark serve –port 3300”
Slide Ke 30
Section
Autoloading #03

Pada CodeIgniter 4 memiliki fitur autoloading


otomatis. Sehingga kita tidak direpotkan untuk
mengaktifkan Model, Library, …… secara manual atau
mengaktifkan melalui file autoload.php (konfigurasi
pada CodeIgniter 3)

Slide Ke 31
Section
File Environment #03

CodeIgniter 4 memiliki file env atau file environment yang


digunakan untuk melakukan konfigurasi pada project web
berbasis CodeIgniter. Jika pada CodeIgniter 3 pengaturan
tersebar di berbagai file semisal autoload.php, config.php,
routes.php, database.php, dll maka pada CodeIgniter 4
pengaturan tersebut dapat dilakukan pada file-file tersebut
seperti cara lama atau pada file env sebagai
alternatif Slide Ke 32
Section
Command Line Interface #03

CodeIgniter 4 memiliki fitur perintah yang dapat dieksekusi


melalui terminal. Fitur ini digunakan jika perogrammer
terbiasa dalam menggunakan metode pemrograman
interaktif. Salah satu contoh perintah CLI yaitu
“php spark db:create”
Slide Ke 33
Section
RESTFul API #03

CodeIgniter 4 telah memiliki fitur berupa RESTFul API


secara default. Berbeda dengan CodeIgniter 3 yang kita
harus menambahkan sendiri dikarenakan berupa library
terpisah (bukan bawaan CodeIgniter). Fitur baru ini
digunakan untuk memudahkan dalam membangun Project
yang berbasi API dalam rangka Integrasi sistem.

Slide Ke 34
“ Fitur baru yang dimiliki oleh
CodeIgniter 4 dapat digunakan
dan disesuaikan dengan konsep
project website yang sedang
dibangun

Slide Ke 35
4
Struktur CodeIgniter 4
CodeIgniter 4 Structure
Slide Ke 36
Section
Struktur #04

Secara umum jika dibandingkan struktur antara


CodeIgniter 3 dan 4, maka kesimpulannya adalah
hampir sama (terkecuali tambahan fitur baru-nya).
Akan tetapi terdapat pula beberapa tambahan struktur
baru yang ada di CodeIgniter 4 .

Slide Ke 37
Section
Struktur Root Folder #04

App Public System

Test Writable
Slide Ke 38
Section
Folder App #04

Folder ini berisi bagian-bagian penting yang kita buat


agar project web yang dikembangkan dapat berjalan
dengan baik. Contoh:
¤ Controllers ¤ Config ¤ dll
¤ Models ¤ Helpers
¤ Views ¤ Libraries
Slide Ke 39
Section
Folder Public #04

Folder ini berfungsi sebagai tempat dimana asset dari


project web disimpan. Asset yang dimaksud adalah
file-file template dari Framework CSS. Folder ini
memiliki peran yang hampir mirip dengan folder
writable sehingga terkadang folder ini dihapus dan
fungsi dari folder ini dipindahkan ke folder writable
Slide Ke 40
Section
Folder Writable #04

Folder ini berfungsi sebagai tempat dimana log,


session, file yang diupload pengguna diletakkan.
Folder ini juga dapat menggantikan fungsi folder
public jika folder public ditiadakan sehingga tempat
penyimpanan file asset berada di folder ini

Slide Ke 41
Section
Folder System #04

Folder ini berfungsi sebagai tempat dimana file-file


engine dari CodeIgniter 4 disimpan.

Slide Ke 42
Section
Folder Tests #04

Folder ini berfungsi sebagai tempat dimana file-file


test diletakkan jika dalam proses pengembangannya
menggunakan beberapa metode yang berbeda.
Semisal: mekanisme production dan sandbox.

Slide Ke 43
Section
Struktur Root File #04

Env Spark

Slide Ke 44
Section
File Env #04

File ini digunakan untuk menyimpan pengaturan-


pengaturan yang digunakan dalam CodeIgniter 4.
Semisal: koneksi ke database, Session, Base URL,
enkripsi, dll

Slide Ke 45
Section
File Spark #04

File ini digunakan untuk menjalankan perintah-


perintah dalam mode Command Line Interface (CLI)
yang dilakukan melalui Terminal

Slide Ke 46
“ Untuk Folder System umumnya
tidak perlu untuk dimodifikasi
karena merupakan file-file engine
yang digunakan agar CodeIgniter
4 berjalan sempurna

Slide Ke 47
Referensi
• Online Docs, “Official Atlantis Lite Master
Documentation”, themekita
• Online Ebook, “HTML 5 Notes For Professionals”,
goalkicker.com
• Online Ebook, “PHP Notes For Professionals”,
goalkicker.com
Referensi
• Online Ebook, “Javascript Notes For Professionals”,
goalkicker.com
• Online Ebook, “jQuery Notes For Professionals”,
goalkicker.com
• Online Ebook, “MySQL Notes For Professionals”,
goalkicker.com
Referensi
• Online Ebook, “SQL Notes For Professionals”,
goalkicker.com
• Online Ebook, “CSS Notes For Professionals”,
goalkicker.com
• Robin Nixon, “Learning PHP, MySQL & Javascript”,
2018, O’Reilly Media
Referensi
• Steve Prettyman, “Learn PHP 7: Object Oriented
Modular Programming Using HTML5, CSS3,
Javascript, XML, JSON and MySQL”, 2016, Apress
• Nicholas C. Zakas, “Professional Javascript for
Web Developers”, 2005, Wiley Publishing
Referensi

• Husein Alatas, “Proyek Membangun Responsive Web


Design dengan Bootstrap 3 & 4”, 2015, Lokomedia
• Jubilee Enterprise, “Membuat Website PHP dengan
CodeIgniter”, 2015, Elex Media Komputindo
• Abdul Kadir, “From Zero to A Pro PHP + Database
MySQL”, 2015, Andi Publisher
Terima Kasih !
Ada Pertanyaan ?
Hubungi
085649591515 atau chemick86@gmail.com

Anda mungkin juga menyukai