BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
PROCESS SPECIFICATION
♦
Setiap proses (bubble) di DFD
harus memiliki process
specification. Tanpa ini kita tidak
akan mengetahui apa yang terjadi
di dalam proses (bubble) tersebut.
♦
Banyak cara / metode yang dapat
digunakan untuk menggambarkan
proses tersebut.
♦
Metode yang digunakan untuk
menggambarkan proses pada top
level berbeda dengan metode yang
digunakan untuk proses yang ada
pada level yang paling bawah.
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
♦
Demikian pula ada beberapa istilah
yang digunakan, yaitu :
* Mini-spec (mini specifications )
* Job-spec (job specifications)
* Process descriptions
* dll.
♦
Spesifikasi proses untuk level atas
dapat meng-gunakan kalimat
deskriptif namun pada level yang
lebih rinci, yaitu pada proses paling
bawah (functional primitive)
membutuhkan spesifikasi yang
lebih terstruktur dengan
menggunakan kaidah - kaidah
tertentu.
SP112 - Analisa Sistem Informasi 08 - 09 / 3 -22
BINA NUSANTARA
♦
Spesifikasi proses menjadi
pedoman bagi programmer dalam
membuat program (coding).
♦
Metode yang digunakan dapat
berupa :
⇒
Narasi, uraian proses dalam
bentuk “cerita”
⇒
Bahasa Indonesia / Inggris
yang terstruktur
⇒
Decision Table (Tabel
Keputusan)
⇒
Decision Tree (Pohon
Keputusan)
SP112 - Analisa Sistem Informasi 08 - 09 / 4 -22
BINA NUSANTARA
♦
NARASI
Penjelasan proses dalam bentuk
kalimat :
Untuk setiap pembelian dari
pelanggan harap diperiksa : Apabila
batas kredit dilampui maka periksa
histori pembayarannya. Apabila
historinya kurang baik maka ditolak.
Apabila historinya baik dan
pembelian tidak melebihi 1 juta
rupiah mintalah persetujuan
manajer; bila lebih dari 1 juta rupiah
maka ditolak.
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
♦
BAHASA INDONESIA
TERSTRUKTUR
• Instruksi proses dengan Bahasa
Indonesia :
* JIKA MAKA * JIKA MAKA --- --- --- --- SELAIN ITU --- --- --- --- --- AKHIR JIKA AKHIR JIKA
* SELAMA LAKUKAN * ULANG
--- --- --- --- --- --- AKHIR SELAMA SAMPAI * LAKUKAN KASUS KASUS --- --- KASUS --- --- --- AKHIR KASUS BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
* BUKA FILE ... * BACA FILE ...
* BACA FILE ... BERDASARKAN ... * TULIS FILE ...
* TUTUP FILE ... * HITUNG ...
* CETAK KE PRINTER ... * TAMPIL KE LAYAR ...
• Instruksi tidak mutlak (kaku), yang
penting dapat dimengerti.
SP112 - Analisa Sistem Informasi 08 - 09 / 7 -22
Contoh Bahasa Indonesia Terstruktur :
MODUL Validasi_Penjualan
JIKA Saldo_Piutang > Limit_Kredit
MAKA
JIKA Histori_Bayar = Buruk MAKA
tolak
SELAIN ITU
JIKA Nilai_Barang <= 1 juta MAKA
minta_persetujuan_manajer
SELAIN ITU
tolak
AKHIR JIKA
AKHIR JIKA
SELAIN ITU
pembelian_dilayani
AKHIR JIKA
AKHIR MODUL
SP112 - Analisa Sistem Informasi 08 - 09 / 8 -22
♦
STRUCTURED ENGLISH
• Instruksi proses dengan Bahasa
Inggris :
* IF THEN * IF THEN --- --- --- --- ELSE --- --- --- --- --- ENDIF ENDIF * WHILE DO * REPEAT --- --- --- --- --- --- ENDWHILE UNTIL * DO CASE CASE --- --- CASE --- --- ENDCASEBINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
* OPEN FILE ... * READ FILE ... * WRITE FILE ... * REWRITE FILE ... * SEARCH FILE ... FOR ... * LOCATE FILE ... FOR ... * PRINT ...
* DISPLAY ... * INPUT ... * CALCULATE ... * COMPUTE ...
Contoh Structured English :
MODULE Validasi_Penjualan
IF Saldo_Piutang > Limit_Kredit THEN
IF Histori_Bayar = Buruk THEN
tolak
ELSE
IF Nilai_Barang <= 1 juta THEN
minta_persetujuan_manajer
ELSE
tolak
ENDIF
ENDIF
BINA NUSANTARAEdisi : 1 Revisi : 0 Sept – 2000
ELSE
pembelian_dilayani
ENDIF
ENDMODULE
♦
DECISION TABLE
Kredit limit dilampui Y Y Y Y N N N N Histori pembayaran baik Y Y N N Y Y N N Pembelian di atas 1 juta Y N Y N Y N Y N
Pembelian diterima X X X X Tolak X X X
Minta persetujuan manajer X Kondisi
Aksi
Aturan
SP112 - Analisa Sistem Informasi 08 - 09 / 11 -22
BINA NUSANTARA
♦
DECISION TREE
Pembelian di atas Ditolak 1 juta Histori pembayaran baik Pembelian Minta dibawah persetujuan 1 juta manajer Kredit dilampui Histori pembayaran Ditolak kurang baik Kredit limit
tidak dilampui Diterima
SP112 - Analisa Sistem Informasi 08 - 09 / 12 -22
BINA NUSANTARA
♦
Contoh Spesifikasi Proses
2.3
Detil_Penjualan Mencatat Summary_Penjualan Penjualan
FILE-PENJUALAN
Detil_Penjualan :
Cust + Part_No + Qty_Sold + Unit_Price File_Penjualan :
Part_No + Total_Qty + Total_Value Summary_Penjualan :
Cust + Sale_Value
MODULE Mencatat_Penjualan Receive “Detil_Penjualan”
Get record in “File Penjualan” for PART_NOin Detil_Penjualan
TOTAL_QTY = TOTAL_QTY + QTY_SOLD SALE_VALUE = QTY_SOLD * UNIT_PRICE TOTAL_VALUE = TOTAL_VALUE + SALE_VALUE Write “File Penjualan” record
Send “ Summary Penjualan” ENDMODULE
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
Pada contoh berikut ditambah kondisi:
bila nilai penjualan > 5 juta maka
diberi discount sebesar 10 %.
2.3.1
Kirim Discount = Cust + Tot_Discount Discount
2.3.0
Detil_Penjualan Mencatat Summary_Penjualan Penjualan
FILE-PENJUALAN
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000 MODULE Mencatat_Penjualan
Receive “Detil_Penjualan”
Get record in “File Penjualan” for PART_NOin Detil_Penjualan
TOTAL_QTY = TOTAL_QTY + QTY_SOLD SALE_VALUE = QTY_SOLD * UNIT_PRICE TOTAL_VALUE = TOTAL_VALUE + SALE_VALUE Write “File Penjualan” record
Send “ Summary Penjualan” IF SALE_VALUE > 5 juta
DISCOUNT = SALE_VALUE * 0.10 Send “Discount”
ENDIF ENDMODULE
SP112 - Analisa Sistem Informasi 08 - 09 / 15 -22
Pada contoh berikut ditambah kondisi
lagi (dari contoh sebelumnya), yaitu
bila pembelian dengan tunai atau cek
akan diberi tanda terima sedangkan
untuk pembelian dengan kredit akan
dikirim invoice dan bila pembelian
menggunakan fasilitas “account” akan
diposting. Discount hanya diberikan
untuk fasilitas “account”.
2.3.1 kirim Disc. 2.3. 2 Posting Acc 2.3.0 Mencatat Penjualan 2.3.3 kirim Invoice Discount = Cust + Tot_Discount Account_Posting= Cust + Sale_Value Detil_Penjualan Summary_Penjualan Tanda_Terima = Cust + Sale_Value File_Penjualan Invoice = Part_No + Tot_Invoice
SP112 - Analisa Sistem Informasi 08 - 09 / 16 -22
MODULE Mencatat_Penjualan
Receive “Detil_Penjualan”
Get record in “File Penjualan” for PART_NO in
Detil_Penjualan
TOTAL_QTY = TOTAL_QTY + QTY_SOLD
SALE_VALUE = QTY_SOLD * UNIT_PRICE
TOTAL_VALUE = TOTAL_VALUE +
SALE_VALUE
Write “File Penjualan” record
Send “ Summary Penjualan”
DO CASE
CASE Pembayaran = account
Posting account
IF SALE_VALUE > 5 juta
DISCOUNT = SALE_VALUE * 0.10
Send “Discount”
ENDIF
CASE Pembayaran = tunai or cek
Send “Tanda Terima”
CASE Pembayaran = kredit
Send “Invoice”
ENDCASE
ENDMODULE
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000 Order = Order_No + {Part_No+Qty+Price Pesanan = Order_No+ 3.2 +Amount}+{Part_
{Part_No+Qty} Pencatatan Total_Value} Order
Part_No + Price
FILE-PENJUALAN
Pada gambar di atas, setiap Pesanan
dapat terdiri lebih dari satu macam
barang. Hal ini berarti bahwa
pendataan order terhadap
setiap
pesanan akan dilakukan sampai
semua Part_No didatakan. Jadi di sini
terdapat proses repetition.
Get “Pesanan” Total_Value = 0 While not end of line Get next order line
Get Price from “File Penjualan” for Part_No Amount = Qty * Price
Total_Value = Total_Value + Amount End
Send “Order”
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000 LAPORAN PENJUALAN
PERIODE : S/D
TANGGAL NO. FAKTUR NILAI
99 - 99 - 999 xxxxxxxxxxxx 999999 xxxxxxxxxxxx 999999 TOTAL TANGGAL 9999999 99 - 99 - 9999 xxxxxxxxxxxx 999999 xxxxxxxxxxxx 999999 TOTAL TANGGAL 9999999 GRAND TOTAL 9999999
Jual_H = {@NO_Faktur + Tgl_Faktur +
Kd_Pelanggan}
Jual_D = {@ No_Faktur + @ Kd_Barang +
Harga_Unit + Jml_Unit}
File Jual_H harus diindeks berdasarkan
Tgl_Faktur + No_Faktor
SP112 - Analisa Sistem Informasi 08 - 09 / 19 -22
BINA NUSANTARA
Model : Cetak laporan penjualan
Input : Periode laporan
File : Jual_H indexed brg Tgl_Faktur + No_Faktur
Jual_D indexed brg No_Faktur + Kd_Barang
Module cetak_Lap_Penjualan Open file Jual_D, Jual_H Get Tgl_Awal, Tgl_Akhir Repeat
Read File Jual_H
Until (Tgl_Faktur >= Tgl_Awal) on EOF (Jual_H) Grand_Total 0
Do While not EOF (Jual_H) and (Tgl_Faktur <= Tgl_Akhir)
Total_Tgl 0
Tgl_X Tgl_Faktur
Do While (Tgl_Faktur = Tgl_X) and not EOF (Jual_H)
Process all record of Jual_D for No_Faktur = No_Faktur of Jual_H
Compute Nilai Harga_Unit * Jual_Unit
Total_Tgl Total_Tgl + nilai Print detail line
Read file Jual_H Enddo
Print Total_Tgl
Grand_Total Grand_Total + Total_Tgl
Enddo
SP112 - Analisa Sistem Informasi 08 - 09 / 20 -22
BINA NUSANTARA
Print Grand_Total Close File Jual_D, Jual_H End module
♦ KESIMPULAN
•
Setiap proses pada tingkat yang
paling bawah (functional primitive)
harus memiliki spesifikasi proses.
•
Spesifikasi proses ini harus
menjelaskan transformasi aliran
data yang masuk (input) menjadi
aliran data yang keluar (output).
•
Isi spesifikasi proses harus
menjelaskan tentang bagaimana
mentransformasi input agar
menghasilkan output.
• Metode Penulisan harus jelas,
ringkas dan lengkap.
BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000
Buatlah Spesifikasi Proses di bawah
ini dengan Structured English :
BARANG = { Kode-Barang + Nama + Min_Stock +
Harga_Unit + Kwantitas }
PELANGGAN = { Kode-Pelanggan + Nama + Alamat +
Limit_Kredit + Saldo_Piutang }
JUAL-H = { Tgl-Jual + No-Faktur + Kode_Pelanggan +
Persen_Discount }
JUAL-D = { No-Faktur + Kode-Barang + Harga_Unit +
Jml_Unit } Jual_D 3.5.2* Cetak Laporan Penjualan Tgl_Akhir Tgl_Awal Jual_H Barang Pelanggan Laporan_Penjualan BINA NUSANTARA
Edisi : 1 Revisi : 0 Sept – 2000 LAPORAN PENJUALAN
Periode : 99-99-99 s/d 99-99-99
Tgl No Faktur Pelanggan Barang Jumlah Nilai
99-99-99 x---x x---x x---x 9999 99999 x---x 9999 99999 x---x 9999 99999 Total Nilai 999999 Discount 999999 Total Bersih 999999 x---x x---x x---x 9999 99999 Discount 999999 Total Bersih 999999 x---x x---x x---x 9999 99999 x---x 9999 99999 Total Nilai 999999 Discount 999999 Total Bersih 999999 Total Tanggal 99999999