REKAYASA PERANGKAT LUNAK DESAIN PERANGKA (1)

REKAYASA PERANGKAT LUNAK
‘’DESAIN PERANGKAT LUNAK (PRINSIP DESAIN DAN
KONSEP DESAIN’’

DI SUSUN OLEH
M. Riyan Husain

41816210038

Andika setiaji P

41816210024

Bagas Khosi

41816210033

Ridho Cindra

41816210016


Muthi Fatiya

41816210006

PROGRAM STUDI SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU
BUANA BEKASI 2016-2017

DAFTAR ISI
BAB I......................................................................................................................................................3
PENDAHUALUAN...................................................................................................................................3
1.1.

Abstract.................................................................................................................................3

BAB II.....................................................................................................................................................4
PEMBAHASAN.......................................................................................................................................4
2.1. Desain Perangkat Lunak.............................................................................................................4
2.2. Prinsip Desain perangkat lunak.................................................................................................7
2.3. Konsep Desain Perangkat Lunak................................................................................................8

BAB III..................................................................................................................................................10
PENUTUP.............................................................................................................................................10
3.1.

Kesimpulan..........................................................................................................................10

DAFTAR PUSTAKA................................................................................................................................11

BAB I
PENDAHUALUAN
1.1.

Abstract

Desain perangkat lunak merupakan tahapan pengembangan perangkat lunak yang
hasilnya akan digunakan oleh pengembang perangkat lunak untuk membuat program.
Dalam tulisan ini, disajikan berbagai konsep penting mengenai desain perangkat lunak,
termasuk proses desain itu sendiri. Tulisan ini diakhiri dengan mengkaji berbagai tantangan
dalam desain perangkat lunak, dalam hal bagaimana merancang perangkat lunak secara
efektif dan perancangan perangkat lunak untuk embedded system. Dari kajian tersebut

diharapkan memicu riset-riset dalam desain perangkat lunak
Perangkat lunak umumnya merupakan usaha untuk menyelesaikan permasalahan
pada dunia nyata menggunakan komputer. Pengembangan perangkat lunak (software
development) melalui serangkaian tahapan dimana masing-masing tahapan menghasilkan
artifak atau luaran tertentu. Dimulai dari pemahaman masalah (requirement elicitation),
analisis, desain, implementasi, dan diakhiri dengan pengujian. Selanjutnya, perangkat lunak
ditempatkan (deploy) pada pelanggan dan dilakukan pemiliharaan terhadapnya.
Luaran dari tahap requirement elicitation menjadi masukan pada tahapan analisis.
Bagian ini menjadi penting karena merupakan tahapan pemahaman terhadap domain
masalah yang akan diselesaikan oleh perangkat lunak. Selanjutnya, luaran dari tahapan
analisis digunakan pada tahap desain. Proses inipun tidak kalah pentingnya karena hasilnya
digunakan sebagai acuan untuk membuat implementasi perangkat lunak.
Tahapan desain menerjemahkan kebutuhan perangkat lunak ke dalam model [1]
yang dapat dipahami oleh pengembang perangkat lunak. Beberapa hal harus diperhatikan
oleh desainer perangkat lunak supaya perangkat lunak yang dikembangkan dapat fleksibel
dan komponen-komponen di dalamnya dapat digunakan ulang (reuseable). Pada tulisan ini,
dipaparkan beberapa hal terkait dengan desain perangkat lunak yaitu prinsip-prinsip
penting, proses desain, dan artifak-artifak yang dihasilkan dalam tahapan desain. Tulisan ini
ditutup dengan beberapa tantangantantangan dalam desain perangkat lunak .


BAB II
PEMBAHASAN
2.1. Desain Perangkat Lunak
Menurut E. S. Taylor Desain adalah langkah pertama dalam fase pengembangan bagi
setiap produk atau sistem yang direkayasa. Desain dapat didefinisikan sebagai proses aplikasi
berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau
sistem dalam detail yang memadai untuk memungkinkan realisasi fisiknya.
Tujuan desainer
adalah untuk menghasilkan suatu model atau representasi dari entitas yang
kemudian akan dibangun. Proses dimana model dikembangkan, menggabungkan intuisi dan
penilaian berdasarkan pengalaman dalam membangun entitas yang sama, serangkaian
prinsip dan atau heuristik yang menuntun cara dimana model disusun, serangkaian kriteria
yang memungkinkan penilaian terhadap kualitas dan terhadap suatu proses iterasi yang
membawa kepada suatu representasi nilai akhir.
Desain Perangkat Lunak
Desain perangkat lunak berada pada inti teknik dari proses rekayasa perangkat lunak
dan di aplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan.
Begitu persyaratan perangkat lunak telah mulai dianalisis dan ditentukan, maka desain
perangkat lunak menjadi yang pertama dari tiga aktivitas teknik desain, pembuatan kode
dan pengujian yang diperlukan untuk membangun dan menguji perangkat lunak.

Persyaratan perangkat lunak, yang dimanifestasi oleh data , fungsional, dan model model
perilaku,mengisi langkah desain. Dengan menggunakan satu dari sejumlah metode desain,
langkah desain menghasilkan :
a.
b.
c.
d.

Desaindata
Desain arsitektur
Desain interface
Desain prosedural

Metode desain
Desain digambarkan sebagai proses multi langkah dimana representasi struktur data,
struktur program, karakteristik interface dan detail prosedur disintesis dari persyaratan
informasi. Menurutn Freman Desain adalah sebuah aktivitas berkaitan dengan pembuatan
keputusan mayor, sering bersifat Struktural. Desain juga memperhatikan abstraksi dari
representasi informasi dan urutan pemrosesan, tetapi dengan tingkat detail yang berbeda.
Desain membangun representasi program yang koheren serta direncanakan dengan baik,

yang berkonsentrasi pada interrelasi dari bagian bagian dari tingkat yang lebih tinggi dan
operasi logis yang dilibatkan pada tingkat yang lebih rendah.Desain merupakan informasi
yang terkendali, metode desain perangkat lunakditarik dari pertimbangan yang masingmasing terdiri dari tiga domain model analisis. Domain data, fungsi dan perilaku yang
berfungsisebagai panduan pembuatan desain.Metode yang dibutuhkan untuk membuat

masing-masing lapisan model desain adalah untuk memberikan suatu pendekatan sistematis
bagi penarikan desain cetak biru yang dari sana perangkat lunak di produksi.
Desain Data
Desain data adalah aktivitas pertama dari empat aktivitas desain yang dilakukan
selama rekayasa perangkat lunak. Pengaruh struktur data pada struktur programdan
kompleksitas prosedural menyebabkan desain data berpengaruh penting terhadap kualitas
perangkat lunak, konsep penyembunyian informasi dan abstraksi data memberi dasar
pendekatan terhadap desain data.Tanpa melihat teknik desain yang akan digunakan, data
yang di desain dengan baikdapat membawa kepada struktur programdan modularitas yang
lebih baik, serta mengurangikompleksitas prosedural.Wasserman mengusulkanSerangkaian
prinsip yang dapat digunakan untuk menentukan dan mendesain data. Pada Kenyataannya
desain data dimulai selama pembuatan model analis. Karena analisis persyaratan perangkat
lunak dan desain seringkali overlap. erangkaian prinsip untuk spesifikasi data :
Prinsip analisis sistematik yang diaplikasikan pada fungsi dan perilaku seharusnya
diaplikasikan juga pada data.Representasi dari objek data, hubungan, aliran data, dan isi juga

harus dikembangkan dan dikaji, organisasi data alternatif harus dipertimbangkan dan
pengaruh permodelan data pada desain perangkat lunak harus dievaluasi.
a. Semua struktur data dan operasi yang akan dilakukan pada masing –masing struktur
data harus diidentifikasi.Desain dari sebuah struktur data yang efisien harus
mencakup operasi yang akan dilakukanpada struktur data.
b. Kamus data harus dibangun dan digunakan untuk menentukan baik data maupun
desain program.Algoritma yang harus memanfaatkan hubungan khusus dapat lebih
mudah ditetapkan jika ada spesifikasi data yang menyerupai kamus.
c. Keputusan desain data tingkat rendah harus ditunda sampai akhir proses
desain.Proses penyaringan stepwise dapat digunakan untuk desain basis data, yaitu
keseluruhan organisasi data dapat ditetapkan selama analisis persyaratan, disaring
selama pengerjaan, desain pendahuluan, dan ditentukan secara detail selama
pengerjaaan pendahuluan dan itersasi desain selanjutnya.
d. Representrasi struktur data hanya boleh diketahui oleh modul-modul yang harus
menggunakan secar langsung data yang diisikan didalam struktur tersebut.Konsep
penyembunyian informasi dan konsep yang berkaitan mengenai perangkaian,
memberikan wawasan yang penting mengenai kualitas desain perangkat lunak.
e. Pustaka struktur data dan operasi yang berna yang dapat diaplikasikan pada struktur
data tersebut harus dikembangkan.Struktur dan operasi data harusdi pandang
sebagai sumber daya untuk desain perangkat lunak. Struktur data dapat didesain

untuk dapat digunakan kembali. Tipe data abstrak dapat mengurangi baik spesifikasi
maupun desain data.
f. Desain perangkat lunak dan bahasa pemrograman harus mendukung spesifikasi dan
realisasi dari tipe-tipe data abstrak.Implementasi struktur data yang canggih sangat
sulit dilakukanjika tidak ada alat untuk spesifikasi langsung terhadap struktur yang
ada.

Prinsip-prinsip tersebut membentuk basis bagi pendekatan desain data yang dapat
diintegrasikan ke dalam fase definisi dan pengembangan proses rekayasa perangkat lunak.
Definisi yangjelas mengenai informasi sangatlah penting bagi keberhasilan pengembangan
perangkat lunak.Desain ArsitekturSasaran utama desain arsitektur adalah untuk
mengembangkan struktur program modular dan merepresentasikan hubungan kontrol antar
modul.

Desain arsitektur
juga membentuk struktur program dan struktur data dengan menentukan interface
yang memungkinkan data mengalir melalui program.Langkah –langkah desain:
1.
2.
3.

4.
5.
6.
7.

Jadilah model sistem yangfundamental
Kaji dan saringlah diagram aliran data untuk perangkat lunak.
Tentukan apakah DFD memiliki karakteristik aliran transaksi formasi dan transaksi.
Isolasi pusat informasi dengan mengkhususkan batas aliran masuk dan keluar.
Lakukan “pemfaktoran tingkat pertama.”
Lakukan “pemfaktoran tingkat kedua.”
Saringlah struktur protram iterasi pertama denganmenggunakan heuristik desain.

Desain Interface
Desain interface memfokuskan diri pada tiga area perhatian, yaitu:




Desain interface antara modul –modul perangkat lunak.

Desain interface antaraperangkat lunak dan prosedur dan konsumen informasi
bukan yang lainnya.
Desain interface seorang manusia (user) dan komputer.

Desain procedural
Desain prosedural terjadi setelah data, desain arsitektur dan interface dibangun.
Dalam dunia yang ideal, spesifikasi prosedural diperlukan untuk menetapkan detail
algoritma yang akan dinyatakan dalam suatu bahasa ibu, seperti bahasa inggris. Desain
prosedural harus menentukan detail desain prosedural tanpa ada ambiguitas.
Ciri –ciri program yang baik/ terstruktur :
a) Dapat dijalankan dengan baik dan benar.
b) dijalankan secara efektif dan efisien dengan tidak banyak menggunakan syntaks yang
tidak perlu.
c) Mudah di baca dan dipahami oleh orang lain maksud dan tujuan objek yang akan
ditampilkan.
d) Mudah diperbaiki jika terjadi kesalahan.
e) Biaya pengujian yang dibutuhkan rendah.
f) Memiliki dokumentasi yang baik.
g) Biaya perawatan dan dokumentasi yang dibutuhkan rendah.


h) Program hanya terdiri dari tiga struktur kontrol. Yaitustruktur urut, struktur seleksi,
dan sturkutr repetisi atau reiterasi.

2.2. Prinsip Desain perangkat lunak
Desain perangkat lunak berupa model dan proses. Proses desain adalah serangkaian
langkah iteratif yang memungkinkan desainer menggambarkan semua aspek perangkat
lunak yang dibangun. Model desain adalah ekivalen rencana arsitek untuk sebuah “rumah”,
yang dimulai dengan menyajikan totalitas dari hal yang akan dibangun. Prinsip desain dasar
memungkinkan perekayasa perangkat lunak untuk mengendalikan proses desain.
1. Proses desain tidak boleh menderita karena“tunnel vision”. Desainer yang baik harus
memperhatikan pendekatan-pendekatan alternatif, menilai masing-masing
pendekatan berdasarkan persyaratan masalah.
2. Desain harus dapat ditelusuri sampai model analisis.
3. Desain tidak boleh berulang. Sistem dibangundengan menggunakan serangkain pola
desain, beberapa diantaranya kemungkinan telah ditemukan sebelumnya.
4. Desain harus “meminimalkan kesenjangan intelektual” di antara perangkat lunak dan
masalah yang ada di dunia nyata. Ini menyatakan bahwa struktur desain perangkat
lunak harus mencerminkan struktur domain permasalahan.
5. Desain harus mengungkap keseragaman dan integrasi.desain seragam bila desain
memperlihatkan bahwa satu orang mengembangkankeseluruhannya.
6. Desain harus terstruktur untuk mengakomodasi perubahan.
7. Desain harus terstruktur untuk berdegradasi dengan baik, bahkan pada saat data dan
event-event menyimpang, atau menghadapi kondisi operasi. Program komputer yang
telah dirancang dengan baik seharusnya tidak pernah “Meledak”.
8. Desain bukanlah pengkodean,dan pengkodean bukanlah desain. Bahkan bila dibuat
desain prosedural detail bagi komponen-komponen program.
9. Desain harus dinilai kualitasnya pada saat desain dibuat, bukan setelah jadi. Ada
berbagai konsep desaindan pengukuran desain untuk membantu desainer menilai
kualitas.
10. Desain harus dikaji untuk meminimalkan kesalahan-kesalahan konseptual (semantik).
Kadang-kadang ada kecendrungan untuk memfokuskan pada hal-hal yang
remehpada saat desain dikaji, sehingga hal yang lebih penting luput dari perhati.
Desainer harus memastikan bahwa elemen-elemen konseptual mayor dari desain
(penghilangan,
ambiguitas,
inkonsistensi)
telah
ditekankan
sebelum
mengkhawatirkan sintaks model desain.

2.3. Konsep Desain Perangkat Lunak
A. Abstraksi
Abstraksi memungkinkan desainer menentukan prosedur dan data, dan masih menekan detail
tingkat rendah.Terdapat 3 macam bentuk abstraksi, yaitu :
1. Abstraksi prosedural.Merupakan urutan instruksi yang diberi nama yang mempunyai fungsi
tertentu dan terbatas.
2. Abstraksi data.Kumpulan data yang bernama yang menggambarkan obyek data.
3. Abstraksi kontrol.Mengimplikasikan suatu mekanisme kontrol program tanpa menentukan
detail-detail Internal

B. Penyaringan
Penyaringan stepwise (dengan serangkaian langkah) adalah strategi desain top-down yang
diusulkan oleh Wiklaus Wirth. Kajian dari konsep tersebut adalah “Pada setiap langkah
(penyaringan), satu atau beberapa instruksi dari program yang diberikan didekomposisi ke dalam
instruksi-instruksi yang lebih detail. Dekomposisi berurutan atau penyaringan spesifikasi berhenti bila
semua instruksi diekspresikan dalam bentuk bahasa pemrograman atau komputer yang mendasar.
Jika tugas-tugas disaring, maka data harus disaring juga, didekomposisi atau distruktur, dan adalah
wajar untuk menyaring program dan spesifikasi data secara paralel” . Abstraksi dan penyaringan
adalah konsep kompementer. Kedua konsep tersebut membantu desainer dalam menciptakan suatu
model desain lengkap jika desain berkembang.
C. Modularitas
Modularitas merupakan atribut tunggal dari perangkat lunak yang memungkinkan sebuah
program untuk dikelola secara intelektual. Meyer menyebutkan 5 kriteria yang memungkinkan kita
untuk mengevaluasi suatu metode desain dengan merujuk pada kemampuannya untuk menentukan
sistem modular yang efektif.

a.
b.
c.
d.
e.

Dekomposisi modular.
Komposabilitas modular.
Kemampuan pemahaman modular.
Kontinuitas modular.
Proteksi modular.

D. Arsitektur Perangkat Lunak
Arsitektur perangkat lunak mencakup “struktur keseluruhan perangkat lunak dan cara
dimana struktur memberikan integrasi konseptual bagi suatu sistem”. Shaw dan Garlan
menjelaskan sekumpulan properti yang seharusnya ditetapkan sebagai bagian dari desain
arsitektural :
1. Properti struktural, menentukan komponen suatu sistem dan cara dimanakomponenkomponen tersebut dikemas dan berinteraksi satu dengan yang lain.

2. Properti ekstra-fungsional. Menekankan pada bagaimana arsitektur desain
memenuhi persyaratan kinerja, kapasitas, reliabilitas, keamanan, adaptibilitas, dan
karakteristik sistem yang lain.
3. Keluarga dari sistemyang berhubungan. Desain harus memiliki kemampuan untuk
memakai lagi blok bangunan arsitektural tersebut.

E. Hirarki Kontrol
Hirarki kontrol, disebut juga struktur program merepresentasikan organisasi komponen
program serta mengimplikasikan suatu hirarki kontrol. Hirarki kontrol tidak
mengimplikasikan aspek prosedural dari perangkat lunak, seperti urutan
proses,kejadian/urutan dari keputusan, atau pengulangan operasi.
F. Partisi Struktural
Struktur progam harus dipartisi baik secara horizontal maupun vertikal. Partisi horizontal
menentukan cabang-cabang terpisah dari hirarki modular untuk setiap fungsi program
mayor. Keuntungannya :
1.
2.
3.
4.

Menghasilkan perangkat lunak yang lebih mudah diuji.
Membawa kepada perangkat lunak yang lebih mudah dipelihara.
Menghasilkan penyebaran efek samping yang lebih sedikit.
Menghasilkan suatu perangkat lunak yang lebih mudah untuk diperluas. Partisi
vertical menyatakan bahwa kontrol dan kerja harus didistribusikansecara top-down
dalam arsitektur program.

G. Struktur Data
Struktur data adalah representasi dari hubungan logis antara elemen-elemen data
individual.
H. Prosedur Perangkat
LunakProsedur perangkat lunak berfokus pada detail-detail pemrosesan dari masingmasing modul secara individual. Prosedur harus memberikan spesifikasi yang teliti terhadap
pemrosesan, mencakup urutan event, poin-poin keputusan nyata, operasi repetitif, dan
organisasi struktur data.
I. Penyembunyian Informasi
Prinsip penyembunyianinformasi menyatakan bahwa bahwa modul ditandai dengan
keputusan desain tersembunyi dari semua desain lain.

BAB III
PENUTUP
3.1.

Kesimpulan

Desain perangkat lunak merupakan salah satu tahapan pengembangan perangkat lunak
yang menjadi jembatan dari analisis dan implementasi program. Detail teknis dihasilkan dari
desain
perangkat
lunak
sehingga
pengembang
perangkat
lunak
mudah
mengimplementasikan atau membuat perangkat lunak. Dalam beberapa hal desain
perangkat lunak memiliki tantangan tersendiri, sebagai contoh dalam desain yang efektif dan
dasain perangkat lunak embedded system

DAFTAR PUSTAKA
http://riellaks.blogspot.com/2013/11/konsep-perangkatlunak.html.
http://www.slideshare.net/aliandyka/kelompok-5-17353483
http://kk.mercubuana.ac.id/elearning/files_modul/18011-11-516673454297.doc pengertian prinsip
desain perangkat lunak

.