Software Design Document
SCOUT
(Smart Customer Outreach & Understanding Tool)
Software Design Document
Section 1 – Deskripsi Proyek
1.1 Judul Project
SCOUT (Smart Customer Outreach & Understanding Tool)
1.2 Deskripsi
Dokumen ini bertujuan untuk mendeskripsikan arsitektur dan desain perangkat lunak SCOUT.
Dokumen ini menjelaskan desain UI, antarmuka pengguna, struktur database, dan alur data yang
digunakan dalam sistem.
Sistem SCOUT dirancang sebagai portal aplikasi berbasis web (MVP) untuk membantu tim
penjualan (telemarketing) perbankan dalam meningkatkan efisiensi kampanye deposito berjangka.
Sistem ini mencakup fitur dashboard analitik yang memprioritaskan nasabah berdasarkan skor
probabilitas berlangganan yang dihasilkan oleh model Machine Learning, serta fitur manajemen
status prospek untuk pencatatan hasil interaksi.
1.3 Revision History
Date Comment Author
Page 2 of 22
Software Design Document
Section 2 - Overview
2.1 Tujuan Proyek
Proyek ini bertujuan untuk meningkatkan efisiensi tim sales dan tingkat konversi produk deposito
berjangka dengan menyediakan daftar prospek yang telah diprioritaskan secara cerdas menggunakan
Machine Learning.
2.2 Batasan Proyek
Dalam implementasinya, proyek ini memiliki beberapa batasan yang perlu diperhatikan, yaitu:
1. Sistem yang dibangun adalah prototype (MVP) dan bukan sistem perbankan skala penuh
(Core Banking).
2. Fungsionalitas login adalah simulasi untuk membedakan peran Admin dan Telemarketing.
3. Akurasi prediksi sangat bergantung pada kualitas "Bank Marketing Dataset" dari UCI
Machine Learning Repository.
2.3 Requirement
WBS Duration
Task Title Task Owner Start Date Due Date
Number (days)
1 Project Management
1.a Project Planning Dzaky - PM 16/10/2025 23/10/2025 6
1.b Risk Management Dzaky - PM 24/10/2025 05/12/2025 31
1.c Progress Monitoring &
Dzaky - PM 24/10/2025 05/12/2025 31
Reporting
1.d Quality Assurance Dzaky - PM 08/12/2025 12/12/2025 5
1.e Stakeholder Communication Dzaky - PM 15/12/2025 18/12/2025 4
2 Analisis Kebutuhan Data
2.a Membuat Project Charter Dzaky - SA 16/10/2025 22/10/2025 5
2.b Analisis Dataset Tsabit - SA 17/10/2025 22/10/2025 4
2.c Definisi Fitur MVP Dzaky - SA 20/10/2025 23/10/2025 4
2.d WBS Development Dzaky - SA 20/10/2025 23/10/2025 4
2.e Studi Literatur Dzaky - SA 21/10/2025 23/10/2025 3
Page 3 of 22
Software Design Document
3 Machine Learning Engineering
3.a Data Preprocessing & Cleaning Wahid - ML 24/10/2025 28/10/2025 3
3.b Model Training Sad - ML 29/10/2025 31/10/2025 3
3.c Model Evaluation Sad - ML 03/11/2025 05/11/2025 3
3.d Model Finalization & Export Wahid - ML 06/11/2025 07/11/2025 2
4 Pemodelan & Perancangan Sistem
4.a Pembuatan UML Tsabit - SA 03/11/2025 10/11/2025 6
4.b Pembuatan ERD Tsabit - SA 03/11/2025 07/11/2025 5
4.c Perancangan UI/UX di Figma Junior - UI 28/10/2025 10/11/2025 10
4.d Perancangan Arsitektur API Dzaky - SA 05/11/2025 10/11/2025 4
5 Pengembangan Sistem
5.a Setup Environment & GitHub
Tsabit - BE 11/11/2025 12/11/2025 2
Repository
5.b Setup Database Wahid - BE 12/11/2025 14/11/2025 3
5.c Frontend Development Sad - FE 17/11/2025 05/12/2025 15
5.d Tsabit - BE,
Backend Development 17/11/2025 05/12/2025 15
Wahid - BE
5.e Integrasi Model ML ke Backend Tsabit - BE 28/11/2025 03/12/2025 4
5.f Integrasi Database & API ke
Sad - FE 03/12/2025 05/12/2025 3
Frontend
6 Pengujian Sistem
6.a Unit Testing Dzaky - SA 08/12/2025 10/12/2025 3
6.b Integration Testing Dzaky - SA 08/12/2025 10/12/2025 3
6.c Model Accuracy Testing Dzaky - SA 08/12/2025 10/12/2025 3
6.d User Acceptance Testing Dzaky - SA 09/12/2025 10/12/2025 2
6.e Bug Fixing & Performance
Tsabit - SA 11/12/2025 12/12/2025 2
Tuning
7 Dokumentasi & Penyerahan
Page 4 of 22
Software Design Document
7.a Penyusunan User Manual Junior - UI 15/12/2025 17/12/2025 3
7.b Dokumentasi Arsitektur Sistem Dzaky - SA 15/12/2025 17/12/2025 3
7.c Final Presentation / Launching Dzaky - PM 18/12/2025 18/12/2025 1
2.3.1 Estimates
# Description Days Est.
1 Perencanaan dan pengawasan jalannya proyek 46
2 Eksplorasi dataset dan definisi fitur 6
3 Pengembangan dan pelatihan model prediksi. 11
4 Desain arsitektur, database, dan UI/UX 10
5 Coding aplikasi dan integrasi model 20
6 Validasi fungsionalitas dan akurasi sistem 5
7 Penyusunan panduan dan serah terima 4
TOTAL 102
2.3.2 Traceability Matrix
SRS Requirement SDD Module
1. Antarmuka Perangkat Lunak Figma
2. Use Case & Activity Diagram Use Case & Activity Diagram
3. Entity Relational Diagram Entity Relational Diagram
4. Data Flow Diagram Data Flow Diagram
5. Class Diagram Class Diagram
6. Business Process Model & Notation Business Process Model and Notation
7. Work Breakdown Structure Work Breakdown Structure
Page 5 of 22
Software Design Document
Section 3 - System Architecture
Arsitektur sistem SCOUT dirancang untuk meningkatkan efisiensi operasional tim penjualan dan tingkat
konversi produk perbankan, dengan bantuan Model Machine Learning untuk memprediksi dan
memprioritaskan nasabah potensial secara akurat.
3.1 Sisi Klien (Frontend)
● Menyediakan dashboard interaktif yang menampilkan daftar prospek dengan indikator skor
(Hot/Warm/Cold) yang mudah dipahami oleh tim sales.
● Memungkinkan pencarian, filter berdasarkan skor/demografi, dan pembaruan status prospek
(misal: "Tertarik", "Menolak").
● Mengonsumsi REST API dari backend untuk menampilkan data nasabah dan prediksi.
3.2 Sisi Server (Backend) & AI
● Mengelola permintaan dari frontend dan komunikasi dengan database.
● Menyediakan endpoint khusus yang menerima data nasabah dan mengembalikan skor
probabilitas (0-100%).
● Mengelola otentikasi untuk Admin dan Telemarketing.
3.3 Peran Pengguna (Roles)
● Admin: Mengelola akun pengguna (bankir), menginput data prospek baru (upload CSV), dan
melihat konfigurasi sistem.
● Telemarketing (Sales): Melihat dashboard prioritas, memfilter prospek, melihat detail nasabah,
dan memperbarui status hasil panggilan.
Page 6 of 22
Software Design Document
Section 4 - Data Dictionary
4.1 Tabel User
Field Name Notes Type Field Size Constraint
user_id identifikasi unik pengguna UUID - PK
username Nama akun untuk login VARCHAR 50 Unique
password kata sandi (terenkripsi) VARCHAR 255 -
full_name Nama lengkap karyawan VARCHAR 100 -
role Peran pengguna (Admin/Sales) VARCHAR 20 -
4.2 Tabel Prospek
Field Name Notes Type Field Size Constraint
ID unik (harus ditambahkan manual karena
id dataset asli tidak punya) INT - PK
age Umur nasabah INT - -
job Jenis pekerjaan VARCHAR 50 -
marital Status pernikahan VARCHAR 20 -
education Tingkat pendidikan VARCHAR 50 -
default Punya kredit macet? (yes/no) VARCHAR 10 -
housing Punya KPR rumah? (yes/no) VARCHAR 10 -
loan Punya pinjaman pribadi? (yes/no) VARCHAR 10 -
contact Jenis alat komunikasi VARCHAR 20 -
month Bulan kontak terakhir VARCHAR 10 -
day_of_week Hari kontak terakhir VARCHAR 10 -
duration Durasi telepon INT - -
campaign Jumlah kontak selama kampanye ini INT - -
pdays Hari sejak kontak terakhir (999 = belum) INT - -
previous Jumlah kontak sebelum kampanye ini INT - -
Hasil kampanye sebelumnya
poutcome (success/failure) VARCHAR 20 -
emp_var_rate Employment Variation Rate (Kondisi kerja) FLOAT - -
cons_price_idx Consumer price index (Inflasi) FLOAT - -
Consumer confidence index (keyakinan
cons_conf_idx konsumen) FLOAT - -
Page 7 of 22
Software Design Document
euribor3m Suku bunga Euriber 3 bulan FLOAT - -
nr_employed Jumlah karyawan nasional FLOAT - -
y Status aktual (apakah dia deposit?) VARCHAR 5 -
prediction_score
(baru) Skor probabilitas dari ML (0.0 - 1.0) FLOAT - -
4.3 Tabel Riwayat Interaksi
Field Name Notes Type Field Size Constrai
nt
interaction_id ID unik interaksi INT - PK
prospect_id ID nasabah yang dihubungi INT - FK
user_id ID sales yang menghubungi INT - FK
contact_date Tanggal & jam menghubungi DATETIME - -
notes Catatan manual sales TEXT - -
outcome Hasil telepon VARCHAR - -
Page 8 of 22
Software Design Document
Section 5 - Software Domain Design
5.1 Software Application Domain Chart
5.2 Software Application Domain
Dalam konteks sistem SCOUT, aplikasi ini mencakup beberapa domain utama yang saling terhubung
untuk mendukung alur kerja prediksi penjualan. Setiap domain memiliki fungsionalitas spesifik yang
mendukung tujuan efisiensi tim penjualan. Berikut adalah deskripsi masing-masing domain utama
dalam sistem:
5.2.1 Domain Autentikasi
Proses verifikasi identitas pengguna untuk memastikan keamanan akses. Sistem membedakan hak
akses antara Admin (pengelola) dan Telemarketing (pengguna operasional).
Fungsi Utama:
● Memvalidasi kredensial pengguna (username dan password).
● Mengatur sesi login dan logout pengguna.
● Mencegah akses tidak sah dengan sistem keamanan berbasis peran (Role-Based Access
Control).
● Mengarahkan pengguna ke halaman yang sesuai (Admin ke Panel Admin, Sales ke
Dashboard).
Hubungan dengan Domain Lain:
● Menjadi pintu masuk ke domain Akun Pengguna. Tanpa autentikasi, fitur dashboard dan
manajemen data tidak dapat diakses.
5.2.2. Domain Akun Pengguna
Page 9 of 22
Software Design Document
Domain ini menangani entitas data pengguna yang terdaftar dalam sistem. Pengguna memiliki
peran yang menentukan batasan fitur yang bisa mereka gunakan.
Fungsi Utama:
● Menyimpan profil data pengguna (Nama, ID Karyawan, Tim).
● Mengatur peran pengguna (Admin vs Telemarketing).
● Menyediakan data dasar untuk pelacakan aktivitas (siapa yang mengupdate status prospek).
Hubungan dengan Domain Lain:
● Autentikasi: Sumber data untuk verifikasi login.
● Manajemen Data Master: Akun dikelola (dibuat/diupdate) oleh Admin melalui domain ini.
5.2.3 Domain Manajemen Data Master (Admin)
Domain khusus bagi Admin untuk mempersiapkan data sistem. Ini menggantikan fungsi registrasi
mandiri, di mana Admin bertanggung jawab penuh atas input data awal.
Fungsi Utama:
● Menyediakan fitur upload dataset prospek baru (misalnya format CSV).
● Mengelola akun bankir (membuat, mengedit, menonaktifkan akun tim sales).
● Memvalidasi format data input sebelum diproses lebih lanjut.
Hubungan dengan Domain Lain:
● Operasional Penjualan: Data prospek yang diunggah di sini akan dikirim ke domain
Operasional untuk ditampilkan hasilnya.
● Akun Pengguna: Admin melakukan operasi CRUD (Create, Read, Update, Delete) terhadap
data akun.
5.2.4 Domain Operasional Penjualan
Domain antarmuka utama bagi tim sales. Domain ini menangani interaksi harian pengguna
dengan daftar prospek yang telah diprioritaskan.
Fungsi Utama:
● Menampilkan Dashboard daftar prospek yang diurutkan berdasarkan skor tertinggi.
● Menyediakan fitur filter dan pencarian data nasabah.
● Menampilkan detail informasi nasabah untuk membantu percakapan.
● Memperbarui status prospek (misal: Tertarik, Menolak, Callback) setelah interaksi dilakukan.
Hubungan dengan Domain Lain:
● Manajemen Data Master: Menerima input dari domain Manajemen Data Master serta
mengonsumsi data hasil prediksinya untuk ditampilkan.
● Akun Pengguna: Mencatat riwayat interaksi berdasarkan ID pengguna yang sedang login
(Audit Trail).
Page 10 of 22
Software Design Document
Section 6 – Data Design
Database dalam proyek ini menyimpan berbagai data penting yang terorganisir berdasarkan domain
fungsional. Struktur dan isi database dirancang untuk mendukung kebutuhan lintas domain, memastikan
efisiensi dan skalabilitas.
6.1 Entity Relational Diagram
Diagram ini menggambarkan relasi entitas dari database yang digunakan untuk mengelola data dalam
sistem.
Page 11 of 22
Software Design Document
Section 7 - User Interface Design
7.1 User Interface Design Overview
7.1.1 Tampilan Login
7.1.2 Tampilan Lupa Password
Page 12 of 22
Software Design Document
7.1.3 Tampilan Reset Password
7.1.4 Tampilan Dashboard
Page 13 of 22
Software Design Document
7.1.5 Tampilan Pengelolaan Akun
7.1.6 Tampilan Input Data Prospek
Page 14 of 22
Software Design Document
7.1.7 Tampilan Pengelolaan Dashboard
7.1.8 Tampilan Update Status
Page 15 of 22
Software Design Document
7.2 Flow Chart System
Proses dimulai ketika pengguna (Admin atau Telemarketing) mengakses portal dan memasukkan
kredensial untuk melakukan login. Sistem akan memvalidasi data tersebut dan mengarahkan pengguna ke
halaman yang sesuai dengan hak aksesnya.
Jika pengguna adalah Admin, alur berfokus pada persiapan data. Admin dapat melakukan
pengelolaan akun bankir atau memilih menu untuk menginput data prospek baru. Ketika Admin
mengunggah dataset baru, sistem secara otomatis menjalankan model Machine Learning di latar belakang
untuk menghitung skor probabilitas bagi setiap nasabah dan menyimpannya ke dalam database.
Jika pengguna adalah Telemarketing, sistem langsung menampilkan Dashboard Utama. Pada tahap
ini, sistem menyajikan daftar nasabah yang sudah diurutkan berdasarkan skor prioritas tertinggi (Hot
Leads). Telemarketing dapat menggunakan fitur filter untuk mengerucutkan pencarian.
Selanjutnya, Telemarketing memilih salah satu nasabah untuk melihat detail penting sebagai bahan
percakapan. Setelah melakukan panggilan atau interaksi, Telemarketing diwajibkan untuk mengupdate
status prospek (misalnya: "Tertarik", "Menolak", atau "Callback").
Page 16 of 22
Software Design Document
Alur berakhir ketika status berhasil diperbarui dan tersimpan di sistem, yang kemudian akan
memperbarui tampilan dashboard secara real-time untuk menghilangkan prospek yang sudah diproses dari
daftar prioritas.
7.3 Use Case / User Function Description
Use case ini dirancang berdasarkan peran-peran (roles) yang terbentuk sesuai dengan kebutuhan
pengguna dalam sistem SCOUT. Setiap peran memiliki tugas dan fungsinya masing-masing, yang
mencerminkan apa saja yang dapat dilakukan oleh setiap role dalam sistem untuk mencapai tujuan
efisiensi penjualan.
7.3.1 Admin
Admin bertindak sebagai pengelola sistem yang bertanggung jawab atas manajemen pengguna
dan penyediaan data untuk tim penjualan. Fungsi-fungsi yang dapat dilakukan oleh Admin
adalah:
● Melakukan Login: Masuk ke dalam sistem menggunakan kredensial admin untuk
mendapatkan akses ke fitur pengelolaan.
● Melihat Dashboard: Mengakses tampilan utama setelah login untuk melihat ringkasan
aktivitas atau status sistem (via include dari login).
● Mengelola Akun Bankir: Menambah, mengedit, atau menonaktifkan akun pengguna untuk
tim Telemarketing agar mereka dapat mengakses sistem.
● Mengelola Dashboard: Melakukan konfigurasi atau pengaturan terhadap tampilan dan metrik
yang muncul pada dashboard utama.
● Menginput Data Prospek Baru: Mengunggah atau memasukkan data nasabah baru (dataset)
ke dalam sistem untuk diproses oleh model prediksi.
Page 17 of 22
Software Design Document
7.3.2 Telemarketing
Telemarketing adalah pengguna operasional utama yang menggunakan sistem untuk mencari dan
menghubungi nasabah potensial. Fungsi-fungsi yang dapat dilakukan oleh Telemarketing adalah:
● Melakukan Login: Masuk ke dalam sistem menggunakan akun yang telah dibuatkan oleh
Admin.
● Melihat Dashboard: Melihat daftar prospek yang telah diprioritaskan dan informasi kinerja
pada halaman utama setelah login.
● Memfilter Daftar Prospek: Melakukan penyaringan data prospek berdasarkan kriteria tertentu
(misalnya skor prediksi, demografi, atau status) untuk menemukan target yang tepat.
● Melihat Detail Penting Prospek: Mengakses informasi rinci mengenai seorang nasabah
(seperti saldo, pekerjaan, riwayat pinjaman) untuk membantu dalam percakapan penjualan
(extended dari fungsi filter).
● Mengupdate Status Prospek: Memperbarui status nasabah di sistem (misalnya: "Tertarik",
"Menolak", "Callback") setelah melakukan interaksi atau panggilan.
Page 18 of 22
Software Design Document
Section 8 - Other Interfaces
8.1 Machine Learning Model Serving API
Modul Backend Web Portal berinteraksi dengan layanan Model Serving (Python/Flask/FastAPI) untuk
memproses data nasabah baru. Antarmuka ini digunakan untuk mengirimkan data demografis nasabah
dan menerima respons berupa skor probabilitas dan label prediksi secara real-time atau batch.
● Teknologi: HTTP REST API
● Format Pesan: JSON
○ Input: Object JSON berisi fitur nasabah (contoh: age, job, marital, balance, housing, loan,
education).
○ Output: Object JSON berisi hasil prediksi (contoh: prediction_score: 0.85, label: "High
Potential").
● Protokol: HTTPS
● Authentication: Internal API Key / Token
● Failure Condition: Jika layanan ML tidak merespon dalam 10 detik atau mengembalikan error
(misal: format data salah), sistem web akan menandai status prediksi sebagai "Pending" dan
mencatat error log untuk ditinjau oleh Admin.
Page 19 of 22
Software Design Document
Section 9 - Extra Design Features / Outstanding Issues
9.1 Audit Trail & Activity Logging
Sistem dirancang untuk mencatat rekam jejak aktivitas (audit trail) yang dilakukan oleh pengguna,
terutama pada peran Telemarketing. Setiap perubahan status prospek (misalnya: dari 'Belum Dihubungi'
menjadi 'Tertarik') akan dicatat beserta timestamp dan ID pengguna yang melakukan perubahan. Fitur ini
bertujuan untuk memantau kinerja tim penjualan dan menjaga akuntabilitas data.
9.2 Validasi Dataset Otomatis
Untuk menjaga akurasi prediksi Machine Learning, sistem dilengkapi dengan fitur validasi data otomatis
pada modul Input Data Admin. Sebelum dataset (file CSV) diproses oleh model, sistem akan melakukan
pengecekan format dan tipe data (misalnya: memastikan kolom 'Usia' berisi angka positif, dan kolom
'Saldo' tidak kosong). Data yang tidak valid akan ditolak sistem untuk mencegah error pada saat kalkulasi
skor.
9.3 Future Improvements
Mengingat sistem saat ini dikembangkan sebagai Minimum Viable Product (MVP), terdapat beberapa
peningkatan yang direncanakan untuk pengembangan masa depan, antara lain:
● Integrasi core banking (real-time) yang menggantikan metode upload CSV manual dengan
integrasi API langsung ke sistem Core Banking atau Data Warehouse bank, sehingga data
nasabah baru dapat diprediksi secara real-time.
● Automated model retraining yang mengimplementasikan mekanisme di mana hasil interaksi sales
(data aktual 'Closing' atau 'Gagal') digunakan kembali untuk melatih ulang (retrain) model secara
berkala, sehingga akurasi prediksi model menjadi semakin cerdas seiring berjalannya waktu.
● Fitur gamifikasi sales dengan menambahkan elemen kompetisi seperti Leaderboard atau
pencapaian (Badges) pada dashboard Telemarketing untuk meningkatkan motivasi kerja tim
penjualan.
Page 20 of 22
Software Design Document
Section 10 – References
Moro, S., Cortez, P. and Rita, P. (2014) 'A Data-Driven Approach to Predict the Success of Bank
Telemarketing', Decision Support Systems, 62, pp. 22–31.
React (n.d.) React – A JavaScript library for building user interfaces. Available at: [Link]
(Accessed: 18 October 2025).
Salesforce (n.d.) What is Lead Scoring?. Available at:
[Link] (Accessed: 19 October 2025).
Scikit-learn Developers (n.d.) Scikit-learn: Machine Learning in Python. Available at:
[Link] (Accessed: 18 October 2025).
UCI Machine Learning Repository (2014) Bank Marketing Data Set. Available at:
[Link] (Accessed: 24 October 2025).
Page 21 of 22
Software Design Document
Section 11 – Glossary
SCOUT
Smart Customer Outreach & Understanding Tool, sistem portal web berbasis Machine Learning yang
dirancang untuk membantu tim telemarketing memprioritaskan nasabah potensial.
Lead / Prospek
Calon nasabah perbankan yang memiliki potensi untuk membeli produk atau layanan (dalam konteks ini,
deposito berjangka).
Lead Scoring
Metode memberikan nilai (skor) kepada setiap prospek berdasarkan karakteristik data mereka untuk
menentukan tingkat prioritas penanganan oleh tim penjualan.
Machine Learning (ML)
Cabang kecerdasan buatan (AI) yang digunakan dalam sistem ini untuk menganalisis data historis dan
memprediksi hasil di masa depan tanpa diprogram secara eksplisit.
Term Deposit (Deposito Berjangka)
Produk perbankan berupa simpanan berjangka dengan bunga tertentu yang menjadi objek utama
penjualan dalam kampanye telemarketing proyek ini.
Telemarketing
Metode pemasaran langsung di mana tenaga penjualan (sales) menghubungi calon nasabah melalui
telepon untuk menawarkan produk.
MVP (Minimum Viable Product)
Versi pengembangan awal dari sistem SCOUT yang hanya memiliki fitur-fitur inti (seperti dashboard dan
prediksi dasar) yang cukup untuk digunakan dan divalidasi oleh pengguna.
Dashboard Analitik
Antarmuka visual utama dalam aplikasi yang menampilkan daftar prospek, grafik kinerja, dan indikator
prioritas untuk memudahkan pengambilan keputusan oleh tim sales.
Dataset
Kumpulan data terstruktur (seperti data demografi, riwayat transaksi) yang digunakan untuk melatih dan
menguji model Machine Learning.
Page 22 of 22