Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Membuat Aplikasi Sistem Pencatat Pengeluaran Harian Sederhana dengan Google Apps Script: Panduan Lengkap untuk Pemula

  • February 12, 2026
  • oleh Edusoft Center
Daftar Isi :
  • Pendahuluan
  • Mengapa Google Apps Script?
    • 1. Gratis dan Mudah Diakses
    • 2. Terintegrasi dengan Ekosistem Google
    • 3. Bahasa yang Familiar
    • 4. Deploy yang Mudah
    • 5. Automasi yang Powerful
  • Persiapan Sebelum Memulai
  • Project yang Akan Kita Buat
  • Langkah 1: Membuat Google Sheets sebagai Database
    • 1.1 Buat Spreadsheet Baru
    • 1.2 Setup Structure Data
    • 1.3 Format dan Validasi Data
  • Langkah 2: Membuat Google Forms untuk Input Data
    • 2.1 Buat Form Baru
    • 2.2 Tambahkan Pertanyaan
    • 2.3 Hubungkan Form ke Spreadsheet
  • Langkah 3: Menulis Kode Apps Script
    • 3.1 Membuka Apps Script Editor
    • 3.2 Kode untuk Memproses Data Form
    • 3.3 Kode untuk Update Ringkasan
    • 3.4 Kode untuk Notifikasi Budget
    • 3.5 Kode untuk Laporan Mingguan
    • 3.6 Simpan Project
  • Langkah 4: Setup Trigger
    • 4.1 Trigger untuk Form Submit
    • Coba submit beberapa form lagi dengan kategori berbeda untuk memastikan ringkasan dihitung dengan benar.
  • Langkah 6: Kustomisasi dan Pengembangan
    • 6.1 Menambah Visualisasi

Pendahuluan

Google Apps Script adalah platform pengembangan aplikasi yang powerful namun mudah digunakan, yang memungkinkan Anda untuk mengotomatiskan tugas-tugas di berbagai layanan Google seperti Google Sheets, Docs, Forms, Gmail, dan Calendar. Yang menarik dari Apps Script adalah Anda tidak perlu setup environment yang rumit – cukup browser dan akun Google, Anda sudah bisa mulai membuat aplikasi!

Dalam artikel ini, kita akan belajar membuat aplikasi sederhana namun praktis: Sistem Pencatat Pengeluaran Harian menggunakan Google Apps Script. Aplikasi ini akan memanfaatkan Google Sheets sebagai database dan Google Forms sebagai interface input data. Artikel ini cocok untuk pemula yang ingin memahami dasar-dasar Apps Script dengan project yang real dan bisa langsung digunakan.

Mengapa Google Apps Script?

Sebelum kita mulai coding, mari kita pahami dulu mengapa Apps Script adalah pilihan yang tepat untuk membuat aplikasi sederhana:

1. Gratis dan Mudah Diakses

Anda tidak perlu membeli hosting atau domain. Semua berjalan di infrastruktur Google yang gratis untuk penggunaan personal dan small business.

2. Terintegrasi dengan Ekosistem Google

Apps Script bisa langsung berinteraksi dengan Gmail, Google Drive, Sheets, Docs, Calendar, dan layanan Google lainnya tanpa perlu setup autentikasi yang rumit.

3. Bahasa yang Familiar

Apps Script menggunakan JavaScript, salah satu bahasa pemrograman paling populer di dunia. Jika Anda pernah belajar JavaScript, Anda akan langsung familiar.

4. Deploy yang Mudah

Tidak perlu setup server atau konfigurasi deployment yang rumit. Cukup beberapa klik, aplikasi Anda sudah live dan bisa diakses.

5. Automasi yang Powerful

Anda bisa membuat trigger berdasarkan waktu, event, atau user action untuk mengotomatiskan berbagai tugas.

Persiapan Sebelum Memulai

Sebelum kita mulai membuat aplikasi, pastikan Anda sudah memiliki:

  1. Akun Google – Anda bisa menggunakan akun Gmail pribadi atau workspace
  2. Browser modern – Chrome, Firefox, Edge, atau Safari versi terbaru
  3. Koneksi internet – Karena semua development dilakukan secara online
  4. Semangat belajar – Yang paling penting!

Project yang Akan Kita Buat

Kita akan membuat Sistem Pencatat Pengeluaran Harian dengan fitur-fitur berikut:

  • Input pengeluaran melalui Google Forms
  • Penyimpanan data otomatis ke Google Sheets
  • Kategorisasi pengeluaran (Makanan, Transport, Belanja, dll)
  • Kalkulasi total pengeluaran otomatis
  • Laporan ringkasan per kategori
  • Notifikasi email ketika pengeluaran melebihi budget harian

Aplikasi ini sederhana namun sangat praktis untuk digunakan sehari-hari dalam mengelola keuangan pribadi.

Langkah 1: Membuat Google Sheets sebagai Database

Mari kita mulai dengan membuat spreadsheet yang akan menjadi database aplikasi kita.

1.1 Buat Spreadsheet Baru

  1. Buka Google Drive (drive.google.com)
  2. Klik tombol + New > Google Sheets > Blank spreadsheet
  3. Beri nama spreadsheet Anda: “Pencatat Pengeluaran Harian”

1.2 Setup Structure Data

Kita akan membuat dua sheet: satu untuk data pengeluaran, satu untuk ringkasan.

Sheet 1: Data Pengeluaran

Buat header di baris pertama dengan kolom-kolom berikut:

  • A1: Tanggal
  • B1: Kategori
  • C1: Deskripsi
  • D1: Jumlah
  • E1: Metode Pembayaran
  • F1: Catatan

Sheet 2: Ringkasan

Rename sheet kedua menjadi “Ringkasan” dengan kolom:

  • A1: Kategori
  • B1: Total Pengeluaran
  • C1: Jumlah Transaksi

1.3 Format dan Validasi Data

Untuk memastikan data yang masuk konsisten, kita bisa menambahkan data validation:

  1. Pilih kolom B (Kategori) di sheet Data Pengeluaran
  2. Klik Data > Data validation
  3. Pilih List of items
  4. Masukkan: Makanan, Transport, Belanja, Tagihan, Hiburan, Kesehatan, Lainnya
  5. Klik Save

Lakukan hal yang sama untuk kolom E (Metode Pembayaran) dengan opsi: Tunai, Debit, Kredit, E-Wallet.

Langkah 2: Membuat Google Forms untuk Input Data

Sekarang kita akan membuat form sebagai interface untuk input data pengeluaran.

2.1 Buat Form Baru

  1. Kembali ke Google Drive
  2. Klik + New > Google Forms > Blank form
  3. Beri judul: “Input Pengeluaran Harian”
  4. Tambahkan deskripsi: “Form untuk mencatat pengeluaran harian Anda”

2.2 Tambahkan Pertanyaan

Buat pertanyaan sesuai dengan kolom di spreadsheet:

Pertanyaan 1: Tanggal

  • Tipe: Date
  • Required: Yes

Pertanyaan 2: Kategori

  • Tipe: Multiple choice
  • Options: Makanan, Transport, Belanja, Tagihan, Hiburan, Kesehatan, Lainnya
  • Required: Yes

Pertanyaan 3: Deskripsi

  • Tipe: Short answer
  • Placeholder: “Contoh: Makan siang di restoran”
  • Required: Yes

Pertanyaan 4: Jumlah

  • Tipe: Short answer
  • Validation: Number, Greater than 0
  • Required: Yes

Pertanyaan 5: Metode Pembayaran

  • Tipe: Multiple choice
  • Options: Tunai, Debit, Kredit, E-Wallet
  • Required: Yes

Pertanyaan 6: Catatan

  • Tipe: Paragraph
  • Required: No

2.3 Hubungkan Form ke Spreadsheet

  1. Di Google Forms, klik tab Responses
  2. Klik icon spreadsheet hijau (Link to Sheets)
  3. Pilih Select existing spreadsheet
  4. Pilih spreadsheet “Pencatat Pengeluaran Harian” yang sudah kita buat
  5. Klik Select

Google Forms akan otomatis membuat sheet baru bernama “Form Responses 1” di spreadsheet Anda.

Langkah 3: Menulis Kode Apps Script

Sekarang bagian yang paling menarik – kita akan menulis kode untuk mengotomatiskan berbagai fungsi!

3.1 Membuka Apps Script Editor

  1. Buka spreadsheet “Pencatat Pengeluaran Harian”
  2. Klik Extensions > Apps Script
  3. Editor Apps Script akan terbuka di tab baru

3.2 Kode untuk Memproses Data Form

Hapus kode default myFunction() dan ganti dengan kode berikut:

// Fungsi yang akan dijalankan setiap kali ada form submission baru
function onFormSubmit(e) {
  // Ambil spreadsheet aktif
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var formSheet = ss.getSheetByName("Form Responses 1");
  var dataSheet = ss.getSheetByName("Data Pengeluaran");

  // Ambil data dari form response terakhir
  var lastRow = formSheet.getLastRow();
  var formData = formSheet.getRange(lastRow, 2, 1, 6).getValues()[0];

  // Parse data
  var tanggal = formData[0];
  var kategori = formData[1];
  var deskripsi = formData[2];
  var jumlah = parseFloat(formData[3]);
  var metodePembayaran = formData[4];
  var catatan = formData[5];

  // Tambahkan data ke sheet Data Pengeluaran
  dataSheet.appendRow([tanggal, kategori, deskripsi, jumlah, metodePembayaran, catatan]);

  // Update ringkasan
  updateRingkasan();

  // Cek budget harian
  cekBudgetHarian(jumlah);

  // Log untuk debugging
  Logger.log("Data berhasil ditambahkan: " + deskripsi + " - Rp " + jumlah);
}

3.3 Kode untuk Update Ringkasan

Tambahkan fungsi untuk menghitung ringkasan per kategori:

function updateRingkasan() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName("Data Pengeluaran");
  var ringkasanSheet = ss.getSheetByName("Ringkasan");

  // Ambil semua data kecuali header
  var dataRange = dataSheet.getRange(2, 1, dataSheet.getLastRow() - 1, 6);
  var data = dataRange.getValues();

  // Object untuk menyimpan ringkasan
  var ringkasan = {};

  // Loop through data dan hitung total per kategori
  for (var i = 0; i < data.length; i++) {
    var kategori = data[i][1]; // Kolom B (index 1)
    var jumlah = parseFloat(data[i][3]); // Kolom D (index 3)

    if (kategori && jumlah) {
      if (!ringkasan[kategori]) {
        ringkasan[kategori] = {
          total: 0,
          count: 0
        };
      }
      ringkasan[kategori].total += jumlah;
      ringkasan[kategori].count += 1;
    }
  }

  // Clear sheet ringkasan kecuali header
  if (ringkasanSheet.getLastRow() > 1) {
    ringkasanSheet.getRange(2, 1, ringkasanSheet.getLastRow() - 1, 3).clear();
  }

  // Tulis ringkasan ke sheet
  var row = 2;
  for (var kategori in ringkasan) {
    ringkasanSheet.getRange(row, 1).setValue(kategori);
    ringkasanSheet.getRange(row, 2).setValue(ringkasan[kategori].total);
    ringkasanSheet.getRange(row, 3).setValue(ringkasan[kategori].count);
    row++;
  }

  Logger.log("Ringkasan berhasil diupdate");
}

3.4 Kode untuk Notifikasi Budget

Tambahkan fungsi untuk mengirim email jika pengeluaran harian melebihi budget:

function cekBudgetHarian(jumlahBaru) {
  var BUDGET_HARIAN = 200000; // Set budget harian Anda (Rp 200.000)

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName("Data Pengeluaran");

  // Ambil tanggal hari ini
  var today = new Date();
  today.setHours(0, 0, 0, 0);

  // Hitung total pengeluaran hari ini
  var data = dataSheet.getRange(2, 1, dataSheet.getLastRow() - 1, 4).getValues();
  var totalHariIni = 0;

  for (var i = 0; i < data.length; i++) {
    var tanggal = new Date(data[i][0]);
    tanggal.setHours(0, 0, 0, 0);

    if (tanggal.getTime() === today.getTime()) {
      totalHariIni += parseFloat(data[i][3]);
    }
  }

  // Kirim email jika melebihi budget
  if (totalHariIni > BUDGET_HARIAN) {
    var emailUser = Session.getActiveUser().getEmail();
    var subject = "⚠️ Peringatan: Budget Harian Terlampaui!";
    var body = "Halo!\n\n" +
               "Pengeluaran Anda hari ini sudah mencapai Rp " + totalHariIni.toLocaleString('id-ID') + "\n" +
               "Budget harian Anda: Rp " + BUDGET_HARIAN.toLocaleString('id-ID') + "\n\n" +
               "Sudah melebihi Rp " + (totalHariIni - BUDGET_HARIAN).toLocaleString('id-ID') + "\n\n" +
               "Pertimbangkan untuk mengurangi pengeluaran hari ini.\n\n" +
               "Salam,\nSistem Pencatat Pengeluaran";

    MailApp.sendEmail(emailUser, subject, body);
    Logger.log("Email peringatan terkirim ke: " + emailUser);
  }
}

3.5 Kode untuk Laporan Mingguan

Tambahkan fungsi untuk mengirim laporan mingguan otomatis:

function kirimLaporanMingguan() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName("Data Pengeluaran");
  var ringkasanSheet = ss.getSheetByName("Ringkasan");

  // Hitung total pengeluaran 7 hari terakhir
  var today = new Date();
  var weekAgo = new Date(today.getTime() - 7 * 24 * 60 * 60 * 1000);

  var data = dataSheet.getRange(2, 1, dataSheet.getLastRow() - 1, 4).getValues();
  var totalMingguan = 0;
  var jumlahTransaksi = 0;

  for (var i = 0; i < data.length; i++) {
    var tanggal = new Date(data[i][0]);
    if (tanggal >= weekAgo && tanggal <= today) {
      totalMingguan += parseFloat(data[i][3]);
      jumlahTransaksi++;
    }
  }

  // Ambil ringkasan per kategori
  var ringkasanData = ringkasanSheet.getRange(2, 1, ringkasanSheet.getLastRow() - 1, 3).getValues();
  var ringkasanText = "";

  for (var i = 0; i < ringkasanData.length; i++) {
    if (ringkasanData[i][0]) {
      ringkasanText += "- " + ringkasanData[i][0] + ": Rp " + 
                       ringkasanData[i][1].toLocaleString('id-ID') + 
                       " (" + ringkasanData[i][2] + " transaksi)\n";
    }
  }

  // Kirim email laporan
  var emailUser = Session.getActiveUser().getEmail();
  var subject = "📊 Laporan Pengeluaran Mingguan";
  var body = "Halo!\n\n" +
             "Berikut adalah ringkasan pengeluaran Anda dalam 7 hari terakhir:\n\n" +
             "Total Pengeluaran: Rp " + totalMingguan.toLocaleString('id-ID') + "\n" +
             "Jumlah Transaksi: " + jumlahTransaksi + "\n" +
             "Rata-rata per Hari: Rp " + Math.round(totalMingguan / 7).toLocaleString('id-ID') + "\n\n" +
             "Ringkasan per Kategori:\n" + ringkasanText + "\n" +
             "Tetap bijak dalam mengelola keuangan Anda!\n\n" +
             "Salam,\nSistem Pencatat Pengeluaran";

  MailApp.sendEmail(emailUser, subject, body);
  Logger.log("Laporan mingguan terkirim");
}

3.6 Simpan Project

  1. Klik icon disk (Save project) atau tekan Ctrl+S
  2. Beri nama project: “Pencatat Pengeluaran Script”

Langkah 4: Setup Trigger

Agar kode kita berjalan otomatis, kita perlu setup trigger.

4.1 Trigger untuk Form Submit

  1. Di Apps Script editor, klik icon jam (Triggers) di sidebar kiri
  2. Klik + Add Trigger di kanan bawah
  3. Setup sebagai berikut:
  • Function: onFormSubmit
  • Event source: From spreadsheet
  • Event type: On form submit

Anda mungkin diminta untuk authorize – klik Review permissions dan izinkan akses

Klik Save

5.3 Test dengan Multiple Entries

Coba submit beberapa form lagi dengan kategori berbeda untuk memastikan ringkasan dihitung dengan benar.

Langkah 6: Kustomisasi dan Pengembangan

Setelah aplikasi dasar berjalan, Anda bisa mengembangkannya lebih lanjut:

Penutup

Google Apps Script adalah tool yang sangat powerful untuk automation dan membuat aplikasi sederhana tanpa perlu infrastructure yang rumit. Dengan kreativitas dan pemahaman yang baik, Anda bisa membuat berbagai aplikasi yang membantu pekerjaan sehari-hari.

Jangan takut untuk bereksperimen dan membuat kesalahan – itu adalah bagian dari proses belajar. Mulai dari yang sederhana, pahami konsepnya, lalu kembangkan sesuai kebutuhan Anda.

Selamat coding dan semoga artikel ini bermanfaat! 🚀

Tags: #AplikasiGratis#EdusoftCenter#GoogleAppsScript#KursusKomputerSolo#ManajemenKeuangan#Otomatisasi#TutorialPemula
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Praktik Pemanfaatan Google Spreadsheet dan Google Apps Script untuk Otomatisasi Data Sederhana
  • Membuat Aplikasi Sistem Pencatat Pengeluaran Harian Sederhana dengan Google Apps Script: Panduan Lengkap untuk Pemula
  • Membangun Sistem Absensi Online Berbasis Google Apps Script dengan Fitur Kamera dan GPS
  • Analisis Efektivitas Platform No-Code dalam Meningkatkan Produktivitas Organisasi
  • Implementasi QR Code Dinamis di Google Spreadsheet Menggunakan Google Apps Script (Studi Praktis)

Arsip

  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

#EdusoftCenter apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us