download

Matakuliah
Tahun
Versi
: H0112 – Pemrograman Bahasa Tingkat Tinggi
: 2005/2006
: <<versi/revisi>>
Pertemuan 5
Teknik Modular
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Menggunakan teknik modular dalam
membuat suatu solusi program dari
sebuah masalah.
2
Outline Materi
• Top-Down Programming and Bottom-Up
Programming
• Kohesi
• Kopling
3
Top-Down Programming and
Bottom-Up Programming
Aturan Penting #1
Desain dg Top-Down,
tetapi membuat dg Bottom-Up
• Koding dan test-lah komponen yang
paling mudah terlebih dahulu.
• Test-lah setiap komponen, sebelum
menggunakan-nya untuk membuat
komponen yang lebih kompleks
4
Kopling
• Hubungan dan Ketergantungan antar
fungsi.
• Kopling Kontrol:
– ketika suatu fungsi mengirimkan kontrol
signal ke fungsi lainnya.
– Contoh: function call, return
• Kopling Data:
– Mengirim data antar fungsi
– Contoh: function parameters, return values
5
Contoh 1
Struktur Diagram dengan label yang menunjukan
kopling data
Kopling Kontrol
nama
jam
Kopling Data
tanggal
undanganKePesta ( nama , tanggal ,
jam )
{
telepon ( nama )
ajakanKePesta (tanggal , jam )
bye ( nama )
}
inviteToParty
tanggal
jam
telepon
AjakanKePesta
bye
6
Example 2
Structure chart with labels showing data coupling
telepon ( nama )
{
set nomerTelp sebagai hasil dari cariBukuAlmt (nama )
angkat telepon
tekan nomerTelp
katakan “Hi nama, Ini Budi”
}
nomerTelp
ringUp
nama
Kembalikan nilai atau
data yang termodifikasi
dengan menggunakan
pointer
dll...
searchAddrBook
7
Hal penting pada Kopling
• Tujuan: Memaksimalkan indepedensi
Modul = Meminimalisasi Kopling
• Penggunaan Variabel Global (global
variables) adl bentuk dari Kopling Data
yang tidak dianjurkan!
– Disarankan untuk tidak menggunakan
Variable global pada program Anda!
8
Hal penting pada Kopling
• Dimana penerapan Kopling Kontrol pada
koding?
– Function call: Ketika sebuah fungsi dipanggil,
maka kontrol diberikan pada fungsi tersebut
– Function return: Ketika koding didalam
sebuah fungsi sudah dilakukan, maka kontrol
dikembalikan kepada koding si-Pemanggil.
• Dimana penerapan Kopling Data pada koding?
– Data dikirim ke satu fungsi via parameter
– Data dikembalikan dari fungsi via “return”
– Data dimodifikasi dengan pointer
9
Kohesi
• Kohesi: merujuk ke seberapa dekat
hubungan koding didalam satu
fungsi tertentu.
• Kohesi Logik (Lemah)
– Contoh: Fungsi Input/Output
• Kohesi Fungsi
(Kuat)
– Fungsi yang menghasilkan satu
output/kegiatan
• Tujuan: Kohesi Fungsi
10
Contoh Kohesi
kontak ( perusahaan , pesan , mode )
{
if mode = fax
{
kirimFax ( perusahaan , pesan)
}
else if mode = email
{
kirimEmail ( perusahaan , pesan)
}
}
Kohesif
11
Contoh Kohesi
kontak ( perusahaan , pesan , mode )
{
if mode = fax
{
kirimFax ( perusahaan , pesan)
}
else if mode = email
{
kirimEmail ( perusahaan , pesan)
}
}
cetakBukuAlamat ( )
}
Tidak Kohesif
12
Kohesi
Aturan Penting #2
Modul-modul dalam
pemrograman terstruktur
adalah sangat kohesif tetapi
memiliki kopling rengang
• Besaran kopling data menunjukan
secara umum posisi suatu modul pada
hirarki pemrograman.
13
Kesimpulan
• Teknik Modular penting dalam membuat
software yang kompleks
• Desain top-down, tetapi buat secara
bottom-up
• Pemrograman Terstruktur yang baik
adalah sangat kohesif dengan kopling
renggang antar modul.
14
Topik Minggu Depan
• Unit Testing
• Tugas: mahasiswa/i mengembangkan
sistem elevator dari 3 lantai ke 4 lantai
(dengan memperhatikan teknik top-down
programming) – buku pustaka no:2
halaman 3-26.
15