Project Overview — BAB 11
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah menyelesaikan halaman ini, kamu diharapkan dapat:
- Menjelaskan fitur-fitur utama yang ada di dalam aplikasi SIAKAD-Konsol.
- Memahami alur interaksi pengguna dengan menu konsol.
- Menjelaskan bagaimana data mengalir di dalam aplikasi.
Pendahuluan
Section titled “Pendahuluan”Sebelum membangun sebuah sistem, kita harus memahami terlebih dahulu apa kegunaan dari sistem tersebut dan bagaimana cara kerjanya secara garis besar.
Aplikasi yang akan kita bangun adalah Sistem Informasi Akademik Konsol (SIAKAD-Konsol). Ini adalah aplikasi berbasis teks (terminal/konsol) yang berjalan secara interaktif dengan menyuguhkan menu pilihan angka kepada pengguna.
Penjelasan
Section titled “Penjelasan”SIAKAD-Konsol dirancang untuk mengelola data akademik sekolah yang meliputi:
- Pendaftaran Siswa: Menerima input nama, kelas, dan NIS baru.
- Penilaian Ujian: Memperbarui nilai rata-rata siswa secara aman (dengan enkapsulasi).
- Pengelolaan Guru: Menyimpan data guru beserta status kehadirannya (menggunakan Enum).
- Pemuatan Tugas Online: Menghubungkan aplikasi dengan server API internet secara asynchronous untuk mem-fetch data tugas simulasi.
Pengguna berinteraksi dengan mengetikkan angka pilihan menu (0-5) pada terminal. Program akan terus menampilkan menu utama tersebut sampai pengguna mengetikkan angka 0 untuk keluar.
Analogi Kehidupan Sehari-hari: Maket Miniatur Rumah
Section titled “Analogi Kehidupan Sehari-hari: Maket Miniatur Rumah”Bayangkan sebelum seorang kontraktor membangun gedung sekolah bertingkat yang megah, ia membuat maket miniatur gedung terlebih dahulu dari bahan karton dan plastik di atas meja:
Gedung Sekolah Nyata ──► Aplikasi web visual dengan database MySQL asliMaket Miniatur Karton ──► Aplikasi konsol terminal (SIAKAD-Konsol)Maket miniatur tersebut memiliki pintu, sekat ruangan, tangga, dan atap yang sama persis rancangannya dengan gedung asli, hanya saja disederhanakan bahannya. Aplikasi konsol kita adalah maket miniatur: ia memiliki semua logika data, keamanan tipe, dan validasi objek asli, namun ditampilkan dalam bentuk teks terminal agar mudah dipelajari dari nol.
Visual Illustration: Alur Navigasi Aplikasi
Section titled “Visual Illustration: Alur Navigasi Aplikasi” === MENU UTAMA SIAKAD === [1] Tampilkan Laporan Siswa [2] Tambah Siswa Baru [3] Update Nilai Ujian Siswa [4] Tampilkan Daftar Guru [5] Ambil Tugas Online (Fetch API Async) [0] Keluar AplikasiLive Coding: Struktur Logika Menu
Section titled “Live Coding: Struktur Logika Menu”Berikut adalah kerangka visual bagaimana menu utama tersebut berulang menggunakan loop while:
// Kode representasi konsep alur menulet berjalan = true;
while (berjalan) { console.log("1. Tampilkan | 0. Keluar"); const pilihan = "1"; // Simulasi input user
if (pilihan === "1") { console.log("Menampilkan data..."); } else if (pilihan === "0") { console.log("Keluar..."); berjalan = false; }}Output
Section titled “Output”Hasil eksekusi kerangka menu di atas di terminal:
1. Tampilkan | 0. KeluarMenampilkan data...1. Tampilkan | 0. KeluarMenampilkan data...... (akan berulang terus jika berjalan tidak bernilai false)Penjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”let berjalan = true;: Variabel kontrol loop. Selama bernilaitrue, menu akan terus diulang.while (berjalan): Perulanganwhile(BAB 3) untuk mengulang pencetakan menu secara terus-menerus.if (pilihan === "0") { berjalan = false; }: Mengubah variabel kontrol menjadifalseagar perulangan berhenti saat user ingin keluar.
Common Mistakes
Section titled “Common Mistakes”- Infinite Loop: Lupa mengubah nilai variabel kontrol
berjalanmenjadifalsesaat pengguna memilih menu keluar, akibatnya terminal akan membeku mencetak menu tanpa akhir. - Salah Tipe Input: Mengira input dari keyboard otomatis bertipe number. Input terminal selalu dibaca sebagai
string, sehingga kita harus menggunakan perbandingan string"1", bukan angka1.
Ringkasan
Section titled “Ringkasan”- SIAKAD-Konsol mengelola data siswa, guru, dan integrasi tugas online.
- Menggunakan loop
whileinteraktif untuk menyajikan menu pilihan. - Menggunakan
stringsebagai input penentu pilihan menu dari pengguna.
Latihan
Section titled “Latihan”- Gambarkan bagan alur (flowchart) sederhana dari navigasi menu utama SIAKAD-Konsol di buku catatanmu.
- Jelaskan kapan perulangan menu utama akan berhenti berjalan.