Komunikasi Antar Modul,

Slides:



Advertisements
Presentasi serupa
Pseudocode & Flowchart
Advertisements

Desain Dan Analisis Algoritma
Teknik Pemrograman Terstruktur
Pemrograman Dasar Pengantar Algoritma - 2 PTIIK - UB.
PROCEDURE  PROCEDURE   Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok.
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Algoritma : CONTROL STRUCTURES
Tipe data dan algoritma dasar
Spesifikasi Proses.
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
PENGURUTAN (SORTING).
7. STRUCT.
Pseudocode Dengan Modularisasi
(Lanjutan Tugas Pertemuan ke 1)
Situasi Saat Program Berjalan (Run-time Environment)
MINGGU 2 Java Programming (MKB614C)
Proses Percabangan Bersyarat
Flowchart dan Pseudocode
Materi 2 PSEUDOCODE Disusun Oleh : Yulyani Arifin,S.Kom, MMSI.
Web Teknologi 2Minggu …3… Page 1 MINGGU Ke Tiga Pemrograman Visual 2 Pokok Bahasan: Dasar-dasar Pengembangan Web ASP.NET Tujuan Instruksional Khusus:
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
Materi 7 ARRAY Processing
Memori dan Scope Variabel
Metode Perancangan Program
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
STRUKTUR DATA (5) Pointer dan Function
Procedure & Function Sub Program.
Array Processing & Modular
PROSEDUR.
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
STORED PROCEDURE Achmad Yasid, SKom.
Algoritma Umum untuk Masalah Bisnis
STRUKTUR DATA Pointer dan Function
Langkah Awal Modularisasi
Metode Perancangan Program
REPETITION CONTROL STRUCTURES
Algoritma dan Pemrograman
Review Modularisasi, Algoritma Bisnis, dan Object Oriented
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Pertemuan Pengembangan Algoritma
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Metode Perancangan Program
Metode Perancangan Program
Cursor MI2163 Dasar Pemrograman Basis Data. Introduction Cursor merupakan suatu variabel yang digunakan untuk menampung hasil query yang terdiri atas.
Structure English dan Decision Table
Materi 1 Perancangan Program
Algoritma dan Pemrograman Subrutin
Prosedur.
Struktur Kontrol Struktur kontrol if Struktur kontrol if-else
Pengujian Perangkat Lunak
Pertemuan 4 PROGRAMMING LANGUAGE.
Prosedur.
Metode Perancangan Program
Metode Perancangan Program
Pemrograman Terstruktur
Metode Perancangan Program
Algoritma dan Pemrograman Pertemuan 1
Pseudocode – Tipe Data, Variabel, dan Operator
Metode Perancangan Program
Algoritma dan Pemrograman Subrutin
Pertemuan 11 ANALISA PERANCANGAN PROGRAM Bagian 1.
LAB PEMOGRAMAN III (VISUAL BASIC)
Algoritma dan Pemrograman Subrutin
ANALISA PERANCANGAN PROGRAM.
Materi 2 PSEUDOCODE Disusun Oleh : Yulyani Arifin,S.Kom, MMSI.
DASAR - DASAR PERANCANGAN PERANGKAT LUNAK
Teknik Pemrograman Terstruktur
Memori dan Scope Variabel
Transcript presentasi:

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

Agenda Komunikasi Antar Modul Modul Kohesi Modul Kopling

Kemampuan Akhir yang Diharapkan 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

Komunikasi Antar Modul 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)

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

Komunikasi Antar Modul 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)

Komunikasi Antar Modul 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

Komunikasi Antar Modul 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)

Komunikasi Antar Modul 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.

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

Komunikasi Antar Modul 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.

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

Latihan Program dengan Parameter 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

Latihan Program dengan Parameter 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

Latihan Program dengan Parameter MATERI BELAJAR Latihan Program dengan Parameter Hierarchy Chart

Latihan Program dengan Parameter 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 prompt the operator for char_1,char_2,char_3 get char_1,char_2,char_3 Print_three_characters(char1,char2,char3) output to the screen char, char2, char3

Latihan Program dengan Parameter 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) END Swap_two_characters(firstchar,secondchar) temp = firstchar firstchar = secondchar secondchar = temp

Kohesi : tolak ukur kekuatan internal dalam modul . 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.

MATERI BELAJAR Modul Kohesi

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 < $ 50.00 THEN sales_tax = product_price * 0.25 IF product_price < $100.00 THEN sales_tax = product_price * 0.35 sales_tax = product_price * 0.5 ENDIF END

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

Communicational Cohesion 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_message = ‘invalid customer number’ IF product_no = blanks OR produc_no has leading blanks THEN error_message = ‘invalid product no’ END

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

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

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 3 : Read product master record increment product_master_count ENDCASE END

Coincidental Cohesion 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

Coupling adalah ukuran sejauh mana pertukaran informasi antara modul. 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.

MATERI BELAJAR Modul Coupling

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

Data Coupling Contoh: Process_customer_record … MATERI BELAJAR Data Coupling Contoh: 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 sales_tax = total_price * 0.15 ENDIF END

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

Stamp Coupling Contoh: Process_transaction_record …. 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

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

Control Coupling Contoh: Process_input_code read input_code 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

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

External Coupling Contoh: Calculate_sales_tax 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

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

Common Coupling Contoh: Read_customer_record read customer record 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 … ….

MATERI BELAJAR Q & A