Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Materi 9 Komunikasi Antar Modul, Kohesi dan Kopling Disusun Oleh : Yulyani Arifin,S.Kom, MMSI.

Presentasi serupa


Presentasi berjudul: "Materi 9 Komunikasi Antar Modul, Kohesi dan Kopling Disusun Oleh : Yulyani Arifin,S.Kom, MMSI."— Transcript presentasi:

1 Materi 9 Komunikasi Antar Modul, Kohesi dan Kopling Disusun Oleh : Yulyani Arifin,S.Kom, MMSI

2 Agenda Komunikasi Antar Modul Modul Kohesi Modul Kopling

3 Mahasiswa mampu memahami komunikasi antar modul. Mahasiswa mampu menyelesaikan masalah dengan penggunaan parameter antar modul Mahasiswa mampu mengukur kekuatan internal modul dengan kohesi Mahasiswa mampu mengukur tingkat pertukaran informasi antar modul Kemampuan Akhir yang Diharapkan

4 MATERI BELAJAR Komunikasi Antar Modul Perlu mempertimbangkan arus informasi antar modul Arus informasi ( intermodule communication) dapat dipenuhi dengan cakupan variabel ( lokal, global data, passing parameter)

5 MATERI BELAJAR Komunikasi Antar Modul Cakupan variabel : bagian dalam sebuah program tempat variabel didefinisikan dan dapat direferensikan. 1.Global data - digunakan : semua modul dlm 1 program - Jangkauan : semua program - Lifetime : selama eksekusi program

6 MATERI BELAJAR Komunikasi Antar Modul 2. Data lokal - digunakan : di sub modul - Jangkauan : sub modul tertentu -Lifetime : selama eksekusi sub modul -Mengurangi side effect ( pengunaan data global dalam sebuah modul)

7 MATERI BELAJAR Komunikasi Antar Modul 3. Passing Parameter - Parameter : data item yang ditransfer dari modul yang dipanggil ke modul yang memanggil. - Syarat : - Calling Module menyediakan nama untuk parameter yang dikirim

8 MATERI BELAJAR Komunikasi Antar Modul - Sub Module harus dapat menerima parameter dan mengembalikannya jika dibutuhkan. - Contoh : Calling Module : Print_page_heading (pagecount, linecount) SubModule : Print_page_heading ( pagenumber,linenumber)

9 MATERI BELAJAR Komunikasi Antar Modul Parameter Formal dan Aktual Parameter Formal : Parameter yang ada ketika submodul yang ditentukan. Parameter Aktual : Variabel atau ekspresi yang dikirimkan pada sebuah sub modul yang dipanggil.

10 MATERI BELAJAR Komunikasi Antar Modul Contoh parameter aktual: Mainline Calculate_amount_owing (gasFigure,amountbilled) End Contoh Parameter Formal : Submodul Calculate_amount_owing (gasUsage,amountOwing) ….. End

11 MATERI BELAJAR Komunikasi Antar Modul Parameter Value dan Reference -Parameter Value : Nilai yang dikirimkan dari satu modul ke modul yang memanggil. -Parameter Reference : Alamat memori dari sebuah parameter yang dikirim ke modul yang memanggil.

12 MATERI BELAJAR Komunikasi Antar Modul Hierarchy Chart dan Parameter Parameter yang dikirimkan antar modul dapat digambarkan dalam Hierarchy Chart Data parameters Status parameter

13 MATERI BELAJAR Latihan Program dengan Parameter Design a solution algorithm that will prompt a terminal operator for three characters, accept those characters as input, sort them into ascending sequence and output them to the screen. The algorithm is to continue to read characters untuk ‘XXX’ is entered

14 MATERI BELAJAR Latihan Program dengan Parameter Diagram Definisi Input Char_1 Char_2 Char_3 Proses Prompt for characters Accept three characters Sort Three Characters Output Three Characters Output Char_1 Char_2 Char_3

15 MATERI BELAJAR Latihan Program dengan Parameter Hierarchy Chart

16 MATERI BELAJAR Latihan Program dengan Parameter Algoritma Solusi : Process_three_characters Read_three_characters(char1, char2, char3) DOWHILE NOT (char1=‘X’ AND char2=‘X’ AND char3=‘X’) Sort_three_charcters(char1,char2,char3) Print_three_characters(char1, char2, char3) Read_three_characters(char1,char2,char3) END Read_three_characters(char1, char2, char3) prompt the operator for char_1,char_2,char_3 get char_1,char_2,char_3 END Print_three_characters(char1,char2,char3) output to the screen char, char2, char3 END

17 MATERI BELAJAR Latihan Program dengan Parameter Algoritma Solusi : Sort_three_characters(char1,char2,char3) IF char1>char2 THEN Swap_two_characters(char1, char2) ENDIF IF char2>char3 THEN Swap_two_characters(char2, char3) ENDIF IF char1>char2 THEN Swap_two_characters(char1, char2) ENDIF END Swap_two_characters(firstchar,secondchar) temp = firstchar firstchar = secondchar secondchar = temp END

18 MATERI BELAJAR Modul Kohesi -Modul : melakukan satu fungsi, terdiri dari 1 entry, 1 exit dan nama modul yang mencerminkan fungsinya. -Kohesi : tolak ukur kekuatan internal dalam modul. -Semakin dekat element dalam modul maka semakin tinggi tingkat kohesi. -Modul dengan kohesi tinggi adalah modul yang baik.

19 MATERI BELAJAR Modul Kohesi

20 MATERI BELAJAR Functional Cohesion -Functional Cohesion terjadi ketika semua element berkontribusi mengerjakan suatu tugas khusus. Calculate_sales_tax IF product is sales tax exempt THEN sales__tax = 0 ELSE IF product_price < $ THEN sales_tax = product_price * 0.25 ELSE IF product_price < $ THEN sales_tax = product_price * 0.35 ELSE sales_tax = product_price * 0.5 ENDIF END

21 MATERI BELAJAR Sequential Cohesion -Sequential Cohesion terjadi ketika sebuah modul terdiri dari elemen – elemen yang tergantung pada proses elemen sebelumnya Process_purchases set total_purchases to zero prompt and get number_of_purchases DO loop_index = 1 to number_of_purchases prompt and get pruchase add purchase to total_purchases ENDDO sales_tax = total_purchases*sales_tax_percent amount_due = total_purchases + sales_tax END

22 MATERI BELAJAR Communicational Cohesion -Communicational Cohesion terjadi ketika sebuah modul dikelompokan bersama karena menggunakan data yang sama. validate_product_record IF transaction_type NOT=‘0’’ THEN error_flag = true error_message = ‘invalid transaction type’ print_error_report ENDIF IF customer_number is NOT= numeric THEN error_flag = true error_message = ‘invalid customer number’ print_error_report ENDIF IF product_no = blanks OR produc_no has leading blanks THEN error_flag = true error_message = ‘invalid product no’ print_error_report ENDIF END

23 MATERI BELAJAR Procedural Cohesion -Procedural Cohesion terjadi ketika elemen- element dalam sebuah modul saling terkait karena dijalankan berdasarkan prosedur. Contoh : Mainline Read_student_record_and_total_student_ages set number_of_records to zero set total_age to zero read student record DOWHILE more records exist add age to total_age add 1 to number_of_records ENDDO print number_of_records, total_age END

24 MATERI BELAJAR Temporal Cohesion -Temporal Cohesion terjadi ketika elemen – elemen dalam sebuah modul dikelompokan bersama karena terkait dengan waktu. Initialisation Open transaction file Issue Prompt ‘enter today’s date – DDMMYY’ Read todays_date Set transaction_count to zero Read transaction record IF not EOF increment transaction_count ENDIF Open report file Print_page_headings Set report_total to zero END

25 MATERI BELAJAR Logical Cohesion -Logical Cohesion terjadi ketika elemen – elemen dalam sebuah modul dikelompokan bersama berdasarkan pada aktivity tertentu. Read_all_files(file_code) CASE of file_code 1 : Read customer transaction record IF not EOF increment customer_transaction_count ENDIF 2: Read customer master record IF NOT EOF increment customer_master_count ENDIF 3: Read product master record IF NOT EOF increment product_master_count ENDIF ENDCASE END

26 MATERI BELAJAR Coincidental Cohesion -Coincidental Cohesion terjadi ketika elemen – elemen dalam sebuah modul dikelompokan bersama hanya karena dalam satu modul. Tidak ada hubungan yang berarti File_processing open employee updates file read employee record print_page_heading open employee master file set page_count to one set error_flag to false END

27 MATERI BELAJAR Modul Coupling -Coupling adalah ukuran sejauh mana pertukaran informasi antara modul. -Semakin kuat coupling artinya semakin besar ketergantungan pada modul lain. -Semakin lemah coupling artinya semakin mudah mandiri dan mudah dikembangkan.

28 MATERI BELAJAR Modul Coupling

29 MATERI BELAJAR Data Coupling -Data Coupling terjadi ketika sebuah modul mengirimkan variabel non global ke modul lain. Module A Module B Elementary data item

30 MATERI BELAJAR Data Coupling Contoh: A.Process_customer_record … calculate_sales_tax(total_price, sales_tax) … B. Calculate_sales_tax IF total_price > 5000 THEN sales_tax = total_price * 0.25 Else If total_price > 4000 THEN sales_tax = total_price * 0.2 Else sales_tax = total_price * 0.15 ENDIF END

31 MATERI BELAJAR Stamp Coupling -Stamp Coupling terjadi ketika sebuah modul mengirimkan struktur data non global ke modul lain. Module A Module B Data Structure

32 MATERI BELAJAR Stamp Coupling Contoh: Process_transaction_record …. process_male_student (current_record) … END Proses_male_student (current_record) increment male_student_count (current_record) If student_age > 21 THEN increment_mature_male_count ENDIF …. END

33 MATERI BELAJAR Control Coupling -Control Coupling terjadi ketika sebuah modul mengirimkan variabel kontrol untuk mengontrol logika modul lain Module A Module B Flag

34 MATERI BELAJAR Control Coupling Contoh: Process_input_code read input_code choose_appropriate_action (input_code) … END Choose_appropriate_action (input_code) CASE OF input_code 1: read employee record 2: print_page_heading 3: open employee master file 4: set page_count to zero 5: error_message =‘Employee number not numeric’ ENDCASE END

35 MATERI BELAJAR External Coupling -External Coupling terjadi ketika dua atau lebih modul mengakses variabel global yang sama. Global Data variabel Module AModule B

36 MATERI BELAJAR External Coupling Contoh: Calculate_sales_tax IF product is sales exempt THEN sales_tax = 0 ELSE IF product_price < $50 THEN sales_tax = sales_price * 0.25 …. … ENDIF Calculate_amount_due … amount_due = total_amount + sales_tax … END

37 MATERI BELAJAR Common Coupling -Common Coupling terjadi ketika dua atau lebih modul mengakses struktur data global yang sama. Global Data Structure Module AModule B

38 MATERI BELAJAR Common Coupling Contoh: Read_customer_record read customer record IF EOF THEN set EOF_flag to true ENDIF END Validate_customer_record IF customer_number is NOT numeric THEN error_message = ‘invalid customer number’ print_error_report ENDIF … …. END

39 MATERI BELAJAR Q & A


Download ppt "Materi 9 Komunikasi Antar Modul, Kohesi dan Kopling Disusun Oleh : Yulyani Arifin,S.Kom, MMSI."

Presentasi serupa


Iklan oleh Google