Semester 3 · 4 SKS · 200 menit · Project 07 — System Blueprint V1

Integrasi Fundamental Web

Hubungkan materi Pertemuan 1–6 menjadi satu cerita sistem yang utuh: pengguna berinteraksi melalui UI, browser mengirim request, backend menjalankan logika bisnis dan mengakses database, lalu browser menerima response.

Paper First, AI LaterTelusuri → Rancang → JelaskanBlueprint V1 → Persiapan UTS

Target Pertemuan

Di akhir kelas, mahasiswa mampu menghubungkan kebutuhan pengguna, proses bisnis, struktur data, dan komunikasi web dalam satu rancangan sistem yang konsisten.

Telusuri aktivitas
Jelaskan perjalanan data dari UI sampai tersimpan dan ditampilkan kembali, termasuk jika proses gagal.
Satukan rancangan
Cocokkan flowchart, ERD, CRUD Matrix, dan request–response pada sistem yang sama.
Pertahankan Blueprint V1
Hubungkan kebutuhan dengan aktor, proses, tabel, dan hasil sistem.
Aturan kelas tetap sama: AI boleh membantu membuat contoh, mencari dokumentasi, dan memeriksa rancangan. Mahasiswa wajib menggambar dan menjelaskan alur terlebih dahulu. Paper First, AI Later.

Pertanyaan Pembuka

Tombol “Simpan” sudah diklik dan muncul tulisan “Berhasil”. Apakah itu membuktikan data sudah tersimpan?

Tuliskan jawaban di kertas. Sebutkan komponen yang perlu diperiksa serta bukti yang diperlukan. Bandingkan jawaban tersebut setelah menelusuri seluruh alur.

Rencana 200 menit

AktivitasDurasiHasil
Review dan pertanyaan pemantik15 menitPrediksi alur Simpan
Fundamental konsep35 menitPeta komponen dan alur web
Ilustrasi kehidupan nyata20 menitPemetaan pesan makanan ke sistem web
Studi kasus bersama30 menitTelusur penjualan dan kegagalan
Istirahat10 menit—
Project Book / analisis kertas50 menitBlueprint Sistem V1
Diskusi dan mini-defense25 menitTemuan dan revisi
Kesimpulan dan briefing15 menitPersiapan UTS
Total200 menit

1. Menyatukan Pertemuan 1–6

Materi sebelumnya merupakan bagian dari satu sistem. Sekarang hubungkan bagian tersebut agar satu fitur dapat dijelaskan dari awal sampai akhir.

MateriPertanyaan penghubungBukti Blueprint
P1 — Cara kerja webSiapa pengguna dan apa masalahnya?Masalah, tujuan, aktor, arsitektur dasar
P2 — HTTPData apa dikirim dan apa balasannya?Matriks request–response
P3 — Proses bisnisApa kondisi berhasil dan gagal?Flowchart dan aturan bisnis
P4 — DatabaseDi tabel dan kolom mana data disimpan?Entitas, atribut, tipe data, PK
P5 — RelationshipBagaimana data saling terhubung?ERD, FK, kardinalitas
P6 — CRUDData apa dibaca dan diubah?CRUD Matrix dan kebijakan penghapusan
Batas materi hari ini: integrasi konsep dan Blueprint V1. Praktik utama berupa penelusuran serta perancangan di kertas; aplikasi lengkap belum menjadi syarat. Authentication, authorization, MVC, API, asynchronous request, dan keamanan mendalam mengikuti jadwal berikutnya.

2. Siapa Mengerjakan Apa?

User

Aktor yang mempunyai tujuan, misalnya kasir mencatat penjualan.

Frontend / UI

Tampilan dan kontrol: form, pilihan produk, tombol, tabel, serta pesan hasil.

Request

Pesan browser ke server berisi metode, alamat tujuan, dan data yang diperlukan.

Backend

Kode di server yang menerima request, memeriksa input, mengatur proses, dan menyusun response.

Business Logic

Aturan proses usaha yang dijalankan backend, misalnya jumlah harus positif dan stok harus cukup.

Database

Penyimpanan data yang juga menegakkan batasan struktur seperti PK dan FK.

Response adalah balasan server kepada browser, misalnya halaman HTML, pesan gagal, atau arahan menuju halaman lain. Browser memproses balasan tersebut untuk menampilkan hasil.

UI membantu pengguna mengisi data, tetapi backend tetap harus memeriksa data yang diterima. FK dapat menolak referensi yang tidak ada; kecukupan stok perlu aturan proses tersendiri.

3. Alur Utuh: Dari Klik sampai Hasil

User & UI
→
Request
→
Backend
validasi & logika
→
Database
Database
hasil / galat
→
Backend
susun balasan
→
Response
→
Browser & UI
  1. Pengguna mengisi form pada browser.
  2. Browser mengirim request ke alamat proses pada server.
  3. Backend memeriksa bentuk input dan aturan bisnis.
  4. Jika valid, backend menjalankan operasi database.
  5. Database mengembalikan hasil atau galat kepada backend.
  6. Backend menentukan response berdasarkan hasil proses.
  7. Browser menerima response dan menampilkan hasil.
Ilustrasi pesan makanan: memilih menu (UI), mengirim pesanan (request), memeriksa pesanan dan ketersediaan (backend + logika), mencatat pesanan (database), lalu memberikan konfirmasi atau alasan penolakan (response).

Satu klik dapat melibatkan beberapa tabel dan beberapa operasi CRUD.

4. Studi Kasus — Kasir Mencatat Penjualan

Gunakan konteks penjualan_db dari P6. Fitur yang ditelusuri adalah satu penjualan dengan satu produk, tanpa pembayaran. Sistem project mahasiswa tetap boleh berbeda.

Kondisi awal simulasi

  • Andi: id_pelanggan = 1.
  • Buku Tulis: id_produk = 1.
  • Harga tersimpan Rp12.000 per unit.
  • Stok tersedia 10 unit.
  • Kasir meminta 2 unit.

Hasil yang diharapkan

  • Satu baris penjualan baru.
  • Satu baris detail penjualan baru.
  • Total: 2 × Rp12.000 = Rp24.000.
  • Stok menjadi 8 unit.
  • Nomor dan ringkasan penjualan ditampilkan.

Angka tersebut ditetapkan untuk simulasi ini. Jika memakai database P6, cek kondisi nyata dengan SELECT karena latihan sebelumnya dapat mengubah harga dan stok. Tidak perlu menghapus database.

Input → Process → Output

Input browserProses backendOutput
ID pelanggan, ID produk, jumlahValidasi → baca pelanggan dan produk → cek stok → hitung total → simpan penjualan dan detail → kurangi stokBerhasil: nomor, total, sisa stok.
Gagal: alasan penolakan tanpa penjualan parsial.
Sumber harga: backend membaca harga produk dari database dan menghitung ulang total. Total yang dikirim browser tidak dijadikan acuan. Pada struktur P6, nilai hasil perhitungan disimpan dalam detail_penjualan.subtotal dan penjualan.total.

5. Hubungkan Aktivitas dengan Request–Response

Alamat berikut adalah rancangan endpoint, bukan file PHP yang sudah disediakan. Contoh memakai form HTML biasa dan response HTML.

AktivitasRequestProses / CRUDResponse rancangan
Buka formGET /penjualan/tambah.phpR pelanggan dan produk200 + HTML form
Simpan penjualanPOST /penjualan/simpan.phpR pelanggan/produk; C penjualan/detail; U stok303 + Location menuju halaman detail
Lihat hasilGET /penjualan/detail.php?id=101R penjualan, pelanggan, detail, produk200 + HTML ringkasan; 404 jika ID tidak ditemukan
Kirim jumlah tidak validPOST /penjualan/simpan.phpValidasi menolak sebelum simpan400 + pesan input salah
Stok tidak cukupPOST /penjualan/simpan.phpAturan bisnis menolak409 + pesan konflik stok
Gangguan penyimpananPOST /penjualan/simpan.phpBatalkan perubahan belum disahkan500 + pesan umum; detail teknis dicatat di server
Contoh request form — ilustrasi HTTP
POST /penjualan/simpan.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded

id_pelanggan=1&id_produk=1&jumlah=2

Nama input form menentukan nama data yang dikirim. Backend membaca ID pelanggan, ID produk, serta jumlah, lalu mencari data terkait berdasarkan ID tersebut.

Response berhasil — pengalihan setelah POST
HTTP/1.1 303 See Other
Location: /penjualan/detail.php?id=101

ID 101 hanya ilustrasi; implementasi mengambil ID dari baris yang berhasil dibuat. Browser kemudian meminta halaman detail melalui GET. Pola ini disebut Post/Redirect/Get.

HTTP dan CRUD: GET lazim dipakai untuk membaca. Pada form biasa, POST dapat menjalankan create atau update sesuai tujuan proses. Satu POST penjualan dalam contoh menjalankan R, C, dan U sekaligus.

6. Dari Flowchart ke Logika Backend

Gambar ulang alur berikut memakai simbol P3: terminator untuk mulai/selesai, input/output untuk data, persegi panjang untuk proses, belah ketupat untuk keputusan. Beri label Ya/Tidak pada cabang.

Pseudocode — rancangan logika, bukan PHP siap jalan
MULAI
TERIMA id_pelanggan, id_produk, jumlah dari POST
JIKA ID atau jumlah bukan bilangan bulat positif:
    KIRIM 400 + pesan input tidak valid; SELESAI

MULAI TRANSAKSI DATABASE
COBA:
    BACA pelanggan berdasarkan id_pelanggan
    BACA dan KUNCI baris produk berdasarkan id_produk
    JIKA pelanggan atau produk tidak ditemukan:
        ROLLBACK; KIRIM 400 + pesan referensi tidak valid; SELESAI
    JIKA stok produk < jumlah:
        ROLLBACK; KIRIM 409 + pesan stok tidak cukup; SELESAI

    subtotal = harga produk dari database * jumlah
    total = subtotal  // kasus satu produk
    INSERT penjualan (pelanggan, tanggal server, total)
    AMBIL id_penjualan baru
    INSERT detail_penjualan (id_penjualan, id_produk, jumlah, subtotal)
    UPDATE stok produk = stok lama - jumlah
    COMMIT
JIKA terjadi galat database sebelum COMMIT berhasil:
    ROLLBACK perubahan yang belum disahkan
    CATAT detail galat di server
    KIRIM 500 + pesan umum; SELESAI

KIRIM 303 menuju halaman detail dengan id_penjualan baru
BROWSER mengirim GET halaman detail
BACKEND membaca data; KIRIM 200 + HTML ringkasan
SELESAI

Validasi input

Memastikan bentuk data sesuai: ID dan jumlah merupakan bilangan bulat positif, bukan kosong atau teks sembarang.

Aturan bisnis

Memastikan tindakan sesuai usaha: pelanggan dan produk tersedia, stok cukup, harga dari sumber yang benar.

Pengantar transaksi database: penjualan, detail, dan pengurangan stok diperlakukan sebagai satu kesatuan. COMMIT mengesahkan perubahan; ROLLBACK membatalkan perubahan yang belum disahkan. Mengunci baris produk selama transaksi mencegah dua proses memakai stok yang sama secara bersamaan. Implementasi teknis belum dituntut pada P7.

7. Cocokkan Proses dengan Data dan ERD

Struktur inti berikut mengikuti P6. Tabel pembayaran belum terlibat karena fitur yang dianalisis baru mencatat penjualan.

TabelKolom yang ditelusuriPeran
pelangganid_pelanggan (PK), namaIdentitas pelanggan penjualan.
produkid_produk (PK), nama_produk, harga, stokSumber harga dan stok terkini.
penjualanid_penjualan (PK), id_pelanggan (FK), tanggal, totalIdentitas dan total transaksi.
detail_penjualanid_detail (PK), id_penjualan (FK), id_produk (FK), jumlah, subtotalProduk, kuantitas, dan nilai penjualan per detail.
Sketsa relasi — gambar ulang ERD manual
pelanggan (1) ───── (N) penjualan
penjualan (1) ───── (N) detail_penjualan
produk    (1) ───── (N) detail_penjualan

penjualan.id_pelanggan        → pelanggan.id_pelanggan
detail_penjualan.id_penjualan → penjualan.id_penjualan
detail_penjualan.id_produk    → produk.id_produk

penjualan dan produk berhubungan N:M
melalui tabel perantara detail_penjualan.

Label 1:N menunjukkan satu induk dapat terkait banyak anak. Pada proses ini setiap penjualan yang disahkan wajib mempunyai minimal satu detail. Backend menjaga aturan tersebut; FK saja tidak memastikan induk mempunyai anak.

Cek konsistensi: jika flowchart menyebut jumlah barang, tunjukkan kolom jumlah. Jika UI menampilkan nama pelanggan, tunjukkan relasi penjualan ke pelanggan. Setiap data di layar harus mempunyai sumber yang jelas.

8. CRUD Matrix untuk Satu Fitur

Matriks ini khusus aktivitas Simpan Penjualan, melengkapi matriks seluruh sistem pada P6.

TabelCRUDAlasan
pelanggan—✓——Memastikan pelanggan terdaftar.
produk—✓✓—Membaca harga/stok, mengurangi stok.
penjualan✓———Mencatat transaksi baru.
detail_penjualan✓———Mencatat produk yang dijual.

Aktivitas Lihat Detail Penjualan setelah pengalihan mempunyai matriks tersendiri: R pada keempat tabel. Tentukan batas aktivitas dengan jelas.

Tidak semua entitas wajib mempunyai semua operasi: riwayat penjualan tidak dihapus hanya agar kolom D terisi. Pembatalan memerlukan aturan status dan pemulihan stok yang dirancang eksplisit.

9. Sistem Juga Harus Menjelaskan Kegagalan

SituasiPemeriksaDampak dan response
Jumlah kosong, nol, negatif, atau pecahanValidasi backendTidak ada data disimpan; 400 dan petunjuk perbaikan.
Stok tidak cukupLogika bisnis backendTransaksi dibatalkan; 409 dan pesan stok tidak cukup.
ID pelanggan tidak tersediaBackend memeriksa; FK menjaga databaseBackend menolak. Jika INSERT dengan FK tidak valid tetap dicoba, database menolak dengan galat 1452.
Penjualan dibuat, tetapi INSERT detail gagal sebelum COMMITPenanganan galat transaksiROLLBACK: perubahan yang belum disahkan dibatalkan; 500 jika gangguan internal.
Data tersimpan, koneksi browser terputus sebelum response diterimaPemeriksaan status transaksiData bisa sudah tersimpan. Periksa daftar/nomor transaksi sebelum mengirim ulang.
Status HTTP dan galat database berbeda: 400 / 409 / 500 adalah status response HTTP yang ditentukan server. 1451 / 1452 adalah kode galat database. Backend menerjemahkan hasil proses menjadi balasan yang dipahami pengguna.

Pesan di layar, status HTTP, dan keadaan database perlu diperiksa bersama.

10. Pola yang Sama pada Berbagai Usaha

Sistem / aktorUI / inputAturan bisnisData terlibatResponse
Laundry / petugasPelanggan, layanan, beratBerat positif; tarif dari layananPelanggan, layanan, transaksi, detailNomor transaksi dan biaya
Perpustakaan / petugasAnggota dan eksemplarAnggota aktif; eksemplar tersediaAnggota, buku, eksemplar, peminjaman, detailBukti pinjam atau penolakan
Booking lapangan / pelangganLapangan, tanggal, jamSelesai setelah mulai; jadwal tidak bertabrakanPelanggan, lapangan, bookingNomor booking atau konflik jadwal
Bengkel / petugasKendaraan dan jasaKendaraan tercatat; jasa tersediaPelanggan, kendaraan, servis, detail jasaNomor pekerjaan dan estimasi
Kos / pengelolaPenyewa, kamar, periodeKamar tersedia pada periode ituPenyewa, kamar, sewaKonfirmasi atau penolakan

Contoh entitas menyesuaikan batas fitur. Mahasiswa harus memperjelas apakah proses sudah mencakup pembayaran atau belum.

11. Praktik — Telusuri Satu Request di Kertas

Kerjakan berpasangan: satu mahasiswa menjadi pengguna/browser, satu menjadi backend/database. Pakai studi kasus bagian 4 dan tukar peran setelah satu skenario selesai.

  1. Gambar UI: buat tiga input beserta nama datanya dan tombol Simpan.
  2. Buat kartu request: tulis POST, alamat tujuan, serta id_pelanggan=1, id_produk=1, jumlah=2.
  3. Jalankan logika manual: cek input, pelanggan/produk, stok, serta sumber harga.
  4. Catat perubahan tabel: buat satu baris penjualan dan detail, lalu ubah stok dari 10 menjadi 8. ID baru cukup disimulasikan.
  5. Buat kartu response: tulis 303 beserta alamat detail, lalu GET dan 200 berisi ringkasan Rp24.000.
  6. Ulangi dari kondisi awal dengan jumlah 12. Tentukan titik penolakan dan buktikan tidak ada perubahan data.
  7. Ubah kebutuhan: harga di database menjadi Rp13.000 sebelum request diproses. Tentukan sumber harga dan hitung total baru Rp26.000.
Opsional jika database P6 tersedia: gunakan SELECT berikut untuk memeriksa data nyata. Perintah hanya membaca data; hasil dapat berbeda dari angka simulasi.
Mini coding — cek sumber data di phpMyAdmin
USE penjualan_db;

SELECT id_pelanggan, nama
FROM pelanggan
WHERE id_pelanggan = 1;

SELECT id_produk, nama_produk, harga, stok
FROM produk
WHERE id_produk = 1;

SELECT p.id_penjualan, pl.nama, p.total
FROM penjualan AS p
JOIN pelanggan AS pl ON pl.id_pelanggan = p.id_pelanggan
ORDER BY p.id_penjualan DESC
LIMIT 5;

Buka XAMPP, aktifkan Apache dan MySQL, lalu buka http://localhost/phpmyadmin dan tab SQL. Jika database P6 belum tersedia, praktik kertas tetap dapat diselesaikan tanpa membuat database baru.

12. Prediksi, Uji, dan Amati

Setiap baris dimulai dari stok 10 dan harga Rp12.000. Pengujian dapat berupa walkthrough kertas; tandai sebagai simulasi. Jika memakai aplikasi, lampirkan bukti aktual.

Kasus ujiPrediksi prosesKeadaan akhir
Jumlah 2, referensi validValidasi lolos; R → C → U; COMMITSatu penjualan dan detail; total Rp24.000; stok 8.
Jumlah 0Validasi menolakTidak ada penjualan baru; stok 10.
Jumlah 12Aturan stok menolakTidak ada penjualan baru; stok 10.
Jumlah 2, harga browser diganti Rp1Backend memakai harga database Rp12.000Total tetap Rp24.000; stok 8.
ID pelanggan tidak adaPemeriksaan referensi menolakTidak ada penjualan/detail baru; stok 10.
INSERT detail gagal sebelum COMMITROLLBACK perubahan transaksiTidak ada penjualan/detail baru; stok 10.
COMMIT berhasil, response tidak sampaiPeriksa status sebelum mengulangiPenjualan bisa sudah ada; jangan menyimpulkan hanya dari layar.
Format catatan: input → prediksi → komponen yang bekerja → data sebelum/sesudah → response → bukti atau langkah simulasi → analisis. Bedakan hasil simulasi dan hasil menjalankan aplikasi.

13. Mini Challenge — Perbaiki Rancangan

  1. Flowchart menyebut pembayaran, tetapi ERD tidak menyediakan penyimpanan pembayaran. Apa yang perlu ditambahkan atau diperjelas pada batas fitur?
  2. CRUD Matrix hanya mencantumkan C penjualan, padahal stok produk berkurang. Operasi apa yang hilang?
  3. Form mengirim nama pelanggan, tetapi backend mengharapkan ID pelanggan. Bagaimana menyamakan data yang dikirim dan diproses?
  4. UI menampilkan nama produk, sementara detail hanya menyimpan ID produk. Bagaimana mendapatkan nama itu?
  5. Request sudah diperiksa backend, tetapi FK tetap menolak. Mengapa batasan database masih diperlukan?
  6. Pengguna mengklik Simpan dua kali. Jelaskan risiko data ganda dan usulkan penanda request unik yang diperiksa server. Menonaktifkan tombol saja belum menjamin request tidak terkirim ulang.

Jawab dengan koreksi rancangan dan alasan; belum perlu menulis implementasi.

14. Project Semester — Blueprint Sistem V1

Blueprint Sistem V1 menggabungkan hasil P1–P6 beserta koreksi dari P7. Gunakan sistem pilihan yang sama dan tunjukkan hubungan antarbagian.

Bagian wajibIsiCek konsistensi
Masalah dan tujuanMasalah nyata, dampak, tujuan, manfaatFitur menjawab masalah tersebut.
Aktor dan batas sistemPengguna, aktivitas, cakupan fiturAktor mempunyai aktivitas jelas.
Proses bisnisInput, urutan, aturan, hasil, kegagalanAturan muncul pada flowchart.
FlowchartMulai–selesai, keputusan, berhasil/gagal, perulangan atau alternatifData dan proses sesuai fitur.
DataEntitas, atribut, tipe data, PKData penting mempunyai tempat penyimpanan.
ERDRelasi, kardinalitas, FK, perantara N:M jika adaReferensi proses tersedia di ERD.
CRUD MatrixOperasi per entitas dan kebijakan penghapusanSeluruh perubahan data tercakup.
Request–responseMinimal lima aktivitas: method, tujuan, input, proses, responseNama input sesuai pemrosesan.
Arsitektur dasarBrowser/UI ↔ web server/backend ↔ databaseLokasi setiap tanggung jawab jelas.
Telusur dan pengujianSatu fitur lengkap; satu berhasil dan minimal dua gagalBukti/simulasi mendukung kesimpulan.
Ukuran kualitas: ketika fitur dipilih acak, mahasiswa dapat menunjuk aktor, input, request, keputusan, tabel, CRUD, response, dan alasan desain tanpa mengganti cerita sistem.

15. Template Project Book — Blueprint V1

Salin sebagai panduan, isi dengan sistem sendiri, dan gambar bagian visual secara manual. Hindari jawaban umum yang tidak menyebut proses serta data konkret.

Project 07 — System Blueprint V1
IDENTITAS
Nama / NIM / kelas:
Nama sistem:
Versi: Blueprint V1

1. MASALAH DAN TUJUAN
Proses manual saat ini:
Masalah dan dampaknya:
Tujuan dan manfaat konkret:

2. AKTOR DAN BATAS SISTEM
Aktor → aktivitas utama:
Fitur yang dicakup / di luar cakupan:

3. PROSES BISNIS UTAMA
Nama proses:
Input → langkah proses → output:
Aturan bisnis:
Kondisi berhasil dan gagal:

4. FLOWCHART
[Gambar simbol, alur, cabang Ya/Tidak, alternatif/perulangan]

5. DATA
Entitas → atribut → tipe data → PK:

6. ERD
[Gambar entitas, PK, FK, relasi, kardinalitas]
Tabel perantara N:M (jika ada):
Alasan penempatan FK:
Kebijakan penghapusan induk dan dampaknya:

7. CRUD MATRIX
Entitas → C / R / U / D → alasan:
Data yang tidak boleh dihapus langsung dan alternatifnya:

8. REQUEST–RESPONSE (minimal 5 aktivitas)
Aktivitas → aktor → method → alamat tujuan → input
→ validasi/logika → tabel dan CRUD → status/isi response:

9. ARSITEKTUR DASAR
[Gambar Browser/UI ↔ Web Server/Backend ↔ Database]
Lokasi validasi, aturan, penyimpanan, dan tampilan:

10. TELUSUR SATU FITUR
UI → request → backend → aturan → database → response → UI:
Data sebelum → perubahan → data sesudah:

11. PENGUJIAN
Satu berhasil + minimal dua gagal:
Input → prediksi → hasil/bukti atau simulasi → analisis:
Jenis bukti: simulasi kertas / aplikasi aktual

12. EVALUASI
Mengapa sistem layak digunakan:
Satu risiko/keterbatasan dan penanganannya:
Temuan mini-defense dan revisi V1:

16. Tugas Project Book — Minggu 7

  1. Gabungkan dan revisi P1–P6 menjadi Blueprint V1 sesuai bagian wajib.
  2. Gambar ulang flowchart dan ERD. Samakan nama entitas, PK, FK, dan data pada proses.
  3. Lengkapi CRUD Matrix seluruh entitas serta minimal lima aktivitas request–response.
  4. Telusuri satu fitur dari UI sampai response, termasuk tabel dan kolom yang berubah.
  5. Dokumentasikan satu berhasil dan minimal dua gagal, keadaan data sebelum/sesudah, serta jenis bukti.
  6. Tulis satu risiko dan mitigasinya. Perbaiki rancangan berdasarkan mini-defense.
  7. Siapkan Project Book untuk presentasi dan defense. Penyerahan mengikuti arahan dosen.
Produk akhir: Blueprint V1 yang dapat dijelaskan, didukung diagram dan telusur data. Implementasi aplikasi boleh menjadi bukti tambahan jika tersedia.

17. Mini-defense — Persiapan UTS

Latih penjelasan dengan sistem sendiri. Teman atau dosen memilih satu aktivitas dan menanyakan hubungan proses serta datanya.

Rancangan sesi 25 menit

  1. 5 menit: pilih fitur dan siapkan penjelasan.
  2. 8 menit: mahasiswa A menjelaskan, B bertanya.
  3. 8 menit: tukar peran.
  4. 4 menit: catat koreksi dan revisi.

Pertanyaan defense

  • Masalah apa yang fitur ini selesaikan?
  • Apa isi request, siapa pemeriksanya?
  • Di kolom mana data disimpan?
  • Mengapa FK berada di tabel itu?
  • Bagaimana jika proses gagal di tengah?
  • Mengapa sistem layak digunakan?
Penghubung P8: UTS berupa analisis dan perancangan melalui paper, presentasi, serta defense. Siapkan penjelasan masalah, aktor, flowchart, ERD, request–response, alur transaksi, dan dampak penghapusan data.

18. Quis Pertemuan 7

  1. Jelaskan komponen yang bekerja sejak klik Simpan sampai hasil ditampilkan.
  2. Bedakan peran UI, backend, logika bisnis, dan database dalam aktivitas sistem Anda.
  3. Mengapa backend menghitung ulang total walau form sudah menampilkannya?
  4. Apakah satu POST selalu berarti satu INSERT? Beri contoh dari kasus penjualan.
  5. Jumlah 12, stok 10: siapa menolak dan bagaimana keadaan data akhirnya?
  6. Jelaskan fungsi transaksi database saat penjualan dan detail disimpan pada dua tabel.
  7. Apa perbedaan status HTTP 400 dengan galat database 1452?
  8. Beri satu contoh ketidaksesuaian flowchart, ERD, dan CRUD Matrix serta perbaikannya.
  9. Jika response tidak diterima, apakah data pasti belum tersimpan? Jelaskan.
  10. Sebutkan isi utama Blueprint V1 dan perannya dalam defense sistem.

Quis dan pengumpulan mengikuti arahan dosen. Jawaban harus dikaitkan dengan sistem dan dapat dipertanggungjawabkan.

19. Ringkasan

Kebutuhan
masalah & aktor
→
Proses
flowchart & aturan
→
Data
ERD & CRUD
→
Interaksi web
request & response

Sistem yang dapat dijelaskan mempunyai hubungan jelas antara kebutuhan, proses, data, dan hasil.

Blueprint V1 menyatukan hubungan tersebut. Simpan Project Book, diagram, CRUD Matrix, dan catatan pengujian untuk UTS pada Pertemuan 8.

← Review Pertemuan 6: CRUD & Operasi Data

Glosarium

Istilah bergaris putus-putus dapat diarahkan kursor atau difokuskan untuk menampilkan definisi.

UI / User InterfaceTampilan dan kontrol untuk interaksi pengguna.
RequestPesan client ke server untuk meminta tindakan atau data.
BackendKode server yang memproses request dan menyusun response.
Business LogicAturan proses sesuai kebutuhan usaha.
ResponseBalasan server berisi status, header, dan dapat memuat isi.
EndpointAlamat tujuan request untuk suatu fungsi atau sumber daya.
ValidasiPemeriksaan bentuk dan ketentuan data.
Transaksi DatabaseOperasi data yang disahkan atau dibatalkan sebagai satu kesatuan.
COMMIT / ROLLBACKMengesahkan perubahan / membatalkan perubahan transaksi yang belum disahkan.
Post/Redirect/GetPOST berhasil diikuti pengalihan, kemudian GET halaman hasil.
Blueprint V1Rancangan awal yang menyatukan kebutuhan, proses, data, dan komunikasi web.
DefensePenjelasan dan pertanggungjawaban atas keputusan rancangan.