Anda di halaman 1dari 34

CRITICAL BOOK REPORT

MATA KULIAH REKAYASA PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK


( Christanto Triwibisono, Bandung. 2009)
Dosen Pengampu : Ali Akbar Lubis S.Kom. M.TI.

Disusun oleh :
Kelompok 2

Mhd.Fikri Saragih Utari Mawaddah


NIM : 5202151001 NIM : 5202151002

Kelas PTIK A

PROGRAM STUDI PENDIDIKAN TEKNOLOGI INFORMATIKA DAN


KOMPUTER
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MEDAN
STAMBUK 2020
KATA PENGANTAR

Puji syukur selalu dipanjatkan atas kehadirat Tuhan Yang Maha Esa karena berkat
rahmat dan hidayahnya Critical Book Report ini dapat dibuat. Critical Book Report ini
dibuat dengan tujuan untuk memenuhi tugas Critical Book Report mata kuliah Rekayasa
Perangkat Lunak. Tidak lupa diucapkan lupa terima kasih kepada teman-teman dan
keluarga yang selalu mendukung kami dalam menyelesaikan Critical Book Report ini.
Kami menyadari bahwa dalam proses pembuatan Critical Book Report ini dan
hasil dari Critical Book Report terdapat banyak kekurangan dan kesalahan. Sehingga kami
sangat membuka bagi siapa pun yang ingin memberikan kritik dan saran yang membangun
bagi kami. Kami berharap dengan selesainya Critical Book Report ini dapat bermanfaat
bagi seluruh pembaca, amin.

Medan, 08 Mei 2021

Kelompok 2

i
DAFTAR ISI

KATA PENGANTAR......................................................................................................i

DAFTAR ISI....................................................................................................................ii

BAB I PENDAHULUAN................................................................................................3

A. Latar Belakang CBR..............................................................................................3


B. Tujuan Penulisan CBR..........................................................................................3
C. Manfaat Penulisan CBR........................................................................................3
D. Identitas Buku........................................................................................................4
BAB II RINGKASAN ISI BUKU.............................................................................5-29

BAB III PEMBAHASAN..............................................................................................30

A. Analisi..................................................................................................................30
B. Kelebihan Buku...................................................................................................31
C. Kelemahan Buku.................................................................................................31
BAB IV PENUTUP........................................................................................................32

A. Kesimpulan..........................................................................................................32
B. Saran....................................................................................................................32
DAFTAR PUSTAKA---------------------------------------------------------------------------33

ii
BAB I
PENDAHULUAN

A. Latar Belakang CBR


Pentingnya Critical Book Report bagi mahasiswa yang baru belajar tentang mengkritik
buku agar lebih mengerti atau memahami apa isi buku yang dibacanya, dan tidak hanya
dibaca saja dan lupa begitu saja. Tugas ini juga berfungsi untuk mengajarkan mahasiswa
bagaimana caranya berpikir kritis. Seringkali kita bingung memilih buku referensi untuk kita
baca dan pahami, terkadang kita hanya memilih satu buku untuk dibaca tetapi hasilnya masih
belum memuaskan misalnya dari segi analisis bahasa dan pembahasan, oleh karena itu
penulis membuat CBR struktur data ini untuk mempermudah pembaca dalam memilih buku
referensi terkhusus pada pokok bahasa tentang rekayasa perangkat lunak.

B. Tujuan Penulisan CBR


Tujuan penulisan CBR ini adalah untuk memenuhi tugas dari mata kuliah Rekayasa
Perangkat Lunak penulisan Critical Book Report ini juga untuk menambah wawasan kami
dalam memahami perangkat lunak lebih tepatnya dalam materi software dan juga
meningkatkan kemampuan kami dalam mengaplikasikan ilmu dari tentang software ke dalam
dunia komputer.

C. Manfaat Penulisan CBR


1. Untuk menambah wawasan tentang Evolusi Komputer
2. Untuk mengetahui struktur Komputer
3. Untuk mengetahui fungsi komputer
4. Dan untuk memenuhi tugas Matakuliah RPL

3
D. Identitas Buku
Buku Utama
1. Judul buku : REKAYASA PERANGKAT LUNAK
2. Edisi :I
3. Pengarang : Christanto Triwibisono
4. Kota terbit : Bandung
5. Tahun terbit : 2009
6. Penerbit : Politeknik Telkom
7. ISBN :-

Buku Pembanding
1. Judul buku : Rekayasa Perangkat Lunak [Software Engineering]
2. Edisi :I
3. Pengarang : Lila Setiyani, S.T, M.Kom
4. Kota terbit : Karawang
5. Tahun terbit : 2018
6. Penerbit : Jatayu Catra Internusa
7. ISBN :-

4
BAB II
RINGKASAN ISI BUKU
Buku Utama
Bab 1
Pengenalan Rekayasa Perangkat Lunak
Suatu Perangkat Lunak menjadi kebutuhan manusia dengan berbagai bagian disiplin
ilmu yang dibidangi setiap tenaga profesionalnya, menjadi bagian penting yang
melatarbelakangi tumbuhnya perkembangan perangkat lunak dengan berbagai krisis
perangkat lunak menurut berbagai sisi pandang konsmen, manajer dan pengembang/praktisi.
Rekayasa Perangkat Lunak berasal dari 2 kata Rekayasa dan Perangkat Lunak. Rekayasa
Perangkat Lunak merupakan perihal kegiatan yang kreatif dan sistematis berdasar suatu
disiplin ilmu yang membangun suatu perangkat lunak berdasar suatu aspek masalah tertentu.
Dalam Rekayasa Perangkat Lunak dilakukan Proses Perangkat Lunak dengan menggunakan
model Proses yang merupakan Daur Hidup Rekayasa Perangkat Lunak. Model Proses ini
terdiri dari beberapa karakteristik pendekatan proses. Dalam Proses pembangunan Perangkat
Lunak perlu diketahui Biaya yang dikeluarkan.
Rekayasa Perangkat Lunak
Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang
berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar
umum terdiri dari: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda
Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa perangkat lunak berasal dari 2 kata yaitu Software( Perangkat Lunak) dan
Engineering (Rekayasa).
Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Perangkat
lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu
yang dibutuhkan selama pengembangan, instalasi, penggunaan dan pemeliharaan sebuah
sistem.
Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas
ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin,
produk, proses atau sistem.
Rekayasa Perangkat Lunak adalah suatu disiplin rekayasa yang berkonsentrasi
terhadap seluruh aspek.

5
Kategori Perangkat Lunak
Kategori Perangkat lunak secara umum dapat dikelompokkan sebagai berikut:
 Perangkat Lunak Sistem, Sekumpulan program yang ditulis untuk melayani
program-program yang lain. Seperti kompiler, editor dan utilitas pengatur file.
 Perangkat Lunak Real-Time, Program-program yang memonitor / menganalisi /
mengontrol kejadian dunia nyata pada saat terjadinya ( real-time event)
 Perangkat Lunak Bisnis, memroses informasi bisnis spt payroll, inventory dll.
 Perangkat Lunak Teknik dan Ilmu Pengetahuan, ditandai dengan penggunaan
algoritma number crunching.
 Embedded Software, produk yang ada dalam read-only memory dan dipakai
untuk mengontrol hasil dan sistem untuk keperluan konsumen dan pasar industri
 Perangkat Lunak Komputer Personal, sesuai kebutuhan personal spt pengolah
kata,angka dan manajamen database
 Perangkat Lunak Kecerdasan Buatan, menggunakan algoritma non-numeris
untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau
analisis secara langsung.

Karakteristik Perangkat Lunak

Dalam Buku Software Engineering Ian Sommerville, Perangkat Lunak mempunyai,


Karakteristik sebagai berikut:

1. Maintanability (Dapat Dirawat), Perangkat Lunak harus dapat memenuhi


perubahan kebutuhan
2. Dependability, Perangkat Lunak harus dapat dipercaya
3. Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource
4. Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang
direncanakan

Proses Perangkat Lunak

Proses Perangkat Lunak merupakan Sekumpulan aktifitas yang memiliki tujuan untuk
pengembangan ataupun evolusi perangkat lunak. Aktifitas umum dalam semua proses
perangkat lunak terdiri dari:

1. Software Specification – apa yang harus dilakukan oleh perangkat lunak dan
batasan/kendala pengembangannya
2. Software Development – proses memproduksi sistem perangkat lunak
3. Software Validation – pengujian perangkat lunak terhadap keinginan pengguna
4. Software Evolution – perubahan perangkat lunak berdasarkan perubahan
keinginan.
Suatu proses model adalah suatu representasi abstrak suatu model. Proses model
menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,

Proses Perangkat Lunak dapat dikatakan sebagai aktifitas yang saling terkait
(koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem
perangkat lunak.

6
Karakteristik Proses Perangkat Lunak

Karakteristik Proses Perangkat Lunak terdiri dari:

 Understandability, membuat proses secara eksplisit didefinisikan dan bagaimana


sehingga mudah untuk mengerti definisi proses
 Visibility, Aktifitas proses menghasilkan hasil yang jelas sehingga tahapan
proses yang dilakukan terlihat
 Supportability, Aktifitas Proses dapat didukung atas CASE tools
 Acceptability, Penerimaan atas proses yang terdefinisi dan yang digunakan oleh
Engineer selama pembangunan Produk Perangkat Lunak.
 Reliability, Proses didesain dalam suatu metode untuk dihindarkan dari
kesalahan
 Robustness, Proses dapat meneruskan dalam masalah yang tidak diharapkan
terjadi
 Maintainabiity, Proses yang merefleksi atas perubahan thd permintaan atau
perbaikan proses yang diidentifikasi
 Rapidity, bagaimana cepat dapat berjalan atas proses pengiriman atau
implementasi sebuah sistem dari Spesifikasi yang ada sampai selesai

Daur Hidup Pembangunan Perangkat Lunak

Di dalam pengembangan rekayasa perangkat lunak biasanya dipandu dengan


pemodelan dengan Daur Hidup Perangkat Lunak (Software Development Life Cycle). Tak
ada standar sehingga bervariasi model proses u/ menggambarkan rekayasa daur hidup p.l.
Namun tahap-tahap yang prinsipal terhadap pemetaan model proses kedalam aktifitas
pengembangan yang fundamental alalah sbb:

1. Requirement Analysis and definition


2. System and Software Design
3. Implementation and unit testing
4. Integration and system Testing
5. Operation and maintenance

Model Proses Perangkat Lunak

Model Proses Perangkat Lunak merupakan suatu representasi proses perangkat lunak
yang disederhanakan, dipresentasikan dar perspektif khusus. Contoh perspektif proses:

 Perspektif Alur-kerja (workflow) - barisan kegiatan


 Perspektif Alur Data (Data flow) – alur informasi
 Perspektif Peran/Aksi – siapa melakukan apa.

7
Bab 2

Model Proses Perangkat Lunak

Program hendaknya dapat menyelesaikan berbagai macam masalah mulai dari yang
berskala kecil, menengah, hingga skala yang besar dan kompleks. Untuk bisa menyelesaikan
masalah yang bear dan kompleks, akan lebih mudah jika permasalahan tersebut dipecahkan
menjadi masalah-masalah yang lebih kecil, sehingga lebih fokus untuk diselesaikan. Solusi
untuk masalah yang lebih kecil, kadang kala masih bisa digunakan kembali untuk
menyelesaikan permasalahan yang lain.

Pengembangan Perangkat Lunak

Pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai


diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan
kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat
lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan
instalasi serta pemeriksaan kebenararan perangkat lunak untuk operasional.

Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses


pengembangan perangkat lunak mengikuti tahap-tahap:

1. Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam satu
rentang waktu tertentu.
2. Mendefinisikan BAGAIMANA perangkat lunak dibuat, mencakup arsitektur
perangkat lunaknya, antarmuka internal, algoritma, dan sebagainya.
3. Penerapan (penulisan program) dan pengujian unit-unit program.
4. Integrasi dan pengujian modul-modul program.
5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).

Siklus Pengembangan Perangkat Lunak

Siklus pengembangan perangkat lunak atau sering disebut juga dengan siklus hidup
perangkat lunak adalah:

 Periode waktu yang diawali dengan keputusan untuk mengembangkan produk


perangkat lunak dan berakhir setelah perangkat lunak diserahkan. Umumnya
siklus pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan,
penerapan, pengujian, dan instalasi serta pemeriksaan.

8
 Periode waktu yang diawali dengan keputusan untuk mengembangkan produk
perangkat lunak dan berakhir saat produk tidak dapat ditingkatkan lebih jauh
lagi oleh pengembang.

Model Proses Pengembangan Perangkat Lunak

Model proses perangkat lunak (atau disebut juga paradigma rekayasa perangkat
lunak) adalah suatu strategi pengembangan yang memadukan lapisan proses, metode, dan alat
serta tahap-tahap generik. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan
sifat proyek dan aplikasi, metode dan alat yang digunakan, serta pengendalian dan hasil yang
diinginkan. Berikut adalah beberapa model proses pengembangan perangkat lunak.

Bab 3

Rekayasa Sistem

Rekayasa sistem adalah aktivitas untuk menetapkan kebutuhan-kebutuhan pada


tingkat sistem, kemudian mengalokasikan beberapa bagian dari kebutuhan-kebutuhan
tersebut ke satu atau beberapa komponen rekayasa, misalnya perangkat lunak. Rekayasa
sistem dapat membantu menerjemahkan kebutuhan pelanggan menjadi model sistem tertentu,
sehingga dapat memberikan gambaran bagaimana interaksi antara satu elemen sistem dengan
elemen sistem lainnya.

Rekayasa Informasi

Tujuan dari rekayasa informasi/information engineering (IE) adalah: Mendefinisikan


suatu arsitektur yang memungkinkan bisnis menggunakan informasi secara efektif. Membuat
rencana menyeluruh untuk mengimplementasi arsitekturarsitektur tersebut, yaitu:

1. Arsitektur data: kerangka kerja untuk informasi yang dibutuhkan bisnis/fungsi


bisnis. Informasi dari arsitektur ini merupakan objek data yang digunakan oleh
suatu basisdata dan ditransformasikan menjadi sebuah informasi yang
dibutuhkan oleh bisnis/fungsi bisnis.
2. Arsitektur aplikasi: elemen sistem yang mentransformasi objek pada arsitektur
data untuk berbagai keperluan bisnis. Arsitektur aplikasi ini bisa dianggap
sebagai sistem program (perangkat lunak) yang melakukan transformasi data
tersebut. Namun dalam konteks yang luas arsitektur aplikasi bisa mencakup
perasan manusia dan prosedur bisnis yang belum terotomatisasi.

9
3. Infrastuktur teknologi: fondasi untuk arsitektur data dan aplikasi, mencakup
perangkat keras dan perangkat lunak yang digunakan untuk mendukung data
dan aplikasi. Hal ini bisa mencakup komputer, jaringan komputer, teknologi
penyimpanan, dan arsitektur untuk mengimplementasikan teknologi tersebut.

Rekayasa Produk

Rekayasa produk disebut juga dengan rekayasa sietem yang merupakan aktivitas
pemecahan masalah. Data, fungsi, dan perilaku produk yang diinginkan dicari, dianalisis,
dibuat model kebutuhannya, kemudian dialokasikan ke komponen rekayasa. Selanjutnya
komponen-komponen ini disatukan dengan infrastruktur pendukungnya sampai produk
tersebut jadi. Komponen rekayasa disini seperti perangkat lunak, perangkat keras, data
(basisdata) dan manusia. Sedangkan infrastruktur pendukung berupa teknologi yang
dibutuhkan untuk menyatukan komponen dan informasi.

Sebagian besar produk dan sistem yang baru masih samar akan fungsi yang
dibutuhkan. Oleh karena itu, perekayasa sistem harus membatasi kebutuhan produk dengan
mengidentifikasi ruang lingkup fungsi dan kinerja yang diinginkan dari sistem atau produk
tersebut.

Dalam rekayasa produk ada beberapa aktivitas yang akan dilakukan untuk mengetahui
data, fungsi dan perilaku produk yang diinginkan sebelum pengembangan produk dilakukan
diantaranya adalah:

a. Analisa sistem
b. Identifikasi kebutuhan
c. Studi kelayakan
d. Analisa ekonomis
e. Analisa teknis

Bab 4

Analisa Kebutuhan Perangkat Lunak

Kebutuhan perangkat lunak adalah kondisi, kriteria, syarat atau kemampuan yang
harus dimiliki oleh perangkat lunak untuk memenuhi apa yang disyaratkan atau diinginkan
pemakai. Bab ini berisi mengenai segala sesuatu yang dibutuhkkan untuk dapat melakukan
analisa kebutuhan perangkat lunak.

10
Apa yang Disebut Kebutuhan?

Menurut Kamus Webster seperti dikutip oleh Davis [DAV93], kebutuhan adalah sesuatu
yang disyaratkan; sesuatu yang diinginkan atau diperlukan. Sedangkan menurut IEEE
[IEE93] kebutuhan adalah:

 Kondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatu


persoalan, atau untuk mencapai tujuan.
 Kondisi atau kemampuan yang harus dimiliki atau dipunyai oleh sistem atau
komponen sistem untuk memenuhi kontrak, standar, spesifikasi, atau dokumen formal
lainnya.
Dapat disimpulkan bahwa kebutuhan perangkat lunak adalah kondisi, kriteria, syarat atau
kemampuan yang harus dimiliki oleh perangkat lunak untuk memenuhi apa yang disyaratkan
atau diinginkan pemakai.

Mengapa Kebutuhan Penting?

Pendefinisian kebutuhan merupakan aktivitas yang sangat penting, karena sangat


mempengaruhi sukses atau gagalnya pelaksanaan pengembangan perangkat lunak. Menurut
hasil survey DeMarco, 56% kegagalan proyek pengembangan perangkat lunak dikarenakan
ketidaklengkapan pendefinisian kebutuhan dari perangkat lunak tersebut.

Analisis Kebutuhan

Analisis kebutuhan perangkat lunak (software requirements analysis) merupakan


aktivitas awal dari siklus hidup pengembangan perangkat lunak. Untuk proyek-proyek
perangkat lunak yang besar, analisis kebutuhan dilaksanakan setelah tahap rekayasa
sistem/informasi dan software project planning.

Tujuan pelaksanaan analisis kebutuhan adalah

1) Memahami masalah secara menyeluruh (komprehensif) yang ada pada


perangkat lunak yang akan dikembang seperti ruang lingkup produk perangkat
lunak(product space) dan pemakai yang akan menggunakannya.
2) Mendefinisikan apa yang harus dikerjakan oleh perangkat lunak untuk
memenuhi keinginan pelanggan.

11
Spesifikasi Kebutuhan Perangkat Lunak (SKPL)

Spesifikasi Kebutuhan Perangkat Lunak atau Software Requirements Specification


(SRS) adalah sebuah dokumen yang berisi pernyataan lengkap dari apa yang dapat dilakukan
oleh perangkat lunak, tanpa menjelaskan bagaimana hal tersebut dikerjakan oleh perangkat
lunak. Suatu SKPL harus mencantumkan tentang deskripsi lengkap dari semua antarmuka
yang ada dalam sistem yang dapat menghubungkan sistem dengan lingkungannya, mencakup
antarmuka untuk perangkat keras, perangkat lunak, komunikasi dan pemakai.

SKPL bisa terdiri dari banyak dokumentasi yang saling melengkapi. Suatu SKPL
harus dapat menguraikan definisi masalah, dan menguraikan masalah dengan tepat dengan
cara yang tepat pula.

Tujuan Pembuatan SKPL

Ada beberapa tujuan pembuatan SKPL, dan itu tergantung kepada siapa yang menulisnya.
Pertama, SKPL dapat ditulis oleh pemakai potensial (pelanggan) dari sistem, dan kedua oleh
pengembang sistem. Untuk kasus pertama, tujuan penulisan SKPL adalah untuk
mendefinisikan keinginan yang biasanya dinyatakan dalam bentuk penjelasan umum.

Untuk yang kedua, tujuan pembuatan SKPL adalah:

 Sarana komunikasi antara pelanggan, pemakai, analis, dan perancang perangkat


lunak.
 Dasar untuk merencanakan dan melaksanakan aktivitas pengujian sistem.
 Acuan untuk melakukan perbaikan dan perubahan perangkat lunak.
Sedangkan manfaat dan kegunaan SKPL menurut Witarto[WIT04] dari IEEE, adalah

 Memastikan kesamaan antara kebutuhan untuk pengembangan dengan


kebutuhan yang ditulis didalam dokumen.
 Mendefinisikan kerangka kerja bersama untuk proses-proses pengembangan
perangkat lunak.
 Memperjelas peran dan antarmuka bagi para pihak yang terlibat dalam proses
pengembangan perangkat lunak.
 Memperjelas jenis dan isi dokumen.
 Mengenali tugas, tahapan, baseline, aktivitas kaji ulang, dan dokumentasinya.
 Belajar pendekatan praktis yang diterapkan didunia industri.
 Menghilangkan persoalan-persoalan seperti yang pernah dialami masa lalu.

12
Bab 5

Perancangan Perangkat Lunak

Perancangan perangkat lunak merupakan inti teknik dari proses rekayasa perangkat
lunak dan merupakan aktivitas pertama dari tiga aktivitas teknik – perancangan, pembuatan
kode, dan pengujian – yang diperlukan untuk membangun dan menguji perangkat lunak.

Perancangan perangkat lunak dapat didefinisikan sebagai

 Proses untuk mendefinisikan suatu model atau rancangan perangkat lunak


dengan menggunakan teknik dan prinsip tertentu sedemikian hingga model atau
rancangan tersebut dapat diwujudkan menjadi perangkat lunak.
 Proses mendefinisikan arsitektur perangkat lunak, komponen, modul,
antarmuka, pendekatan pengujian, serta data untuk memenuhi kebutuhan yang
sudah ditentukan sebelumnya. [IEE98]
 Proses bertahap dimana semua kebutuhan yang ada diterjemahkan menjadi
suatu cetak biru yang akan digunakan untuk mengkonstruksi perangkat lunak.
Tujuan dilakukannya perancangan oleh seorang designer system (software engineer) adalah

 Mendekomposisi sistem (perangkat lunak) menjadi komponen-komponennya


(data, antarmuka, prosedur, arsitektur).
 Menentukan relasi antar komponen.
 Menentukan mekanisme komunikasi antar komponen.
 Menentukan antarmuka komponen.
 Menjelaskan fungsionalitas masing-masing komponen
Prinsip Perancangan

Perancangan perangkat lunak merupakan model dan proses. Proses perancangan


merupakan serangkaian langkah yang memungkinkan seorang desainer menggambarkan
semua aspek perangkat lunak yang dibangun, sedangkan model perancangan hampir sama
dengan rencana arsitek untuk sebuah rumah yaitu memulai dengan menyajikan totalitas hal
yang akan dibangun (misal pandangan 3 dimensi dari rumah yang akan dibangun, setelah itu
akan disaring hal-hal yang memberikan panduan bagi pembangunan setiap detail dari rumah,
seperti layout ruangan, layout pipa dan lainnya). Sama halnya dengan model perancangan
yang dibuat untuk perangkat lunak memberikan berbagai pandangan yang berbeda terhadap
program komputer.

13
Bab 6

Implementasi Perangkat Lunak

Aktivitas Implementasi

Merupakan sekumpulan aktivitas di mana rancangan perangkat lunak yang telah


dibuat pada tahap perancangan kemudian dikodekan ke dalam bentuk kode program dengan
menggunakan bahasa pemrograman tertentu agar dapat dijalankan pada komputer. Fondasi
dari aktivitas ini adalah pemrograman. Tools untuk membuat program disebut bahasa
pemrograman. Programmer membuat program dengan panduan dokumentasi rancangan
perangkat lunak, namun pada umumnya programmer juga memeriksa semua dokumen dari
tahapan-tahapan sebelumnya (semisal SKPL) untuk memeriksa konsistensi dari
dokumentasidokumentasi yang ada.

Beberapa standar program yang baik adalah:

 Teknik pemecahan masalah


 Penyusunan program
 Perawatan program
 Standar prosedur
Modularitas merupakan sebuah konsep untuk memecah program menjadi modul-
modul kecil di mana masing-masing modul berinteraksi melalui antarmuka modul. Dengan
adanya modularitas, kesalahan di satu bagian program dapat dikoreksi tanpa perlu
mempertimbangkan bagian-bagian lainnya, program menjadi lebih sederhana sehingga lebih
mudah dipahami.

Bab 7

Pengujian Perangkat Lunak

Pada proses RPL, pelaku RPL mula-mula berusaha untuk membangun perangkat
lunak mulai dari konsep abstrak sampai kepada tahap implementasi yang dapat dilihat, baru
kemudian dilakukan pengujian. Pada pengujian perangkat lunak, pelaku RPL menciptakan
sekumpulan kasus uji untuk diujikan kepada perangkat lunak. Proses ini lebih terkesan
berusaha untuk “membongkar” perangkat lunak yang sudah dibangun. Proses pengujian
merupakan tahapan dalam RPL di mana secara fisik terlihat lebih banyak sisi desktruktifnya

14
dibandingkan sisi konstruktifnya karena tujuannya adalah untuk menemukan kesalahan pada
perangkat lunak.

Strategi pengujian yang dilakukan pada proses Rekayasa Perangkat Lunak:

 Unit Testing : Pengujian pada bagian terkecil dari suatu program


 Integration Testing : Pengujian pada saat unit-unit diintegrasikan membentuk
suatu perangkat lunak yang lengkap
 Validation Testing : Pengujian yang dilakukan untuk memvalidasi
 System Testing : Pengujian yang dilakukan setelah perangkat lunak terintegrasi
pada Sistem Berbasis Komputer
Pendekatan Strategis untuk Pengujian Perangkat Lunak

Pengujian merupakan serangkaian aktivitas yang dapat direncanakan sebelumnya dan


dilakukan secara sistematis. Banyak ditemukan strategi pengujian perangkat lunak yang
memberikan sebuah template untuk pengujian yang memiliki karakteristik sebagai berikut:

 Pengujian dimulai pada level komponen dan dilanjutkan dengan menguji pada
level integrasi keseluruhan sistem berbasis komputer.
 Teknik pengujian yang berbeda dibutuhkan pada saat yang berbeda.
 Pengembang perangkat lunak melakukan pengujian dan mungkin dibantu oleh
kelompok penguji yang independen untuk keperluan proyekproyek besar.
 Pengujian (Testing) dan debugging adalah aktivitas yang berbeda.
 Debugging harus dapat dilakukan pada strategi pengujian apapun.

Bab 8

Pemeliharaan Perangkat Lunak

Pengertian Pemeliharaan

Pemeliharaan perangkat lunak merupakan proses memodifikasi sistem perangkat


lunak atau komponennya setelah penggunaan oleh konsumen untuk memperbaiki kerusakan,
meningkatkan kinerja, manfaat, atau kualitas lainnya atau untuk menyesuaikan sistem
perangkat lunak dengan lingkungan yang berubah.

Definisi ini menegaskan bahwa proses pemeliharaan perangkat lunak merupakan


proses yang bersifat post-delivery, artinya dilakukan setelah sistem perangkat lunak
digunakan oleh konsumen. Aktivitas ini dimulai sejak sistem dilepaskan ke pasaran dan

15
digunakan oleh konsumen dan mencakup semua aktivitas yang menjaga operasional sistem
dan kesesuaian dengan kebutuhan pengguna. Sebagian ahli berpendapat tidak demikian.

Menurut mereka, pemeliharaan perangkat lunak harus dimulai sebelum operasional


sistem berjalan. Schneidewind berpendapat bahwa pandangan tentang pemeliharaan
perangkat lunak merupakan aktivitas post-delivery adalah salah satu penyebab mengapa
aktivitas pemeliharaan menjadi hal yang sangat sulit dilakukan. Osborne dan Chikofsky
berpendapat bahwa penting untuk mengadopsi pendekatan SDLC untuk mengelola dan
mengubah sistem perangkat lunak pada tahapan pemeliharaan perangkat lunak. Pigoski
kemudian memberikan definisi baru tentang pemeliharaan, yakni sebuah aktivitas
keseluruhan yang dilakukan untuk menyediakan dukungan yang murah dan efektif terhadap
sistem perangkat lunak.

Aktivitas dapat berupa pre-delivery dan post-delivery. Aktivitas pre-delivery berupa


perencanaan untuk operasi post-delivery, suportabilitas, dan penentuan logistik. Aktivitas
post-delivery berupa modifikasi perangkat lunak, pelatihan, dan mengoperasikan help desk.

Kategori pemeliharaan perangkat lunak:

 Pemeliharaan korektif
 Pemeliharaan adaptif
 Pemeliharaan perfektif
 Pemeliharaan emergensi
Pemeliharaan perangkat lunak merupakan kegiatan yang membutuhkan biaya tinggi
karena beberapa faktor antara lain stabilitas sistem, tanggung jawab kontraktual, keahlian
staf, serta usia dan struktur program.

Merencanakan pemeliharaan perangkat lunak membutuhkan perkiraan akan jumlah


permintaan perubahan sistem dan juga perkiraan nilai maintainabilitas yang dapat digunakan
untuk memperkirakan besar biaya pemeliharaan.

Bab 9

Object Oriented Concepts and Priciples

Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi
dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal

16
seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit.
Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan
diperbaiki, bahkan oleh orang lain selain programmer aslinya.

Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya


penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang
membutuhkan fungsionalitas yang sama. Pemodelan (modeling) adalah proses merancang
piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat
dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari
sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem
semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula
penggunaan teknik pemodelan yang baik.

Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat


memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor
seperti scalability, robustness, security, dan sebagainya. Kesuksesan suatu pemodelan piranti
lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the
triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses
(process) dan tool yang digunakan.

Konsep Objek

Obyek dalam „software analysis & design‟ adalah sesuatu berupa konsep (concept),
benda (thing), dan sesuatu yang embedakannya dengan lingkungannya. Secara sederhana
obyek adalah mobil, manusia, alarm dan lainlainnya. Tapi obyek dapat pula merupakan
sesuatu yang abstrak yang hidup didalam system seperti tabel, database, event, system
messages. Objek (object)

Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Beberapa
contoh objek, misalnya hardware, software, dokumen, manusia, konsep, dan lainnya. Untuk
kepentingan pemodelan, misalnya seorang eksekutif akan melihat karyawan, gedung, divisi,
dokumen, keuntungan perusahaan sebagai sebuah objek. Sedangkan seorang teknisi mobil,
akan melihat ban, pintu, mesin, kecepatan tertentu dan banyaknya bahan baker sebagai
sebuah objek.

17
Buku Pembanding

Bab 1 Rekayasa Perangkat Lunak

Perangkat lunak berperan dalam menyajikan informasi dan menjadi gerbang menuju
jaringan informasi global. Peningkatan perkembangan dari peran perangkat lunak ini
didukung oleh teknologi perangkat keras serta perubahan – perubahan dari arsitektur
komputer, memori yang mendukung kecepatan proses, penyimpanan yang besar, dan
bermacam – macam alat input output yang dapat mendukung, sehingga semua sistem yang
berbasis komputer dapat saling terhubung sehingga dapat saling berkomunikasi dan berbagi
informasi. Kecanggihan sistem tersebut, tentunya tidak lepas dari peran para pengembang
perangkat lunak yang menjadi faktor dominan.

Menurut Ian Sommerville perangkat lunak tidak hanya mencakup program komputer saja,
akan tetapi juga termasuk semua dokumentasi dan konfigurasi data yang berhubungan yang
diperlukan untuk membuat program beroperasi dengan benar. (Sommerville, 2003).

Dari definisi di atas dapat di simpulkan bahwa perangkat lunak adalah suatu program
yang dapat beroperasi untuk memanipulasi informasi, yang di dalamnya terdapat instruksi –
instruksi berupa fitur atau fungsi tertentu sehingga informasi yang telah di peroleh dapat
tercetak dalam bentuk maya.

Secara umum aplikasi perangkat lunak dibagi kedalam 7 (tujuh) kategori yaitu (Roger
S. Pressman, 2012):

1. Perangkat lunak sistem, sekumpulan program yang ditulis untuk melayani


program-program lain, yang melakukan pemrosesan struktur-struktur informasi
yang kompleks namun umumnya bersifat terbatas. Contoh dari perangkat lunak
sistem ini adalah sistem operasi, driver, perangkat lunak jaringan, dll).
2. Perangkat lunak aplikasi, program-program mandiri yang menjawab kebutuhan
bisnis secara terperinci dengan melakukan pemrosesan data bisnis atau data
teknis yang mendukung berjalannya operasi-operasi bisnis.
3. Perangkat lunak rekayasa, aplikasi yang telah memiliki algoritma yang penuh
dengan kalkulasi data numerik. Contohnya adalah aplikasi untuk kebutuhan
vulkanologi, astronomi, dan lain-lain.
4. Perangkat lunak yang tertanam, perangkat lunak yang berada pada suatu produk
atau sistem dan digunakan untuk menjalankan dan mengendalikan fitur-fitur
atau fungsi-fungsi untuk user. Contohnya tampilan indikator pada peralatan
elektronik.
5. Perangkat lunak lini produk, perangkat lunak yang dirancang untuk
menyediakan kemampuan khusus untuk digunakan oleh pelanggan yang bersifat
terbatas dan berkonsentrasi pada pasar tertentu . contohnya adalah pengolah
kata, spreadsheet, dan lain – lain.
6. Aplikasi web, perangkat lunak yang berpusat pada jaringan komputer, berisi
sekumpulan file hypertext yang saling terhubung untuk menunjukkan informasi-

18
informasi tertentu, berada lingkungan komputasi dan terintegrasi dengan sistem
basis data.
7. Perangkat lunak kecerdasan buatan, perangkat lunak yang menggunakan
algoritma nonnumerik untuk memecahkan permasalahan-permasalahan rumit
yang tidak dapat di selesaikan dengan komputasi atau analisis permasalahan
langsung. Contohnya adalah sistem pakar, robotik, game, dll.
Tipe dari sistem atau perangkat lunak

Berdasarkan tujuan pengembangannya Berdasarkan tujuan pengembangan sistem dengan


mempertimbangkan kebutuhan manusia dan bisnis , sistem terbagi menjadi (Kenneth E.
Kendall, 2010):

1. Transaction processing system (TPS) Merupakan sistem informasi


terkomputerisasi yang dikembangkan dengan tujuan untuk memproses sejumlah
data yang besar untuk traksaksi bisnis yang rutin.
2. Office Automation System (OAS) Merupakan sistem yang mendukung pekerjaan
data, yang biasanya digunakan untuk menciptakan suatu pengetahuan baru
dengan menganalisi informasi, dalam analisis tersebut dapat dilakukan
manipulasi data dengan cara – cara tertentu sebelum di bagikan secara formal
atau di sebarluaskan ke seluruh organisasi.
3. Knowledge work system(KWS) Merupakan sistem yang mendukung para pekerja
profesional seperti ilmuwan , dokter dan lain – lain dalam menciptakan
pengetahuan baru dan memungkinkan mereka berkontribusi pada organisasi
atau masyarakat luas.
4. Management Information system (MIS) Merupakan sistem informasi
terkomputerisasi yang berfungsi karena interakasi manusia dan komputer.
Dengan mengharuskan manusia, perangkat lunak dan perangkat keras
berkerjasama untuk mendukung organisasi dalam melakukan pemrosesan
traksaksi , termasuk dalam analisis keputusan dan pengambilan keputusan.
5. Decision support system (DSS) Merupakan sistem informasi terkomputerisasi
level yang tinggi karena bergantung pada basis data yang merupakan sumber
data , fungsi dari sistem ini adalah mendukung proses pengambilan keputusan
sehingga sistem ini berfokus pada bisnis intellegence.
6. Artificial Intellegence(AI) dan Expert System (ES) Expert system merupakan
sistem berbasis pengetahuan yang secara efektif menangkap dan menggunakan
pengetahuan para ahli untuk memecahkan masalah tertentu yang dialami suatu
organisasi. Expert system menggunakan penalaran Artificial Intellegence.
7. Group decision support system (GDSS) dan Computer-Supported collaborative
work system (CSCWS) Merupakan sistem informasi yang digunakan secara
bersama – sama untuk suatu kelompok , digunakan untuk mendukung proses
pengambilan keputusan dalam suatu organisasi.
8. Executive Support System Merupakan sistem informasi yang mendukung
eksekutif mengatur interaksi mereka dengan lingkungan eksternal. Sistem ini
menyediakan dukungan grafis dan komunikasi di tempat yang dapat diakses dari
kantor atau ruang pribadi. Sistem ini mengandalkan informasi dari TPS dan MIS

19
, sistem ini memperluas dan mendukung kemampuan para eksekutif sehingga
memungkinkan mereka untuk memahami lingkungan mereka.
Aktivitas-aktivitas kerangka kerja perangkat lunak diatas disempurnakan dengan aktivitas-
aktivitas yang bertindak sebagai penyangga, yaitu :

1. Penelusuran dan kendali proyek perangkat lunak, dilakukannya penilaian


terhadap kemajuan proyek perangkat lunak yang berjalan sehingga dapat
diambil tindakan – tindakan untuk membuat tepat waktu.
2. Manajemen risiko, menilai risiko – risiko yang dapat berpengaruh terhadap hasil
akhir dan kualitas perangkat lunak
3. Penjaminan kualitas perangkat lunak, melakukan kegiatan – kegiatan yang
memastikan kualitas perangkat lunak.
4. Ulasan , mengevaluasi produk untuk menemukan dan menyingkirak defect.
5. Pengukuran, menjelaskan dan mengukur proses, proyek dan produk perangkat
lunak yang akan membantu tim perangkat lunak dalam memenuhi kebutuhan
stakeholder.
6. Manajemen konfigurasi perangkat lunak
7. Manajemen penggunaan ulang
8. Persiapan produk kerja dan produksi

Bab 2

Proses Rekayasa Perangkat Lunak

Proses perangkat lunak mendefinisikan pendekatan yang harus diambil saat perangkat
lunak di rekayasa. Proses perangkat lunak juga mencakup teknologi-teknologi yang
dibutuhkan oleh proses perangkat lunak. pada proses perangkat lunak terdapat beberapa
pendekatan yang terangkum dalam aktivitas kerangka kerja perangkat lunak .

Pengembangan Cepat

Rekayasa perangkat lunak cepat menggabungkan suatu falsafah dan serangkaian


tuntunan pengembangan. Falsafah tersebut mengupayakan kepuasan pelanggan dan
penghantaran perangkat lunak yang meningkat, tim – tim proyek yang kecil dan termotivasi,
metode – metode informal, produk kerja rekayasa perangkat lunak yang minimal, dan
keseluruhan kesederhanaan pengembangan. Panduan pengembangan menekankan
penghantaran daripada analisa dan perancangan , komunikasi yang berkelanjutan dan aktif
antara pengembang dan pelanggan. Pengembangan cepat dapat memberikan manfaat , namun
tidak selalu cocok untuk semua situasi (Roger S. Pressman, 2012).

20
Konteks kecepatan dalam rekayasa perangkat lunak , suatu tim cepat adalah suatu tim
yang cekatan yang mampu merespon perubahan – perubahan dengan cepat dan tepat.
Perubahan berarti perubahan dalam perangkat lunak yang dibuat, perubahan pada anggota
tim, perubahan karena teknologi baru , perubahan semua hal yang mungkin berdampak pada
produk perangkat lunak yang di kembangkan. Tim cepat tahu bahwa perangkat lunak yang
dikembangkan oleh individu – individu yang bekerja dalam tim, keahlian, kolaborasi
merupakan inti menuju keberhasilan proyek perangkat lunak. kecepatan mendorong
terbentuknya struktur tim dan mendorong tercapainya sikap yang menjadikan komunikasi
menjadi lebih mudah dan kondusif. Kecepatan menekankan penghantaran yang cepat dari
perangkat lunak, mengadopsi pelanggan sebagai salah satu tim pengembang.

Proses cepat yang mencakup penghantaran perangkat lunak ke pengguna yang


meningkat , serta dipasangkan dengan pengujian unit yang berkelajutan akan dapat menekan
biaya pengembangan perangkat lunak. Proses cepat merupakan proses yang harus dapat
beadaptasi, namun adaptasi berkelanjutan tanpa adanya kemajuan tidak dapat diharapakan.
Untuk itu proses perangkat lunak yang cepat harus beradaptasi secara meningkat. Untuk
dapat beradaptasi secara meningkat , suatu tim cepat sangat membutuhkan umpan balik yang
datang dari pelanggan (Roger S. Pressman, 2012).

Bab 3

Prinsip – Prinsip yang digunakan dalam Praktik Rekayasa Perangkat Lunak

Dalam penerapan proses perangkat lunak yang bermakna , pada dasarnya dipandu
oleh prinsip – prinsip inti yang menjadi dasar untuk mengeksekusi metode – metode
perangkat lunak yang efektif. Secara rinci prinsip – prinsip yang harus diikuti secara seksama
untuk memandu proses – proses dan praktik – praktik rekayasa perangkat lunak modern saat
ini adalah sebagai berikut :

Prinisp – prinsip inti

yang harus diikuti untuk memandu proses dan praktik perangkat lunak adalah sebagai berikut
(Roger S. Pressman, 2012) :

21
1. Prinsip – prinsip yang Memandu Proses Rekayasa Perangkat Lunak, yang
dapat diterapkan pada kerangka kerja dan dengan perluasannya dapat
diterapkan pada setiap proses yang ada di dalam rekayasa perangkat lunak
2. Prinsip–prinsip yang Memandu Praktik Rekayasa Perangkat, Praktik
rekayasa perangkat lunak memiliki sasaran yaitu mengirimkan tepat
waktu, memiliki kualitas yang tinggi, berupa perangkat lunak operasional
yang memuat fungsi–fungsi dan fitur-fitur yang sesuai dengan kebutuhan
semua penyandang dana.
3. Prinsip-prinsip yang Memandu setiap Aktivitas Kerangka Kerja dalam
rekayasa perangkat lunak Prinsip – prinsip yang memandu aktivitas kerja
adalah sebagai berikut (Roger S. Pressman, 2012) :
1) Prinsip – prinsip Komunikasi
2) Prinsip-prinsip Perencanaan
3) Prinsip-prinsip Pemodelan
4) Prinsip-prinsip Konstruksi
5) Prinsip-prinsip Penyerahan

Bab 4

Memahami Kebutuhan Rekayasa Perangkat Lunak

Rekayasa kebutuhan pada dasarnya menyediakan mekanisme–mekanisme yang


digunakan untuk memahami kebutuhan pelanggan, menyediakan mekanisme yang dapat
digunakan untuk melakukan analisis kebutuhan, mekanisme–mekanisme untuk
menegoisasikan solusi atas permasalahan yang memiliki alasan yang kuat, mekanisme-
mekanisme untuk menspesifikasikan solusi permasalahan sehingga tidak menimbulkan
makna ganda, mekanisme-mekanisme yang digunakan untuk menvalidasi spesifikasi-
spesifikasi kebutuhan dan mekanisme-mekanisme yang cocok untuk mengelola kebutuhan-
kebutuan saat ditransformasikan ke dalam perangkat lunak yang bersifat operasional.

Pada dasarnya rekayasa kebutuhan mencakup 7 (tujuh) pekerjaan yaitu (Roger S. Pressman,
2012) :

1. Pengenalan masalah (inception)


Proyek perangkat lunak dimulai saat kebutuhan bisnis telah teridentifikasi
dengan baik, atau saat pasar baru yang bersifat potensial dikenali atau layanan -
layanan ditemukan. Pada pengenalan proyek, ditetapkan pemahaman dasar
tentang permasalahan, tentang siapa yang menginginkan solusi bagi
permasalahan itu, tentang sifat-sifat alamiah solusi yang dikehendaki dan

22
tentang efektivitas komunikasi awal dan kolaborasi yang akan terjadi di antara
para stakeholder dan tim perangkat lunak.
2. Pengenalan lanjutan (elicitation)
Pada pekerjaan pengenalan lanjutan dilakukan identifikasi tentang apa
sesungguhnya sasaran – sasaran dari sistem atau produk yang akan
dikembangkan, bagaimana sistem atau produk yang akan dikembangkan ,
bagaimana sistem atau produk yang akan dikembangkan sesuai dengan
kebutuhan bisnis dan yang terakhir bagaimana penggunaan sistem atau produk
yang akan dikembangkan.
3. Elaborasi
Elaborasi dilakukan dengan cara membuat atau menghaluskan skenario–
skenario pengguna yang pada dasarnya bermanfaat untuk mendeskripsikan
bagaiman para pengguna akhir akan berinteraksi dengan sistem. Masing–masing
skenario pengguna diuraikan dan ditafsirkan lebih lanjut untuk mendapatkan
kelas–kelas analisis yaitu entitas-entitas ranah bisnis yang tampak dari arah para
penguna akhir. Atribut – atribut masing-masing kelas analisis didefinisikan dna
layanan-layanan yang diperlukan oleh masing – masing kelas diidentifikasi dan
kolaborasi – kolabora antar kelas diidentifikasi dan berbagai diagram pelangkap
dihasilkan
4. Negoisasi
Sebagai rekayasawan sering harus mendamaikan konfik – konflik melalui
negoisasi. Para pengguna, para stakeholder lainnya harus ditanyai tentang
prioritas masing – masing kebutuhan dan kemudian mereka bisa diajak untuk
membahas masing – masing konflik yang terjadi menurut prioritas masing –
masing kebutuhan itu. Gunakan pendekatan yang sifatnya iteratif untuk
melakukan penentuan skala priorits kebutuhan – kebutuhan , menilai biaya –
biaya, risiko – risikonya masing – masing, dan menyelesaikan konflik internal,
dan dengan demikian rekayaswan sistem bisa menghapuskan kebutuhan –
kebutuhan yang tidak diperlukan , mengabung – gabungkan dan memodifikasi
kebutuhan – kebutuhan sedemikan rupa sehingga masing – masing pihak
menjadi puas.
5. Spesifikasi
Terminologi spesifikasi memiliki arti yang berbeda – beda bagi setiap orang .
sebuah spesifikasi dapat berupa dokumen – dokumen tertulis, sejumlah model –

23
model grafis, suatu model matematika formal, sejumlah skenario penggunaan
perangkat lunak, sebuah protipe, atau gabungan semuanya. Beberapa
menyarankan agar suatu pola yang bersifat kaku dikembangkan dan digunakan
untuk melakukan spesifikasi kebutuhan – kebutuhan dengan pendapat bahwa
hal itu memungkinkan kebutuhan – kebutuhan bisa dipresentasikan dengan cara
yang konsiten sehingga pada gilirannya akan menjadi lebih mudah untuk
dipahami.
6. Validasi
Produk-produk kerja yang dihasilkan sebagai akibat dilakukannya proses
rekayasa kebutuhan dinilai untuk menilai kualitasnya pada setiap tahap validasi .
validasi kebutuhan-kebutuhan dilakukan dengan cara melakukan pemeriksaan
pada spesifikasi-spesifikasi untuk memastikan bahwa semua kebutuhan
perangkat lunak telah didapatkan tanpa adan kemungkinan terjadinya
pemahaman ganda yang membingungkan , untuk meastikan bahwa semua tidak
ketidakkonsitenan, pengabaian-pengabain dan kesalahan-kesalahan yang
terdeteksi telah di perbaiki, dan untuk memastikan bahwa semua produk telah
sesuai dengan standar yang telah ditetapkan sebelumnya untuk proses-proses
proyek dan produk perangkat lunak sendiri. Mekanisme-mekanisme validasi
atas kebutuhan-kebutuhan yang paling penting adalah tinjauan-tinjauan teknis.
7. Pengelolaan kebutuhan
Pengelolaan kebutuhan merupakan sejumlah aktivitas yang akan membantu tim
proyek perangkat lunak untuk mengidentifikasi, mengendalikan dan melacak
kebutuhan – kebutuhan dan melacak perubahan-perubahan pada kebutuhan –
kebutuhan setiap saat di dalam siklus pengembangan sistem perangkat lunak.
Mengembangkan Use Case

Use case pada dasarnya memperlihatkan sistem atau perangkat lunak dari sudut
pandang para pengguna akhir. Use case selalui di definisikan dari sudut pandang aktor-aktor
yang berinteraksi dengan perangkat lunak yang sedang dikembangkan. Sebuah aktor pada
dasarnya merupakan peran yang orang – orang saat mereka berinteraksi dengan perangkat
lunak. langkah pertama yang harus dilakukan saat hendak menuliskan sbeuah use case adalah
mendefinisikan sejumlah aktor yang terlibat dalam cerita. Aktor merupakan sejumlah orang
yang berbeda yang menggunakan produk dalam konteks fungsi – fungsi dan perilaku –
perilaku yang harus dideskripsikan.

24
Perlu di catat , aktor dan pengguna adalah sesuatu yang berbeda. Seorang pengguna
mungkin saja memainkan sejumlah peran yang berbeda saat pengguna yang bersangkutan
menggunakan perangkat lunak, sementara sebuah aktor merepresentasikan sebuah kelas
eksternal yang memainkan suatu peran dalam konteks suatu kasusu pengguna. Saat aktor-
aktor teridentifikasi dengan baik , use case dapat dikembangkan. Pada kebanyakan kasus use
case dielaborasikan lebih lanjut sehingga pengembang mendapatkan lebih banyak rincian
tentang interaksi – interaksi yang mungkin terjadi antara aktor dengan perangkat lunak yang
akan dikembangkan.

Bab 5

Pemodelan Spesifikasi Kebutuhan Perangkat Lunak

Pekerjaan rekayasa perangkat lunak pada umumnya dimulai dengan sejumlah


pekerjaan pemodelan yang meninjukkan spesifikasi kebutuhan perangkat lunak dan
representasi perancangan perangkat lunak yang akan dikembangakan. Model – model
spesifikasi kebutuhan perangkat lunak merupakan sejumlah model dan merupakan
representasi awal perangkat lunak.

Analisis Kebutuhan

Analisis spesifikasi kebutuhan menghasilkan spesifikasi-spesifikasi dari karakteristik-


karakteristik operasional yang akan dimiliki oleh perangkat lunak yang akan dikembangkan,
yang dapat mengindikasikan antarmuka perangkat lunak dengan elemen – elemen sistem
yang lain dan juga menetapkan batasan – batasan yang harus dihadapi perangkat lunak.
Pekerjaan – pekerjaan pemodelan spesifikasi – spesifikasi kebutuhan pada dasarnya akan
menghasikan jenis model berikut (Roger S. Pressman, 2012) :

1. Model berbasis skenario, yang menggambarkan spesifikasi kebutuhan perangkat


lunak dari berbagai sudut pandang aktor perangkat lunak.
2. Model data, yang menjelaskan ranah informasi untuk permasalahan yang akan
diselesaikan
3. Model berorientasi kelas , yang memperlihatkan kelas – kelas dalam konteks
pemograman berorientasi objek dan dengan cara bagaimana kelas-kelas tersebut
saling bekerjasama untuk mencapai sasaran–sasaran spesifikasi- spesifikasi
kebutuhan perangkat lunak.
4. Model berorientasi aliran, yang menggambarkan elemen-elemen fungsional
sistem perangkat lunak dan yang menggambarkan bagaimana cara mereka

25
melakukan transformasi terhadap data, saat data yang bersangkutan melintasi
sistem.
5. Model prilaku, yang menggambarkan bagaimana perangkat lunak berperilaku
terhadap event – event yang datang dari luar sistem
Model-model analisis diatas memberikan informasi kepada perancang perangkat
lunak untuk diterjemahkan menjadi arsitektur sistem, antarmuka-antarmuka sistem dan
perancangan berperingkat komponen. Terkahir model-model spesifikasi kebutuhan
memungkinkan para pengembang dan para stakeholder melakukan penilaian kualitas ketika
perangkat lunak selesai dikembangkan. Model – model analisis untuk mendapatkan
spesifikasi – spesifikasi kebuthan perangkat lunak pada dasarnya harus mencapai 3 sasaran
utama yaitu :

1. Untuk mendeskripsikan apa yang pelanggan inginkan


2. Menetapkan dasar bagi perancangan perangkat lunak
3. Untuk mendefinisikan sejumlah kebutuhan yang dapat divalidasi saat
perangkat lunak dikembangkan.

Bab 6

Konsep Perancangan Perangkat Lunak

Perancangan perangkat lunak menyediakan secara rinci hal-hal yang terkait dengan
arsitektur perangkat lunak, struktur-struktur data yang digunakan dalam perangkat lunak,
antarmuka – antarmuka , komponen-komponen dan subsistem – subsistem yang diperlukan
untuk implementasi perangkat lunak. Sasaran dari perancangan perangkat lunak adalah untuk
menghasilkan suatu model atau representasi perangkat lunak yang memperlihatkan kekuatan ,
komoditi serta kenyamanan.

Perancangan arsitektur perangkat lunak mendefiniskan relasi antara elemen–elemen


struktural utama dari suatu perangkat lunak, mendefinisikan gaya arsitekturnya dan pola –
pola perancangan untuk mencapai kebutuhan yang telah dianalisis sebelumnya. Representasi
dari arsitektur perangkat lunak adalah kerangka kerja suatu sistem berbasis komputer.
Sedangkan rancangan antarmuka mengdeskripsikan cara komunikasi perangkat lunak dengan
pengguna atau sistem lain.

Perancangan perangkat lunak merupakan proses yang bersifat interatif, spesifikasi-


spesifikasi kebutuhan perangkat lunak diterjemahkan menjadi suatu blueprint untuk

26
mengkonstruksi perangkat lunak. Blueprint memperlihatkan tampilan secara menyeluruh dari
suatu perangkat lunak. Sedangkan model perancangan perangkat lunak dapat dilihat
menggunakan dua dimensi yang berbeda. berikut dimensi – dimensi model perancangan .

Pada dasarnya adalah struktur sistem yang menggabungkan komponen – komponen


perangkat lunak , menggabungkan properti – properti yang tampak dari komponen –
komponen itu , serta mendeskripsikan hubungan antarkomponen itu. Arsietktur sistem
menjelaskan suatu susunan sistem yang terdiri dari komponen software, atribut dari
komponen dan hubungan antar komponennya. Komponen dapat berup modul, database,
middleware atau class. Atribut adalah ciri dan fungsi dari modul sedangkan hubungn antar
komponen adalah cara antar komponen tersebut berkomunikasi. Arsitektur sistem
memungkinkan kita untuk melakukan analisisi terhadap efektivitas perancangan yang
disesuaikan dengan kebutuhan–kebutuhan yang telah dinyatakan sebelumnya, memungkikan
untuk melakukan pertimbangan alternatif–alternatif arsitektural dan memungkinkan
mengurangi risiko – risiko yang berhubungan dengan konstruksi perangkat lunak.

Strukur Arsitektur Struktur arsitektur terdiri dari :

1. Struktur fungsional Struktur fungsional merupakan komponen yang mewakili


fungsi atau proses .
2. Struktur implementasi Struktur implementasi merupakan komponen yang
mewakili package , class, object , procedure, function atau method.
3. Struktur konkurensi208 Struktur konkurensi merupakan komponen yang
mewakili unit – unit yang tersusu secara paralel atau konkuren kerjanya.
4. Struktur fisik Struktur fisik merupakan komponen hardware dan siftware yang
ada.
5. Struktur pengembangan Struktur pengembangan merupkan struktur yang
didefinisikan berupa komponen , produk kerja dan sumber informasi lain yang
dibutuhkan selama pengembangan software.
Setiap struktur diatas mewakili arsitektur software dari sudut pandang yang berbeda -
beda, mengekspose informasi yang digunakan tim pengembang selama proses desain dan
coding berlangsung.

27
Bab 7

Manajemen Kualitas Perangkat Lunak

Konsep – konsep Kualitas

Kualitas merupakan sebuah ukuran terhadap suatu produk, layanan, atau yang
lainnya, termasuk untuk perangkat lunak. Perangkat lunak yang tidak berkualitas akan
merusak organisasi yang menggunakan Menghilangkan kesempatan untuk melakukan
transaksi yang berimbas pada keuntungan organisasi, mengakibatkan tingginya biaya
pemeliharaan serta mengakibatkan rendahnya kepuasan pelanggan.

Kualitas Perangkat lunak

Pressman mengemukaan kualitas perangkat lunak ditekankan pada suatu proses


perangkat lunak yang efektif, suatu produk yang yang bermanfaat sehingga tercipta nilai pada
produsesn maupun pengguna perangkat lunak. Sedangkan Garvin mengemukakan kualitas
ditinjau pada kualitas kinerja, kualitas fitur, keandalan, kesesuaian, durabilitas, kemampuan
untuk melakukan layanan , estetika , dan persepsi.

Dilema Kualitas Perangkat Lunak

Berikut adalah beberapa dilema kualitas perangkat lunak :

1. Perangkat lunak yang cukup bagus , yaitu perangkat lunak yang memiliki
fungsi-fungsi dan fitur-fitur berkualitas tinggi sesuai dengan apa yang
diinginkan oleh pengguna , tetapi pada saat yang sama memiliki juga fungsi -
fungsi serta fitur-fitur terkhususkan yang memuat kesalahan tertentu yang telah
diketahui. kesalahan tertentu ini lah yang dapat berpotensi sangat tidak
bertanggung jawab dan membuka peluang untuk munculnya tuntutan hukum
yang sangat mahal.
2. Biaya kualitas , kualitas merupakan hal yang penting , tetapi kualitas
memerlukan biaya dan uang , terlalu banyak waktu dan uang yang diperlukan
untuk mencapai peringkat kualitas perangkat lunak yang diinginkan. Biaya –
biaya kualitas mencakup semua biaya yang diperlukan untuk mencapai
peringkat kualitas tertentu atau biaya – biaya yeng diakibatkan kualitas yang
buruk. Biaya-biaya kualitas dapat dibagi menjadi biaya – biaya yang berkaitan
dengan pencegahan , penilaian dan kegagalan .

28
3. Kondisi – kondisi yang berkaitan dengan hukum , misalnya terkaitan dengan
tuntutan – tuntutan hukum yang dilayangkan oleh pengguna atau pihak terkait
akibat dari pengembangan perangkat lunak tersebut.
4. Kualitas keamaman , berkaitan dengan masalah keamanan misalnya aktivitas
yang dilakukan oleh hacker dan lain – lain , sehingga mengakibatkan kegagalan
perangkat lunak.
5. Imbas tindakan – tindakan manajemn , misalnya keputusan – keputusan terkait
dengan perkiraan biaya , penjadwalan dan lain – lain.
Strategi Pengujian Perangkat Lunak

Dalam pengujian perangkat lunak membutuhkan suatu strategi, dengan strategi


tersebut maka pengujian perangkat lunak dapat menjadi lebih efektif dan efisien. Strategi
pengujian perangkat lunak memberikan panduan langkah – langkah yang harus dilakukan ,
waktu pelaksanaan serta sumber daya yang diperlukan untuk pengujian tersebut.

Bab 8

Manajemen Konfigurasi Perangkat Lunak

Tujuan Manajemen Konfigurasi Perangkat Lunak

Tujuan dari manajemen konfigurasi perangkat lunak adalah :

1. Mengidentifikasi perubahan
2. Mengontrol perubahan
3. Mengimplementasikan perubahan dengan benar
4. Melaporkan perubahan kepada pihak – pihak yang mempunyai kepentingan
Maintenance Perangkat Lunak VS Manajemen Konfigurasi Perangkat Lunak

Penting sekali untuk membedakan dengan jelas antara maintenance perangkat lunak
dan manajemen konfigurasi perangkat lunak. Maintenance perangkat lunak merupakan
serangkaian aktivitas rekayasa perangkat lunak yang terjadi setelah perangkat lunak
diserahkan ke pelanggan dan telah dioperasikan. Sedangkan manajemen konfigurasi
perangkat lunak adalah serangkaian kegiatan peneleusuran dan kontrol yang dimulai ketika
suatu proyek perangkat lunak dimulai dan berakhir ketika perangkat lunak sudah tidak
beroperasi lagi. Jadi maintenance perangkat lunak merupakn bagian yang dilakukan
penelusuran dan kontrol oleh manajemen perangkat lunak.

29
BAB III
PEMBAHASAN

 Analisis
Suatu Perangkat Lunak menjadi kebutuhan manusia dengan berbagai bagian disiplin
ilmu yang dibidangi setiap tenaga profesionalnya, menjadi bagian penting yang
melatarbelakangi tumbuhnya perkembangan perangkat lunak dengan berbagai krisis
perangkat lunak menurut berbagai sisi pandang konsmen, manajer dan pengembang/praktisi.
Rekayasa Perangkat Lunak berasal dari 2 kata Rekayasa dan Perangkat Lunak. Rekayasa
Perangkat Lunak merupakan perihal kegiatan yang kreatif dan sistematis berdasar suatu
disiplin ilmu yang membangun suatu perangkat lunak berdasar suatu aspek masalah tertentu.
Dalam Rekayasa Perangkat Lunak dilakukan Proses Perangkat Lunak dengan menggunakan
model Proses yang merupakan Daur Hidup Rekayasa Perangkat Lunak. Model Proses ini
terdiri dari beberapa karakteristik pendekatan proses. Dalam Proses pembangunan Perangkat
Lunak perlu diketahui Biaya yang dikeluarkan.
Rekayasa Perangkat Lunak
Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang
berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar
umum terdiri dari: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda
Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa perangkat lunak berasal dari 2 kata yaitu Software( Perangkat Lunak) dan
Engineering (Rekayasa).
Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Perangkat
lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu
yang dibutuhkan selama pengembangan, instalasi, penggunaan dan pemeliharaan sebuah
sistem.
Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas
ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin,
produk, proses atau sistem.
Rekayasa Perangkat Lunak adalah suatu disiplin rekayasa yang berkonsentrasi
terhadap seluruh aspek.

30
 Kelebihan isi Buku
Kelebihan pada buku tampilan depannya (cover) sangat menarik minat pembaca
karena pada cover tersebut diberi gambar yang menarik, warna pada covernya terang
menambah minat seseorang untuk membacanya.
Dari tata bahasa, bahasa yang digunakan dalam buku ini menggunakan bahasa yang
ringan dan tidak berbelit-belit sehingga memudahkan pembaca untuk memahami
penyampaian-penyampaian materinya, ukuran tulisan yang digunakan sudah tepat dan bisa
dibaca jelas oleh pembacanya.Tanda-tanda bacanya sudah dibubuhkan sesuai dengan yang
diharapkan.
Dari aspek isi buku, buku ini sudah dilengkapi dengan identitas-identitasnya sehingga
tidak menyulitkan pembaca jika hendak meresensi buku ini, isi dan penyampaian pada materi
ini disampaikan dengan jelas dan rinci .isi dari buku ini banyak memaparkan suatu definisi-
definisi para ahli sehingga menambah pengetahuan kita berdasarkan definisi tersebut, penulis
juga memaparkan beberapa contoh yang konkret dan seakan-akan mengajak pembaca untuk
ikut dalam keadaan yang sebenarnya. Kesimpulan dari keseluruhan disampaikan pada Bab
terakhir.

 Kelemahan isi Buku


Kekurangan pada buku utama tampilan depannya (cover) tidak memiliki kekurangan
semua sudah jelas dipaparkan pada covernya, ada judul, nama pengarang serta penerbitnya
sehingga pembaca tidak perlu membuka halaman lainnya untuk mencari identitas buku
tersebut.
Dari tata bahasa dan letaknya juga pas dan tidak memiliki kekurangan yang dapat
menyulitkan pembaca dalam memahaminya. Dari aspek isi buku hanya saja kesimpulan tidak
dipaparkan pada setiap bab tetapi dibuat pada keseluruhan kesimpulan dari bab I sampai bab
terakhir, dan pengulangan pembahasan sering kali terjadi pada bab-bab berikutnya.

31
BAB VI
PENUTUP

 Kesimpulan
Rekayasa Perangkat Lunak berasal dari 2 kata Rekayasa dan Perangkat Lunak.
Rekayasa Perangkat Lunak merupakan perihal kegiatan yang kreatif dan sistematis berdasar
suatu disiplin ilmu yang membangun suatu perangkat lunak berdasar suatu aspek masalah
tertentu. Dalam Rekayasa Perangkat Lunak dilakukan Proses Perangkat Lunak dengan
menggunakan model Proses yang merupakan Daur Hidup Rekayasa Perangkat Lunak. Model
Proses ini terdiri dari beberapa karakteristik pendekatan proses. Dalam Proses pembangunan
Perangkat Lunak perlu diketahui Biaya yang dikeluarkan.
Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang
berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar
umum terdiri dari: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda
Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa perangkat lunak berasal dari 2 kata yaitu Software( Perangkat Lunak) dan
Engineering (Rekayasa).
Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Perangkat
lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu
yang dibutuhkan selama pengembangan, instalasi, penggunaan dan pemeliharaan sebuah
sistem.
Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang
berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap
struktur,mesin, produk, proses atau sistem.

 Saran
Menurut kami, model proses perangkat lunak masih menjadi object penelitian, tapi
sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan
perangkat lunak. Karena banyaknya variasi dalam model proses yang digunakan maka tidak
mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam
aktivitas-aktivitas ini.

32
DAFTAR PUSTAKA

Buku Utama

Christanto Triwibisono, Politeknik Telkom Bandung 2009. “Rekayasa Perangkat Lunak”

Buku Pembanding

Lila Setiyani, S.T, M.Kom, Jatayu Catra Internusa Karawang 2018. “Rekayasa Perangkat
Lunak [Software Engineering]”

33

Anda mungkin juga menyukai