NIM : 1117101487
Kls : SP 4.2
SOAL ::
1. Jelaskan dan Sebutkan Tahap umum dalam Pengembangan Perangkat Lunak (Software Development Stages) (Score 20)
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 ? (Score 10)
b. Sebutkan dan jelaskan Software Enginering Layer! (Score 10)
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 ! (Score 60)
JAWAB :
JAWAB :
Metode dan
Tahapan Pengembangan Perangkat Lunak, adapun berbagai jenis pengembangan perangkat lunak yaitu
1. Model
Sekuensial Linier / Waterfall Method
Model
Sekuensial Linier sering disebut Model Air Terjun merupakan paradigma rekayasa
perangkat lunak yang paling tua dan paling banyak dipakai. Model ini mengusulkan
sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial
yang dimulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain ,
kode, pengujian, dan pemeliharaan.
1.a Gambar Pengembangan Waterfall
Rekayasa dan
Pemodelan Sistem/Informasi
Karena
perangkat lunak merupakan bagian dari suatu sistem maka langkah pertama dimulai
dengan membangun syarat semua elemen sistem dan mengalokasikan ke perangkat
lunak dengan memeperhatikan hubungannya dengan manusia, perangkat keras dan
database.
·
Analisis
Kebutuhan Perangkat Lunak
Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai dengan
domain informasi tingkah laku, unjuk kerja, dan antar muka (interface) yang
diperlukan. Kebutuhan-kebutuhan tersebut didokumentasikan dan dilihat lagi
dengan pelanggan.
·
Desain
Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan
perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini
berfokus pada : struktur data, arsitektur perangkat lunak, representasi
interface, dan detail (algoritma) prosedural.
·
Pengkodeaan
(Coding)
Pengkodean merupakan prses menerjemahkan desain ke dalam suatu bahasa
yang bisa dimengerti oleh komputer.
·
Pengujian.
Proses pengujian dilakukan pada logika internal untuk memastikan semua
pernyataan sudah diuji. Pengujian eksternal fungsional untuk menemukan
kesalahan-kesalahan dan memastikan bahwa input akan memberikan hasil yang
aktual sesuai yang dibutuhkan
·
Pemeliharaan
Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan
mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena
perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem
operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional
atau unjuk kerja.
2. Model
Prototipe
Sebuah
prototipe adalah bagian dari produk yang mengekspresikan logika maupun fisik
antarmuka eksternal yang ditampilkan. Konsumen potensial menggunakan prototipe
dan menyediakan masukan untuk tim pengembang sebelum pengembangan skal besar
dimulai. Melihat dan mempercayai menjadi hal yang diharapkan untuk dicapai
dalam prototipe. Dengan menggunakan pendekatan ini, konsumen dan tim pengembang
dapat mengklarifikasi kebutuhan dan interpretasi mereka.
Tahapan-tahapan
Prototyping
Tahapan-tahapan
dalam Prototyping adalah sebagai berikut:
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 keinginann pelanggan. Jika sudah sesuai maka
langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulang
langkah 1, 2 , dan 3.
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, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan
White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain.
6. Evaluasi Sistem
Pihak akan mengevaluasi
apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya,
langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan
7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap
untuk digunakan.
3. Model RAD
3. Model RAD
Rapid Aplication
Development (RAD) adalah sebuah model proses perkembanganperangkat lunak
sekuensial linier yang menekankan siklus perkembangan yang sangat pendek
(kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat
dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Tahapan-tahapan
dalam RAD :
1. Bussiness Modeling.
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. Data Modeling.
Aliran informasi yang didefinisikan sebagai bagian dari fase
bussiness modeling disaring ke dalam serangkaian objek data yang dibutuhkan
untuk menopang bisnis tersebut. Karakteristik (atribut) masing-masing objek
diidentifikasi dan hubungan antar objek-objek tersebut didefinisikan.
3. Proses Modeling.
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. Aplication Generation.
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. Testing 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.
1.b Gambar Pengembangan Model RAD
4. Model
Spiral
Model spiral
pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak
evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol
dan aspek sistematis model sequensial linier. Model iteratif ditandai dengan
tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak
yang lebih lengkap secara bertahap. Perangkat lunak dikembangkan dalam deretan
pertambahan. Selama awal iterasi, rilis inkremantal bisa berupa model/prototype
kertas, kemudian sedikit demi sedikit dihasilkan versi sistem yang lebih
lengkap.
Tahapan-Tahapan
Model Spiral
Model spiral
dibagi menjadi enam wilayah tugas yaitu:
·
Komunikasi
pelanggan
Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan
kebutuhan – kebutuhan yang diinginkan oleh pelanggan
·
Perencanaan
Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan
proyek informasi lain yg berhubungan.
·
Analisis
Resiko
Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen dan
teknis.
·
Perekayasaan
Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi
dari apikasi tersebut.
·
Konstruksi
dan peluncuran
Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang
, dan memberi pelayanan kepada pemakai.
·
Evaluasi
Pelanggan
Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.
1.c Gambar Proses Pengembangan Spiral
2. a. Menurut
Pressman (2001), ada beberapa karakteristik perangkat lunak dibandingkan dengan
perangkat keras yang perlu diketahui, yaitu:
Perangkat
lunak itu dibangun atau direkayasa, tidak dihasilkan dengan menggunakan
mesin/tangan seperti perangkat keras.
Perangkat
lunak itu tidak akan usang atau lusuh sejalan dengan waktu.
Perangkat
lunak akan terus menerus dibuat menurut pesanan, sadangkan perangkat keras akan
disusun dengan menggunakan komponen.
2. b. Software Engineenering Layer dibagi menjadi empat, yaitu :
1.
Berpusat pada kualitas (A Quality Focus)
Berpusat pada kualitas diibaratkan batu
yang menopang lapisan-lapisan lain (tools, methods, dan process) pada rekayasa
peranti lunak.
2.
Proses (Process)
Proses merupakan fondasi dasar dari
rekayasa perangkat lunak, yang berperan sebagai perekat lapisan-lapisan
teknologi dan memungkinkan pengembangan perangkat lunak komputer secara
rasional dan tepat waktu. Proses ini mendefinisikan framework yang harus ditetapkan
agar penyampaian (delivery) teknologi perangkat lunak berjalan dengan efektif.
3.
Metode-metode (Methods)
Lapisan ini menerangkan secara teknis
mengenai bagaimana cara membangun perangkat lunak. Metode ini meliputi tahapan
yang mencakup komunikasi (communication), analisis kebutuhan (requrements
analysis), desain model (design modelling), pembuatan program (program
construction), pengujian (testing), dan pendukung (support).Metode rekayasa
perangkat lunak bergantung pada prinsip-prinsip dasar yang mengatur setiap area
teknologi termasuk kegiatan pemodelan dan teknik deskriptif lainnya.
4.
Alat (Tools)
Alat dalam rekayasa perangkat lunak berfungsi
menyediakan dukungan baik secara otomatis maupun semi-otomatis untuk proses dan
metode-metode. Ketika alat-alat tersebut diintegrasikan sehingga informasi yang
di hasilkan oleh suatu alat bisa digunakan oleh alat lainnya, sistem yang
digunakan untuk membantu pengembangan perangkat lunak disebut CASE (computer-aided
software engineering). Case mampu menggabungkan perangkat lunak, perangkat
keras, dan basis data untuk membangun suatu lingkungan yang sejalan CAD/CAE (computer-aided
design/engineering).
2.1 Gambar Software Engineering layers
3. Pada Model proses, penulis menggunakan pengembangan proses waterfall hal ini dikarenakan metode pengembangan waterfall pada prosesnya terstruktur dengan baik, mulai dari proses analisa terlebih dahulu terhadap berbagai kebutuhan penggunaan aplikasi game hingga pemeliharaan software secara berkala agar pihak pengguna aplikasi game merasa nyaman tanpa adanya bug atau error pada aplikasi tersebut.
Gambar diagram
a. Gambar context diagram
b. Dekomposisi diagram
c. DFD level 0
d. DFD level 1