SP112 - Analisa Sistem Informasi
08 - 09 / 1 -22
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.
SP112 - Analisa Sistem Informasi
♦ 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.
BINA NUSANTARA Edisi :
1
Revisi :
BINA NUSANTARA Sept – 2000
0
SP112 - Analisa Sistem Informasi
08 - 09 / 3 -22
♦ 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)
Edisi :
1
Revisi :
1
Revisi :
0
Sept – 2000
0
SP112 - Analisa Sistem Informasi
08 - 09 / 4 -22
♦ 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 :
08 - 09 / 2 -22
BINA NUSANTARA Sept – 2000
Edisi :
1
Revisi :
0
Sept – 2000
SP112 - Analisa Sistem Informasi
08 - 09 / 5 -22
♦ BAHASA INDONESIA TERSTRUKTUR • Instruksi proses dengan Bahasa Indonesia : * JIKA MAKA ------------------------------SELAIN ITU ------------------------------AKHIR JIKA * SELAMA LAKUKAN ---------------------------------------------AKHIR SELAMA
* JIKA
MAKA ---------------------------------------------------------------------------AKHIR JIKA
SP112 - Analisa Sistem Informasi
* * * * * * * *
08 - 09 / 6 -22
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.
* ULANG ---------------------------------------------SAMPAI
* LAKUKAN KASUS KASUS ------------------------------------------KASUS ---------------------------------------------------------------AKHIR KASUS BINA NUSANTARA Edisi :
1
Revisi :
BINA NUSANTARA Sept – 2000
0
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
Edisi :
1
Revisi :
SP112 - Analisa Sistem Informasi
1
Revisi :
0
08 - 09 / 8 -22
♦ STRUCTURED ENGLISH • Instruksi Inggris :
proses
* IF
dengan
THEN ------------------------------ELSE ------------------------------ENDIF
* IF THEN ---------------------------------------------------------------------------ENDIF
* WHILE DO ---------------------------------------------ENDWHILE
* REPEAT ---------------------------------------------UNTIL
Bahasa
* DO CASE CASE ----------------------CASE ----------------------ENDCASE
BINA NUSANTARA Edisi :
Sept – 2000
0
BINA NUSANTARA Sept – 2000
Edisi :
1
Revisi :
0
Sept – 2000
SP112 - Analisa Sistem Informasi
* * * * * * * * * * *
08 - 09 / 9 -22
SP112 - Analisa Sistem Informasi
ELSE pembelian_dilayani ENDIF ENDMODULE
OPEN FILE ... READ FILE ... WRITE FILE ... REWRITE FILE ... SEARCH FILE ... FOR ... LOCATE FILE ... FOR ... PRINT ... DISPLAY ... INPUT ... CALCULATE ... COMPUTE ...
♦DECISION TABLE Aturan
Kondisi
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
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
Y
N
X
X
1
Revisi :
Tolak
SP112 - Analisa Sistem Informasi
Y X
X
X
N X
X
Aksi Minta persetujuan manajer
X
BINA NUSANTARA Sept – 2000
0
N
Pembelian diterima
BINA NUSANTARA Edisi :
08 - 09 / 10 -22
08 - 09 / 11 -22
♦ DECISION TREE
Edisi :
1
Revisi :
Sept – 2000
0
SP112 - Analisa Sistem Informasi
08 - 09 / 12 -22
♦Contoh Spesifikasi Proses Pembelian di atas Ditolak 1 juta
Detil_Penjualan
2.3 Mencatat Penjualan
Histori pembayaran baik
Summary_Penjualan
FILE-PENJUALAN
Pembelian Minta dibawah persetujuan 1 juta manajer
Detil_Penjualan : Cust + Part_No + Qty_Sold + Unit_Price File_Penjualan : Part_No + Total_Qty + Total_Value
Kredit dilampui
Summary_Penjualan : Cust + Sale_Value
Histori pembayaran kurang baik
Kredit limit tidak dilampui
Ditolak
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” ENDMODULE
Diterima
BINA NUSANTARA Edisi :
1
Revisi :
0
BINA NUSANTARA Sept – 2000
Edisi :
1
Revisi :
0
Sept – 2000
SP112 - Analisa Sistem Informasi
08 - 09 / 13 -22
Pada contoh berikut ditambah kondisi: bila nilai penjualan > 5 juta maka diberi discount sebesar 10 %.
2.3.1 Kirim Discount
Discount = Cust + Tot_Discount
2.3.0 Mencatat Penjualan
Detil_Penjualan
SP112 - Analisa Sistem Informasi
08 - 09 / 14 -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” IF SALE_VALUE > 5 juta DISCOUNT = SALE_VALUE * 0.10 Send “Discount” ENDIF ENDMODULE
Summary_Penjualan
FILE-PENJUALAN
BINA NUSANTARA Edisi :
1
Revisi :
BINA NUSANTARA Sept – 2000
0
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.
Discount = Cust + Tot_Discount
2.3. 2 Posting
Acc Account_Posting= Cust + Sale_Value 2.3.0 Mencatat
Detil_Penjualan
Summary_Penjualan
Penjualan File_Penjualan Tanda_Terima = Cust + Sale_Value
2.3.3 kirim Invoice
Edisi :
1
Revisi :
SP112 - Analisa Sistem Informasi
1
Revisi :
0
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
Invoice = Part_No + Tot_Invoice
BINA NUSANTARA Edisi :
Sept – 2000
0
BINA NUSANTARA Sept – 2000
Edisi :
1
Revisi :
0
Sept – 2000
SP112 - Analisa Sistem Informasi
Pesanan = Order_No+ {Part_No+Qty}
3.2 Pencatatan Order
08 - 09 / 17 -22
Order = Order_No + {Part_No+Qty+Price +Amount}+{Part_ Total_Value}
SP112 - Analisa Sistem Informasi
08 - 09 / 18 -22
LAPORAN PENJUALAN PERIODE : S/D TANGGAL
NO. FAKTUR
NILAI
99 - 99 - 999
xxxxxxxxxxxx xxxxxxxxxxxx
999999 999999
Part_No + Price TOTAL TANGGAL
9999999
FILE-PENJUALAN 99 - 99 - 9999
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”
xxxxxxxxxxxx xxxxxxxxxxxx TOTAL TANGGAL GRAND TOTAL
1
Revisi :
Jual_D = {@ No_Faktur + @ Kd_Barang + Harga_Unit + Jml_Unit} File Jual_H harus diindeks berdasarkan Tgl_Faktur + No_Faktor
Model Input File
BINA NUSANTARA Sept – 2000
0
SP112 - Analisa Sistem Informasi
08 - 09 / 19 -22
: Cetak laporan penjualan : Periode laporan : Jual_H indexed brg Tgl_Faktur + No_Faktur Jual_D indexed brg No_Faktur + Kd_Barang
Edisi :
1
Revisi :
Revisi :
0
08 - 09 / 20 -22
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 1
Sept – 2000
0
SP112 - Analisa Sistem Informasi
♦
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
Edisi :
9999999 9999999
Jual_H = {@NO_Faktur + Tgl_Faktur + Kd_Pelanggan}
BINA NUSANTARA Edisi :
999999 999999
BINA NUSANTARA Sept – 2000
Edisi :
1
Revisi :
0
Sept – 2000
SP112 - Analisa Sistem Informasi
08 - 09 / 21 -22
SP112 - Analisa Sistem Informasi LAPORAN PENJUALAN Periode : 99-99-99 s/d 99-99-99
Buatlah Spesifikasi Proses di bawah ini dengan Structured English : Tgl
x-----------x
Jumlah
x--------x x--------x x--------x
9999 9999 9999
Nilai 99999 99999 99999
Jual_H
3.5.2* Cetak Laporan Penjualan
Barang
No Faktur Pelanggan Barang
99-99-99 x----------x
Tgl_Akhir
Tgl_Awal
08 - 09 / 22 -22
Total Nilai Discount Total Bersih
Jual_D Pelanggan
x----------x
x-----------x
x--------x
9999
Discount Total Bersih
999999 999999 999999 99999 999999 999999
Laporan_Penjualan x----------x
x-------------x
BARANG = { Kode-Barang + Nama + Min_Stock + Harga_Unit + Kwantitas }
x--------x x--------x
9999 9999
Total Nilai Discount Total Bersih
PELANGGAN = { Kode-Pelanggan + Nama + Alamat + Limit_Kredit + Saldo_Piutang }
Total Tanggal
99999 99999 999999 999999 999999 99999999
JUAL-H = { Tgl-Jual + No-Faktur + Kode_Pelanggan + Persen_Discount } JUAL-D = { No-Faktur + Kode-Barang + Harga_Unit + Jml_Unit } BINA NUSANTARA Edisi :
1
Revisi :
0
BINA NUSANTARA Sept – 2000
Edisi :
1
Revisi :
0
Sept – 2000