DESAIN SISTEM
Oleh:
Mochammad Muiz Afdloly (210533616058)
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.
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
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
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.
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.
10
jelas dan mudah dipahami, dan juga memungkinkan pengguna untuk dengan mudah
membandingkan dan mengelola data.
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