Anda di halaman 1dari 14

MODUL PERKULIAHAN

Rekayasa
Perangkat
Lunak
Konsep dan Prinsip Desain
(Lanjutan)

Fakultas Ilmu Program Studi


Tatap Muka Kode MK Disusun Oleh
Komputer Teknik
Informatika
Devi Fitrianah

09

Abstract Kompetensi
Modul ini berisi materi tentang Mahasiswa mengerti tentang
konsep dan prinsip desain konsep desain dan prinsip yang
mendasari konsep tersebut
PROSEDUR PERANGKAT LUNAK

Difokuskan pada detail pemrosesan dari setiap modul secara individu.

Prosedur harus mengandung spesifikasi yang benar / tepat dari pemrosesan, termasuk : sequence of
events, decision points, repetitive operations, dan struktur data.

Gambar Prosedur Sebuah Perangkat Lunak.

MODULARITI

Software dibagi ke dalam nama-nama yang terpisah dan elemen-elemen yang dapat dipanggil, yang
disebut dengan modul, yang termasuk ke dalam memenuhi syarat-syarat permasalahan.

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


2 Devi Fitrianah http://www.mercubuana.ac.id
Gambar Modularity & Software Cost.

Contoh :

C(x) = Fungsi kompleksitas dari suatu masalah

E(x) = Fungsi usaha/waktu yang diperlukan untuk memecahkan suatu masalah

P1 ,P2 = masalah 1, masalah 2

Jika : C(P1) > C(P2) maka : E(P1) > E(P2)

Berdasarkan penelitian :

1. C ( P1 + P2 ) > C ( P1 ) + C ( P2 )

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


3 Devi Fitrianah http://www.mercubuana.ac.id
2. E ( P1 + P 2 ) > E ( P1 ) + E ( P2 )

Konklusi :

1. Kompleksitas suatu masalah gabungan P1 dan P2 akan berkurang jika masalah tersebut
dipisahkan.

2. Akan lebih mudah menyelesaikan suatu masalah jika dipecah / dipartisi.

ABSTRAKSI
Jika kita menggunakan suatu solusi modular untuk beberapa masalah, maka beberapa level / tingkat
abstrasi dapat ditampilkan / diperlihatkan.

Pada level tertinggi, suatu solusi berada pada term yang umum dengan menggunakan bahasa natural.

Level yang lebih rendah lebih berorientasi pada prosedur-prosedur.

Contoh :

Abstraksi 1

The software will incorporate a computer graphics interface that will enable visual communication
with the drafts person and a digitizer interface that replace the drafting board and square. All line and
curve drawing, all geometric computation, and all sectioning and auxiliary views will be performed by
the CAD Comp.

Abstraksi 2

CAD Software tasks :

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


4 Devi Fitrianah http://www.mercubuana.ac.id
user interaction task ;

2-D drawing creation task ;

graphics display task ;

drawing file management task ;

end.

Abstraksi 3

procedure : 2-D drawing creation ;

repeat until (drawing creation task terminates)

do while (digitizer interaction occurs)

digitizer interface task ;

determine drawing request case ;

line : line drawing task ;

circle : circle drawing task ;

...

...

end ;

do while (keyboard interaction occurs)

keyboard interaction task ;

process analysis / computation case ;

view : auxiliary view task ;

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


5 Devi Fitrianah http://www.mercubuana.ac.id
section : cross sectioning task ;

...

...

end

...

...

end repetition ;

end procedure.

PENYEMBUNYIAN INFORMASI

Contoh :

Black Box input, output, & proses

Diketahui tetapi proses detail tidak diketahui.

Bagi Modul B, Modul C adalah Black Box

Keuntungan :

Jika diperlukan modifikasi selama testing dan maintenance data & prosedur disembunyikan dari
bagian lain, dari program / software secara keseluruhan.

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


6 Devi Fitrianah http://www.mercubuana.ac.id
Kesalahan-kesalahan yang terjadi selama modifikasi tidak merambat pada bagian lain.

Gambar Information Hiding.

DESAIN MODULAR EFEKTIF

Modular design adalah mereduksi komplesitas masalah, menyediakan fasilitas untuk melakukan
perubahan (dalam hal pemeliharaan) dan memudahkan implementasi dengan pengembangan paralel
dari bagian-bagian yang berbeda dalam suatu sistim.

TIPE MODUL

Abstraksi dan penyembunyian informasi dipakai untuk mendefinisikan modul-modul didalam


lingkungan software architecture.

Didalam structure software, suatu modul mungkin dikategorikan sebagai berikut :

Sequential module, dieksekusi tanpa interupsi yang dilakukan software aplikasi.

Incremental module, dapat diinterupsi oleh program aplikasi dan kemudian kembali ke titik
semula setelah interupsi selesai.

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


7 Devi Fitrianah http://www.mercubuana.ac.id
Parallel module, dieksekusi secara simultan dengan modul lain dalam lingkungan Concurrent
multiprocessor.

INDEPENDENSI FUNGSIONAL

Konsep functional independence berkembang dari modularitas dan konsep abstraksi serta
information hiding.

Independence di ukur dengan menggunakan 2 kriteria kualitatif, yaitu :

Cohesion

Coupling

COHESION (KETERPAUTAN)
Cohesion merupakan :

Perluasan / kelanjutan dari information hiding.

Suatu modul kohesif membentuk sebuah tugas tunggal didalam suatu software prosedur dan
memerlukan sedikit interaksi dengan prosedur yang dibuat dalam bagian lain dari suatu
program.

Gambar Cohesion Spectrum.

Coincidental cohesion :

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


8 Devi Fitrianah http://www.mercubuana.ac.id
Sebuah modul yang membentuk sejumlah tugas yang berhubungan satu sama lain dengan
longgar.

Logically cohesion :

Sebuah modul yang membentuk tugas-tugas yang dihubungkan secara logical.

Temporal cohesion :

Jika sebuah modul berisi sejumlah tugas yang dihubungkan dengan segala yang harus
dieksekusi dalam waktu yang bersamaan.

Procedural cohesion :

Jika pemrosesan elemen-elemen dari suatu modul dihubungkan dan harus dieksekusi dalam
urutan spesifik.

Communication cohesion :

Jika pemrosesan elemen-elemen dikonsentrasikan pada satu area dari suatu struktur data.

COUPLING (BERGANDENGAN)

Coupling (bergandengan) merupakan :

Suatu pengukuran dari keterkaitan / keterhubungan antara sejumlah modul dalam struktur
program.

Coupling tergantung pada kompleksitas interface antar modul.

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


9 Devi Fitrianah http://www.mercubuana.ac.id
Gambar Coupling Spectrum.

Gambar Low Coupling.

Gambar Control Coupling.

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


10 Devi Fitrianah http://www.mercubuana.ac.id
Control coupling terjadi ketika modul 1 mengirimkan control data ke modul 2.

Gambar High Coupling.

Modul C, E dan N menunjukkan command coupling.

HEURISTIK DESAIN BAGI MODULARITAS YANG EFEKTIF

Setelah terstruktur, perangkat lunak dibuat dengan desain yang berorientasi ke aliran data dan modul-
modul yang efektif telah dicapai maka hasilnya dapat ditinjau kembali dengan mempergunakan
kumpulan petunjuk (heuristik) sebagai berikut :

o Evaluasi iterasi pertama dari struktur program untuk mengurangi perangkaian dan
meningkatkan kohesi.

o Usahakan meminimalkan struktur dengan fan-out yang tinggi usahakan untuk melakukan fan-
in pada saat kedalaman (depth) bertambah.

o Jagalah supaya lingkup efek dari suatu model ada dalam lingkup control.

o Evaluasi interface modul untuk mengurangi kompleksitas dan redundansi.

o Tetapkan modul-modul yang fungsinya dapat diprediksi, tetapi hindari modul yang terlalu
restriktif.

o Usahakan modul-modul entri kontrol" dengan menghindari hubungan patalogis

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


11 Devi Fitrianah http://www.mercubuana.ac.id
o Kemasalah software berdasarkan batasan desain dan persyaratan probabilitas.

MODEL DESAIN

Prinsip dan konsep desain yang dibicarakan pada bab ini membangun sebuah fondasi untuk
pembuatan model desain yang mencakup representasi data, arsitektur, interface dan prosedur.

DOKUMENTASI DESAIN

Outline spesifikasi desain :

I. Ruang Lingkup

Sasaran Sistim

Persyaratan utama software

Batasan-batasan dan pembatasan desain

II. Desain Data

Obyek data dan struktur data resultan

Struktur file dan database

Struktur file eksternal

Struktur logis


Deskripsi record logis


Metode akses

Data global

File dan referensi lintas data

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


12 Devi Fitrianah http://www.mercubuana.ac.id
III. Desain Arsitektural

Kajian data dan aliran control

Struktur program yang di peroleh

IV. Desain Interface

Spesifikasi interface manusia-mesin

Aturan desain interface manusia-mesin

Desain interface eksternal

o Interface untuk data eksternal

o Interface untuk sistim atau peralatan eksternal

V. Desain Prosedural

Untuk masing-masing modul :

Naratif pemrosesan

Diskripsi Interface

Diskripsi bahasa (atau lainnya) desain

Modul-modul yang digunakan

Struktur data internal

Keterangan / larangan / pembatasan

VI. Persyaratan Lintas-Referensi

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


13 Devi Fitrianah http://www.mercubuana.ac.id
VII. Ketetentuan pengujian

Panduan pengujian

Strategi integrasi

Pertimbangan Khusus

VIII. Catatan Khusus

IX. Lampiran

Daftar Pustaka

1. Pressman, Roger S. Software Engineering: A Practitioners Approach, 6th


edition.
2. Merdiaman, Bernard. Modul kuliah RPL,
3. Sommervile, Ian. Software Engineering

2017 Rekayasa Perangkat Lunak Pusat Bahan Ajar dan eLearning


14 Devi Fitrianah http://www.mercubuana.ac.id

Anda mungkin juga menyukai