Nama : Lisa Yulinar Syavira
Kelas : SP4.2
NIM : 1117101503
Matkul : Ujian Tengah Semester – Rekayasa Perangkat
Lunak
Pertanyaan
:
1.
Jelaskan
dan Sebutkan Tahap umum dalam Pengembangan Perangkat Lunak (Software Development Stages)!
2.
Pengertian
perangkat lunak merupakan suatu instruksi (program komputer) yang ketika
dijalankan menyediakan fungsi dan tampilan yang diinginkan, struktur data yang
memberi kesempatan program untuk memanipulasi informasi dan dokumen yang
mendiskripsikan operasi dan penggunaan program.
a.
Bagaimana
karakteristik perangkat lunak ?
b.
Sebutkan
dan jelaskan Software Enginering Layer!
3.
Andaikan
anda terpilih menjadi seorang manajer proyek pada sebuah perusahaan yang akan
mengembangkan aplikasi game edukasi di mana tugas anda adalah membuat game baru
yang sebelumnya belum ada dan kebutuhan-kebutuhan dalam membangun perangkat
lunak juga belum disiapkan. Model process apa yang akan saya gunakan dalam
melakukan pengembangan perangkat lunak dan jelaskan alasannya! Serta Buatlah
rancangan context diagram, dekomposisi diagram, dan DFD level 0 dan 1 !
Jawaban :
1.
Tahap umum
pengembangan perangkat lunak
a.
Model
Pengembangan Air Terjun (Waterfalll Model)
Pengembangan
perangkat lunak yang difokuskan pada perancangan dan pengendalian (Bassil dan
Musa, 1991). Model waterfall berfungsi untuk membantu mengatasi kerumitan yang
terjadi akibat proyek-proyek pengembangan perangkat lunak (Boehm, 1976).
Tahapan-tahapan
dalam model waterfall antara lain :
·
Tahap
kebutuhan sistem
Seluruh kebutuhan software
harus bisa didapatkan dalam fase ini. Jadi, apa saja yang dibutuhkan sebelum
software dikerjakan harus disiapkan dengan sebaik mungkin.
·
Spesifikasi
kebutuhan software
Kegunaan software yang
diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh
melalui wawancara, survey, atau diskusi. Kemudian dianalisis untuk mendapatkan
dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.
·
Desain
software
Tahap ini dilakukan sebelum melakukan
coding. Bertujuan untuk memberi
gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya.
·
Implementasi
software
Mulai dilakukan pemrograman.
Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan
digabungkan dalam tahap berikutnya. Selain itu juga dilakukan pemeriksaan modul
apakah sudah memenuhi fungsi yang diinginkan atau belum.
·
Uji mesin
formal integrasi software
Dilakukan penggabungan
modul-modul yang sudah dibuat dan digunakan untuk mengetahui apakah software
yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau
tidak.
·
Operasi dan
perawatan
Tahap terakhir dalam model
waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan.
Termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah
sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem
sebagai kebutuhan baru.
b.
Prototyping
Model
Proses yang
memungkinkan developer membuat model
software. Metode ini baik digunakan apabila client
tidak bisa memberikan informasi yang maksimal mengenai kebutuhan yang diinginkan.
Seorang customer sulit menentukan inut yang terperinci, proses
yang diinginkan dan output yang diharapkan hal tersebut menyebabkan developer
tidak yakin dengan efisiensi algoritma yang dibuat, sehingga sulit dalam
menyesuaikan sistem operasi serta interaksi manusia dan mesin yang harus
diambil.
Tahapan-tahapan dalam model prototyping antara lain :
·
Pengumpulan
kebutuhan
Developer dan klien bertemu
dahulu untuk menentukan tujuan umum, kebutuhan yang diketahui dan gambaran
bagian-bagian yang dibutuhkan selanjutnya.
·
Perancangan
Rancangan mewakili semua aspek
software yang diketahui, dan menjadi dasar pembuatan prototype.
·
Mengodekan
sistem
Prototyping yang sudah
disepakati, diterjemahkan ke dalam bahasa pemrograman yang sesuai.
·
Pengujian
sistem
Jika software sudah siap
dipakai, maka harus dites terlebih dahulu sebeum digunakan. Pengujian dilakukan
dengan White Box, Black Box, Basis Path, pengujian arsitektur, dan lain-lain.
·
Evaluasi
sitem
Pelanggan mengevaluasi apakah
sistem yang sudah jadi sesuai dengan yang diharapkan, jika sudah maka lanjut
pada tahap berikutnya dan jika belum maka mengulangi langkah yang sebelumnya.
·
Implementasi
sistem
Software yang telah diuji dan
diterima pelanggan siap untuk digunakan.
c.
Rapid
Application Development (RAD)
RAD
merupakan model proses perkembangan software sekuensial linier yang menekankan
siklus perkembangan yang sangat pendek dalam periode waktu yang sangat pendek
(kira-kira 60 sampai 90 hari).
Tahapan-tahapan
dalam model RAD antara lain :
·
Business modeling
Berisi tentang informasi apa
yang mengendalikan proses bisnis, informasi yang dimunculkan, siapa yang
memunculkan, ke mana informasi pergi, dan siapa yang memrosesnya.
·
Data modeling
Bagian dari fase Business modeling disaring ke dalam
serangkaian objek data yang dibutuhkan untuk menopang bisinis tersebut.
·
Process modeling
Fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi
fungsi bisinis.
·
Application generation
Selain menciptakan perangkat
lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional,
RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang ada
atau menciptakan komponen yang bias dipakai lagi.
·
Testing and turnover
Mengurangi keseluruhan waktu
pengujian. Komponen baru harus diuji dan semua interface harus dilatih secara
penuh.
d.
Spiral
Model
Model yang
menitikberatkan pada pembuatan prototype dan manajemen resiko yang sangat
fleksibel jika dibandingkan dengan model waterfall.
Tahapan-tahapan
dalam model spiral antara lain :
·
Customer
communication
Komunikasi antara pengembang
dengan pelanggan.
·
Planning
Penentuan tujuan, alternative
dan batasan.
·
Risk
analysis
Analisa alternative dan
identifikasi atau pemecahan resiko.
·
Engineering
Pengembangan level berikutnya dari
produk.
·
Construction
and release
Testing, instalasi dan
menyediakan support termasuk dengan training pada user dan pembuatan
dokumentasi.
·
Customer
evaluation
Penilaian terhadap hasil
engineering.
e.
Iterative
Model
Model
iterative merupakan analisis tiap-tiap produk, perancangan dan kebutuhan
dimodifikasi terus-menerus melalui serangkaian iterasi untuk menyediakan sebuah
sistem kepada pengguna yang mengevolusi kebutuhan pelanggan dengan rancangan
yang telah dikembangkan berdasarkan umpan balik (feedback) dan pembelajaran
(learning).
Tahapan-tahapan
dalam model iteratif antara lain :
·
Analisis
domain
·
Definisi
kebutuhan
·
Arsitektur
perangkat lunak
·
Penilaia
resiko
·
Prototype
·
Pengembangan
lingkungan dan rangkaian pengujian (test
suite)
·
Integrasi
dengan iterasi yang sebelumnya
·
Pelepasan
iterasi
f.
Object
Oriented Programming Model (OOP Model)
Pemrograman
berorientasi objek dilakukan berdasarkan objek, dengan sekumpulan data yang
ditetapkan dan sekumpulan operasi-operasi (metode) yang dapat dilaksanakan
dalam data tersebut. Pendekatan berorientasi objek telah menjadi sebuah dasar
utama dari rekayasa perangkat lunak (software
engineering).
Tahapan-tahapan
dalam model OOP antara lain :
·
Tahap
analisis
Tahap ini berpusat pada
perolehan dan penyajian kebutuhan-kebutuhan pelangga dengan cara yang singkat,
untuk menggambarkan sebuah sistem penting yang mewakili kebutuhan-kebutuhan
pengguna yang kurang diperhatikan dengan platform implementasi (hardware maupun
software) yang telah dikembangkan.
·
Tahap
perancangan
Melibatkan perubahan sistem
penting sehingga sistem dapat diterapkan pada sekumpulan hardware dan software
yang diberikan. Kelas-kelas penting dan kelas-kelas inkarnasi digabung dan
diperhalus ke dalam hierarki kelas pengembangan.
·
Tahap
implementasi
Mengambil kelas-kelas yang
ditetapkan untuk penyelesaian.
2.
Perangkat
lunak
a.
Karakteristik
perangkat lunak
·
Perangkat
lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik.
·
Perangkat
lunak tidak pernah usang
·
Sebagian
besar perangkat lunak dibuat secara custom-built,
serta tidak dapat dirakit dari komponen yang sudah ada
·
Komponen
perangkat lunak dibangun dengan bahasa pemrograman yang memiliki kosakata yang
terbatas, sebuah tata bahasa yang dibatasi secara eksplisit, serta
aturan-aturan syntax dan semantic yang dibangun dengan baik
·
Bahasa
tingkat mesin merupakan perwakilan simbolik dari serangkaian instruksi CPU
·
Bahasa
tingkat menengah memungkinkan pengembangan perangkat lunak serta program tidak
tergantung pada mesin dan masih dipakai secara luasdi dalam industri
·
Kode mesin,
bahasa assembly (tingkat mesin),
bahasa pemrograman tingkat menengah, sering disebut tiga generasi bahasa
komputer yang pertama
·
Bahasa
generasi keempat, juga disebut bahasa nonprocedural, menggerakkan pengembang
perangkat lunak untuk mengkhususkan pada detail prosedural
b.
Software
engineering layer
Rekayasa perangkat
lunak adalah teknologi berlapis. Berbagai lapisan yang menjadi dasar teknologi
ini adalah lapisan fokus kualitas, lapisan proses, lapisan metode, dan lapisan
alat.
·
Quality focus
Fokus pertama kali yang akan
dibuat adalah membangun kualitas yang seperti apa, siapa sasarannya, aplikasi
yang dibangun akan seperti apa, dan lain sebagainya.
·
Process
Dasar dari rekayasa perangkat
lunak. Pada dasarnya, proses mendefinisikan kerangka kerja untuk pengiriman
perangkat lunak yang tepat waktu.
·
Methods
Pada lapisan metode, metode
implementasi yang sebenarnya dilakukan dengan bantuan analisis kebutuhan,
perancangan, pengodean menggunakan konstruksi dan pengujian pemrograman yang
diinginkan.
·
Tools
Alat perangkat lunak digunakan
untuk membawa otomatisasi dalam proses pengembangan perangkat lunak.
3.
Jika saya
terpilih menjadi seorang manajer proyek pada sebuah perusahaan yang akan
mengembangkan aplikasi game edukasi dan saya ditugaskan untuk membuat game baru
yang sebelumnya belum ada dan kebutuhan-kebutuhan dalam membangun perangkat
lunak juga belum disiapkan maka saya akan membuat aplikasi game berbasis Android yang berjudul Mixing Medicine, yaitu game tentang dunia kesehatan (apoteker). Cara memainkannya cukup mudah, yaitu untuk player yang baru pertama kali memainkan game ini akan diminta untuk menginputkan nama terlebih dahulu, selanjutnya sistem akan menampilkan button features, option, game. Pada saat bermain, Players akan diberikan fitur 'cara bermain'. Sebelum bermain, player bisa memilih jenis penyakit yang diinginkan, sehingga secara otomatis sistem akan memberikan jenis racikan obat untuk dicampur agar terbentuk jenis obat baru yang dapat digunakan untuk mengobati pasien dengan penyakit yang telah diketahui tersebut. Ada batasan waktu saat bermain, dan player harus bisa menyelesaikan permainan dalam satu waktu agar dapat melanjutkan pada level yang lebih tinggi. Dan model proses yang akan saya gunakan adalah waterfall karena model proses waterfall
merupakan model pengembangan sistem yang bersifat sistematis dan proses
pengerjaannya pun dilakukan satu per satu (step
by step) sehingga dapat meminimalisir adanya kesalahan, serta karena
sifatnya yang terstruktur dapat membuat program yang dikerjakan selesai tepat
pada waktu yang telah ditentukan. Berikut adalah rancangan pembuatan Game Mixing Medicine.
a.
Rancangan
context diagram
b.
Dekomposisi
diagram
c.
DFD level 0
dan 1
DFD level 0
SUMBER REFERENSI :
Judul
|
Rekayasa Perangkat Lunak
|
Pengarang
|
|
Penerbit
|
Penerbit Andi
|
ISBN
|
9792913475, 9789792913477
|
Judul
|
Software
Engineering
|
Pengarang
|
|
Penerbit
|
Deepublish,
2017
|
ISBN
|
6024532792,
9786024532796
|
Tebal
|
174
halaman
|
Judul
|
Software
Engineering
|
Pengarang
|
|
Penerbit
|
Deepublish,
2017
|
ISBN
|
6024532792,
9786024532796
|
Tebal
|
174
halaman
|
Judul
|
Software
Engineering
|
Pengarang
|
|
Penerbit
|
Technical
Publications, 2009
|
ISBN
|
8184315732,
9788184315738
|
Tebal
|
304
halaman
|