← Kembali ke Beranda
Ilustrasi Artikel

Proyek Web: Membangun Aplikasi Pelacak Pengeluaran Keuangan

Halo Sobat Jurnal Coding! Selamat datang kembali di ruang eksplorasi kategori Proyek.

Mari kita bicara jujur dari hati ke hati. Berapa kali dalam sebulan kamu membuka dompet atau mengecek saldo rekening di ponsel pintar milikmu, lalu tiba-tiba merasa kaget sendiri melihat angkanya menyusut drastis? Kamu mungkin bergumam dalam hati sambil mengerutkan dahi, "Lho, kok uang tabunganku sudah mau habis saja? Perasaan kemarin baru gajian dan belum beli barang mahal, tapi uangnya lari ke mana ya?"

Perasaan bersalah dan kebingungan seperti itu sangat wajar. Tenang saja, kamu tidak sendirian. Hampir semua orang di dunia modern ini, baik itu pelajar sekolah, mahasiswa yang merantau, maupun pekerja kantoran, sering kali mengalami sindrom kebocoran uang yang misterius ini. Di zaman serba cepat ini, kita sering membeli kopi kekinian di pagi hari, jajan camilan kecil saat sore, atau membayar biaya langganan layanan hiburan bulanan tanpa pernah mencatatnya secara disiplin. Pada akhirnya, kumpulan pengeluaran kecil yang menumpuk itu ibarat rayap yang secara diam-diam menghisap habis kondisi finansial kita.

Sebagai seorang calon pengembang perangkat lunak, kamu memiliki kemampuan luar biasa yang tidak dimiliki banyak orang. Kamu diajarkan untuk memecahkan masalah kehidupan sehari-hari menggunakan keajaiban baris kode teknologi. Nah, daripada kita selalu bergantung pada aplikasi pencatat keuangan buatan perusahaan luar yang sering kali menyulitkan kita dengan fitur berbayar atau iklan yang sangat mengganggu, bagaimana kalau kita membuat mesin pencatat keuangan rahasia kita sendiri?

Pada proyek interaktif kali ini, kita akan membangun sebuah aplikasi antarmuka web bernama Pelacak Pengeluaran Harian. Aplikasi ini memiliki fungsi yang sangat spesifik dan praktis: ia akan memungkinkan kamu untuk mengetikkan nama barang yang kamu beli beserta nominal harganya. Seketika setelah tombol ditekan, aplikasi pintar ini akan mencatat riwayat barang tersebut ke dalam daftar dan langsung memperbarui angka total pengeluaranmu secara otomatis di layar.

Proyek ini adalah sarana latihan yang sangat luar biasa sempurna untuk mengasah kemampuanmu dalam memanipulasi perhitungan angka, menangani masukan dari formulir pengguna, dan merakit elemen antarmuka baru secara langsung menggunakan kekuatan logika bahasa JavaScript murni. Mari kita siapkan secangkir minuman hangat kesukaanmu, lenturkan jari-jemarimu yang sudah tidak sabar untuk mengetik kode, dan mari kita mulai merancang asisten keuangan pribadimu!


Langkah 1: Menyiapkan Brankas Penyimpanan (HTML)


Setiap mahakarya aplikasi yang hebat selalu berawal dari pembuatan kerangka bangunan yang kokoh. Untuk pelacak pengeluaran ini, kerangka yang kita butuhkan cukup sederhana namun padat fungsi. Kita membutuhkan sebuah layar utama raksasa yang bertugas menampilkan angka total uang yang sudah dihabiskan, sebuah area kotak isian untuk mengisi data detail (nama pengeluaran dan jumlah uang), serta sebuah wadah daftar kosong untuk menampung riwayat belanja yang akan terus memanjang.

Silakan buat file HTML baru di dalam perangkat komputermu, berikan nama yang mudah diingat, dan ketikkan kerangka struktur menawan berikut ini:


<div id="wadah-aplikasi">
<h1>Pelacak Pengeluaran Keuangan</h1>

<div class="kotak-total">
<h3>Total Pengeluaran:</h3>
<h2 id="total-uang">Rp 0</h2>
</div>

<div class="area-input">
<input type="text" id="nama-barang" placeholder="Beli apa hari ini?">
<input type="number" id="harga-barang" placeholder="Berapa harganya?">
<button id="tombol-tambah">Catat Pengeluaran Sekarang</button>
</div>

<ul id="daftar-riwayat">
<!-- Riwayat belanja akan bermunculan di sini -->
</ul>
</div>


Rahasianya terletak pada pengaturan tipe masukan yang kita gunakan di atas. Perhatikan dengan saksama bahwa untuk kolom harga barang, kita sengaja menggunakan tipe angka. Ini adalah trik sederhana namun sangat cerdas dari antarmuka HTML agar ketika layar disentuh melalui ponsel, papan ketik pengguna otomatis memunculkan susunan angka, sehingga mereka tidak bisa memasukkan huruf secara tidak sengaja ke dalam kolom harga. Hal kecil ini sangat krusial untuk memudahkan pengguna!


Langkah 2: Menghias Aplikasi Menjadi Megah (CSS)


Aplikasi pencatatan keuangan pribadi harus selalu terlihat bersih, bisa dipercaya, dan memancarkan aura kemewahan. Kita tentu tidak ingin aplikasi pelacak uang kebanggaan kita terlihat kaku dan usang seperti desain website dari dekade yang lalu. Mari kita manfaatkan sihir CSS gaya Glassmorphism yang selama ini sudah menjadi identitas khas dari semua proyek premium di situs ini. Kita akan menggunakan paduan warna latar gelap gulita dengan sentuhan aksen warna merah menyala untuk melambangkan alarm peringatan uang yang keluar dari dompetmu.


body {
background-color: #0f172a;
color: #f8fafc;
display: flex;
justify-content: center;
padding-top: 50px;
font-family: sans-serif;
margin: 0;
}

#wadah-aplikasi {
background: rgba(255, 255, 255, 0.05);
padding: 30px;
border-radius: 16px;
width: 100%;
max-width: 450px;
box-shadow: 0 10px 30px rgba(0,0,0,0.5);
border: 1px solid rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
}

.kotak-total {
background: rgba(255, 76, 76, 0.1);
border: 1px solid #ff4c4c;
padding: 20px;
border-radius: 12px;
text-align: center;
margin-bottom: 25px;
}

#total-uang {
color: #ff4c4c;
font-size: 36px;
margin: 10px 0 0 0;
}

.area-input {
display: flex;
flex-direction: column;
gap: 15px;
}

input {
padding: 15px;
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.2);
background: rgba(255, 255, 255, 0.05);
color: white;
font-size: 16px;
}

button {
background-color: #00ffff;
color: #0f172a;
border: none;
padding: 15px;
font-size: 18px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
transition: 0.3s;
}

button:hover {
background-color: #ffffff;
}

ul {
list-style: none;
padding: 0;
margin-top: 30px;
}

li {
background: rgba(255, 255, 255, 0.05);
padding: 15px;
border-radius: 8px;
margin-bottom: 10px;
display: flex;
justify-content: space-between;
border-left: 4px solid #ff4c4c;
}


Cobalah simpan kode desain tersebut dan buka file HTML kamu di peramban web! Layar komputermu kini dihiasi oleh sebuah aplikasi finansial dengan estetika kaca buram yang sangat memukau. Namun, meskipun tombolnya sudah bisa ditekan dan menyala terang, aplikasi ini hanyalah sebuah benda mati yang belum bisa menghitung apapun. Mari kita bangun mesin otak kecerdasannya di langkah penentuan ini!


Langkah 3: Menghidupkan Sang Akuntan Cerdas (JavaScript)


Di sinilah pemrograman logis yang sesungguhnya terjadi dan menguji seluruh pengetahuan yang telah kamu pelajari. Kita harus memerintahkan komputer untuk menangkap apa saja yang diketikkan oleh pengguna, mengubah data harga dari sekadar teks biasa menjadi wujud angka matematika murni, menjumlahkannya dengan total tagihan sebelumnya secara terus-menerus, dan memunculkan baris riwayat barang di layar secepat kilat.

Silakan masukkan logika JavaScript yang sangat elegan ini ke dalam struktur proyekmu:


let jumlahTotal = 0;

const inputNama = document.getElementById("nama-barang");
const inputHarga = document.getElementById("harga-barang");
const tombolCatat = document.getElementById("tombol-tambah");
const teksTotal = document.getElementById("total-uang");
const daftarRiwayat = document.getElementById("daftar-riwayat");

tombolCatat.addEventListener("click", function() {
let namaBarang = inputNama.value;
let hargaBarang = inputHarga.value;

if (namaBarang === "" || hargaBarang === "") {
alert("Peringatan: Kamu tidak boleh mengosongkan nama barang atau harganya!");
return;
}

let hargaAngka = parseInt(hargaBarang);

jumlahTotal = jumlahTotal + hargaAngka;

teksTotal.innerText = "Rp " + jumlahTotal.toLocaleString("id-ID");

let elemenBaru = document.createElement("li");
elemenBaru.innerHTML = "<span>" + namaBarang + "</span> <span>Rp " + hargaAngka.toLocaleString("id-ID") + "</span>";

daftarRiwayat.appendChild(elemenBaru);

inputNama.value = "";
inputHarga.value = "";
});


Membedah Misteri Kode: Bagaimana Sistem Ini Terjadi?

Bagi kamu yang baru pertama kali berurusan dengan operasi angka di dalam JavaScript, jangan merasa takut atau berkecil hati. Mari kita bedah rahasia di balik layar bersama-sama menggunakan bahasa manusia sehari-hari yang mudah dipahami.

Rahasia pertama yang membuat aplikasi ini mampu menghitung dengan akurat adalah sebuah fungsi pembersih bernama fungsi pengubah teks ke angka. Mengapa kita membutuhkannya? Ketahuilah sebuah rahasia gelap dunia pemrograman: bahwa setiap kali kamu mengambil data dari kotak isian di layar HTML, komputer selalu menganggap data tersebut sebagai sebuah teks kalimat murni, meskipun yang kamu ketikkan adalah deretan angka puluhan ribu.

Coba bayangkan skenario ini: Jika kamu mencoba menjumlahkan teks angka ditambah angka yang lain tanpa fungsi konversi tersebut, komputer bukannya memberikan hasil perhitungan matematika yang benar, melainkan akan menempelkannya berdampingan menjadi teks konyol yang sangat panjang dan tidak masuk akal! Sebagai contoh, jika harga barang pertama adalah 10000 dan harga barang kedua adalah 20000, komputer akan menggabungkannya menjadi 1000020000. Sangat kacau, bukan? Nah, fungsi konversi bertindak sebagai petugas bea cukai khusus yang memaksa teks tersebut dilucuti dan berubah wujud kembali menjadi entitas angka murni yang siap dijumlahkan secara matematika.

Lalu, apa maksud dari fungsi konversi standar lokal untuk mata uang? Ini adalah sedikit trik sihir pemrograman tingkat lanjut yang sangat berguna untuk kita semua! Alih-alih menampilkan angka biasa tanpa format yang sulit dibaca oleh mata manusia, fungsi ajaib ini akan otomatis mendeteksi standar mata uang yang berlaku dan menambahkan tanda titik pemisah ribuan secara elegan. Hasil akhirnya, angka ribuan akan tampil rapi dan tertata dengan sangat pintar, seperti penulisan standar pada struk belanja asli. Sangat memanjakan mata siapa pun yang melihatnya, bukan?

Sebagai tambahan, perhatikan juga bagaimana kita menggunakan perintah untuk membuat elemen baru di dalam daftar riwayat. Setiap kali tombol catat ditekan, asisten gaib JavaScript kita akan berlari ke belakang panggung, memproduksi sebuah baris baru dari ketiadaan, menyuntikkan nama barang serta harganya ke dalam baris tersebut, lalu menempelkannya ke layar utama tanpa perlu memuat ulang halaman peramban secara keseluruhan. Inilah inti kekuatan dari aplikasi web modern yang kamu nikmati setiap harinya!

Kesimpulan Proyek dan Nasihat Penting

Berikan apresiasi yang sangat meriah untuk pencapaianmu yang luar biasa pada hari ini! Kamu baru saja berhasil membangun sebuah purwarupa aplikasi pencatatan keuangan modern dari nol tanpa bergantung pada platform pihak ketiga. Proyek mahakarya ini tidak hanya melatih pemahamanmu secara drastis tentang manipulasi layar interaktif secara instan, tetapi juga mengajarkanmu pelajaran berharga mengenai bagaimana menangani dan mengonversi tipe data secara aman dan efisien.

Mulai sekarang, aplikasi hebat ini sepenuhnya menjadi hak milikmu. Kamu bebas untuk merombak atau mengembangkannya jauh melampaui batasan ini. Sebagai tantangan selanjutnya, kamu mungkin bisa menambahkan fitur tombol hapus untuk membatalkan riwayat salah ketik, atau bahkan menyimpan data tagihan tersebut secara permanen ke dalam memori peramban yang sudah kita pelajari pada materi kelas sebelumnya.

Teruslah berlatih menulis baris demi baris kode tanpa kenal lelah, pantau terus pengeluaran harianmu agar tabungan masa depan tidak jebol, dan sampai jumpa di petualangan kode yang jauh lebih menakjubkan pada kategori proyek berikutnya di Jurnal Coding!

Apa pendapatmu tentang artikel ini?