Pernah kepikiran punya aplikasi tabungan sendiri, tapi mikirnya "wah pasti ribet, harus bayar developer"? Ternyata gak selalu begitu. Dengan Google Apps Script, kamu bisa bikin aplikasi tabungan sederhana cuma modal akun Google — gratis, gak perlu hosting, dan gak perlu jago coding.
Di artikel ini saya bakal kasih tutorial lengkap, dari nol sampai jadi, biar kamu bisa langsung praktik.
Apa itu Google Apps Script?
Google Apps Script (GAS) adalah bahasa pemrograman berbasis JavaScript buatan Google yang bisa "nyambung" langsung ke Google Sheets, Gmail, Drive, dan layanan Google lainnya. Karena jalan di server Google, kamu gak perlu beli hosting atau domain — cukup buka browser.
Kenapa Cocok Buat Aplikasi Tabungan?
- Data otomatis kesimpan di Google Sheet, jadi gampang dicek atau di-backup
- Bisa diakses lewat link, tanpa install aplikasi
- Gratis 100%, gak ada biaya server
- Cocok buat pemula karena sintaksnya mirip JavaScript biasa
Langkah 1: Siapkan Google Sheet
Buat spreadsheet baru, lalu isi baris pertama dengan kolom: Tanggal, Nama, Jenis, Jumlah, Saldo. Sheet ini yang bakal jadi "database" aplikasi kamu.
Langkah 2: Buka Apps Script Editor
Dari Sheet yang tadi dibuat, klik menu Extensions > Apps Script. Di sinilah kamu menulis logika aplikasinya.
Langkah 3: Tulis Fungsi Dasar
Buat fungsi untuk mencatat transaksi setor dan tarik, sekaligus menghitung saldo otomatis berdasarkan transaksi terakhir. Fungsi ini yang jadi "otak" dari aplikasi tabungan kamu.
Langkah 4: Bikin Tampilan Web (HTML)
Tambahkan file HTML sederhana berisi form input nama, jenis transaksi (setor/tarik), dan jumlah. Form ini yang bakal dilihat dan dipakai user waktu mengakses aplikasi lewat browser.
Langkah 5: Deploy Jadi Web App
Klik Deploy > New deployment > Web app, atur akses ke "Anyone", lalu deploy. Kamu bakal dapat link unik yang bisa dibuka siapa saja untuk mengakses aplikasi tabungan ini.
Bonus: Fitur Riwayat Transaksi
Biar makin lengkap, tambahkan fitur riwayat transaksi per nama. Jadi setiap user bisa cek histori setor-tariknya sendiri tanpa perlu buka spreadsheet secara langsung. Fitur ini penting kalau aplikasi dipakai lebih dari satu orang, misalnya buat catat tabungan beberapa anak sekaligus.
Kesalahan yang Sering Terjadi
- Lupa set akses "Anyone" saat deploy, jadi orang lain gak bisa buka link
- Menghitung saldo manual padahal bisa diotomatisasi dari data terakhir di sheet
- Tidak validasi input, jadi rawan kesalahan kalau kolom nama atau jumlah dikosongkan
Kesimpulan
Bikin aplikasi tabungan sendiri pakai Google Apps Script itu ternyata gak seribet yang dibayangkan. Cukup pakai Google Sheet sebagai database, sedikit kode JavaScript, dan form HTML sederhana, kamu udah punya aplikasi yang bisa dipakai kapan saja. Cocok banget buat belajar dasar pemrograman sambil bikin sesuatu yang beneran berguna.
Mau coba bikin sendiri? Yuk langsung praktik — mulai dari bikin Google Sheet-nya dulu!
Konsepnya
Data disimpan di Google Sheet, ada Web App buat input setor/tarik, otomatis hitung saldo.
Langkah-langkah
1. Siapin Sheet-nya
Buat Google Sheet baru, kasih kolom di baris 1:
Tanggal | Nama | Jenis | Jumlah | Saldo
2. Buka Apps Script
Extensions > Apps Script, terus tulis kode ini di Code.gs:
function doGet() {
return HtmlService.createHtmlOutputFromFile('index');
}
function catatTransaksi(nama, jenis, jumlah) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
// ambil saldo terakhir
var saldoTerakhir = 0;
if (data.length > 1) {
saldoTerakhir = data[data.length - 1][4];
}
var saldoBaru = jenis === "Setor"
? saldoTerakhir + Number(jumlah)
: saldoTerakhir - Number(jumlah);
sheet.appendRow([new Date(), nama, jenis, jumlah, saldoBaru]);
return saldoBaru;
}
function ambilSaldo() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
if (data.length <= 1) return 0;
return data[data.length - 1][4];
}
function ambilRiwayat(nama) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
var riwayat = [];
for (var i = 1; i < data.length; i++) {
if (data[i][1] === nama) {
riwayat.push({
tanggal: Utilities.formatDate(new Date(data[i][0]), "GMT+7", "dd/MM/yyyy HH:mm"),
jenis: data[i][2],
jumlah: data[i][3],
saldo: data[i][4]
});
}
}
return riwayat.reverse(); // biar yang terbaru di atas
}3. Bikin file HTML
File > New > HTML file, kasih nama index, isinya:
<h2>Aplikasi Tabungan</h2>
<p>Saldo saat ini: Rp<span id="saldo">0</span></p>
<input type="text" id="nama" placeholder="Nama">
<select id="jenis">
<option value="Setor">Setor</option>
<option value="Tarik">Tarik</option>
</select>
<input type="number" id="jumlah" placeholder="Jumlah">
<button onclick="prosesTransaksi()">Simpan</button>
<hr>
<h3>Riwayat Transaksi</h3>
<button onclick="lihatRiwayat()">Lihat Riwayat</button>
<table id="tabelRiwayat" border="1" cellpadding="5">
<tr><th>Tanggal</th><th>Jenis</th><th>Jumlah</th><th>Saldo</th></tr>
</table>
function lihatRiwayat() {
var nama = document.getElementById('nama').value;
if (!nama) { alert("Isi nama dulu"); return; }
google.script.run.withSuccessHandler(function(data) {
var tabel = document.getElementById('tabelRiwayat');
tabel.innerHTML = "<tr><th>Tanggal</th><th>Jenis</th><th>Jumlah</th><th>Saldo</th></tr>";
data.forEach(function(row) {
tabel.innerHTML += "<tr><td>" + row.tanggal + "</td><td>" + row.jenis + "</td><td>Rp" + row.jumlah + "</td><td>Rp" + row.saldo + "</td></tr>";
});
}).ambilRiwayat(nama);
}
<script>
function muatSaldo() {
google.script.run.withSuccessHandler(function(saldo) {
document.getElementById('saldo').innerText = saldo;
}).ambilSaldo();
}
function prosesTransaksi() {
var nama = document.getElementById('nama').value;
var jenis = document.getElementById('jenis').value;
var jumlah = document.getElementById('jumlah').value;
google.script.run.withSuccessHandler(function(saldoBaru) {
document.getElementById('saldo').innerText = saldoBaru;
alert("Transaksi berhasil!");
}).catatTransaksi(nama, jenis, jumlah);
}
muatSaldo();
</script>4. Deploy jadi Web App
- Deploy > New deployment > Web app
- Execute as: Me
- Who has access: Anyone
- Deploy, nanti dapet link-nya
Selesai. Sekarang kamu punya aplikasi tabungan sendiri yang datanya kesimpan otomatis di Sheet, bisa diakses via link kapan aja.

