Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Metode Perancangan Program
Pert 12 – Algoritma untuk masalah bisnis
2
Sequential File update
Sequential file update adalah proses batch yang sangat umum. Flowchart dari sequential file update dapat digambarkan berikut: File Transaksi File master lama Program Sequential update Laporan Audit dan Error File master baru
3
Konsep Sistem File Master File Transaksi Laporan Audit Laporan Error
Sebuah file master adalah sebuah file yang berisi data permanent dan semi permanent. Record di dalam file ini adalah sequential, tergantung dari key. File Transaksi Sebuah file transaksi adalah file yang berisi semua data dan kegiatan yang ada di file master. Laporan Audit Adalah sebuah daftar detail mengenai semua transaksi yang ada di file master. Laporan Error Adalah file yang berisi daftar eror yang terjadi selama update file
4
Balance Line Algorithm
Algoritma ini menangani multiple transaksi record untuk satu file master, dan juga jika ada kemungkinan record yang error. Algoritma ini ditampilkan secara modular dan memakai konsep current record. Current record adalah record yang sedang diproses
5
Balance line algorithm
Current record akan digunakan jika key record pada kedua file dibandingkan Yang menjadi current record adalah record dengan key record yang lebih kecil. Hal lainnya adalah status current record yang digunakan sebagai flag untuk menyatakan apakah current record dapat diproses atau tidak. Jika status current record adalah aktif, maka current record dapat digunakan untuk update atau menulis ke file master baru. Jika inactive, maka current record tidak dapat digunakan.
6
Balance line algorithm
Proses kedua file akan selesai jika sampai ke end_of_job. Dimana hal ini berarti kedua file sudah sampai ke eof.
7
contoh Hierarchy chart
8
Solution algorithm Mainline Sequential_update_program
Initialise_variable_fields Read_transaction_record Read_old_master_record set current_record_status to ‘inactive’ DOWHILE NOT end_of_job select_current_record DOWHILE transaction_record_key = current_record_key Apply_transaction_to_current_record ENDDO IF current_record_status =‘active’ THEN write_current_record ENDIF Print_report_totals END
9
Subordinate modules 1. Initialise_variable_fields
set total_transaction_records to zero set total_old_master_records to zero set total_new_master_records to zero set total_error_records to zero set end_of_job to false END Read_transaction_record read transaction record IF NOT EOF THEN increment total_transaction_records ELSE set transaction_record_key to high value IF transaction_record_key = high value THEN set end_of_job = true ENDIF
10
Read_old_master_record
IF NOT EOF THEN increment total_old_master_records ELSE set old_master_record to high value IF transaction_record_key = high value THEN set end_of_job = true ENDIF END Select_current_record IF transaction_record_key < old_master_record_key THEN set up current record with transaction record fields set up current record with old master record fields set current_record_status to ‘active’ read_old_master_record
11
5. Apply_transaction_to_current_record
CASE OF transaction_type addition : apply_addition_transaction deletion : apply_deletion_transaction update : apply_update_transaction other : error_message = ‘invalid transaction type’ Print_error_report ENDCASE read_transaction_record END 6. Write_current_record write current record to new master file incremental total_new_master_records 7. Print_report-totals print total_transaction_records print total_old_master_records print total_new_master_records print total_error_records
12
8. Apply_addition_transaction
IF current_record_status = ‘inactive’ THEN set current_record_status to ‘active’ print_audit_report ELSE error_message = ‘Invalid addition, record already exists’ print_error_report ENDIF END 9. Apply_deletion_transaction IF current_record_status = ‘active’ THEN set current_record_status to ‘inactive’ error_message = ‘Invalid deletion, record not on master file’
13
10. Apply_update_transaction
IF current_record_status = ‘active’ THEN apply required changes to current record Print_audit_report ELSE error_message = ‘Invalid update. Record not on master file’ print_error_report ENDIF END 11. Print_audit_report print transaction details on audit report CASE OF transaction_type addition : print ‘record added’ deletion : print ‘record deleted’ update : print ‘record updated’ ENDCASE 12. Print_error_report print transaction details on error report print error_message increment total_error_records
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.