Perancangan Database, ERD, Algoritma & Optimasi Proyek

Perancangan Database, ERD, Algoritma & Optimasi Proyek
Sistem dan Teknologi Informasi • ITB Yadika Pasuruan

Perancangan Database, ERD, Algoritma & Optimasi Proyek

Modul Pendalaman Pertemuan 5: Menyelaraskan Struktur Relasional dengan Pendekatan Komputasional Modern.

By Alimin, M.Kom
Database & Optimization
By Alimin, M.Kom | ITB Yadika 1 / 15 Berikutnya →
1. Perubahan Pola Pikir

Bukan Sekadar Membuat Sistem yang Berjalan

Di era AI, tools seperti ChatGPT dapat menghasilkan kode Laravel atau struktur database dalam hitungan detik. Namun, nilai sarjana STI diuji dari kedalaman solusinya:

Standar Kualitas Sarjana STI:
Bukan lagi diukur dari kalimat: "Saya berhasil membuat aplikasi dengan Laravel."
Tetapi dibuktikan melalui: "Saya mampu memilih pendekatan algoritmik yang tepat, merancang database yang tahan beban, dan menguji performanya secara ilmiah."
2. Dari ERD Menjadi Database

Jembatan Antara Konsep dan Implementasi

ERD yang telah dirancang pada pertemuan sebelumnya bukan sekadar gambar dokumentasi, melainkan rancangan logis yang diterjemahkan langsung menjadi tabel MySQL.

Entitas Utama Sistem Penjualan UMKM:
`users`, `pelanggan`, `kategori`, `produk`, `transaksi`, dan `detail_transaksi`. Kegagalan di tahap ini akan memicu anomali data pada aplikasi.
3 & 4. PK, FK & Relasi Data

Primary Key, Foreign Key & Jenis Relasi

Identitas & Penghubung:
• Primary Key (PK): Kolom unik yang menjadi identitas baris data (misal: `id_produk`).
• Foreign Key (FK): Kolom referensi yang mengikat relasi antar tabel (`kategori_id`).
Kardinalitas Relasi:
• 1:1 (User ↔ Profile)
• 1:N (Kategori 1 → N Produk)
• N:M (Mahasiswa ↔ Matkul via Tabel KRS)
Contoh Visualisasi ERD

Penerapan ERD Sistem Penjualan UMKM

Visualisasi skema relasi tabel database relasional:

ERD Schema Example
5 & 6. Normalisasi & Detail Transaksi

Mengapa Ada Tabel Detail Transaksi?

Dalam transaksi nyata, satu nota pembelian dapat berisi banyak produk berbeda. Menggabungkan produk langsung ke tabel transaksi melanggar aturan normalisasi database.

Penerapan Relasi:
Tabel `transaksi` menyimpan ringkasan nota (total harga, tanggal, kasir), sedangkan tabel `detail_transaksi` mencatat item barang apa saja yang dibeli beserta kuantitas dan subtotalnya.
15. Spektrum Algoritma Modern

Algoritma Tidak Hanya Searching & Sorting

Mahasiswa sering terjebak memandang algoritma sebatas perulangan, percabangan, atau pengurutan data dasar.

Persoalan Komputasional Nyata:
Dalam aplikasi berbasis web dan cloud, kita berhadapan dengan manajemen beban server, konkurensi transaksi, sinkronisasi data offline, efisiensi caching, hingga kecerdasan buatan (AI/RAG).
3, 4 & 13. Manajemen Beban Server

Mengatasi Lonjakan Request (Queue & Rate Limiting)

Bayangkan 20+ user melakukan absensi atau transaksi di detik yang sama. Jika langsung diproses, CPU/RAM melonjak dan server mengalami *timeout*.

Pendekatan Algoritmik:
• Queue (Antrean): Request ditampung dan dieksekusi secara bertahap oleh background worker.
• Rate Limiting: Membatasi maksimal request per menit per IP/User untuk melindungi sumber daya server.
8, 9, 10 & 11. Aplikasi Resilient

Arsitektur Offline-First & Sinkronisasi Data

Saat aplikasi digunakan di wilayah dengan sinyal internet buruk, arsitektur *Offline-First* memastikan operasional tidak terhenti.

Mekanisme Sinkronisasi:
Data disimpan lokal dengan status `PENDING`. Saat koneksi pulih, *Sync Engine* mengirim ulang data menggunakan *Retry Mechanism* (Exponential Backoff: 1s, 2s, 4s) serta *Idempotency Key* untuk mencegah duplikasi.
15 & 16. Integrasi AI & RAG

Penerapan Sistem Cerdas & Evaluasi (Evals)

Pemanfaatan AI modern mencakup *Retrieval-Augmented Generation (RAG)* untuk pencarian data kontekstual dan agen cerdas (*AI Agents*).

💡 Pentingnya Evals: Pengembang harus mengevaluasi performa AI secara berkala (akurasi, latensi, relevansi, dan biaya token), bukan sekadar mengandalkan prompt instan tanpa verifikasi.
7, 8 & 12. Implementasi & AI Assistant

Laravel Migration, Model & Prompt Engineering

ERD diterjemahkan ke Laravel Migration dan Eloquent Model. Manfaatkan AI secara bertahap dengan pola interaksi yang terkontrol.

Pola Vibe Coding: Rancang → Prompt → Generate → Pahami → Review → Test → Perbaiki.
17 & 18. Standar Judul Proyek

Pola Judul Proyek yang "Berisi"

Hindari judul generik. Tunjukkan kontribusi teknis dan algoritmik melalui formula:

Masalah + Pendekatan/Algoritma + Tujuan + Objek

Contoh: "Implementasi Offline-First dan Sinkronisasi Data untuk Meningkatkan Keandalan Sistem Absensi pada Jaringan Tidak Stabil."

10, 11 & 12. Alur Integrasi P1 - P5

Dari Masalah Menuju Coding Laravel

Alur Komprehensif:
Masalah → Kebutuhan → User Story → Fitur → UML → ERD → Database → Migration → Model → Controller → View → Aplikasi. Coding adalah implementasi dari rancangan yang matang.
13, 14 & 19. Tugas Wajib Mahasiswa

Output Tugas & Bukti Prompt AI

  • 1. Rancangan ERD: Sempurnakan skema (min. 5 tabel utama dengan PK, FK, relasi).
  • 2. Analisis Algoritma: Tentukan pendekatan komputasional proyek.
  • 3. Bukti Prompt AI Lengkap: Lampirkan seluruh riwayat prompt AI secara keseluruhan mulai dari perancangan ERD hingga analisis algoritma program beserta hasil validasinya.
20. Kesimpulan Akhir

Kesimpulan Pertemuan 5

Laravel dan MySQL adalah alat bantu. Kepakaran Anda terletak pada kemampuan memilih masalah yang tepat, merancang database yang kokoh, menerapkan algoritma optimal, serta mempertanggungjawabkannya secara akademik.
← Sebelumnya 15 / 15 (Selesai) Ulang ⟲