Monday, October 19, 2009

Kohesi

Kohesi

Kohesi sebagai ukuran suatu modul. Kohesi: hubungan elemen – elemen di dalam modul, semakin tinggi tingkat kohesi, semakin baik suatu modul

Macam – macam kohesi:
1. Functional
2. Sequential
3. Communicational
4. Procedural
5. Temporal
6. Logical
7. Coincidental

Perubahan pada modul dengan tingkat kohesi tinggi tidak terlalu membawa dampak perubahan terhadap modul lain. Sehingga lebih mudah dalam pemrograman, pengujian dan perawatan
Modul dengan tingkat kohesi tinggi, lebih mudah dipahami dan didokumentasi
Pada modul dengan tingkat kohesi tinggi, informasi lebih mudah disembunyikan, karena komunikasi antar modul diminimalkan

Kohesi Functional

Modul mempunyai satu tugas atau fungsi
Modul menghasilkan satu parameter output (satu hasil)
Modul memiliki satu atau lebih parameter input

Contoh kohesi functional:

Menghitung_pajak_penjualan
IF harga>5000 THEN
pajak = harga * 0.25
ELSE
IF harga>4000 THEN
pajak = harga * 0.25
ELSE
IF harga>3000 THEN
pajak = harga * 0.25
ELSE
IF harga>2000 THEN
pajak = harga * 0.25
ELSE
pajak = 0
ENDIF
ENDIF
ENDIF
ENDIF
END

Kohesi Sequential

Mempunyai pekerjaan yang beruntun (sekuensial)
Kegiatan yang dilakukan lebih dari satu
Hasil dari kegiatan sebelumnya menjadi masukan bagi kegiatan selanjutnya
Dapat dipecah menjadi functional

Contoh kohesi sequential:

Menghitung_penjualan
IF jml_beli > 300 THEN
pot = jml_beli * hrg_beli * 15%
ELSE
IF jml_beli > 200 THEN
pot = jml_beli * hrg_beli * 10%
ELSE
IF jml_beli > 100 THEN
pot = jml_beli * hrg_beli * 5%
ELSE
pot = 0
ENDIF
ENDIF
ENDIF
Pembelian = jml_beli * hrg_beli – pot
Tot_pembelian = Tot_pembelian + Pembelian
END

Kohesi Communicational
􀂄 Mempunyai lebih dari satu fungsi atau tugas
􀂄 Menggunakan data yang sama
􀂄 Dapat dijadikan functional
Contoh kohesi communicational:
Proses_perhitungan
C = A + B
D = A – B
E = A * B
F = A / B
G = A % B
END

Kohesi Procedural

Satu kegiatan dengan kegiatan lain tidak berhubungan
Hubungan antara elemen yang satu dengan lainnya karena urutan statement
Dapat dipecahkan menjadi Functional

Contoh kohesi procedural:

Membaca_record_siswa_dan_hitung_total_usia_siswa
jml_rec = 0
total_usia = 0
read record_siswa
DO WHILE more record exist
total_usia = total_usia + usia
jml_rec = jml_rec + 1
read record_siswa
ENDDO
Print jml_re, total_usia
END

Kohesi Temporal

Elemen – elemen terlibat dalam berbagai kegiatan yang mempunyai hubungan dalam waktu
Urutan tidak penting

Contoh kohesi temporal:
Inisialisasi
Buka File Transaksi
total_transaksi = 0
total_pen = 0
Baris = 0
No = 0
Hal = 0
END

Kohesi Logical

Elemen – elemen melakukan kegiatan dengan kategori yang sama (spt; kategori menghitung jumlah record)
Parameter masukan menentukan kegiatan yang dilaksanakan
Tidak semua kegiatan dikerjakan

Contoh kohesi logical:

Baca_semua_file(kode_file)
CASE file_code
1: Read cust_transact_rec
IF NOT EOF THEN
increment cust_transact_count
ENDIF
2: Read cust_master_rec
IF NOT EOF THEN
increment cust_master_count
ENDIF
3: Read prod_master_rec
IF NOT EOF THEN
increment prod_master_count
ENDIF
END

Kohesi Coincidental

Elemen – elemen tidak mempunyai hubungan

Contoh kohesi coincidental:

File Processing
Open employee updates file
Read employee record
Print page_heading
Open employee master file
jml_hal = 1
error_flag = false
END

sumber : www.pribadiraharja.com/augury/jobs/akademik/bahanAjar/pestruk/pestruk-suplemen2.pdf

No comments:

Post a Comment