Anda di halaman 1dari 65

PEMROGRAMAN TINGKAT LANJUT

STMIK INDONESIA PADANG

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB I
Pengenalan Framework Laravel

Pengantar Web Framework


Web framework adalah suatu kumpulan kode berupa pustaka (library) dan alat (tool) yang
dipadukan sedemikian rupa menjadi satu kerangka kerja (framework) untuk memudahkan dan
mempercepat proses pengembangan aplikasi web.
Saat ini framework PHP sangat banyak tersedia, tapi pada materi kali ini kita hanya akan
mempelajari framework PHP Laravel. Laravel adalah kerangka aplikasi web dengan sintaks yang
ekspresif dan elegan. Laravel menggunakan artisan untuk pengembangan web. Laravel artisan
merupakan perintah command line yang disediakan oleh laravel untuk melakukan berbagai aktivitas
pada pengembangan web.
Framework laravel bisa diakses melalui situs resminya https://laravel.com.

Catatan Rilis
Laravel dan paket pihak pertama lainnya mengikuti versi semantik. Rilis kerangka kerja
utama dirilis setiap enam bulan (~ Maret dan ~ September), sementara rilis minor dan patch
mungkin dirilis setiap minggu. Rilis minor adan patch tidak boleh berisi perubahan yang
menggangu.
Untuk rilis LTS, seperti laravel 6, perbaikan bug disedikan selama 2 tahun dan perbaikan
keamanan disediakan selama 3 tahun. Rilis ini memberikan masa dukungan dan pemeliharaan
terlama. Untuk rilis umum, perbaikan bug disediakan selama 7 bulan dan perbaikan keamanan

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


disediakan selama 1 tahun. Untuk semua pustaka tambahan, termasuk Lumen, hanya rilis terbaru
yang menerima perbaikan bug.

Saat materi laravel ini dibuat, versi terakhir dari laravelnya adalah versi 8. Sehingga seluruh
materi yang akan dipelajari menggunakan aturan dari versi 8. Laravel 8 melanjutkan
penyempurnaan yang dibuat di laravel 7.x dengan memperkenalkan laravel jetstream, class model,
peningkatan layanan artisan, komponen blade dinamis, perbaikan bug lainnya serta peningkatan
kegunaan.

Instalasi Framework Laravel


Sebelum melakukan instalasi framework laravel anda perlu memastikan server anda
memenuhi persyaratan berikut :
• PHP >= 7.3
• BCMath PHP Extension
• Ctype PHP Extension
• Fileinfo PHP Extension
• JSON PHP Extension
• Mbstring PHP Extension
• OpenSSL PHP Extension
• PDO PHP Extension
• Tokenizer PHP Extension
• XML PHP Extension

Laravel menggunakan composer untuk mengelola dependesinya. Jadi sebelum


menggunakan laravel pastikan anda telah menginstal composer. Untuk menginstall composer anda
download pada situs resminya https://getcomposer.org/

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan klik tombol download, setelah itu install composer yang sudah anda download.
Untuk melakukan pengecekan apakah anda sudah berhasil install composer, silahkan jalankan
terminal (jika anda menggunakan windows, silahkan jalankan cmd) setelah itu ketikan composer,
jika muncul tampilan versi composernya, berarti anda sudah berhasil install composer.

Setelah anda berhasil install composer, langkah selanjutnya adalah install laravel. Untuk
install laravel ada 2 cara :
1) Via laravel installer
Lakukan install laravel terlebih dahulu.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Untuk mengetahui apakah anda sudah berhasil install laravel, silahkan cek terlebih dahulu
laravelnya.

Apabila muncul versi laravel maka anda sudah berhasil install laravelnya. Untuk laravel
versi 8, installer laravelnya adalah versi 4. Setelah berhasil install laravel, kita sudah bisa
menggunakan laravel. Untuk membuat projek laravel, silahkan anda masuk ke dalam folder htdocs
terlebih dahulu dengan menggunakan perintah cd c:/xampp/htdocs, setelah itu baru jalankan
perintah laravel new ptl. ptl adalah nama folder yang ingin kita buat sebagai nama projek kita, bisa
saja diganti sesuai dengan keinginakan kita, contohnya jika kita sedang membuat aplikasi pustaka,
bisa saja kita ganti ptl tadi dengan nama pustaka, laravel new pustaka. Jadi perintah setelah new
menyesuaikan dengan nama projek yang akan kita buat.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan ditunggu sampai proses instalasinya selesai.

2) Via composer create-project


Untuk installasi laravel via composer create-project, maka silahkan masuk terlebih dahulu
ke dalam folder htdocs, dengan menggunakan perintah cd c:/xampp/htdocs, setelah itu baru
gunakan perintah composer create-project –prefer-dist laravel/laravel ptl. ptl adalah nama folder
yang ingin kita buat sebagai nama projek kita, bisa saja diganti sesuai dengan keinginakan kita,
contohnya jika kita sedang membuat aplikasi pustaka, bisa saja kita ganti ptl tadi dengan nama
pustaka, laravel new pustaka. Jadi perintah setelah new menyesuaikan dengan nama projek yang
akan kita buat.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Local Server Laravel
Setelah kita berhasil melakukan installasi laravel, melalui laravel installer ataupun melalui
composer create-project, maka langkah selanjutnya adalah dengan menjalakan local server laravel.
Sebelumnya kita sudah buat nama folder projek kita adalah ptl, maka kita harus masuk terlebih
dahulu ke dalam folder ptl tersebut dengan menggunakan perintah cd ptl. Setelah itu untuk
menjalankan local server silahkan ketikan php artisan serve didalam folder projek laravel yang
sudah kita buat.

Jika sudah muncul started, berarti kita sudah berhasil menjalankan local server laravelnya.
Silahkan buka browser dan ketikan localhost:8000.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Struktur Direktori
Setelah anda berhasil melakukan instalasi framework laravel, maka anda akan menemukan
banyak sekali folder dan file yang ada di dalam folder laravel anda.

Struktur direktori laravel terbagi 2 :


1. Direktori root
● Direktori app adalah direktori aplikasi berisi kode inti aplikasi anda.
● Direktori bootstrap adalah direktori berisikan file app.php yang menjalankan framework css
bootstrap.
● Direktori config adalah berisi semua file konfigurasi aplikasi anda.
● Direktori database adalah berisi database migration, model, dan seeds.
● Direktori public adalah berisikan file index.php, yang merupakan titik masuk untuk semua
permintaan yang memasuki aplikasi anda dan mengkonfigurasi pemuatan otomatis.
Direktori ini juga menampung aset anda seperti gambar, javascript, dan css
● Direktori resources adalah berisikan aset yang tidak dikompilasi seperti LESS, SASS, atau
javascript. Direktori ini juga menampung semua file bahasa anda.
● Direktori routes adalah berisi semua definisi rute untuk aplikasi anda, beberapa file rute
disertakan dengan laravel : web.php, api.php, console.php, channels.php
● Direktori storage adalah berisi template blade anda yang telah dikompilasi, sesi berbasis file,
cache file, dan file lain yang dihasilkan oleh kerangka kerja. Direktori ini dipisahkan
menjadi direktori app, framework, dan logs. Direktori aplikasi dapat digunakan untuk
menyimpan file apa pun yang dibuat oleh aplikasi anda. Direktori framework digunakan
utnuk menyimpan file dan cache yang dihasilkan framework. Terakhir, direktori logs berisi
file log aplikasi anda.
● Direktori test adalah berisi tes otomatis anda.
● Direktori vendor adalah berisi dependensi composer anda.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


2. Direktori app

Arsitektur Laravel
Laravel menggunakan konsep model view controller (MVC) dalam pengembangan
aplikasinya. Dengan menggunakan MVC maka antara kode logika, kode tampilan dan kode untuk
mengambil data ke database itu dipisahkan. Pada laravel versi 8 folder model sudah langsung
disertakan ketika anda berhasil melakukan instalasi framework laravel.
Model merupakan komponen dalam aplikasi yang bertanggungjawab mengelola akses
langsung dengan sumber data dan logika pengelolaan data tersebut. View merupakan komponen
dalam aplikasi yang bertanggungjawab untuk membuat tampilan untuk pengguna. Controller
merupakan komponen dalam aplikasi yang bertanggungjawab untuk menerima input (request) dan
memberikan ouput (response), baik berupa data atau view berisi data dari model.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


STMIK Indonesia Padang Pemrograman Tingkat Lanjut
BAB II
ROUTING

Semua proses dalam sistem laravel berawal dari routing. Routing itu sendiri berfungsi
sebagai jalur akses. Routing dalam laravel ada 4 kelompok:
1. Web.php berfungsi untuk mendefinisikan jalur akses untuk penggunaan web standar.
2. Api.php berfungsi untuk mendefenisikan jalur akses web service / api service.
3. Console.php berfungsi untuk mendefenisikan jalur akses melalui command line.
4. Channel.php berfungsi untuk memberikan jalur akses untuk broadcast channel melalui
websocket.
Konfigurasi file routing ada di dalam folder routes. Dimana ketika anda membuka folder
routes maka anda akan menemukan 4 buah file yaitu web.php, api.php, console.php dan
channel.php.

Silahkan buka Web.php yang berada dalam folder routes

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Secara default sewaktu kita selesai instalasi framework laravel, maka kita hanya akan
menemukan satu route yang mengarah ke file view welcome. Setiap kita akan membuat jalur maka
selalui diawali dengan route.
Route yang saat ini ada langsung mengarah ke view, tidak mengarah ke controller. Hal itu
bisa dilakukan, jadi ketika user mengakses url web maka langsung mengarah ke view tanpa melalui
controller. Tapi dalam sebuah aplikasi tentu kita tidak akan langsung mengarahkan ke view, tapi
nantinya akan ada logika program ataupun pengambilan data. Setelah itu baru ditampilkan ke user
yang mengakses url web kita.
Format dasar dalam penulisan routes
Route::method(‘user akses’, [nama controller::class,’nama fungsi’]);
contoh :

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika user mengkases url webnya maka akan muncul halaman error, hal itu terjadi karena
kita baru menentukan jalur akses saja, sedangkan apa yang diakses belum kita buat. Dalam hal ini
yang akan diakses adalah controller bernama LatihanController. Untuk itu kita akan buat sebuah
controller dengan nama LatihanController. Kita bisa saja membuat secara manual file
LatihanController tapi laravel sudah menyediakan perintah / command php artisan untuk membuat
controller secara otomatis.

Maka secara otomatis akan ada sebuah file controller dengan nama LatihanController.php

Silahkan buka file LatihanController.php yang berada dalam folder app/Http/Controllers

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


File controller yang sudah kita buat dengan php artisan tadi belum memiliki fungsi, oleh
karena itu kita akan menambahkan fungsinya. Karena tadi di routes kita membuat fungsi index.
Maka di controller juga harus ada fungsi index.

Ketika diakses pesan errornya masih tetap ada dan belum hilang. Itu artinya kita masih
belum bisa mengakses controller yang sudah dibuat tadi.
Pada laravel 8 ada perubahan dalam namespace. Jadi kita harus menuliskan terlebih dahulu
namespace pada routes. Beda dari laravel 7 kebawah, secara default namespacenya sudah tersedia.
Kita bisa cek namespace tersebut dalam file RouteServiceProvider.php yang berada dalam folder
app/Providers

Pada laravel 8 namespace tidak disediakan lagi secara default jadi kita harus definisikan
pada routes. Ketika kita akses sudah tidak ditemukan lagi errornya, dan controller kita sudah bisa
diakses

Jenis-jenis metod yang bisa digunakan dalam routes web :

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


1. get digunakan utnuk mengakses alamat url
2. post digunakan untuk submit data
3. put digunakan untuk submit data dan biasanya untuk update
4. patch digunakan untuk submit data dan biasanya untuk update
5. delete digunakan untuk hapus data

Redirect Routes
Jika kita menentukan rute yang mengalihkan ke URI lain, kita dapat menggunakan metode
Route::redirect. Metode ini menyediakan pintasan yang nyaman sehingga kita tidak perlu
menentukan rute controller untuk melakukan pengalihan sederhana.
Route::redirect('/here', '/there', 301);

View Routes
Jika rute kita hanya perlu mengembalikan tampilan, kita dapat menggunakan metode
Route::view. Seperti metode redirect routes, metode ini menyediakan pintasan sederhana sehingga
kita tidak perlu menentukan rute controller. Metode tampilan menerima URI sebagai argumen
pertamanya dan nama tampilan sebagai argumen keduanya. Selain itu, kita dapat menyediakan data
untuk diteruskan ke tampilan sebagai argumen opsional ketiga.
Route::view('/welcome', 'welcome');
Route::view('/welcome', 'welcome', ['name' => 'Taylor']);

Route Parameters
Terkadang kita perlu menangkap segmen URI dalam rute kita. Misalnya kita mungkin perlu
mengambil ID pengguna dari URL. Kita dapat melakukannya dengan menentukan parameter rute.

Route::get('user/{id}', function ($id) {


return 'User '.$id;
});

Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) {


//
});

Terkadang kita perlu menangkap segmen URI dalam rute kita. Misalnya kita mungkin perlu
mengambil ID pengguna dari URL. Kita dapat melakukannya dengan menentukan parameter rute.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB III
CONTROLLER

Basic Controller
Controller merupakan bagian yang menjebatani model dan view. Controller berisi perintah-
perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web. Jadi
ketika kita akan berhubungan dengan database, seperti mengambil data, simpan data, ubah data, dan
hapus data, maka kita akan melewati controller terlebih dahulu. Begitu juga ketika kita ingin
menampilkan sesuatu ke halaman web, maka kita akan melewati controller. Folder controller pada
laravel terletak di dalam folder app, didalamnya ada folder http, dan setelah itu akan kita temukan
folder bernama controllers. Didalam folder controllers itulah kita akan menyimpan file controller
yang kita buat.

Sebuah controller berisi fungsi-fungsi yang kita buat untuk menyelesaikan suatu permintaan.
Penamaan dari fungsi di sebuah controller bisa kita buat bebas saja sesuai dengan keinginan kita.
Akan tetapi kita disarankan untuk menggunakan resource controller yang sudah ditetapkan oleh
laravel terkait dengan sistem CRUD (create, read, update, delete).
Sekarang kita akan coba terlebih dahulu membuat fungsi di controller bukan berdasarkan
resource controllers laravel. Untuk membuat controller bisa kita buat secara manual dengan
membuat sebuat file php, di dalam folder controllers.
Silahkan buat file dengan nama LatihanController.php, dan simpan di dalam folder
controllers.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Kita juga bisa buat sebuah controller secara otomatis dengan menggunakan php artisan.
Silahkan tulis php artisan make:controller ContohController

Maka secara otomatis akan kita temukan sebuah file dengan nama ContohController.php
didalam folder controllers. Jika kita buka file ContohController.php tersebut maka kita akan
menemukan langsung tertulis struktur dasar controller. Jadi kita tidak perlu lagi menuliskan struktur
dasarnya.
Sekarang kita akan coba buat sebuah fungsi pada ContohController, dengan nama fungsi
tampil. Fungsi tersebut ketika diakses akan menampilkan tulisan ini adalah latihan controller.

Penulisan sebuah fungsi diawali dengan public function setelah ini baru nama fungsinya
dan diikuti dengan tanda (), serta tanda {}. Untuk bisa mengakses fungsi tampil yang baru saja kita
buat, maka kita harus tambahkan sebuah routes.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika kita akses di browser

Kita bisa akan coba tambahkan fungsi baru lagi pada ContohController. Nama fungsinya
adalah index.

Agar bisa diakses oleh user, maka kita harus tambahkan kembali routes nya.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika kita menambahkan fungsi baru pada controller maka pada routes kita tidak perlu
tambahkan lagi use App\Http\Controllers\ContohController. Kita hanya perlu tambahkan route
nya saja untuk mengakses fungsi baru kita.

Controller ke View
Sebelumnya kita sudah coba membuat sebuah controller dengan beberapa fungsi
didalamnya. Sekarang kita akan coba buat sebuah controller, yang mengarah ke sebuah view. Jadi
jika kita ingin menampilkan sesuatu di browser maka kita buatnya di dalam folder view. Bukan
langsung kita tulis di dalam controller, karena controller fungsinya bukan untuk menampilkan data.
Silahkan buat sebuah controller baru dengan nama ContohViewController

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Saat pemanggilan sebuah file view, kita tidak perlu menuliskan blade.php, seperti nama file
datacontoh.blade.php, pada saat pemanggilan di controller, kita hanya tulis datacontoh, tanpa
menuliskan blade.php nya.
Silahkan tambahkan routenya

Silahkan buat file view dengan nama datacontoh.blade.php, di dalam folder views.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika kita akses di browser

Controller Resource
Ketika membuat sebuah aplikasi maka hal dasar yang akan ada dalam aplikasi tersebut
adalah CRUD (create, read, update, delete).
• Create berguna untuk menyimpan data.
• Read berguna untuk menampilkan data.
• Update berguna untuk mengubah data.
• Delete berguna untuk menghapus data.
Dalam sebuah controller harus memiliki beberapa action standar, seperti index, create, show,
edit, update, dan destroy. Action standar tersebut adalah sebagai action resource. Controller yang
memiliki beberapa action tersebut disebut controller resource.
Kegunaan masing-masing action resource:
• index, digunakan untuk menampilkan list atau daftar data dari sebuah controller.
• Create, digunakan untuk menampilkan view yaitu berupa form untuk membuat data baru.
• Store, digunakan untuk menerima data yang diinputkan melalui form dari action create
sebelumnya.
• Show, digunakan untuk menampilkan data tertentu, bukan daftar.
• Edit, digunakan untuk menampilkan view yaitu berupa form untuk mengubah data. Form
tersebut bukan form kosong lagi, tapi sudah berisi data yang akan diubah.
• Update, digunakan untuk menerima data yang diinputkan melalui form dari action edit
sebelumnya. Fungsi ini untuk mengubah data.
• Destroy, digunakan untuk menghapus data tertentu.
Untuk membuat controller dengan semua action resource, perintahnya php artisan
make:controller namacontroller -r. Silahkan buat controller baru dengan nama
BiodataMahasiswaController

Ketika kita buka file BiodataMahasiswaController.php maka akan otomatis tertulis semua
action resource. Jadi kita tinggal isi saja masing-masing action atau fungsi yang sudah ada sesuai
dengan aplikasi yang kita buat.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


STMIK Indonesia Padang Pemrograman Tingkat Lanjut
Untuk penulisan method pada routenya.
Action Method
index GET
create GET
store POST
edit GET
update PUT / PATCH
destroy DELETE

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB IV
VIEW

View merupakan bagian yang mengatur tampilan ke pengguna. Jadi ketika kita akan
menampilkan sesuatu ke pengguna maka kita akan menuliskan kode programnya di dalam view,
bukan lagi di route atau di controller. View pada laravel dapat di temukan di dalam folder resouces.

Laravel menggunakan sistem templating dalam mengolah data untuk ditampilkan ke


pengguna. Sehingga ketika kita membuat sebuah file di dalam folder views maka kita harus
menambahkan .blade.php setelah nama filenya.
Silahkan buka kembali file BiodataMahasiswaController.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Tambahkan routes

Untuk menampilkan data ke pengguna, kita akan buat sebuah file view dengan nama
biodatamahasiswa.blade.php. Menampilkan data diapit oleh dua kurung kurawal
{{ $namavariabel }}

Ketika kita akses di browser

Memanggil file blade lain


Ketika kita membuat sebuah file blade, maka kita bisa memanggil file blade lainnya. Saat ini
kita sudah buat sebuah file biodatamahasiswa.blade.php. Didalam biodatamahasiswa.blade.php kita
akan panggil sebuah file blade lainnya dengan nama header.blade.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


extends adalah sebuah perintah yang digunakan untuk memanggil file blade lainnya.
Silahkan buat file view baru dengan nama header.blade.php

Ketika diakses di browser

Layout
Dalam sebuah aplikasi tentu akan ada tampilan utamanya, dimana tampilan utama ini tidak
akan berubah posisinya. Perubahan yang terjadi hanyalah isi dari tampilan utama tersebut. Kita
akan membuat tampilan utama website kita. Silahkan buat view baru dengan nama file
layout.blade.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan buka kembali file view biodatamahasiswa.blade.php

Ketika diakses di browser

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB V
MODELS

Interaksi dengan Database


Model adalah bagian yang digunakan untuk berinteraksi dengan database. Ketika kita
menggunakan laravel ada 3 cara yang bisa kita gunakan untuk berinteraksi dengan database:
1. Raw SQL
2. Query Builder
3. Eloquent ORM
Saat ini laravel support 4 database:
1. MySQL
2. PostgreeSQL
3. SQLite
4. SQL Server
Konfigurasi database pada laravel dapat dilakukan pada file database.php yang terdapat pada
folder config.

Silahkan buka file database.php untuk melihat konfigurasi dari database. Dalam materi ini
kita akan menggunakan database mysql. Sebenarnya kita bisa dengan mudah untuk mengganti
database yang kita gunakan. Jadi jika awalnya kita menggunakan mysql, dan ingin beralih ke
postgree, kita bisa dengan mudah untuk melakukan peralihan tersebut tanpa harus merubah coding
aplikasi yang sudah kita buat.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Secara default laravel membuat koneksi database kita menggunakan mysql. Kita bisa saja
mengganti sesuai dengan database yang kita inginkan. Dalam pembuatan aplikasi tentu kita akan
melakukan berbagai konfigurasi, salah satunya konfigurasi database. Untuk itu laravel dalam
melakukan konfigurasi telah menyesiapkan suatu file yang bernama .env. Dimana konfigurasi yang
kita butuhkan bisa kita lakukan hanya di dalam file .env.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan di buka file .env

Kita akan membuat sebuah sistem informasi penjualan, dimana nama database yang akan
kita buat adalah penjualan. Silahkan buat terlebih dahulu database penjualannya. Serta buat satu
buah tabel dengan nama tabel adalah pelanggan. Setelah tabel anda buat, silahkan entrikan 2 record
pada tabel pelanggan.

Raw SQL
Raw SQL adalah salah satu cara berinteraksi dengan database pada laravel. Kita akan coba
menampilkan data dari tabel pelanggan menggunakan cara Raw SQL. Silahkan buat controller
dengan nama PelangganController.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan tambahkan routes

Silahkan buat file view dengan nama pelangganraw.blade.php

Hasilnya ketika diakses melalui browser

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Query Builder
Query builder adalah salah satu cara yang digunakan untuk berinteraksi dengan database.
Silahkan buat sebuah controller baru dengan nama PelangganBuilderController.

Silahkan tambahkan routes

Silahkan buat file view baru dengan nama pelangganbuilder.blade.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Hasilnya ketika diakses melalui browser

Eloquent ORM
Eloquent ORM adalah salah satu cara yang digunakan untuk mengakses database. Silahkan
buat controller baru dengan nama PelangganEloquent.

Dalam penggunaan eloquent kita harus membuat sebuah file model untuk bisa berinteraksi
dengan tabel dalam database. Kita bisa membuat model dengan menggunakan perintah php artisan.

Nama file model yang dibuat sama dengan nama tabel yang sudah dibuat. Dalam
penggunaan eloquent secara default ketika kita membuat sebuah tabel, maka kita harus
menambahkan s setelah nama tabelnya, contohnya tadi kita buat nama tabelnya adalah pengguna,
maka seharusnya kita buat nama tabelnya menjadi penggunas. Tapi kita bisa saja tidak mengikuti
default penulisannya. Dengan menuliskan protected table pada model.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan tambahkan routes

Silahkan buat file view baru dengan nama pelangganeloquent

Hasilnya ketika di akses melalui browser

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Migration
Migration digunakan untuk memudahkan dalam mengelola database. Dengan migration kita
bisa membuat, mengubah, atau menghapus struktur tabel dan field database tanpa harus membuka
aplikasi GUI database management.

File migration dapat ditemukan dalam folder database/migrations

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


File migration memiliki 2 method :
1. up digunakan untuk menuliskan perintah pembuatan atau pengubahan struktur database;
2. down digunakna untuk menuliksan kode yang membatalkan apa yang telah di eksekusi di
method up.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB VI
CREATE DAN READ

Menampilkan data
Sebelumnya kita sudah berhasil untuk menampilkan data dari database. Sekarang kita akan
menggabungkan data yang akan kita tampilkan dengan template atau layout aplikasi kita, serta akan
kita integrasi dengan framework css bootstrap.
Silahkan buat file view dengan nama layout.blade.php

Silahkan buat tabel baru dengan nama produk.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan buat controller baru dengan nama ProdukController

Tambahkan route di web.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan buat folder dengan nama produk di dalam folder view. Folder produk ini akan
menyimpan semua file yang berhubungan dengan menampilkan data produk. Hal ini dilakukan agar
file kita tersimpan secara rapi.

Silahkan buat file view dengan nama daftarproduk.blade.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Hasilnya ketika diakses melalui browser

Create
Kita sudah berhasil menampilkan data dalam layout dan juga sudah terintegrasi dengan
bootstrap. Sekarang kita akan membuat form tambah data dan akan menyimpan data tersebut ke
dalam database.
Silahkan buka file ProdukController

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Tambahkan route di web.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Buat file view baru dengan nama formtambah.blade.php

Hasilnya ketika diakses melalui browser

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Kita sudah berhasil membuat sebuah form tambah data, sekarang kita akan membuat agar
data yang sudah diinputkan dapat tersimpan dalam database.
Silahkan buka ProdukController kita akan tambahkan sebuah fungsi dengan nama store.

Silahkan buka route pada web.php, kita buat route nya post karena kita mengirim data untuk
disimpan ke dalam database.

Kita bisa menambahkan sebuah tombol untuk menampilkan form tambah.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Hasilnya ketika diakses melalui browser

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB VII
UPDATE DAN DELETE

Membuat Menu
Pada materi sebelumnya kita sudah berhasil membuat layout, menampilkan data pada layout
tersebut serta sudah berhasil membuat form login dan berhasil menyimpan datanya ke dalam
database. Sekarang kita akan membuat menu pada layout yang sudah kita buat.
Silahkan buka file layout.blade.php

Hasilnya ketika di akses di browser

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Update
Silahkan buka file view daftarproduk.blade.php

Hasilnya ketika di akses di browser

Selanjutnya kita akan membuat form edit data. Untuk itu kita harus buat sebuah route yang
akan mengarahkan ke form edit dan update datanya di database.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Buka controller ProdukController

Buat sebuah file view baru dengan nama formubah.blade.php

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Hasilnya ketika di akses di browser

Delete
Silahkan buka file view daftarproduk.blade.php

Selanjutnya kita akan membuat sebuah route yang akan mengarahkan ke hapus datanya di
database.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Silahkan buka controller ProdukController

Resource Controller
Sebuah sistem memiliki create, read, update, dan delete. Pada laravel fungsi itu sudah
disediakan jadi kita bisa ubah di bagian web.php menjadi lebih singkat. Asalkan kita mengikuti
aturan dari laravelnya.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


BAB VIII
Eloquent Relationship

Eloquent relationship digunakan untuk menghubungkan antara satu tabel dengan tabel yang
lainnya yang saling berelasi. Sebelum kita menggunakan relasi pada eloquent pastikan terlebih
dahulu kita tahu relasi antar tabel yang akan kita relasikan, karena jika kita salah dalam menentukan
relasinya maka kita juga akan mendapatkan hasil yang berbeda. Relasi pada eloquent memiliki
beberapa tipe utama yaitu one to one, one to many, dan many to many.

One to one
Relasi one to one adalah relasi yang terjadi jika data A hanya boleh memiliki satu data B dan
data B hanya boleh dimiliki oleh data A.
Contoh: $this->hasOne(‘model’);

One to many
Relasi one to many adalah relasi yang terjadi jika data A boleh memiliki lebih dari satu data
B dan data B hanya boleh dimiliki oleh data A.
Contoh: $this->hasMany(‘model’);

Many to many
Relasi many to many adalah relasi yang terjadi jika data A boleh memiliki lebih dari satu
data B dan data B juga boleh memiliki lebih dari satu data A.

Pada latihan kita sebelumnya, kita sudah memiliki tabel produk. Sekarang kita akan
tambahkan satu buah tabel dengan nama kategori. Dimana tabel kategori ini akan berelasi dengan
tabel produk. Relasi yang terjadi adalah one to many, dimana satu kategori bisa memiliki lebih dari
satu produk dan satu produk hanya dimiliki oleh satu kategori.
Silahkan buat tabel kategori:

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Pada tabel produk kita akan menambakan field kategori_id, yang digunakan sebagai foreign
key pada tabel produk.

Setelah kita menambahkan tabel kategori dan menambahkan field baru pada tabel produk.
Selanjutnya kita buat terlebih dahulu model untuk tabel kategori.

Selanjutnya silahkan buka file model produk

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


STMIK Indonesia Padang Pemrograman Tingkat Lanjut
BAB IX
Authentication

Authentication adalah salah satu fitur dari laravel dimana fitur ini membantu kita dalam
mengelola pembatasan akses user. Pada laravel versi dibawah 8, kita kenal paket auth. Setelah
muncul laravel 8 ada beberapa tambahan pilihan paket authentication yang bisa kita gunakan,
seperti breeze, fortify, jetstream. Kita bebas memilih mau menggunakan paket yang mana untuk
proses authenticationnya. Kita akan coba bahas paket-paket authentication pada laravel. Setiap
paket authentication yang akan kita gunakan, kita akan installkan pada project laravel kita yang
baru, jadi ini belum melanjutkan materi project kita yang sebelumnya kita buat, yaitu perusahaan.

A) Laravel ui auth
Paket ini cukup populer digunakan untuk sistem authentication. Kita bisa lihat dokumentasi
pada https://github.com/laravel/ui

Ketika kita menggunakan laravel ui, maka framework css yang digunakan adalah boostrapt.
Untuk memulainya kita harus download terlebih dahulu laravel ui auth. Tapi sebelum kita download
kita install terlebih dahulu project laravel kita yang baru. Kita akan beri nama foldernya authui.
• composer create-project laravel/laravel authui.
• Composer require laravel/ui

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


• php artisan ui bootstrap –auth

• npm install

• npm run dev

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


• php artisan migrate

Setelah selesai install laravel ui auth, silahkan jalakan php artisan serve dan buka
browsernya. Maka akan ada menu login dan register.

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika pilih menu login maka akan tampil seperti berikut

Ketika pilih menu register maka akan tampil seperti berikut

Ketika sudah berhasil login maka akan tampil seperti berikut

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


B) Laravel breeze
Laravel breeze adalah paket yang baru muncul ketika laravel 8 di release. Kita bisa lihat
dokumentasi pada https://laravel.com/docs/8.x/starter-kits#laravel-breeze. Ketika kita menggunakan
laravel breeze, maka framework css yang digunakan adalah tailwind. Untuk memulainya kita harus
download terlebih dahulu laravel breeze. Tapi sebelum kita download kita install terlebih dahulu
project laravel kita yang baru. Kita akan beri nama foldernya authbreeze.
• composer create-project laravel/laravel authbreeze.

• Composer require laravel/breeze --dev

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


• php artisan breeze:install

• npm install

• npm run dev

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Setelah selesai install laravel breeze, silahkan jalakan php artisan serve dan buka browsernya. Maka
akan ada menu login dan register.

Ketika kita pilih login maka akan muncul tampilan form login

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika pilih menu register maka akan tampil seperti berikut

Ketika sudah berhasil login

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


C) Laravel jetstream
Laravel jetstream adalah paket yang baru muncul ketika laravel 8 di release. Kita bisa lihat
dokumentasi pada https://jetstream.laravel.com/2.x/introduction.html. Ketika kita menggunakan
laravel jetstream, maka framework css yang digunakan adalah tailwind. Untuk memulainya kita
harus download terlebih dahulu laravel jetstream. Tapi sebelum kita download kita install terlebih
dahulu project laravel kita yang baru. Kita akan beri nama foldernya authjetstream.
• composer create-project laravel/laravel authjetstream.

• Composer require laravel/jetstream

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


• php artisan jetsream:install livewire

• npm install

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


• npm run dev

• php artisan migrate

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Setelah selesai install laravel jetstream, silahkan jalakan php artisan serve dan buka
browsernya. Maka akan ada menu login dan register.

Ketika pilih menu login maka akan muncul tampilan login

Ketika pilih menu register maka akan muncul tampilan register

STMIK Indonesia Padang Pemrograman Tingkat Lanjut


Ketika sudah berhasil login

STMIK Indonesia Padang Pemrograman Tingkat Lanjut

Anda mungkin juga menyukai