Practicum Archive

Laporan Praktikum

Kumpulan laporan praktikum berdasarkan mata kuliah. Pilih kategori mata kuliah, lalu buka detail laporan untuk membaca pendahuluan, tujuan, tools, hasil, dan dokumentasi pendukung.

04 Laporan awal
01 Pemrograman Web
Praktikum Laravel: Routing, View, dan Controller

Pengenalan struktur Laravel, konsep MVC, routing dasar, dan pembuatan halaman sederhana.

Laravel MVC PHP
02 Pemrograman Web
Praktikum Laravel: Migration, Seeding, Routing, Model, Controller, dan View

Pembahasan lanjutan Laravel tentang pengelolaan database, alur data, dan penyusunan fitur berbasis MVC.

Laravel Migration Seeding
03 Pemrograman Web
Praktikum Laravel Relationship

Pembahasan relasi database Laravel, migration, model relationship, seeder, controller, view, dan query Eloquent.

Laravel Relationship Eloquent
04 OOP
Praktikum Java GUI: Aplikasi Presensi Piket

Penerapan class, object, event handling, tabel data, dan operasi CRUD pada aplikasi desktop.

Java Swing CRUD
Baca Laporan
Pilih salah satu laporan

Tekan tombol Baca Laporan pada card untuk membuka detail praktikum.

Pemrograman Web

Praktikum Laravel: Routing, View, dan Controller

Ringkasan laporan praktikum tentang pengenalan Laravel sebagai framework PHP berbasis arsitektur MVC.

  1. Pendahuluan

    Laravel merupakan salah satu framework PHP yang banyak digunakan dalam pengembangan aplikasi berbasis web. Framework ini mendukung konsep arsitektur MVC atau Model-View-Controller, sehingga proses pengembangan aplikasi menjadi lebih terstruktur, rapi, dan mudah dikelola.

    Pada praktikum ini, mahasiswa diperkenalkan dengan Laravel mulai dari pemahaman dasar mengenai framework Laravel, kebutuhan perangkat lunak yang digunakan, struktur dasar project Laravel, hingga konsep MVC yang menjadi dasar utama dalam pengembangan aplikasi menggunakan Laravel.

  2. Tujuan

    • Mahasiswa mampu memahami dasar-dasar framework Laravel sebagai framework PHP untuk pengembangan aplikasi web.
    • Mahasiswa mampu mengetahui tools dan kebutuhan awal yang diperlukan untuk membuat project Laravel.
    • Mahasiswa mampu mengenal struktur dasar Laravel serta memahami konsep MVC, yaitu Model, View, dan Controller.
  3. Alat atau Tools yang Dipakai

    • Laragon atau XAMPP
    • Visual Studio Code
    • Composer
    • Git dan GitHub
    • Node JS dan NPM
  4. Langkah Pengerjaan

    Pada bagian ini dilakukan proses persiapan dan konfigurasi awal Laravel sesuai dengan modul praktikum. Tahapan pengerjaan dimulai dari pengecekan kebutuhan sistem, pembuatan project Laravel, menjalankan project, hingga mengenal struktur dasar Laravel dan konsep MVC.

    4.1 Mengecek Kebutuhan Sistem Laravel

    Sebelum membuat project Laravel, terlebih dahulu dilakukan pengecekan terhadap beberapa tools yang dibutuhkan. Laravel membutuhkan PHP, Composer, Git, Node JS, dan NPM agar proses pembuatan serta pengembangan project dapat berjalan dengan baik.

    Bisa dilihat pada gambar untuk bagaimana cara mengecek kebutuhan system dari Laravel.

    Screenshot pengecekan versi PHP Composer Git Node JS dan NPM
    Pengecekan versi PHP, Composer, Git, Node JS, dan NPM melalui terminal.

    Setelah perintah tersebut dijalankan, terminal akan menampilkan versi dari masing-masing tools. Jika seluruh tools sudah menampilkan versi, maka tools tersebut sudah berhasil terpasang dan dapat digunakan.

    4.2 Membuat Project Laravel

    Setelah semua kebutuhan sistem terpenuhi, langkah selanjutnya adalah membuat project Laravel. Pada praktikum ini, project Laravel dapat dibuat menggunakan Composer atau Laravel Installer.

    Gunakan perintah composer create-project laravel/laravel:^12 PraktWeb1 --prefer-dist.

    Screenshot perintah composer create project Laravel
    Proses awal pembuatan project Laravel menggunakan Composer.
    Screenshot proses instalasi dependensi Laravel selesai
    Proses instalasi package, generate application key, dan migration awal Laravel.
    4.3 Masuk ke Folder Project

    Setelah project berhasil dibuat, langkah berikutnya adalah masuk ke dalam folder project menggunakan perintah cd PraktWeb1.

    4.4 Menjalankan Project Laravel

    Untuk menjalankan project Laravel, digunakan perintah Artisan php artisan serve. Setelah perintah dijalankan, Laravel akan menjalankan server lokal. Biasanya aplikasi dapat diakses melalui browser dengan alamat http://127.0.0.1:8000. Jika berhasil, maka halaman awal Laravel akan tampil pada browser.

    Screenshot halaman awal Laravel dan terminal php artisan serve
    Project Laravel berhasil dijalankan pada server lokal melalui perintah php artisan serve.
    4.5 Menampilkan Halaman Hello World

    Setelah project Laravel berhasil dijalankan, langkah berikutnya adalah mencoba menampilkan halaman sederhana. Hal ini dilakukan untuk memastikan bahwa routing dan tampilan pada Laravel dapat berjalan dengan baik.

    Route sederhana dapat dibuat untuk menampilkan teks Hello World pada browser.

    Screenshot route hello world pada file web php
    Penambahan route /hello pada file routes/web.php.
    Screenshot hasil halaman hello world di browser
    Hasil tampilan halaman /hello pada browser.
    4.6 Challenge
    • Buat controller, beri nama UserController.
    • Di dalam controller, buat sebuah function dengan nama index.
    • Buat view di dalam folder resources dengan struktur user/index.
    • Dalam file index, buat tampilan HTML sederhana.
    • Buatkan routing /user menggunakan view tersebut.
    Screenshot kode userController php
    Pembuatan controller userController dengan function index.
    Screenshot file index blade php untuk halaman user
    Pembuatan view resources/views/user/index.blade.php.
    Screenshot route user pada file web php
    Penambahan route /user yang mengarah ke userController.
    Screenshot hasil halaman user di browser
    Hasil tampilan halaman /user pada browser.
  5. Kesimpulan

    Praktikum ini memberikan pemahaman awal mengenai alur kerja Laravel dan bagaimana routing, view, serta controller saling terhubung dalam membangun halaman web yang terstruktur.

Source Archive

Repository Praktikum

Kode dan arsip project dapat dibuka melalui repository GitHub berikut.

Buka GitHub
Pemrograman Web

Praktikum Laravel: Migration, Seeding, Routing, Model, Controller, dan View

Ringkasan laporan praktikum tentang pengelolaan database dan pembuatan fitur web Laravel menggunakan alur MVC.

  1. Pendahuluan

    Laravel merupakan salah satu framework PHP yang digunakan dalam pengembangan aplikasi web secara terstruktur. Laravel menerapkan konsep MVC atau Model-View-Controller, yaitu pemisahan alur kerja aplikasi menjadi tiga bagian utama. Model digunakan untuk berinteraksi dengan database, View digunakan untuk menampilkan halaman kepada pengguna, sedangkan Controller digunakan untuk mengatur logika aplikasi dan menghubungkan Model dengan View.

    Pada praktikum ini, pembahasan difokuskan pada beberapa konsep penting dalam pengembangan aplikasi Laravel, yaitu migration, seeding, routing, model, controller, dan view. Migration digunakan untuk membuat serta mengelola struktur tabel database melalui kode program. Seeding digunakan untuk mengisi data awal ke dalam database. Selain itu, routing digunakan untuk menentukan alamat URL aplikasi, model digunakan untuk mengelola data dari database, controller digunakan untuk mengatur proses aplikasi, dan view digunakan untuk menampilkan data ke halaman web.

    Praktikum dilakukan dengan bantuan XAMPP sebagai server lokal dan pengelola database MySQL. Melalui praktikum ini, mahasiswa dapat memahami hubungan antara database dan aplikasi Laravel, mulai dari konfigurasi database, pembuatan tabel menggunakan migration, pengisian data awal menggunakan seeder, pengambilan data menggunakan model, pengaturan controller, hingga menampilkan data melalui view.

  2. Tujuan

    • Mahasiswa mampu memahami penggunaan migration untuk membuat dan mengelola struktur tabel database pada Laravel.
    • Mahasiswa mampu memahami penggunaan seeding untuk mengisi data awal ke dalam database.
    • Mahasiswa mampu menerapkan konsep Model, View, Controller, dan Routing dalam pengembangan aplikasi Laravel.
    • Mahasiswa mampu menampilkan data dari database ke halaman web menggunakan Model, Controller, dan Blade View.
    • Mahasiswa mampu membangun dasar fitur CRUD sederhana, yaitu menambahkan, menampilkan, mengubah, dan menghapus data.
  3. Alat atau Tools yang Dipakai

    • Laragon atau XAMPP
    • Visual Studio Code
    • Composer
    • Git
    • Node JS
    • NPM
    • GitHub
  4. Langkah Pengerjaan

    Pada bagian ini dilakukan proses konfigurasi database dan pembuatan struktur tabel menggunakan fitur migration pada Laravel. Setelah tabel berhasil dibuat, proses dilanjutkan dengan pembuatan seeder untuk mengisi data awal ke dalam database. Praktikum ini menggunakan XAMPP sebagai server lokal dan MySQL sebagai database.

    4.1 Konfigurasi Database

    Langkah pertama yang dilakukan adalah mengaktifkan Apache dan MySQL melalui XAMPP Control Panel. Apache digunakan untuk menjalankan server lokal, sedangkan MySQL digunakan sebagai database pada project Laravel.

    Setelah MySQL aktif, buka phpMyAdmin melalui browser dengan alamat http://localhost/phpmyadmin. Kemudian buat database baru dengan nama praktikum_laravel. Database ini akan digunakan untuk menyimpan tabel dan data yang dibuat melalui Laravel.

    Pembuatan database praktikum laravel di phpMyAdmin
    Pembuatan database praktikum_laravel melalui phpMyAdmin.

    Setelah database dibuat, langkah berikutnya adalah membuka file .env pada project Laravel. Pada file tersebut, bagian konfigurasi database diubah agar project Laravel dapat terhubung dengan database yang sudah dibuat sebelumnya.

    Konfigurasi yang digunakan adalah DB_CONNECTION=mysql, DB_HOST=127.0.0.1, DB_PORT=3306, DB_DATABASE=praktikum_laravel, DB_USERNAME=root, dan DB_PASSWORD=. Pada XAMPP, username database biasanya menggunakan root, sedangkan password dikosongkan.

    Konfigurasi database Laravel pada file env
    Konfigurasi koneksi database pada file .env.
    4.2 Membuat Migration Table Products

    Setelah konfigurasi database selesai, langkah berikutnya adalah membuat migration. Migration digunakan untuk membuat dan mengelola struktur tabel database melalui kode program. Dengan migration, pembuatan tabel dapat dilakukan langsung dari Laravel tanpa harus membuat tabel secara manual melalui phpMyAdmin.

    Untuk membuat migration tabel products, digunakan perintah php artisan make:migration create_products_table pada terminal. Setelah perintah dijalankan, Laravel akan membuat file migration baru di dalam folder database/migrations.

    File migration create products table di folder migrations
    File migration create_products_table berhasil dibuat pada folder migrations.
    4.3 Mengisi Struktur Tabel pada Migration

    Setelah file migration berhasil dibuat, langkah berikutnya adalah mengatur struktur tabel pada file migration tersebut. File migration yang dibuat digunakan untuk menentukan kolom apa saja yang akan ada di dalam tabel products.

    Pada bagian function up(), ditambahkan struktur tabel seperti id, name, price, description, created_at, dan updated_at. Kolom-kolom tersebut digunakan untuk menyimpan data produk yang nantinya akan ditampilkan pada halaman web.

    Kode struktur tabel products pada function up
    Struktur tabel products dituliskan pada function up().

    Selanjutnya, pada bagian function down(), dituliskan perintah Schema::dropIfExists('products'). Function down() digunakan untuk menghapus tabel jika migration dibatalkan atau dilakukan rollback.

    Kode function down untuk menghapus tabel products
    Function down() digunakan untuk menghapus tabel ketika migration di-rollback.
    4.4 Menjalankan Migration

    Setelah struktur tabel selesai dibuat pada file migration, langkah berikutnya adalah menjalankan migration. Perintah yang digunakan adalah php artisan migrate. Perintah tersebut digunakan untuk menjalankan file migration yang sudah dibuat, sehingga tabel products secara otomatis terbentuk pada database praktikum_laravel.

    Untuk memastikan tabel berhasil dibuat, database dapat dicek melalui phpMyAdmin. Jika berhasil, maka tabel products akan muncul di dalam database.

    Tabel products berhasil terbentuk di database
    Tabel products berhasil terbentuk pada database setelah migration dijalankan.
    4.5 Membuat Seeder

    Setelah tabel berhasil dibuat, langkah selanjutnya adalah membuat seeder. Seeder berfungsi untuk mengisi data awal ke dalam database. Dengan menggunakan seeder, data contoh dapat dimasukkan ke tabel tanpa harus menambahkannya secara manual melalui phpMyAdmin.

    Untuk membuat seeder ProductSeeder, digunakan perintah php artisan make:seeder ProductSeeder. Setelah perintah dijalankan, file seeder akan dibuat pada folder database/seeders.

    File ProductSeeder php pada folder seeders
    File ProductSeeder.php berhasil dibuat pada folder seeders.
    4.6 Mengisi Data pada ProductSeeder

    Setelah file ProductSeeder dibuat, langkah berikutnya adalah mengisi data awal yang akan dimasukkan ke dalam tabel products. Isi file ProductSeeder dapat ditulis dengan menggunakan perintah insert ke tabel products.

    Data yang dimasukkan berupa contoh produk, seperti Laptop dan Mouse. Masing-masing data berisi nama produk, harga, deskripsi, serta waktu pembuatan dan pembaruan data. Data tersebut nantinya akan tersimpan di database setelah seeder dijalankan.

    Kode pengisian data awal produk pada ProductSeeder
    Kode pengisian data awal produk pada file ProductSeeder.php.
    4.7 Memanggil ProductSeeder pada DatabaseSeeder

    Agar ProductSeeder dapat dijalankan, seeder tersebut perlu dipanggil terlebih dahulu pada file DatabaseSeeder.php. Pada bagian function run(), ditambahkan pemanggilan $this->call(ProductSeeder::class).

    Kode tersebut digunakan untuk memberi tahu Laravel bahwa ProductSeeder adalah seeder yang akan dijalankan ketika proses seeding dilakukan.

    Pemanggilan ProductSeeder pada DatabaseSeeder
    Pemanggilan ProductSeeder pada file DatabaseSeeder.php.
    4.8 Menjalankan Seeder

    Setelah seeder dipanggil pada file DatabaseSeeder, langkah berikutnya adalah menjalankan seeder. Perintah yang digunakan adalah php artisan db:seed. Perintah tersebut digunakan untuk memasukkan data awal ke dalam tabel products.

    Setelah perintah seeder dijalankan, data dapat dicek melalui phpMyAdmin pada tabel products. Jika berhasil, maka data produk seperti Laptop dan Mouse akan muncul pada tabel tersebut.

    Data produk berhasil masuk ke tabel products
    Data awal produk berhasil masuk ke tabel products setelah seeder dijalankan.
    4.9 Membuat Routing

    Setelah proses migration dan seeding selesai, langkah berikutnya adalah membuat routing. Routing digunakan untuk menentukan alamat URL yang dapat diakses oleh pengguna, serta menentukan respon apa yang akan ditampilkan oleh aplikasi.

    Pada Laravel, routing untuk halaman web berada pada file web.php yang terdapat di dalam folder routes. File ini menjadi tempat untuk mendefinisikan hubungan antara URL dan proses yang dijalankan oleh aplikasi.

    4.10 Routing Dasar

    Routing dasar digunakan untuk menampilkan respon sederhana ketika sebuah URL diakses. Contohnya, ketika pengguna membuka halaman utama, Laravel dapat menampilkan teks atau halaman tertentu sebagai respon.

    Kode routing dasar dapat dituliskan pada file routes/web.php. Setelah server Laravel dijalankan dengan perintah php artisan serve, halaman dapat dibuka melalui alamat http://127.0.0.1:8000.

    Kode routing dasar pada file web php
    Kode routing dasar dituliskan pada file web.php.
    Hasil tampilan routing dasar di browser
    Hasil tampilan routing dasar ketika URL diakses melalui browser.
    4.11 Routing Parameter

    Routing parameter digunakan untuk menangkap nilai tertentu dari URL. Parameter ini biasanya digunakan ketika ingin menampilkan data berdasarkan id atau kode tertentu.

    Contohnya, route /produk/{id} dapat digunakan untuk menangkap nilai id produk. Jika pengguna membuka alamat /produk/1, maka Laravel akan mengambil nilai 1 dari URL dan menampilkannya sebagai bagian dari respon.

    Kode routing parameter produk id
    Contoh routing parameter untuk menangkap nilai id dari URL.
    Hasil tampilan routing parameter produk id di browser
    Nilai parameter dari URL berhasil ditampilkan pada browser.
    4.12 Named Route

    Named route digunakan untuk memberikan nama pada sebuah route. Dengan named route, pemanggilan URL dapat dilakukan menggunakan nama route, bukan langsung menuliskan alamat URL secara lengkap.

    Hal ini dapat membantu ketika route digunakan pada banyak bagian aplikasi. Jika alamat URL berubah, bagian lain yang menggunakan nama route tetap lebih mudah disesuaikan.

    Contoh kode named route dashboard
    Contoh named route dengan nama dashboard.
    4.13 Route Group

    Route group digunakan untuk mengelompokkan beberapa route yang memiliki awalan URL yang sama. Dengan menggunakan route group, penulisan route menjadi lebih rapi dan tidak perlu mengulang awalan URL berkali-kali.

    Contohnya, beberapa route yang berada di bawah awalan /admin dapat dimasukkan ke dalam satu group. Dengan begitu, route seperti dashboard dan products dapat dikelola dalam kelompok route yang sama.

    Contoh kode route group dengan prefix admin
    Contoh route group dengan prefix admin.
    4.14 Membuat Model Product

    Setelah memahami routing, langkah berikutnya adalah membuat model. Model digunakan untuk berinteraksi dengan database. Pada Laravel, model bekerja dengan Eloquent ORM sehingga proses mengambil, menambahkan, mengubah, dan menghapus data dari database dapat dilakukan dengan lebih mudah.

    Untuk membuat model Product, digunakan perintah php artisan make:model Product. Model ini nantinya digunakan untuk mengambil data dari tabel products.

    4.15 Mengatur Isi Model Product

    Setelah file Product.php dibuat, langkah berikutnya adalah mengatur model agar dapat digunakan untuk mengelola data pada tabel products. Pada model, dapat ditentukan kolom yang boleh diisi secara massal menggunakan properti $fillable.

    Kolom yang dapat dimasukkan ke dalam $fillable antara lain name, price, dan description. Dengan pengaturan ini, Laravel mengetahui data apa saja yang boleh diproses melalui model Product.

    Kode model Product dengan properti fillable
    Pengaturan model Product dengan properti $fillable.
    4.16 Membuat Folder Layout

    Langkah pertama dalam membuat Blade Layout adalah membuat folder baru di dalam folder resources/views. Folder tersebut diberi nama layouts. Folder ini digunakan untuk menyimpan file layout utama yang dapat digunakan oleh beberapa halaman view.

    4.17 Membuat File app.blade.php

    Setelah folder layout dibuat, langkah berikutnya adalah membuat file app.blade.php. File ini berfungsi sebagai template utama untuk tampilan aplikasi. Di dalam file ini terdapat struktur HTML dasar seperti html, head, dan body.

    Pada bagian tertentu digunakan directive Blade seperti @yield('title') dan @yield('content'). Bagian @yield('title') digunakan sebagai tempat untuk menampilkan judul halaman, sedangkan @yield('content') digunakan sebagai tempat untuk menampilkan isi utama dari halaman.

    Kode file layout utama app blade php
    File layout utama app.blade.php sebagai template dasar tampilan.
    4.18 Menggunakan Layout pada View Products

    Setelah layout utama dibuat, langkah berikutnya adalah menggunakan layout tersebut pada view products. Pada bagian atas file view, dituliskan @extends('layouts.app') untuk menggunakan layout utama.

    Selanjutnya, @section('title', 'Products') digunakan untuk mengisi judul halaman, sedangkan @section('content') digunakan untuk menulis isi utama halaman. Dengan cara ini, file products tidak perlu menuliskan struktur HTML lengkap karena struktur utama sudah diambil dari file layout.

    Kode view products menggunakan layout app blade
    View products menggunakan layout utama dengan @extends dan @section.
    4.19 Menampilkan Data Produk Menggunakan Blade

    Untuk menampilkan data produk dari database, digunakan perulangan Blade. Data produk yang dikirim dari controller dapat ditampilkan menggunakan @foreach. Setiap data produk kemudian ditampilkan pada halaman, misalnya nama produk, harga, dan deskripsi.

    Dengan menggunakan Blade, proses menampilkan data menjadi lebih sederhana karena Laravel menyediakan sintaks khusus untuk menulis logika tampilan di dalam file view.

    Kode perulangan Blade untuk menampilkan data produk
    Perulangan Blade digunakan untuk menampilkan data produk dari database.
    4.20 Tugas

    Pada bagian tugas, dibuat fitur CRUD sederhana untuk data mahasiswa. Langkah pertama adalah membuat database baru melalui phpMyAdmin, kemudian mengatur koneksi database pada file .env. Setelah koneksi berhasil, dibuat model mahasiswa, migration untuk tabel mahasiswa, seeder data awal, route, controller, dan view untuk mengelola data.

    Pembuatan database db mahasiswa di phpMyAdmin
    Pembuatan database baru untuk data mahasiswa melalui phpMyAdmin.
    Konfigurasi database mahasiswa pada file env
    Konfigurasi koneksi database mahasiswa pada file .env.

    Setelah database terhubung, dibuat model Mahasiswa pada folder app/Models. Pada model tersebut, properti $fillable diisi dengan kolom nim, nama, dan jurusan agar data dapat diproses secara massal.

    Kode model Mahasiswa dengan fillable nim nama jurusan
    Pengaturan model Mahasiswa dengan kolom nim, nama, dan jurusan.

    Selanjutnya, dibuat file migration untuk menyusun struktur tabel mahasiswa. Migration dibuat melalui terminal, kemudian struktur tabel diatur pada file migration yang telah dibuat. Kolom yang digunakan antara lain nim, nama, dan jurusan.

    Perintah membuat migration create mahasiswas table
    Perintah untuk membuat file migration tabel mahasiswa.
    Kode migration tabel mahasiswa
    Struktur tabel mahasiswa dituliskan pada file migration.

    Setelah struktur tabel selesai dibuat, migration dijalankan menggunakan perintah php artisan migrate. Jika berhasil, tabel mahasiswa akan dibuat di dalam database sesuai struktur yang sudah ditentukan.

    Perintah php artisan migrate pada terminal
    Perintah php artisan migrate dijalankan melalui terminal.
    Hasil migration berhasil dijalankan
    Migration berhasil dijalankan dan tabel berhasil dibuat.

    Setelah tabel dibuat, dibuat seeder dengan nama MahasiswaSeeder. Seeder ini digunakan untuk memasukkan data akademik sebagai data awal. Agar seeder dapat dijalankan, MahasiswaSeeder dipanggil pada file DatabaseSeeder.php, kemudian dijalankan menggunakan perintah php artisan db:seed.

    Perintah membuat MahasiswaSeeder
    Perintah untuk membuat file MahasiswaSeeder.
    Kode MahasiswaSeeder untuk data awal mahasiswa
    Kode MahasiswaSeeder berisi data awal mahasiswa.
    Pemanggilan MahasiswaSeeder pada DatabaseSeeder
    MahasiswaSeeder dipanggil pada file DatabaseSeeder.php.
    Hasil perintah db seed berhasil
    Seeder dijalankan sehingga data awal mahasiswa masuk ke database.

    Setelah data awal siap, dibuat route resource pada file web.php dengan controller MahasiswaController. Controller ini berisi beberapa method utama, yaitu index untuk menampilkan data, create untuk membuka form tambah data, store untuk menyimpan data baru, edit untuk membuka form edit, update untuk memperbarui data, dan destroy untuk menghapus data.

    Route resource mahasiswa pada file web php
    Route resource mahasiswa ditambahkan pada file web.php.
    Kode awal MahasiswaController
    Bagian awal MahasiswaController untuk menampilkan, membuat, dan menyimpan data.
    Kode update dan delete pada MahasiswaController
    Method update dan destroy digunakan untuk mengubah dan menghapus data mahasiswa.

    Kemudian dibuat beberapa file view di dalam folder resources/views/mahasiswa, yaitu index.blade.php, create.blade.php, dan edit.blade.php. Halaman index digunakan untuk menampilkan daftar mahasiswa, halaman create digunakan untuk menambah data, sedangkan halaman edit digunakan untuk mengubah data yang sudah ada.

    Kode view index mahasiswa
    View index.blade.php digunakan untuk menampilkan daftar mahasiswa dan tombol aksi.
    Kode view create mahasiswa
    View create.blade.php digunakan untuk menambahkan data mahasiswa baru.
    Kode view edit mahasiswa
    View edit.blade.php digunakan untuk mengubah data mahasiswa.

    Output dari tugas ini adalah halaman daftar mahasiswa yang menampilkan data dari database, tombol tambah data, form tambah mahasiswa baru, form edit data mahasiswa, serta tombol untuk menghapus data. Dengan demikian, fitur CRUD sederhana berhasil dibuat menggunakan Laravel.

    Output halaman daftar mahasiswa
    Output halaman daftar mahasiswa yang menampilkan data dari database.
    Output form tambah mahasiswa baru
    Output form tambah mahasiswa baru.
    Output form edit data mahasiswa
    Output form edit data mahasiswa.
  5. Kesimpulan

    Berdasarkan praktikum yang telah dilakukan, dapat disimpulkan bahwa Laravel menyediakan fitur yang memudahkan proses pengembangan aplikasi web secara terstruktur melalui konsep MVC atau Model-View-Controller. Pada praktikum ini, mahasiswa mempelajari bagaimana menghubungkan Laravel dengan database, membuat tabel menggunakan migration, mengisi data awal menggunakan seeder, serta menampilkan data melalui model, controller, routing, dan view.

    Selain itu, praktikum ini juga memberikan pemahaman mengenai penggunaan routing untuk menentukan alamat URL pada aplikasi, penggunaan model sebagai penghubung antara aplikasi Laravel dan database, serta penggunaan controller untuk mengatur alur data dari model dan dikirimkan ke view. Dengan demikian, mahasiswa dapat memahami alur kerja Laravel mulai dari database, model, controller, route, hingga tampilan halaman.

    Penggunaan Blade Layout juga membantu dalam membuat tampilan aplikasi menjadi lebih rapi dan terstruktur. Struktur layout memungkinkan bagian HTML utama digunakan kembali pada beberapa halaman, sehingga pembuatan halaman seperti daftar data, form tambah, dan form edit menjadi lebih efisien. Materi ini menjadi dasar penting untuk membangun aplikasi CRUD sederhana pada Laravel.

Pemrograman Web

Praktikum Laravel Relationship

Ringkasan laporan praktikum tentang pembuatan relasi antar tabel pada Laravel menggunakan migration, model, seeder, controller, view, dan query Eloquent Relationship.

  1. Pendahuluan

    Laravel merupakan salah satu framework PHP yang digunakan untuk membangun aplikasi web secara lebih terstruktur dan efisien. Laravel menerapkan konsep MVC atau Model-View-Controller, sehingga proses pengolahan data, tampilan, dan logika aplikasi dapat dipisahkan dengan rapi. Selain itu, Laravel juga menyediakan fitur Eloquent ORM yang memudahkan pengembang dalam mengelola database dan relasi antar tabel.

    Pada praktikum ini, mahasiswa mempelajari konsep relationship atau relasi antar tabel dalam Laravel. Relationship digunakan untuk menghubungkan data yang saling berkaitan, seperti data mahasiswa, jurusan, dan mata kuliah. Relasi yang digunakan adalah One-to-Many, Many-to-One, dan Many-to-Many.

    Praktikum ini juga membahas pembuatan migration, model, seeder, controller, route, dan view. Migration digunakan untuk membuat struktur tabel database, model digunakan untuk mendefinisikan relasi antar data, seeder digunakan untuk mengisi data contoh, controller digunakan untuk mengatur proses pengolahan data, sedangkan view digunakan untuk menampilkan data ke halaman web.

  2. Tujuan

    • Mahasiswa mampu memahami konsep relationship atau relasi antar tabel pada Laravel.
    • Mahasiswa mampu membuat relasi One-to-Many, Many-to-One, dan Many-to-Many pada model Laravel.
    • Mahasiswa mampu membuat migration dengan foreign key dan tabel pivot untuk menghubungkan data antar tabel.
    • Mahasiswa mampu menggunakan Eloquent Relationship untuk mengambil dan mengelola data yang saling berhubungan.
    • Mahasiswa mampu membuat seeder untuk mengisi data awal pada tabel jurusan, mahasiswa, dan mata kuliah.
    • Mahasiswa mampu menampilkan data relationship ke dalam view, seperti data mahasiswa beserta jurusan, mata kuliah, dan total SKS yang diambil.
  3. Alat atau Tools yang Dipakai

    • Laragon atau XAMPP
    • Visual Studio Code
    • Composer
    • Git
    • Node JS
    • NPM
    • GitHub
  4. Langkah Pengerjaan

    Pada bagian ini dilakukan proses pembuatan sistem akademik sederhana menggunakan Laravel Relationship. Tahapan pengerjaan dimulai dari pembuatan migration untuk tabel database, pembuatan model beserta relationship, pembuatan seeder, pembuatan controller, pembuatan route, sampai pembuatan view untuk menampilkan dan menambahkan data mahasiswa.

    4.1 Membuat Migration

    Langkah pertama yang dilakukan adalah membuat migration. Migration digunakan untuk membuat struktur tabel pada database. Pada praktikum ini terdapat beberapa tabel yang dibuat, yaitu tabel majors, students, subjects, dan student_subject. Tabel-tabel tersebut saling berhubungan untuk membentuk sistem akademik sederhana.

    a. Migration untuk Tabel Majors

    Migration pertama yang dibuat adalah tabel majors. Tabel ini digunakan untuk menyimpan data jurusan mahasiswa.

    Perintah membuat migration tabel majors
    Perintah php artisan make:migration create_majors_table.
    Kode migration tabel majors
    Struktur tabel majors berisi kolom id, name, dan timestamps.

    Tabel majors berfungsi untuk menyimpan nama jurusan yang nantinya akan dihubungkan dengan tabel mahasiswa.

    b. Migration untuk Tabel Students

    Selanjutnya dibuat migration untuk tabel students. Tabel ini digunakan untuk menyimpan data mahasiswa seperti NIM, nama, alamat, dan jurusan.

    Perintah membuat migration tabel students
    Perintah php artisan make:migration create_students_table.
    Kode migration tabel students
    Struktur tabel students dengan foreign key major_id yang mengarah ke tabel majors.

    Kolom major_id digunakan sebagai foreign key untuk menghubungkan data mahasiswa dengan data jurusan. Pada bagian NIM dibuat unique agar setiap mahasiswa memiliki NIM yang berbeda.

    c. Migration untuk Tabel Subjects

    Tabel subjects digunakan untuk menyimpan data mata kuliah. Data yang disimpan meliputi nama mata kuliah dan jumlah SKS.

    Perintah membuat migration tabel subjects
    Perintah php artisan make:migration create_subjects_table.
    Kode migration tabel subjects
    Struktur tabel subjects berisi kolom name dan sks.

    d. Migration untuk Tabel Student Subject

    Migration berikutnya adalah tabel student_subject. Tabel ini merupakan tabel pivot yang digunakan untuk menghubungkan tabel students dan subjects.

    Perintah membuat migration tabel student subject
    Perintah php artisan make:migration create_student_subject_table.
    Kode migration tabel student subject
    Tabel pivot student_subject memiliki foreign key student_id dan subject_id.

    Bagian unique digunakan agar kombinasi mahasiswa dan mata kuliah tidak terduplikasi. Setelah seluruh migration selesai dibuat, migration dijalankan menggunakan perintah php artisan migrate.

    4.2 Membuat Model dengan Relationship

    Setelah tabel database dibuat, langkah berikutnya adalah membuat model. Model digunakan untuk menghubungkan aplikasi Laravel dengan tabel database. Selain itu, model juga digunakan untuk mendefinisikan relationship antar tabel.

    a. Model Major

    Model Major digunakan untuk mengelola data pada tabel majors. Pada model Major, ditambahkan properti $fillable agar kolom name dapat diisi secara massal. Relasi yang dibuat adalah students() untuk menunjukkan bahwa satu jurusan dapat memiliki banyak mahasiswa.

    Kode model Major
    Model Major dengan relationship hasMany(Student::class).

    b. Model Student

    Model Student digunakan untuk mengelola data mahasiswa. Pada model ini terdapat relationship major() untuk menghubungkan mahasiswa dengan jurusan, serta relationship subjects() untuk menghubungkan mahasiswa dengan mata kuliah.

    Kode model Student
    Model Student dengan relasi belongsTo ke jurusan dan belongsToMany ke mata kuliah.

    c. Model Subject

    Model Subject digunakan untuk mengelola data mata kuliah. Kolom yang dapat diisi adalah name dan sks. Relationship students() digunakan untuk menunjukkan bahwa satu mata kuliah dapat diambil oleh banyak mahasiswa.

    Kode model Subject
    Model Subject dengan relationship belongsToMany(Student::class).
    4.3 Membuat Seeder untuk Data Sample

    Setelah model dan relationship dibuat, langkah berikutnya adalah membuat seeder. Seeder digunakan untuk mengisi data awal ke dalam database agar aplikasi memiliki data contoh yang dapat ditampilkan.

    a. Seeder untuk Major

    MajorSeeder digunakan untuk mengisi data jurusan ke dalam tabel majors. Data jurusan yang dimasukkan adalah Teknik Informatika, Sistem Informasi, Teknik Komputer, dan Manajemen Informatika.

    Kode MajorSeeder
    Seeder untuk memasukkan data jurusan.

    b. Seeder untuk Subject

    SubjectSeeder digunakan untuk mengisi data mata kuliah ke dalam tabel subjects. Data mata kuliah yang dimasukkan terdiri dari nama mata kuliah dan jumlah SKS.

    Kode SubjectSeeder
    Seeder untuk memasukkan data mata kuliah dan jumlah SKS.

    c. Seeder untuk Student

    StudentSeeder digunakan untuk mengisi data mahasiswa ke dalam tabel students. Setelah data mahasiswa dibuat, setiap mahasiswa diberikan mata kuliah secara acak menggunakan hubungan melalui tabel pivot student_subject.

    Kode StudentSeeder
    Seeder untuk memasukkan data mahasiswa dan menghubungkannya dengan mata kuliah.

    d. Update DatabaseSeeder

    Setelah semua seeder dibuat, seluruh seeder tersebut dipanggil di dalam file DatabaseSeeder agar dapat dijalankan secara berurutan.

    Kode pemanggilan seeder pada DatabaseSeeder
    Pemanggilan MajorSeeder, SubjectSeeder, SubjectScheduleSeeder, dan StudentSeeder.
    4.4 Membuat Controller

    Setelah data dan relationship selesai dibuat, langkah berikutnya adalah membuat controller. Controller digunakan untuk mengatur proses pengambilan, penyimpanan, perubahan, dan penghapusan data mahasiswa.

    Controller yang dibuat adalah StudentController. Pada controller ini terdapat beberapa function, seperti index, show, create, store, edit, update, dan destroy.

    Kode function index pada StudentController
    Function index() mengambil data mahasiswa beserta jurusan dan mata kuliah menggunakan eager loading.
    Kode function show pada StudentController
    Function show() menampilkan detail data mahasiswa berdasarkan ID.
    Kode function create pada StudentController
    Function create() menampilkan form tambah mahasiswa beserta data jurusan dan mata kuliah.
    Kode function store pada StudentController
    Function store() menyimpan mahasiswa baru dan menghubungkan data mata kuliah yang dipilih.
    Kode sync subject pada StudentController
    Method sync() digunakan untuk memperbarui mata kuliah yang diambil mahasiswa.
    Kode detach dan delete pada StudentController
    Function destroy() melepaskan relasi mata kuliah sebelum data mahasiswa dihapus.
    4.5 Membuat Routes

    Setelah controller dibuat, langkah berikutnya adalah membuat route. Route digunakan untuk menentukan alamat URL yang akan mengarah ke controller tertentu.

    Kode route halaman utama mahasiswa
    Route halaman utama diarahkan ke students.index.
    Kode resource route students
    Resource route students menghubungkan function CRUD pada StudentController.
    4.6 Membuat Views

    Setelah controller dan route dibuat, langkah selanjutnya adalah membuat view. View digunakan untuk menampilkan data ke halaman web. Pada praktikum ini, view dibuat menggunakan Blade dan Bootstrap agar tampilan lebih rapi.

    a. Layout Utama

    Layout utama digunakan sebagai template dasar untuk halaman lainnya. Di dalam file ini terdapat struktur HTML, link Bootstrap, navbar, alert success, dan bagian @yield('content').

    Lokasi file layout app blade
    File resources/views/layouts/app.blade.php.
    Kode yield dan script bootstrap pada layout
    Bagian layout untuk menampilkan isi halaman dari view lain.

    b. Index Student

    View index digunakan untuk menampilkan data mahasiswa dalam bentuk tabel. Data yang ditampilkan meliputi NIM, nama, jurusan, mata kuliah, total SKS, dan aksi.

    Lokasi file index blade students
    File resources/views/students/index.blade.php.
    Kode view index students
    Perulangan data mahasiswa, jurusan, mata kuliah, total SKS, dan tombol aksi.

    c. Create Student

    View create adalah halaman tambah mahasiswa. Form ini berisi input NIM, nama, alamat, pilihan jurusan, dan pilihan mata kuliah.

    Lokasi file create blade students
    File resources/views/students/create.blade.php.
    Kode form action students store
    Form dikirim ke route students.store menggunakan method POST.
    Kode dropdown jurusan pada form
    Bagian jurusan ditampilkan menggunakan dropdown dari data majors.
    Kode checkbox mata kuliah pada form
    Bagian mata kuliah menggunakan checkbox karena mahasiswa dapat mengambil lebih dari satu mata kuliah.
    4.7 Latihan Query dengan Relationship

    Pada bagian latihan ini dilakukan pembuatan query menggunakan Eloquent Relationship. Query yang dibuat tidak menggunakan SQL secara langsung, tetapi menggunakan model dan relasi yang sudah dibuat sebelumnya.

    a. Menampilkan Semua Mahasiswa Beserta Jurusan dan Mata Kuliahnya

    Method with() digunakan untuk mengambil data relasi dari model Student. Relasi major digunakan untuk mengambil data jurusan mahasiswa, sedangkan relasi subjects digunakan untuk mengambil data mata kuliah yang diambil oleh mahasiswa.

    Query menampilkan semua mahasiswa dengan jurusan dan mata kuliah
    Query untuk mengambil semua mahasiswa beserta jurusan dan mata kuliah.

    b. Menampilkan Jurusan yang Memiliki Mahasiswa Terbanyak

    Method withCount('students') digunakan untuk menghitung jumlah mahasiswa pada setiap jurusan. Setelah itu data diurutkan dari jumlah mahasiswa terbanyak.

    Query jurusan dengan mahasiswa terbanyak
    Query untuk mencari jurusan yang memiliki mahasiswa terbanyak.

    c. Menampilkan Mata Kuliah yang Diambil oleh Mahasiswa Tertentu

    Query berikut mencari mahasiswa berdasarkan NIM, kemudian mengambil data mata kuliah yang berhubungan dengan mahasiswa tersebut melalui relasi subjects.

    Query mata kuliah yang diambil mahasiswa tertentu
    Query untuk mengambil mata kuliah dari mahasiswa tertentu.

    d. Menampilkan Total SKS yang Diambil Setiap Mahasiswa

    Setelah data mahasiswa dan mata kuliahnya diambil, total SKS dapat dihitung dengan menjumlahkan kolom SKS dari setiap mata kuliah yang diambil mahasiswa.

    Query total SKS setiap mahasiswa
    Query untuk menghitung total SKS yang diambil setiap mahasiswa.

    e. Output

    Output semua mahasiswa beserta jurusan dan mata kuliah
    Output semua mahasiswa beserta jurusan dan mata kuliahnya.
    Output jurusan terbanyak dan mata kuliah mahasiswa tertentu
    Output jurusan dengan mahasiswa terbanyak serta mata kuliah yang diambil oleh mahasiswa tertentu.
    Output total SKS yang diambil setiap mahasiswa
    Output total SKS yang diambil setiap mahasiswa.
  5. Kesimpulan

    Berdasarkan praktikum yang telah dilakukan, dapat disimpulkan bahwa Laravel dapat digunakan untuk membangun aplikasi web yang memiliki hubungan antar tabel database secara terstruktur. Pada praktikum ini, sistem yang dibuat adalah sistem akademik sederhana yang menghubungkan data mahasiswa, jurusan, dan mata kuliah menggunakan konsep relationship pada Laravel.

    Melalui praktikum ini, telah dilakukan pembuatan migration untuk tabel majors, students, subjects, dan student_subject. Tabel tersebut digunakan untuk membentuk relasi antara jurusan, mahasiswa, dan mata kuliah. Relasi yang diterapkan yaitu One-to-Many antara jurusan dan mahasiswa, Many-to-One antara mahasiswa dan jurusan, serta Many-to-Many antara mahasiswa dan mata kuliah melalui tabel pivot.

    Selain itu, praktikum ini juga membahas pembuatan model beserta relationship, pembuatan seeder untuk mengisi data awal, pembuatan controller untuk mengelola proses CRUD mahasiswa, pembuatan route, serta pembuatan view untuk menampilkan daftar mahasiswa dan form tambah mahasiswa. Data yang ditampilkan pada halaman mahasiswa sudah memanfaatkan relationship, seperti menampilkan nama jurusan, daftar mata kuliah yang diambil, dan total SKS dari setiap mahasiswa.

    Pada bagian latihan, dilakukan penggunaan query Eloquent Relationship untuk menampilkan semua mahasiswa beserta jurusan dan mata kuliahnya, mencari jurusan dengan mahasiswa terbanyak, menampilkan mata kuliah yang diambil oleh mahasiswa tertentu, serta menghitung total SKS setiap mahasiswa. Dengan demikian, praktikum ini membantu mahasiswa memahami cara membangun aplikasi Laravel yang menggunakan relasi database secara efisien, rapi, dan mudah dikelola.

Source Archive

Repository Praktikum

Kode dan arsip project Laravel Relationship dapat dibuka melalui repository GitHub berikut.

Buka GitHub
OOP

Praktikum Java GUI: Aplikasi Presensi Piket

Ringkasan laporan praktikum tentang penerapan konsep OOP pada aplikasi desktop sederhana berbasis Java GUI.

  1. Pendahuluan

    Pemrograman berorientasi objek membantu pengembang membangun aplikasi dengan struktur class dan object yang jelas. Pada Java, konsep OOP dapat diterapkan dalam pembuatan aplikasi desktop menggunakan komponen GUI seperti form, button, table, dan event listener.

    Praktikum ini membahas pembuatan aplikasi presensi piket sederhana untuk melatih penggunaan class, object, event handling, dan operasi data dasar.

  2. Tujuan

    • Mahasiswa mampu menerapkan konsep class dan object pada aplikasi Java.
    • Mahasiswa mampu membuat form input dan tabel data pada aplikasi GUI.
    • Mahasiswa mampu menerapkan operasi simpan, ubah, hapus, dan reset data.
  3. Alat atau Tools yang Dipakai

    • Java Development Kit
    • NetBeans atau IntelliJ IDEA
    • Java Swing
    • Git dan GitHub
  4. Dokumentasi Praktikum

    Screenshot aplikasi presensi piket Java
    Tampilan aplikasi GUI Java untuk pencatatan presensi piket.
  5. Kesimpulan

    Praktikum ini memperkuat pemahaman konsep OOP melalui aplikasi nyata yang memiliki input pengguna, tabel data, dan aksi pengelolaan data sederhana.