Anda di halaman 1dari 9

CONTOH HASIL PENGEMBANGAN PERANGKAT LUNAK

DENGAN METODE BERORIENTASI PROSES

1. Analisis Kebutuhan Perangkat Lunak


1.1 Deskripsi Kebutuhan Fungsional

No. Kode Kebutuhan Deskripsi Kebutuhan Keterangan


1 REQ-100 Mengolah data induk
2 REQ-110 Menambah data induk barang Entry dan rekam data barang
3 REQ-120 Menambah data induk supplier Entry dan rekam data supplier
4 REQ-200 Mengolah data transaksi
5 REQ-210 Mencatat data penjualan Entry dan rekam data penjualan
6 REQ-220 Mencatat data pembayaran Entry dan rekam data pembayaran
Cetak bukti penjualan
7 REQ-230 Membuat laporan kasir Buat dan koreksi laporan penjualan Kasir per shift
8 REQ-300 Membuat laporan
9 REQ-310 Membuat laporan kas Buat laporan penerimaan kas harian dan bulanan
10 REQ-320 Membuat laporan penjualan Buat laporan rekapitulasi penjualan harian dan
bulanan
11 REQ-330 Membuat laporan konsinyasi Buat rekapitulasi penjualan barang konsinyasi
Cetak bukti pembayaran

1.2 Pemodelan Kebutuhan Fungsional

1.2.1 Statement of Purpose

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.

1.2.2 Diagram Konteks (Context Diagram)

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

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 1


1.2.3 Diagram Aliran Data (Data Flow Diagram)

Diagram Aliran Data Tingkat-11

id_brg_terjual id_barang
Bagian
Kasir pembayaran id_supplier
Penjualan

bukti_jual
2 1

Olah Data Olah Data


koreksi_lap
Transaksi Induk
lap_kasir
+ +
rec_bayar rec_barang
rec_barang
rec_jual rec_supplier

Pembayaran Penjualan Barang Supplier

rec_jual rec_barang
rec_supplier

3
rec_bayar
lap_kas bulan
Buat Laporan

lap_konsinyasi
periode_lap
+

Supervisor

lap_penjualan

Diagram Aliran Data Tingkat-2

1. Proses 1.0 Olah Data Induk

1
Tambah Bagian
Data Barang Penjualan
id_barang

rec_barang
id_supplier

Barang rec_supplier

2
rec_supplier Tambah
Supplier Data
Supplier

2. Proses 2.0 Olah Data Transaksi

[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.

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 2


3. Proses 3.0 Buat Laporan

[bulan] Bagian
Pembayaran Barang : 2 Penjualan

[rec_bayar]
rec_barang

3.1 3.3 [lap_konsinyasi]


[lap_kas]
Buat
Buat Laporan
[periode_lap] Laporan Kas Penjualan
[rec_jual] rec_jual Konsinyasi

[rec_barang] rec_supplier
rec_jual

rec_barang
Barang : 1 Supplier

periode_lap 3.2
Buat
Supervisor [lap_penjualan] Laporan
[rec_supplier]
Penjualan

1.2.4 Kamus Data (Data Dictionary)2

Tempat Penyimpanan Data (Data Store)


1. Barang = @kode_ brg + nama_brg + satuan + jenis + hrg_beli + hrg_jual + jml_stok + kode_sup
2. Pembayaran = @no_faktur + tanggal + jml_bayar
3. Penjualan = @no_faktur + @kode_brg + hrg_jual + kuantitas
4. Supplier = @kode_sup + nama_sup + alamat + kota + telepon

Arus Data (Data Flow)


1. bulan = no_bulan + tahun
2. bukti_jual = no_faktur + tanggal + { nama_brg + hrg_jual + kuantitas + jumlah } + total
3. id_barang = kode_ brg + nama_brg + satuan + jenis + hrg_beli + hrg_jual + jml_stok + kode_sup
4. id_brg_terjual = kode_brg + kuantitas
5. id_supplier = kode_sup + nama_sup + alamat + kota + telepon
6. koreksi_lap = id_kasir | no_faktur + [ kode_brg | hrg_jual | kuantitas ]
7. lap_kas = lap_kas_harian + lap_kas_bulanan
lap_kas_harian = periode + { no_urut + no_faktur + total + discount + jml_bayar } + total_jml
lap_kas_bulanan = periode + { no_urut + tanggal + total_jml + total_discount + total_bayar } + total
8. lap_kasir = tanggal + id_kasir + { no_faktur + kode_brg + nama _brg + hrg_jual + kuantitas } + total
9. lap_penjualan = lap_penjualan_harian + lap_penjualan_bulanan
lap_penjualan_harian = periode + { no_urut + kode_brg + nama_brg + total_jual + total_jml }
lap_penjualan_bulanan = periode + { no_urut + kode_brg + nama_brg + total_jual + total_jml }
10. lap_konsinyasi = rekap_konsinyasi + bukti_bayar
rekap_konsinyasi = bulan + { no_urut + id_supplier + total + discount + jml_dibayar } + total_jml
bukti_bayar = bulan + id_supplier + { nama_brg + jml_jual } + total + discount + jml_dibayar
11. pembayaran = jml_bayar
12. periode_lap = tgl_awal + tgl_akhir
13. rec_barang = kode_ brg + nama_brg + satuan + jenis + hrg_beli + hrg_jual + jml_stok + kode_sup
14. rec_bayar = no_faktur + tanggal + jml_bayar
15. rec_jual = no_faktur + kode_brg + hrg_jual + kuantitas
16. rec_supplier = kode_sup + nama_sup + alamat + kota + telepon
17. total = no_faktur + tanggal + kode_brg + hrg_jual + kuantitas + jml_bayar

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.

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 3


1.2.5 Spesifikasi Proses (Process Specification)

1. Proses 1.1 Tambah Data Barang


Selama data barang masih ada
Baca identitas barang
Validasi dengan data Supplier
Jika data valid, rekam ke tabel Barang

2. Proses 1.2 Tambah Data Supplier


Selama data supplier masih ada
Baca identitas supplier
Rekam ke tabel Supplier

3. Proses 2.1 Catat Data Jual


Selama data penjualan masih ada
Baca identitas barang terjual
Search ke tabel Barang
Hitung jumlah dan total pembayaran
Rekam ke tabel Jual
Update jumlah stok pada tabel Barang

4. Proses 2.2 Catat Data Bayar


Tampilkan informasi total (dari proses 2.1)
Baca data pembayaran
Hitung kembalian
Rekam ke tabel Bayar
Cetak bukti pembayaran

5. Proses 2.3 Buat Laporan Kasir


Baca id_kasir (koreksi_lap)
Jika dipilih proses pembuatan laporan
Cetak laporan kasir
Jika dipilih proses perbaikan data
Selama masih ada data yang salah
Baca nomor faktur (koreksi_lap) yang akan diperbaiki
Perbaiki data penjualan

6. Proses 3.1 Buat Laporan Kas


Baca periode laporan
Select data pembayaran sesuai periode laporan
Selama data pembayaran belum EOF
Baca record pembayaran
Akumulasi total, discount dan jumlah bayar
Simpan hasil akumulasi ke tabel temporer
Cetak laporan kas dari tabel temporer

7. Proses 3.2 Buat Laporan Penjualan


Baca periode laporan
Select data penjualan sesuai periode laporan
Selama data penjualan belum EOF
Baca record penjualan
Search ke tabel Barang dan Supplier
Akumulasi total jual dan jumlah
Simpan hasil akumulasi ke tabel temporer
Cetak laporan penjualan dari tabel temporer

8. Proses 3.3 Buat Laporan Konsinyasi


Baca data bulan
Select data penjualan sesuai data bulan
Selama data penjualan belum EOF
Baca record penjualan
Search ke tabel Barang dan Supplier
Akumulasi total jual, discount dan jumlah dibayar
Simpan hasil akumulasi ke tabel temporer
Cetak rekap konsinyasi dan bukti pembayaran dari tabel temporer

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 4


1.3 Pembuatan Model Data Konseptual3

Diagram E-R versi Peter Chen

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

Diagram E-R versi James Martin

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

2. Perancangan Perangkat Lunak


2.1 Perancangan Basis Data

2.1.1 Keterhubungan Antar Tabel4

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.

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 5


2.1.2 Deskripsi Tabel

1. Tabel Barang
Fungsi : Menyimpan data induk barang (milik dan konsinyasi)
Jenis : Tabel Induk
Primary Key : Kode_Brg
Foreign Key : Kode_Sup
Struktur Tabel:

No. Nama Field Jenis Lebar Keterangan


1 Kode_Brg String 8 Kode Barang
2 Kode_Sup String 6 Kode Supplier
3 Nama_Brg String 25 Nama Barang
4 Satuan String 4 Satuan
5 Jenis Character 1 Jenis
6 Hrg_Beli Long Integer 8 Harga Beli
7 Hrg_Jual Long Integer 8 Harga Jual
8 Jml_Stok Integer 5 Jumlah Stok

2. Tabel Supplier
Fungsi : Menyimpan data induk supplier
Jenis : Tabel Induk
Primary Key : Kode_Sup
Foreign Key : -
Struktur Tabel:

No. Nama Field Jenis Lebar Keterangan


1 Kode_Sup String 6 Kode Supplier
2 Nama_Sup String 25 Nama Supplier
3 Alamat String 30 Satuan
4 Kota String 15 Jenis
5 Telepon String 12 Harga Beli

3. Tabel Penjualan
Fungsi : Menyimpan data transaksi penjualan
Jenis : Tabel Transaksi
Primary Key : No_Faktur+Kode_Brg
Foreign Key : Kode_Brg
Struktur Tabel:

No. Nama Field Jenis Lebar Keterangan


1 No_Faktur String 10 Nomor Faktur
2 Kode_Brg String 8 Kode Barang
3 Hrg_Jual Long Integer 8 Harga jual barang saat transaksi
4 Kuantitas Integer 5 Banyaknya (kuantitas) barang

4. Tabel Pembayaran
Fungsi : Menyimpan data transaksi pembayaran
Jenis : Tabel Transaksi
Primary Key : No_Faktur
Foreign Key : -
Struktur Tabel:

No. Nama Field Jenis Lebar Keterangan


1 No_Faktur String 10 Kode Supplier
2 Tanggal Date 8 Kode Barang
3 Jml_Bayar Long Integer 8 Jumlah Pembayaran

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 6


2.2 Arsitektur Perangkat Lunak5

1. Modul Utama Program

2. Modul Olah Data Induk

3. Modul Olah Data Transaksi

4. Modul Buat Laporan

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.

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 7


2.3 Antarmuka Pemakai

1. Tata Letak Layar Struktur Menu Program


SPT Penjualan Tunai X
Data Induk Transaksi Laporan
Barang Penjualan Laporan Kas
Supplier Laporan Kasir Laporan Penjualan
Keluar Laporan Konsinyasi

2. Tata Letak Layar Entry Data Barang


Tambah Data Barang X

Kode Barang:
Nama Barang:
Satuan:
Jenis: 1:Milik 2:Konsinyasi
Harga Beli: Rp.
Harga Jual: Rp.
Jumlah Stok: unit
Kode Supplier:

Rekam Batal

dan seterusnya untuk tata letak layar yang lainnya.

2.4 Pembuatan Algoritma Program6

1. Modul Utama Program

Program SPT_Penjualan_Tunai

Kamus
{ Deklarasi variabel }
pilihan : Integer

{ Deklarasi prosedur }
Procedure OlahDataInduk()
Procedure OlahDataTransaksi()
Procedure BuatLaporan()

Algoritma
{ Baca pilihan }
Input (pilihan)

While (pilihan <> 0) Do

{ Call procedure sesuai nilai pilihan }


Depend on pilihan
1 : OlahDataInduk()
2 : OlahDataTransaksi()
3 : BuatLaporan()

{ 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.

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 8


2. Modul Olah Data Induk

Procedure OlahDataInduk

Kamus
{ Deklarasi variabel }
pilihan : Integer

{ Deklarasi prosedur }
Procedure TambahDataBarang()
Procedure TambahDataSupplier()

Algoritma
{ Baca pilihan }
Input (pilihan)

While (pilihan <> 0) Do

{ Call procedure sesuai nilai pilihan }


Depend on pilihan
1 : TambahDataBarang()
2 : TambahDataSupplier()

{ Baca pilihan }
Input (pilihan)

3. Modul Tambah Data Barang

Procedure TambahDataBarang

Kamus
{ Deklarasi variabel; RecordBarang, RecordSupplier terdefinisi }
id_barang, rec_barang : RecordBarang
rec_supplier : RecordSupplier

{ Deklarasi prosedur dan fungsi}


Function BacaDataBarang() : RecordBarang
Function BacaDataSupplier() : RecordSupplier
Procedure RekamDataBarang(input rec_barang : RecordBarang)

Algoritma
{ Baca data barang }
id_barang := BacaDataBarang()

{ Selama data barang masih ada }


While (id_barang.kode <> “”) Do

{ Baca data supplier }


rec_supplier := BacaDataSupplier()

{ Validasi }
If (id_barang.kode_sup = rec_supplier.kode_sup) Then
{ Rekam data barang }
RekamDataBarang(id_barang)

{ Baca data barang }


id_barang := BacaDataBarang()

dan seterusnya untuk modul program yang lainnya.

TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05/2003 Halaman 9

Anda mungkin juga menyukai