Metode Orientasi Proses - updated

107 downloads 452 Views 119KB Size Report
TS/Contoh Pengembangan PL dengan Metode Berorientasi Proses – versi 23/05 /2003. Halaman 1. CONTOH HASIL PENGEMBANGAN PERANGKAT LUNAK.
CONTOH HASIL PENGEMBANGAN PERANGKAT LUNAK DENGAN METODE BERORIENTASI PROSES 1. Analisis Kebutuhan Perangkat Lunak 1.1 Deskripsi Kebutuhan Fungsional No.

Kode Kebutuhan

Deskripsi Kebutuhan

1 2 3 4 5 6

REQ-100 REQ-110 REQ-120 REQ-200 REQ-210 REQ-220

Mengolah data induk Menambah data induk barang Menambah data induk supplier Mengolah data transaksi Mencatat data penjualan Mencatat data pembayaran

Keterangan

7 8 9 10

REQ-230 REQ-300 REQ-310 REQ-320

Membuat laporan kasir Membuat laporan Membuat laporan kas Membuat laporan penjualan

11

REQ-330

Membuat laporan konsinyasi

Entry dan rekam data barang Entry dan rekam data supplier Entry dan rekam data penjualan Entry dan rekam data pembayaran Cetak bukti penjualan Buat dan koreksi laporan penjualan Kasir per shift Buat laporan penerimaan kas harian dan bulanan Buat laporan rekapitulasi penjualan harian dan bulanan 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)

Kasir

id_brg_terjual pembayaran

bukti_jual

id_barang 0

koreksi_lap SPT Penjualan Tunai

lap_kasir lap_kas

id_supplier

Bagian Penjualan

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

pembayaran

Kasir

bukti_jual

koreksi_lap

id_supplier

2

1

Olah Data Transaksi

Olah Data Induk

lap_kasir

+

+ rec_bayar

rec_barang

rec_barang

rec_jual

Penjualan

Pembayaran

Bagian Penjualan

rec_supplier

Barang rec_barang

rec_jual

Supplier

rec_supplier

3 lap_kas

rec_bayar

bulan Buat Laporan lap_konsinyasi

+

periode_lap

Supervisor lap_penjualan

Diagram Aliran Data Tingkat-2 1.

Proses 1.0 Olah Data Induk 1 Tambah Data Barang

Bagian Penjualan

id_barang

rec_barang id_supplier Barang

rec_supplier 2 Tambah Data Supplier

rec_supplier Supplier

2.

Proses 2.0 Olah Data Transaksi [id_brg_terjual] Kasir

total

2.1 Catat Data Jual

[rec_barang]

rec_jual Barang 2.2 [pembayaran]

Catat Data Bayar

Penjualan

Kasir rec_barang

[bukti_jual]

[koreksi_lap] [rec_bayar]

Pembayaran

1

[rec_jual] rec_bayar

2.3 Buat Laporan Kasir

[lap_kasir]

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] Barang : 2

Pembayaran [rec_bayar]

[lap_kas] [periode_lap]

rec_barang

3.1 Buat Laporan Kas

Penjualan rec_jual

[rec_jual]

[rec_barang] Barang : 1

periode_lap Supervisor

Bagian Penjualan

[lap_penjualan]

rec_jual rec_barang

3.2 Buat Laporan Penjualan

3.3 Buat Laporan Konsinyasi

[lap_konsinyasi]

rec_supplier Supplier

[rec_supplier]

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 jenis

n

nama_sup

1

Barang

dipasok

Supplier

alamat

hrg_beli

kota

1

hrg_jual jml_stok

telepon

dijual-pd n

no_faktur

hrg_jual

1

1

Penjualan

dilunasi-dg

Pembayaran

tanggal

kuantitas jml_bayar

Diagram E-R versi James Martin Barang Kode Barang Nama Barang Satuan Jenis Harga Beli Harga Jual Jumlah Stok

dipasok

Supplier Kode Supplier Nama Supplier Alamat Kota Telepon

dijual-pd

Penjualan

Pembayaran Nomor Faktur Tanggal Jumlah Pembayaran

Harga Jual Kuantitas

dilunasi-dg

2. Perancangan Perangkat Lunak 2.1 Perancangan Basis Data 2.1.1 Keterhubungan Antar Tabel4 BARANG KODE_BRG KODE_SUP NAMA_BRG SATUAN JENIS HRG_BELI HRG_JUAL JML_STOK

A8 A6 A25 A4 A1 I I I

KODE_SUP = KODE_SUP

SUPPLIER KODE_SUP NAMA_SUP ALAMAT KOTA TELEPON

A6 A25 A30 A15 A12

KODE_BRG = KODE_BRG

JUAL KODE_BRG NO_FAKTUR HRG_JUAL KUANTITAS

A8 A10 I NO_FAKTUR = NO_FAKTUR I

BAYAR NO_FAKTUR TANGGAL JML_BAYAR

A10 D 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.

2.

3.

4.

Tabel Barang Fungsi : Jenis : Primary Key : Foreign Key : Struktur Tabel:

Menyimpan data induk barang (milik dan konsinyasi) Tabel Induk Kode_Brg Kode_Sup

No.

Nama Field

Jenis

Lebar

Keterangan

1 2 3 4 5 6 7 8

Kode_Brg Kode_Sup Nama_Brg Satuan Jenis Hrg_Beli Hrg_Jual Jml_Stok

String String String String Character Long Integer Long Integer Integer

8 6 25 4 1 8 8 5

Kode Barang Kode Supplier Nama Barang Satuan Jenis Harga Beli Harga Jual Jumlah Stok

Tabel Supplier Fungsi : Jenis : Primary Key : Foreign Key : Struktur Tabel:

Menyimpan data induk supplier Tabel Induk Kode_Sup -

No.

Nama Field

Jenis

Lebar

Keterangan

1 2 3 4 5

Kode_Sup Nama_Sup Alamat Kota Telepon

String String String String String

6 25 30 15 12

Kode Supplier Nama Supplier Satuan Jenis Harga Beli

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 2 3 4

No_Faktur Kode_Brg Hrg_Jual Kuantitas

String String Long Integer Integer

10 8 8 5

Nomor Faktur Kode Barang Harga jual barang saat transaksi Banyaknya (kuantitas) barang

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 2 3

No_Faktur Tanggal Jml_Bayar

String Date Long Integer

10 8 8

Kode Supplier Kode Barang 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 Data Induk Transaksi Barang Supplier

X Laporan

Penjualan Laporan Kasir

Keluar

2.

Laporan Kas Laporan Penjualan Laporan Konsinyasi

Tata Letak Layar Entry Data Barang Tambah Data Barang

X

Kode Barang: Nama Barang: Satuan: Jenis:

1:Milik 2:Konsinyasi

Harga Beli: Harga Jual: Jumlah Stok:

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