Anda di halaman 1dari 8

REKAYASA PERANGKAT LUNAK

REVIEW LATIHAN PERTEMUAN 15

Nama : Marselindra Malihan Putri


NIM : 2010512014
Kelas : B – S1 Sistem Informasi

1. Jelaskan 3 teknik ketika ingin mendapatkan kebutuhan pengembangan perangkat lunak,


berikan contoh.
Jawab :

a. Elicitation (pengumpulan informasi) dan analisis persyaratan,


mengumpulkan sebanyak mungkin informasi mengenai kesulitan-kesulitan
klien dan user dengan cara mendiskusikan, melibatkan pengembangan satu atau
lebih model dan prototype system. Dari proses ini akan membantu analis
memahami sistem yang akan dispesifikasi. Contoh : systems models.

b. Specification (spesifikasi persyaratan),


menerjemahkan informasi hasil kegiatan analisis menjadi dokumen yang
mendefinisikan serangkaian persyaratan untuk menunjukkan masalah dan
solusi yang diajukan serta mendeskripsikan secara rinci tentang fungsionalitas
yang akan diberikan. Contoh : user dan system requirements.

c. Validation (validasi),
memeriksa apakah persyaratan dapat direalisasikan, dan apakah telah berkaitan
dengan tujuan stakeholder terhadap sistem. Pada proses ini akan ditemukan
kesalahan pada dokumen persyaratan. Kesalahan ini perlu dimodifikasikan
untuk selesaikan masalah. Contoh : requirements document.
2. Jelaskan Karakteristik dari perangkat lunak?
Jawab :
• Usability, artinya mempunyai daya guna yang tinggi.
• Be reliable, artinya dapat diandalkan.
• Maintainability, artinya mudah diperbaiki.
• User-friendly interface, artinya mempunyai antarmuka yang menarik.
• Mempunyai kinerja sesuai fungsi yang dibutuhkan user.
• Mempunyai siklus hidup yang panjang.

3. Permasalahan dalam perangkat lunak sangat beragam dan berulang, misalkan ada
software yang telah diserahkan namun tidak dipergunakan, pekerjaan sudah dibayar
namun software tidak diserahkan atau software telah diserahkan dan ketika
dipergunakan bermasalah. Melihat permasalahan yang terjadi seperti ini, menurut
saudara sebagai seorang analisis apa yang akan saudara sarankan kepada client dan
developer?
Jawab :

Menurut saya dengan adanya permasalahan software tersebut, akan saya


sarankan kepada client untuk berhati-hati kepada developer yang belum
berpengalaman dan harus lebih teliti lagi dalam memilih seorang developer.

Dan saran saya untuk developer adalah, bertanggung jawablah atas pekerjaan
yang sudah diterima. Biasanya sebelum adanya persetujuan pekerjaan dilalui
oleh tanda tangan kontrak. Developer harus tahu dan terima konsekuensi yang
akan diterima atas kelalaian dalam pekerjaan. Sekali lalai dan tidak bertanggung
jawab, kedepannya akan sulit untuk mendapat kepercayaan client.

4. Sebutkan 3 model pengembangan perangkat lunak, kemudian jelaskan masing-masing


setiap model sehingga dapat anda ambil kesimpulan karakteristik masing-masing setiap
model (mencakup kelebihan dan kekurangan)
Jawab :

a. Waterfall
Model sekuensial linier atau Waterfall adalah metode pengembangan perangkat
lunak yang sistematis dan berurutan yang dimulai pada tingkat sistem dan
dilakukan di seluruh proses analisis, desain, pengkodean, pengujian, dan
pemeliharaan.
Tahapan pengembangan waterfall adalah sebagai berikut:

1. Rekayasa dan Pemodelan Sistem/Informasi


Karena perangkat lunak selalu menjadi bagian dari sistem (bisnis) yang
lebih besar, pekerjaan dimulai dengan menetapkan persyaratan untuk
semua elemen sistem dan menetapkan subset persyaratan tertentu ke
perangkat lunak.

2. Analisis kebutuhan perangkat lunak


Proses pengumpulan persyaratan khusus untuk perangkat lunak, dan
analis harus memahami domain masalah, perilaku, kinerja, dan
antarmuka yang diperlukan. Persyaratan sistem dan perangkat lunak
dicatat dan ditinjau bersama klien.

3. Desain
Desain perangkat lunak sebenarnya adalah proses multi-langkah, yang
berfokus pada empat atribut program yang berbeda (struktur data,
arsitektur perangkat lunak, representasi antarmuka, dan detail program
(algoritma). Proses desain mengubah persyaratan/persyaratan menjadi
representasi perangkat lunak yang dapat diprediksi.

4. Pembuatan kode
Desain harus diterjemahkan ke dalam bentuk yang dapat dibaca mesin.
Langkah pembuatan kode termasuk langkah kerja yang dapat dilakukan
secara mekanis.

5. Tes
Setelah kode dibuat, pengujian program dimulai. Proses pengujian
berfokus pada logika internal perangkat lunak, memastikan bahwa
semua pernyataan diuji, dan secara eksternal, yaitu memandu pengujian
untuk menemukan kesalahan dan memastikan bahwa input yang dibatasi
akan memberikan hasil aktual yang sesuai dengan hasil yang diinginkan.

6. Pemeliharaan
Perangkat lunak berubah setelah dikirimkan ke klien (perangkat lunak
yang disematkan mungkin merupakan pengecualian). Karena perangkat
lunak harus beradaptasi dengan perubahan di lingkungan eksternalnya,
atau karena klien memerlukan peningkatan fungsional atau kinerja, itu
akan berubah karena kesalahan.
Kelebihan dari Waterfall
• Tahapan proses pengembangan bersifat tetap (determined), mudah
diterapkan, dan prosesnya teratur.
• Sangat cocok untuk produk/program perangkat lunak yang memiliki
persyaratan yang jelas sejak awal untuk mengurangi kesalahan.
• Perangkat lunak yang dikembangkan dengan cara ini biasanya
berkualitas baik.
• Dokumentasi pengembangan sistem sangat tertata, karena setiap
tahapan harus diselesaikan secara lengkap sebelum memasuki
tahapan selanjutnya.

Kekurangan dari Waterfall


• Proyek yang sebenarnya jarang mengikuti proses sekuensial yang
diusulkan, sehingga perubahan yang terjadi dapat menyebabkan
hasil yang diperoleh tim pengembangan diubah kembali/berulang-
ulang, seringkali menimbulkan masalah baru.
• Membagi proyek menjadi beberapa fase tidaklah fleksibel, karena
komitmen harus dibuat pada tahap awal proses.
• Sulit untuk mengalami kebutuhan yang selalu berubah yang
diharapkan klien.

b. Prototype
Metode prototype merupakan paradigma baru dalam metode pengembangan
perangkat lunak. Metode ini tidak hanya merupakan evolusi dalam bidang
pengembangan perangkat lunak, tetapi juga mengubah metode pengembangan
perangkat lunak yang lama, yaitu sistem sekuensial yang biasa disebut dengan
SDLC atau waterfall development model.

Idealnya, prototipe dapat digunakan sebagai mekanisme untuk mengidentifikasi


kebutuhan perangkat lunak.
Model prototipe ini sangat cocok diterapkan pada struktur masalah yang tidak
masuk akal, atau situasi berisiko tinggi yang tidak terduga. Model juga dapat
dijalankan secara optimal ketika sistem diharapkan inovatif dan up-to-date dan
fase penggunaan sistem relatif singkat.

Tahapan-tahapan proses pengembangan dalam model Prototype :

1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format
seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan
garis besar sistem yang akan dibuat.
2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang
berfokus pada penyajian kepada pelanggan (misalnya dengan membuat
input dan format output).

3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah
dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika
sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak,
prototyping direvisi dengan mengulang langkah-langkah sebelumnya.

4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke
dalam bahasa pemrograman yang sesuai.

5. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai,
kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan
White Box, Black Box, Basis Path, pengujian arsitektur, dll.

6. Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah
sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan
ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi
tidak/belum sesuai dengan apa yang diharapkan, maka tahapan
sebelumnya akan diulang.

7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk
digunakan.

Kelebihan dari Prototype


• Pelanggan berpartisipasi aktif dalam pengembangan sistem,
sehingga hasil produk pengembangan akan semakin mudah
disesuaikan dengan keinginan dan kebutuhan pelanggan.
• Penentuan kebutuhan lebih mudah diwujudkan.
• Mempersingkat waktu pengembangan produk perangkat lunak.
• Adanya komunikasi yang baik antara pengembang dan pelanggan.
• Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan
pelanggan.
• Lebih menghemat waktu dalam pengembangan sistem.
• Penerapan menjadi lebih mudah karena pelanggan mengetahui apa
yang diharapkannya.
Kekurangan dari Prototype

• Proses analisis dan perancangan terlalu singkat.


• Biasanya kurang fleksibel dalam mengahadapi perubahan.
• Walaupun pemakai melihat berbagai perbaikan dari setiap versi
prototype, tetapi pemakai mungkin tidak menyadari bahwa versi
tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan
jangka panjang.
• Pengembang kadang-kadang membuat kompromi implementasi
dengan menggunakan sistem operasi yang tidak relevan dan
algoritma yang tidak efisien.

c. RAD
Rapid Application Development (RAD) adalah sebuah model proses
perkembangan perangkat lunak sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat
dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika
kebutuhan dipahami dengan baik, proses RAD memungkinkan tim
pengembangan menciptakan “sistem fungsional yang utuh” dalam periode
waktu yang sangat pendek (kira-kira 60-90 hari).

Tahapan-tahapan proses pengembangan dalam model RAD :


1. Pemodelan Bisnis
Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan
berikut: Informasi apa yang menegndalikan proses bisnis? Informasi apa
yang dimunculkan? Di mana informasi digunakan ? Siapa yang
memprosenya ?

2. Pemodelan Data
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness
modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk
menopang bisnis tersebut.

3. Pemodelan Proses
Aliran informasi yang didefinisikan di dalam fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi
implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk
menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah
objek data.
4. Pembentukan Aplikasi
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga
memakai komponen program yang telah ada atau menciptakan komponen
yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi
konstruksi perangkat lunak.

5. Pengujian dan Turnover


Karena proses RAD menekankan pada pemakaian kembali, banyak
komponen program telah diuji. Hal ini mengurangi keseluruhan waktu
pengujian. Tetapi komponen baru harus diuji dan semua interface harus
dilatih secara penuh.

Kelebihan dari RAD


• Lebih efektif dari Pengembangan Model waterfall/sequential linear
dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari
pelanggan.
• Cocok untuk proyek yang memerlukan waktu yang singkat.
• Model RAD mengikuti tahap pengembangan sistem seperti pada
umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali
komponen yang ada sehingga pengembang tidak perlu membuatnya dari
awal lagi sehingga waktu pengembangan menjadi lebih singkat dan
efisien.

Kekurangan dari RAD


• Model RAD menuntut pengembangan dan pelanggan memiliki
komitmen di dalam aktivitas rapid-fire yang diperlukan untuk
melengkapi sebuah sistem, di dalam kerangka waktu yang sangat
diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
• Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat
dimodulkan dengan teratur, pembangunan komponen penting pada
RAD akan menjadi sangat bermasalah.
• RAD tidak cocok digunakan untuk sistem yang mempunyai resiko
teknik yang tinggi.
• Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah
proyek dalam skala besar.
• Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat
kontrak baru antara pengembang dan pelanggan.
5. Dengan Testing kapan dilakukan Uji dengan White Box dan Kapan menggunakan Uji
Black Box?
Jawab :

Berdasarkan pihak yang melakukannya black box testing dijalankan oleh


software tester, sedangkan white box testing dijalankan oleh software
developer. Jadi black box dapat dilakukan oleh tim developer, pihak internal,
atau sekelompok orang terpilih. Black box testing bertujuan untuk menguji
fungsionalitas sebuah program yang dikembangkan. Fokus utamanya ada pada
perspektif end-user aplikasi nantinya. Sedangkan white box testing bertujuan
untuk melihat apakah struktur aplikasi tersebut sudah sesuai dengan ketentuan
atau belum.

Dapat disimpulkan bahwa, black box testing digunakan saat ingin menguji
detail aplikasi seperti tampilan aplikasi, fungsi-fungsi yang ada pada aplikasi,
dan kesesuaian alur fungsi bisnis proses yang di inginkan. Sedangkan white box
testing digunakan saat ingin menguji suatu aplikasi dengan melihat modul untuk
memeriksa dan menganalisis kode program apakah ada yang salah atau tidak.

6. Bagaimana menilai bahwa UI Design yang dibuat untuk sebuah system sudah tepat
untuk pengguna.
Jawab :

a. Adanya informasi yang dipaparkan dengan jelas, ringkas, serta terstruktur agar
tidak membuat pengguna kebingungan.
b. Adanya pemlihan kombinasi warna yang kontras, warna juga harus disesuaikan
dengan latar belakang system. Pemilihan warna bisa meliputi warna
background, warna pada tulisan maupun icon. Semua hal itu harus dibuat
kontras agar dapat terlihat indah dan tidak mengganggu pandangan pengguna.
c. UI design yang terlihat menarik, maka otomatis pengguna akan memiliki kesan
awal yang baik juga pada system tersebut.
d. Dalam membuat UI design juga diperlukan konsistensi, agar pada saat ada
pembaruan tampilan UI, pengguna masih bisa mengerti tentang letak-letak fitur
dan cara penggunaan system itu sendiri.

Anda mungkin juga menyukai