Thursday, October 22, 2009

Kopling

Kopling
􀂄 Kopling adalah ukuran bagi keeratan hubungan antar modul
􀂄 Kopling menyatakan tingkat saling ketergantungan diantara dua modul
􀂄 Tujuan:
􀁺 Merancang modul yang baik dengan ukuran kopling
􀂄 Faktor yang mempengaruhi kopling:
􀁺 Jumlah data yang disalurkan
􀁺 Jumlah kontrol data yang disalurkan
􀁺 Jumlah elemen data global yang digunakan bersama – sama oleh beberapa modul
􀂄 Macam – macam kopling
􀁺 Data
􀁺 Stamp
􀁺 Kontrol
􀁺 Eksternal
􀁺 Common
Kopling Data
􀂄 Komunikasi antara modul menggunakan data
􀂄 Diharapkan jumlah data yang disalurkan seminimal mungkin
􀂄 Parameter data yang disalurkan semakin sedikit semakin baik
Gambar Structured chart dengan kopling data:

Keterangan:
􀂄 Parameternya terdiri dari data
􀂄 Jumlah parameter minimal

Contoh algoritma kopling data:
Proses_record_pelanggan
….. Hitung_pajak_penjualan(harga_total,Pajak)
…..
…..
END
Hitung_pajak_penjualan(harga_total,Pajak)
IF harga_total>5000 THEN
pajak = harga * 0.25
ELSE
IF harga_total>4000 THEN
pajak = harga * 0.25
ELSE
IF harga_total>3000 THEN
pajak = harga * 0.25
ELSE
IF harga_total>2000 THEN
pajak = harga * 0.25
ELSE
pajak = 0
ENDIF
ENDIF
ENDIF
ENDIF
END
Keterangan:
• harga_total 􀃆 parameter masukan
• pajak 􀃆 parameter keluaran
Kopling Stamp
􀂄 Dua modul melakukan pass struktur data non global yang sama.
􀂄 Struktur Data: record, array
􀂄 Timbul bahaya jika modul memeriksa struktur data tetapi hanya menggunakan sebagian
Gambar Structured chart dengan kopling stamp:

Keterangan:
􀂄 Parameternya struktur data (Record atau Array)

Contoh algoritma kopling control:
Proses_input_code
Read input_code
Lakukan_aksi(input_code)
…..
….. END
Lakukan_aksi(input_code)
CASE of Input_code
1: Read record_karyawan
2: Cetak_header_halaman
3: Open master_file_Karyawan
4: jml_halaman = 0
5: error_message
ENDCASE
END
Keterangan:
• input_code berfungsi sebagai switch (berupa switch)
Kopling External
􀂄 Dua modul atau lebih menggunakan data global yang sama
􀂄 Tidak ada parameter yang digunakan dari modul pemanggil ke sub-ordinate dan sebaliknya
Gambar Structured chart dengan kopling external:

Keterangan:
􀂄 Tidak ada parameter

Contoh algoritma kopling external:
Hitung_pajak_Penjualan
IF produk = “sampel” THEN
pajak_pen = 0
ELSE
IF harga_produk<50000 THEN
pajak_pen = hrg_jual * 0.25
…..
…..
ENDIF
ENDIF
END
Hitung_nilai_total()
…..
…..
total = nilai_total + pajak_pen
…..
…..
END
Keterangan:
• pajak_pen adalah variabel data global
Kopling Common
􀂄 Dua modul atau lebih menggunakan struktur data global yang sama
􀂄 Tidak ada parameter yang digunakan dari modul pemanggil ke sub-ordinate dan sebaliknya
Gambar Structured chart dengan kopling common:

Keterangan:
􀂄 Tidak ada parameter

Contoh algoritma kopling common:
Baca_record_pelanggan
Read record_pelanggan
IF EOF THEN
EOF_flag = true
END
IF END
Validasi_record_pelanggan()
IF noPelanggan NOT numeris THEN
error_msg = “invalid nomor pelanggan
Print_laporan_error
ENDIF
…..
…..
END
Keterangan:
• Record_pelanggan adalah struktur data global

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

Wednesday, October 21, 2009

Komunikasi Antar Modul

Komunikasi Antar Modul

Data

� Variabel, Konstanta dan Literal
� Elementary Data
� Integer
� Real
� Character
� Boolean
� Struktur Data
� Rekor
� File
� Array
� String

Jangkauan Data

Global Data (Data Global)
Berlaku di semua modul yang ada pada program

Local Data (Data Lokal)
Hanya berlaku di modul tempat data tersebut dideklarasikan

Side Effect (efek samping)

Global Data (Data Global)
Perubahan nilai global data berdampak terhadap nilai data tersebut di semua modul

Local Data (Data Lokal)
Perubahan nilai local data hanya berdampak terhadap nilai data pada modul secara lokal

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

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