Perangkat lunak Sistem Pengolahan Transaksi (SPT) Penjualan Tunai berfungsi untuk mengolah data transaksi
penjualan barang secara tunai. Cakupan perangkat lunak meliputi pengolahan data induk barang dan supplier,
pengolahan data transaksi penjualan dan pembayaran, serta pembuatan laporan penjualan, penerimaan kas dan
laporan konsinyasi. Pemakai perangkat lunak adalah Kasir, Supervisor dan Bagian Penjualan.
id_brg_terjual
Kasir pembayaran
bukti_jual
id_barang
0
koreksi_lap
id_supplier Bagian
lap_kasir SPT Penjualan Tunai Penjualan
lap_kas
bulan
+
lap_konsinyasi
periode_lap
Supervisor
lap_penjualan
id_brg_terjual id_barang
Bagian
Kasir pembayaran id_supplier
Penjualan
bukti_jual
2 1
rec_jual rec_barang
rec_supplier
3
rec_bayar
lap_kas bulan
Buat Laporan
lap_konsinyasi
periode_lap
+
Supervisor
lap_penjualan
1
Tambah Bagian
Data Barang Penjualan
id_barang
rec_barang
id_supplier
Barang rec_supplier
2
rec_supplier Tambah
Supplier Data
Supplier
[id_brg_terjual] 2.1
Catat Data [rec_barang]
Kasir
total Jual
rec_jual
Barang
2.2
[pembayaran]
Catat Data Penjualan Kasir
Bayar
rec_barang
[bukti_jual]
[koreksi_lap]
[rec_bayar]
2.3
[rec_jual] Buat
rec_bayar Laporan
Pembayaran Kasir
[lap_kasir]
1
Arus data dari ke tempat penyimpanan tidak harus diberi nama atau label.
[bulan] Bagian
Pembayaran Barang : 2 Penjualan
[rec_bayar]
rec_barang
[rec_barang] rec_supplier
rec_jual
rec_barang
Barang : 1 Supplier
periode_lap 3.2
Buat
Supervisor [lap_penjualan] Laporan
[rec_supplier]
Penjualan
2
Arus data dari ke tempat penyimpanan boleh tidak didefinisikan kamus datanya karena sudah terwakili oleh kamus data
tempat penyimpanan, kecuali jika atribut data yang akan dibaca/disimpan berbeda.
kode_brg
nama_brg kode_sup
satuan nama_sup
n 1
jenis Barang dipasok Supplier alamat
hrg_beli kota
1
hrg_jual telepon
jml_stok dijual-pd
n
no_faktur
hrg_jual 1 1
Penjualan dilunasi-dg Pembayaran tanggal
kuantitas
jml_bayar
Barang Supplier
Kode Barang Kode Supplier
Nama Barang Nama Supplier
Satuan
dipasok Alamat
Jenis Kota
Harga Beli Telepon
Harga Jual
Jumlah Stok
dijual-pd
Penjualan Pembayaran
Harga Jual Nomor Faktur
Kuantitas Tanggal
Jumlah Pembayaran
dilunasi-dg
BARANG SUPPLIER
KODE_BRG A8 KODE_SUP A6
KODE_SUP A6 NAMA_SUP A25
NAMA_BRG A25 KODE_SUP = KODE_SUP ALAMAT A30
SATUAN A4 KOTA A15
JENIS A1 TELEPON A12
HRG_BELI I
HRG_JUAL I
JML_STOK I
KODE_BRG = KODE_BRG
JUAL BAYAR
KODE_BRG A8 NO_FAKTUR A10
NO_FAKTUR A10 TANGGAL D
HRG_JUAL I JML_BAYAR I
NO_FAKTUR = NO_FAKTUR
KUANTITAS I
3
Penggambaran model data konseptual dapat dinyatakan dengan salah satu notasi Diagram E-R berikut: 1) versi Peter
Chen atau 2) versi James Martin. Kedua contoh Diagram E-R yang diberikan identik satu sama lain.
4
Notasi yang digunakan untuk menggambarkan keterhubungan antar tabel yang dibuat adalah Model Data Fisis (Physical
Data Model) dari tools PowerDesigner. Ada notasi-notasi lain yang dapat digunakan.
1. Tabel Barang
Fungsi : Menyimpan data induk barang (milik dan konsinyasi)
Jenis : Tabel Induk
Primary Key : Kode_Brg
Foreign Key : Kode_Sup
Struktur Tabel:
2. Tabel Supplier
Fungsi : Menyimpan data induk supplier
Jenis : Tabel Induk
Primary Key : Kode_Sup
Foreign Key : -
Struktur Tabel:
3. Tabel Penjualan
Fungsi : Menyimpan data transaksi penjualan
Jenis : Tabel Transaksi
Primary Key : No_Faktur+Kode_Brg
Foreign Key : Kode_Brg
Struktur Tabel:
4. Tabel Pembayaran
Fungsi : Menyimpan data transaksi pembayaran
Jenis : Tabel Transaksi
Primary Key : No_Faktur
Foreign Key : -
Struktur Tabel:
5
Notasi yang digunakan untuk menggambarkan arsitektur perangkat lunak untuk teknik terstruktur adalah Structure Chart.
Diperoleh berdasarkan hasil analisis terhadap DFD yang dibuat pada tahap analisis.
Kode Barang:
Nama Barang:
Satuan:
Jenis: 1:Milik 2:Konsinyasi
Harga Beli: Rp.
Harga Jual: Rp.
Jumlah Stok: unit
Kode Supplier:
Rekam Batal
Program SPT_Penjualan_Tunai
Kamus
{ Deklarasi variabel }
pilihan : Integer
{ Deklarasi prosedur }
Procedure OlahDataInduk()
Procedure OlahDataTransaksi()
Procedure BuatLaporan()
Algoritma
{ Baca pilihan }
Input (pilihan)
{ Baca pilihan }
Input (pilihan)
6
Pada umumnya notasi yang digunakan untuk menulis algoritma adalah pseudo-code. Tetapi untuk kepentingan praktis,
algoritma dapat ditulis dari listing program dengan melakukan penyesuaian-penyesuaian tertentu.
Procedure OlahDataInduk
Kamus
{ Deklarasi variabel }
pilihan : Integer
{ Deklarasi prosedur }
Procedure TambahDataBarang()
Procedure TambahDataSupplier()
Algoritma
{ Baca pilihan }
Input (pilihan)
{ Baca pilihan }
Input (pilihan)
Procedure TambahDataBarang
Kamus
{ Deklarasi variabel; RecordBarang, RecordSupplier terdefinisi }
id_barang, rec_barang : RecordBarang
rec_supplier : RecordSupplier
Algoritma
{ Baca data barang }
id_barang := BacaDataBarang()
{ Validasi }
If (id_barang.kode_sup = rec_supplier.kode_sup) Then
{ Rekam data barang }
RekamDataBarang(id_barang)