Anda di halaman 1dari 13

MAKALAH

STRUKTUR WEB FRAMEWORK (LARAVEL & CODEIGNITER)

Disusun untuk memenuhi tugas


Mata Kuliah : Praktikum Pemograman Web Framework
Dosen Pengampu : Rudy Asrianto M.Kom

Disusun Oleh:

Nama : Putri Handayani


NIM : 210402112

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUHAMMADIYAH RIAU
2023
KATA PENGANTAR

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga

dapat menyelesaikan tugas makalah yang berjudul Struktur Web Framework Laravel &

CodeIgniter Penulis mengucapkan terima kasih kepada Bapak Rudy Asrianto M.Kom selaku

dosen pengampu mata kuliah Web Dinamis yang telah memberikan bimbingan sehingga dapat

memudahkan kami dalam pemahaman materi dan menambahan wawasan sesuai mata kuliah

yang di tekuni. Penulis juga mengucapkan terima kasih kepada semua pihak yang telah

membantu dalam kelengkapan pembuatan materi sehingga dapat menyelesaikan makalah ini

dengan baik. Penulis menyadari bahwa makalah yang di tulis masih membutuhkan kritik dan

saran dari pembaca untuk membangun makalah ini menjadi yang lebih baik.

i
DAFTAR ISI

KATA PENGANTAR ................................................................................................................ i


DAFTAR ISI ............................................................................................................................. ii
BAB I PENDAHULUAN ......................................................................................................... 1
1.1 Latar Belakang ..................................................................................................................... 1
1.2 Rumusan Masalah ................................................................................................................ 1
1.3 Tujuan .................................................................................................................................. 1
BAB II PEMBAHASAN .......................................................................................................... 2
2.1 Pengertian Laravel ............................................................................................................... 2
2.2 Fitur-Fitur Laravel .............................................................................................................. 2
2.3 Manfaat Laravel Untuk Pengembangan Website ........................................................ 3
2.4 Tools Framework Laravel ................................................................................................. 3
2.5 kelebihan dari framework laravel ................................................................................... 3
2.6 Fitur-fitur yang terdapat dalam laravel ............................................................................... 4
2.7 Pengertian CodeIgniter ....................................................................................................... 6
2.8 Fitur-Fitur CodeIgniter ......................................................................................................... 6
2.9 Kelebihan CodeIgniter .......................................................................................................... 7
2.10 Alur Kerja Codeigniter ........................................................................................................ 8
BAB III PENUTUP .................................................................................................................. 9
3.1 Kesimpulan .......................................................................................................................... 9
3.2 Saran ................................................................................................................................... 9
DAFTAR PUSTAKA ............................................................................................................. 10

ii
BAB I
PENDAHULUAN

1.1 Latar Belakang


Pengembangan system yang berskala besar dan dikembangkan secara team work, bisa
berakhir dengan kekacauan dan kegagalan, jika tidak ada mekanisme manajemen modul yang
baik.. Pengembangan system berbasis framework tampaknya menjadi solusi yang cukup
menjanjikan ditengah kompetisi analisa dan perancangan model perangkat lunak yang saling
mengklaim bahwa model-nya lah yang paling baik. Diantara model-model itu adalah Extreme
Programming, SCRUM,Agile dan Model Driven Architecture (MDA). Lalu apakah framework
itu? Dalam pengembangan system aplikasi web tentunya anda pernah mendengar berbagai
macam framework seperti Laravel, CakePHP, CodeIgniter, Struts, Spring dan lain-lain.
Framework bukanlah tools untuk analisa ataupun pemodelan.
Framework adalah satu set komponen-komponen yang terintegrasi yang berkolaborasi
untuk menyediakan arsitektur yang reusable untuk aplikasi yang relatif (Schmidt, 2013).
Diantara framework pengembangan aplikasi web yang terkenal adalah Code Igniter untuk
bahasa PHP Dan Laravel.
Framework Laravel adalah kerangka kerja aplikasi web berbasis PHP yang sumber terbuka,
menggunakan konsep Model-View-Controller. Laravel berada dibawah lisensi MIT, dengan
menggunakan GitHub sebagai tempat berbagi kode.
Framework CodeIgniter banyak menawarkan kemudahan-kemudahan dalam membangun
aplikasi website, karena Framework CodeIgniter sudah tersedia struktur aplikasi yang baik,
coding yang standar, fungsi–fungsi dan library yang telah umumdigunakandalam
pengembangan sistem.

1.2 Rumusan Masalah


Berdasarkan penjelasan latar belakang diatas, dapat diambil rumusan masalah sebagai
berikut:
1. Apa dan mengapa dibuat Framework laravel dan Codeigniter ?
2. Siapa saja pengguna Framework laravel dan Codeigniter ?
3. Apa kekurangan dan kelebihan dari Framework laravel dan Codeigniter ?
4. Bagaimana cara kerja dari Framework laravel dan Codeigniter ?
5. Berikan Fitur dan tools dari penggunaan Framework laravel dan Codeigniter ?
1.3 Tujuan
Tujuan framework laravel dan codeigniter ini yang utama adalah untuk membuat source code
menjadi lebih terstruktur. Terstruktur disini, berarti program yang dibuat akan dimasukkan ke
dalam setiap komponen sesuai dengan fungsi nya masing – masing begitu juga memungkinkan
pengguna untuk terhubung dan menggunakan aplikasi berbasis cloud melalui internet.

1
BAB II
PEMBAHASAN

2.1 Pengertian Laravel


Laravel adalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangun dengan
konsep MVC (model view controller" laravel adalah pengembangan website berbasis MVP
yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas perangkat lunak dengan
mengurangi biaya pengembangan awal dan biaya pemeliharaan, dan untuk meningkatkan
pengalaman bekerja dengan aplikasi dengan menyediakan sintaks yang ekspresif, jelas dan
menghemat waktu.

• MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika
dari presentasi" MVC memisahkan aplikasi berdasarkan komponen- komponen
aplikasi, seperti & manipulasi data, controller, dan user interface,
• Model, Model mewakili struktur data" biasanya model berisi fungsi-fungsi yang
membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke
basis data, pembaruan data dan lain-lain. View, View adalah bagian yang mengatur
tampilan ke pengguna" bisa dikatakan berupa halaman web"
• Controller, Controller merupakan bagian yang menjembatani model dan view.

2.2 Fitur-Fitur Laravel


* Bundles yaitu sebuah fitur dengan system pengemasan modular dan berbagai bundle telah
tersedia untuk di gunakan dalam aplikasi Anda.
* Eloquent ORM merupakan penerapan PHP lanjutan dari pola "active record", menyediakan
metode intemal untuk mengatasi kendala hubungan antara objek database. Pembangun
query Laravel's Fluent ini didukung oleh Eloquent.
* Application logic merupakan bagian dari aplikasi yang dikembangkan, baik menggunakan
Controllers atau sebagai bagian dari deklarasi Route. Sintak yang digunakan untuk
mendefinisikannya mirip dengan yang dugunakan oleh framework Sinatra.
* Reverse routing, mendefinisikan hubungan antara Link dan Route, sehingga jika suatu
relevan. Ketika Link yang dibuat dengan menggunakan nama-nama dari Route yang ada,
secara otomatis Laravel akan membuat URI yang sesuai.
* Restful controllers, memberikan sebuah option (pilihan) untuk memisahkan logika dalam
melayani HTTP GET dan permintaan POST.
* Class auto loading, menyediakan otomatis loading untuk class-class PHP, tanpa
membutuhkan pemeriksaan manual terhadap jalur masuknya. Fitur ini mencegah loading
yang yang tidak perlu.
* View composers adalah kode unit logical yang dapat dieksekusi ketika sebuah View diload.
* IOC Container memungkinkan untuk objek baru yang dihasilkan dengan mengikuti prinsip
control pembalik, dengan pilhan contoh dan referensi dari objek baru sebagai singletons.
* Migrations menyediakan versi sistem control untuk skema database, sehingga
memungkinkan untuk menghubungkan perubahan dalah basis kode aplikasi dan keperluan

2
yang dibutuhkan dalam merubah tata letak database, mempermudah dalam penempatan dan
memperbarui aplikasi.
* Automatic pagination menyederhanakan tugas dari penerapan halaman,
menggantikan penerapan yang manual dengan metode otomatis yang terintregrasi ke
laravel"

2.3 Manfaat Laravel Untuk Pengembangan Website


Laravel menawarkan beberapa keuntungan ketika Anda mengembangkan website atau
menggunakan dasar framework ini:

• website menjadi lebih scalable (mudah dikembangkan).


• terdapat namespace dan tampilan yang membantu Anda untuk mengorganisir dan
mengatur sumber daya website.
• proses pengembangan menjadi lebih cepat sehingga menghemat waktu karena
Laravel dapat dikombinasikan dengan beberapa komponen dari framework lain untuk
mengembangkan website.
2.4 Tools Framework Laravel
Selain itu, ada dua tools Laravel yang jarang dimiliki oleh framework lain (kecuali Symphony),
yaitu Composer dan Artisan. Apa kegunaan masing-masing dari tool tersebut?
1. Composer
Composer merupakan tool yang di dalamnya terdapat dependencies dan kumpulan library.
Seluruh dependencies disimpan menggunakan format file composer.json sehingga dapat
ditempatkan di dalam folder utama website. Inilah mengapa composer terkadang dikenal
dengan dependencies management.
2. Artisan
Artisan adalah command line interface milik Laravel. Artisan menyertakan sekumpulan
perintah yang membantu dalam membangun situs web atau aplikasi web. Misalnya, Laravel
Cronjobs. Tool artisan adalah salah satu kekuatan Laravel yang disukai pengguna. Tool ini
berfungsi agar website yang dikembangkan dapat berinteraksi dengan framework lain dengan
bantuan command line. Adanya tool ini memudahkan developer untuk melakukan aktivitas
antar framework tanpa hambatan.

2.5 kelebihan dari framework laravel


a. Template Ringan
Template ringan memungkinkan pengembang atau developer membuat situs web
yang kuat. Dimana template yang tersedia dapat ditambahkan CSS, gambar, atau teks
sesuai kebutuhan.
b. Memiliki Banyak Perpustakaan Berorientasi Objek
Framework ini memiliki banyak pilihan library berorientasi objek yang tidak dimiliki
oleh framework dimana hal ini akan sangat berguna untuk membangun website yang
kompleks.
c. Mendukung MVC

3
Model View Controller sangat berguna untuk memisahkan logika dan view, sehingga
file dokumentasi dapat tersusun dengan lebih rapi. Pemisahan antara logika dan
tampilan aplikasi dimungkinkan menggunakan framework MVC. Selain itu, performa
optimal, dokumentasi lengkap, dan berbagai aplikasi tambahan tersedia dalam
framework Laravel yang terintegrasi dengan MVC.
d. Ketersediaan Tool Artisan
Tool Artisan memiliki fungsi untuk interaksi Laravel dengan kerangka kerja lain
dengan bantuan baris perintah. Adanya artisan memudahkan developer untuk
melakukan berbagai aktivitas cross-framework tanpa takut bermasalah.
e. Modul Individu dan Mandiri
Dalam satu aplikasi Laravel terdapat lebih dari 20 modul library yang masing-masing
bersifat individual. Dimana modul tersebut juga mandiri dalam mengadopsi prinsip
PHP modern. Untuk itu, modul-modul tersebut dapat membuat aplikasi web menjadi
lebih informatif, modular, dan responsif.
f. Pengecekan Menggunakan Unit Testing
Pembuatan aplikasi Laravel terkadang menggunakan konsep “Unit Testing”. Dengan
bantuan Unit Testing, sejumlah besar pengujian dapat dilakukan dengan tujuan untuk
memastikan bahwa perubahan baru dapat dilakukan oleh pengembang tanpa merusak
fungsionalitas aplikasi dan membuat aplikasi lebih responsif.

2.6 Fitur-fitur yang terdapat dalam laravel


Laravel punya banyak fitur yang tidak dimiliki framework lain, bahkan ketika Apalagi Laravel
adalah framework yang modern sehingga Anda dapat melakukan berbagai hal menggunakan
framework ini seperti proses otentifikasi terbaru. Berikut ini beberapa fitur Laravel yang perlu
Anda ketahui:

Routing semua permintaan dipetakan dengan bantuan rute. Dasar perutean


adalah merutekan permintaan ke pengontrol terkait. Perutean ini dinilai
dapat memudahkan pengembangan website dan meningkatkan
kinerjanya, ada tiga kategori routing di Laravel, yaitu basic routing,
route parameters, dan named routes.
Modularity Laravel berisi kumpulan modul dan library yang terkait dengan
komposer. Fitur ini membantu Anda menyempurnakan dan
meningkatkan fungsionalitas situs web yang Anda buat, serta
menyederhanakan proses pembaruan.
Blade Template Laravel menggunakan Blade. Blade merupakan template engine untuk
Engine mendesain layout yang unik. Layout yang didesain dapat digunakan di
tampilan lain sehingga menyediakan konsistensi desain dan struktur
selama proses pengembangan. Dibandingkan dengan template engine
lain, Blade mempunyai kelebihan: tidak membatasi pengembang untuk
menggunakan kode PHP biasa di dalam tampilan; desain tampilan blade
akan tetap di-cache sampai dengan ada modifikasi.
Query Builder Laravel database query builder menyediakan antarmuka yang mulus
dan ORM untuk membuat dan mengeksekusi query database. Fitur ini dapat

4
digunakan untuk menjalankan berbagai operasi database di website dan
mendukung berbagai sistem database.
Testability Laravel dibangun dengan fitur proses pengecekan yang cukup lengkap.
Framework ini mendukung proses pengecekan dengan PHPUnit dan file
phpunit.xml yang dapat disesuaikan dengan aplikasi web yang
dibangun.
Kerangka kerja ini juga dibangun menggunakan metode pembantu yang
nyaman. Metode ini memungkinkan dalam menguji situs web secara
ekspresif.
Authentication Membuat penerapan otentikasi menjadi sangat sederhana. Seluruh
Laravel proses konfigurasi otentikasi berjalan secara otomatis.
Dapat menemukan file konfigurasi autentikasi ini di 'config/auth.php'.
Pada file ini terdapat beberapa pilihan autentikasi yang telah
didokumentasikan dengan baik dan dapat disesuaikan sewaktu-waktu
sesuai kebutuhan sistem.
Configuration Semua file konfigurasi Laravel disimpan di direktori config. Setiap opsi
Management didokumentasikan dengan baik. Jadi tidak perlu khawatir untuk
Features mengubah setiap konfigurasi yang tersedia.
Redis Laravel Menggunakan Redis untuk menautkan antara sesi yang ada dan cache
tujuan umum. Redis terhubung ke sesi secara langsung.
Redis adalah aplikasi sumber terbuka yang menyimpan nilai kunci.
Redis juga sering dikenal sebagai server struktur data yang dapat
menyimpan kunci bertipe string, hash, list, set, dan sortir set.
E-mail Class Menyediakan API untuk beberapa pustaka SwiftMailer populer dengan
Laravel koneksi ke SMTP, Postmark, Mailgun, SparkPost, Amazon SES, dan
sendmail. Fitur ini memungkinkan Anda mengirim email dengan cepat
melalui aplikasi lokal atau layanan cloud.
Laravel Schema Schema menyediakan basis data agnostik untuk memanipulasi tabel.
Builder Class Skema ini berjalan dengan baik pada berbagai tipe database yang
didukung Laravel dan memiliki API yang sama di seluruh sistem.
Event and Command Bus menyediakan metode pengumpulan tugas yang
Command Bus dibutuhkan aplikasi untuk dijalankan dengan perintah yang sederhana
Laravel dan mudah dipahami.

5
2.7 Pengertian CodeIgniter
CodeIgniter adalah kerangka kerja atau sebuah framework khusus web dan
pengembangan aplikasi yang hadir sebagai platform open source. Aplikasi ini dibuat untuk
developer yang ingin membangun website dengan menggunakan bahasa pemrograman PHP.
Codeigniter juga merupakan salah satu framework populer khusus application dan
web development berbasis Model-View-Controller (MVC). Tujuan penggunaan framework
codeigniter yaitu untuk mempercepat dan mempermudah pengembang menyelesaikan
proyek.
Codeigniter menggunakan model MVC dimana sangat cocok untuk membuat aplikasi
atau website dinamis. MVC sendiri merupakan teknik yang dipakai untuk memisahkan
komponen utama menjadi beberapa bagian. Hal tersebut dilakukan guna membangun suatu
pola ketika mengembangkan aplikasi.

2.8 Fitur CodeIgniter


CodeIgniter dikenal sebagai framework populer pilihan para developer karena
performanya yang lengkap dan fitur yang memudahkan pekerjaan developer. Berikut fitur-
fitur tersebut.
• MVC
Fitur ini merupakan fitur favorit yang menjadikan CodeIgniter sebagai framework unggulan
bagi developer. Model-View-Controller (MVC) ini adalah praktik standar industri ketika
bekerja dengan aplikasi web di mana fungsinya untuk memisahkan data, logika, dan
presentasi dalam aplikasi.
• Built-in-library
Fitur ini memungkinkan pengguna menemukan berbagai solusi terkait coding, hingga buku,
tutorial, dan petunjuk penggunaan CodeIgniter. Dengan kata lain, developer yang
menggunakan framework CodeIgniter memiliki kumpulan dokumentasi yang lengkap tentang
cara kerja sistem aplikasi serta informasi lain tentang pengembangan PHP.
Tutorial atau petunjuk tersebut biasanya berupa masalah serupa yang pernah dialami oleh
orang lain dan mampu dipecahkan, kemudian dibuatkan solusi untuk pengguna lain pada fitur
built-in-library.
• Extremely light weight
Saat ini pengguna cenderung lebih memilih aplikasi yang dapat memuat data dengan cepat.
Framework ini juga mewujudkannya dengan menyediakan waktu kurang dari satu detik
untuk memuat setelah penginstalan.
Menanggapi kebutuhan ini, CodeIgniter dapat dimuat oleh perangkat dalam waktu kurang
dari 50 milidetik, membuatnya lebih cepat dibandingkan framework lainnya.
• Source code yang kecil

6
Kode sumber kecil dapat menyederhanakan penerapan dan pembaruan sistem aplikasi.
CodeIgniter memiliki source code yang hanya mendekati 2 MB, sehingga memudahkan
pengguna untuk menguasai CodeIgniter dan sistem kerjanya.
• XSS filtering
XSS atau Cross Site Scripting adalah jenis serangan siber berupa script injection atau kode
berbahaya. Tindakan ini biasanya dilakukan oleh hacker untuk mencuri data penting,
mengambil cookie, dan memasukkan program yang tidak dikenal. Codeigniter kini
dilengkapi dengan sistem keamanan yang cukup kuat, termasuk XSS filtering.
• Template engine class
Codeigniter memungkinkan pengembang untuk memilih parser template jika diperlukan.
Mesin template sangat cocok ketika Anda membutuhkan sintaks yang lebih mudah dan
sederhana. Proses pengolahannya jauh lebih cepat dan praktis dibandingkan PHP Native.

2.9 Kelebihan CodeIgniter


Codeigniter menawarkan sejumlah keunggulan yang mungkin tidak ditemukan di framework
lain. Berikut ini adalah beberapa manfaat dan keunggulan codeigniter:
1) Mudah untuk dipelajari
Codeigniter adalah framework yang sangat mudah dipelajari, apalagi jika sudah
mengenal PHP. Bisa menguasai codeigniter dalam waktu singkat untuk membangun
dan mengembangkan aplikasi.
2) Ukuran kecil
Framework codeigniter memiliki ukuran yang sangat kecil, yaitu sekitar 2MB.
Ukuran kecil ini akan memudahkan untuk menjalankan dan mengupdate codeigniter.
Selain itu, dibandingkan dengan jenis framework lainnya, CodeIgniter jelas lebih
ramah ruang penyimpanan perangkat.
3) Dapat dimodifikasi
Codeigniter sejak awal telah dilengkapi dengan library yang berisi banyak bantuan
dan instruksi. Jika tidak dapat menemukan apa yang dicari, akan dapat dengan mudah
menambahkan sendiri bantuan, petunjuk, atau pustaka Anda sendiri.
4) Sangat cepat
Sebagian besar pengguna lebih memilih perangkat lunak yang mampu memuat proses
dengan cepat. Codeigniter hadir sebagai framework supercepat dimana proses loading
dan eksekusi perintah dapat diproses dalam waktu kurang dari 50 milidetik.
5) Fleksibel
Codeigniter hadir dengan sejumlah fitur dan komponen canggih yang berdiri sendiri
tanpa bergantung satu sama lain. Ini memungkinkan pengguna untuk dengan mudah
memutakhirkan dan memperbaiki masalah tertentu.

7
2.10 Alur Kerja Codeigniter
CodeIgniter memiliki alur kerja yaitu:
1. Index.php, berfungsi sebagai file pertama di dalam program yang akan dibaca oleh
program.
2. Router, yang akan memeriksa permintaan HTTP untuk menentukan apa yang harus
dilakukan program.
3. File cache, jika program sudah memiliki "file cache", maka file tersebut akan dikirim
langsung ke browser. File cache ini dapat membuat website terbuka lebih cepat.
4. Security, sebelum seluruh file pengontrol dimuat, permintaan HTTP dan data yang
dikirimkan oleh pengguna akan disaring terlebih dahulu melalui fasilitas keamanan
yang dimiliki oleh CodeIgniter.
5. Controller, akan membuka file model, core library, helper, dan semua resource yang
dibutuhkan dalam program.

8
BAB III
PENUTUP
3.1 KESIMPULAN

Seiring perkembangnya zaman, dalam menggunakan bahasa pemrograman PHP, seorang


programmer cenderung lebih memilih menggunakan framework dan juga CSS yang sudah
tersedia untuk meringankan mereka dalam membangun sebuah website.
Dengan framework CodeIgniter, pengembang dapat sangat mudah menggunakan framework
ini untuk membuat suatu aplikasi web. Aplikasi ini dikembangkan dengan menggunakan
arsitektur Model-View-Controller yang telah tersedia di framework CI dan ada banyak library
dan helper yang berguna didalamnya dan tentunya mempermudah proses development.
Laravel menyediakan seperangkat alat dan sumber daya untuk membangun aplikasi berbasis
PHP. Laravel memiliki ekosistem lengkap yang didukung oleh paket dan ekstensi yang
kompatibel. Laravel telah berkembang pesat dan semakin besar dalam beberapa tahun terakhir.
Hal ini juga ditunjukkan dengan meningkatnya minat developer untuk menggunakan
framework Laravel karena dapat mempermudah pengembangan aplikasi.
CodeIgniter adalah sebuah framework khusus web dan application development yang hadir
sebagai platform open-sourceCodeIgniter adalah sebuah web application network yang bersifat
open source yang digunakan untuk membangun aplikasi php dinamis. CodeIgniter menjadi
sebuah framework PHP dengan model MVC (Model, View, Controller) untuk membangun
website dinamis dengan menggunakan PHP yang dapat mempercepat pengembang untuk
membuat sebuah aplikasi web. Selain ringan dan cepat, CodeIgniter juga memiliki
dokumentasi yang super lengkap disertai dengan contoh implementasi kodenya.

3.2 SARAN
Menyadari bahwa penulis masih jauh dari kata sempurna, kedepannya penulis akan lebih fokus
dan details dalam menjelaskan tentang makalah di atas dengan sumber -sumber yang lebih
banyak yang dapat di pertanggung jawabkan. saran dan kritik yang membangun akan saya
nantikan demi kesempurnaan makalah ini.

9
DAFTAR PUSTAKA

https://psti.unisayogya.ac.id/2020/10/14/apa-itu-framework-codeigniter/

http://ilmuti.org/wp-content/uploads/2014/03/mengenal-codeigniter-framework1.pdf

https://www.biznetgio.com/news/apa-itu-laravel

http://solmet.kemdikbud.go.id/?p=2811

https://laravel.com/

(DOC) Manfaat dari Penggunaan Framework dalam Pembuatan Program Berbasis Web | Reski Mulud
- Academia.edu

jbptunikompp-gdl-muhamadsep-33549-8-unikom_m-i.pdf

10

Anda mungkin juga menyukai