Anda di halaman 1dari 15

MAKALAH

REKAYASA PERANGKAT LUNAK

Diajukan Untuk Memenuhi Tugas Mata Kuliah


Rekayasa Perangkat Lunak
Dosen Pengampu : Ilham Susilo Bakti M. Kom.

Disusun Oleh:
Muhammad Imdad El Kafy (2202000012)

PROGRAM STUDI PENDIDIKAN INFORMATIKA SEKOLAH


TINGGI KEGURUAN DAN ILMU PENDIDIKAN NAHDLATUL
ULAMA KABUPATEN TEGAL TAHUN 2023
DAFTAR ISI

DAFTAR ISI ........................................................................................... .....

BAB I ...........................................................................................................

PEMBAHASAN ...........................................................................................

A. DEFINISI PERANGKAT LUNAK DAN REKAYASA

PERANGKAT LUNAK ....................................................................

B. KARAKTERISTIK PERANGKAT LUNAK .....................................

C. KUALITAS PERANGKAT LUNAK .................................................

D. JENIS JENIS PERANGKAT LUNAK ...............................................

E. KONSEP REKAYASA SISTEM .......................................................

F. PEMODELAN SISTEM ....................................................................

BAB II...................................................................................................

PENUTUP ....................................................................................................

A. KESIMPULAN ..................................................................................

DAFTAR PUSTAKA ...................................................................................


BAB I

PEMBAHASAN

A. Definisi Perangkat Lunak Dan Rekayasa Perangkat Lunak

1) Perangkat Lunak (Software)


Perangkat lunak adalah serangkaian instruksi atau program
komputer yang dirancang untuk melakukan tugas-tugas tertentu
pada komputer atau perangkat elektronik lainnya. Ini mencakup
aplikasi, sistem operasi, dan program-program lainnya yang
memungkinkan perangkat keras (hardware) berfungsi. Perangkat
lunak dapat dibagi menjadi dua kategori utama: perangkat lunak
sistem (system software) yang mengelola perangkat keras dan
memberikan layanan dasar kepada aplikasi perangkat lunak, dan
perangkat lunak aplikasi (application software) yang dirancang
untuk membantu pengguna dalam melakukan tugas-tugas spesifik,
seperti pengolah kata atau permainan komputer.
2) Rekayasa Perangkat Lunak (Software Engineering)
Rekayasa perangkat lunak adalah disiplin ilmu yang melibatkan
pengembangan, perancangan, pengujian, dan pemeliharaan
perangkat lunak dengan pendekatan sistematis dan terstruktur.
Tujuan dari rekayasa perangkat lunak adalah menghasilkan
perangkat lunak yang berkualitas, dapat diandalkan, dan memenuhi
kebutuhan pengguna. Proses rekayasa perangkat lunak melibatkan
beberapa tahapan, termasuk analisis kebutuhan, perancangan
sistem, implementasi, pengujian, dan pemeliharaan. Rekayasa
perangkat lunak juga melibatkan manajemen proyek, kontrol
kualitas, dan pemahaman mendalam tentang prinsip-prinsip
pengembangan perangkat lunak.
B. Karakteristik Perangkat Lunak

Perangkat lunak memiliki beberapa karakteristik yang


membedakannya dari perangkat keras. Berikut adalah beberapa
karakteristik perangkat lunak:
1) Tidak Terlihat (Intangible)
Perangkat lunak tidak memiliki bentuk fisik yang dapat dilihat
atau disentuh. Ini merupakan serangkaian instruksi dan data yang
dieksekusi oleh komputer.
2) Fleksibilitas (Flexibility)
Perangkat lunak dapat diubah atau diperbarui dengan relatif
mudah. Pengembang dapat memperbaiki bug, menambahkan fitur
baru, atau meningkatkan kinerja tanpa harus mengganti perangkat
keras.
3) Rekombinasi (Malleability)
Modul perangkat lunak dapat digabungkan kembali untuk
membuat aplikasi yang berbeda. Ini memungkinkan penggunaan
kembali kode dalam pengembangan perangkat lunak.
4) Dapat Dikustomisasi (Customizability)
Perangkat lunak sering kali dapat disesuaikan dengan kebutuhan
pengguna atau organisasi tertentu. Pengguna dapat mengonfigurasi
pengaturan atau menyesuaikan antarmuka sesuai preferensi
mereka.
5) Rentan terhadap Bug (Prone to Bugs)
Karena kompleksitasnya, perangkat lunak rentan terhadap
kesalahan atau bug. Pengembang perangkat lunak harus melakukan
pengujian yang cermat untuk memastikan keandalan dan keamanan
aplikasi..
6) Memerlukan Perangkat Keras (Hardware Dependence)
Perangkat lunak memerlukan perangkat keras untuk dieksekusi.
Berbeda dengan perangkat keras, perangkat lunak tidak memiliki
fungsi tanpa dukungan dari perangkat keras yang sesuai.
7) Immaterial (Immateriality)
Perangkat lunak tidak memiliki bentuk fisik yang tetap. Ia dapat
disalin, didistribusikan, dan diinstal di berbagai perangkat dengan
sangat mudah.
8) Membutuhkan Prosesor (Processor Dependency)
Untuk dijalankan, perangkat lunak membutuhkan pemrosesan
oleh unit pemroses sentral (CPU) komputer atau perangkat lainnya.
9) Bisa Dijual atau Didistribusikan (Can be Sold or Distributed)
Perangkat lunak dapat dijual sebagai produk komersial atau
didistribusikan secara gratis (open source) kepada pengguna.

C. Kualitas Perangkat Lunak

Kualitas perangkat lunak merujuk pada sejauh mana perangkat


lunak memenuhi persyaratan dan harapan pengguna dengan cara yang
efisien, andal, aman, dan mudah dipahami. Beberapa aspek penting
dalam menilai kualitas perangkat lunak meliputi:
1) Keandalan (Reliability)
Seberapa baik perangkat lunak dapat bekerja tanpa kegagalan.
Perangkat lunak yang handal harus dapat menjalankan tugasnya
dengan konsistensi dan akurasi, tanpa crash atau bug yang sering
terjadi.
2) Efisiensi (Efficiency)
Sejauh mana perangkat lunak dapat melakukan tugasnya dengan
menggunakan sumber daya (seperti CPU, memori, dan
penyimpanan) yang minimal. Perangkat lunak yang efisien
memastikan penggunaan sumber daya yang hemat energi dan
cepat.
3) Keamanan (Security)
Sejauh mana perangkat lunak melindungi data dan sistem dari
ancaman dan akses yang tidak sah. Perangkat lunak yang aman
harus memiliki fitur keamanan yang memadai dan mampu
melindungi informasi sensitif pengguna.
4) Kemudahan Penggunaan (Usability)
Sejauh mana perangkat lunak mudah digunakan dan dimengerti
oleh pengguna. Antarmuka pengguna yang intuitif dan desain yang
baik membantu pengguna berinteraksi dengan perangkat lunak
tanpa kebingungan atau kesulitan.
5) Mudah Dipelihara (Maintainability)
Sejauh mana perangkat lunak mudah untuk diperbaiki,
diperbarui, atau dimodifikasi. Perangkat lunak yang mudah
dipelihara memiliki struktur yang jelas, dokumentasi yang baik,
dan dapat diubah tanpa mengganggu fungsi utamanya.
6) Kepentingan (Relevance)
Sejauh mana perangkat lunak memenuhi kebutuhan pengguna
dan tujuan bisnisnya. Perangkat lunak yang berkualitas harus
dirancang dengan mempertimbangkan kebutuhan dan harapan
pengguna.
7) Kemampuan Dukungan (Supportability)
Sejauh mana perangkat lunak didukung oleh tim pengembang
atau penyedia layanan. Perangkat lunak yang berkualitas harus
memiliki dukungan teknis yang baik untuk membantu pengguna
mengatasi masalah atau pertanyaan.
8) Ketahanan (Resilience)
Sejauh mana perangkat lunak dapat bertahan dari kegagalan atau
gangguan. Perangkat lunak yang tangguh harus mampu pulih
dengan cepat setelah terjadi kegagalan dan tidak mengalami
kerusakan data yang signifikan.

Menilai kualitas perangkat lunak adalah suatu tantangan karena


melibatkan berbagai aspek teknis, fungsional, dan pengalaman
pengguna. Pengembang perangkat lunak harus memperhatikan semua
aspek ini untuk menghasilkan produk yang memuaskan pengguna dan
memenuhi standar kualitas yang tinggi.
D. Jenis Jenis Perangkat Lunak

1) Perangkat Lunak Sistem (System Software)


a. Sistem Operasi (Operating System): Mengelola sumber daya
perangkat keras dan memberikan antarmuka untuk aplikasi
perangkat lunak.
b. Driver Perangkat Keras (Device Drivers): Menghubungkan
perangkat keras dengan sistem operasi.
c. Firmware: Perangkat lunak yang terpasang pada perangkat
keras dan memberikan kontrol dasar saat perangkat dinyalakan.
2) Perangkat Lunak Aplikasi (Application Software)
a. Produktivitas dan Kantor (Productivity and Office): Termasuk
pengolah kata, spreadsheet, dan aplikasi presentasi.
b. Grafis dan Desain (Graphics and Design): Seperti perangkat
lunak desain grafis, pembuat animasi, dan perangkat lunak
pengeditan foto.
c. Multimedia: Termasuk pemutar media, pengeditan video, dan
aplikasi rekaman audio.
d. Pemrograman (Programming): Seperti lingkungan
pengembangan terintegrasi (IDE) dan compiler untuk
pengembangan perangkat lunak.
e. Permainan (Games): Perangkat lunak hiburan, termasuk
permainan video dan permainan komputer.
3) Perangkat Lunak Jaringan (Network Software)
a. Protokol Jaringan (Network Protocols): Menangani komunikasi
data di jaringan, seperti TCP/IP.
b. Perangkat Lunak Firewall dan Keamanan (Firewall and
Security Software): Melindungi jaringan dari ancaman
keamanan dan akses yang tidak sah.
c. Server Web dan Aplikasi (Web and Application Servers):
Menangani permintaan dari klien dan memberikan layanan web
atau aplikasi.
4) Perangkat Lunak Basis Data (Database Software)
a. Sistem Manajemen Basis Data (Database Management Systems
- DBMS): Memungkinkan pengguna menyimpan, mengelola,
dan mengambil data dari basis data.
b. Perangkat Lunak Basis Data Terdistribusi (Distributed
Database Software): Mengelola data yang tersebar di beberapa
lokasi geografis.
5) Perangkat Lunak Sumber Terbuka (Open Source Software)
a. Sistem Operasi (Operating Systems): Seperti Linux
distributions.
b. Perangkat Lunak Kantor (Office Software): Seperti LibreOffice
dan OpenOffice.
c. Server Web (Web Servers): Seperti Apache HTTP Server.
6) Perangkat Lunak Proprietary (Proprietary Software)
a. Sistem Operasi: Seperti Microsoft Windows dan macOS.
b. Aplikasi Kantor: Seperti Microsoft Office Suite dan Adobe
Creative Cloud.
Setiap jenis perangkat lunak memiliki tujuan dan fungsi khususnya
sendiri, dan mereka dapat digunakan secara independen atau
bersamaan untuk memenuhi kebutuhan pengguna atau organisasi.
E. Konsep Rekayasa Sistem

Rekayasa sistem (system engineering) adalah pendekatan


interdisipliner dan holistik untuk merancang, mengembangkan, dan
mengelola sistem kompleks. Ini melibatkan penggabungan
pengetahuan, keterampilan, dan metodologi dari berbagai disiplin
ilmu, seperti teknik, manajemen, ilmu komputer, dan ilmu sosial.
Tujuan utama dari rekayasa sistem adalah menciptakan sistem yang
efisien, andal, aman, dan ekonomis dalam memenuhi kebutuhan
pengguna dan pemangku kepentingan (stakeholders). Berikut adalah
beberapa konsep kunci dalam rekayasa sistem:

1) Analisis Kebutuhan (Requirement Analysis)


Mengidentifikasi, menganalisis, dan mendokumentasikan
kebutuhan pengguna dan pemangku kepentingan terhadap sistem.
Ini adalah langkah awal dan kritis dalam merancang sistem yang
memenuhi harapan pengguna.
2) Perancangan Sistem (System Design)
Mengembangkan konsep dan spesifikasi sistem berdasarkan
analisis kebutuhan. Ini melibatkan pemilihan komponen,
perancangan antarmuka, serta merencanakan struktur dan
fungsionalitas sistem secara keseluruhan.
3) Implementasi dan Integrasi (Implementation and Integration)
Menerjemahkan desain sistem ke dalam perangkat keras dan
perangkat lunak yang nyata. Integrasi melibatkan menggabungkan
komponen-komponen sistem menjadi sebuah kesatuan yang
berfungsi.
4) Verifikasi dan Validasi (Verification and Validation)
Memastikan bahwa sistem yang dibangun sesuai dengan
spesifikasi dan memenuhi kebutuhan pengguna. Verifikasi
memastikan bahwa komponen sistem bekerja dengan benar,
sementara validasi memeriksa apakah sistem sesuai dengan tujuan
pengguna.
5) Manajemen Proyek (Project Management)
Merencanakan, mengelola, dan mengawasi proyek rekayasa
sistem. Ini melibatkan alokasi sumber daya, pengelolaan risiko,
pengawasan progres, dan pemenuhan batas waktu proyek.
6) Evaluasi Kinerja (Performance Evaluation)
Mengukur dan menganalisis kinerja sistem setelah
diimplementasikan. Ini membantu mengidentifikasi area yang
memerlukan perbaikan dan optimalisasi.
7) Manajemen Konfigurasi (Configuration Management)
Melacak dan mengelola perubahan yang terjadi pada komponen
sistem selama siklus hidupnya. Ini memastikan bahwa dokumentasi
dan konfigurasi sistem tetap sinkron sepanjang waktu.
8) Optimasi Sistem (System Optimization)
Mencari cara untuk meningkatkan efisiensi, kinerja, dan
keandalan sistem dengan memperbarui atau mengganti komponen,
atau dengan mengimplementasikan teknologi baru.

Rekayasa sistem memainkan peran kunci dalam pengembangan


produk dan proyek yang kompleks, seperti pesawat terbang, sistem
komunikasi, kendaraan otonom, dan infrastruktur besar. Pendekatan
sistemiknya membantu memahami interaksi antar komponen dan
memastikan bahwa keseluruhan sistem berfungsi dengan baik sesuai
dengan tujuan yang diinginkan.
F. Pemodelan Sistem

Pemodelan sistem adalah proses menciptakan representasi abstrak


dari suatu sistem nyata untuk memahami, memprediksi, dan
mengoptimalkan perilaku sistem tersebut. Pemodelan sistem
melibatkan pengidentifikasian elemen-elemen utama dalam sistem,
serta hubungan dan interaksi antar elemen tersebut.

Ada beberapa metode yang digunakan dalam pemodelan sistem:

1) Diagram Alir Proses (Flowchart)


Ini adalah representasi visual dari langkah-langkah atau proses
dalam suatu sistem. Diagram ini memperlihatkan urutan tindakan
dan keputusan dalam suatu proses.
2) Diagram Blok (Block Diagram)
Diagram ini menggunakan blok untuk merepresentasikan
elemen-elemen sistem dan panah untuk menunjukkan arah aliran
informasi atau sinyal antar elemen.
3) Model Matematika (Mathematical Modeling)
Sistem dapat dimodelkan menggunakan persamaan matematika
untuk memahami hubungan antar variabel-variabel dalam sistem.
Model matematika sering digunakan untuk memprediksi perilaku
sistem dalam berbagai kondisi.
4) Simulasi (Simulation)
Simulasi melibatkan pembuatan model komputer dari suatu
sistem yang memungkinkan pengguna untuk mengamati perilaku
sistem dalam situasi-situasi yang berbeda. Ini berguna untuk
menguji sistem tanpa menghadapi risiko atau biaya yang terkait
dengan implementasi nyata.
5) Model Penggalian Data (Data Mining Model)
Dalam pemodelan data, algoritma komputer digunakan untuk
mengidentifikasi pola atau hubungan dalam data yang mungkin
tidak terlihat secara langsung. Ini berguna untuk memahami
perilaku dan tren dalam data yang kompleks.
6) Model Sistem Dinamis (Dynamic Systems Model)
Model ini mempertimbangkan perubahan variabel dalam sistem
sepanjang waktu. Sistem dinamis sering digunakan untuk
memahami sistem yang melibatkan perubahan seiring waktu,
seperti ekonomi atau populasi.
7) Model Pengambilan Keputusan (Decision Making Models)
Model ini membantu dalam mengidentifikasi solusi optimal
dalam situasi pengambilan keputusan yang kompleks. Model ini
menggunakan berbagai teknik seperti analisis biaya-manfaat atau
analisis risiko.

Pemilihan metode pemodelan tergantung pada kompleksitas sistem


yang sedang dipelajari dan tujuan analisis. Pemodelan sistem
memungkinkan pengguna untuk mengidentifikasi masalah,
merencanakan solusi, dan memahami implikasi keputusan tanpa harus
mengimplementasikan perubahan langsung pada sistem fisik, yang
dapat menghemat waktu dan biaya dalam pengembangan dan
pengujian solusi.
BAB II

PENUTUP

A. Kesimpulan

1) Perangkat Lunak dan Rekayasa Perangkat Lunak


a. Perangkat lunak adalah serangkaian instruksi atau program
komputer yang memungkinkan perangkat keras berfungsi.
b. Rekayasa perangkat lunak melibatkan pengembangan,
perancangan, pengujian, dan pemeliharaan perangkat lunak
dengan pendekatan terstruktur dan sistematis.
2) Karakteristik Perangkat Lunak
a. Perangkat lunak bersifat tidak terlihat, fleksibel, dapat
disesuaikan, dan memerlukan perangkat keras untuk
dijalankan.
b. Perangkat lunak rentan terhadap bug dan membutuhkan
pengelolaan konfigurasi yang cermat.
3) Kualitas Perangkat Lunak
a. Kualitas perangkat lunak melibatkan aspek keandalan,
efisiensi, keamanan, kemudahan penggunaan, kemudahan
pemeliharaan, relevansi, dukungan, dan ketahanan.
4) Jenis-Jenis Perangkat Lunak
a. Jenis perangkat lunak mencakup perangkat lunak sistem,
perangkat lunak aplikasi, perangkat lunak jaringan, perangkat
lunak basis data, perangkat lunak sumber terbuka, dan
perangkat lunak propietary.
5) Rekayasa Sistem
a. Rekayasa sistem adalah pendekatan interdisipliner untuk
merancang, mengembangkan, dan mengelola sistem kompleks,
melibatkan analisis kebutuhan, perancangan, implementasi,
verifikasi, validasi, manajemen proyek, evaluasi kinerja,
manajemen konfigurasi, dan optimasi sistem.
6) Pemodelan Sistem
a. Pemodelan sistem melibatkan penciptaan representasi abstrak
dari sistem nyata menggunakan berbagai metode seperti
diagram alir proses, diagram blok, model matematika, simulasi,
model penggalian data, model sistem dinamis, dan model
pengambilan keputusan.

Dengan pemahaman tentang perangkat lunak, rekayasa perangkat


lunak, kualitas perangkat lunak, jenis-jenis perangkat lunak, rekayasa
sistem, dan pemodelan sistem, Anda dapat memiliki wawasan yang
lebih mendalam tentang dunia teknologi dan pengembangan perangkat
lunak.
DAFTAR PUSTAKA

Diakses dari https://google.com pada tanggal 18 Oktober 2023.


Diakses dari https://openai.com pada tanggal 18 Oktober 2023.

Anda mungkin juga menyukai