Struk Kasir Jadi Data: Merapikan Catatan Transaksi Warung
Blog/Tutorial Excel & Sheets/Struk Kasir Jadi Data: Merapikan Catatan Transaksi Warung

Struk Kasir Jadi Data: Merapikan Catatan Transaksi Warung

BimaBima
·7 September 2025·11 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Struk kasir bisa diubah jadi data yang bisa dihitung dengan satu aturan: satu baris spreadsheet = satu item dalam satu struk. Kolom wajibnya tanggal, nomor struk, nama barang, jumlah, harga satuan, dan metode bayar. Setelah formatnya konsisten, SUMIFS dan COUNTIFS langsung bisa jawab pertanyaan omzet harian, barang terlaris, dan rata-rata belanja per struk.

Struk kasir jadi data itu soal satu aturan: satu baris spreadsheet mewakili satu item dalam satu struk. Begitu formatnya konsisten, tumpukan kertas di laci berubah jadi angka yang bisa dihitung.

Masalahnya, kebanyakan pemilik warung nyatetnya per hari dalam satu sel. "Jualan hari ini 340 ribu" itu catatan, bukan data. Kamu nggak bisa tau barang mana yang jalan, jam berapa ramai, atau pelanggan mana yang balik.

Di bawah ini langkah lengkapnya, dari nyusun kolom sampai rumus yang langsung ngasih omzet harian.

Kenapa struk kasir susah dijadiin data?

Struk kasir susah diolah karena tiga hal: formatnya nggak seragam, nama barangnya ditulis beda-beda tiap kasir, dan angkanya sering nempel sama teks. Satu struk bisa punya 1 sampai 15 item dengan panjang baris yang berubah-ubah. Komputer butuh bentuk yang tetap, bukan bentuk yang berubah tiap lembar.

Kalau kamu ketik ulang tanpa aturan, hasilnya tetap berantakan. Makanya struktur kolom harus ditentuin duluan sebelum baris pertama diketik.

Format tabel transaksi warung yang bener kayak gimana?

Pakai format panjang, bukan format lebar. Tiap baris = satu item dalam satu struk. Nomor struk yang sama bakal muncul berulang di beberapa baris, dan itu memang seharusnya begitu.

KolomIsiContoh
tanggalFormat tanggal asli, bukan teks2025-09-01
jamJam transaksi07:45
no_strukPenanda satu transaksiS-0912
nama_barangNama baku, bukan tulisan kasirMinyak Goreng 1L
kategoriKelompok barangSembako
qtyJumlah, angka murni2
harga_satuanRupiah, tanpa simbol Rp18000
subtotalHasil rumus qty x harga36000
metode_bayarTunai, QRIS, transferQRIS

Tiga aturan yang jangan dilanggar. Jangan gabung sel. Jangan sisipkan baris kosong sebagai pemisah hari. Jangan tulis "Rp" di dalam sel angka, cukup atur lewat format sel.

Kolom subtotal isinya rumus, bukan ketikan tangan:

=F2*G2

Alasannya sederhana. Kalau harga salah ketik, subtotalnya ikut kebenerin sendiri waktu kamu perbaiki.

Gimana langkah input struk ke spreadsheet biar cepat?

Urutan yang paling hemat waktu dari yang aku pakai:

  1. Sortir struk per hari. Tumpuk berdasarkan tanggal, klip per hari. Ini kelihatan sepele tapi motong waktu input paling banyak.
  2. Kasih nomor struk sendiri kalau belum ada. Format S-0001 dan seterusnya. Struk tulis tangan sering nggak bernomor.
  3. Isi kolom tanggal dan no_struk dulu untuk semua baris satu struk. Ketik sekali, terus tarik ke bawah sebanyak jumlah item.
  4. Baru isi nama barang, qty, dan harga. Fokus satu kolom sekaligus, bukan satu baris sekaligus. Mata kamu nggak perlu loncat-loncat.
  5. Aktifkan validasi data di kolom kategori dan metode_bayar. Pilihannya dari dropdown biar nggak ada typo.
  6. Cek total per hari. Bandingin sama catatan setoran kasir. Kalau beda, salah inputnya masih di hari itu, gampang dicari.

Buat warung dengan 40 sampai 60 struk per hari, satu hari data biasanya kelar dalam 12 sampai 18 menit begitu ritmenya ketemu.

Gimana cara motong teks struk yang nempel jadi satu kolom?

Kalau struk kamu keluar dari aplikasi kasir dan hasil salinnya nempel jadi satu kolom, pisahin dulu. Di Google Sheets pakai SPLIT, di Excel 365 pakai TEXTSPLIT, di Excel lama pakai menu Data lalu Text to Columns.

=SPLIT(A2, "|")

Baris "Minyak Goreng 1L|2|18000" bakal kepecah jadi tiga sel. Penjelasan lengkap pemisahnya ada di dokumentasi resmi Google Sheets.

Habis dipecah, angkanya sering masih berupa teks. Bersihin pakai rangkaian ini:

=VALUE(SUBSTITUTE(SUBSTITUTE(TRIM(C2),"Rp",""),".",""))

TRIM buang spasi berlebih, SUBSTITUTE hapus "Rp" dan titik ribuan, VALUE ngubah sisanya jadi angka beneran. Cara cek cepatnya: angka asli rata kanan sendiri di sel, teks rata kiri.

Rumus apa yang wajib ada di file transaksi warung?

Lima rumus ini nutup hampir semua pertanyaan harian pemilik warung.

Omzet satu hari

=SUMIFS(H:H, A:A, DATE(2025,9,1))

Kolom H itu subtotal, kolom A tanggal. Kalau kamu mau rentang tanggal, pakai dua kriteria sekaligus lewat SUMIFS.

Omzet per kategori dalam satu bulan

=SUMIFS(H:H, E:E, "Sembako", A:A, ">="&DATE(2025,9,1), A:A, "<="&DATE(2025,9,30))

Jumlah struk hari itu

=COUNTA(UNIQUE(FILTER(C:C, A:A=DATE(2025,9,1))))

Kalau spreadsheet kamu belum punya UNIQUE, COUNTIFS di kolom bantu penanda struk pertama juga jalan.

Rata-rata belanja per struk

=IFERROR(SUMIFS(H:H, A:A, $J2) / COUNTA(UNIQUE(FILTER(C:C, A:A=$J2))), 0)

IFERROR di sini penting biar hari libur yang nggak ada transaksi nggak bikin sel penuh error.

Kelompokkan per bulan

=TEXT(A2, "yyyy-mm")

TEXT ngubah tanggal jadi penanda bulan yang bisa dipakai buat pivot. Buat ngitung umur data, TODAY dikurangi kolom tanggal kasih jumlah hari sejak transaksi.

Gimana ngerapikan nama barang yang tulisannya beda-beda?

Ini masalah kualitas data yang paling sering muncul di warung. Kasir pagi nulis "Minyak Goreng", kasir sore nulis "minyak gr", dan yang satu lagi nulis "MG 1 liter".

Jangan cari-ganti massal. Bikin sheet terpisah bernama kamus_barang dengan dua kolom: tulisan asli dan nama baku.

=XLOOKUP(D2, kamus_barang!A:A, kamus_barang!B:B, "BELUM DIPETAKAN")

Tiap ketemu tulisan baru, hasilnya keluar "BELUM DIPETAKAN" dan kamu tinggal tambahin barisnya di kamus. Kalau versi spreadsheet kamu belum punya XLOOKUP, VLOOKUP dibungkus IFERROR juga cukup.

Proses ngerapikan kayak gini bagian dari alur ETL, cuma versi warung yang dikerjain di spreadsheet.

Contoh kasus: 60 hari struk warung Bu Sri

Dataset latihan ngulikdata bernama warung_bu_sri berisi 1.240 struk dari 60 hari operasional, total 4.826 baris item. Nilai rata-rata per struk Rp 18.700.

Tiga temuan setelah datanya rapi:

TemuanAngkaTindakan
Jam paling ramai06.30 sampai 08.00, 31% dari total strukStok gorengan dan susu dimajuin ke depan rak
Struk QRIS lebih besarRata-rata Rp 26.400 vs tunai Rp 15.900Stiker QRIS ditempel di dua titik tambahan
Barang mati17 SKU nggak kejual sekali pun dalam 60 hariModal Rp 1,2 juta ngendap, diobral

Yang paling kepakai temuan ketiga. Bu Sri nggak sadar ada 17 barang yang cuma jadi pajangan, karena laci uangnya tetap keisi tiap hari. Angka itu baru kelihatan waktu semua struk masuk satu tabel.

Kesalahan umum waktu ngubah struk jadi data

  1. Nulis tanggal sebagai teks. "1 Sept 2025" nggak bisa dihitung. Pakai format tanggal beneran biar SUMIFS jalan.
  2. Gabung sel buat judul hari. Sel gabungan bikin pivot dan filter berantakan.
  3. Nyimpan qty dan satuan di satu kolom. "2 pcs" itu teks. Pisahin jadi kolom qty dan kolom satuan.
  4. Bikin sheet baru tiap bulan. Satu tabel panjang jauh lebih gampang dianalisis dari 12 sheet terpisah.
  5. Nggak nyimpan harga modal. Tanpa kolom modal, kamu cuma tau omzet, bukan untung. Tambahin kolom hpp_satuan sejak awal.
  6. Ngetik subtotal manual. Sekali salah ketik, laporan bulanan ikut meleset dan susah dilacak.

FAQ

Satu struk itu satu baris atau beberapa baris?

Beberapa baris. Satu baris mewakili satu item dalam satu struk, jadi struk berisi 4 barang jadi 4 baris dengan nomor struk yang sama. Format ini bikin kamu bisa hitung barang terlaris sekaligus omzet per struk.

Harus input semua struk atau boleh sampel?

Buat mulai, ambil 2 sampai 4 minggu penuh dulu, jangan diloncat-loncat. Data 14 hari berturut-turut lebih berguna dari 60 hari yang bolong-bolong, soalnya pola Senin sampai Minggu kelihatan utuh.

Gimana kalau kasirnya nulis nama barang beda-beda?

Bikin tabel pemetaan berisi tulisan asli dan nama baku, terus pakai XLOOKUP buat nerjemahin tiap baris. Cara ini lebih aman dari cari-ganti massal, soalnya tulisan aslinya masih kesimpan kalau ada salah petakan.

Perlu pakai aplikasi kasir atau cukup spreadsheet?

Kalau transaksimu di bawah 100 struk per hari, spreadsheet masih nyaman dan gratis. Yang penting, kalau kamu nanti pindah ke aplikasi kasir, pastikan aplikasinya bisa ekspor CSV.

Angka rupiah kok kebaca sebagai teks?

Biasanya gara-gara ada spasi, titik ribuan, atau simbol Rp yang keikut waktu copy. Rapikan pakai TRIM, SUBSTITUTE, lalu VALUE. Cek cepat: angka beneran rata kanan otomatis, teks rata kiri.

Penutup

Dua hal yang paling nentuin. Pertama, format satu baris satu item, konsisten sejak struk pertama. Kedua, nama barang dibakukan lewat kamus, bukan diketik ulang sesuka kasir.

Mulai dari 14 hari terakhir dulu. Begitu tabelnya jalan, SUMIFS bakal jawab pertanyaan omzet dalam hitungan detik.

Lanjut baca: Analitik Koperasi dan BUMDes kalau kamu ngurus unit usaha yang lebih besar dari warung.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)
Tutorial Excel & Sheets
19 Juli 2026•9 menit baca

INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)

INDEX MATCH gabung dua fungsi buat lookup yang bisa nyari ke kiri dan nggak gampang rusak. Ini alasan banyak analis pindah dari VLOOKUP.

BimaBima
SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)
Tutorial Excel & Sheets
18 Juli 2026•8 menit baca

SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)

SUMPRODUCT ngaliin dua kolom atau lebih baris per baris, terus jumlahin hasilnya. Cocok buat total qty kali harga sampai hitungan bersyarat.

BimaBima
REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)
Tutorial Excel & Sheets
17 Juli 2026•8 menit baca

REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)

REGEXMATCH ngecek apakah teks cocok sama pola tertentu dan balikin TRUE atau FALSE. Cocok buat validasi nomor HP, email, sampai filter data berantakan.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore