Skip to content

Day 5 — Review & Mini Demo: Web Company Profile

Fase: 1 — Fundamental Laravel | Minggu: 1 | Hari: Jumat


🎯 Tujuan Hari Ini

Peserta menggabungkan semua ilmu dari Day 1–4 menjadi satu mini project utuh: Web Company Profile sederhana dengan minimal 4 halaman yang fungsional dan rapi.


📋 Task Wajib

1. Review Mandiri (30 Menit)

Sebelum coding, review ulang catatan kamu dari Day 1–4:

  • [ ] Apakah kamu bisa menjelaskan MVC tanpa melihat catatan?
  • [ ] Apakah kamu paham perbedaan Route → Controller → View?
  • [ ] Apakah kamu bisa membuat layout master dari awal tanpa mencontek?

Jika ada yang masih bingung, tanyakan ke mentor sebelum jam 09:30.

2. Rancang Halaman Mini Project

Kamu akan membuat Web Company Profile "PT. Magang Jaya" dengan halaman:

NoHalamanURLKeterangan
1Beranda/Hero section dengan sambutan
2Tentang/tentangInfo perusahaan + tim
3Layanan/layananDaftar layanan (min. 3 item)
4Kontak/kontakInfo kontak + jam operasional

3. Implementasi: Buat Method di Controller

Tambahkan method layanan() di PageController.php:

php
public function layanan()
{
    $layanan = [
        [
            'nama'  => 'Pengembangan Web',
            'ikon'  => '🌐',
            'deskripsi' => 'Membuat website profesional sesuai kebutuhan bisnis Anda.'
        ],
        [
            'nama'  => 'Konsultasi IT',
            'ikon'  => '💡',
            'deskripsi' => 'Solusi teknologi informasi terbaik untuk perusahaan Anda.'
        ],
        [
            'nama'  => 'Training & Workshop',
            'ikon'  => '🎓',
            'deskripsi' => 'Pelatihan berbasis praktik untuk tim developer Anda.'
        ],
    ];

    return view('layanan', compact('layanan'));
}

Tambahkan route di routes/web.php:

php
Route::get('/layanan', [PageController::class, 'layanan']);

4. Buat View Layanan

resources/views/layanan.blade.php:

html
@extends('layouts.app')

@section('title', 'Layanan Kami')

@section('content')
    <h1>Layanan PT. Magang Jaya</h1>
    <p>Kami menyediakan berbagai solusi teknologi untuk bisnis Anda.</p>

    <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px;">
        @foreach ($layanan as $item)
        <div style="background: white; padding: 25px; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); text-align: center;">
            <span style="font-size: 48px;">{{ $item['ikon'] }}</span>
            <h3 style="margin: 15px 0 10px; color: #1a1a2e;">{{ $item['nama'] }}</h3>
            <p style="color: #666; line-height: 1.6;">{{ $item['deskripsi'] }}</p>
        </div>
        @endforeach
    </div>
@endsection

5. Perbarui Navbar di Layout Master

Update resources/views/layouts/app.blade.php — tambahkan link Layanan di navbar:

html
<a href="/">Home</a>
<a href="/tentang">Tentang</a>
<a href="/layanan">Layanan</a>  {{-- TAMBAHKAN INI --}}
<a href="/kontak">Kontak</a>

6. Highlight Halaman Aktif di Navbar (Bonus)

Ubah setiap link di navbar menjadi:

html
<a href="/" style="{{ request()->is('/') ? 'color: #e94560; font-weight: bold;' : '' }}">Home</a>
<a href="/tentang" style="{{ request()->is('tentang') ? 'color: #e94560; font-weight: bold;' : '' }}">Tentang</a>
<a href="/layanan" style="{{ request()->is('layanan') ? 'color: #e94560; font-weight: bold;' : '' }}">Layanan</a>
<a href="/kontak" style="{{ request()->is('kontak') ? 'color: #e94560; font-weight: bold;' : '' }}">Kontak</a>

7. Sesi Demo Mini (Akhir Hari)

Setiap peserta harus demo mini project-nya kepada mentor selama 5 menit:

  1. Jelaskan struktur folder project kamu
  2. Tunjukkan route yang kamu buat di web.php
  3. Tunjukkan salah satu method Controller
  4. Tampilkan website di browser

📝 Laporan ke Mentor (Laporan Akhir Minggu 1)

📌 LAPORAN AKHIR MINGGU 1 — Day 5
Nama     : [Nama Lengkap]
Role     : [Role Kamu]

✅ Yang saya kerjakan hari ini:
- [ ] Menambahkan halaman Layanan dengan data array dari Controller
- [ ] Update navbar di layout master
- [ ] Semua 4 halaman berjalan tanpa error
- [ ] Demo mini project ke mentor

📸 Screenshot Wajib:
1. Semua 4 halaman terbuka di browser
2. Halaman Layanan menampilkan card layanan

📊 Rangkuman Minggu 1:
Hal Baru yang saya pelajari minggu ini:
1. ...
2. ...
3. ...

Hal yang masih ingin saya pelajari lebih dalam:
1. ...

Rating pemahaman saya minggu ini (1-10): ...

❓ Kendala yang belum terpecahkan:
[Tulis jika ada, untuk didiskusikan Senin depan]

Checkpoint Mentor — Akhir Week 1

Verifikasi hal berikut pada setiap peserta:

  • [ ] Mereka bisa membuat route → controller method → view tanpa panduan
  • [ ] Mereka memahami @extends, @section, @yield
  • [ ] Mini project berjalan di semua laptop
  • [ ] Semua peserta sudah commit awal ke Git (persiapan Week 2)

Program Magang SMK RPL — Rekayasa Perangkat Lunak