Skip to content

Day 10 — Git Merge, Conflict Resolution & Checkpoint Evaluasi

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


🎯 Tujuan Hari Ini

Peserta mampu melakukan Pull Request, memahami cara menyelesaikan Merge Conflict, dan menyelesaikan Checkpoint Evaluasi Minggu 2.


📋 Task Wajib

1. Standup & Review Branch (09:00 – 09:30)

Setiap anggota laporan singkat:

  • Apakah branch kemarin sudah di-push ke GitHub?
  • Ada error atau kesulitan saat push?

PM mengecek di GitHub: semua branch anggota harus sudah muncul.

2. Buat Pull Request di GitHub

Setiap anggota membuat Pull Request (PR) untuk branch mereka masing-masing:

  1. Buka repositori di GitHub
  2. Klik tab "Pull requests""New pull request"
  3. Pilih: base: maincompare: feature/[nama-branch-kamu]
  4. Isi deskripsi PR:
    ## Deskripsi
    [Jelaskan apa yang kamu ubah/tambahkan]
    
    ## Type of Change
    - [ ] Bug fix
    - [x] New feature
    - [ ] Refactor
    
    ## Screenshot
    [Tempel screenshot jika ada perubahan visual]
  5. Klik "Create pull request"

3. Review PR Anggota Lain (Shift Review)

ReviewerBranch yang Direview
Backend DevPR milik Frontend Dev
Frontend DevPR milik QA Tester
QA TesterPR milik PM
PMPR milik Backend Dev

Cara mereview:

  1. Klik PR yang harus direview
  2. Buka tab "Files changed" → lihat semua perubahan
  3. Berikan komentar jika ada yang janggal (klik tombol + di sebelah baris kode)
  4. Jika OK → klik "Review changes" → pilih "Approve" → Submit

4. Simulasi Merge Conflict

Ini adalah latihan paling penting hari ini!

Mentor: Buat situasi konflik secara sengaja:

  1. Di branch main, ubah baris X di file index.blade.php
  2. Di branch feature/[siapa-saja], ubah baris yang sama di file yang sama dengan konten berbeda
  3. Coba merge → Git akan reporting conflict!

Tampilan conflict di file:

<<<<<<< HEAD (main)
<h1>Daftar Siswa</h1>
=======
<h1>Data Peserta Magang</h1>
>>>>>>> feature/styling-table

Cara resolve conflict:

  1. Buka file yang konflik di VSCode
  2. VSCode akan highlight area konflik dengan warna
  3. Pilih salah satu versi (atau gabungkan keduanya) secara manual
  4. Hapus marker <<<<<<<, =======, >>>>>>>
  5. Save file
  6. Lanjutkan merge:
    bash
    git add .
    git commit -m "resolve: merge conflict di index.blade.php"
    git push

5. Merge Semua PR ke Main

Setelah PR di-approve, PM melakukan Merge semua PR:

bash
git checkout main
git pull origin main

Pastikan semua fitur dari setiap branch sudah masuk ke main.


🎓 CHECKPOINT EVALUASI — Akhir Minggu 2

Ini adalah evaluasi resmi. Mentor menilai setiap peserta secara individu.

Q&A tertulis (Individual, 20 Menit)

Jawab pertanyaan berikut di kertas atau dokumen terpisah:

Pertanyaan Konsep:

  1. Jelaskan dengan kata-kata kamu sendiri: apa itu MVC? Apa tugas masing-masing komponen?
  2. Apa perbedaan Route::get() dan Route::post()?
  3. Apa itu Migration? Mengapa lebih baik dari import SQL manual?
  4. Apa fungsi $fillable di Model Eloquent?
  5. Jelaskan perbedaan git merge dan git pull

Pertanyaan Praktikal: 6. Tulis kode lengkap untuk membuat route resource untuk model Category 7. Tulis method store() di Controller yang menyimpan data ke database dengan validasi 8. Apa yang terjadi jika kamu menghapus @csrf dari form POST?


📝 Laporan Akhir Minggu 2

📌 LAPORAN AKHIR MINGGU 2 — Day 10
Nama     : [Nama Lengkap]
Role     : [Role Kamu]

✅ Yang saya kerjakan hari ini:
- [ ] Membuat Pull Request untuk branch saya
- [ ] Mereview PR anggota lain
- [ ] Berhasil menyelesaikan simulasi merge conflict
- [ ] PR saya di-merge ke main
- [ ] Mengerjakan soal checkpoint evaluasi

🔗 Link PR saya di GitHub: [URL]

📸 Screenshot Wajib:
1. Pull Request kamu di GitHub (dengan status Merged)
2. Halaman conflict di VSCode (saat simulasi)
3. Repo GitHub setelah semua branch di-merge

📊 Rangkuman Minggu 2:
- Hal paling menantang minggu ini: ...
- Hal paling menarik yang saya pelajari: ...
- Rating kepercayaan diri saya tentang CRUD (1-10): ...
- Rating kepercayaan diri saya tentang Git (1-10): ...

❓ Hal yang masih bingung / perlu penjelasan di Week 3:
[Tulis pertanyaan kamu]

Catatan Mentor — Checklist Checkpoint

Sebelum masuk ke Fase 2 (Week 3), pastikan semua peserta bisa:

  • [ ] Membuat dan menjalankan migration dari scratch
  • [ ] Membuat model dengan $fillable
  • [ ] Mengimplementasikan full CRUD dengan validasi
  • [ ] Push dan pull dari GitHub
  • [ ] Membuat dan merge branch tanpa bantuan mentor

Jika ada peserta yang belum memenuhi standar minimum, pertimbangkan untuk memberikan latihan tambahan sebelum memulai mini project di Week 3.

Program Magang SMK RPL — Rekayasa Perangkat Lunak