Kasus (Main Modul : 10 Point, Sub modul : 25 point, Hierarchy chart : 5 point)
1. Sebuah perusahaan yang bergerak dalam bidang transportasi yaitu travel dari Jakarta menuju bandung, meminta anda untuk membuat program yang dapat membaca database “Penumpang.dat”, dimana field yang tersedia adalah Kode Pool , Pool, Nomor Mobil , Sopir, mahasiswa, manula dan regular. Adapun tariff yagn dikenakan berbeda yaitu
a. Mahasiswa : Rp 50.000
b. Manula : Rp. 40.000
c. Regular : Rp. 70.000
Total per pool akan dicetak, dan pada halaman terakhir akan tercetak total pendapatan yang didapatkan dan jumlah penumpang menurut jenisnya. Anda diminta untuk membuat main modul, sub modul dan hierarchy chart
Main Modul :
Program Laporan_Penumpang
Inisialisasi
Cetak_Judul
Baca first record
This_pool = kode_pool
Prev_pool = kode_pool
DOWHILE not eof()
IF this_pool NOT=prev_pool
Cetak_total_per_pool
Prev_pool = this_pool
ENDIF
IF baris > 30
Cetak_judul
ENDIF
Proses
baca_this_record
This_pool = kode_pool
ENDDO
Cetak_total_per_pool
Cetak_total
END
Modul – Modul :
Inisialisasi
Baris = 0
Hal = 0
Total_pool = 0
Total_pendapatan=0
Total_mahasiswa = 0
Total_manula = 0
Total_regular = 0
END
Cetak_Judul
Cetak ‘Laporan Penumpang B-Trans’
Cetak ‘Tgl :’, date()
Cetak ‘Kode Pool Nomor Mobil sopir Mahasiswa Manula regular Pendapatan’
END
Process
Pendapatan = (Mahasiswa*50000)+(Manula*40000)+(Regular*70000)
Cetak_Detil
Akumulasi
END
Cetak_detil
Cetak Kode_Pool, Pool,Mobil,Sopir,Mahasiswa, Manula, Regular, Pendapatan
Baris = baris +1
END
Akumulasi
Total_pool = total_pool + Pendapatan
Total_Mahasiswa =Total_mahasiswa+mahasiswa
Total_manula = total_manula + manula
Total_regular = total_regular
END
Cetak_total_per_pool
Cetak ‘Total Poo;’, pool, total_pool
Baris = baris + 1
Reset_total_per_pool
END
Reset_total_per_pool
Total_pendapatan = total_pendapatan+total_pool
Total_pool = 0
END
Cetak_total
Cetak ‘Total Pendapatan :’, Total_pendapatan
Cetak ‘Total Penumpang Mahasiswa :’, total_mahasiswa
Cetak ‘Total Penumpang Manula :’, total_manula
Cetak ‘Total Penumpang Regular : ‘, total_regular
END