Anda di halaman 1dari 14

MAKALAH

REKAYASA PERANGKAT LUNAK

DESAIN SISTEM

Disusun untuk Memenuhi Tugas Mata Kuliah Rekayasa Perangkat


Lunak yang dibina oleh Ibu Dila Umnia Soraya, S.Pd., M.Pd

Oleh:
Mochammad Muiz Afdloly (210533616058)

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
APRIL 2023
KATA PENGANTAR

Dengan memanjatkan puji syukur kehadirat Allah SWT atas berkat-Nya penulis dapat
menyelesaikan makalah Rekayasa Perangkat Lunak yang berjudul Desain Sistem dengan baik
dan tepat waktu.
Makalah ini dibuat untuk memenuhi tugas dari mata Rekayasa Perangkat Lunak. Selain
itu, makalah ini dibuat untuk menambah wawasan penulis dan pembaca terkait pemahaman
Desain Sistem dalam Rekayasa Perangkat Lunak.
Dalam penulisan makalah ini, kami mengacu pada berbagai sumber terpercaya, termasuk
buku, jurnal, dan publikasi online. Kami berharap makalah ini dapat memberikan pemahaman
yang lebih baik mengenai penerapan teknologi informasi dalam bisnis dan menjadi acuan yang
berguna bagi pembaca yang ingin mempelajari lebih lanjut mengenai topik ini.
Kami menyadari bahwa makalah ini jauh dari sempurna dan masih membutuhkan banyak
penyempurnaan. Oleh karena itu, kami menerima kritik dan saran dari pembaca untuk perbaikan
kedepannya. Akhir kata, kami mengucapkan terima kasih kepada semua pihak yang telah
membantu dalam penyelesaian makalah ini.

Malang, 7 April 2023

Penulis

1
DAFTAR ISI

COVER .............................................................................................................................. 1
KATA PENGANTAR ....................................................................................................... 2
DAFTAR ISI ...................................................................................................................... 3
BAB I PENDAHULUAN ................................................................................................. 3
1.1. Latar Belakang ................................................................................................. 3
1.2. Rumusan Masalah ............................................................................................ 3
1.3. Tujuan .............................................................................................................. 3
1.4. Manfaat............................................................................................................. 4
BAB II PEMBAHASAN................................................................................................... 5
2.1. Desain dalam RPL............................................................................................ 5
2.2. Modularitas....................................................................................................... 6
2.3. Gaya Arsitektur Perangkat Lunak..................................................................... 7
2.2. Kriteria Umum Desain Antarmuka................................................................... 8
2.2. Bentuk Desain Level Komponen...................................................................... 9
BAB III PENUTUP ........................................................................................................... 12
3.1. Kesimpulan ...................................................................................................... 12
DAFTAR PUSTAKA ........................................................................................................ 13

2
BAB I
PENDAHULUAN

1.1. Latar Belakang


Dalam makalah desain sistem perangkat lunak adalah untuk menjelaskan tentang
pentingnya desain dalam pengembangan perangkat lunak dan bagaimana desain yang baik
dapat membantu dalam membangun sistem perangkat lunak yang sukses. Desain sistem
perangkat lunak merupakan proses yang penting dalam siklus pengembangan perangkat
lunak, karena desain sistem perangkat lunak yang baik dapat membantu memastikan bahwa
aplikasi atau sistem berjalan dengan lancar, mudah digunakan, dan sesuai dengan kebutuhan
pengguna.
Dalam pengembangan perangkat lunak, desain sistem perangkat lunak terdiri dari
beberapa tahap, termasuk analisis kebutuhan, perancangan konseptual, perancangan detail,
implementasi, dan pengujian. Setiap tahap dalam desain sistem perangkat lunak memiliki
tujuannya sendiri dan setiap tahap saling berkaitan untuk menciptakan sistem perangkat
lunak yang baik dan bermanfaat bagi pengguna.
Makalah desain sistem perangkat lunak akan membahas pentingnya desain dalam
pengembangan perangkat lunak, termasuk keuntungan dan tantangan dalam proses desain,
metodologi desain yang berbeda yang dapat digunakan dalam pengembangan perangkat
lunak, dan beberapa prinsip desain yang penting yang harus diperhatikan oleh pengembang
perangkat lunak. Makalah ini juga akan membahas beberapa studi kasus tentang
pengembangan sistem perangkat lunak dan bagaimana desain sistem perangkat lunak yang
baik telah membantu dalam kesuksesan pengembangan aplikasi atau sistem tersebut.
1.2. Rumusan Masalah
1. Desain apa saja yang dibutuhkan dalam RPL?
2. Apakah yang dimaksud dengan modularitas?
3. Sebutkan 3 contoh gaya arsitektur perangkat lunak!
4. Apa sajakah kriteria umum desain antarmuka yang baik?
5. Sebutkan 3 jenis bentuk desain level komponen!
1.3. Tujuan
1. Mengetahui desain yang dibutuhkan dalam perangkat lunak.

3
2. Mengetahui arti dari modularitas.
3. Mengetahui gaya arsitektur perangkat lunak dan contohnya.
4. Mengetahui kriteria desain antarmuka yang baik.
5. Mengetahui jenis-jenis bentuk desain level komponen.
1.4. Manfaat
1. Memberikan wawasan tentang desain yang dibutuhkan dalam perangkat lunak.
2. Memberikan informasi tentang modularitas.
3. Memberikan gambaran tentang gaya arsitektur perangkat lunak dan contohnya.
4. Memberikan pemahaman tentang kriteria desain antarmuka yang baik.
5. Memberikan gambaran tentang jenis-jenis bentuk desain level komponen.

4
BAB II
PEMBAHASAN

2.1. Desain dalam RPL


Desain dalam Rekayasa Perangkat Lunak (RPL) merujuk pada proses menghasilkan
rancangan atau model sistem perangkat lunak yang akan dibangun berdasarkan analisis
kebutuhan pengguna. Desain RPL mencakup berbagai aspek, termasuk arsitektur sistem,
antarmuka pengguna, struktur data, algoritma, dan modul-modul atau komponen-komponen yang
terlibat dalam sistem.Desain RPL biasanya melibatkan proses pemilihan metode dan teknik yang
sesuai untuk memastikan bahwa sistem perangkat lunak yang dibangun sesuai dengan kebutuhan
pengguna dan memiliki kualitas yang baik. Metodologi yang umum digunakan dalam desain
RPL antara lain adalah model waterfall, model spiral, dan model agile.
Desain RPL juga mencakup proses verifikasi dan validasi, di mana rancangan sistem
perangkat lunak yang dibuat akan diuji dan dievaluasi untuk memastikan bahwa sistem
perangkat lunak tersebut memenuhi persyaratan fungsional dan non-fungsional yang telah
ditentukan. Tujuan dari desain dalam RPL adalah untuk menciptakan sistem perangkat lunak
yang efisien, efektif, mudah dipelajari dan digunakan, dapat diandalkan, dan mudah diubah atau
dikembangkan di masa depan. Oleh karena itu, desain RPL sangat penting dalam siklus
pengembangan perangkat lunak dan harus dilakukan secara teliti dan hati-hati untuk memastikan
kesuksesan sistem perangkat lunak yang dibangun. Berikut adalah desain yang dibutuhkan dalam
RPL:
a) Data
Menerjemahkan ERD di tahap analisa kebutuhan menjadi model data/ informasi
dalam sudut pandang pengguna atau customer. Desain perangkat lunak yang baik harus
mempertimbangkan struktur dan pengelolaan data dengan hati-hati. Pemilihan format dan
struktur data yang tepat sangat penting untuk memastikan efisiensi, keamanan, dan
keterandalan sistem. Desain data harus memperhitungkan persyaratan data, basis data
yang digunakan, dan teknik pengelolaan data yang tepat.
b) Architecture
Arsitektur perangkat lunak merujuk pada struktur keseluruhan dari sistem perangkat
lunak, termasuk komponen-komponennya, hubungan antara komponen-komponen

5
tersebut, dan cara komponen-komponen tersebut berinteraksi satu sama lain. Desain
arsitektur perangkat lunak yang baik harus memperhitungkan persyaratan fungsional dan
non-fungsional dari sistem, seperti skalabilitas, keamanan, dan kinerja. Untuk merancang
struktur dan hubungan antar komponen perangkat lunak, serta memastikan bahwa
perangkat lunak dapat berjalan dengan efisien dan efektif.
c) Interfaces
Desain antarmuka perangkat lunak merupakan salah satu aspek yang sangat penting
dalam desain perangkat lunak. Antarmuka pengguna harus dirancang dengan baik dan
mudah digunakan agar pengguna dapat menggunakan sistem dengan efektif dan efisien.
Desain antarmuka harus mempertimbangkan kebutuhan pengguna, konsistensi
antarmuka, dan estetika. Untuk merancang tampilan dan interaksi antara pengguna
dengan perangkat lunak.
d) Components
Salah satu tahap dalam pengembangan perangkat lunak yang melibatkan pemodelan
dan rancangan struktur, fungsi, dan interaksi antara komponen-komponen perangkat
lunak yang akan dibangun. Beberapa komponen yang perlu dirancang dalam tahap ini
meliputi Desain data, arsitektur, dan antarmuka yang dimana harus diterjemahkan
menjadi perangkat lunak yang bisa dijalankan.
Secara keseluruhan, desain perangkat lunak yang baik harus mempertimbangkan aspek-aspek
seperti data, arsitektur, antarmuka, dan komponen. Setiap aspek tersebut saling terkait dan harus
diintegrasikan dengan hati-hati untuk menciptakan sistem perangkat lunak yang berkualitas dan
memenuhi kebutuhan pengguna.

2.2. Modularitas
Modularitas pada perangkat lunak adalah kemampuan perangkat lunak untuk dibagi menjadi
modul atau komponen-komponen terpisah yang dapat dikembangkan dan dipelihara secara
independen. Setiap modul berisi fungsi atau fitur tertentu dan memiliki batasan-batasan yang
jelas dalam interaksi dengan modul-modul lain dalam perangkat lunak. Konsep modularitas
memudahkan pengembang untuk membagi proyek menjadi bagian-bagian yang lebih kecil dan
terkelola dengan lebih baik, sehingga mempercepat waktu pengembangan dan memungkinkan
pengembang untuk fokus pada bagian-bagian tertentu dari perangkat lunak yang mereka tangani.

6
Dalam pengembangan perangkat lunak, modularitas dapat dicapai dengan menggunakan konsep
pemrograman berorientasi objek (object-oriented programming), pembuatan library atau
framework, atau dengan menerapkan pola-pola desain yang sesuai.
Konsep modularitas dalam perangkat lunak memungkinkan para pengembang untuk bekerja
pada bagian-bagian yang spesifik dari perangkat lunak tanpa harus memperhatikan bagian-
bagian yang lain. Dengan menggunakan pendekatan modular, para pengembang dapat
menangani perangkat lunak secara lebih efektif dan efisien karena setiap modul dapat diuji,
dikembangkan, dan diperbarui secara terpisah. Selain itu, modularitas pada perangkat lunak juga
meningkatkan fleksibilitas, skalabilitas, dan kemudahan pemeliharaan dan pengembangan pada
perangkat lunak. Beberapa teknik yang dapat digunakan untuk mencapai modularitas pada
perangkat lunak adalah antara lain: pemisahan tugas atau fungsi perangkat lunak ke dalam
modul-modul, pemecahan modul menjadi unit-unit yang lebih kecil, dan mengurangi
ketergantungan antar modul.

2.3. Gaya Arsitektur Perangkat Lunak


Gaya arsitektur perangkat lunak (software architecture) adalah gambaran struktur dan
organisasi sistem perangkat lunak yang terdiri dari komponen-komponen, hubungan antara
komponen, dan prinsip-prinsip desain yang digunakan untuk membangun sistem. Gaya arsitektur
perangkat lunak membantu pengembang untuk merancang, mengorganisir, dan mengelola sistem
perangkat lunak yang kompleks, sehingga memudahkan pengembangan, pemeliharaan, dan
evolusi sistem dalam jangka panjang. Berikut adalah jenis-jenis gaya arsitektur perangkat lunak:
a) Data Centered
Suatu gaya arsitektur di mana data dan logika pemrosesan data menjadi fokus
utama. Arsitektur ini dirancang untuk mengelola, menyimpan, dan memanipulasi data
dengan cara yang efisien dan efektif.

7
b) Data Flow
Data flow architecture (arsitektur aliran data) pada gaya arsitektur perangkat
lunak adalah suatu gaya arsitektur yang menggambarkan sistem perangkat lunak
sebagai suatu rangkaian proses pemrosesan data yang terorganisir dengan baik. Pada
arsitektur ini, data dianggap sebagai elemen utama dari sistem, dan proses-proses
yang terjadi pada data diatur secara terstruktur.

c) Berlapis/ layered.
Layered architecture (arsitektur berlapis) pada gaya arsitektur perangkat lunak
adalah suatu gaya arsitektur yang terdiri dari beberapa lapisan (layer) yang saling
terkait dan saling bergantung. Setiap lapisan memiliki tugas dan tanggung jawab yang
spesifik, dan setiap lapisan berkomunikasi dengan lapisan yang berdekatan
dengannya.

8
2.4. Kriteria Desain Antarmuka
Kriteria desain antarmuka adalah prinsip-prinsip yang digunakan untuk merancang
antarmuka pengguna yang efektif, efisien, dan mudah digunakan. Antarmuka pengguna adalah
jembatan komunikasi antara pengguna dan sistem perangkat lunak, dan desain yang buruk dapat
menyebabkan frustrasi dan kebingungan bagi pengguna.
a) Tempatkan user dalam kendali.
Konsep ini mengacu pada desain antarmuka yang memungkinkan pengguna memiliki
kontrol penuh atas interaksi mereka dengan aplikasi atau sistem. Ini berarti bahwa
pengguna harus dapat memilih dan mengendalikan fungsi atau tindakan yang ingin
mereka lakukan, serta dapat membatalkan atau mengubah tindakan jika diperlukan.
Desain antarmuka yang menempatkan pengguna dalam kendali dapat meningkatkan
kepuasan pengguna dan memungkinkan mereka untuk mengelola tugas mereka dengan
lebih mudah dan efisien.
b) Kurangi penggunaan memori oleh user.
Konsep ini mengacu pada desain antarmuka yang meminimalkan beban kognitif pada
pengguna. Hal ini dapat dicapai dengan cara menyajikan informasi yang penting dan
relevan dengan cara yang jelas dan mudah dimengerti. Selain itu, desain antarmuka yang
mengurangi penggunaan memori juga dapat mencakup penggunaan ikon atau simbol
yang intuitif dan familiar, serta pengelompokan informasi berdasarkan tema atau fungsi
yang serupa.
c) Buatlah antarmuka yang konsisten.
Konsep ini mengacu pada desain antarmuka yang konsisten dalam hal tata letak,
warna, jenis huruf, dan gaya lainnya. Hal ini dapat membantu pengguna memahami

9
informasi dengan lebih mudah dan mempercepat proses pembelajaran dan penggunaan
aplikasi. Desain antarmuka yang konsisten juga dapat meningkatkan pengenalan merek
dan membangun rasa percaya pada pengguna. Konsistensi juga dapat membantu
mengurangi kesalahan pengguna dan meningkatkan keamanan informasi.

2.5. Bentuk Desain Level Komponen


Bentuk Desain Level Komponen adalah salah satu teknik desain perangkat lunak yang
bertujuan untuk menguraikan sistem perangkat lunak menjadi komponen-komponen yang lebih
kecil dan terorganisir dengan baik. Dalam teknik ini, sistem perangkat lunak dipecah menjadi
beberapa level, mulai dari level paling tinggi yang merupakan deskripsi umum tentang sistem
hingga level terendah yang berisi detail implementasi dari setiap komponen.
a) Notasi grafis: flowchart.
Bentuk desain level komponen yang menggunakan gambar dan simbol untuk
mewakili aliran data dan proses dalam suatu sistem atau aplikasi. Flowchart dapat
membantu menggambarkan urutan dan hubungan antara tindakan, keputusan, dan
input/output dalam suatu proses. Flowchart umumnya terdiri dari berbagai macam
simbol seperti persegi panjang untuk proses, lingkaran untuk keputusan, dan panah
untuk menggambarkan arus data atau proses yang terjadi.

b) Notasi tabular: tabel.


Bentuk desain level komponen yang menggunakan struktur tabel atau grid untuk
mewakili data dan proses dalam suatu sistem atau aplikasi. Tabel dapat digunakan
untuk menggambarkan struktur data, aturan bisnis, dan aliran proses dalam bentuk
yang mudah dipahami. Tabel dapat membantu menggambarkan informasi dengan

10
jelas dan mudah dipahami, dan juga memungkinkan pengguna untuk dengan mudah
membandingkan dan mengelola data.

c) Program Desain Language: pseudocode.


Bentuk desain level komponen yang menggunakan bahasa pemrograman yang
sederhana dan mudah dipahami untuk menggambarkan proses atau algoritma yang
terlibat dalam suatu sistem atau aplikasi. Pseudocode dapat membantu
menggambarkan urutan tindakan dan keputusan dalam bentuk yang mudah
dimengerti oleh pengembang dan pengguna. Pseudocode tidak memiliki sintaks yang
ketat seperti bahasa pemrograman yang sebenarnya, sehingga memungkinkan
pengembang untuk dengan mudah memikirkan dan merancang logika program
sebelum menuliskan kode asli.

11
BAB III
PENUTUP

3.1. Kesimpulan
Berdasarkan pembahasan di atas, dapat disimpulkan bahwa dalam pengembangan sistem
perangkat lunak, desain merupakan salah satu tahapan penting yang harus dilakukan dengan
baik. Ada beberapa desain yang dibutuhkan dalam RPL seperti desain data, desain arsitektur,
desain antarmuka, dan desain komponen. Modularitas merupakan suatu konsep desain yang
membagi sistem perangkat lunak menjadi beberapa modul yang saling terkait namun mandiri.
Hal ini bertujuan untuk mempermudah proses pengembangan, pemeliharaan, dan penambahan
fitur pada sistem. Gaya arsitektur perangkat lunak adalah pola-pola umum dalam desain sistem
yang membantu memecahkan masalah umum yang dihadapi dalam pengembangan perangkat
lunak. Beberapa contoh gaya arsitektur perangkat lunak adalah data centered, data flow, dan
lapisan/layered. Terdapat beberapa kriteria umum dalam desain antarmuka yang baik seperti
menempatkan pengguna dalam kendali, mengurangi penggunaan memori oleh pengguna, dan
membuat antarmuka yang konsisten. Bentuk desain level komponen mencakup notasi grafis
seperti flowchart, notasi tabular seperti tabel, dan program desain language seperti pseudocode.

12
DAFTAR PUSTAKA

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2022). Introduction to algorithms.
MIT press.
Garrett, J. J. (2022). The elements of user experience. マイナビ出版.
Larman, C. (2014). Applying UML and Patterns: An Introduction to Object-Oriented Analysis
and Design and Iterative Development (3rd ed.). Pearson Education Limited.
Norman, D. (2013). The design of everyday things: Revised and expanded edition. Basic books.
Pressman, R. S., & Maxim, B. R. (2015). Software Engineering: A Practitioner's Approach (8th
ed.). McGraw-Hill Education.
Roger, S. P., & Bruce, R. M. (2015). Software engineering: a practitioner’s approach. McGraw-
Hill Education.
Sommerville, I. (2016). Software Engineering (10th ed.). Pearson Education Limited.

13

Anda mungkin juga menyukai