Rekayasa
Perangkat Lunak
Pengorganisasian dan
Manajemen Proyek
01
Ilmu Komputer Informatika W151700007 Herry Derajad Wijaya, S.Kom., M.M.
Abstract Kompetensi
Metodologi yang umumnya digunakan dalam pembangunan sistem Mampu menjelaskan berbagai kegiatan
berbasis komputer dalam dunia bisnis dan industri saat ini adalah yang dilakukan dalam rekayasa
metode analisis dan design terstruktur (Structured Analisys and perangkat lunak.
Design / SSAD). Metode ini diperkenalkan pada tahun 1970, yang Mampu menjelaskan berbagai bentuk
merupakan hasil turunan dari pemrograman terstruktur. Namun, organisasi, perbedaan di antara roles,
akhir-akhir ini bahasa pemrograman object-oriented (OO) mulai responsibilities dan teams.
populer dan banyak digunakan pada organisasi bisnis maupun Mampu menjelaskan yang dimaksud
institusi pendidikan. Seiring dengan trend sebuah metodologi dengan model siklus hidup perangkat
dibangun untuk membantu programmer dalam mengunakan bahasa lunak.
pemrograman berorientasi obyek. Metodologi ini dikenal Mampu menjelaskan yang dimaksud
dengan object-oriented analysis and design (OOAD). Sebagai metode dengan Scrum, dan prototype.
baru dan sophisticated bahasa pemrograman berorientasi obyek Mampu membuat activity diagram dari
diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan berbagai kegiatan dalam Scrum.
pendekatan berorientasi obyek pada aplikasi bisnis.
Pembahasan
Ciri-ciri utama teknik terstruktur adalah merancang berdasar modul, bekerja dengan
pendekatan top-down, Dimulai dari level atas (secara global) kemudian diuraikan sampai
tingkat modul (rinci), dilakukan secara iterasi; dengan iterasi akan didapat hasil yang lebih
baik, terlalu banyak iterasi juga akan menurunkan hasilnya dan menunjukkan bahwa tahap
sebelumnya tidak dilakukan dengan baik. Selain itu, kegiatan dilakukan secara
pararel, pengembangan subsistem-subsistem dapat dilakukan secara pararel sehingga akan
memperpendek waktu pengembangan sistem.
Tools Pendekatan Perancangan Terstruktur
1. DFD (Data Flow Diagram )
2. Kamus Data
3. Entity Relationship Diagram (ERD)
4. State Transition Diagram (STD)
Metode Berorientasi Obyek atau object-oriented analysis and design (OOAD) karena
lebih mudah digunakan dalam pembangunan sistem, tidak ada pemisahan antara fase desain
dan analisis sehingga meningkatkan komunikasi antara user dan developer dari awal hingga
akhir pembangunan sistem. Analis dan programmer tidak dibatasi dengan batasan
implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan
berbagai lingkungan eksekusi. Kemudian, encapsliation data dan metode memungkinkan
penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman
dan reduksi harga. OOAD memungkinkan adanya standarisasi dan dekomposisi obyek
sehingga memungkinkan seorang analis untuk memecah masalah menjadi pecahan-pecahan
masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan
bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat sehingga
dapat segera masuk ke pasaran dan kompetitif.
Namun metode OOAD memiliki kekurangan seperti lebih fokus pada coding
dibandingkan dengan SSAD, tidak menekankan pada kinerja team seperti pada SSAD. Pada
OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem dan sering
kali pemrogramam berorientasi obyek digunakan untuk melakukan analisis terhadap
fungsional sistem, sementara metode OOAD tidak berbasis pada fungsional sistem. OOAD
merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis
dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih
lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang
lama. Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse
merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun
demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan
konsep ini pada skala besar.
D. SCRUM
Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan
dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum
merupakan salah satu komponen dari metodologi pengembangan Agile dan menguraikan
proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan,
memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan,
dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk
mendapatkan perkiraan berapa lama akan pembangunan.
Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci
tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada
tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu
bagaimana cara terbaik untuk memecahkan masalah yang mereka disajikan. Ada 3 elemen
organisasi utama pada scrum yaitu Product owner, Scrum master, dan the Scrum team. Scrum
Master dapat dianggap sebagai pelatih bagi tim, membantu anggota tim menggunakan
kerangka Scrum untuk tampil di tingkat tertinggi. Product Owner mewakili bisnis, pelanggan
atau pengguna dan memandu tim ke arah pegembangan produk yang tepat. Sedangkan The
Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek
yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil. Jika sangat
dibutuhkan the scrum master juga dapat ikut membantu dalam koordinasi team.
Scrum memiliki prinsip yaitu:
1. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya dan
memberdayakan satu sama lain. Proses dapat beradaptasi terhadap perubahan teknis
dan bisnis.
2. Proses menghasilkan beberapa software increment.
3. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil.
4. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun.
5. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan.
Perangkat-perangkat Scrum
Penjelasan berikut ini merupakan hasil kolaborasi antara apa yang dikemukakan Michael James
(2012) dan Hamid Shojaee (2012) mengenai beberapa perangkat yang digunakan dalam sebuah
pengembangan menggunakan metode Scrum di antaranya:
Diagram Scrum
E. MODEL PROTOTIPE
Dalam memodelkan sebuah perangkat lunak dibutuhkan beberapa tahapan di dalam
proses pengembangannya. Tahapan inilah yang akan menentukan tingkat keberhasilan dari
sebuah software. Pengembang perangkat lunak harus memperhatikan tahapan dalam metode
ini agar software finalnya dapat diterima oleh penggunanya.
Model prototype adalah suatu proses pembuatan software yang sifatnya berulang
dengan perencanaan yang cepat dimana terdapat umpan balik yang memungkinkan terjadinya
perulangan dan perbaikan software sampai dengan software tersebut memenuhi kebutuhan
dari pengguna berdasarkan pada konsep model kerja (working model). Model prototype sendiri
mempunyai tujuan yaitu mengembangkan model awal software menjadi sebuah sistem yang
final.
Tahapan-tahapan dalam model prototype tersebut adalah sebagai berikut.
1. Pengumpulan Kebutuhan; pelanggan dan pengembang bersama-sama
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2. Membuat Prototype; merupakan perancangan sementara yang berpusat pada penyajian
kepada pelanggan agar pelanggan lebih mudah mengerti sistem yang akan dibuat.
3. Evaluasi Prototype; evaluasi ini dilakukan oleh pelanggan untuk
menguji prototype yang sudah dibangun agar sesuai dengan keinginan pelanggan. Jika
sudah sesuai maka langkah keempat akan diambil. Jika tidak,
maka prototype diperbaiki dengan mengulang langkah 1, 2, dan 3 sebelumnya.
4. Mengkodekan System; Prototype yang sudah disepakati diterjemahkan ke dalam
bahasa pemrograman yang sesuai agar sistem dapat berjalan sesuai instruksi.
5. Menguji Sistem; pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur dan lain-lain.
6. Evaluasi Sistem; pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai
dengan yang diharapkan. Jika sudah, maka langkah ketujuh dilakukan, jika belum maka
mengulangi langkah 4 dan 5 sebelumnya.
7. Menggunakan Sistem; perangkat lunak yang telah diuji dan diterima pelanggan siap
untuk digunakan dengan jangka waktu yang ditentukan.
Heinich, R, dkk. 2002. “Instructional media and technology for learning. 7th edition”. New
Jersey: Prentice Hall, Inc.
Pressman, Roger S. 2002. “Rekayasa Perangkat Lunak : Pendekatan Praktisi (Buku Satu)”.
Yogyakarta : Andi Offset.