Metode Perancangan Program Pert 6 – Modularisasi
Modularisasi Modularisasi digunakan bila ada suatu permasalahan yang kompleks, sehingga langkah pertama adalah mengidentifikasikan tugas utama, setelah itu baru di bagi kedalam tugas yang lebih rinci. Proses ini disebut juga dengan Top Down Design
Modular Programming Memecahkan algoritma ke dalam algoritma yang lebih kecil/modul Modul yang dibentuk mempunyai kesatuan tugas / fungsi maupun kesatuan proses/prosedur Setiap modul harus mempunyai single entry dan single exit secara beruntun dari atas ke bawah atau dari awal ke akhir modul Memiliki main program dan sub program atau modul
Modular Programming Enam langkah dalam modular: Definisi masalah: klasifikasikan dalam input, proses dan output Kelompokkan aktivitas ke dalam modul. Definisikan kegiatan dari modul-modul yang ada Buat bagan susun untuk menjelaskan hirarki dan hubungan antar modul Buat logika dari main program dengan pseudocode. Terlebih dahulu inventarisasi apa saja yang dikerjakan dalam main program Buat logika untuk tiap tiap modul dengan pseudocode Desk checking algoritma: mencek kebenaran algoritma dengan data
Contoh Susunlah algoritma untuk membaca tiga karakter kemudian susunlah ketiga nilai karakter tersebut dengan urutan menaik (ascending) dan tampilkan ketiga karakter hasil sort tersebut
Jawaban Definisi Masalah
Algoritma Pemecahan Dapat dibuat penyelesaian dengan modul sbb: Baca_tiga_karakter baca kar_1, kar_2, kar_3 DO WHILE NOT (Kar_1 = X AND Kar_2= X AND Kar_3 = X) sort_tiga_karakter cetak kar_1,kar_2, kar_3 ENDDO END
Algoritma Pemecahan Sort_tiga_karakter If Kar_1 > Kar_2 THEN temp = Kar_1 Kar_1 = Kar_2 Kar_2 = temp ENDIF If Kar_2 > Kar_3 THEN temp = Kar_2 Kar_2 = Kar_3 Kar_3 = temp If Kar_1>Kar_2 THEN cetak Kar_1, Kar_2, Kar_3 END
Contoh 2 Proses dilakukan untuk membuat laporan pemesanan. Data dibaca dari file order. Record order terdiri dari nomor_product, nama_product, jumlah_pesanan, harga_perunit, biaya_angkut_perunit, biaya_paket_perunit. Bentuk laporan yang diminta adalah sebagai berikut:
Laporan Pemesanan Barang PT XYZ Hal: 99 Laporan Pemesanan Barang No. Nama Jumlah Jumlah Product Product Pesanan Harga xxx x-------x 999 999.999 xxx x-------x 999 999.999 Setiap halaman terdiri dari 45 baris detail. Jumlah harga = jumlah_pesan x Harga_perunit Bila Jumlah harga > 10000 diberikan discount 10%. Biaya angkut dan biaya paket termasuk juga dalam jumlah harga
A. Definisi Masalah Input Proses Output Record Pesanan No_Product Nama_Product Jumlah_Pesanan Harga Biaya_angkut Biaya_Paket Cetak Judul Baca Record Hitung jumlah harga Hitung discount Hitung ongkos angkut Hitung ongkos paket Cetak detail Hitung counter Judul Detail no_Product Nama Jumlah Jumlah_harga Total_bayar
B. Pengelompokkan kegiatan dalam modul Cetak judul Dibuat modul untuk mencetak judul Perhitungan Dibuat modul untuk menghitung Jumlah harga Discount Ongkos muat Ongkos paket Total bayar
C. Hierarchy Chart Mencetak Lap_Pesan Cetak Judul Hitung_Jumlah_Harga
D. Logika Main Program DO WHILE Memanggil dua modul Mencetak detail Menghitung jumlah baris Membaca data dari file order
Mencetak_Lap_Pesanan Hal = 0 Cetak_Judul baris = 0 buka file order baca file order DO WHILE NOT EOF IF baris > 45 THEN cetak_judul baris=0 ENDIF Hitung_jumlah_harga Cetak no_product, nama_product, jumlah_pesanan, total_bayar baris = baris + 1 ENDDO tutup file order END
E. Merancang Pseudocode bagi modul Modul untuk mencetak judul Cetak_judul hal = hal + 1 cetak ‘PT XYZ’ cetak ‘Hal :’, hal cetak ‘laporan pemesanan barang’ cetak ‘no nama jumlah jumlah’ cetak ‘product product pesanan harga’ END
2. Modul untuk menghitung jumlah harga Jumlah_harga = jumlah_pesan * harga IF jumlah_harga > 10000 THEN diskon = jumlah_harga * 0.1 ELSE diskon = 0 ENDIF Jumlah_harga = jumlah_harga – diskon ongkos_muat = jumlah_pesan * biaya_muat ongkos_paket = jumlah_pesan * biaya_paket total_bayar = jumlah_harga + ongkos_muat + ongkos_paket END
F. Desk Checking Data Masukan
F. Desk Checking Hasil yang diharapkan