Pengantar Proyek Perangkat Lunak & Artificial Intelligence Per 1

Pengantar Proyek Perangkat Lunak & Artificial Intelligence Per 1

1. Apa Itu Proyek Perangkat Lunak?

Proyek Perangkat Lunak adalah kegiatan terencana untuk menghasilkan produk software siap pakai dalam batas waktu, anggaran, dan spesifikasi tertentu.

  • Pemrograman Biasa: Fokus pada penulisan kode (syntax & logic).

  • Proyek Perangkat Lunak: Fokus pada penyelesaian masalah nyata dan menghasilkan produk utuh (usable product).

Contoh Proyek: SIAKAD, E-Commerce, SIM Klinik, Sistem Absensi, POS Kasir, dan Dashboard BI.

2. Siklus Pengembangan (SDLC)

Prinsip Utama: Coding bukan tahap pertama dan bukan pula tahap terakhir.

$$\text{Problem} \rightarrow \text{Analisis} \rightarrow \text{Desain Sistem/DB} \rightarrow \text{Development} \rightarrow \text{Testing} \rightarrow \text{Deployment} \rightarrow \text{Maintenance}$$

3. Komponen Utama Proyek

Setiap proyek software mencakup 10 elemen: Tujuan, Pengguna, Scope, Timeline, Tim, Sumber Daya, Teknologi, Risiko, Kualitas, dan Output.

Komponen Contoh Kasus (Toko Online) MD

Problem

Pencatatan stok & transaksi masih manual.

User

Admin, kasir, dan pelanggan.

Solution

Platform E-Commerce web responsif.

Tech Stack

Laravel, MySQL, Tailwind CSS, Cloudflare.

Alat Bantu

GitHub & AI Coding Assistant.

Output

Web app aktif (live), repositori, dan laporan.

4. Peran AI dalam Software Engineering

Perkembangan teknologi bergerak dari Manual Coding $\rightarrow$ Framework $\rightarrow$ Cloud $\rightarrow$ DevOps $\rightarrow$ AI-Assisted $\rightarrow$ Vibe Coding. AI berfungsi sebagai asisten pengembang (copilot), bukan pengganti engineer.

  • Analisis & Desain: Menyusun User Story, SRS, skema ERD, dan struktur API.

  • Development & Testing: Membuat boilerplate code, debugging, optimasi query, dan menyusun Test Case.

  • Dokumentasi: Pembuatan berkas README.md, dokumentasi API, dan panduan pengguna.

5. Vibe Coding $\neq$ Copy-Paste

  • Salah (Blind Copy-Paste): Prompt $\rightarrow$ Copy $\rightarrow$ Paste $\rightarrow$ Submit

  • Benar (Engineering Mindset): Prompt $\rightarrow$ Understand $\rightarrow$ Generate $\rightarrow$ Review $\rightarrow$ Test $\rightarrow$ Refactor $\rightarrow$ Deploy

Developer tetap bertanggung jawab penuh atas keamanan, performa, dan logika kode yang dihasilkan. Mahasiswa harus mampu menjawab: "Mengapa kodenya dibuat seperti ini?"

6. Standar Teknologi Perkuliahan

  1. Framework Utama: PHP Laravel (Arsitektur MVC).

  2. Database: MySQL / MariaDB.

  3. Kolaborasi & Portofolio: GitHub (Branching, PR, Issues, Semantic Commits).

  4. Target Akhir: Deploy ke server publik dengan pengamanan Cloudflare.

7. Roadmap Proyek Semester

$$\text{Problem} \rightarrow \text{Design} \rightarrow \text{Laravel Dev} \rightarrow \text{AI Acceleration} \rightarrow \text{Testing} \rightarrow \text{GitHub} \rightarrow \text{Deployment}$$

8. Diskusi Kelas Hari Ini

Identifikasi masalah nyata di lingkungan sekitar (kampus, UMKM, layanan publik, kesehatan):

  • Temukan minimal 3 permasalahan nyata yang relevan.

  • Analisis apakah masalah tersebut tepat diselesaikan dengan web software.

  • Pilih 1 topik terbaik untuk dijadikan proyek semester.