flash sale
hamburger-menu

Tips Backend Development

Meningkatkan skills menjadi 1% lebih baik

Kelas Perkenalan Node.js dan Contoh CRUD Projek Rumah Sakit di BuildWithAngga

Perkenalan Node.js dan Contoh CRUD Projek Rumah Sakit

Mengenal Node.JS sebagai web developer Node.js adalah platform runtime yang dibangun di atas JavaScript V8 milik Google Chrome. Node.js memungkinkan developer untuk menjalankan kodingan JavaScript dari sisi server, sehingga menciptakan lingkungan yang efisien dan mudah diperbesar (scalable) untuk develop web. Perbedaan utama Node.js dan framework Laravel Node.js dan Laravel adalah dua alat yang sangat berbeda untuk pengembangan web, meskipun keduanya digunakan untuk membangun aplikasi server-side. Bahasa Pemrograman: Node.js menggunakan JavaScript, sementara Laravel menggunakan PHP. Ini adalah perbedaan paling mendasar dan mempengaruhi cara pengembangan, ekosistem, dan komunitas masing-masing.Paradigma: Laravel adalah framework berbasis MVC (Model-View-Controller) yang menyediakan struktur yang ketat dan berfokus pada arsitektur yang jelas. Node.js lebih fleksibel dan tidak mengikat pengembang pada satu arsitektur tertentu, meskipun ada banyak framework yang dapat digunakan dengan Node.js seperti Express.js yang membantu membangun aplikasi MVC.Performa: Node.js dikenal karena kemampuannya untuk menangani operasi I/O yang tinggi dengan non-blocking I/O model, yang membuatnya sangat cepat untuk aplikasi real-time seperti chat atau game online. Laravel, dengan arsitektur MVC-nya, lebih cocok untuk aplikasi yang membutuhkan pengolahan data yang kompleks dan tidak terlalu mementingkan performa real-time.Ekosistem dan Komunitas: Ekosistem npm (Node Package Manager) Node.js adalah salah satu yang terbesar di dunia pengembangan perangkat lunak, dengan jutaan paket yang dapat digunakan. Laravel juga memiliki komunitas yang kuat dan banyak paket melalui Composer, tetapi ekosistemnya tidak sebesar npm. Waktu yang tepat memilih pake node.js Node.js adalah pilihan yang sangat baik untuk mengerjakan aplikasi tertentu: Aplikasi Real-Time: Seperti aplikasi chat, kolaborasi langsung, atau permainan online, di mana kecepatan dan kemampuan untuk menangani banyak koneksi secara bersamaan sangat penting.API RESTful: Node.js sangat efisien untuk membuat API karena model I/O yang non-blocking dan dukungan JSON yang kuat.Aplikasi Berbasis Event: Karena arsitektur berbasis event-driven, Node.js sangat cocok untuk aplikasi yang harus merespons banyak event.Microservices: Node.js dapat digunakan untuk membangun arsitektur microservices, yang memerlukan pengolahan cepat dan komunikasi antar layanan yang efisien. Sebelum belajar Node.js, persiapkan hal-hal berikut Pemahaman Dasar JavaScript: Pahami konsep dasar JavaScript, seperti variabel, fungsi, dan asinkronitas.Instalasi Node.js: Unduh dan instal Node.js dari situs resminya (nodejs.org).Editor Kode: Gunakan editor teks seperti VS Code atau Sublime Text.NPM: Familiarisasi dengan npm (Node Package Manager) untuk mengelola paket dan dependensi.Dasar-Dasar Terminal: Pahami perintah dasar terminal atau command line.Dokumentasi: Sediakan akses ke dokumentasi resmi Node.js dan Express.js. Fitur Unggulan dari Menggunakan Node.js Non-Blocking I/O: Model I/O non-blocking memungkinkan Node.js menangani banyak operasi secara bersamaan tanpa menunggu operasi I/O selesai, meningkatkan performa aplikasi.Single Programming Language: Dengan Node.js, pengembang dapat menggunakan JavaScript di sisi klien dan server, menyederhanakan proses pengembangan.Ekosistem npm: Ekosistem npm menyediakan akses ke jutaan paket yang dapat digunakan untuk menambahkan berbagai fitur dan fungsi ke aplikasi dengan mudah.Skalabilitas: Node.js dirancang untuk membangun aplikasi yang scalable, baik secara horizontal maupun vertikal.Cepat dan Efisien: Mesin V8 yang digunakan oleh Node.js memungkinkan eksekusi kode yang sangat cepat. Node.js gratis untuk kita gunakan projek freelance Node.js adalah open-source dan gratis untuk digunakan. Node.js memiliki lisense di bawah Lisensi MIT, yang memungkinkan developer untuk menggunakannya, memodifikasi, dan mendistribusikan tanpa biaya. Framework Node.js Ada beberapa framework yang dapat digunakan bersama Node.js untuk mempercepat pengembangan aplikasi: Express.js: Framework minimalis dan fleksibel untuk membuat aplikasi web dan API. Express.js adalah salah satu framework paling populer untuk Node.js.Koa.js: Dibuat oleh tim yang sama yang membuat Express.js, Koa.js menawarkan fitur modern dan ringan untuk pengembangan web.NestJS: Framework yang sangat cocok untuk membangun aplikasi server-side yang skalabel dan dapat dipelihara, menggunakan TypeScript.Sails.js: Framework MVC yang kuat untuk membangun aplikasi web skala besar, mirip dengan Laravel namun untuk Node.js. CRUD dengan Node.js projek Rumah Sakit Berikut adalah contoh sederhana bagaimana membangun aplikasi CRUD (Create, Read, Update, Delete) untuk mengelola data rumah sakit menggunakan Node.js dan Express.js. 1. Instalasi dan Persiapan projek Pertama, pastikan Anda sudah menginstal Node.js dan npm. Kemudian, buat direktori baru untuk proyek dan inisialisasi npm pada terminal: mkdir hospital-crud cd hospital-crud npm init -y Instal Express.js: npm install express 2. Struktur projek Buat struktur proyek seperti berikut: hospital-crud/ |-- node_modules/ |-- public/ |-- routes/ | |-- index.js |-- app.js |-- package.json 3. Buat Server dengan Express.js Buat file app.js dan tambahkan kode berikut untuk mengatur server: const express = require('express'); const app = express(); const port = 3000; app.use(express.json()); app.use(express.urlencoded({ extended: true })); const indexRouter = require('./routes/index'); app.use('/', indexRouter); app.listen(port, () => { console.log(`Server running at <http://localhost>:${port}`); }); 4. Rute CRUD Buat file routes/index.js dan tambahin kodingan untuk mengatur routing CRUD: const express = require('express'); const router = express.Router(); let patients = []; // Create a new patient router.post('/patients', (req, res) => { const patient = req.body; patients.push(patient); res.status(201).json(patient); }); // Read all patients router.get('/patients', (req, res) => { res.json(patients); }); // Read a single patient router.get('/patients/:id', (req, res) => { const patient = patients.find(p => p.id === parseInt(req.params.id)); if (!patient) return res.status(404).send('Patient not found'); res.json(patient); }); // Update a patient router.put('/patients/:id', (req, res) => { const patient = patients.find(p => p.id === parseInt(req.params.id)); if (!patient) return res.status(404).send('Patient not found'); patient.name = req.body.name; patient.age = req.body.age; patient.diagnosis = req.body.diagnosis; res.json(patient); }); // Delete a patient router.delete('/patients/:id', (req, res) => { const patientIndex = patients.findIndex(p => p.id === parseInt(req.params.id)); if (patientIndex === -1) return res.status(404).send('Patient not found'); patients.splice(patientIndex, 1); res.status(204).send(); }); module.exports = router; Kesimpulan utamanya Node.js adalah platform runtime yang kuat dan efisien untuk pengembangan aplikasi web server-side. Dengan fitur-fitur unggulannya seperti non-blocking I/O dan ekosistem npm yang banyak dan mendukung, Node.js menawarkan solusi yang scalable dan cepat untuk berbagai jenis projek, seperti aplikasi real-time dan API. Dengan berbagai framework yang tersedia, seperti Express.js, develop website dengan Node.js menjadi lebih mudah dan terstruktur. Contoh CRUD di atas menunjukkan bagaimana membangun aplikasi sederhana untuk mengelola data rumah sakit dengan Node.js. Apabila tertarik belajar lebih lanjut maka bisa periksa katalog kelas terbaru BuildWithAngga untuk memulai belajar node js dan membangun portfolio berkualitas tinggi sebagai modal bekerja!

Kelas Mengenal Laravel dan Breeze Serta Fitur Unggulannya di BuildWithAngga

Mengenal Laravel dan Breeze Serta Fitur Unggulannya

Manfaat Website pada Bisnis Online dan Contoh Website Populer Saat Ini Di era digital seperti sekarang, memiliki website untuk bisnis online sangatlah penting. Website bisa menjadi toko online, tempat promosi, dan media komunikasi dengan pelanggan. Dengan website, bisnis dapat beroperasi selama 24 jam tanpa henti, menjangkau lebih banyak pelanggan potensial, dan meningkatkan penjualan secara signifikan. Contoh website populer saat ini termasuk Tokopedia, Shopee, dan Bukalapak di Indonesia. Jika bisnis Anda tidak dapat ditemukan secara online, maka itu akan menjadi masalah yang sangat besar dan berpotensi membuat bisnis Anda kalah bersaing lalu bangkrut Mereka membantu bisnis untuk menjangkau lebih banyak pelanggan dan meningkatkan penjualan. Website tersebut memberikan kemudahan bagi pelanggan untuk berbelanja dari mana saja dan kapan saja, serta memberikan pengalaman berbelanja yang nyaman dan aman. Seberapa Pentingnya Menggunakan Framework Laravel terhadap Proses Website Development Framework seperti Laravel sangat penting dalam proses pengembangan website. Laravel adalah salah satu framework PHP yang paling populer dan digunakan oleh banyak developer di seluruh dunia. Laravel membantu programmer membuat aplikasi web dengan cepat dan efisien. Laravel menyediakan berbagai fitur seperti routing, authentication, dan manajemen database yang memudahkan pengembangan dan pemeliharaan aplikasi. Dengan menggunakan Laravel, developer dapat fokus pada logika bisnis aplikasi tanpa harus khawatir tentang detail teknis yang rumit. Laravel juga memiliki dokumentasi yang sangat baik dan komunitas yang besar, sehingga memudahkan developer untuk mendapatkan bantuan dan dukungan saat menghadapi masalah. Apa Itu Package Breeze pada Laravel Laravel Breeze adalah package yang disediakan oleh Laravel untuk mempermudah proses pembuatan fitur authentication dasar seperti login, register, dan reset password. Breeze menyediakan template sederhana dengan blade dan Tailwind CSS yang bisa dengan mudah dicustom sesuai kebutuhan projek website. Package ini sangat berguna bagi pemula yang ingin memulai proyek Laravel dengan cepat tanpa harus membangun authentication dari nol. Laravel Breeze dirancang untuk memberikan fondasi yang solid untuk aplikasi Laravel, sehingga developer dapat dengan cepat memulai proyek mereka dan fokus pada pengembangan fitur-fitur lain yang lebih spesifik. Beberapa Manfaat Utama Breeze Adapun beberapa manfaat ketika kita menggunakan package breeze: Fast Coding: Breeze membantu developer membuat authentication dalam hitungan menit saja. Dengan beberapa command artisan sederhana, developer bisa langsung memiliki sistem login dan register yang berfungsi.Easy to Custom: Menggunakan Tailwind CSS, yang memudahkan penyesuaian tampilan. web developer dapat dengan mudah mengubah desain dan tata letak sesuai dengan kebutuhan projek website.REST API: Breeze mendukung API token untuk pengembangan aplikasi mobile atau frontend terpisah. Ini sangat berguna jika developer ingin membuat mobile apps atau single-page application (SPA) yang membutuhkan sebuah fitur authentication seperti login atau daftar akun baru.Simplify: Mengelola login, register, dan reset password jadi lebih mudah. Breeze menyediakan semua logika dan tampilan yang diperlukan sehingga developer tidak perlu memulai dari awal. Contoh Projek yang Bisa Dibuat dengan Laravel Breeze Dengan Laravel Breeze, kamu bisa membuat berbagai jenis proyek, seperti: Sistem Manajemen Konten (CMS): Untuk mengelola konten website seperti artikel dan berita. Dengan Breeze, kamu bisa dengan mudah mengelola user yang bisa menambah, mengedit, atau menghapus data produk.Aplikasi eCommerce Sederhana: Dengan fitur login dan register untuk pengguna, serta manajemen produk. Kamu bisa membuat toko online yang memungkinkan pengguna untuk mendaftar, login, dan membeli produk.Platform Blogging: Dimana penulis bisa membuat akun dan memposting artikel. Breeze mempermudah pengelolaan user dan postingan blog, sehingga kamu bisa fokus pada konten.Portal Lowongan Kerja: Dengan fitur registrasi pengguna dan posting lowongan pekerjaan. Pengguna bisa membuat akun, login, dan mencari atau memposting lowongan pekerjaan. Dengan memahami manfaat dan kemudahan yang ditawarkan oleh Laravel Breeze, kamu bisa lebih mudah memulai dan mengembangkan proyek website yang modern. Jika ingin mempelajari lebih lanjut maka segera buka website buildwithangga dan pelajari ratusan kelas gratis tersedia untuk memulai karir sebagai programmer website.

Kelas Perkenalan Laravel 11 dan Spatie Role Permissions di BuildWithAngga

Perkenalan Laravel 11 dan Spatie Role Permissions

Dalam era digital yang serba cepat ini, kebutuhan untuk memiliki sebuah website yang cepat dan juga aman menjadi aspek yang sangat penting. Banyak perusahaan yang sedang berlomba-lomba mengejar trend terbaru untuk tetap relevan dan kompetitif dalam menjangkau lebih banyak customer terbaru. Salah satu framework php yang banyak digunakan untuk membangun aplikasi web yang cepat dan aman adalah Laravel versi 11. Apa Itu framework Laravel? Laravel adalah framework PHP yang dirancang untuk pengembangan aplikasi web dengan sintaks yang ekspresif dan elegan. Laravel membuat pengembangan website menjadi menyenangkan bagi web developer dengan menyederhanakan tugas-tugas utama yang dilakukan dalam sebagian besar proyek web, seperti autentikasi, routing, sesi, dan juga caching. Laravel cocok banget dipake untuk perusahaan kecil yang sedang mencoba membangun bisnis online seperti software as a service yang terintegrasi dengan payment gateway midtrans atau xendit (cukup popular di indonesia). Kapan Menggunakan Laravel? Laravel sangat cocok digunakan ketika Anda membutuhkan pengembangan aplikasi yang cepat dan efisien. Dengan berbagai fitur bawaan dan ekosistem yang kaya, Laravel memudahkan pengembang untuk membuat aplikasi web yang mudah diperbesar (scalable) dan terstruktur dengan baik sehingga mudah di-maintenance. Kita dapat menggunakan Laravel untuk berbagai jenis proyek, mulai dari aplikasi kecil hingga aplikasi bisnis yang kompleks. Ide projek menarik yang bisa dibangun dengan laravel Jika kamu ingin coba belajar laravel maka kami memiliki beberapa rekomendasi projek yang cocok digunakan sebagai bahan latihan dan portfolio pertama kita sebagai berikut: website ujian online (CBT)website jual beli mobil bekaswebsite apotek onlinewebsite booking cuci mobilwebsite jual beli barang bekas Seringnya Projek Membutuhkan User Roles Dalam pengembangan aplikasi website yang modern, sering kali ada kebutuhan untuk mengelola hak akses pengguna yang berbeda-beda. Misalnya, dalam aplikasi e-commerce, Anda mungkin memiliki pengguna dengan peran sebagai admin, penjual, dan pembeli. Masing-masing peran ini memiliki hak akses yang berbeda untuk berbagai fitur dalam aplikasi. Contoh User Roles Sederhana Beberapa contoh user roles yang umum dalam sebuah aplikasi antara lain: Admin: Memiliki akses penuh untuk mengelola seluruh konten dan pengguna dalam aplikasi.Editor: Memiliki akses untuk mengedit dan mempublikasikan konten.User: Memiliki akses terbatas sesuai dengan fitur yang diizinkan untuk pengguna biasa.Guest: Pengguna yang belum terdaftar, biasanya hanya memiliki akses untuk melihat konten tertentu. Membuat User Roles dengan Spatie Untuk mengelola user roles dengan lebih cepat dan efisien, kita bisa menggunakan package Spatie Laravel Permission. Package ini menyediakan cara yang mudah dan cepat untuk mengelola peran dan izin pengguna dalam aplikasi Laravel. Oh ya package spatie juga sudah dipercaya oleh jutaan developer di seluruh dunia untuk projek kecil hingga besar. Membuat Seeder Permission Langkah pertama adalah membuat seeder untuk menyimpan role dan permissions. Seeder ini akan memasukkan data permissions ke dalam database secara otomatis saat dijalankan. Berikut adalah contoh seeder untuk permissions: <?php namespace Database\\Seeders; use App\\Models\\User; use Illuminate\\Database\\Console\\Seeds\\WithoutModelEvents; use Illuminate\\Database\\Seeder; use Spatie\\Permission\\Models\\Permission; use Spatie\\Permission\\Models\\Role; class RolePermissionSeeder extends Seeder { /** * Run the database seeds. */ public function run(): void { // $permissions = [ 'manage countries', 'manage cities', 'manage hotels', 'manage hotel bookings', 'checkout hotels', 'view hotel bookings', ]; foreach($permissions as $perm){ Permission::firstOrCreate([ 'name' => $perm ]); } $customerRole = Role::firstOrCreate([ 'name' => 'customer' ]); $customerPermissions = [ 'checkout hotels', 'view hotel bookings', ]; $customerRole->syncPermissions($customerPermissions); $superAdminRole = Role::firstOrCreate([ 'name' => 'super_admin' ]); $user = User::create([ 'name' => 'Super Admin', 'email' => '[email protected]', 'avatar' => 'images/dummyavatar.png', 'password' => bcrypt('123qwe123') ]); $user->assignRole($superAdminRole); } } Role Berhasil Dibuat pada database Setelah seeder dijalankan, role dan permissions akan otomatis dibuat dalam tabel database proyek Anda. Berikut contoh penggunaan seeder dalam Laravel: php artisan db:seed --class=RolePermissionSeeder Aktifkan Fitur Gate untuk Super Admin Untuk memastikan bahwa super admin memiliki akses ke semua fitur, kita dapat mengaktifkan fitur gate dalam Laravel. Berikut adalah contoh implementasi gate untuk super admin: use Illuminate\\Support\\Facades\\Gate; Gate::before(function ($user, $ability) { return $user->hasRole('super_admin') ? true : null; }); Dengan mengaktifkan gate ini, pengguna dengan peran super_admin akan memiliki akses penuh ke semua fitur dalam web/aplikasi (routes). Kesimpulan Laravel 11 dengan Spatie Role Permissions menyediakan cara yang cepat dan efisien untuk mengelola hak akses pengguna dalam aplikasi web. Dengan fitur-fitur yang ada, Anda dapat dengan mudah membuat dan mengelola user roles, serta memastikan aplikasi Anda tetap cepat dan aman. Menggunakan package seperti Spatie Laravel Permission tidak hanya mempercepat proses pengembangan, tetapi juga memberikan fleksibilitas yang lebih besar dalam mengelola hak akses pengguna. Jika kamu ingin belajar lebih banyak materi laravel 11 dan spatie maka silahkan cek kelas-kelas terbaru kami pada website BuildWithAngga, sampai jumpa di kelas!

Kelas Menjelajahi Dunia Docker: Memudahkan Pengembangan dan Penerapan Software di BuildWithAngga

Menjelajahi Dunia Docker: Memudahkan Pengembangan dan Penerapan Software

Haloo sobat ngodingg Semoga kalian sehat selaluu Docker telah menjadi platform populer dalam dunia pengembangan software. Platform ini memungkinkan pengembang untuk mengemas aplikasi dan dependensi mereka ke dalam container yang ringan dan portabel. Container ini memungkinkan aplikasi untuk dijalankan dengan konsisten di berbagai lingkungan, meningkatkan efisiensi dan fleksibilitas dalam pengembangan dan penerapan software. Apa itu Docker? Docker merupakan platform open-source yang menyediakan alat untuk membuat, menyebarkan, dan menjalankan aplikasi dalam container. Container ini seperti kotak terisolasi yang berisi semua yang diperlukan untuk menjalankan aplikasi, termasuk kode, runtime, pustaka sistem, pengaturan, dan dependensi lainnya. Keuntungan utama Docker adalah kemudahan dalam mengelola container. Pengelolaan dapat dilakukan dengan bantuan Docker API atau command line interface (CLI). Jika Kamu membutuhkan beberapa container, Kamu dapat mengelolanya dengan Docker compose tool. Arsitektur Docker Selain container, arsitektur Docker terdiri dari empat komponen utama: Client Docker: Komponen utama untuk membuat, mengelola, dan menjalankan aplikasi dalam container. Client Docker adalah metode utama untuk mengontrol server Docker melalui CLI seperti Command Prompt atau Terminal . Server Docker: Dikenal juga sebagai daemon Docker. Server Docker menunggu permintaan REST API yang dibuat oleh client Docker dan mengelola image dan container. Image Docker: Komponen yang memerintahkan server Docker terkait persyaratan tentang cara container Docker dibuat. Image dapat didapat dari situs web seperti Docker Hub. Kamu juga dapat membuat image custom dengan membuat Dockerfile dan meneruskannya ke server. Perlu diingat bahwa Docker tidak menghapus image yang tidak digunakan, jadi Anda harus menghapus data image sendiri agar tidak menumpuk. Registry Docker: Aplikasi server open-source yang digunakan untuk meng-hosting dan mendistribusikan image Docker. Registry sangat berguna untuk menyimpan image secara lokal dan mengelolanya sepenuhnya. Atau, Kamu dapat mengakses Docker Hub yang tadi disebutkan, yang merupakan repositori image Docker terbesar di dunia. Komponen-komponen Docker Komponen docker utama adalah: 1. Docker container Docker container merupakan tempat untuk menjalankan dan mengemas aplikasi. Tempat ini termasuk runtime, kode, tools dan pengaturan. Container hanya dapat mengakses source yang sudah ditentukan pada docker image. 2. Docker image Docker image merupakan kumpulan file untuk menunjang sebuah aplikasi. Docker image termasuk komponen untuk menginstruksikan docker server tentang syarat cara container docker dibuat. 3. Docker daemon Docker daemon merupakan tempat untuk mengelola docker image, network, container dan volume. Tempat ini menyediakan command-line-interface (CLI) sisi client supaya user bisa berinteraksi dengan daemon melalui request dari Docker API yang nantinya diproses oleh sistem. 4. Docker Engine RestAPI Docker Engine RestAPI merupakan komponen yang dapat diakses client dari HTTP agar bisa berinteraksi dengan docker daemon. 5. Docker registry Docker registry merupakan tempat menyimpan docker image yang nantinya memberikan output sesuai perintah yang diinginkan. 6. Docker host Docker host merupakan komponen yang memiliki tugas untuk menerima perintah dari docker client serta menyediakan environment untuk menjalankan suatu aplikasi. 7. Docker hub Docker hub merupakan layanan yang bisa dimanfaatkan untuk sejumlah container image. Keuntungan menggunakan Docker Portabilitas: Container Docker dapat dijalankan di berbagai platform, seperti Linux, Windows, dan macOS, tanpa memerlukan modifikasi pada aplikasi.Isolasi: Container berjalan secara terisolasi satu sama lain, sehingga meningkatkan keamanan dan stabilitas.Efisiensi: Container menggunakan sumber daya sistem secara lebih efisien dibandingkan dengan mesin virtual.Kemudahan penggunaan: Docker menyediakan alat yang mudah digunakan untuk membangun, mengelola, dan menyebarkan container. Contoh penggunaan Docker Mengembangkan aplikasi: Docker dapat digunakan untuk membuat lingkungan pengembangan yang konsisten bagi para pengembang.Menyebarkan aplikasi: Container Docker dapat digunakan untuk menyebarkan aplikasi ke berbagai server dengan mudah dan cepat.Menjalankan microservices: Docker sangat cocok untuk menjalankan microservices, yang merupakan arsitektur aplikasi yang membagi aplikasi menjadi layanan-layanan kecil dan independent.Continuous integration dan continuous delivery (CI/CD): Docker dapat digunakan untuk mengotomatisasi proses CI/CD, yang memungkinkan tim pengembang untuk lebih cepat dan efisien dalam mengembangkan dan menyebarkan aplikasi. Kesimpulan: Docker adalah platform yang kuat dan serbaguna yang dapat digunakan untuk berbagai macam tugas dalam pengembangan dan penerapan software. Dengan mempelajari Docker, kamu dapat meningkatkan efisiensi, fleksibilitas, dan portabilitas aplikasi kamu. Jadi buat kawan-kawan yang mau mempelajari tentang python dari dasar kalian bisa mengikuti kelasnya di BuildWithAngga yaitu Kelas Online Gratis Python Pemrograman Dasar Kalian bisa akses kelasnya secara gratiss lohhh. Oke sekian penjelasan tentang Menjelajahi Dunia Docker: Memudahkan Pengembangan dan Penerapan Software , kalian bisa kembali untuk menguliknya sendiri tentunya. Semoga bermanfaat buat kalian. See you guysss !

Kelas Alur dan Langkah-Langkah Belajar Laravel untuk Pemula di BuildWithAngga

Alur dan Langkah-Langkah Belajar Laravel untuk Pemula

Hai Sobat BWA!🙌 Saat ini, banyak orang berlomba-lomba untuk mempelajari coding karena perkembangan teknologi di zaman yang modern ini semakin tinggi. Selain itu, banyak orang ingin menekuni coding karena gaji yang cukup menjanjikan jika bekerja dalam dunia IT. Salah satu langkah yang harus diambil sebelum memulai karir dalam dunia IT adalah mengetahui roadmap atau alur belajar yang tepat agar bisa menjadi developer yang kompeten. Kali ini, kita akan membahas mengenai roadmap belajar Laravel untuk pemula agar kalian dapat mengetahui langkah-langkah yang tepat untuk mempelajari framework PHP satu ini. Simak artikel berikut sampai habis ya! 1. Mengenali Dasar-Dasar PHP Seperti yang kita tahu, Laravel merupakan salah satu framework yang menggunakan PHP sebagai bahasa pemrograman utamanya. Maka dari itu, sebelum memulai belajar Laravel, kalian harus memahami dasar-dasar PHP termasuk sintaks, flow control (if, else, switch), loop (for, foreach, while), dan dasar-dasar OOP (Object Oriented Programming). 2. Memahami Dasar-Dasar Web Development Setelah memahami bahasa pemrograman PHP, selanjutnya penting juga untuk memahami dasar-dasar web development seperti HTML, CSS, dan JavaScript. Kalian juga perlu memahami mengenai konsep dasar HTTP termasuk request dan response karena hal tersebut akan sangat membantu dalam memahami bagaimana Laravel bekerja. Selanjutnya, perlu juga untuk mengenali penggunaan database dan SQL untuk pengelolaan data secara efektif dalam aplikasi website yang dikembangkan. 3. Mulai Memahami Laravel Jika kalian sudah memahami PHP dan dasar-dasar web development yang telah disebutkan di atas, kalian bisa mulai mencari tahu mengenai framework Laravel dan mengapa kalian perlu menggunakan Laravel. Baca “Mengenal Laravel: Framework PHP Terpopular untuk Website Development” Kalian bisa mulai membaca dokumentasi resmi Laravel untuk pengantar dasar dan meng-install Laravel serta mempelajari struktur dasar sebuah proyek yang menggunakan Laravel. 4. Mempelajari Konsep Routing dan Controller Mempelajari routing dan controller di Laravel merupakan langkah penting dalam memahami bagaimana framework ini bekerja dalam menangani permintaan HTTP. Routing adalah proses menentukan bagaimana sebuah aplikasi Laravel menanggapi permintaan URL tertentu. Route mendefinisikan URL dan menentukan tindakan yang harus dilakukan ketika URL tersebut diakses. Sedangkan controller berfungsi sebagai penghubung antara model (data) dan view (tampilan). 5. Views dan Blade Templating Blade adalah template engine yang disediakan Laravel. Dengan mempelajari Blade, kalian bisa dengan mudah membuat tampilan yang dinamis dan terstruktur dalam aplikasi Laravel. Banyak keuntungan dan fitur utama dari Blade yang bisa dimanfaatkan di antaranya sintaks yang sederhana dan mudah dibaca, inheritance templating, penyusunan komponen UI, dan lainnya. 6. Dasar-Dasar Database Selanjutnya, mulailah untuk belajar mengenai database seperti Database Migrations dan bagaimana cara membuatnya. Kalian juga perlu memahami mengenai apa itu Eloquent ORM agar nantinya dapat mengelola dan berinteraksi dengan database secara efisien. Setelah memahami mengenai database dan migration, pahami bagaimana cara membuat model pada Laravel dan menggunakannya untuk operasi CRUD (Create, Read, Update, and Delete). 7. Mulai Membuat Project Setelah memahami semua dasar-dasar Laravel, lanjutkan untuk membuat project sederhana menggunakan Laravel. Tujuan dari membuat project ini agar kalian dapat belajar secara langsung mengenai fitur-fitur yang tersedia dalam Laravel dan menerapkannya. Cara Membuat Project Menggunakan Laravel Pastikan kalian sudah meng-install PHP dan composer sebelum membuat project.Buka command prompt dan jalankan perintah berikut untuk membuat project composer create-project laravel/laravel belajar_laravel Tunggu hingga proses instalasi selesai dan voila! Kalian berhasil membuat project Laravel dan mulailah untuk mengeksplor struktur framework ini, mulai dari migration, controller, route, blade, authentication, dan masih banyak lagiJika kalian membutuhkan dokumentasi atau tutorial mengenai Laravel, kalian bisa membacanya melalui situs website resmi Laravel di sini. Kesimpulan Untuk belajar Laravel bagi pemula, mulailah dengan memahami dasar-dasar PHP dan web development termasuk HTML, CSS, dan JavaScript. Kemudian, mulai memahami Laravel, termasuk konsep routing dan controller, views dan blade templating, serta dasar-dasar database. Setelah memahami semua dasar-dasar Laravel, mulailah membuat project sederhana menggunakan Laravel untuk belajar secara langsung mengenai fitur-fitur yang tersedia dalam Laravel dan menerapkannya. Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Laravel, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌 PHP Laravel Web DevelopmentKelas Online Gratis Eloquent ORM Laravel

Kelas Prinsip Fundamental dalam Software Engineering yang Harus Dipahami! di BuildWithAngga

Prinsip Fundamental dalam Software Engineering yang Harus Dipahami!

Hai Sobat BWA!🙌 “Fundamental Principles” dalam software engineering adalah prinsip dasar dalam pemrograman yang digunakan untuk meningkatkan dan memudahkan kita dalam menulis kode. Dengan menerapkan beberapa prinsip-prinsip ini, kita akan mendapatkan banyak manfaat seperti: Meningkatkan Kualitas Kode: Kode yang dihasilkan akan lebih bersih, lebih terstruktur, dan lebih mudah dibacaMempermudah Pengujian: Kode yang terstruktur dengan baik dan modular lebih mudah untuk diuji. Setiap komponen dapat diuji secara terpisah, yang memungkinkan deteksi bug dan masalah lainnyaMempermudah Pemeliharaan: Kode yang mengikuti prinsip-prinsip dasar ini akan lebih mudah untuk dipelihara dan diperbarui. Perubahan dapat dilakukan dengan lebih cepat dan dengan risiko yang lebih rendah terhadap munculnya bug baru Dan masih banyak lagi manfaat yang akan didapat dari penerapan prinsip-prinsip ini. Lalu, apa saja sih prinsip dasar dari software engineering tersebut? Simak artikel berikut sampai habis ya! 1. SoC - Separation of Concerns SoC merupakan salah satu prinsip di mana suatu program harus dirancang dengan wadah terpisah yang tidak dapat diakses satu sama lain dan setiap komponen kode bekerja secara independen. Separation of Concerns berarti membagi program komputer menjadi bagian-bagian yang berbeda, yang masing-masing menangani aspek-aspek spesifik dari fungsionalitas program. Setiap bagian atau modul tersebut bertanggung jawab atas satu aspek tertentu dari keseluruhan program. Contoh penerapan SoC adalah desain MVC (Model-View-Controller) yang memisahkan antara Model (data), Controller (Logika Aplikasi), dan View (Tampilan). Beberapa manfaat dari penerapan prinsip ini adalah: Pemeliharaan Aplikasi Menjadi Mudah: Dengan memisahkan berbagai aspek, perubahan pada satu bagian kode tidak akan mempengaruhi bagian lainnya, sehingga lebih mudah untuk memperbarui dan memelihara kodeKemudahan Pengujian: Bagian-bagian yang terpisah dapat diuji secara independen sehingga meningkatkan efektivitas pengujianKode Menjadi Teroganisir: Kode yang terorganisir dengan baik lebih mudah dipahami karena setiap bagian memiliki tujuan yang jelas 2. KISS - Keep It Simple, Stu**d Prinsip ini memiliki arti bahwa kita harus menulis kode sesederhana mungkin. Penerapan prinsip ini akan membuat kode lebih mudah dipahami terutama ketika kita bekerja sama dalam tim yang terdiri dari banyak orang, di mana orang yang berbeda harus membaca dan memodifikasi kode. Penulisan kode yang bersih dan sederhana juga cenderung memiliki sedikit bug dan lebih mudah diuji. Selain itu, pemeliharaan sistem aplikasi akan lebih mudah untuk diperbaiki dan diperbarui, karena identifikasi masalah menjadi lebih mudah ditemukan. Berikut merupakan contoh penerapan prinsip KISS dalam pemrograman: function isPalindrome($string) { $length = strlen($string); $reversedString = ''; for ($i = $length - 1; $i >= 0; $i--) { $reversedString .= $string[$i]; } if ($string === $reversedString) { return true; } else { return false; } } Kode di atas merupakan contoh ketika kita belum menerapkan prinsip KISS function isPalindrome($string) { return $string === strrev($string); } Kode di atas merupakan contoh ketika prinsip KISS sudah diterapkan Setelah menerapkan prinsip KISS, terlihat lebih simpel bukan? Kode menjadi lebih mudah dibaca dan dipahami. 3. DRY - Don’t Repeat Yourself DRY atau yang merupakan singkatan dari Don’t Repeat Yourself adalah prinsip fundamental dalam software engineering yang menekankan pentingnya menghindari duplikasi kode. Prinsip ini pertama kali diperkenalkan oleh Andy Hunt dan Dave Thomas dalam buku mereka "The Pragmatic Programmer". Inti dari prinsip DRY adalah bahwa setiap bagian dari pengetahuan (logika bisnis, algoritma, struktur data, dll.) seharusnya hanya diwakili satu kali dalam basis kode. Lebih baik mencari algoritma yang menggunakan loop daripada menduplikasi baris kode. Hal ini karena men-debug satu loop yang menangani 25 pengulangan jauh lebih mudah daripada 25 blok kode yang masing-masing menangani satu pengulangan. Kode yang menerapkan prinsip ini akan lebih mudah dipelihara karena jika ada perubahan dalam logika atau bug yang perlu diperbaiki, kita cukup melakukan perubahan di suatu tempat. 4. YAGNI - You Aren’t Going to Need It “You Aren’t Going to Need It” berarti bahwa kita tidak harus mengimplementasikan fungsionalitas tambahan atau fitur baru sampai benar-benar dibutuhkan. Menghindari pengembangan fitur yang tidak dibutuhkan membantu menghemat waktu penyelesaian tugas lebih cepat dan efisien. Dengan menerapkan YAGNI, risiko timbul bug baru akan sangat kecil karena tidak ada kode yang tidak diperlukan yang ditambahkan. 5. Single Responsibility Menurut prinsip ini, setiap kelas atau modul dalam suatu program hanya boleh melakukan fungsi tertentu. Kelas atau modul harus memiliki satu tanggung jawab utama dan tidak menangani tugas lain di luar tanggung jawab tersebut. Misalnya, sebuah kelas yang bertanggung jawab untuk mengelola data pelanggan tidak boleh mengandung logika untuk mengirim email ke pelanggan. Kelas atau modul yang hanya memiliki satu tanggung jawab cenderung memiliki lebih sedikit ketergantungan dengan bagian lain dari sistem, yang berarti lebih sedikit potensi untuk bug atau masalah ketika ada perubahan atau pembaruan. 6. Refactor “Refactor” berarti meninjau ulang kode dan mencari cara untuk mengoptimalkannya, serta membuatnya agar menjadi lebih efisien. Refactoring membantu menghilangkan kode yang tidak dibutuhkan, memperbaiki nama variabel, metode, dan class agar lebih deskriptif. Kode yang telah di-refactor biasanya lebih mudah untuk diuji dan dipelihara. Jika kalian ingin menulis kode yang lebih bersih dan berkualitas, kalian harus mempertimbangkan prinsip ini. 7. Document Your Code Prinsip ini merupakan salah satu prinsip yang penting untuk diterapkan ketika berkolaborasi atau berkerja dengan orang lain. Prinsip "Document Your Code" adalah panduan penting yang menekankan pentingnya mendokumentasikan setiap aspek kode selama proses development. Dokumentasi kode mencakup penulisan komentar dalam source code, pembuatan dokumen terpisah yang menjelaskan fungsi, struktur, dan penggunaan kode, serta pemeliharaan catatan yang berkaitan dengan perubahan dan pembaruan kode. Dengan menerapkan prinsip ini, software developer dapat memastikan bahwa kode mereka tidak hanya berfungsi dengan baik tetapi juga dapat dipahami, dipelihara, dan dikembangkan lebih lanjut dengan lebih efisien. <?php /** * Menghitung luas lingkaran. * * @param float $radius Jari-jari lingkaran * @return float Luas lingkaran * @throws InvalidArgumentException Jika jari-jari tidak valid */ function calculateCircleArea($radius) { // Konstanta untuk π define('PI', 3.14159); // Validasi input if ($radius <= 0) { throw new InvalidArgumentException('Jari-jari harus positif.'); } // Hitung luas lingkaran return PI * pow($radius, 2); } // Contoh penggunaan fungsi $radius = 5; try { // Hitung dan tampilkan luas lingkaran $area = calculateCircleArea($radius); echo "Luas lingkaran dengan jari-jari $radius adalah $area\\n"; } catch (InvalidArgumentException $e) { // Tangani kesalahan input echo "Kesalahan: " . $e->getMessage() . "\\n"; } ?> Kode di atas merupakan contoh kode yang menerapkan prinsip ini dengean menambahkan komentar pada setiap baris kode 8. Composition Over Inheritance Prinsip ini akan sangat berguna jika kita menggunakan Object Oriented Programming atau yang biasanya disebut OOP. Prinsip ini menganjurkan penggunaan composition daripada inheritance atau pewarisan untuk memperluas fungsionalitas suatu kelas. Kode yang ditulis menggunakan composition akan lebih bersih dan lebih mudah dipelihara serta menyediakan basis kode yang lebih sederhana dan mudah diuji. Prinsip "Composition over Inheritance" mendorong desain yang lebih modular, fleksibel, dan mudah untuk dipelihara dengan cara menggunakan komposisi objek daripada pewarisan. Berikut adalah perbedaan penulisan kode jika menggunakan pewarisan dan komposisi: Inheritance class Animal { void eat() { System.out.println("This animal eats food."); } } class Dog extends Animal { void bark() { System.out.println("The dog barks."); } } Composition class Animal { void eat() { System.out.println("This animal eats food."); } } class Dog { private Animal animal = new Animal(); void eat() { animal.eat(); } void bark() { System.out.println("The dog barks."); } Pada contoh komposisi di atas, kelas Dog memiliki (has-a) objek Animal, sehingga dapat menggunakan fungsionalitas eat() dari Animal tanpa mewarisinya. Ini memungkinkan Dog memiliki fleksibilitas untuk mengubah atau menambahkan perilaku lain tanpa terikat pada hierarki pewarisan yang ketat. Mengapa Harus Menerapkan Prinsip-Prinsip Fundamental dalam Pemrograman? Efisiensi: Penggunaan prinsip-prinsip fundamental dapat meningkatkan efisiensi kinerja kode. Struktur data dan algoritma yang dipilih dengan baik dapat mempercepat eksekusi program dan mengurangi penggunaan resourcePemeliharaan: Kode yang ditulis dengan prinsip-prinsip yang baik lebih mudah untuk diperbaiki dan ditingkatkanReusabilitas: Prinsip-prinsip seperti DRY (Don't Repeat Yourself) mendorong pembuatan kode yang dapat digunakan kembali sehingga hal ini mengurangi duplikasi kode dan memungkinkan penggunaan kembali komponen yang sudah diuji dan terbukti berfungsiKolaborasi: Dalam proyek tim, mengikuti standar dan prinsip yang sama memudahkan kolaborasi antar anggota tim. Semua orang dapat bekerja dengan cara yang konsisten dan saling memahami kode satu sama lain Kesimpulan Itulah penjelasan mengenai prinsip-prinsip fundamental dalam software engineering yang meliputi SoC (Separation of Concerns) yang membagi program menjadi bagian-bagian yang berbeda dan bekerja secara independen, KISS (Keep It Simple, Stu**d) yang menekankan penulisan kode yang sederhana, DRY (Don’t Repeat Yourself) yang menghindari duplikasi kode, YAGNI (You Aren’t Going to Need It) yang menghindari pengembangan fitur yang tidak dibutuhkan, Single Responsibility yang menekankan setiap kelas atau modul hanya melakukan satu fungsi, Refactor yang mengoptimalkan kode, Document Your Code yang menekankan pentingnya dokumentasi, dan Composition Over Inheritance yang menganjurkan penggunaan komposisi daripada pewarisan. Prinsip-prinsip tersebut perlu untuk dipelajari dan diterapkan agar mempermudah software development. Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Software Development, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌

Kelas Laravel vs Node.js: Mana yang Terbaik untuk Web Development? di BuildWithAngga

Laravel vs Node.js: Mana yang Terbaik untuk Web Development?

Hai Sobat BWA!🙌 Saat ini, banyak sekali framework yang dapat dipilih untuk web development agar menghasilkan aplikasi dengan performa yang baik, contohnya adalah Laravel dan Node.js. Dua framework tersebut sama-sama unggul dalam dunia web development dengan kelebihan dan kekurangannya masing-masing. Laravel menggunakan bahasa pemrograman PHP, sedangkan Node.js menggunakan JavaScript sebagai bahasa pemrograman utamanya. Pada artikel kali ini, kita akan membahas tentang perbandingan dua framework ini jika digunakan untuk web development. Simak artikel berikut sampai habis ya! 1. Struktur dan Fleksibilitas Efisiensi dan performa suatu framework tentunya ditentukan oleh struktur yang digunakan. Laravel menggunakan arsitektur MVC (Model View Controller), sedangkan Node menggunakan arsitektur Single Threaded Event Loop. Penggunaan arsitektur MVC pada Laravel memisahkan tiga komponen utama dari sebuah aplikasi website yang membantu dalam memisahkan logika bisnis dari tampilan pengguna dan request HTTP. Hal ini akan memudahkan proses development yang terstruktur dan pemeliharaan yang lebih mudah. Dengan menggunakan Laravel, kita akan lebih fokus pada fungsionalitas proyek daripada menghabiskan waktu untuk menangani konfigurasi dan rutinitas pengembangan yang repetitif. Single Threaded Event Loop, arsitektur yang digunakan pada Node.js, berarti bahwa Node.js beroperasi dalam satu thread utama yang mengelola semua operasi secara asinkronus. Event Loop adalah mekanisme di mana Node.js terus-menerus memantau tugas yang selesai dieksekusi, menangani input/output, dan menjalankan callback ketika operasi selesai. Dengan pendekatan ini, Node.js dapat menangani banyak koneksi secara efisien tanpa mengalami blocking, sehingga membuatnya sangat cocok untuk aplikasi yang membutuhkan skalabilitas dan responsifitas tinggi. 2. Skalabilitas Laravel dan Node.js sama-sama memiliki skalabilitas yang baik. Skalabilitas merujuk pada kemampuan sebuah aplikasi untuk menangani peningkatan traffic atau data tanpa mengorbankan kinerja atau fitur yang ada. Penggunaan arsitektur MVC dan beberapa thread untuk memproses permintaan pada Laravel memungkinkan framework ini melakukan upaya komputasi tambahan untuk menangani permintaan sehingga sulit menjaga skalabilitas. Sedangkan pada Node.js yang mengunakan arsitektur Single Threaded Event Loop membuat framework ini sangat skalabel karena memungkinkan untuk menangnai banyak permintaan secara efisien tanpa memerlukan pembuatan thread baru untuk tiap koneksi. 3. Performa Jika dibandingkan dengan Laravel, Node.js memiliki performa atau kecepatan yang lebih baik karena sifat non-blocking dan event-driven yang memungkinkan penanganan permintaan secara efisien. Namun, Laravel lebih kuat dalam hal fitur dan fungsionlaitas yang lengkap terutama dalam konteks pengembangan aplikasi web yang kompleks dan besar. 4. Komunitas yang Dimiliki Laravel merupakan framework PHP yang populer secara global dan banyak digunakan untuk membangun sebagian besar aplikasi dengannya. Sehingga, Laravel memiliki komunitas pengguna yang luas di mana para pengguna Laravel saling membantu, sharing, dan membantu seseorang yang baru belajar Laravel. Salah satunya adalah Laravel.io atau Laracast yang merupakan suatu forum para pengguna Laravel. Tak kalah dengan Laravel, Node.js juga menawarkan berbagai forum pengguna untuk berdiskusi mengenai bug dan saran dari pengguna lain. Situs web resmi Node.js memiliki komunitas penggunanya sendiri, dan situs web Node.dev menawarkan komunitas dukungan pengguna Node.js tambahan. 5. Kurva Pembelajaran Bagi pemula, kurva pembelajaran merupakan hal yang harus diperhatikan dalam menentukan framework yang akan dipilih. Bagi kalian yang sudah familiar dengan PHP, Laravel merupakan pilihan yang tepat karena kemudahan penggunaannya. Namun, Laravel memiliki kurva pembelajaran yang lebih curam dibandingkan Node.js karena memiliki banyak fitur dan konvensi yang perlu dipelajari. Node.js, memiliki kurva pembelajaran yang relatif dangkal, sehingga mudah dipelajari oleh pemula. Selain itu, Node.js didasarkan pada JavaScript yang merupakan teknologi populer di kalangan developer. Kesimpulan Baik Laravel dan Node.js sama-sama memiliki fitur dan penggunaan sesuai kebutuhan yang dipelrukan. Jika kalian memerlukan kerangka pengembangan web yang mampu mengelola logika back-end yang rumit, interaksi dengan database, dan penggunaan templating, mungkin kalian akan tertarik dengan Laravel. Sebaliknya, jika kalian mencari kerangka pengembangan web yang dapat menangani aplikasi real-time, memproses konkurensi tinggi, dan dapat dengan mudah diskalakan, Node.js bisa menjadi pilihan yang tepat. Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Web Development, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌

Kelas Laravel Tips #1: Tips Routing Agar Kode Lebih Efisien di BuildWithAngga

Laravel Tips #1: Tips Routing Agar Kode Lebih Efisien

Hai Sobat BWA!🙌 Framework Laravel memiliki banyak fitur yang mudah digunakan disertai dengan dokumentasi yang lengkap. Hal ini membuat Laravel menjadi pilihan yang sangat baik bagi para developer yang ingin membangun aplikasi web secara efisien dan efektif. Selain itu, Laravel juga memiliki komunitas yang aktif, sehingga jika menghadapi kendala atau membutuhkan saran, terdapat banyak resource yang bisa dimanfaatkan. Fitur-fitur seperti Eloquent ORM, Blade Templating Engine, dan Artisan CLI membuat proses pengembangan menjadi lebih cepat dan menyenangkan. Dengan semua kelebihan ini, tidak mengherankan jika Laravel menjadi salah satu framework PHP paling populer di dunia. 1. Route Group Dalam mengelola routing, kita dapat membuat route grup di dalam grup agar struktur route menjadi lebih terorganisir dan memudahkan manajemen route yang kompleks serta mempermudah pengelolaan akses dan autentikasi pada bagian-bagian tertentu dari aplikasi. Selain itu, penggunaan route grup di dalam grup juga digunakan untuk menugaskan middleware tertentu hanya ke beberapa URL pada grup “induk”. Contoh penggunaan route grup di dalam grup adalah sebagai berikut: Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () { // Middleware 'log' hanya diterapkan ke beberapa URL di dalam grup 'induk' Route::group(['middleware' => 'log'], function () { Route::get('/dashboard', 'AdminController@dashboard'); Route::get('/reports', 'AdminController@reports'); }); // Rute lain tanpa middleware 'log' Route::get('/profile', 'AdminController@profile'); Route::get('/settings', 'AdminController@settings'); }); 2. Controller Groups Daripada menggunakan controller pada setiap baris route, kita dapat menggunakan route controller group untuk mengelompokkan route yang memiliki controller yang sama, sehingga kode menjadi lebih rapi dan mudah dikelola. Dalam framework Laravel, kita bisa mendefinisikan sekelompok route yang menggunakan controller yang sama dengan cara berikut: Route::controller(UserController::class)->group(function () { Route::get('/users', 'index'); Route::get('/users/{id}', 'show'); Route::post('/users', 'store'); Route::put('/users/{id}', 'update'); Route::delete('/users/{id}', 'destroy'); }); 3. Route View Kita bisa menggunakan Route::view($uri , $bladePage) untuk mengembalikan view secara langsung tanpa harus menggunakan function controller. Penggunaan route ini sangat berguna untuk menghemat waktu dan menyederhanakan kode ketika kita hanya perlu menampilkan halaman statis atau halaman dengan data sederhana yang tidak memerlukan logika bisnis yang kompleks. Route::view('/about', 'about'); Route::view('/contact', 'contact'); Dalam contoh di atas, ketika pengguna mengunjungi URL /about, Laravel akan mengembalikan view about.blade.php. Demikian pula, URL /contact akan mengembalikan view contact.blade.php. 4. Menambahkan Middleware Global Ketika kita ingin mendefinisikan Middleware Global untuk semua route API, ada tiga cara di mana kita dapat mengaturnya: Opsi 1: Pada file Route.php // routes/api.php Route::middleware(YourMiddleware::class)->group(function() { // .., all API routes }) Opsi 2: Pada file RouteServiceProvider.php // app/Providers/RouteServiceProvider.php public function boot() { $this->configureRateLimiting(); $this->routes(function () { Route::middleware(['api', YourMiddleware::class]) // ... Opsi 3: Dalam file Kernel.php // app/Http/Kernel.php: add to the 'api' group protected $middlewareGroups = [ 'api' => [ // \\Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class, YourMiddleware::class, ], ]; 5. Kustom Nama Route Resource Ketika menggunakan Resource Controller, dalam file routes/web.php kita dapat menentukan parameter ->names() , sehingga awalan URL pada browser akan sesuai dengan nama yang kita tentukan. Dengan menggunakan ->names(), kita dapat memberikan nama khusus pada setiap route yang dihasilkan oleh Resource Controller. Contohnya adalah sebagai berikut: Route::resource('photos', PhotoController::class)->names([ 'index' => 'photos.index', 'create' => 'photos.create', 'store' => 'photos.store', 'show' => 'photos.show', 'edit' => 'photos.edit', 'update' => 'photos.update', 'destroy' => 'photos.destroy', ]); Dengan menggunakan parameter ->names(), kita dapat merujuk pada route ini dalam kode kita seperti berikut: // Menghasilkan URL untuk route 'photos.index' $url = route('photos.index'); // Redirect ke route 'photos.store' return redirect()->route('photos.store'); Kesimpulan Itulah beberapa tips routing pada Laravel yang dapat kalian coba! Dengan menerapkan tips-tips tersebut, kalian dapat membuat aplikasi web yang lebih terstruktur, efisien, dan mudah dikelola. Jangan lupa untuk selalu mengikuti dokumentasi resmi Laravel dan terus eksplorasi fitur-fitur baru yang ditawarkan framework ini untuk meningkatkan kemampuan dan performa aplikasi kalian. Selamat mencoba dan semoga berhasil! Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Laravel, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌 PHP Laravel Web DevelopmentKelas Online Gratis Eloquent ORM Laravel

Kelas Tipe Bug dan Error serta Cara Mengatasi dan Mencegahnya di BuildWithAngga

Tipe Bug dan Error serta Cara Mengatasi dan Mencegahnya

Haloo sobat ngodingg Semoga kalian sehat selaluu Bug dan error adalah dua istilah yang sering digunakan dalam dunia pemrograman untuk menunjukkan adanya masalah dalam suatu program. Meskipun sering disalahartikan sebagai hal yang sama, keduanya memiliki perbedaan yang perlu dipahami. Bug adalah cacat atau kesalahan dalam program yang menyebabkan program tidak berfungsi sebagaimana mestinya. Bug dapat menyebabkan program crash, hang, atau menghasilkan output yang tidak sesuai dengan yang diharapkan. Error, di sisi lain, adalah pesan yang ditampilkan kepada pengguna ketika program mendeteksi adanya masalah. Error dapat membantu pengguna untuk memahami apa yang salah dan bagaimana cara memperbaikinya. Berikut adalah beberapa jenis bug umum terjadi serta cara mengatasinya Syntax Error Bug ini terjadi ketika aturan sintaksis dalam bahasa pemrograman tidak diikuti dengan benar. Misalnya, kesalahan penulisan kata kunci (keyword) sehingga program tidak dapat dijalankan, cara mengatasinya tentunya dengan menuliskan keyword atau syntax yang benar. Selain itu untuk pencegahan syntax error IDE dengan fitur syntax highlighting dan intelisense juga dapat membantu kamu mengurangi kemungkinan kesalahan penulisan sintaksis dan keyword. Intellisense akan memberi kamu suggestion bahkan auto-completion ketika kamu menuliskan baris-baris kode. Ia juga akan memberikan highlight pada keyword yang tidak sesuai. Misalnya, ketika kamu belum melakukan import module yang diperlukan. Logical Error Logical error adalah kesalahan dalam logika program yang menyebabkan hasil tidak sesuai dengan harapan. Ini dapat terjadi jika alur logika atau perhitungan matematis yang dituliskan oleh programmer tidak sesuai. Ini merupakan salah satu bug yang tricky untuk ditemukan karena biasanya tidak menghasilkan error apa pun pada console ataupun log. Salah satu cara untuk menemukan dan memperbaiki logical error adalah dengan melakukan debug and trace terhadap kode tersebut, hal ini bisa dicapai secara manual dengan membuat tracing table ataupun dengan fitur debugger yang biasanya disediakan oleh IDE. Kamu bisa melihat fitur-fitur debugging dari IDE Visual Studio Code disini. Logical error juga dapat diketahui lebih awal jika kita membuat unit testing untuk fungsi – fungsi dalam program kita. Bahkan ada paradigma yang disebut test driven development (TDD) dimana kita dianjurkan untuk terlebih dahulu menuliskan kode pengujian sebelum mengimplementasikannya ke fungsi dalam bahasa pemrograman. Concurrency Bug Concurrency bug adalah jenis kesalahan yang terjadi dalam program yang melibatkan eksekusi serentak (concurrent execution) dari beberapa proses atau thread. Concurrency bug dapat sangat sulit untuk dideteksi dan diperbaiki karena perilaku program mungkin saja bergantung pada urutan eksekusi dari proses atau thread yang berjalan secara bersamaan. Bayangkan pada sebuah sistem yang menyimpan data saldo rekening bersama (joint account) di mana dua orang dapat bertransaksi dengan rekening yang sama. Suatu ketika, si wanita masuk ke akun dan membaca nilai saldo awal bernilai $100. Di tempat lain si pria, juga masuk ke akun yang sama dan  menyelesaikan transaksi terlebih dahulu senilai $20 sehingga saldo tersisa $80. Lalu, si wanita tadi baru menyelesaikan transaksinya setelah si pria dengan nilai $30, tetapi menurut data cache yang ia dapat sebelumnya, saldo awal masih $100 sehingga saldo tersisa adalah $70. Kemudian, ketika data tersebut disimpan ke database, ia akan menggantikan saldo tanpa peduli dengan saldo yang sudah berkurang sebelumnya. Hal ini tentunya menimbulkan kerancuan karena uang keluar dan sisa saldo terdapat perbedaan. Untuk mengatasi ini salah satunya kita bisa melakukan locking (penguncian) untuk memastikan bahwa sumber daya bersama hanya dapat diakses oleh satu proses atau thread pada satu waktu. Namun, penerapan locking juga dapat menyebabkan masalah seperti deadlock dan livelock jika tidak diterapkan dengan benar. Deadlock terjadi ketika dua atau lebih proses atau thread saling menunggu untuk mendapatkan sumber daya yang telah dikunci oleh proses atau thread lain sehingga mengakibatkan tidak ada proses yang dapat melanjutkan eksekusi. Sementara livelock terjadi ketika dua atau lebih proses atau thread terus-menerus bekerja, tetapi tidak menyelesaikan tugasnya karena mereka terjebak dalam siklus yang tidak dapat dipecahkan. Livelock menyebabkan penggunaan sumber daya CPU yang tinggi, tetapi proses yang diharapkan tidak terjadi. Runtime Error Runtime error adalah jenis error yang terjadi saat program sedang dieksekusi. Kesalahan jenis ini biasanya tidak teridentifikasi ketika menuliskan kode ataupun ketika tahap kompilasi (pada bahasa compiled). Runtime error dapat terjadi karena berbagai alasan, termasuk input yang tidak valid, kesalahan logika dalam kode, kekurangan memori, atau interaksi yang tidak diinginkan antara program dan lingkungan eksekusi. Untuk mengatasi runtime error, kamu perlu memastikan untuk melakukan handling terhadap kemungkinan-kemungkinan ketidaksesuaian yang diakibatkan oleh data yang tidak terprediksi (misalnya data yang diambil dari input user ataupun response dari API). Pada bahasa yang tidak mendefinisikan tipe datanya secara eksplisit, runtime error sering terjadi karena programmer berpikir bahwa data yang dimasukkan user atau didapat dari API memiliki tipe data sesuai yang diharapkan. Contoh solusi runtime error adalah dengan melakukan validasi tipe data untuk data yang berasal dari sumber eksternal. Floating-Point Imprecision Floating point imprecision adalah kondisi ketika operasi matematika dengan bilangan desimal berbasis floating point dalam komputer menghasilkan hasil yang tidak sepenuhnya akurat. Akibat dari floating point imprecision dapat bervariasi, mulai dari perbedaan kecil dalam nilai hasil hingga perhitungan yang sepenuhnya tidak valid. Misalnya dalam contoh sederhana ini, kamu akan menambahkan angka 0.1 sebanyak 10 kali, secara matematis ini akan menghasilkan nilai 1.1 namun pada bahasa python ini menghasilkan nilai 1.0999999999999999. Walaupun mendekati jika kamu membutuhkan presisi yang tinggi maka ini akan menjadi masalah. Untuk mengatasi masalah yang disebabkan oleh floating point imprecision, ketahuilah akurasi yang diperlukan pada perhitungan yang kamu lakukan. Setelah itu, kamu dapat melakukan pembulatan pada hasil kalkulasi floating point sesuai kebutuhan. Jika hal itu tidak cukup untuk memenuhi kebutuhan (misalnya ketika bilangan dengan presisi sangat tinggi diperlukan), kamu bisa memanfaatkan library seperti: mpmath, SymPy ( Python), GMP, Arb (C), dan BigDecimal (Java). Kesimpulan Dalam kesehariannya, seorang programmer sehebat apa pun tidak akan terbebas dari bug. Oleh karena itu, sebagai programmer perlu untuk memahami berbagai jenisnya sehingga ketika menemui kasusnya di kehidupan nyata, kita bisa mengambil keputusan yang tepat untuk mengatasi bug tersebut. Selain mengatasi, kita juga harus dapat mencegah bug terjadi dengan  sebisa mungkin untuk meminimalisasi kemungkinan terjadinya bug melalui pengujian yang komprehensif dan juga penggunaan alat bantu seperti Intellisense dan Linter. Jadi buat kawan-kawan yang mau mempelajari tentang python dari dasar kalian bisa mengikuti kelasnya di BuildWithAngga yaitu Kelas Online Gratis Python Pemrograman Dasar Kalian bisa akses kelasnya secara gratiss lohhh. Oke sekian penjelasan tentang Tipe Bug dan Error serta Cara Mengatasi dan Mencegahnya , kalian bisa kembali untuk menguliknya sendiri tentunya. Semoga bermanfaat buat kalian.

Kelas 10 Package Laravel untuk Website Developer di BuildWithAngga

10 Package Laravel untuk Website Developer

Hai Sobat BWA!🙌 Hingga saat ini, Laravel masih banyak menjadi pilihan para web developer sebagai framework yang mudah digunakan dan mempunyai banyak fitur. Selain banyaknya fitur yang dipunya, Laravel juga menyediakan banyak pilihan package yang dapat kita gunakan agar proses web development lebih mudah, gampang, dan fungsionalitas aplikasi dapat ditingkatkan. Package dalam Laravel dapat diibaratkan seperti kotak peralatan yang berisi alat-alat khusus dan mempunyai fungsi masing-masing yang dapat disesuaikan sesuai dengan development task. Package ini juga dapat menghemat waktu kita sebagai developer karena kita tidak perlu membangun semuanya dari awal, sehingga kita dapat fokus pada fitur-fitur aplikasi website yang akan dibuat. Package pada Laravel hadir dalam dua kategori utama yaitu sebagai berikut: Framework-Independent: Package ini dirancang khusus untuk Laravel dengan memanfaatkan fitur dan arsitektur Laravel untuk menyediakan fungsionalitas yang disesuaikan dengan LaravelFramework-Spesific: Package ini tidak terikat dengan Laravel dan dapat digunakan dalam proyek PHP apapun, dengan framework apapun Setelah mengetahui tentang pengertian package pada Laravel, selanjutnya kita akan membahas tentang rekomendasi package Laravel yang dapat kalian gunakan untuk mempermudah proses website development. Simak artikel berikut sampai habis ya! 1. Laravel DebugBar Bug merupakan suatu hal yang sering kita temui pada pemrograman dan seringkali kita kesulitan untuk menemukannya. Dengan adanya package ini, kita dapat mengidentifikasi bug dengan mudah. Laravel Debugbar dapat menampilkan semua query database, menampilkan log, hingga event yang digunakan selama permintaan dan waktu eksekusi masing-masing event. Fitur lain dari package ini adalah sebagai berikut: Log Messages: Menampilkan semua catatan log aplikasi seperti info, peringatan, error, dll yang berguna untuk melacak apapun yang terjadi selama proses developmentRoute: Laravel Debugbar juga menyajikan informasi tentang route yan ditangani oleh aplikasi Laravel, termasuk nama route, metode HTTP, path, dan handlerView: Menampilkan daftar view yang dimuat selama proses permintaan, serta waktu yang dibutuhkan untuk membangun masing-masing viewRequest dan Response: Menyajikan informasi tentang permintaan HTTP yang diterima dan respon yang dihasilkanTimeline: Menampilkan visualisasi waktu eksekusi berbagai komponen aplikasi, membantu developer memahami di mana waktu sebagian besar dihabiskan selama proses permintaan 2. Laravel User Verification Package Laravel User Verification ini membantu kita ketika akan menggunakan verifikasi dan validasi email yang dikirim ke pengguna. Dengan menggunakan package ini, penyesuaian template email, verification logic, dan user experience akan lebih fleksibel karena dapat disesuaikan dengan kebutuhan aplikasi kita. Selain itu, package ini juga terintegrasi langsung dengan sistem autentikasi dan notifikasi Laravel sehingga penggunannya akan lebih cepat dan efisien. Fitur-fitur yang terdapat pada package ini adalah: Verifikasi Email: Laravel menyediakan metode untuk mengirimkan email verifikasi kepada pengguna secara otomatis setelah pendaftaran berhasilOpsi Verifikasi Nomor Telepon: Selain verifikasi email, Laravel juga mendukung verifikasi nomor telepon dengan menggunakan kode verifikasiKustomisasi: Developer dapat dengan mudah menyesuaikan tampilan email verifikasi dan pesan yang dikirim kepada penggunaKadaluarsa Tautan: Tautan verifikasi yang dikirimkan ke pengguna memiliki waktu kadaluarsa untuk meningkatkan keamanan 3. Laravel Socialite Package ini merupakan salah satu package yang dikembangkan oleh tim Laravel sendiri. Laravel Socialite adalah sebuah package yang disediakan oleh Laravel untuk menyederhanakan proses autentikasi pengguna dengan penyedia layanan pihak ketiga seperti Facebook, Twitter, Google, GitHub, dan banyak lagi. Socialite terintegrasi dengan sistem autentikasi Laravel dan menangani kompleksitas OAuth. Fitur utama dari Laravel Socialite adalah sebagai berikut: Otentikasi dengan Berbagai Penyedia: Socialite mendukung berbagai penyedia layanan pihak ketiga seperti Facebook, Twitter, Google, GitHub, LinkedIn, dan banyak lagi. Ini memungkinkan pengguna untuk masuk ke aplikasi menggunakan akun media sosial mereka yang sudah adaAutentikasi OAuth: Socialite menggunakan protokol OAuth untuk berkomunikasi dengan penyedia layanan pihak ketiga. Hal ini memungkinkan aplikasi yang kita buat untuk mengakses data pengguna dari platform media sosial tanpa perlu menyimpan kata sandi penggunaKonfigurasi yang Mudah: Kita dapat dengan mudah mengonfigurasi Socialite dengan informasi kredensial aplikasi yang kita dapatkan dari penyedia layanan pihak ketiga termasuk mengatur kunci API, rahasia klien, dan URL callbackSederhana dan Mudah Digunakan: Socialite dirancang agar mudah diimplementasikan dan memiliki API yang intuitif. Ini membuatnya mudah untuk mengintegrasikan otentikasi media sosial ke dalam aplikasi Laravel dengan sedikit kode 4. Laravel Backup Laravel Backup adalah sebuah package yang memungkinkan kita untuk melakukan backup dan restore data pada aplikasi Laravel dengan mudah. Kita dapat membuat snapshot lengkap sebuah proyek dengan satu perintah, termasuk file dan database. Hal ini dapat menyederhanakan proses pencadangan dan menjaga aplikasi tetap aman dan terlindungi. Package ini sangat kita butuhkan karena sesuatu yang tidak memungkinkan pasti dapat terjadi pada proyek kita sehingga dengan adanya package ini kita dapat melakukan backup proyek dengan fiturnya yang otomatis. Beberapa fitur utama pacakge ini adalah: Backup Berkala: Kita dapat mengatur jadwal untuk membuat backup otomatis dari database dan file-file aplikasi kitaRestore Mudah: Package ini menyediakan perintah CLI untuk mengembalikan data dari backup dengan mudahCompression dan Encryption: Package ini mendukung kompresi dan enkripsi data backup untuk menjaga keamanan dan efisiensi penyimpanan 5. Laravel Migrations Generator Laravel Migrations Generator adalah sebuah package yang bisa membantu kita saat akan menggunakan migration pada Laravel. Kita tidak perlu membuat migrasi database secara manual karena dengan package ini skema database yang ada akan dianalisis dan secara otomatis menghasilkan file migrasi. Fitur dari package ini yaitu menghasilkan migrasi dari database yang telah ada, yang kemudian dapat digunakan untuk mereplikasi struktur database pada software environment atau production lainnya secara otomatis. Hal ini akan sangat membantu dalam pengembangan dan pengelolaan aplikasi Laravel yang kompleks. 6. Laravel Eloquent Sluggable Package Laravel Eloquent Sluggable adalah sebuah package yang dapat membantu kita dalam membuat URL yang SEO friendly secara otomatis dari atribut model tertentu. Fitur dari package ini memungkinkan kita untuk membuat slug (bagian URL yang SEO friendly) berdasarkan nilai atribut model, seperti judul. Dengan menggunakan package ini, kita dapat menghasilkan slug yang unik dan secara otomatis meng-update slug ketika atribut yang mendasarinya berubah. Ini sangat berguna untuk meningkatkan SEO dan kenyamanan pengguna dalam sebuah aplikasi Laravel. 7. IDE Helper Package Laravel IDE Helper adalah alat yang membantu dalam proses development dengan Laravel di lingkungan pengembangan terintegrasi (IDE). Dengan menggunakan package ini, akan dihasilkan file PHP yang memuat semua informasi untuk auto-complete dan hint class saat bekerja di IDE seperti PhpStorm, VSCode, atau Sublime Text. Hal ini akan memudahkan developer dalam menavigasi dan menulis kode dengan lebih cepat dan akurat. Fitur-fitur dari IDE Helper adalah sebagai berikut: Peningkatan produktivitas: Membantu meningkatkan produktivitas pengembangan dengan menyediakan informasi yang lebih lengkap tentang kelas dan metode dalam LaravelAuto-completion: Memungkinkan auto-complete untuk metode, properti, dan konstanta Laravel pada IDENavigasi cepat: Memungkinkan kita untuk melompat dengan cepat antara kelas, metode, dan properti Laravel menggunakan fungsi navigasi IDEIntegrasi IDE: Kompatibel dengan berbagai IDE populer seperti PhpStorm, VSCode, Sublime Text, dan lainnya 8. Laravel Entrust Package Laravel Entrust adalah sebuah package yang digunakan untuk mengelola peran dan izin pengguna dalam aplikasi Laravel. Hal ini memastikan pengguna hanya mengakses fungsi yang relevan dengan peran mereka, sehingga meningkatkan keamanan aplikasi kita. Fitur-fitur dari Laravel Entrust adalah sebagai berikut: Manajemen Peran: Laravel Entrust memungkinkan Anda untuk mendefinisikan peran-peran yang berbeda dalam aplikasi Anda, seperti admin, pengguna biasa, atau moderatorManajemen Izin: Anda dapat menetapkan izin-izin tertentu kepada peran-peran yang ada, seperti izin untuk mengakses halaman tertentu, melakukan tindakan tertentu, atau mengelola konten tertentuAutentikasi: Laravel Entrust bekerja dengan baik dengan sistem autentikasi Laravel bawaan, sehingga kita dapat dengan mudah mengintegrasikannya dengan sistem login dan otentikasi yang sudah adaMiddleware: Package ini menyediakan middleware yang memungkinkan kita untuk membatasi akses ke rute-rute tertentu berdasarkan peran atau izin pengguna 9. Voyager Laravel Voyager adalah sebuah package admin untuk Laravel yang dapat kita gunakan untuk membuat user interface admin dengan cepat tanpa menulis kode dari awal. Fitur-fiturnya termasuk manajemen database, CRUD generator, manajemen media, manajemen pengguna dan peran, serta user interface yang responsif dan mudah digunakan. Ini mempercepat pengembangan aplikasi web dengan menyediakan alat administrasi yang lengkap secara otomatis. 10. Laravel Telescope Laravel Telescope adalah sebuah alat debug dan monitoring yang kuat untuk aplikasi Laravel. Package ini menyediakan insight mendalam ke dalam eksekusi permintaan HTTP, queue, task, panggilan database, notifikasi, cache, dan hampir semua aspek dari aplikasi Laravel. Beberapa fitur utama dari package ini termasuk penelusuran permintaan HTTP, penelusuran dan penyaringan log, penelusuran dan analisis panggilan database, penelusuran aktivitas cache, serta penelusuran antrian dan pekerjaan. Package ini akan sangat membantu dalam mengidentifikasi masalah kinerja dan debug di aplikasi Laravel. Kesimpulan 10 package Laravel yang telah disebutkan di atas dapat kalian pilih sesuai dengan kebutuhan. Package tersebut tentunya akan sangat berguna dalam proses development. Kita dapat menggunakan Laravel Debugbar dan Laravel Telescope untuk menganalisis bug yang ada. Lalu Laravel User Verification untuk membantu kita dalam mengirim verifikasi email, Laravel Socialite untuk memudahkan proses autentikasi pengguna, dan Laravel Backup yang dapat digunakan untuk melakukan back up sebuah proyek. Selain itu, ketika kita ingin melakukan migrasi pada Laravel, kita dapat menggunakan package Laravel Migrations Generator. Dan beberapa package lain yang telah disebutkan di atas seperti Laravel Entrust untuk melakukan manajemen role, Laravel Voyager yang menyediakan template admin, dan Laravel Eloquent Sluggable untuk membuat URL yang SEO friendly. Semoga artikel ini dapat bermanfaat ya! Dan bagi kalian yang tertarik untuk mempelajari lebih lanjut tentang Laravel, kalian bisa mempelajarinya secara gratis melalui BuildWithAngga loh! Jangan lupa kepoin kelas-kelasnya ya! Sampai jumpa di artikel selanjutnya🙌 Kelas Online Gratis Eloquent ORM Laravel