Matakuliah Tahun : T0104 – Metode Perancangan Program : 2010 MODULARISASI Pertemuan 6 Modularisasi Pertemuan 6 Bina Nusantara University 3 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: 1. Definisi masalah: klasifikasikan dalam input, proses dan output 2. Kelompokkan aktivitas ke dalam modul. Definisikan kegiatan dari modul-modul yang ada 3. Buat bagan susun untuk menjelaskan hirarki dan hubungan antar modul 4. Buat logika dari main program dengan pseudocode. Terlebih dahulu inventarisasi apa saja yang dikerjakan dalam main program 5. Buat logika untuk tiap tiap modul dengan pseudocode 6. 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 Input Kar_1 Kar_2 Kar_3 Proses baca Kar_1, Kar_2, Kar_3 sort tiga karakter tersebut cetak hasil sort Output Kar_1 Kar_2 Kar_3 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 baca 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 ENDIF If Kar_1>Kar_2 THEN temp = Kar_1 Kar_1 = Kar_2 Kar_2 = temp ENDIF 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: PT XYZ Hal: 99 No. Product xxx xxx Laporan Pemesanan Barang Nama Jumlah Jumlah Product Pesanan Harga x-------x 999 999.999 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 1. Cetak judul Dibuat modul untuk mencetak judul 2. 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 baca file order ENDDO tutup file order END E. Merancang Pseudocode bagi modul 1. 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 Hitung_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 Nama Jumlah Harga / Biaya Biaya Record No. Product Product Pesan Unit muat Paket 1 100 VCD 10 100 10 10 2 200 DVD 20 200 20 20 F. Desk Checking • Hasil yang diharapkan PT XYZ Hal : 1 No Product 100 200 Nama Product VCD DVD Jumlah Pesanan 10 20 Total Bayar 1200 4800 DO WHILE Statement OK ? Inisialisasi cetak_judul Inisialisasi Baca DO WHILE Ya IF Hitung Cetak Tambah Baca DO WHILE Ya IF Hitung Cetak DO WHILE tidak END Hal 0 1 Baris no_produc Jumlah_ t pesanan harga baiya_mua biaya_pak Total_bay t et ar 0 100 10 ya ya 200 20 100 10 10 1200 ya 1 ya ya 200 20 20 4800 ya
© Copyright 2024 Paperzz