Rangkuman bab 1 and 2 REKAYASA PERANGKAT (1)

REKAYASA PERANGKAT LUNAK DASAR
RESUM BAB 1 DAN BAB 2
KELOMPOK A11.4406

KELOMOPOK 06
KETUA

: CRISTIAN ADI NUGROHO

A11.2013.07581

NAMA ANGGOTA :
1.
2.
3.
4.

FARAHDIBA RAMADHANI
A11.2013.07381
ANTONIO CIPUTRA
A11.2013.07357

JULIAN PRAMUDYA TAOPANA11.2012.06948
MOCH HASAN SIFYAN
A11.2013.07932

TAHUN PELAJARAN 2015/2016

BAB 1 Perangkat Lunak & Rekayasa Perangkat Lunak
1.1 KARAKTERISTIK PERANGKAT LUNAK
Perangkat Lunak merupakan suatu produk yang dapat menghantarkan informasi yang
ada pada perangkat keras atau komputer dan dapat di akses. Perangkat lunak pada zaman
sekarang dapat mengirimkan informasi, dapat mengubah data menjadi lebih baik dan
perangkat lunak sekarang dapat mengatur informasi bisnis untuk meningkatkan kompetisi
yang ada. Perangkat lunak mengalami perubahan yang besar dalam penyimpanan bisa dapat
menjadi lebih besar, dan banyak pilihan output(keluaran) dan input(masukan) yang Sdapat
terhubung dengan komputer lebih cepat dan canggih. Kecanggihan dalam perangkat lunak
mempunyai hasil yang sangat mengagumkan saat berhasil di operasikan dengan baik tetapi
akan menjadi masalah besar dalam membangun sistem yang kompleks.
Pada sektor industri, perangakat lunak sangat menajdi dominan pada faktor
perekonomian dan dunia industri. Para pakar industri telah merancang teknologi yang
dibutuhkan untuk menghantarkan aplikasi yang lebih komplek yang dapat menggantikan

program yang tunggal sebelumnya.
1.1.1

Definisi Perangkat Lunak

Perangkat lunak memiliki kemiripan dengan perangkat keras tetapi kedua nya
memiliki perbedaan dalam produksinya. Perangkat lunak tidak di produksi manufaktur atau
dalam jumlah yang banyak tetapi perangkat lunak hanya dikembangkan atau di rekayasa.
Sedangkan perangkat keras atau komputer di produksi dalam jumlah banyak atau manufaktur.
Perangkat lunak pada dasarnya tidak terpengaruh oleh kondisi kondisi lingkungan dan
cuaca sehingga tidak mengalami kelelahan. Berbeda dengan perangkat keras yang mudah
mengalami kelelahan karena dapat terpengaruh oleh kondisi-kondisi lingkungan dan cuaca di
sekitarnya, atau dapat mudah lelah karena cara salah pemakaian dan pengaruh debu serta
getaran.
Walaupun industri selalu beralih komponen, perangkat lunak masih tetap berdasarkan
spesifikasi yang di inginkan oleh pengguna.

1 | Rekayasa Perangkat Lunak

1.1.2

Ranah Aplikasi Perangkat Lunak
1. Perangkat Lunak Sistem
Beberapa program yang dibuat untuk melayani program-program untuk
melakukan pemrosesan informasi yang kompleks dan bersifat terbatas.
2. Perangkat Lunak Aplikasi
Program yang dapat menjawab kebutuhannya sendiri secara terinci. Aplikasi ini
biasa nya ada pada bidang pemrosesan data bisnis atau mendukung operasi bisnis.
3. Perangkat Lunak Rekayasa/ilmiah
Memiliki algoritma yang lengkap dan penuh dengan kalkulasi numerik. Aplikasi
ini dikembangkan untuk kebutuhan analisa ilmiah seperti astronomi hingga
vulkanologi.
4. Perangkat Lunak yang Tertanam
Aplikasi atau sistem yang digunakan untuk menjalankann dan mengendalikan
fungsi dan fitur bagu pengguna akhir dan bagi sistem itu sendiri.
5. Perangkat Lunak Lini Produk
Dibuat atau dirancang untuk kemampuan khusus yang digunakan oleh pelanggan
yang berbeda-beda.
6. Aplikasi Web
Perangkat lunak yang tersambung pada jaringan komputer yang menyediakan
7.


banyak aplikasi-aplikasi.
Perangkat Lunak Kecerdasan Buatan
Memecahkan masalah-masalah yang rumit dan tidak bisa dipecahkan dengan
komputasi secara langsung tetapi dengan menggunakan algoritma non-numerik.

1.1.3

Perangkat Lunak Warisan

Perangkat lunak yang lama dan sudah pernah di kembangkan sering disebut dengan
Perangkat Lunak Warisan. Terkadang perangkat lunak warisan ini berkualitas sangat buruk.
Perangkat Lunak Warisan juga memiliki perancangan yang tidak memungkinkan untuk
dikembangkan lagi. Dengan seiringnya waktu Perangkat Lunak Warisan sering berubah
seperti harus meningkatkan kinerja supaya dapat menjalankan kebutuhan-kebutahan yang
bisnis atau perangkat lunak harus dirancang ulang-ulang yang dapat hidup dalam
mengoperasikan jaringan komputer.

1.2


KARAKTERISTIK KHAS DARI APLIKASI-APLIKASI WEB
Situs WEB(Website) pertama muncul dengan Word Wide Web(WWW), ini terbentuk

dari sekumpulan file hypertext yang berhubungan yang dapat memberikan informasi teks
dengan pola grafis yang terbatas. Perkembangan HTML oleh perangkat yang baru
2 | Rekayasa Perangkat Lunak

berkembang memugkinkan perangkat lunak yang mengembangkan aplikasi Web yang isinya
bersifat informatif. Sifat-sifat yang bisa ditemui dalam sebagian besar aplikasi Web sebagai
berikut :
 Kepadatan jaringan.
 Keserempakan.
 Jumlah pengguna yang tidak dapat diprediksi.
 Kinerja.
 Keterseedian.
 Digerakan oleh data.
 Peka terhadap isi.
 Evolusi yang berkeseimbangan,.
 Kesegaran.
 Keamanan.

 Estetika.
1.3

REKAYASA PERANGKAT LUNAK
Perangkat lunak menyatu dengan setiap kehidupan kita dan sejumlah orang telah

tertarik pada fitur dan fungsi yang ada pada aplikasi tertentu yang telah berkembang secara
drastis. Kebutuhan teknologi informasi yang sekarang dibutuhkan oleh individu, bisnis dan
pemerintah akan selalu bertambah kompleks terus menerus. Apabila nilai aplikasi terntu
bertambah, memiliki kemungkinan usia perangkat lunak tersebut akan bertambah panjang.
Rekayasa Perangkat Lunak merupakan aplikasi ilmu komputer untuk membangun
perangkat lunak yang praktis yang membahas semua produksi dari tahap awal, menganalisa
kebutuhan pengguna sampai pemeliharaan sistem setelah digunakan.

1.4

PROSES PERANGKAT LUNAK

Apa ya elemen-elemen proses perangkat lunak?
Suatu proses sebenarnya sekumpulan aktivitas, aksi, dan tugas yang dijalankan ketika

suatu pekerjaan dilakukan. Aktivitas biasanya berupaya mencapai tujuan umum dan
diterapkan diterapkan tanpa memperhatikan bagian aplikasi, ukuran, kerumitan usaha, dan
tingkat fleksibilitas yang diterapkan. Aksi mencakup beberapa tugas yang menghasilkan
suatu pekerjaan utama. Tugas berkonsentrasi pada tujuan kecil namun terdefinisi dengan baik
yang memberikan hasil nyata.
3 | Rekayasa Perangkat Lunak

Suatu kerangka kerja proses membangun pondasi bagi proses rekayasa perangkat
lunak yang lengkap dengan cara mengidentifikasi beberapa aktivitas kerangka. Selain itu
kerangka kerja mencakup sekumpulan aktivitas yang berperan sebagai penyangga. Kerangka
kerja proses yang umum bagi rekayasa perangkat lunak terdiri dari lima aktivitas berikut:


Komunikasi. Sebelum pekerjaan teknis dimulai, komunikasi dan kolaborasi dengan
pelanggan sangatlah penting untuk memahami tujuan stakeholder atas proyek perangkat



lunak yang sedang dikembangkan.
Perencanaan. Kegiatan ini untuk menyederhanakan suatu alur yang rumit dengan




menciptakan suatu peta yang membantu membimbing tim perangkat lunak.
Pemodelan. Kegiatan ini adalah pembuatan sketsa atau gambaran bagaimana bagianbagian pembentuk memiliki kecocokan dan karakteristik lain. Seorang rekayasawan
perangkat lunak melakukan hal tersebut dengan cara membuat baik model untuk
memahami kebutuhan perangkat lunak maupun rancangan yang memenuhi kebutuhan



tersebut.
Konstruksi. Kegiatan ini untuk membentuk kode dan pengujian yang sangat dibutuhkan



untuk menemukan kesalahan dalam kode program yang dihasilkan sebelumnya.
Penyerahan perangkat lunak ke pengguna. Perangkat lunak ditunjukan ke pelanggan
yang kemudian akan mengevaluasi produk dan akan memberikan tanggapan berdasarkan
evaluasi tersebut.
Lima aktivitas kerangka kerja yg umum tersebut biasanya digunakan dalam masa


pengembangan program. Rincian proses perangkat lunak bisa berbeda pada setiap kasusnya,
namun aktivitas kerangka kerja biasanya tetap sama.
Aktivitas kerangka kerja proses rekayasa perangkat lunak disempurnakan oleh
aktivitas yang bertindak sebagai penyangga, kegiatan penyangga pada umumnya mencakup
hal-hal berikut ini:


Penelusuran dan Kendali memungkinkan tim perangkat lunak melakukan penilaian



terhadap progres perangkat lunak yang sedang berjalan.
Manajemen Resiko menilai resiko yg mungkin berpengaruh pada hasil akhir proyek



perangkat lunak.
Penjaminan Kualitas memperjelas dan melakukan kegiatan yang diperlukan untuk




memastikan kualitas perangkat lunak.
Ulasan menilai produk hasil karya rekayasa perangkat lunak sebagai usaha untuk
mencari dan memperbaiki kesalahan.

4 | Rekayasa Perangkat Lunak



Pengukuran menjelaskan dan mengumpulkan tolok ukur proses dari proyek dan produk




yang membantu tim.
Manajemen konfigurasi mengatur efek perubahan di seluruh proses perangkat lunak
Manajemen penggunaan ulang menjelaskan kriteria bagi pengunaan kembali produk




kerja perangkat lunak.
Persiapan produk mencakup aktivitas yang diperlukan dalam menciptakan produk kerja
seperti model, dokumen, dan catatan.

1.5

PRAKTIK REKAYASA PERANGKAT LUNAK
1.5.1 Esensi Praktik
Dalam buku How to Solve It, George Poyla membuat gambaran garis besar esensi

pemecahan masalah dan menghasilkan esensi praktik rekayasa perangkat lunak:
1.
2.
3.
4.

Pahami permasalahannya
Rancang Solusinya
Laksanakan rancangannya
Periksa ketepatan hasilnya

1.5.2 Prinsip-prinsip Umum


Prinsip Pertama: Alasan keberadaan perangkat lunak

Suatu prinsip perangkat lunak ada suatu alasan: memberikan nilai tertentu bagi para
pengguna.


Prinsip Kedua: Tetap Sederhana

Seluruh rancangan pada dasarnya harus sesederhana mungkin, namun tidak terlalu sederhana
sehingga mengabaikan hal yang perlu dicantumkan.


Prinsip Ketiga: Pertahankan Visi

Visi yang jelas penting bagi keberhasilan suatu proyek perangkat lunak. Tanpa visi yang jelas
proyek perangkat lunak akan berakhir multitafsir.

5 | Rekayasa Perangkat Lunak



Prinsip Keempat: Apa yang Anda Buat, Akan Digunakan Oleh Konsumen /
Pelanggan

Spesifikasikan secara cermat kecocokannya dengan pengguna. Lakukan perancangan dengan
mengingat seiapa yang menggunakan nanti.


Prinsip Kelima: Membuka Diri Terhadap Mas Depan

Suatu sistem/perangkat lunak yang berjangka panjang memiliki nilai lebih. Sistem/perangkat
lunak harus siap beradaptasi dengan segala perubahan.


Prinsip Keenam: Rancanglah Selangkah ke Depan Sehingga Dapat Digunakan
Kembali

Penggunaan ulang akan menghemat waktu dan tenaga yang diperlukan untuk
mengembangkan perangkat lunak.


Prinsip Ketujuh: Pikirlah!

Prinsip terakhir ini munkin adalah yang paling sering diabaikan. Menempatkan pikiran yang
tepat sebelum bertindak selalu membuahkan hasil yang lebih baik.

1.6

MITOS-MITOS PERANGKAT LUNAK

Mitos perangkat lunak, yaitu keyakinan yang keliru tentang perangkat lunak. Mitos memiliki
beberapa atribut yang terkadang bersifat membahayakan.
Mitos Manajemen. Manajer dengan tanggung jawab perangkat lunak,seperti manajer di
sebagian disiplin ilmu, sering dibawah tekanan, menjaga jadwal seara ketat, dan
meningkatkan kualitas
Mitos Pelanggan. Dalam banyak kasus, pelanggan percaya mitos tentang perangkat lunak
karena manajer dan praktisi perangkat lunak mengoreksi informasi yang keliru.
Mitos Praktisi. Mitos yang masih diyakini oleh praktisi perangkat lunak sejak lebih dari 50
tahun adanya pemrograman. Awalnya pemrograman dipandang sebagai bentuk seni.

6 | Rekayasa Perangkat Lunak

1.7

BAGAIMANA PROYEK PERANGKAT LUNAK DIMULAI?
Sebuah Proyek Perangkat Lunak dibuat atas dasar kebutuhan dari Masyarakat dalam

kehidupan sehari-harinya. Kebutuhan tersebut mulai dari pekerjaan, pendidikan dan yang
lainnya. Proyek Perangkat Lunak juga diadakan tidak untuk membuat sebuah system, layanan
yang baru tapi juga memperbaiki sebuah system yang sudah rusak atau mengembangkan
system yang sudah ada menjadi lebih baik dan lebih kompleks lagi.
Bagaimana Proyek Perangkat Lunak Dimulai ? Prosesnya pada dasarnya sama yaitu
selalu diawali dengan yang namanya Perencanaan Proyek atau Project Planning tersebut.
Berikut adalah beberapa hal yang berpengaruh penting pada Planning Project ini :
1. Estimasi
Estimasi (Perkiraan) diperlukan untuk memperkirakan sumber daya, biaya,
dan jadwal dalam pembuatan atau pengembangan sebuah perangkat lunak. Berikut
adalah ketidakpastian dalam estimasi ini :
 Project Complexity (Kompleksitas Proyek) merupakan pengukuran
relative yang berpengaruh akibat adanya kebiasaan dengan usaha yang
telah dilakukan sebelumnya.
 Project Size (Ukuran Proyek) Sangat berpengaruh dikarenakan bila
ukuran bertambah maka tingkat ketergantungan pada elemen perangkat
lunak pun akan ikut bertambah juga.
 Structural Uncertainly (Ketidakpastian Struktural) dapat digunakan
untuk melihat masalah-masalah yang akan muncul.
Estimasi ini penting dikarenakan kita dapat memperkirakan apakah client kita
sewaktu-waktu mau merubah kebutuhannya akan perangkat lunak yang sedang kita
buat.
2. Tujuan Perencanaan Proyek
Tujuan dari perencanaan proyek adalah untuk membuat sebuah kerangka kerja
yang berguna untuk membuat sebuah estimasi mengenai sumber daya, biaya, dan
jadwal yang kiranya dapat dipertanggungjawabkan.
3. Ruang Lingkup
7 | Rekayasa Perangkat Lunak

Ruang Lingkup Perangkat Lunak dibuat guna untuk menggambarkan fungsi,
kinerja, batasan, interface, dan reliabilitas. Fungsi berguna untuk memberikan
gambaran yang lebih detail saat memulai estimasi. Kinerja berguna untuk melihat
proses dan waktu yang dibutuhkan. Batasan sendiri berguna untuk membuat batasan
pada perangkat lunak mengenai perangkat keras yang digunakan, memori pengunaan
dan system informasi yang ada.
4. Sumber Daya
Sumber daya dibutuhkan untuk menyelesaikan sebuah perangkat lunak yang
meliputi beberapa sumber daya yaitu manusia, perangkat lunak dan lingkungan
(Perangkat Lunak dan Perangkat Keras).Namun ada juga beberapa karateristik dari
masing-masing sumber daya :
 Deskripsi Sumber Daya
 Statemen Ketersediaan
 Waktu Kronologis Sumber Daya Yang Diperlukan
 Durasi Waktu Sumber Daya
5. Teknik Dekomposisi
Saat masalah yang terjadi sangat kompleks untuk dipertimbangkan sebagai
satu kesatuan, maka kita mendekoposisi masalah, menandainya sebagai serangkaian
masalah yang lebih kecil dengan cara berikut :
A. Software Sizing
Estimasi proyek perangkat lunak didasarkan pada sejumlah hal
berikut :


Mengestimasi ukuran produk dengan tepat dan sesuai.



Membagi estimasi dalam berbagai hal dan ukuran.



Melihat kemampuan dari tim perangkat lunak.



Membuat syarat produk yang mengdukung usaha
pengembangan perangkat lunak.

8 | Rekayasa Perangkat Lunak

Ada pula pendekatan yang berpengaruh dalam teknik ini yaitu
secara langsung dan tidak langsung. Putnam dan Myres mengusulkan 4
pendekatan yaitu :


Fuzzy-logic Sizing
Pendekatan yang menggunakan teknik reasoning
aproksimasi yang merupakan dasar bagi fuzzy logic(logika
kabur). Perencana harus mengidentifikasi tipe aplikasi,
membuat besarnya dalam skala kuantitatif, dan menyaring
besaran itu dalam bentuk originil.



Function Point Sizing
Perencanaan pengembangan estimasi karakteritik
domain informasi.



Standart Component Sizing
Perangkat lunak dibangun dari sejumlah komponen
yang standar yang berbeda-beda yang umum bagi suatu era
aplikasi tertentu.



Change Sizing
Pendekatan ini digunakan bila proyek melingkupi
pemakaian perangkat lunak yang ada harus dimodihikasi
dengan banyak cara sebagai bagian dari sebuah proyek.

B. Perkiraan Berdasarkan Masalah
Baris kode(LOC) dan titik fungsi (FP) digambarkan sebagai
pengukuran dasar di mana metrik produktivitas dapat dihitung. Data
LOC dan FP digunakan dalam dua cara :


Sebagai variabel untuk estimasi yang dipakai untuk mengukur
masing-masing elemen perangkat lunak

9 | Rekayasa Perangkat Lunak



Sebagai metrik baseline yang dikumpulkan dari proyek yang
lalu dan dipakai dalam hubungannya dengan variabel estimasi
untuk mengembangkan proyeksi kerja dan biaya.

6. Keputusan Make-Buy
Keputusan ini menentukan sebagai akhir dari perencaan proyek perangkat
lunak dimana ada terdapat beberapa keputusan make buy :
 Perangkat Lunak dapat dibeli.
 Komponen perangkat lunak full-experience dan partial-experiance dapat
diperoleh dan dikembangkan sendiri.
 Perangkat lunak dapat dibuat custom-built oleh kontraktor luar untuk
memenuhi spesifikasi pembeli.
Pada akhirnya keputusan make-bu ditentukan oleh beberapa kondisi berikut
ini :
 Tanggal Penyampaian
 Biaya Yang Diperlukan Dukungan

10 | R e k a y a s a P e r a n g k a t L u n a k

BAB 2 MODEL-MODEL PROSES
2.1 MODEL PROSES GENETIK
Proses perangkat lunak merupakan sebuah aktivitas, tindakan atau pekerjaan yang
dilakukan saat membuat sebuah produk. Setiap tindakan atau pekerjaan akan mempunyai
model atau kerangk akerja yang berhubungan satu dengan yang lainnya.
Dalam sebuah kerangka kerja generic terdapat beberapa aktivitas yaitu komunikasi,
perencanaan, pemodelan, konstruksi, dan penyerahan hasil pada pengguna, namun ada
beberapa tambahan sebagai alat bantu lainnya yaitu pelacakan proyek dan pengendalian,
manajemen

resiko,

jaminan

kualitas,

manajemen

konfigurasi,

tinjauan-

tinjauanteknisdanlainnya.
Aliran proses merupakan salahsatuaspek yang penting dimana aspek ini berfungsi
dalam mendeskripsikan bagaimana suatu tindakan atau pekerjaan dilakukan berdasarkan
urutan dan waktu yang tepat. Berikut beberapa aliran proses yaitu sebagai berikut :
 Aliran Proses Linier (Linear process flow)
 AliranKerjaIteratif (Iterative process flow)
 Aliran Proses Evolusioner (Evolutionary process flow)
 Aliran Proses Paralel (Parallel process flow)
2.1.1 Mendefinisikan Aktivitas Kerangka Kerja

Sebuah pekerjaan akan lebih baik jika terperinci dengan jelas, maka dari itu sebuah
tim perangkat lunak akan membutuhkan perincian aplikasi dari pelanggan sebelum mereka

11 | R e k a y a s a P e r a n g k a t L u n a k

menjalankan pekerjaan mereka. Jika perangkat lunaknya sederhana maka cara mengetahui
perincian perangkat lunak dar pelanggan dapat dilakukan melalui via telepon, email atau sms.
Lebih jelasnya sebagai berikut :
1. Memiliki kontak pelanggan
2. Membahas spesifikasi perangkat lunak
3. Membuat catatan pribadi mengenai spesifikasi tersebut
4. Meminta persetujuan pelanggan mengenai catatan tersebut
Berbeda jika perangkat lunak yang diminta lebih kompleks maka yang dibutuhkan
adalah sebagai berikut :
1. Bertemu dengan pelanggan (Inception)
2. Menanyai mengenai perangkat lunak yang diminta (Elicitation)
3. Memiliki rincian perangkat lunak yang diminta (Elaboration)
4. Pembicaraan yang lebih serius (Negotiation)
5. Membahas spesifikasi perangkat lunak (Spesification)
6. Pemeriksaan spesifikasi perangkat lunak sudah sesuai atau belum (Validation)
Semuanya tergantung sesuai tingkat kerumitan dari perangkat lunak yang dimintai
dan akan memiliki tugas serta tindakan yang berbeda juga.
2.1.2 Mengidentifikasi Himpunan Pekerjaan

Himpunan pekerjaan diperlukan guna mendefenisikan pekerjaan-pekerjaan yang akan
dilakukan oleh sebuah tim dalam memenuhi sasaran kerja. Sebuah proyek akan
membutuhkan himpunan pekerjaan yang berbeda-beda tergantung tingkat kesulitan yang
dimiliki.
Tiap tindakan rekayasa perangkat lunak dapat dikerjakan menurut penomoran atau
tugas yang berbeda, dimana masing-masing tugas berhubungan dengan produk-produk kerja,
titik jaminan kualitas, serta patok-patok kerja sebuah proyek. Dalam himpunan kerja pun kita
perlu melihat kemampuan karateristik dari tim kita dan bias beradaptasi pada sebuah
kebutuhan yang lebih spesifik serta pada karateristik-karateristik dari tim kerja kita.
12 | R e k a y a s a P e r a n g k a t L u n a k

2.1.3 Pola-pola Proses

Dalam membuat sebuah perangkat lunak sebuah tim akan dihadapi dalam berbagai
permasalahan-permasalahan

dan

sebaiknya

permasalahan-permasalahan

itu

cepat

diselesaikan sehingga dapat membuah sebuah jalan keluar yang tepat. Sebuah pola proses
akan sangat membantu dalam mencari permasalahan, lokasi permasalahan dan dapat
menyelesaikannya dengan cepat dalam bentuk sebuah pola-pola.
Dalam sebuah pola ada berbagai cara menggunakannya seperti menemukan sebuah
masalah kemudian mencari solusinya dengan menghubungkan pada sebuah tindakan kerja.
Ambler [Amb98] mendefinisikan beberapa pola-pola proses :

1. Nama Pola
Pola harus memiliki nama guna mempermudah dalam mendeskripsikan solusi
nantinya.
2. Efektivitas
Lokasi dari permasalahan-permasalahan yang ada, sehingga dapat dicarikan
solusinya.
3. Jenis
Jenis-jenisdaripola proses menurutAmber :
a. Pola Tahapan
Menemukan permasalahan yang berhunungan dengan aktivitas
kerangka kerja yang ada, kemudian memantapakannya dengan melakukan
komunikasi. Polaini dapat digabungkan dengan pola pekerjaan.
b. Pola Pekerjaan
Menemukan permasalahan yang berhubungan dengan suatu aksi dari
perangkat lunak dan relevan dengan perangkat lunak yang sudah ada.
c. Pola Fase

13 | R e k a y a s a P e r a n g k a t L u n a k

Membuat urutan kerja yang ada. Sebuah pola fase dapat berbentuk
Model Spiral atau Pembentukan proto type.
4. Konteks Awal
Bertugas menentukan kondisi dimana pola dapat diterapkan. Contoh gampang
sebuah pola perancangan membutuhkan kondisi-kondisi sebagai berikut :
a. Adanya komunikasi yang jelas antara pelanggan dan rekayasawan perangkat
lunak.
b. Penyelesaian masalah yang ada dalam pola-pola untuk pola komunikasi yang
ada.
c. Lingkup proyek, spesifikasi kebutuhan bisnis dan batasan-batasan yang telah
diketahui.
5. Permasalahan
Rincian masalah yang akan diselesaikan menggunakan pola-pola

nantinya.

6. Solusi
Menetukan solusi yang terbaik dari permasalahan yang telah diketahui dengan
kondisi-kondisi yang sudah ditentukan sebelumnya dengan mendeskripsikan masalah
awal dan akibat dari masalah tersebut.
7. Konteks Hasil
Medeskripsikan kondisi-kondisi yang akan dihasilkan saat pencarian solusi
telah berhasil dilakukan.
8. Pola-pola Yang Berhubungan
Mendefinisikan semua pola-pola yang telah digunakan dalam proses
pemecahan masalah yang telah dihadapi selama proyek ini dalam bentuk diagram.
9. Penggunaan Yang Diketahui dan Contoh-contoh

Mengidentifikasi keadaan dimana dan kapan kondisi-kondisi dari pola-pola
tersebut akan diterapkan nantinya.

14 | R e k a y a s a P e r a n g k a t L u n a k

Pola proses memberikan mekanisme yang Sangat efektif untuk menyelesaikan sebuah
masalah dan pola proses juga dapat dikembangkan lagi sehingga dapat digunakan ulang
dalam memecahkan masalah lainnya dalam proyek lainnya.

2.2

PENILAIAN DAN PERBAIKAN PROSES
Proses pembuatan sebuah perangkat lunak tidak bias menjamin akan diselesaikan

tepat waktu, sesuai dengan kebutuhan pengguna atau memenuhi karateristik dari sebuah
perangkat lunak yang akan digunakan dalam jangka waktu panjang. Sebuah perangkat lunak
juga akan dinilai untuk memastikan kelayakan penggunaannya serta membandingkan dengan
perangkat lunak yang sudah jadi atau ada sebelumnya. Berikut beberapa pendekatan dari
proses penilaian dan perbaikan yang diusulkan dalam beberapa decade ini :
1. SCAMPI (Standard CMMI Assesment Method For Process Improvement)
Memiliki 5 proses penilaian sesuai 5 tahapan dalam proses rekayasa perangkat
lunak :
a. Pemberian nilai awal (Initiating)
b. Melakukan diagnosa (Diagnosing)
c. Penetapan (Establishing)
d. Bertindak (Acting)
e. Belajar (Learning)
Metode yang digunakan adalah SEI CMM.
2. CBA IPI (CMM-Based Appraisal For Internal Process Improvement)
Menentukan teknik diagnose dalam melaukan penilaian sebuah perangkat lunak
dan sebagai basis penilaiannya adalah SEI CMM.
3. SPICE (ISO/IEC15504)
Menentukan spesifikasi lengkap dari sebuah perangkat lunak guna melakukan
sebuah evaluasi yang objektif dari proses perangkat lunak yang telah terdefinisikan
sebelumnya.
4. ISO 9001:2000 For Software

15 | R e k a y a s a P e r a n g k a t L u n a k

Melakukan sebuah perbaikan kualitas dari produk-produk, sistem-sistem atau
layanan-layanan yang telah ada.
2.3 MODEL PROSES PRESKRIPTIF
Model preskriptif bertujuan untuk menyelesaikan kekacauan yang sering terjadi pada
saat pengembangan perangkat lunak.model tradisional mampu menyediakan struktur yang
bermanfaat untuk rekayasa perangkat lunak,dan struktur ini menyediakan petunjuk yang
efektif untuk para pengembang perangkat lunak.Dinamakan preskriptif karena semua
aktivitas pengembangan perangkat lunak bisa saling berhubungan antara satu dengan yang
lainnya.proses ini menetapkan satu kumpulan elemen elemen proses yang telah ditentukan
dan satu aliran kerja proses yang dapat diprediksikan.
2.3.1 Model Air Terjun
Model ini disebut juga sebagai siklus hidup klasik,metode ini melalui tahapan
pendekatan yang sistematis dan berurutan,pengambangan perangkat lunak yang di mulai dari
spesifikasi dari kebutuhan para user dan di lanjut dengan perencanaan,pembangunan,serta
penerahan sistem perangkat lunak ke pengguna atau pelanggan
Tahapan tahapan yang di lakukan:
1.
2.
3.
4.
5.

Komunikasi: tekhnik untuk mendaptkan spesifikasi kebutuhan pengguna
Perencanaan:membuat parakiraan, penjadwalan
Pemodelan: analisis perancangan
Kontruksi:penulisan kode-kode progam dan pengujian
Penyerahan sistem kepada pelanggan:pengiriman dukungan terhadap
pengguna

Model air terjun merupakan model tertua untuk rekayasa perangkat lunak .permasalahan yang
sering di jumpai pada model air terjun:
1.

model perangkat yang nyata jarang mengikuti aliran sekuensial seperti yang diusulkan

model air terjun.
2.

Sulit bagi para pelanggan untuk menetapkan semua spesifikasi kebutuhan secara ekplisit

dan sulit mengakomodasi ketidakpastian alamiah yang hadir pada tahap awal proyek.
3.

Pelanggan harus memiliki kesabaran.
2.3.2 Model Proses Inkremental

16 | R e k a y a s a P e r a n g k a t L u n a k

yaitu menggabungkan elemen-elemen aliran proses linier dengan melakukan
penambahan sedikit demi sedikit yang di hasilkan proses evolusioner, sebagai contoh adalah
word processor dimana fungsi-fungsi dasar pengolahan,penyuntingan,dan fungsi-fungsi
produksi dokumen dibuat di tahap pertama,fungsi penyuntingan dan fungsi yang lebih
canggih lainnya di tambahkan pada tahap kedua,fungsi ejaan pada tahap ketiga dan
kekmampuan perancangan halaman yang canggih pada tahap keempat.
Proses ini berfokud pada pengiriman produknyang bersifat operasional pada setiap
tahapan.dilakukan berulang ulang hingga produk benar benar sudah siap dan lengkap (final)
produk versi awal lebih sederhana di banding dengan versi akhir
2.3.3 Model Proses Evolusioner
Model

Proses

evolusiomer

bersifat

iteratif,dicirikan

dalam

bentuk

yang

memungkinkan kita mengembangkan perangkat lunak yang semakin komplek pada versi
versi berikutnya .Pembuatan prototype dimulai dengan komunikasi antara tim dan
pelanggan,.Tim pengembang perangkat lunak akan berkomunikasi dengan para stakeholder
untuk mengidentifikasi sasaran kperangkat lunak yang akan di kembangkan.Model proses
Evolusioner menghasilkan sebuah versi perangkat lunak yang semakin lengkap dengan
masing masing literasi.
Model spiral adalah suatu model proses perangkat lunak evolusioner yang
menggabungkan pendekatan prototiping dan

model air terjun. Model spiral merupakan

pendekatan yang cukup realistis untuk diterapkan pada pengembangan sistem sistem dan
perangkat lunak yang bersekala besar.model spiral membutuhkan pakar pakar yang ahliyang
bisa melakukan penilaian tentang resiko dengan cara yang sempurna, apabila resiko pertama
tidak dapat diatasi maka resiko resiko yang selanjutnya akan bisa menjadi lebih besar.
2.3.4 Model-Model Konkuren
Menggunakan

unsur

unsur

yang

bersifat

konkuren(berjalan),permodelan konkuren mendefinisikan

iteratif

atau

berulang

dan

sejumlah even yang berurutan

yang akan memunculkan transisi dari suatu keadaan ke keadaan yang lainnya di setiap
aktivitas.permodelan konkuren dapat di terapkan di semua halvyang berhubungan dengan
pengembangan perangkat lunak.dan mampu menampilkan gambaran keadaan proyek saat
ini.contohnya aktivitas,keadaan,tindakan dan pekerjaan lainya mampu di perlihatkan.

17 | R e k a y a s a P e r a n g k a t L u n a k

2.3.5 Kata Terakhir pada Proses-Proses Evolusioner
Proses-proses evolusioner dikembangan untuk menanggapi kasus keterlambatan
pembuatan perangkat lunak,kebutuhan pasar.Model proses evolusioner berfokus pada
fleksibelitas,perluasan dan kecepatan penggambaran diatas kualitas yang tinggi dan sebagai
alternatif.dan bersifat penambahan sedikit demi sedikit (inkremental).namun tak menutupi
kemungkinan

untuk

menggunakan

proses

evolusinoner

yang

menekankan

pada

fleksibelitas,perluasan,serta kecepatan pengembangan.satu hal yang harus di perhatikan oleh
tim adalah produk produk yang dihasilkan dan kepuasan pelanggan.
2.4.1 Pengembangan Berbasis Komponen
Model berbasis komponen memilki banyak kesamaan dengan model spiral, pada
dasarnya dia bersifat evolusioner,sehingga menggunakan

pendekatan pendekatan iteratif

pada pembuatan perangkat lunak.model berbasis komponen menkontruksi komponen
komponen perangkat lunak yang sudah ada sebelumnya dan merakitnya kembali ke
perangkat yang sedang di kembangkan.
Langkah langkah yang dilakukan dalam pengembangan berbasis komponen:
1.
2.
3.
4.
5.

Komponen di teliti dan di evaluasi
Peluang terjadinya integrasi komponen di pertimbangkan
Arsitektur dapat mengakomodadi komponen
Komponen diintegrasikan ke arsitektur
Dilakukan pengujian komprehensif
2.4.2 Model Metode Formal
Memungkinkan kita untuk menspesifikasi,mengembangkan,memverivikasi suatu

sistem berbasis komputer dengan menggunakan notasi matematika.meski bukan merupakan
pendekatan utama moetode ini menawarkan perangkat lunak yang bebas cacat. Pertimbangan
dalam menerapkan metode formal:
1. Memerlukan waktu yang lama dan mahal
2. Hanya sedikit pengembang perangkat lunak yang mempunayi latar belakang cukup
untuk metode ini.maka dibutuhkan latihan yang ekstensif
3. Mekanisme komunkasi pada pelanggan kurang canggih.
2.5 PROSES TERPADU

18 | R e k a y a s a P e r a n g k a t L u n a k

Didalam buku “Proses Terpadu (Unified Process),Ivar Jacobson,Graddy Booch dan
James Rumbaugh membahas kebutuhan proses perangkat lunak yang dikendalikan use
case,berpusatdiarsitektur,bersifatinteratifdenganmenambahkansedikit (incremental) :
Pada jaman sekarang ketergantungan dalam perangkat lunak adalah perangkat lunak
menjadi besar dan kompleks .terjadi akibat perangkat keras computer menjadi berguna setiap
tahun, sehingga pengguna tergantung padanya. Ketergantungan ini terpengaruh juga oleh
Internet untuk mencari informasi berbargiin formasi dan untuk mendapatkan artikel-artikel di
dalam internet. Kita ingin perangkat lunak menjadi seperti yang kita inginkan tetapi pada
akhirnya perangkat lunak menjadi sangat kompleks.
2.5.1 SejarahSingkat
Ditahun 1990-an, James Rumbaugh,Graady Booch,dan Ivan Jacobson berkerja untuk
mengembangkan “metode terpadu” yang menggabungkan fitur-fitur dari metode analisis dan
perancangan berorientasi objek mereka rancang dan mengadopsifitur-fitur yang diusulkan
olehpakar-pakarlainnya. Pemodelan perangkat lunak berorientasi objekhasilnya diagramdiagram UML(Unified Modeling Language),yang berisi notasi untuk digunakan pada sarana
pemodelan dan perkembangan system. Padatahun 1997,UML menjadi industry untuk
mengembangkan perangkatlunak.UML(Unified Modeling Language) menyediakanteknologi
yang mendukung rekayasa perangkat lunak berorintasi objek, tapi UML tidak menyediakan
kerangka untuk membantu proyek dalam mengoperasikan teknologi ini.
2.5.2 Tahapan-tahapandalam Proses Terpadu
Tahapan pengenalan dari UP membahas komunikasi dengan pengguna dan membahas
aktivitas-aktivitas perencanaan. Menggunakan cara berkolaborasi dengan stakeholder.
Spesifikasi-spesifikasi ini dijelaskan oleh sejumlah use case yang menyatakan fitur-fitur dan
fungsi untuk masing-masing kelas yang diinginkan oleh penggunanya. Asitektur pada titik ini
tidak lebih gambaran garis besar tentang subsis terutama dan fungsi serta fitur yang perlu
untuk membentuk arsitektur system.
Tahapan elaboration digunakan untuk menghaluskan dan mengembangkan use case
yang kita proyekan dalam tahap inception dan mengembangkan representasi arsitektural.
Tahapan construction pada tahap ini pengembang proyek membuat use case bersifat
operasional untuk pengguna. Agar dapat dilakukan, model-model dan perancangan pada
19 | R e k a y a s a P e r a n g k a t L u n a k

tahap elaboration untuk mencerminkan hasil akhir dari perangkat lunak yang pada asal
mulanya dikembangkan sedikit demi sedikit sehingga menjadi sempurna.
Tahapan transition disini komponen pengiriman dan umpan balik. Perangkat lunak
dikirimkan pada pengguna untuk diujikan dan mendapatkan hal-hal yang masih eror atau
cacad-cacad agar diperbaiki
Tahapan production proses ini

pengunaan perangkat lunak tentang eror atau

cacatakan dikirimkan dan di evaluasi.
2.6

MODEL PROSES PERSONAL DAN MODEL PROSES TIM
Proses perangkat lunak yang terbaik jika proses perangkat lunak dipahami oleh

pembuatnya. Jika proses dikembangkan pada perusahaan atau organisasi, program tersebut
hanya di adaptasi oleh tim yang mengerjakan. Seharusnya kita membuat suatu model yang
pas untuk tim atau organisasi itu,karena tim biasa bekerja sama membuat prosesnya sendiri
dan mempersempit ke butuhan individu.
2.6.1 Proses PerangkatLunakPribadi
Setiap pengembang perangkat lunak memiliki cara sendiri untuk menyelesaikan
proses perangkat lunak computer. Proses ini tidak selalu berjalan mulus mungkin beberapa
menit kemudian terganti atau terhapus. Waat Humphrey menyarankan bahwa individuindividu harus melintasi 4 tahap yang membutuhkan pelatihan dan peralatan yang
digunakan.PSP(Personal Software Process) memungkinkan praktisi pengembang rekayasa
perangkat lunak bertanggung jawab pada proyeknya perencanaan dan paham terhadap
program yang ia buat supaya dapat mengendalikan alur proses produk yang dikerjakan.PSP
terbagi menjadi :


Perencanaan (planning) diperencanaan ini bertujuan untuk merencanakan proyek yang
akan dikerjakan apa yang diperlukan agar tidak cacat program pada lembar kerja.



Perancangan peringkat tinggi(high level design) pada aktifitas ini masing-masing
komponen yang dikembangkan dan dirancang. Proto tipe dikembangkan, tapi
ketidakpastian masih bisa terjadi.



Tinjauan rancangan peringkat tinggi(high level design review) pada aktifitas ini ditinjau
kembali masalah-masalah kendala yang terjadi saat penyusunan rancangan.

20 | R e k a y a s a P e r a n g k a t L u n a k

Pengembangan disini rancangan ditinjau ulang , disempurnakan dan diuji
Postmortem disini data dianalisis secara statistic dan di test efektivitas proses yang
ditentukan.


PSP (Personal Software Process) menekankan agar proyek atau program yang dikerjakan
tidak menemui kesalahan-kesalahan program supaya dapat diperbaiki.
2.6.2 Proses PerangkatLunak Tim
Karena banyak proyek-proyek berskala industry dikerjakan tim,Watts Humphrey

memberikan pelajaran dari pengenalan PSP dan mengusulkan Team Software Process,TPS ini
bertujuan suatu proyek tim yang mampu mengatur dirinya sendiri agar menghasilkan
perangkat lunak berkualitas. Hum phreymen difinisikan TSP berikutini :


Mengembangkan tim perangkat lunak yang bias mengatur dirinya sendiri.



Memperlihatkan ke para manajer cara nya memimpin dan memotivasi anggotanya.



Menyediakan panduan perbaikan



Memfalisitasi pelatihan oleh akademisi yang berasal dari universitas agar
mendapatkan keterampilan.
TSP mendefinisikan aktifitas kerangka kerja berikut ini: peluncuruan proyek(project

launch), perancangan peringkat tinggi(high-level design), implementasi (implementation),
integrasi dan pengujian(integration dan test),danprostmortem.
2.7

TEKNOLOGI PROSES

Teknologi Proses dikembangakan untuk membantu organisasi perangkat lunak dalam
mengembangkan model terotomatisasi dari kerangka kerja proses, himpunan pekerjaan,
sertaaktifitas-aktifitas. Pada model ini biasanya direpresentasikan sebagai jejaring selanjutnya
dianalisis untuk menentukan alur kerja dan menguji struktur-struktur proses alternative yang
mungkin mengalami penurunan waktu pengembangan.

21 | R e k a y a s a P e r a n g k a t L u n a k

Daftar Pustaka :
- S, Roger. 2010. Rekayasa Perangkat Lunak Edisi 7 Buku 1. Yogyakarta: Andi

22 | R e k a y a s a P e r a n g k a t L u n a k






www.cristianadi.web.id
blog.cristianadi.web.id
www.laptopmu.net

23 | R e k a y a s a P e r a n g k a t L u n a k