PERTEMUAN 9
ALGORITMA UNTUK MASALAH BISNIS
POKOK BAHASAN
1. Struktur Program2. Struktur Chart3. Membuat Laporan Dengan Page Break 4. Contoh Algoritma Penyelesaian
STRUKTUR PROGRAMSecara umum program yang dilakukan untuk memprosesdata yang dibaca dari file dapat digambarkan sbb:Sub Proses_record
Proses_inisialisasi Baca record pertamaDo while not EOF
process_record_iniBaca next record
ENDDOProses_final
END
STRUKTUR CHARTAlgoritma di atas digambarkan dengan struktur chartberikut:• Tiga modul di atas dapat berisi statement yang
dibutuhkan untuk memproses data yang dibaca dari file• Main program dari struktur chart sudah ada sehingga
dapat dikembangkan proses dari ketiga modul tersebut
MEMBUAT LAPORAN DENGAN PAGE BREAK
� Suatu laporan membutuhkan:– Judul– Baris judul– Kolom judul– Detail– Total
� Di samping itu suatu halaman laporan hanyamenampung beberapa baris record, sehingga harusmengatur pemindahan ke halaman baru
� Untuk itu dibutuhkan sebuah control break untukmemeriksa kapan harus pindah ke halaman baru (pagebreak)
MEMBUAT LAPORAN DENGAN PAGE BREAK (lanjutan)
1. Single-Level Control Break2. Multiple-Level Control Break
CONTOH LAPORAN MULTI-LEVEL BREAK
1. SINGLE-LEVEL BREAK� Single-Level Control Break adalah pemberhentian dalam
logika program (berhenti atau mengulang untukmencetak judul baru) berdasarkan nilai sebuah variabel.Contoh : no departemen.
HIERARCHY CHART SINGLE-LEVEL BREAK
Print_ control_ total_line
Produce_ Single_level
control_break
Process_this_
records
Print_page_headings
Initialize variable_fields
Print_ report_
total
Print_ detail_line
Accumulate_ control_total
Reset_ control_
total
2. MULTIPLE-LEVEL BREAK� Multiple-Level Control Break adalah pemberhentian
dalam logika program (berhenti atau mengulang untukmencetak judul baru) berdasarkan beberapa nilaivariabel. Contoh : total penjualan per sales dan totalpenjualan per departemen
HIERARCHY CHART MULTIPLE-LEVEL BREAK
Print_page_headings
Reset_ major_control
_ total
Proceduce_ multiple_level control_break
Process_this_
records
Initialize variable_fields
Print_major_control_
total
Print_minor_control_
total
Accumulate_ control
Reset_ minor_control
_ total
Print_ detail_line
Print_ report_
total
CONTOH KASUS
HIERARCHY CHART
ALGORITMA PEMECAHAN
Laporan_PenyewaanInisialisasiCetak_JudulBaca Record PertamaDO WHILE NOT EOF
If baris > 30 THENCetak_JudulBaris = 0
ENDIFProcess_RecordBaca Record SelanjutnyaENDDO
Cetak_Total_ReportEND
SUBORDINATE MODUL1. Inisialisasi
Buka FileTotal = 0Hal = 0Baris = 0END
2. Cetak_JudulHal = hal + 1Cetak “PT. Semesta Makmur Abadi ”Cetak “Jalan Bahari Biru ”Cetak “Jakarta”Cetak “Laporan Gaji ”Cetak “Tanggal Cetak “, date(), “Hal =”, halCetak “No. NIP Nama Target Realisasi Komisi Gaji Pokok Total Gaji ”END
3. Process_Recordkomisi = (realisasi – target ) * 10000Total_gaji = komisi + gaji_pokokCetak_Detailaccumulate_totalEND
5. Cetak_DetailBaris = baris +1Cetak baris, NIP, Nama, Target, Realisasi, Komisi. Gaji_Pokok, Total_gajiEND
SUBORDINATE MODUL (lanjutan)
6. Accumulate_totalTotal = total + total_gajiEND
7. Cetak_total_ReportCetak “Total gaji Sales”, totalTutup FileEND
SUBORDINATE MODUL (lanjutan)
TUGAS 6Buatlah program lengkap dengan pseudocode danflowchart untuk menampilkan daftar gaji gaji karyawan,dengan ketentuan sebagai berikut :
Kode Jabatan
Jabatan Gaji Pokok
Kode Status
Status Tunjangan
1 Administrasi 800.000M Menikah 200.000S Single 100.000
2 Operasional 850.000M Menikah 250.000S Single 150.000
TUGAS 6 (lanjutan)Jumlah Karyawan = .... <diinput>
Bulan = ......... <diinput>
Input Data Karyawan
Data Karyawan ke = <counter jumlah>
NIP karyawan = ......... <diinput>
Nama Karyawan = ......... <diinput>
Kode Jabatan [1/2] = .... <diinput>
Kode Status [M/S] = .... <diinput>
TUGAS 6 (lanjutan)Ketentuan :� Banyak data karyawan yang diinput harus sama dengan
ketentuan jumlah karyawan yang sudah diberikan padaawal input data.
� Total didapat dari pertambahan gaji pokok dengantunjangan.
� Setelah selesai diinput maka akan menghasilkankeluaran dalam bentuk tabel yang jumlahnya samasesuai dengan jumlah data yang diinput.
TUGAS 6 (lanjutan)Catatan Tugas :� Tugas dibuat pada kertas folio bergaris dengan
menggunakan bolpoint.� Tugas dikumpulkan pada saat pertemuan 10. Bagi
mahasiswa yang tidak mengumpulkan tugas maka tidakmendapat nilai tugas 6 (tidak ada sistem susulan).
Top Related