FAKULTAS TEKNIK
PROGRAM STUDI S1 REKAYASA PERANGKAT LUNAK
UNIVERSITAS BUMIGORA
2023
Kata Pengantar
Tentu saja, pembahasan dalam makalah ini tidak akan terwujud tanpa
bantuan dan dukungan berbagai pihak. Saya ingin menyampaikan
penghargaan yang tulus kepada semua pihak yang telah memberikan
kontribusi, baik secara langsung maupun tidak langsung, dalam
penyusunan makalah ini.
Terima kasih.
ii
Daftar Isi
iii
7.2. Macam-Macam Pengujian Perangkat Lunak .............................. 20
7.3. Perawatan Perangkat Lunak ...................................................... 22
7.4. Jenis-Jenis Pemeliharaan Perangkat Lunak ............................... 23
BAB VIII PENUTUP ................................................................................. 25
8.1. Kesimpulan ................................................................................. 25
References .............................................................................................. 26
iv
BAB I
PENDAHULUAN
1
BAB II
Perangkat Lunak dan Rekayasa Perangkat Lunak
1) Sistem Operasi
Sistem operasi adalah perangkat lunak yang dipakai untuk
mengendalikan pelaksanaan program-program komputer.
3) Program aplikasi
Program aplikasi adalah perangkat lunak yang dibuat dengan
kemampuan dan fungsi-fungsi tertentu mengikuti kebutuhan.
Program aplikasi komputer sangat beragam.
2
Pengertian Rekayasa Perangkat Lunak sendiri adalah sebuah
perubahan perangkat lunak yang fungsinya sebagai pengembangan,
pemeliharaan serta pembangunan kembali, dengan memakai sistem
rekayasa agar mendapatkan perangkat lunak yang dapat bekerja
dengan lebih efisien dan efektif lagi bagi penggunanya.
Ada pula yang mendefinisikan ilmu ini sebagai sebuah ilmu yang
mempraktekkan teori dasar bidang tertentu suatu perangkat lunak yang
dapat digunakan sebagai suatu peralatan yang membantu dalam
mengatasi masalah dan proses mengambil keputusan.
2) Memperbarui Fungsi
Terkadang perangkat lunak yang sudah ada membutuhkan
pembaruan, karena mungkin fungsinya telah berkurang. Dengan
seseorang mendalami perangkat lunak akan mampu
mengembangkan perangkat lunak yang sudah ada itu menjadi
sistem perangkat lunak yang lebih baik dan lebih berguna lagi
bagi penggunanya.
3
4) Mengintegrasikan pada peralatan mekanikal yang ada
Pada beberapa peralatan mekanikal memerlukan integrasi
dengan perangkat lunak agar sistem dapat bekerja dengan
optimal. Seseorang yang mendalami hal ini pasti telah paham
dengan masalah tersebut.
4
BAB III
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) DAN
MODEL-MODELNYA
Dengan kata lain, SDLC adalah tahapan kerja yang berguna untuk
menghasilkan suatu sistem dengan kualitas tinggi sesuai keinginan dari
klien. Isinya adalah kerangka yang isinya berupa langkah-langkah yang
dilakukan guna memproses pengembangan software.
2) System Analysis
Sistem ini akan dilakukan analisa mengenai bagaimana software
akan dijalankan. Hasilnya bisa berupa suatu kelebihan dan
kekurangan dari sistem, fungsi sistem, dan pembaharuan.
5
3) System Design
Saat tahapan ini, fungsinya untuk menghasilkan prototype dan
output lain, termasuk dokumen yang isinya design, pola, serta
komponen yang dibutuhkan untuk project tersebut.
Tahapan ini adalah tahapan yang mana semua hasil analisa dan
pembahasan mengenai spesifikasi sistem yang diterapkan untuk
menjadi rancangan sistem. Tahapan ini juga disebut dengan
cetak biru, yang mana sistem sudah siap dikembangkan.
5) System Maintenance
Meskipun software sudah jadi, tetapi tetap harus dijaga serta
diawasi agar error bisa diperbaiki secara cepat. gunanya dari
maintenance untuk menjaga agar data pengguna tetap aman.
6
2) Model Agile
Model ini disebut lebih fleksibel dan bisa diterapkan untuk
keperluan jangka pendek. Untuk menerapkan model Agile,
diperlukan kerja sama dan komunikasi tim yang kuat.
Tak hanya itu, model Agile dapat menghasilkan produk yang terus
diperbarui yang memungkinkan adanya umpan balik untuk versi
berikutnya.
3) Model Iterative
Model SDLC yang satu ini menekankan pada pengulangan.
Pengembang akan membuat versi perangkat lunak dalam waktu
singkat dan dengan biaya yang relatif kecil. Berikutnya, ia akan
menguji dan menyempurnakannya melalui versi yang berurutan.
7
Dengan cara tersebut, model Iterative dapat menghabiskan
sumber daya dengan cepat jika terus diterapkan.
4) Model V-Shaped
V-Shaped merupakan perluasan dari model Waterfall. Model ini
mengharuskan setiap tahap dikerjakan secara urut dan
menyertakan pengujian untuk setiap tahapannya. Dengan
metode ini, sistem menjadi lebih teratur dan mudah digunakan.
8
Sedikit berbeda dengan model SDLC sebelumnya, model Big
Bang tidak memiliki tahap definisi persyaratan yang menyeluruh.
6) Model Spiral
Seperti namanya, model SDLC ini dinilai fleksibel dan hampir
sama dengan model Iterative yang mengutamakan pada
pengulangan.
9
BAB IV
PERENCANAAN DAN ANALISIS PERANGKAT LUNAK
1) Analisis Kebutuhan
Langkah awal dalam proses pengembangan perangkat lunak
adalah menganalisis kebutuhan yang diperlukan. Tahap ini
mengaitkan pemahaman yang mendalam, mengenai kebutuhan
pengguna dan analisis lingkungan bisnis yang akan
diintegrasikan bersamaan dengan perangkat lunak. Tujuan dari
10
tahap analisis kebutuhan adalah untuk mengidentifikasi
persyaratan fungsional dan non-fungsional dari perangkat lunak
yang akan dikembangkan.
2) Perencanaan
Perencanaan menjadi tahapan penting dalam proses
pengembangan perangkat lunak, di tahap ini kita perlu
menetapkan tujuan dan sasaran proyek. Selain itu, kita juga
menyiapkan sumber daya yang diperlukan, seperti tenaga kerja,
anggaran, dan waktu yang diperlukan agar dapat berjalan
dengan efektif.
3) Desain
Pada tahap ini, kita sudah menganalisis konsep dan ide dan
kemudian dirancang menjadi perangkat lunak yang sesuai.
Tahap desain meliputi pembuatan desain konseptual,
perencanaan arsitektur dan antarmuka, serta membuat
rancangan teknis yang terperinci.
4) Implementasi
Tahap implementasi adalah penulisan dan pengujian dari
kode program perangkat lunak. Tim pengembang akan
mengimplementasikan desain rancangan dan menciptakan
perangkat lunak yang sesuai dengan kebutuhan pengguna.
Selama tahap ini, pengujian awal akan dilakukan untuk
memastikan kualitas dan fungsi dari perangkat lunak.
5) Pengujian
Pengujian adalah tahap kritis dalam pengembangan
perangkat lunak, di tahap ini perangkat lunak akan diuji untuk
memastikan bahwa semua fungsi yang diinginkan berjalan
dengan baik. Pengembang juga dapat menemukan bug dan
kesalahan yang ada dalam perangkat lunak. Selain itu,
pengembang perlu memerhatikan kinerja perangkat lunak agar
dapat memenuhi standar yang ditetapkan.
11
4.3. Analisis Perangkat Lunak
12
1) Identify, merupakan mengidentifikasikan masalah
2) Understand, merupakan memahami kerja dari sistem yang ada
3) Analyze, merupakan menganalisis sistem
4) Report, merupakan membuat laporan hasil analisis
13
BAB V
PERANCANGAN PERANGKAT LUNAK
1. Abstraction
Abstraction (abstraksi) terkait dengan bagaimana berfokus dalam
memandang objek dan mengambil hal yang penting dari objek
tersebut. Tiga macam abstraksi yang dikenal adalah : abstraksi
prosedur, data, dan kontrol (iterasi).
2. Coupling & Cohesion
Coupling merupakan ketergantungan antar modul sedangkan
cohesion merupakan keterikatan antara elemen penyusun modul.
3. Decompositon & modularization
Prinsip ini menekankan pada penguraian (decompose) perangkat
lunak yang ‘besar’ menjadi modul-modul atau elemen-elemen
dimana masing-masing elemen memiliki fungsi dan tanggung jawab
masing-masing.
4. Encapsulation
Prinsip encapsulation berarti detail dari sebuah abstraksi tidak
diketahui atau tidak dapat diakses oleh entitas yang lain di luarnya.
5. Separation of interface and implementation
Dari sisi komponen perangkat lunak, prinsip ini berarti akses kepada
sebuah komponen dari komponen yang lain melalui public interface
yang telah didefinisikan pada komponen yang akan diakses
tersebut.
6. Sufficiency, completeness & primitiveness
Sufficiency dan completeness berarti abstraksi yang dilakukan telah
menangkap semua karakteristik yang diperlukan sedangkan
primitiveness artinya desain dapat diimplementasikan.
7. Separation of concern
Prinsip ini terkait dengan arsitektur, dimana terdapat beberapa
architectural view yang memudahkan stakeholder dalam mengelola
kompleksitas perangkat lunak.
14
5.3. Tujuan Dan Tahap Perancangan Perangkat Lunak
2. Perancangan arsitektural
Sebuah proses yang menghasilkan sebuah model atau
representasi yang menampilkan ketegasan, komoditas, dan
kemudahan untuk dipahami
3. Perancangan procedural
Adalah tahap akhir dari proses perancangan, merupakan
tahapan untuk membentuk algoritma siap program dengan
menggunakan dan mengacu pada hal berikut : Struktur data
yang terbentuk pada perancangan data Struktur modul kendali
pada struktur chart hasil perancangan arsitektur Struktur,
rancangan menu dan format layar hasil rancangan antarmuka
15
4. Perancangan antarmuka pemakai
Fokus perangcangan antar muka adalah : Antarmuka antar
modul perangkat lunak, antarmuka antar perangkat lunak
dengan sumber informasi selain manusia (external entities),
antarmuka antar manusia (users) dengan komputernya.
16
BAB VI
KONSTRUKSI DAN IMPLEMENTASI PERANGKAT LUNAK
1. Pemrograman:
Ini melibatkan penulisan kode untuk menciptakan perangkat lunak.
Bahasa pemrograman yang digunakan dapat bervariasi tergantung
pada kebutuhan proyek.
2. Verifikasi:
Ini adalah proses memeriksa apakah perangkat lunak memenuhi
spesifikasi yang ditentukan
3. Pengujian Unit:
Ini adalah proses memeriksa bagian individu dari perangkat lunak
untuk memastikan bahwa mereka bekerja sebagaimana mestinya.
4. Integrasi:
Ini adalah proses menggabungkan bagian-bagian perangkat lunak
yang berbeda menjadi satu sistem yang bekerja.
5. Debugging:
Ini adalah proses mengidentifikasi dan memperbaiki kesalahan atau
bug dalam perangkat lunak
17
6.3. Implementasi Perangkat Lunak
1) Tentukan gol
Langkah pertama dalam proses implementasi adalah
menentukan gol. Tentukan apa yang ingin dicapai saat proyek
selesai, misalnya apakah Anda ingin mendapatkan klien pemasaran
baru atau mengubah strategi konten internal. Memulai dengan
mempertimbangkan tujuan proyek dapat membantu
menyempurnakan rencana proyek.
2) Lakukan riset
Setelah memahami secara luas tentang gol proyek yang ingin
dicapai, Anda dapat fokus pada gol ini dengan melakukan riset
seperti wawancara, diskusi kelompok, atau observasi. Riset harus
bersumber dari pakar profesional di bidang Anda. Mereka mungkin
saja anggota tim atau pemangku kepentingan eksternal. Hasil riset
18
harus mencakup daftar gambaran linimasa, anggaran, dan personel
proyek.
3) Petakan risiko
Anda telah mendiskusikan skenario risiko di langkah pertama
strategi implementasi, dan di langkah ketiga, Anda akan
memetakan semua potensi risiko yang mungkin dihadapi dalam
proyek. Risiko dapat mencakup segala hal, mulai cuti berbayar dan
liburan hingga kendala anggaran dan kehilangan personel.
4) Jadwalkan milestone
Menjadwalkan milestone proyek adalah langkah penting
dalam proses perencanaan karena checkpoint ini membantu
melacak progres selama eksekusi. Milestone berfungsi sebagai
metrik, yaitu cara mengukur progres proyek dan langkah yang
tersisa.
19
BAB VII
PENGUJIAN DAN PERAWATAN PERANGKAT LUNAK
Berikut adalah daftar acuan dimana suatu produk dapat lolos dalam
Software Testing.
20
pengembang produk, semua itu tergantung pada waktu dan
sumberdaya yang dimiliki oleh pengembang produk tersebut. Berikut
adalah tahapan yang dilakukan untuk mengukur kualitas produk yang
dimulai dari yang paling atas ke bawah:
1. User Acceptance Test (UAT)
User Acceptance Test atau Tes Penerimaan Pengguna adalah
sebuah tahapan final yang dilakukan dalam semua jenis Model
Pengembangan Perangkat Lunak, testing ini bertujuan untuk
menentukan apakah produk yang dikembangkan telah memenuhi
kebutuhan pengguna, kebutuhan tersebut befokus kepada
pengguna, produk itu sendiri harus telah memenuhi fungsionalitas
dan detail produk yang dapat diterima oleh pengguna.
2. Usability Testing
Usability Testing atau pengujian kegunaan adalah evaluasi
yang dilakukan pada produk yang memfokuskan pada
mengidentifikasi masalah kegunaan, mengumpulkan data kualitatif
dan kuantitatif, dan menentukan kepuasan pengguna produk,
dalam tahap ini, testing dilakukan oleh perwakilan pengguna,
mereka akan menggunakan produk kita untuk menentukan apakah
mereka puas dengan fungsionalitas, interface dan detail lainnya
pada produk tersebut.
3. Performance testing
Performance testing atau Pengujian kinerja adalah suatu
evaluasi terhadap produk untuk menentukan apakah sebuah
produk tersebut memenuhi harapan dalam kecepatan waktu,
skalabilitas, dan stabilitas dibawah beban kerja yang diharapkan.
Biasanya, produk harus memenuhi kriteria seperti Response Time
dan Throughput.
4. Stress Testing
Stress Testing atau biasa disebut sebagai Torture Testing,
adalah evaluasi produk dengan metode pengujian dengan memberi
tekanan kepada produk secara intensif, hal ini untuk menentukan
stabilitas produk atau sistem terlebih lagi saat menerima tekanan
besar.
5. Smoke testing
Smoke Testing juga biasa disebut sebagai Build Verification Testing
atau Confidence Testing, adalah salah satu tahap pengujian untuk
mengungkapkan kegagalan sederhana tapi yang cukup parah untuk
ketidakberhasilan suatu fungsi atau fitur pada produk.
21
6. Sanity Testing
Sanity Testing, sedikit mirip seperti Smoke Testing dimana
dilakukan setiap tedapat build baru pada produk, tapi testing ini
adalah kumpulan dari Regression Testing, Testing yang berfokus
kepada perubahan seperti fitur baru dan perbaikan bug.
7. Regression Testing
Regression Testing adalah tahap pengujian untuk
menkonfirmasi apakah perubahan code tidak mempengaruhi atau
merusak fitur-fitur yang sudah ada, yang akan memastikan bahwa
kode lama atau fitur yang lama masih bekerja dengan baik dan tidak
mendapatkan efek setelah ada penambahan atau perubahan kode.
8. System Testing
System Testing adalah tahap pengujian yang dilakukan
setelah Integration Testing untuk menguji sistem secara
keseluruhan, semua modul/komponen yang telah terintegrasi, yang
menentukan apakah kesuluhan komponen yang telah terintegrasi
pada sistem telah memenuhi harapan.
9. Integration Testing
Integration Testing (biasanya juga disebut sebagai Integration
and Testing/I & T, String Testing, dan Thread Testing) adalah tahap
testing yang dilakukan setelah Unit testing, yang melakukan
pengujian terhadap suatu module yang secara logika telah
terintegrasi. Tujuan dari pengujian ini adalah untuk menemukan
kecacatan dalam interaksi antara modul perangkat lunak ketika
mereka terintegrasi.
22
untuk meningkatkan performa perangkat lunak secara keseluruhan
serta mengidentifikasi dan memperbaiki kesalahan sistem atau bug
yang pengguna temui.
23
kenyamanan dalam memanfaatkan perangkat lunak sehingga
dapat mempermudah pekerjaan.
24
BAB VIII
PENUTUP
8.1. Kesimpulan
25
References
26
Riadi, M. (2022, Agustus 05). Rekayasa perangkat lunak (RPL). Retrieved
from KAJIANPUSTAKA:
https://www.kajianpustaka.com/2022/08/rekayasa-perangkat-lunak-
rpl.html
SDLC Adalah: Pengertian, Tahapan, dan Metodenya. (2023, October 6).
Retrieved from itbox.id: https://itbox.id/blog/sdlc-adalah/
setiawan, s. (2023, Oktober 21). Pengertian Analisis Sistem – Fungsi,
Tugas, Tahap, Langkah, PIECES, Para Ahli. Retrieved from
gurupendidikan.co.id: https://www.gurupendidikan.co.id/pengertian-
analisis-sistem/
Tekno, H. T. (2023, Februari 19). Metode SDLC: Definisi, Manfaat, dan Jenis
Modelnya. Retrieved from kumparan.com:
https://kumparan.com/how-to-tekno/metode-sdlc-definisi-manfaat-
dan-jenis-modelnya-1zqTZD1AzKH
27