SlideShare a Scribd company logo
Head
First
Laravel
Herry Prasertyo
1
Modul 1
Pengenalan Laravel
Tujuan Pembelajaran :
• Siswa memahami Framework Laravel
• Siswa dapat menginstall laravel
Nama :
Kelas :
Pengajar: Herry Prasetyo S.Kom
1. Pengenalan
Pada bagian pengenalan ini, kita akan membahas tujuan utama dari modul pembelajaran
tentang Laravel. Modul ini ditujukan untuk memberikan pemahaman yang komprehensif tentang
pengembangan aplikasi web menggunakan framework Laravel. Dengan modul ini, Anda
diharapkan dapat menguasai dasar-dasar Laravel, memahami konsep-konsep penting dalam
pengembangan web, dan dapat membangun aplikasi web yang lebih canggih dengan bantuan
Laravel.
2. Apa Itu Laravel
Sebelum kita memulai perjalanan pembelajaran, kita akan membahas apa itu Laravel secara
lebih mendalam. Laravel adalah sebuah framework aplikasi web berbasis PHP yang open-source,
dikembangkan oleh Taylor Otwell. Framework ini didesain dengan tujuan untuk membuat proses
pengembangan web lebih mudah, cepat, dan efisien.
Laravel menjadi salah satu framework paling populer di dunia PHP karena banyaknya fitur
yang ditawarkannya, termasuk sistem routing yang kuat, mekanisme ORM yang kuat (Eloquent),
Blade templating engine yang mudah digunakan, sistem migrasi database, dan banyak lagi.
Dengan filosofi "Elegant Syntax", Laravel menawarkan sintaksis yang bersih dan mudah
dipahami, sehingga memudahkan para pengembang dalam membangun aplikasi web yang
kompleks.
3. Manfaat Belajar Laravel
Mengapa Anda harus belajar Laravel? Bagian ini akan membahas manfaat belajar dan
menggunakan Laravel dalam pengembangan aplikasi web:
• Produktivitas Tinggi: Dengan fitur-fitur kaya dan sintaksis yang elegan, Laravel
memungkinkan pengembang untuk lebih produktif dalam mengembangkan aplikasi web.
Banyak tugas umum telah disederhanakan dalam Laravel, sehingga Anda dapat fokus pada
logika bisnis dan fungsionalitas inti aplikasi Anda.
• Komunitas Besar: Laravel memiliki komunitas pengembang yang besar dan aktif. Ini
berarti Anda dapat dengan mudah menemukan bantuan, dokumentasi, dan sumber daya
belajar tambahan melalui forum, blog, atau situs-situs tutorial.
• Keamanan: Laravel menyediakan berbagai fitur keamanan bawaan untuk melindungi
aplikasi Anda dari potensi ancaman keamanan seperti XSS, CSRF, dan SQL injection.
• Dokumentasi Lengkap: Laravel memiliki dokumentasi resmi yang sangat baik.
Dokumentasi ini menjelaskan dengan jelas semua fitur dan komponen laravel,
memudahkan Anda dalam memahami dan menggunakannya.
4. Cakupan Modul Pembelajaran
2
Modul pembelajaran tentang Laravel ini akan mencakup berbagai topik dari dasar hingga
menengah dalam pengembangan aplikasi web dengan Laravel. Beberapa topik yang akan
dipelajari antara lain:
• Dasar-dasar Laravel seperti routing, controller, dan migration database.
• Blade Templating Engine dan bagaimana mengatur tampilan pada aplikasi web.
• Eloquent ORM dan bagaimana berinteraksi dengan database menggunakan model
Eloquent.
• Autentikasi pengguna dan cara melindungi bagian tertentu dari aplikasi.
• Middleware untuk menangani permintaan HTTP secara fleksibel.
• Upload dan pengelolaan file dalam Laravel.
• Pengiriman email dan notifikasi kepada pengguna.
• Pengujian (testing) aplikasi Laravel untuk memastikan keandalan.
• Penanganan kesalahan dan logging aplikasi.
• Pembuatan RESTful API menggunakan Laravel.
• Persiapan dan konfigurasi untuk deployment aplikasi.
5. Installasi Dan Konfigurasi Laravel
Bagian instalasi dan konfigurasi awal Laravel adalah langkah pertama yang harus diambil
sebelum Anda dapat mulai mengembangkan aplikasi web menggunakan Laravel. Di bawah ini,
saya akan menjelaskan langkah-langkah untuk menginstal dan mengonfigurasi awal Laravel:
1. Persyaratan Sistem
Sebelum menginstal Laravel, pastikan sistem Anda memenuhi persyaratan minimum untuk
menjalankan framework ini. Persyaratan ini termasuk PHP, ekstensi PHP, Composer, dan
beberapa lainnya. Pastikan Anda memiliki versi PHP yang sesuai dan ekstensi yang
diperlukan sebelum melanjutkan.
2. Menginstall Composer
Composer adalah dependency manager untuk PHP yang akan membantu Anda mengelola
dependensi dan paket PHP yang digunakan oleh proyek Laravel. Pastikan Anda sudah
menginstal Composer di sistem Anda sebelum melanjutkan. https://getcomposer.org/
3. Menginstal Laravel melalui Composer
Setelah Anda memastikan bahwa persyaratan sistem terpenuhi dan Composer sudah
diinstal, langkah selanjutnya adalah menginstal Laravel itu sendiri. Buka terminal atau
command prompt, dan ketik perintah berikut untuk membuat proyek Laravel baru:
Gambar 1
Gantilah "nama-proyek" dengan nama proyek yang Anda inginkan. Composer akan
mengunduh dan menginstal paket-paket Laravel yang diperlukan dan membuat proyek
baru dengan struktur direktori yang sesuai gambar
4. Konfigurasi File .env
3
Setelah instalasi selesai, Anda perlu mengkonfigurasi file .env untuk proyek Anda. Salin
file .env.example menjadi .env:
Gambar 2
File .env berisi pengaturan konfigurasi seperti koneksi database, pengaturan lingkungan
(environment), dan lainnya. Pastikan untuk mengisi nilai-nilai yang sesuai untuk
lingkungan pengembangan Anda, termasuk informasi database seperti nama database,
username, dan password.
5 Generate Key Aplikasi
Laravel menggunakan kunci enkripsi untuk berbagai keperluan keamanan. Anda perlu
menghasilkan kunci aplikasi untuk proyek Anda. Jalankan perintah berikut di terminal:
Gambar 3
Perintah ini akan menghasilkan kunci enkripsi dan menyimpannya di file .env.
6. Menjalankan Server Lokal
Setelah konfigurasi awal selesai, Anda dapat menjalankan server lokal untuk menguji
aplikasi Laravel Anda. Jalankan perintah berikut:
Gambar 4
Server lokal akan berjalan di http://localhost:8000 atau alamat lain yang ditampilkan di
terminal. Anda dapat membuka URL tersebut di browser untuk melihat tampilan awal
aplikasi Laravel Anda.
Dengan langkah-langkah di atas, Anda telah berhasil menginstal dan mengkonfigurasi
awal Laravel. Sekarang Anda siap untuk mulai mengembangkan aplikasi web
menggunakan Laravel dengan memahami struktur proyek dan memanfaatkan fitur-fitur
yang disediakan oleh framework ini.
7. Kesimpulan
Bagian pengenalan ini akan diakhiri dengan kesimpulan singkat tentang apa yang akan
dipelajari dalam modul pembelajaran tentang Laravel. Dengan memahami tujuan, manfaat, dan
cakupan modussl, Anda akan siap untuk melangkah lebih jauh dalam pembelajaran Laravel dan
meningkatkan keterampilan Anda dalam mengembangkan aplikasi web yang handal dan efisien.
4
Rangkuman
Bab pendahuluan dari modul pembelajaran tentang Laravel memberikan gambaran menyeluruh
tentang materi dan tujuan yang akan dipelajari dalam modul tersebut. Berikut adalah rangkuman
bab pendahuluan:
1. Modul Pembelajaran Laravel bertujuan untuk memberikan pemahaman yang komprehensif
tentang pengembangan aplikasi web menggunakan framework Laravel.
2. Laravel adalah sebuah framework aplikasi web berbasis PHP yang populer, dikembangkan
oleh Taylor Otwell, yang didesain untuk mempermudah proses pengembangan web dengan
sintaksis yang bersih dan fitur-fitur yang kuat.
3. Manfaat belajar Laravel meliputi peningkatan produktivitas, dukungan dari komunitas
yang besar, keamanan bawaan, dan dokumentasi resmi yang lengkap.
4. Modul pembelajaran ini akan mencakup berbagai topik dari dasar hingga menengah dalam
pengembangan aplikasi web dengan Laravel, termasuk Blade Templating Engine,
Eloquent ORM, autentikasi pengguna, middleware, pengujian, pengelolaan file,
pengiriman email, dan lainnya.
5. Prasyarat pengguna untuk modul ini adalah pengetahuan dasar tentang PHP, konsep
pemrograman berorientasi objek (OOP), dan dasar-dasar web seperti HTTP dan HTML.
Pengalaman dengan framework PHP lainnya merupakan nilai tambah, namun pemula
dalam pengembangan web atau PHP tetap dapat mengikuti modul ini dengan tekad dan
ketekunan.
Dengan memahami bab pendahuluan ini, siswa siap untuk melangkah lebih lanjut dalam
pembelajaran Laravel dan meningkatkan keterampilan dalam mengembangkan aplikasi web yang
handal dan efisien.
Latihan
1. Apa yang dimaksud dengan Laravel …
a. Sebuah aplikasi web berbasis JavaScript
b. Sebuah Aplikasi framework Berbasis python
c. Sebuah framework aplikasi web berbasis PHP
d. Sebuah bahasa pemrograman web
2. Mengapa Laravel menjadi salah satu framework paling populer di dunia PHP …
a. Karena hanya cocok untuk pengembangan aplikasi kecil
b. Karena tidak memiliki fitur yang kaya dan fleksibel
c. Karena memiliki sintaksis yang rumit dan sulit dipahami
d. Karena menawarkan fitur-fitur kaya, sintaksis elegan, dan produktivitas tinggi
3. Apa manfaat belajar Laravel dalam pengembangan aplikasi web …
a. Tidak ada manfaat, karena Laravel hanya cocok untuk aplikasi kecil’
b. Meningkatkan kemampuan menulis kode dalam bahasa pemrograman Java
c. Peningkatan produktivitas, keamanan bawaan, dan dukungan dari komunitas yang besar
d. Mengurangi performa aplikasi karena beratnya framework
4. Apa yang dimaksud dengan Eloquent dalam Laravel …
a. Sebuah bahasa pemrograman dalam Laravel
b. Sebuah fitur untuk mengirim email dalam Laravel
c. Sistem templating engine dalam Laravel
5
d. Sebuah ORM (Object-Relational Mapping) untuk berinteraksi dengan database dalam
Laravel
5. Apa persyaratan awal sebelum menginstal Laravel ….
a. Memiliki server web Apache
b. Memiliki versi PHP 7.0 atau lebih tinggi dan Composer terinstal
c. Memiliki koneksi internet yang stabil
d. Memiliki database Oracle terinstal
6. Apa langkah pertama yang harus dilakukan setelah menginstal Laravel …
a. Menjalankan server local
b. Membuat proyek baru menggunakan Artisan
c. Membuat file .env
d. Menghasilkan kunci aplikasi menggunakan perintah "key:generate"
7. Apa fungsi kunci enkripsi yang dihasilkan oleh perintah "key:generate" dalam Laravel …
a. Melakukan enkripsi password pengguna
b. Mengenkripsi seluruh kode aplikasi
c. Mengenkripsi file konfigurasi .env
d. Mengamankan sesi dan data lainnya yang sensitive
8. Apa yang dimaksud dengan middleware dalam konteks Laravel …
a. Sebuah alat bantu untuk mengelola proses migrasi database
b. Sebuah fungsi yang digunakan untuk memproses permintaan HTTP sebelum mencapai rute
tertentu
c. Sebuah fitur yang digunakan untuk mengelola versi aplikasi
d. Sebuah fitur untuk mengirim notifikasi kepada pengguna
9. Bagaimana Anda dapat mengatasi potensi ancaman keamanan seperti XSS dan CSRF dalam
Laravel …
a. Tidak perlu mengatasi, karena Laravel sudah aman secara default
b. Menggunakan sistem validasi data yang ketat
c. Menggunakan fitur middleware untuk menerapkan keamanan
d. Dengan mengandalkan keamanan server web Apache
10. Apa yang akan dipelajari dalam modul pembelajaran tentang Laravel …
a. Hanya topik dasar tentang Laravel
b. Konsep-konsep PHP saja, tanpa melibatkan Laravel
c. Berbagai topik dari dasar hingga menengah dalam pengembangan aplikasi web
menggunakan Laravel
d. Hanya cara menginstal Laravel dan konfigurasi awalnya
Essay Pratikum
1. Instalasi Laravel
a) Bagaimana cara menginstal Laravel menggunakan Composer …
b) Apa yang harus dipastikan sebelum menjalankan perintah composer create-project …
2. Konfigurasi Awal
a) Apa yang harus Anda lakukan setelah selesai menginstal Laravel untuk konfigurasi awal
proyek …
b) Di mana Anda dapat menemukan file .env dan apa fungsinya …
3. Generate Key Aplikasi
6
a) Mengapa perlu menghasilkan kunci aplikasi setelah menginstal Laravel…
b) Bagaimana cara menghasilkan kunci aplikasi menggunakan perintah php artisan
key:generate…
4. Pratikum: Menggunakan Blade Templating Engine
a) Bagaimana cara membuat layout dasar dengan Blade dalam Laravel …
b) Apa perbedaan antara file layout.blade.php dan content.blade.php …
7
Modul 2
Struktur Proyek Laravel
Tujuan Pembelajaran :
• Siswa memahami struktur proyek
laravel
• Siswa memahami struktur proyek
yang jelas dan teratur, pemeliharaan
kode menjadi lebih mudah.
• Siswa memahami dalam proyek
pengembangan aplikasi yang
melibatkan tim, struktur proyek yang
konsisten akan memudahkan para
anggota tim untuk berkolaborasi dan
bekerja sama.
Nama :
Kelas :
Pengajar: Herry Prasetyo S.Kom
1. Pengenalan
Dalam bab ini, kita akan mempelajari tentang struktur proyek dalam aplikasi Laravel. Struktur
proyek yang jelas dan terorganisir adalah salah satu fitur utama dari Laravel yang membuatnya
mudah untuk mengelola aplikasi web yang kompleks. Memahami struktur proyek akan membantu
Anda dalam mengatur file dan direktori dengan benar serta memahami bagaimana komponen-
komponen utama dalam aplikasi saling berinteraksi.
2. Struktur Proyek Utama
Ketika Anda membuat proyek baru dengan menggunakan perintah composer create-project
laravel/laravel nama_proyek, Laravel akan membuatkan struktur folder utama proyek untuk
Anda. Berikut adalah penjelasan tentang beberapa folder penting dalam struktur proyek :
• app: Folder ini berisi kode inti aplikasi Laravel, termasuk model, controller, dan file lain
yang berhubungan dengan bisnis logik aplikasi.
• bootstrap: Folder ini berisi file yang mendukung proses "bootstrapping" aplikasi, termasuk
autoload dan konfigurasi awal.
• config: Folder ini berisi file konfigurasi seperti pengaturan database, mail, cache, dll.
• database: Folder ini berisi file migrasi database dan file factory untuk seeding (pengisian
data awal).
• public: Folder ini berisi file-file publik yang dapat diakses oleh publik, seperti file CSS, JS,
dan file media.
• resources: Folder ini berisi file sumber daya seperti tampilan (views), file assets, dan file.
• routes: Folder ini berisi file definisi route, di mana Anda mendefinisikan bagaimana aplikasi
harus merespons permintaan dari client.
• storage: Folder ini berisi file-file yang dihasilkan oleh aplikasi, seperti file log, file sesi, file
cache, dll.
• tests: Folder ini berisi file untuk testing aplikasi menggunakan Laravel Dusk atau PHPUnit.
8
• vendor: Folder ini berisi dependensi yang diatur oleh Composer.
3. File Utama
Beberapa file utama dalam proyek Laravel yang perlu diperhatikan adalah:
• artisan: Ini adalah file yang digunakan untuk menjalankan perintah Artisan yang membantu
Anda dalam pengembangan aplikasi Laravel.
• composer.json: File konfigurasi Composer yang berisi daftar dependensi dan pengaturan
lainnya.
• .env: File ini berisi variabel lingkungan untuk konfigurasi aplikasi, seperti pengaturan
database dan kredensial email.
• .gitignore: File ini berisi daftar file dan folder yang akan diabaikan oleh Git saat Anda
melakukan version control.
4. Struktur Folder Resources
Dalam folder resources, terdapat subfolder yang penting:
• views: Folder ini berisi file-file tampilan (views) yang ditulis dengan menggunakan template
engine Blade.
• assets: Folder ini berisi file-file asset seperti file CSS, JavaScript, dan gambar yang
digunakan dalam tampilan aplikasi.
• lang: Folder ini berisi file bahasa untuk internasionalisasi aplikasi.
5. Struktur Folder Routes
Dalam folder routes, terdapat beberapa file yang mendefinisikan route aplikasi:
• web.php: File ini mendefinisikan route untuk aplikasi web yang menggunakan sesi dan
CSRF protection.
• api.php: File ini mendefinisikan route untuk API yang biasanya digunakan untuk mengakses
data dalam format JSON.
6. Struktur Folder App
Dalam folder app, terdapat beberapa subfolder yang menampung kode aplikasi:
• Http: Folder ini berisi controller, middleware, dan file lain yang terkait dengan pengaturan
HTTP.
• Models: Folder ini berisi model-model Eloquent yang berinteraksi dengan database.
• Providers: Folder ini berisi file-file yang digunakan untuk mengatur services di aplikasi.
7. Struktur Folder Database
Dalam folder database, terdapat beberapa subfolder yang penting:
• migrations: Folder ini berisi file migrasi database yang digunakan untuk mengatur struktur
database secara terstruktur dan konsisten.
• seeds: Folder ini berisi file factory untuk seeding, yang memungkinkan Anda mengisi data
awal ke dalam database.
8. Arsitektur MVC (Model-View-Controller) dalam Pengembangan Aplikasi Web
Arsitektur Model-View-Controller (MVC) adalah salah satu paradigma pengembangan
perangkat lunak yang populer dan banyak digunakan dalam pengembangan aplikasi web. MVC
9
membantu para pengembang memisahkan logika bisnis, tampilan, dan pemrosesan input dalam
aplikasi, sehingga meningkatkan skalabilitas, pemeliharaan, dan fleksibilitas proyek.
8.1. Apa itu Arsitektur MVC?
MVC adalah suatu pendekatan yang memisahkan komponen aplikasi web menjadi tiga
bagian utama:
• Model: Merupakan representasi dari data dan aturan bisnis. Model berhubungan
langsung dengan basis data dan menyimpan semua logika untuk mengakses,
memanipulasi, dan mengelola data. Dengan model, data dalam aplikasi dapat
dipisahkan dengan baik dari tampilan dan pemrosesan.
• View: Merupakan bagian tampilan atau antarmuka pengguna. View bertanggung
jawab untuk menampilkan data dari Model dalam bentuk yang dapat diinterpretasi
oleh pengguna. Dalam MVC, View tidak memiliki logika bisnis, hanya
menampilkan data yang diberikan oleh Model.
• Controller: Merupakan penghubung antara Model dan View. Controller mengelola
permintaan dari pengguna, memproses input, dan memperbarui Model serta
menyiapkan data yang akan ditampilkan dalam View. Controller juga bertanggung
jawab untuk memutakhirkan tampilan jika ada perubahan dalam Model.
8.2. Keuntungan Arsitektur MVC
Penerapan Arsitektur MVC dalam pengembangan aplikasi web menawarkan berbagai
keuntungan, antara lain:
• Pemisahan Logika: Dengan memisahkan Model, View, dan Controller,
pengembang dapat mengelola kode dengan lebih efisien. Perubahan pada salah satu
bagian tidak akan berdampak pada yang lain, sehingga memudahkan pemeliharaan
dan pengembangan lebih lanjut.
• Skalabilitas: Model-View-Controller memungkinkan aplikasi dapat dengan
mudah diubah dan diperluas tanpa mengganggu komponen lainnya. Ini
memungkinkan tim pengembang untuk bekerja secara bersamaan pada berbagai
bagian aplikasi.
• Pengujian (Testing) yang Lebih Mudah: Karena kode logika bisnis ada di Model
dan Controller, pengujian (testing) aplikasi menjadi lebih mudah. Pengembang
dapat menguji bagian-bagian aplikasi terpisah secara terisolasi.
• Fleksibilitas: Arsitektur MVC memungkinkan pengembang untuk dengan mudah
mengganti atau menggabungkan komponen tanpa mengganggu bagian lainnya. Hal
ini memudahkan dalam menghadapi perubahan persyaratan proyek.
8.3. Contoh Implementasi Arsitektur MVC dalam Laravel
Laravel, sebagai salah satu framework PHP yang populer, menerapkan Arsitektur MVC
secara konsisten. Berikut adalah contoh implementasi Arsitektur MVC dalam Laravel:
• Model: Dalam Laravel, Model direpresentasikan oleh kelas yang mewakili tabel
dalam basis data. Model berfungsi untuk mengelola operasi basis data seperti
seleksi, penyisipan, pembaruan, dan penghapusan data. Model juga berfungsi
sebagai representasi objek dari data yang ada dalam tabel.
• View: View dalam Laravel menggunakan Blade Templating Engine. Blade
memungkinkan pembuatan tampilan HTML dengan sintaks yang lebih sederhana
dan ekspresif. Dalam Blade, Anda dapat mengakses data dari Model dan
menampilkannya ke pengguna.
• Controller: Controller dalam Laravel berisi metode-metode yang mengelola logika
bisnis aplikasi dan berinteraksi dengan Model dan View. Controller menerima
permintaan dari pengguna melalui rute (route), memproses permintaan tersebut,
dan menyajikan data yang tepat ke View yang sesuai.
10
9. Routing dan Rute Dasar
Pengertian tentang routing dalam aplikasi web merujuk pada proses pengelolaan permintaan
(request) yang masuk dari pengguna ke halaman atau fungsi yang sesuai dalam aplikasi. Ketika
seorang pengguna mengakses suatu URL melalui peramban (browser), permintaan tersebut harus
diarahkan ke bagians aplikasi web yang relevan untuk memberikan respon yang sesuai. Inilah
peran utama dari routing.
9.1. Konsep Dasar Routing dalam Aplikasi Web:
a. URL (Uniform Resource Locator): URL adalah alamat unik yang digunakan
untuk mengidentifikasi dan menemukan sumber daya (seperti halaman web atau
berkas) dalam jaringan, seperti internet. URL biasanya berisi protokol, domain,
dan path yang menunjukkan lokasi sumber daya yang diminta.
b. Permintaan HTTP (HTTP Request): Ketika seorang pengguna mengakses URL
tertentu melalui peramban, sebuah permintaan HTTP dikirimkan ke server yang
meng-host aplikasi web tersebut. Permintaan HTTP berisi informasi seperti
metode HTTP (GET, POST, PUT, DELETE, dll.), header, parameter, dan data
yang ingin dikirimkan atau diperoleh oleh aplikasi.
c. Routing: Routing adalah proses memetakan permintaan HTTP ke bagian aplikasi
web yang tepat untuk menanganinya. Dalam banyak kasus, aplikasi web terdiri
dari banyak halaman atau fungsi yang berbeda. Routing memungkinkan server
web untuk mengetahui alamat URL yang diminta oleh pengguna dan
mengarahkannya ke fungsi atau halaman yang sesuai dalam aplikasi.
9.2. Bagaimana Routing Bekerja dalam Aplikasi Web:
a. Ketika server web menerima permintaan HTTP, ia memeriksa URL yang diminta
oleh pengguna untuk menentukan bagaimana permintaan tersebut harus ditangani.
b. Server web menggunakan konfigurasi routing yang telah ditentukan sebelumnya
untuk mencari tahu rute mana yang sesuai dengan URL yang diminta.
c. Setiap rute dalam konfigurasi routing memiliki asosiasi dengan sebuah fungsi atau
halaman dalam aplikasi yang akan dipanggil jika rute tersebut cocok dengan URL
yang diminta.
d. Server web mengarahkan permintaan tersebut ke fungsi atau halaman yang sesuai,
yang kemudian memberikan respon kembali kepada pengguna.
9.3. Komponen Routing dalam Aplikasi Web:
a. URL Pattern: URL pattern adalah pola yang digunakan untuk mencocokkan URL
yang diminta dengan rute yang sesuai. URL pattern biasanya berisi path tertentu
dan bisa juga mengandung parameter.
b. Handler (Controller atau View): Handler adalah fungsi atau halaman yang akan
dipanggil ketika URL yang diminta cocok dengan URL pattern pada rute tertentu.
Handler ini akan menangani permintaan dan memberikan respon yang sesuai,
seperti menampilkan halaman web atau memproses data.
c. Metode HTTP: Metode HTTP (misalnya GET, POST, PUT, DELETE)
menentukan jenis permintaan yang dikirimkan oleh pengguna. Metode HTTP
dapat digunakan untuk menentukan jenis tindakan yang harus diambil oleh
aplikasi dalam menangani permintaan tersebut.
d. Routing adalah salah satu aspek kunci dalam pengembangan aplikasi web yang
memungkinkan pengguna untuk berinteraksi dengan aplikasi secara efisien
melalui URL. Implementasi yang baik dari routing memastikan permintaan
pengguna diteruskan dengan benar ke fungsi atau halaman yang sesuai,
memberikan pengalaman pengguna yang lebih baik dan meningkatkan
fungsionalitas aplikasi secara keseluruhan.
9.4. Jenis jenis route
a. Rute Dasar
11
Dalam Laravel, routess dasar biasanya didefinisikan dalam file web.php yang
berlokasi di direktori routes. Rute dasar digunakan untuk mengarahkan permintaan
HTTP ke fungsi-fungsi dalam Controller yang sesuai. Berikut adalah contoh rute
dasar:
// routes/web.php
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
return "Ini adalah halaman tentang kami.";
});
Route::get('/contact', [ContactController::class,’
showContactForm’]);
• Rute pertama Route::get('/', function () { ... }) akan mengarahkan permintaan
GET ke halaman utama (/) dan akan menampilkan view dengan nama
"welcome".
• Rute kedua Route::get('/about', function () { ... }) akan mengarahkan
permintaan GET ke halaman /about dan akan menampilkan teks "Ini adalah
halaman tentang kami." sebagai respon.
• Rute ketiga
ssRoute::get('/contact',['ContactController::class,’showContactForm’]) akan
mengarahkan permintaan GET ke halaman /contact dan akan menangani
permintaan dengan memanggil fungsi showContactForm dalam
ContactController.
b. Rute dengan Parameter
Laravel juga mendukung penggunaan rute dengan parameter yang memungkinkan
kita mengambil data dari URL dan memprosesnya dalam aplikasi. Berikut adalah
contoh rute dengan parameter:
• Rute di atas akan mengarahkan permintaan GET ke halaman /post/{id} dan
akan menampilkan teks "Ini adalah halaman untuk postingan dengan ID:
[id]" sebagai respon. {id} adalah parameter yang akan diisi dengan nilai ID
yang diberikan oleh pengguna dalam URL.
c. Rute dengan Parameter Opsional
Laravel juga memungkinkan penggunaan rute dengan parameter opsional yang
memungkinkan kita memiliki nilai parameter default atau tidak wajib di dalam
URL. Berikut adalah contoh rute dengan parameter opsional:
12
• Rute di atas akan mengarahkan permintaan GET ke halaman /user/{name}
dan akan menampilkan teks "Halo, [name]" jika parameter name ada dalam
URL. Jika name tidak diberikan, maka teks "Halo, pengunjung" akan
ditampilkan sebagai respon.
10. Rangkuman
Struktur proyek adalah kerangka dasar yang membantu pengembang mengorganisir kode,
sumber daya, dan komponen aplikasi dengan baik. Dalam konteks Laravel, struktur proyek
merupakan fondasi untuk membangun aplikasi web yang efisien dan terstruktur. Berikut
adalah rangkuman tentang struktur proyek Laravel:
• Direktori Utama:
Direktori utama proyek Laravel mengandung berbagai file penting dan direktori inti,
termasuk file composer.json, package.json, artisan, dan phpunit.xml. Ini adalah tempat
pengaturan dan konfigurasi umum aplikasi.
• Direktori App:
Direktori app adalah pusat dari aplikasi. Di dalamnya, Anda akan menemukan
subdirektori seperti Http, Providers, dan Console. Http: Berisi Controller, Middleware,
dan pengaturan rute. Providers: Mengandung penyedia layanan yang berisi konfigurasi
pihak ketiga atau layanan aplikasi kustom. Console: Berisi perintah Artisan yang dapat
dijalankan melalui terminal.
• Direktori Bootstrap:
Direktori bootstrap berisi file-file yang membantu dalam proses inisialisasi dan
bootstrapping aplikasi, termasuk file app.php yang menginisialisasi framework Laravel.
• Direktori Config:
Direktori config berisi file konfigurasi aplikasi. Anda dapat mengubah berbagai
pengaturan seperti database, layanan, dan banyak lagi dari sini.
• Direktori Database:
Direktori database berisi file-file terkait basis data, seperti migrasi dan seeders. Migrasi
digunakan untuk mengelola struktur basis data, sedangkan seeders digunakan untuk
menyematkan data awal.
• Direktori Public:
Direktori public adalah tempat masuknya permintaan HTTP. Ini adalah titik masuk
pertama bagi permintaan pengguna. File index.php di sini memulai proses routing dan
penanganan permintaan.
• Direktori Resources:
Direktori resources berisi sumber daya yang digunakan dalam tampilan, seperti file
Blade, CSS, JavaScript, dan gambar.
• Direktori Routes:
13
Direktori routes berisi file web.php dan api.php yang berisi definisi rute untuk aplikasi
web dan API.
• Direktori Storage:
Direktori storage menyimpan file-file yang dihasilkan oleh aplikasi, termasuk file cache,
sesi, dan file log.
• Direktori Tests:
Direktori tests berisi file-file pengujian (testing) aplikasi dengan menggunakan
PHPUnit.
• Direktori Vendor:
Direktori vendor berisi dependensi proyek yang dikelola oleh Composer.
Latihan
1. Apa yang dimaksud dengan "struktur proyek" dalam konteks pengembangan aplikasi web…
a. Pemilihan warna tema aplikasi
b. Kerangka kerja yang digunakan dalam proyek
c. Cara penyimpanan data dalam basis data
d. Organisasi dan pengaturan komponen-komponen proyek
2. Di dalam direktori manakah file composer.json dan package.json biasanya ditemukan …
a. App
b. Bootstrap
c. Resources
d. root (direktori utama proyek)
3. Apa peran direktori routes dalam struktur proyek Laravel …
a. Menyimpan file-file pengujian
b. Menyimpan file-file konfigurasi
c. Menyimpan file-file Blade template
d. Menyimpan definisi rute untuk aplikasi web
4. Di dalam direktori app, di bagian manakah Anda biasanya akan menemukan file Controller…
a. Http
b. Providers
c. Console
d. Views
5. Direktori manakah yang mengandung file-file sumber daya seperti file Blade template, CSS,
dan JavaScript …
a. Bootstrap
b. Public
c. Resources
d. Storage
Essay
1. Jelaskan apa yang dimaksud dengan "struktur proyek" dalam konteks pengembangan aplikasi
web. Berikan contoh komponen-komponen utama yang biasanya ditemukan dalam struktur
proyek Laravel ….
14
2. Gambarkan peran dari direktori routes dalam struktur proyek Laravel. Apa yang biasanya Anda
temukan di dalam file web.php yang terdapat di direktori ini …
3. Apa yang dimaksud dengan direktori app dalam proyek Laravel ! Sebutkan beberapa jenis
komponen yang biasanya ditemukan di dalam direktori ini dan jelaskan peran masing-masing
…
4. Jelaskan konsep "route" dalam konteks pengembangan aplikasi web menggunakan Laravel.
Mengapa rute diperlukan dalam pengembangan aplikasi web …
5. Apa yang dimaksud dengan "handler rute" dalam Laravel? Bagaimana handler rute
berinteraksi dengan URL dan metode HTTP yang didefinisikan dalam rute…

More Related Content

PDF
Modul Laravel
PDF
Week-10-Konsep-MVC-Framework-Laravel.pdf
PDF
web lanjutan for ilmu pengetahuan dan juga ilmu pengembangan
PPTX
Instalasi dan Konfigurasi Laravel Versi 5 di Windows.pptx
DOCX
Membangun aplikasi berbasis web dengan menggunakan framework
PDF
Tutorial dasar laravel
PDF
Tutorial dasar laravel
PDF
Tutorial Penggunaan Laravel
Modul Laravel
Week-10-Konsep-MVC-Framework-Laravel.pdf
web lanjutan for ilmu pengetahuan dan juga ilmu pengembangan
Instalasi dan Konfigurasi Laravel Versi 5 di Windows.pptx
Membangun aplikasi berbasis web dengan menggunakan framework
Tutorial dasar laravel
Tutorial dasar laravel
Tutorial Penggunaan Laravel

Similar to Head first laravel (20)

PDF
Tutorial dasar-laravel
PDF
Tutorial dasar laravel 4
PPTX
P1 - Laravel - Introduction and Setup.pptx
PPTX
P1 - Laravel - Introduction and Setup.pptx
PPTX
Tugas 4 0916 dimas setiadi 1511510610
PPTX
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
PPTX
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
PPTX
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
PDF
0301_Pertemuan 1.pdf
PPTX
Tugas-4 REKAYASA WEB
PPTX
Pengenalan Laravel Pengenalan Laravel.pptx
PPTX
Tugas 1 rekweb-0317
PPTX
Tugas 1 – 0317 (individu) rekayasa web
PPTX
Tugas rekweb 0316 arifmunandar 1312510124
PPTX
Tugas 4 debbie mistikaweni 1412510982
PPTX
Tugas 1 ihsan riadi - 1412511162
PPTX
Tugas 4 rekweb
PPTX
Tugas 4 rekayasa web
PPTX
Tugas 4 rekayasa web
PPTX
Tugas 3 rekayasa web
Tutorial dasar-laravel
Tutorial dasar laravel 4
P1 - Laravel - Introduction and Setup.pptx
P1 - Laravel - Introduction and Setup.pptx
Tugas 4 0916 dimas setiadi 1511510610
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
0301_Pertemuan 1.pdf
Tugas-4 REKAYASA WEB
Pengenalan Laravel Pengenalan Laravel.pptx
Tugas 1 rekweb-0317
Tugas 1 – 0317 (individu) rekayasa web
Tugas rekweb 0316 arifmunandar 1312510124
Tugas 4 debbie mistikaweni 1412510982
Tugas 1 ihsan riadi - 1412511162
Tugas 4 rekweb
Tugas 4 rekayasa web
Tugas 4 rekayasa web
Tugas 3 rekayasa web
Ad

More from Herry Prasetyo (19)

PDF
Matematika Kelas 1 SD Hanya untuk kepentingan pribadi
PDF
Pemrograman Dasar Python Dari Dasar Sampai bisa
PDF
Modul AJar Rekayasa Perangkat Lunak 2024
PPTX
Luring DI Makasar pelatihan mobile pptx
PDF
"Web Development - Inovasi Digital 2024"
PDF
Modul Ajar Basis Data
PDF
WAWASAN KEBANGSAAN DAN NILAI NILAI BELA NEGARA
PDF
MODUL KEDUA.pdf
PDF
Modul Pertama.pdf
PDF
PDF
Sertifikat Dicoding
PDF
Flutter movie apps tutor
PDF
LatihanSederhanaAJA
PDF
Tutorial basicapp
PDF
Laravel[part ii]
PDF
Laravel[part 1]
PPTX
PPT
Konversi sistem bilangan
PDF
Mengamankan jaringan wifi
Matematika Kelas 1 SD Hanya untuk kepentingan pribadi
Pemrograman Dasar Python Dari Dasar Sampai bisa
Modul AJar Rekayasa Perangkat Lunak 2024
Luring DI Makasar pelatihan mobile pptx
"Web Development - Inovasi Digital 2024"
Modul Ajar Basis Data
WAWASAN KEBANGSAAN DAN NILAI NILAI BELA NEGARA
MODUL KEDUA.pdf
Modul Pertama.pdf
Sertifikat Dicoding
Flutter movie apps tutor
LatihanSederhanaAJA
Tutorial basicapp
Laravel[part ii]
Laravel[part 1]
Konversi sistem bilangan
Mengamankan jaringan wifi
Ad

Recently uploaded (20)

PPTX
MATERI NARKOBA RTS badan anti narkoba.pptx
PDF
3. Buku Sekolah Sehat, sekolah sehat bagi madrasah
PDF
Gangguan Penglihatan Mata - presentasi biologi
PPTX
ppt kelas XII materi sifat koligatif larutan
DOCX
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
PPTX
Paparan Penyesuaian Juknis BOSP Tahun 2025
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
DOCX
LKPD_Bab_1_Informatika_Kelas_9. : Informatika dan Keterampilan Generikdocx
DOCX
Lembar Kerja Mahasiswa Information System
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
PDF
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
PPTX
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
PPTX
PPT Kurikulum Berbasis Cinta tahun 2025.
PPTX
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PPT
SEJARAH kelas 12 SEMESTER SATU DAN DUA.ppt
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PPTX
materi pencegahan perkawinan usia anak.pptx
MATERI NARKOBA RTS badan anti narkoba.pptx
3. Buku Sekolah Sehat, sekolah sehat bagi madrasah
Gangguan Penglihatan Mata - presentasi biologi
ppt kelas XII materi sifat koligatif larutan
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
Paparan Penyesuaian Juknis BOSP Tahun 2025
Lembar Kerja Mahasiswa Konsep Sistem Operasi
LKPD_Bab_1_Informatika_Kelas_9. : Informatika dan Keterampilan Generikdocx
Lembar Kerja Mahasiswa Information System
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
PPT Kurikulum Berbasis Cinta tahun 2025.
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
SEJARAH kelas 12 SEMESTER SATU DAN DUA.ppt
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
materi pencegahan perkawinan usia anak.pptx

Head first laravel

  • 2. 1 Modul 1 Pengenalan Laravel Tujuan Pembelajaran : • Siswa memahami Framework Laravel • Siswa dapat menginstall laravel Nama : Kelas : Pengajar: Herry Prasetyo S.Kom 1. Pengenalan Pada bagian pengenalan ini, kita akan membahas tujuan utama dari modul pembelajaran tentang Laravel. Modul ini ditujukan untuk memberikan pemahaman yang komprehensif tentang pengembangan aplikasi web menggunakan framework Laravel. Dengan modul ini, Anda diharapkan dapat menguasai dasar-dasar Laravel, memahami konsep-konsep penting dalam pengembangan web, dan dapat membangun aplikasi web yang lebih canggih dengan bantuan Laravel. 2. Apa Itu Laravel Sebelum kita memulai perjalanan pembelajaran, kita akan membahas apa itu Laravel secara lebih mendalam. Laravel adalah sebuah framework aplikasi web berbasis PHP yang open-source, dikembangkan oleh Taylor Otwell. Framework ini didesain dengan tujuan untuk membuat proses pengembangan web lebih mudah, cepat, dan efisien. Laravel menjadi salah satu framework paling populer di dunia PHP karena banyaknya fitur yang ditawarkannya, termasuk sistem routing yang kuat, mekanisme ORM yang kuat (Eloquent), Blade templating engine yang mudah digunakan, sistem migrasi database, dan banyak lagi. Dengan filosofi "Elegant Syntax", Laravel menawarkan sintaksis yang bersih dan mudah dipahami, sehingga memudahkan para pengembang dalam membangun aplikasi web yang kompleks. 3. Manfaat Belajar Laravel Mengapa Anda harus belajar Laravel? Bagian ini akan membahas manfaat belajar dan menggunakan Laravel dalam pengembangan aplikasi web: • Produktivitas Tinggi: Dengan fitur-fitur kaya dan sintaksis yang elegan, Laravel memungkinkan pengembang untuk lebih produktif dalam mengembangkan aplikasi web. Banyak tugas umum telah disederhanakan dalam Laravel, sehingga Anda dapat fokus pada logika bisnis dan fungsionalitas inti aplikasi Anda. • Komunitas Besar: Laravel memiliki komunitas pengembang yang besar dan aktif. Ini berarti Anda dapat dengan mudah menemukan bantuan, dokumentasi, dan sumber daya belajar tambahan melalui forum, blog, atau situs-situs tutorial. • Keamanan: Laravel menyediakan berbagai fitur keamanan bawaan untuk melindungi aplikasi Anda dari potensi ancaman keamanan seperti XSS, CSRF, dan SQL injection. • Dokumentasi Lengkap: Laravel memiliki dokumentasi resmi yang sangat baik. Dokumentasi ini menjelaskan dengan jelas semua fitur dan komponen laravel, memudahkan Anda dalam memahami dan menggunakannya. 4. Cakupan Modul Pembelajaran
  • 3. 2 Modul pembelajaran tentang Laravel ini akan mencakup berbagai topik dari dasar hingga menengah dalam pengembangan aplikasi web dengan Laravel. Beberapa topik yang akan dipelajari antara lain: • Dasar-dasar Laravel seperti routing, controller, dan migration database. • Blade Templating Engine dan bagaimana mengatur tampilan pada aplikasi web. • Eloquent ORM dan bagaimana berinteraksi dengan database menggunakan model Eloquent. • Autentikasi pengguna dan cara melindungi bagian tertentu dari aplikasi. • Middleware untuk menangani permintaan HTTP secara fleksibel. • Upload dan pengelolaan file dalam Laravel. • Pengiriman email dan notifikasi kepada pengguna. • Pengujian (testing) aplikasi Laravel untuk memastikan keandalan. • Penanganan kesalahan dan logging aplikasi. • Pembuatan RESTful API menggunakan Laravel. • Persiapan dan konfigurasi untuk deployment aplikasi. 5. Installasi Dan Konfigurasi Laravel Bagian instalasi dan konfigurasi awal Laravel adalah langkah pertama yang harus diambil sebelum Anda dapat mulai mengembangkan aplikasi web menggunakan Laravel. Di bawah ini, saya akan menjelaskan langkah-langkah untuk menginstal dan mengonfigurasi awal Laravel: 1. Persyaratan Sistem Sebelum menginstal Laravel, pastikan sistem Anda memenuhi persyaratan minimum untuk menjalankan framework ini. Persyaratan ini termasuk PHP, ekstensi PHP, Composer, dan beberapa lainnya. Pastikan Anda memiliki versi PHP yang sesuai dan ekstensi yang diperlukan sebelum melanjutkan. 2. Menginstall Composer Composer adalah dependency manager untuk PHP yang akan membantu Anda mengelola dependensi dan paket PHP yang digunakan oleh proyek Laravel. Pastikan Anda sudah menginstal Composer di sistem Anda sebelum melanjutkan. https://getcomposer.org/ 3. Menginstal Laravel melalui Composer Setelah Anda memastikan bahwa persyaratan sistem terpenuhi dan Composer sudah diinstal, langkah selanjutnya adalah menginstal Laravel itu sendiri. Buka terminal atau command prompt, dan ketik perintah berikut untuk membuat proyek Laravel baru: Gambar 1 Gantilah "nama-proyek" dengan nama proyek yang Anda inginkan. Composer akan mengunduh dan menginstal paket-paket Laravel yang diperlukan dan membuat proyek baru dengan struktur direktori yang sesuai gambar 4. Konfigurasi File .env
  • 4. 3 Setelah instalasi selesai, Anda perlu mengkonfigurasi file .env untuk proyek Anda. Salin file .env.example menjadi .env: Gambar 2 File .env berisi pengaturan konfigurasi seperti koneksi database, pengaturan lingkungan (environment), dan lainnya. Pastikan untuk mengisi nilai-nilai yang sesuai untuk lingkungan pengembangan Anda, termasuk informasi database seperti nama database, username, dan password. 5 Generate Key Aplikasi Laravel menggunakan kunci enkripsi untuk berbagai keperluan keamanan. Anda perlu menghasilkan kunci aplikasi untuk proyek Anda. Jalankan perintah berikut di terminal: Gambar 3 Perintah ini akan menghasilkan kunci enkripsi dan menyimpannya di file .env. 6. Menjalankan Server Lokal Setelah konfigurasi awal selesai, Anda dapat menjalankan server lokal untuk menguji aplikasi Laravel Anda. Jalankan perintah berikut: Gambar 4 Server lokal akan berjalan di http://localhost:8000 atau alamat lain yang ditampilkan di terminal. Anda dapat membuka URL tersebut di browser untuk melihat tampilan awal aplikasi Laravel Anda. Dengan langkah-langkah di atas, Anda telah berhasil menginstal dan mengkonfigurasi awal Laravel. Sekarang Anda siap untuk mulai mengembangkan aplikasi web menggunakan Laravel dengan memahami struktur proyek dan memanfaatkan fitur-fitur yang disediakan oleh framework ini. 7. Kesimpulan Bagian pengenalan ini akan diakhiri dengan kesimpulan singkat tentang apa yang akan dipelajari dalam modul pembelajaran tentang Laravel. Dengan memahami tujuan, manfaat, dan cakupan modussl, Anda akan siap untuk melangkah lebih jauh dalam pembelajaran Laravel dan meningkatkan keterampilan Anda dalam mengembangkan aplikasi web yang handal dan efisien.
  • 5. 4 Rangkuman Bab pendahuluan dari modul pembelajaran tentang Laravel memberikan gambaran menyeluruh tentang materi dan tujuan yang akan dipelajari dalam modul tersebut. Berikut adalah rangkuman bab pendahuluan: 1. Modul Pembelajaran Laravel bertujuan untuk memberikan pemahaman yang komprehensif tentang pengembangan aplikasi web menggunakan framework Laravel. 2. Laravel adalah sebuah framework aplikasi web berbasis PHP yang populer, dikembangkan oleh Taylor Otwell, yang didesain untuk mempermudah proses pengembangan web dengan sintaksis yang bersih dan fitur-fitur yang kuat. 3. Manfaat belajar Laravel meliputi peningkatan produktivitas, dukungan dari komunitas yang besar, keamanan bawaan, dan dokumentasi resmi yang lengkap. 4. Modul pembelajaran ini akan mencakup berbagai topik dari dasar hingga menengah dalam pengembangan aplikasi web dengan Laravel, termasuk Blade Templating Engine, Eloquent ORM, autentikasi pengguna, middleware, pengujian, pengelolaan file, pengiriman email, dan lainnya. 5. Prasyarat pengguna untuk modul ini adalah pengetahuan dasar tentang PHP, konsep pemrograman berorientasi objek (OOP), dan dasar-dasar web seperti HTTP dan HTML. Pengalaman dengan framework PHP lainnya merupakan nilai tambah, namun pemula dalam pengembangan web atau PHP tetap dapat mengikuti modul ini dengan tekad dan ketekunan. Dengan memahami bab pendahuluan ini, siswa siap untuk melangkah lebih lanjut dalam pembelajaran Laravel dan meningkatkan keterampilan dalam mengembangkan aplikasi web yang handal dan efisien. Latihan 1. Apa yang dimaksud dengan Laravel … a. Sebuah aplikasi web berbasis JavaScript b. Sebuah Aplikasi framework Berbasis python c. Sebuah framework aplikasi web berbasis PHP d. Sebuah bahasa pemrograman web 2. Mengapa Laravel menjadi salah satu framework paling populer di dunia PHP … a. Karena hanya cocok untuk pengembangan aplikasi kecil b. Karena tidak memiliki fitur yang kaya dan fleksibel c. Karena memiliki sintaksis yang rumit dan sulit dipahami d. Karena menawarkan fitur-fitur kaya, sintaksis elegan, dan produktivitas tinggi 3. Apa manfaat belajar Laravel dalam pengembangan aplikasi web … a. Tidak ada manfaat, karena Laravel hanya cocok untuk aplikasi kecil’ b. Meningkatkan kemampuan menulis kode dalam bahasa pemrograman Java c. Peningkatan produktivitas, keamanan bawaan, dan dukungan dari komunitas yang besar d. Mengurangi performa aplikasi karena beratnya framework 4. Apa yang dimaksud dengan Eloquent dalam Laravel … a. Sebuah bahasa pemrograman dalam Laravel b. Sebuah fitur untuk mengirim email dalam Laravel c. Sistem templating engine dalam Laravel
  • 6. 5 d. Sebuah ORM (Object-Relational Mapping) untuk berinteraksi dengan database dalam Laravel 5. Apa persyaratan awal sebelum menginstal Laravel …. a. Memiliki server web Apache b. Memiliki versi PHP 7.0 atau lebih tinggi dan Composer terinstal c. Memiliki koneksi internet yang stabil d. Memiliki database Oracle terinstal 6. Apa langkah pertama yang harus dilakukan setelah menginstal Laravel … a. Menjalankan server local b. Membuat proyek baru menggunakan Artisan c. Membuat file .env d. Menghasilkan kunci aplikasi menggunakan perintah "key:generate" 7. Apa fungsi kunci enkripsi yang dihasilkan oleh perintah "key:generate" dalam Laravel … a. Melakukan enkripsi password pengguna b. Mengenkripsi seluruh kode aplikasi c. Mengenkripsi file konfigurasi .env d. Mengamankan sesi dan data lainnya yang sensitive 8. Apa yang dimaksud dengan middleware dalam konteks Laravel … a. Sebuah alat bantu untuk mengelola proses migrasi database b. Sebuah fungsi yang digunakan untuk memproses permintaan HTTP sebelum mencapai rute tertentu c. Sebuah fitur yang digunakan untuk mengelola versi aplikasi d. Sebuah fitur untuk mengirim notifikasi kepada pengguna 9. Bagaimana Anda dapat mengatasi potensi ancaman keamanan seperti XSS dan CSRF dalam Laravel … a. Tidak perlu mengatasi, karena Laravel sudah aman secara default b. Menggunakan sistem validasi data yang ketat c. Menggunakan fitur middleware untuk menerapkan keamanan d. Dengan mengandalkan keamanan server web Apache 10. Apa yang akan dipelajari dalam modul pembelajaran tentang Laravel … a. Hanya topik dasar tentang Laravel b. Konsep-konsep PHP saja, tanpa melibatkan Laravel c. Berbagai topik dari dasar hingga menengah dalam pengembangan aplikasi web menggunakan Laravel d. Hanya cara menginstal Laravel dan konfigurasi awalnya Essay Pratikum 1. Instalasi Laravel a) Bagaimana cara menginstal Laravel menggunakan Composer … b) Apa yang harus dipastikan sebelum menjalankan perintah composer create-project … 2. Konfigurasi Awal a) Apa yang harus Anda lakukan setelah selesai menginstal Laravel untuk konfigurasi awal proyek … b) Di mana Anda dapat menemukan file .env dan apa fungsinya … 3. Generate Key Aplikasi
  • 7. 6 a) Mengapa perlu menghasilkan kunci aplikasi setelah menginstal Laravel… b) Bagaimana cara menghasilkan kunci aplikasi menggunakan perintah php artisan key:generate… 4. Pratikum: Menggunakan Blade Templating Engine a) Bagaimana cara membuat layout dasar dengan Blade dalam Laravel … b) Apa perbedaan antara file layout.blade.php dan content.blade.php …
  • 8. 7 Modul 2 Struktur Proyek Laravel Tujuan Pembelajaran : • Siswa memahami struktur proyek laravel • Siswa memahami struktur proyek yang jelas dan teratur, pemeliharaan kode menjadi lebih mudah. • Siswa memahami dalam proyek pengembangan aplikasi yang melibatkan tim, struktur proyek yang konsisten akan memudahkan para anggota tim untuk berkolaborasi dan bekerja sama. Nama : Kelas : Pengajar: Herry Prasetyo S.Kom 1. Pengenalan Dalam bab ini, kita akan mempelajari tentang struktur proyek dalam aplikasi Laravel. Struktur proyek yang jelas dan terorganisir adalah salah satu fitur utama dari Laravel yang membuatnya mudah untuk mengelola aplikasi web yang kompleks. Memahami struktur proyek akan membantu Anda dalam mengatur file dan direktori dengan benar serta memahami bagaimana komponen- komponen utama dalam aplikasi saling berinteraksi. 2. Struktur Proyek Utama Ketika Anda membuat proyek baru dengan menggunakan perintah composer create-project laravel/laravel nama_proyek, Laravel akan membuatkan struktur folder utama proyek untuk Anda. Berikut adalah penjelasan tentang beberapa folder penting dalam struktur proyek : • app: Folder ini berisi kode inti aplikasi Laravel, termasuk model, controller, dan file lain yang berhubungan dengan bisnis logik aplikasi. • bootstrap: Folder ini berisi file yang mendukung proses "bootstrapping" aplikasi, termasuk autoload dan konfigurasi awal. • config: Folder ini berisi file konfigurasi seperti pengaturan database, mail, cache, dll. • database: Folder ini berisi file migrasi database dan file factory untuk seeding (pengisian data awal). • public: Folder ini berisi file-file publik yang dapat diakses oleh publik, seperti file CSS, JS, dan file media. • resources: Folder ini berisi file sumber daya seperti tampilan (views), file assets, dan file. • routes: Folder ini berisi file definisi route, di mana Anda mendefinisikan bagaimana aplikasi harus merespons permintaan dari client. • storage: Folder ini berisi file-file yang dihasilkan oleh aplikasi, seperti file log, file sesi, file cache, dll. • tests: Folder ini berisi file untuk testing aplikasi menggunakan Laravel Dusk atau PHPUnit.
  • 9. 8 • vendor: Folder ini berisi dependensi yang diatur oleh Composer. 3. File Utama Beberapa file utama dalam proyek Laravel yang perlu diperhatikan adalah: • artisan: Ini adalah file yang digunakan untuk menjalankan perintah Artisan yang membantu Anda dalam pengembangan aplikasi Laravel. • composer.json: File konfigurasi Composer yang berisi daftar dependensi dan pengaturan lainnya. • .env: File ini berisi variabel lingkungan untuk konfigurasi aplikasi, seperti pengaturan database dan kredensial email. • .gitignore: File ini berisi daftar file dan folder yang akan diabaikan oleh Git saat Anda melakukan version control. 4. Struktur Folder Resources Dalam folder resources, terdapat subfolder yang penting: • views: Folder ini berisi file-file tampilan (views) yang ditulis dengan menggunakan template engine Blade. • assets: Folder ini berisi file-file asset seperti file CSS, JavaScript, dan gambar yang digunakan dalam tampilan aplikasi. • lang: Folder ini berisi file bahasa untuk internasionalisasi aplikasi. 5. Struktur Folder Routes Dalam folder routes, terdapat beberapa file yang mendefinisikan route aplikasi: • web.php: File ini mendefinisikan route untuk aplikasi web yang menggunakan sesi dan CSRF protection. • api.php: File ini mendefinisikan route untuk API yang biasanya digunakan untuk mengakses data dalam format JSON. 6. Struktur Folder App Dalam folder app, terdapat beberapa subfolder yang menampung kode aplikasi: • Http: Folder ini berisi controller, middleware, dan file lain yang terkait dengan pengaturan HTTP. • Models: Folder ini berisi model-model Eloquent yang berinteraksi dengan database. • Providers: Folder ini berisi file-file yang digunakan untuk mengatur services di aplikasi. 7. Struktur Folder Database Dalam folder database, terdapat beberapa subfolder yang penting: • migrations: Folder ini berisi file migrasi database yang digunakan untuk mengatur struktur database secara terstruktur dan konsisten. • seeds: Folder ini berisi file factory untuk seeding, yang memungkinkan Anda mengisi data awal ke dalam database. 8. Arsitektur MVC (Model-View-Controller) dalam Pengembangan Aplikasi Web Arsitektur Model-View-Controller (MVC) adalah salah satu paradigma pengembangan perangkat lunak yang populer dan banyak digunakan dalam pengembangan aplikasi web. MVC
  • 10. 9 membantu para pengembang memisahkan logika bisnis, tampilan, dan pemrosesan input dalam aplikasi, sehingga meningkatkan skalabilitas, pemeliharaan, dan fleksibilitas proyek. 8.1. Apa itu Arsitektur MVC? MVC adalah suatu pendekatan yang memisahkan komponen aplikasi web menjadi tiga bagian utama: • Model: Merupakan representasi dari data dan aturan bisnis. Model berhubungan langsung dengan basis data dan menyimpan semua logika untuk mengakses, memanipulasi, dan mengelola data. Dengan model, data dalam aplikasi dapat dipisahkan dengan baik dari tampilan dan pemrosesan. • View: Merupakan bagian tampilan atau antarmuka pengguna. View bertanggung jawab untuk menampilkan data dari Model dalam bentuk yang dapat diinterpretasi oleh pengguna. Dalam MVC, View tidak memiliki logika bisnis, hanya menampilkan data yang diberikan oleh Model. • Controller: Merupakan penghubung antara Model dan View. Controller mengelola permintaan dari pengguna, memproses input, dan memperbarui Model serta menyiapkan data yang akan ditampilkan dalam View. Controller juga bertanggung jawab untuk memutakhirkan tampilan jika ada perubahan dalam Model. 8.2. Keuntungan Arsitektur MVC Penerapan Arsitektur MVC dalam pengembangan aplikasi web menawarkan berbagai keuntungan, antara lain: • Pemisahan Logika: Dengan memisahkan Model, View, dan Controller, pengembang dapat mengelola kode dengan lebih efisien. Perubahan pada salah satu bagian tidak akan berdampak pada yang lain, sehingga memudahkan pemeliharaan dan pengembangan lebih lanjut. • Skalabilitas: Model-View-Controller memungkinkan aplikasi dapat dengan mudah diubah dan diperluas tanpa mengganggu komponen lainnya. Ini memungkinkan tim pengembang untuk bekerja secara bersamaan pada berbagai bagian aplikasi. • Pengujian (Testing) yang Lebih Mudah: Karena kode logika bisnis ada di Model dan Controller, pengujian (testing) aplikasi menjadi lebih mudah. Pengembang dapat menguji bagian-bagian aplikasi terpisah secara terisolasi. • Fleksibilitas: Arsitektur MVC memungkinkan pengembang untuk dengan mudah mengganti atau menggabungkan komponen tanpa mengganggu bagian lainnya. Hal ini memudahkan dalam menghadapi perubahan persyaratan proyek. 8.3. Contoh Implementasi Arsitektur MVC dalam Laravel Laravel, sebagai salah satu framework PHP yang populer, menerapkan Arsitektur MVC secara konsisten. Berikut adalah contoh implementasi Arsitektur MVC dalam Laravel: • Model: Dalam Laravel, Model direpresentasikan oleh kelas yang mewakili tabel dalam basis data. Model berfungsi untuk mengelola operasi basis data seperti seleksi, penyisipan, pembaruan, dan penghapusan data. Model juga berfungsi sebagai representasi objek dari data yang ada dalam tabel. • View: View dalam Laravel menggunakan Blade Templating Engine. Blade memungkinkan pembuatan tampilan HTML dengan sintaks yang lebih sederhana dan ekspresif. Dalam Blade, Anda dapat mengakses data dari Model dan menampilkannya ke pengguna. • Controller: Controller dalam Laravel berisi metode-metode yang mengelola logika bisnis aplikasi dan berinteraksi dengan Model dan View. Controller menerima permintaan dari pengguna melalui rute (route), memproses permintaan tersebut, dan menyajikan data yang tepat ke View yang sesuai.
  • 11. 10 9. Routing dan Rute Dasar Pengertian tentang routing dalam aplikasi web merujuk pada proses pengelolaan permintaan (request) yang masuk dari pengguna ke halaman atau fungsi yang sesuai dalam aplikasi. Ketika seorang pengguna mengakses suatu URL melalui peramban (browser), permintaan tersebut harus diarahkan ke bagians aplikasi web yang relevan untuk memberikan respon yang sesuai. Inilah peran utama dari routing. 9.1. Konsep Dasar Routing dalam Aplikasi Web: a. URL (Uniform Resource Locator): URL adalah alamat unik yang digunakan untuk mengidentifikasi dan menemukan sumber daya (seperti halaman web atau berkas) dalam jaringan, seperti internet. URL biasanya berisi protokol, domain, dan path yang menunjukkan lokasi sumber daya yang diminta. b. Permintaan HTTP (HTTP Request): Ketika seorang pengguna mengakses URL tertentu melalui peramban, sebuah permintaan HTTP dikirimkan ke server yang meng-host aplikasi web tersebut. Permintaan HTTP berisi informasi seperti metode HTTP (GET, POST, PUT, DELETE, dll.), header, parameter, dan data yang ingin dikirimkan atau diperoleh oleh aplikasi. c. Routing: Routing adalah proses memetakan permintaan HTTP ke bagian aplikasi web yang tepat untuk menanganinya. Dalam banyak kasus, aplikasi web terdiri dari banyak halaman atau fungsi yang berbeda. Routing memungkinkan server web untuk mengetahui alamat URL yang diminta oleh pengguna dan mengarahkannya ke fungsi atau halaman yang sesuai dalam aplikasi. 9.2. Bagaimana Routing Bekerja dalam Aplikasi Web: a. Ketika server web menerima permintaan HTTP, ia memeriksa URL yang diminta oleh pengguna untuk menentukan bagaimana permintaan tersebut harus ditangani. b. Server web menggunakan konfigurasi routing yang telah ditentukan sebelumnya untuk mencari tahu rute mana yang sesuai dengan URL yang diminta. c. Setiap rute dalam konfigurasi routing memiliki asosiasi dengan sebuah fungsi atau halaman dalam aplikasi yang akan dipanggil jika rute tersebut cocok dengan URL yang diminta. d. Server web mengarahkan permintaan tersebut ke fungsi atau halaman yang sesuai, yang kemudian memberikan respon kembali kepada pengguna. 9.3. Komponen Routing dalam Aplikasi Web: a. URL Pattern: URL pattern adalah pola yang digunakan untuk mencocokkan URL yang diminta dengan rute yang sesuai. URL pattern biasanya berisi path tertentu dan bisa juga mengandung parameter. b. Handler (Controller atau View): Handler adalah fungsi atau halaman yang akan dipanggil ketika URL yang diminta cocok dengan URL pattern pada rute tertentu. Handler ini akan menangani permintaan dan memberikan respon yang sesuai, seperti menampilkan halaman web atau memproses data. c. Metode HTTP: Metode HTTP (misalnya GET, POST, PUT, DELETE) menentukan jenis permintaan yang dikirimkan oleh pengguna. Metode HTTP dapat digunakan untuk menentukan jenis tindakan yang harus diambil oleh aplikasi dalam menangani permintaan tersebut. d. Routing adalah salah satu aspek kunci dalam pengembangan aplikasi web yang memungkinkan pengguna untuk berinteraksi dengan aplikasi secara efisien melalui URL. Implementasi yang baik dari routing memastikan permintaan pengguna diteruskan dengan benar ke fungsi atau halaman yang sesuai, memberikan pengalaman pengguna yang lebih baik dan meningkatkan fungsionalitas aplikasi secara keseluruhan. 9.4. Jenis jenis route a. Rute Dasar
  • 12. 11 Dalam Laravel, routess dasar biasanya didefinisikan dalam file web.php yang berlokasi di direktori routes. Rute dasar digunakan untuk mengarahkan permintaan HTTP ke fungsi-fungsi dalam Controller yang sesuai. Berikut adalah contoh rute dasar: // routes/web.php Route::get('/', function () { return view('welcome'); }); Route::get('/about', function () { return "Ini adalah halaman tentang kami."; }); Route::get('/contact', [ContactController::class,’ showContactForm’]); • Rute pertama Route::get('/', function () { ... }) akan mengarahkan permintaan GET ke halaman utama (/) dan akan menampilkan view dengan nama "welcome". • Rute kedua Route::get('/about', function () { ... }) akan mengarahkan permintaan GET ke halaman /about dan akan menampilkan teks "Ini adalah halaman tentang kami." sebagai respon. • Rute ketiga ssRoute::get('/contact',['ContactController::class,’showContactForm’]) akan mengarahkan permintaan GET ke halaman /contact dan akan menangani permintaan dengan memanggil fungsi showContactForm dalam ContactController. b. Rute dengan Parameter Laravel juga mendukung penggunaan rute dengan parameter yang memungkinkan kita mengambil data dari URL dan memprosesnya dalam aplikasi. Berikut adalah contoh rute dengan parameter: • Rute di atas akan mengarahkan permintaan GET ke halaman /post/{id} dan akan menampilkan teks "Ini adalah halaman untuk postingan dengan ID: [id]" sebagai respon. {id} adalah parameter yang akan diisi dengan nilai ID yang diberikan oleh pengguna dalam URL. c. Rute dengan Parameter Opsional Laravel juga memungkinkan penggunaan rute dengan parameter opsional yang memungkinkan kita memiliki nilai parameter default atau tidak wajib di dalam URL. Berikut adalah contoh rute dengan parameter opsional:
  • 13. 12 • Rute di atas akan mengarahkan permintaan GET ke halaman /user/{name} dan akan menampilkan teks "Halo, [name]" jika parameter name ada dalam URL. Jika name tidak diberikan, maka teks "Halo, pengunjung" akan ditampilkan sebagai respon. 10. Rangkuman Struktur proyek adalah kerangka dasar yang membantu pengembang mengorganisir kode, sumber daya, dan komponen aplikasi dengan baik. Dalam konteks Laravel, struktur proyek merupakan fondasi untuk membangun aplikasi web yang efisien dan terstruktur. Berikut adalah rangkuman tentang struktur proyek Laravel: • Direktori Utama: Direktori utama proyek Laravel mengandung berbagai file penting dan direktori inti, termasuk file composer.json, package.json, artisan, dan phpunit.xml. Ini adalah tempat pengaturan dan konfigurasi umum aplikasi. • Direktori App: Direktori app adalah pusat dari aplikasi. Di dalamnya, Anda akan menemukan subdirektori seperti Http, Providers, dan Console. Http: Berisi Controller, Middleware, dan pengaturan rute. Providers: Mengandung penyedia layanan yang berisi konfigurasi pihak ketiga atau layanan aplikasi kustom. Console: Berisi perintah Artisan yang dapat dijalankan melalui terminal. • Direktori Bootstrap: Direktori bootstrap berisi file-file yang membantu dalam proses inisialisasi dan bootstrapping aplikasi, termasuk file app.php yang menginisialisasi framework Laravel. • Direktori Config: Direktori config berisi file konfigurasi aplikasi. Anda dapat mengubah berbagai pengaturan seperti database, layanan, dan banyak lagi dari sini. • Direktori Database: Direktori database berisi file-file terkait basis data, seperti migrasi dan seeders. Migrasi digunakan untuk mengelola struktur basis data, sedangkan seeders digunakan untuk menyematkan data awal. • Direktori Public: Direktori public adalah tempat masuknya permintaan HTTP. Ini adalah titik masuk pertama bagi permintaan pengguna. File index.php di sini memulai proses routing dan penanganan permintaan. • Direktori Resources: Direktori resources berisi sumber daya yang digunakan dalam tampilan, seperti file Blade, CSS, JavaScript, dan gambar. • Direktori Routes:
  • 14. 13 Direktori routes berisi file web.php dan api.php yang berisi definisi rute untuk aplikasi web dan API. • Direktori Storage: Direktori storage menyimpan file-file yang dihasilkan oleh aplikasi, termasuk file cache, sesi, dan file log. • Direktori Tests: Direktori tests berisi file-file pengujian (testing) aplikasi dengan menggunakan PHPUnit. • Direktori Vendor: Direktori vendor berisi dependensi proyek yang dikelola oleh Composer. Latihan 1. Apa yang dimaksud dengan "struktur proyek" dalam konteks pengembangan aplikasi web… a. Pemilihan warna tema aplikasi b. Kerangka kerja yang digunakan dalam proyek c. Cara penyimpanan data dalam basis data d. Organisasi dan pengaturan komponen-komponen proyek 2. Di dalam direktori manakah file composer.json dan package.json biasanya ditemukan … a. App b. Bootstrap c. Resources d. root (direktori utama proyek) 3. Apa peran direktori routes dalam struktur proyek Laravel … a. Menyimpan file-file pengujian b. Menyimpan file-file konfigurasi c. Menyimpan file-file Blade template d. Menyimpan definisi rute untuk aplikasi web 4. Di dalam direktori app, di bagian manakah Anda biasanya akan menemukan file Controller… a. Http b. Providers c. Console d. Views 5. Direktori manakah yang mengandung file-file sumber daya seperti file Blade template, CSS, dan JavaScript … a. Bootstrap b. Public c. Resources d. Storage Essay 1. Jelaskan apa yang dimaksud dengan "struktur proyek" dalam konteks pengembangan aplikasi web. Berikan contoh komponen-komponen utama yang biasanya ditemukan dalam struktur proyek Laravel ….
  • 15. 14 2. Gambarkan peran dari direktori routes dalam struktur proyek Laravel. Apa yang biasanya Anda temukan di dalam file web.php yang terdapat di direktori ini … 3. Apa yang dimaksud dengan direktori app dalam proyek Laravel ! Sebutkan beberapa jenis komponen yang biasanya ditemukan di dalam direktori ini dan jelaskan peran masing-masing … 4. Jelaskan konsep "route" dalam konteks pengembangan aplikasi web menggunakan Laravel. Mengapa rute diperlukan dalam pengembangan aplikasi web … 5. Apa yang dimaksud dengan "handler rute" dalam Laravel? Bagaimana handler rute berinteraksi dengan URL dan metode HTTP yang didefinisikan dalam rute…